feat: use s.5chan.app share links and remove report menu items

Copy share links as path-based s.5chan.app URLs so the share server can render social previews, rename the menu label, remove the stub report action, and update the FAQ.
This commit is contained in:
Tommaso Casaburi
2026-06-06 19:06:04 +07:00
parent aa5a985201
commit 404a464310
42 changed files with 97 additions and 166 deletions
+2 -3
View File
@@ -236,7 +236,6 @@
"no": "No",
"pending_mod_approval": "في انتظار موافقة المشرف، غير مرئي للمستخدمين",
"copy_user_id": "نسخ معرف المستخدم",
"copy_direct_link": "نسخ الرابط المباشر",
"posts_auto_update_info": "يتم تحديث المنشورات تلقائياً كل ~2 دقيقة. لا يمكن تعطيل هذا في الوقت الحالي.",
"board_address_tooltip": "عنوان عقدة الند للند لهذه اللوحة",
"upload_failed": "فشل التحميل",
@@ -307,7 +306,6 @@
"loading_archive": "تحميل الأرشيف...",
"thread_archived": "تم أرشفة الموضوع.",
"view": "عرض",
"report_post": "الإبلاغ عن المنشور",
"delete_post": "حذف المنشور",
"delete_post_confirm": "حذف هذا المنشور نهائياً؟ لا يمكن التراجع عن هذا.",
"app_p2p_info": "يمكنك دائمًا الاتصال بأي لوحة، بشكل كامل P2P، لا أحد يستطيع إيقافك. ما عليك سوى لصق عنوانها في حقل البحث أعلاه.",
@@ -406,5 +404,6 @@
"boards_loaded": "اللوحات المحملة:",
"link_not_image_or_video_alert": "الرابط ليس صورة أو فيديو.",
"not_a_file": "ليس ملفًا",
"tor_author_flag_label": "هذا المستخدم يستخدم Tor"
"tor_author_flag_label": "هذا المستخدم يستخدم Tor",
"copy_share_link": "نسخ رابط المشاركة"
}
+2 -3
View File
@@ -236,7 +236,6 @@
"no": "No",
"pending_mod_approval": "মডারেটর অনুমোদনের জন্য অপেক্ষা করছে, ব্যবহারকারীদের কাছে দৃশ্যমান নয়",
"copy_user_id": "ইউজার আইডি কপি করুন",
"copy_direct_link": "সরাসরি লিংক অনুলিপি করুন",
"posts_auto_update_info": "পোস্টগুলি প্রতি ~2 মিনিটে স্বয়ংক্রিয়ভাবে আপডেট হয়। বর্তমানে এটি অক্ষম করা সম্ভব নয়।",
"board_address_tooltip": "এই বোর্ডের পিয়ার-টু-পিয়ার নোডের ঠিকানা",
"upload_failed": "আপলোড ব্যর্থ",
@@ -307,7 +306,6 @@
"loading_archive": "সংরক্ষণাগার লোড করা হচ্ছে...",
"thread_archived": "থ্রেড আর্কাইভ করা হয়েছে।",
"view": "দেখুন",
"report_post": "পোস্ট রিপোর্ট করুন",
"delete_post": "পোস্ট মুছুন",
"delete_post_confirm": "এই পোস্ট স্থায়ীভাবে মুছে ফেলবেন? এটি অপ্রত্যাবর্তনীয়।",
"app_p2p_info": "আপনি যেকোনো বোর্ডে সর্বদা সংযোগ করতে পারেন, সম্পূর্ণ P2P, কেউ আপনাকে থামাতে পারবে না। উপরের অনুসন্ধান ক্ষেত্রে কেবল তার ঠিকানা পেস্ট করুন।",
@@ -406,5 +404,6 @@
"boards_loaded": "লোড করা বোর্ড:",
"link_not_image_or_video_alert": "লিংকটি ছবি বা ভিডিও নয়।",
"not_a_file": "ফাইল নয়",
"tor_author_flag_label": "এই ব্যবহারকারী Tor ব্যবহার করছেন"
"tor_author_flag_label": "এই ব্যবহারকারী Tor ব্যবহার করছেন",
"copy_share_link": "শেয়ার লিংক কপি করুন"
}
+2 -3
View File
@@ -236,7 +236,6 @@
"no": "No",
"pending_mod_approval": "Čekání na schválení moderatorem, není viditelné uživatelům",
"copy_user_id": "kopírovat ID uživatele",
"copy_direct_link": "kopírovat přímý odkaz",
"posts_auto_update_info": "Příspěvky se aktualizují automaticky přibližně každých ~2 minut. V současné době není možné tuto funkci zakázat.",
"board_address_tooltip": "Adresa uzlu peer-to-peer této desky",
"upload_failed": "Nahrávání se nezdařilo",
@@ -307,7 +306,6 @@
"loading_archive": "Načítání archivu...",
"thread_archived": "Vlákno archivováno.",
"view": "Zobrazit",
"report_post": "Nahlásit příspěvek",
"delete_post": "Smazat příspěvek",
"delete_post_confirm": "Nadobro smazat tento příspěvek? Tuto akci nelze vrátit zpět.",
"app_p2p_info": "K jakékoli desce se můžete kdykoli připojit, plně P2P, nikdo vás nemůže zastavit. Stačí vložit její adresu do vyhledávacího pole výše.",
@@ -406,5 +404,6 @@
"boards_loaded": "načtené nástěnky:",
"link_not_image_or_video_alert": "Odkaz není obrázek ani video.",
"not_a_file": "není soubor",
"tor_author_flag_label": "Tento uživatel je na síti Tor"
"tor_author_flag_label": "Tento uživatel je na síti Tor",
"copy_share_link": "Kopírovat odkaz pro sdílení"
}
+2 -3
View File
@@ -236,7 +236,6 @@
"no": "No",
"pending_mod_approval": "Afventer moderatorgodkendelse, ikke synlig for brugere",
"copy_user_id": "kopier bruger-ID",
"copy_direct_link": "kopier direkte link",
"posts_auto_update_info": "Indlæg opdateres automatisk hver ~2 minut. Det er ikke muligt at deaktivere dette i øjeblikket.",
"board_address_tooltip": "Adressen til dette boards peer-to-peer-node",
"upload_failed": "Upload mislykkedes",
@@ -307,7 +306,6 @@
"loading_archive": "Indlæser arkiv...",
"thread_archived": "Tråd arkiveret.",
"view": "Se",
"report_post": "Rapporter indlæg",
"delete_post": "Slet indlæg",
"delete_post_confirm": "Slet dette opslag permanent? Dette kan ikke fortrydes.",
"app_p2p_info": "Du kan altid forbinde til ethvert board, fuldt P2P, ingen kan stoppe dig. Indsæt blot dens adresse i søgefeltet ovenfor.",
@@ -406,5 +404,6 @@
"boards_loaded": "indlæste boards:",
"link_not_image_or_video_alert": "Linket er ikke et billede eller en video.",
"not_a_file": "ikke en fil",
"tor_author_flag_label": "Denne bruger er på Tor"
"tor_author_flag_label": "Denne bruger er på Tor",
"copy_share_link": "Kopier delingslinkk"
}
+2 -3
View File
@@ -236,7 +236,6 @@
"no": "Nein",
"pending_mod_approval": "Ausstehende Moderatorgenehmigung, für Benutzer nicht sichtbar",
"copy_user_id": "Benutzer-ID kopieren",
"copy_direct_link": "Direktlink kopieren",
"posts_auto_update_info": "Beiträge werden automatisch etwa alle ~2 Minuten aktualisiert. Es ist derzeit nicht möglich, dies zu deaktivieren.",
"board_address_tooltip": "Die Adresse des Peer-to-Peer-Knotens dieses Boards",
"upload_failed": "Upload fehlgeschlagen",
@@ -307,7 +306,6 @@
"loading_archive": "Archiv wird geladen...",
"thread_archived": "Thread archiviert.",
"view": "Ansehen",
"report_post": "Beitrag melden",
"delete_post": "Beitrag löschen",
"delete_post_confirm": "Diesen Beitrag dauerhaft löschen? Dies kann nicht rückgängig gemacht werden.",
"app_p2p_info": "Du kannst dich jederzeit mit jedem Board verbinden, vollständig P2P, niemand kann dich aufhalten. Füge einfach seine Adresse in das Suchfeld oben ein.",
@@ -406,5 +404,6 @@
"boards_loaded": "geladene Boards:",
"link_not_image_or_video_alert": "Der Link ist kein Bild oder Video.",
"not_a_file": "keine Datei",
"tor_author_flag_label": "Dieser Benutzer ist auf Tor"
"tor_author_flag_label": "Dieser Benutzer ist auf Tor",
"copy_share_link": "Freigabelink kopieren"
}
+2 -3
View File
@@ -236,7 +236,6 @@
"no": "No",
"pending_mod_approval": "Σε αναμονή έγκρισης διαχειριστή, δεν είναι ορατό στους χρήστες",
"copy_user_id": "αντιγραφή ID χρήστη",
"copy_direct_link": "αντιγραφή άμεσου συνδέσμου",
"posts_auto_update_info": "Οι δημοσιεύσεις ενημερώνονται αυτόματα περίπου κάθε ~2 λεπτά. Δεν είναι δυνατό να απενεργοποιήσετε αυτό τη στιγμή.",
"board_address_tooltip": "Η διεύθυνση του κόμβου peer-to-peer αυτού του πίνακα",
"upload_failed": "Αποτυχία μεταφόρτωσης",
@@ -307,7 +306,6 @@
"loading_archive": "Φόρτωση αρχείου...",
"thread_archived": "Το νήμα αρχειοθετήθηκε.",
"view": "Προβολή",
"report_post": "Αναφορά ανάρτησης",
"delete_post": "Διαγραφή ανάρτησης",
"delete_post_confirm": "Διαγραφή οριστικά αυτής της ανάρτησης; Δεν είναι δυνατή η αναίρεση.",
"app_p2p_info": "Μπορείς πάντα να συνδεθείς σε οποιοδήποτε board, πλήρως P2P, κανείς δεν μπορεί να σε σταματήσει. Απλά επικόλλησε τη διεύθυνσή του στο πεδίο αναζήτησης παραπάνω.",
@@ -406,5 +404,6 @@
"boards_loaded": "φορτωμένοι πίνακες:",
"link_not_image_or_video_alert": "Ο σύνδεσμος δεν είναι εικόνα ή βίντεο.",
"not_a_file": "δεν είναι αρχείο",
"tor_author_flag_label": "Αυτός ο χρήστης είναι στο Tor"
"tor_author_flag_label": "Αυτός ο χρήστης είναι στο Tor",
"copy_share_link": "Αντιγραφή ενός συνδέσμου"
}
+2 -3
View File
@@ -98,7 +98,6 @@
"invalid_url": "Invalid URL",
"image_search": "image search",
"hide_post": "Hide post",
"report_post": "Report post",
"delete_post": "Delete post",
"delete_post_confirm": "Delete this post permanently? This cannot be undone.",
"hide_thread": "Hide thread",
@@ -259,7 +258,6 @@
"no": "No",
"pending_mod_approval": "Pending mod approval, not visible to users",
"copy_user_id": "Copy user ID",
"copy_direct_link": "Copy direct link",
"board_address_tooltip": "The address of this board's peer-to-peer node",
"directory_heading": "Displaying all ({{count}}) known /{{boardIdentifier}}/ boards on 5chan",
"directory_score": "Score",
@@ -425,5 +423,6 @@
"boards_loaded": "boards loaded:",
"link_not_image_or_video_alert": "Link is not an image or video.",
"not_a_file": "not a file",
"tor_author_flag_label": "This user is on Tor"
"tor_author_flag_label": "This user is on Tor",
"copy_share_link": "Copy share link"
}
+2 -3
View File
@@ -236,7 +236,6 @@
"no": "No",
"pending_mod_approval": "Pendiente de aprobación del moderador, no visible para los usuarios",
"copy_user_id": "Copiar ID de usuario",
"copy_direct_link": "Copiar enlace directo",
"posts_auto_update_info": "Los posts se actualizan automáticamente cada ~2 minutos. Por el momento, no es posible desactivar esto.",
"board_address_tooltip": "La dirección del nodo peer-to-peer de este tablón",
"upload_failed": "Error al subir",
@@ -307,7 +306,6 @@
"loading_archive": "Cargando archivo...",
"thread_archived": "Hilo archivado.",
"view": "Ver",
"report_post": "Denunciar publicación",
"delete_post": "Eliminar publicación",
"delete_post_confirm": "¿Eliminar esta publicación permanentemente? Esto no se puede deshacer.",
"app_p2p_info": "Siempre puedes conectarte a cualquier tablón, totalmente P2P, nadie puede impedírtelo. Simplemente pega su dirección en el campo de búsqueda de arriba.",
@@ -406,5 +404,6 @@
"boards_loaded": "tableros cargados:",
"link_not_image_or_video_alert": "El enlace no es una imagen ni un video.",
"not_a_file": "no es un archivo",
"tor_author_flag_label": "Este usuario está en Tor"
"tor_author_flag_label": "Este usuario está en Tor",
"copy_share_link": "Copiar enlace compartido"
}
+2 -3
View File
@@ -236,7 +236,6 @@
"no": "No",
"pending_mod_approval": "در انتظار تایید مدیر، برای کاربران قابل مشاهده نیست",
"copy_user_id": "کپی شناسه کاربر",
"copy_direct_link": "رونوشت لینک مستقیم",
"posts_auto_update_info": "پست‌ها هر ~2 دقیقه به‌طور خودکار به‌روز می‌شوند. فعلاً امکان غیرفعال کردن آن وجود ندارد.",
"board_address_tooltip": "آدرس گره هم‌تا-همتای این تخته",
"upload_failed": "آپلود ناموفق بود",
@@ -307,7 +306,6 @@
"loading_archive": "در حال بارگذاری بایگانی...",
"thread_archived": "موضوع بایگانی شد.",
"view": "مشاهده",
"report_post": "گزارش پست",
"delete_post": "حذف پست",
"delete_post_confirm": "این پست را برای همیشه حذف کن؟ این کار قابل بازگشت نیست.",
"app_p2p_info": "همیشه می‌توانید به هر بوردی متصل شوید، کاملاً P2P، هیچ‌کس نمی‌تواند جلوی شما را بگیرد. کافی است آدرس آن را در فیلد جستجوی بالا بچسبانید.",
@@ -406,5 +404,6 @@
"boards_loaded": "بردهای بارگذاری‌شده:",
"link_not_image_or_video_alert": "پیوند تصویر یا ویدیو نیست.",
"not_a_file": "فایل نیست",
"tor_author_flag_label": "این کاربر روی Tor است"
"tor_author_flag_label": "این کاربر روی Tor است",
"copy_share_link": "کپی کردن لینک اشتراک"
}
+2 -3
View File
@@ -236,7 +236,6 @@
"no": "No",
"pending_mod_approval": "Odottaa moderaattorin hyväksyntää, ei näkyvissä käyttäjille",
"copy_user_id": "kopioi käyttäjätunnus",
"copy_direct_link": "kopioi suora linkki",
"posts_auto_update_info": "Viestit päivittyvät automaattisesti noin 2 minuutin välein. Tätä ei ole mahdollista poistaa käytöstä tällä hetkellä.",
"board_address_tooltip": "Tämän laudan vertaisverkko-solmun osoite",
"upload_failed": "Lataus epäonnistui",
@@ -307,7 +306,6 @@
"loading_archive": "Ladataan arkistoa...",
"thread_archived": "Keskustelu arkistoitu.",
"view": "Katso",
"report_post": "Ilmoita viestistä",
"delete_post": "Poista viesti",
"delete_post_confirm": "Poistetaanko tämä julkaisu pysyvästi? Tätä ei voi perua.",
"app_p2p_info": "Voit aina yhdistää mihin tahansa boardiin, täysin P2P, kukaan ei voi estää sinua. Liitä vain sen osoite yllä olevaan hakukenttään.",
@@ -406,5 +404,6 @@
"boards_loaded": "ladatut boardit:",
"link_not_image_or_video_alert": "Linkki ei ole kuva tai video.",
"not_a_file": "ei ole tiedosto",
"tor_author_flag_label": "Tämä käyttäjä on Torissa"
"tor_author_flag_label": "Tämä käyttäjä on Torissa",
"copy_share_link": "Kopioi jakolinkkii"
}
+2 -3
View File
@@ -236,7 +236,6 @@
"no": "No",
"pending_mod_approval": "Naghihintay ng pag-apruba ng moderator, hindi nakikita ng mga gumagamit",
"copy_user_id": "kopyahin ang user ID",
"copy_direct_link": "kopyahin ang direct link",
"posts_auto_update_info": "Ang mga post ay awtomatikong nag-update bawat ~2 minuto. Kasalukuyang hindi posible na i-disable ito.",
"board_address_tooltip": "Ang address ng peer-to-peer node ng board na ito",
"upload_failed": "Nabigo ang pag-upload",
@@ -307,7 +306,6 @@
"loading_archive": "Naglo-load ng arkibo...",
"thread_archived": "Thread na-archive na.",
"view": "Tingnan",
"report_post": "I-report ang post",
"delete_post": "Tanggalin ang post",
"delete_post_confirm": "Permanenteng tanggalin ang post na ito? Hindi na ito maibabalik.",
"app_p2p_info": "Maaari mong palaging kumonekta sa anumang board, ganap na P2P, walang makakapigil sa iyo. I-paste lamang ang address nito sa search field sa itaas.",
@@ -406,5 +404,6 @@
"boards_loaded": "mga board na na-load:",
"link_not_image_or_video_alert": "Ang link ay hindi larawan o video.",
"not_a_file": "hindi file",
"tor_author_flag_label": "Ang user na ito ay nasa Tor"
"tor_author_flag_label": "Ang user na ito ay nasa Tor",
"copy_share_link": "Kopyahin ang link sa pagbabahagi"
}
+2 -3
View File
@@ -236,7 +236,6 @@
"no": "Non",
"pending_mod_approval": "En attente d'approbation du modérateur, non visible pour les utilisateurs",
"copy_user_id": "Copier l'ID utilisateur",
"copy_direct_link": "Copier le lien direct",
"posts_auto_update_info": "Les messages se mettent à jour automatiquement toutes les ~2 minutes. Il n'est pas possible de désactiver cela pour le moment.",
"board_address_tooltip": "L'adresse du nœud pair-à-pair de ce tableau",
"upload_failed": "Échec du téléchargement",
@@ -307,7 +306,6 @@
"loading_archive": "Chargement des archives...",
"thread_archived": "Fil archivé.",
"view": "Voir",
"report_post": "Signaler la publication",
"delete_post": "Supprimer la publication",
"delete_post_confirm": "Supprimer définitivement cette publication ? Cette action est irréversible.",
"app_p2p_info": "Tu peux toujours te connecter à n'importe quel board, entièrement P2P, personne ne peut t'en empêcher. Colle simplement son adresse dans le champ de recherche ci-dessus.",
@@ -406,5 +404,6 @@
"boards_loaded": "boards chargés :",
"link_not_image_or_video_alert": "Le lien n'est pas une image ni une vidéo.",
"not_a_file": "pas un fichier",
"tor_author_flag_label": "Cet utilisateur est sur Tor"
"tor_author_flag_label": "Cet utilisateur est sur Tor",
"copy_share_link": "Copier le lien de partage"
}
+2 -3
View File
@@ -236,7 +236,6 @@
"no": "No",
"pending_mod_approval": "ממתין לאישור מנהל, לא ניתן לראות למשתמשים",
"copy_user_id": "העתק מזהה משתמש",
"copy_direct_link": "העתק קישור ישיר",
"posts_auto_update_info": "הפוסטים מתעדכנים באופן אוטומטי בערך כל ~2 דקות. כרגע לא ניתן להשבית זאת.",
"board_address_tooltip": "כתובת צומת ה-P2P של הלוח הזה",
"upload_failed": "ההעלאה נכשלה",
@@ -307,7 +306,6 @@
"loading_archive": "טוען ארכיון...",
"thread_archived": "השרשור נשמר בארכיון.",
"view": "צפה",
"report_post": "דווח על פוסט",
"delete_post": "מחק פוסט",
"delete_post_confirm": "למחוק את הפוסט הזה לצמיתות? לא ניתן לבטל פעולה זו.",
"app_p2p_info": "תמיד תוכל להתחבר לכל לוח, במלואו P2P, אף אחד לא יכול לעצור אותך. פשוט הדבק את הכתובת שלו בשדה החיפוש למעלה.",
@@ -406,5 +404,6 @@
"boards_loaded": "לוחות שנטענו:",
"link_not_image_or_video_alert": "הקישור אינו תמונה או וידאו.",
"not_a_file": "לא קובץ",
"tor_author_flag_label": "המשתמש הזה נמצא ב-Tor"
"tor_author_flag_label": "המשתמש הזה נמצא ב-Tor",
"copy_share_link": "העתק קישור שיתוף"
}
+2 -3
View File
@@ -236,7 +236,6 @@
"no": "No",
"pending_mod_approval": "मॉडरेटर की मंजूरी के लिए प्रतीक्षा में, उपयोगकर्ताओं को दिखाई नहीं देता",
"copy_user_id": "यूज़र ID कॉपी करें",
"copy_direct_link": "डायरेक्ट लिंक कॉपी करें",
"posts_auto_update_info": "पोस्ट्स हर ~2 मिनट में स्वचालित रूप से अपडेट होते हैं। फिलहाल इसे अक्षम करना संभव नहीं है।",
"board_address_tooltip": "इस बोर्ड के पीयर-टू-पीयर नोड का पता",
"upload_failed": "अपलोड विफल",
@@ -307,7 +306,6 @@
"loading_archive": "संग्रह लोड हो रहा है...",
"thread_archived": "थ्रेड आर्काइव हो गया।",
"view": "देखें",
"report_post": "पोस्ट की रिपोर्ट करें",
"delete_post": "पोस्ट हटाएं",
"delete_post_confirm": "क्या इस पोस्ट को स्थायी रूप से हटाया जाए? इसे पूर्ववत नहीं किया जा सकता।",
"app_p2p_info": "आप किसी भी बोर्ड से हमेशा कनेक्ट हो सकते हैं, पूरी तरह P2P, कोई आपको रोक नहीं सकता। बस ऊपर दिए गए खोज क्षेत्र में उसका पता पेस्ट करें।",
@@ -406,5 +404,6 @@
"boards_loaded": "लोड किए गए बोर्ड:",
"link_not_image_or_video_alert": "लिंक कोई छवि या वीडियो नहीं है.",
"not_a_file": "फ़ाइल नहीं है",
"tor_author_flag_label": "यह उपयोगकर्ता Tor पर है"
"tor_author_flag_label": "यह उपयोगकर्ता Tor पर है",
"copy_share_link": "शेयर लिंक कॉपी करें"
}
+2 -3
View File
@@ -236,7 +236,6 @@
"no": "No",
"pending_mod_approval": "Moderátor jóváhagyása alatt áll, a felhasználók számára nem látható",
"copy_user_id": "felhasználói ID másolása",
"copy_direct_link": "közvetlen link másolása",
"posts_auto_update_info": "A bejegyzések kb. 2 percenként automatikusan frissülnek. Jelenleg nem lehetséges ezt letiltani.",
"board_address_tooltip": "Ennek a táblának a peer-to-peer csomópontja címe",
"upload_failed": "A feltöltés sikertelen",
@@ -307,7 +306,6 @@
"loading_archive": "Archívum betöltése...",
"thread_archived": "A téma archiválva.",
"view": "Megtekintés",
"report_post": "Bejegyzés jelentése",
"delete_post": "Bejegyzés törlése",
"delete_post_confirm": "Végleg törölni ezt a bejegyzést? Ez nem vonható vissza.",
"app_p2p_info": "Bármikor csatlakozhatsz bármely boardhoz, teljesen P2P, senki sem állíthat meg. Egyszerűen illeszd be a címét a fenti keresőmezőbe.",
@@ -406,5 +404,6 @@
"boards_loaded": "betöltött boardok:",
"link_not_image_or_video_alert": "A hivatkozás nem kép vagy videó.",
"not_a_file": "nem fájl",
"tor_author_flag_label": "Ez a felhasználó a Tor hálózatán van"
"tor_author_flag_label": "Ez a felhasználó a Tor hálózatán van",
"copy_share_link": "Megosztási hivatkozás másolása"
}
+2 -3
View File
@@ -236,7 +236,6 @@
"no": "No",
"pending_mod_approval": "Menunggu persetujuan moderator, tidak terlihat oleh pengguna",
"copy_user_id": "salin ID pengguna",
"copy_direct_link": "salin tautan langsung",
"posts_auto_update_info": "Posting diperbarui secara otomatis setiap ~2 menit. Saat ini tidak mungkin untuk menonaktifkan ini.",
"board_address_tooltip": "Alamat node peer-to-peer papan ini",
"upload_failed": "Unggahan gagal",
@@ -307,7 +306,6 @@
"loading_archive": "Memuat arsip...",
"thread_archived": "Benang diarsipkan.",
"view": "Lihat",
"report_post": "Laporkan kiriman",
"delete_post": "Hapus kiriman",
"delete_post_confirm": "Hapus permanen postingan ini? Tindakan ini tidak dapat dibatalkan.",
"app_p2p_info": "Anda selalu dapat terhubung ke board mana pun, sepenuhnya P2P, tidak ada yang bisa menghentikan Anda. Cukup tempel alamatnya di kolom pencarian di atas.",
@@ -406,5 +404,6 @@
"boards_loaded": "board dimuat:",
"link_not_image_or_video_alert": "Tautan bukan gambar atau video.",
"not_a_file": "bukan file",
"tor_author_flag_label": "Pengguna ini ada di Tor"
"tor_author_flag_label": "Pengguna ini ada di Tor",
"copy_share_link": "Salin tautan bagian"
}
+2 -3
View File
@@ -236,7 +236,6 @@
"no": "No",
"pending_mod_approval": "In attesa di approvazione del moderatore, non visibile agli utenti",
"copy_user_id": "Copia ID utente",
"copy_direct_link": "Copia link diretto",
"posts_auto_update_info": "I post si aggiornano automaticamente ogni ~2 minuti. Non è possibile disabilitare questa funzione al momento.",
"board_address_tooltip": "L'indirizzo del nodo peer-to-peer di questa bacheca",
"upload_failed": "Caricamento fallito",
@@ -307,7 +306,6 @@
"loading_archive": "Caricamento archivio...",
"thread_archived": "Thread archiviato.",
"view": "Visualizza",
"report_post": "Segnala post",
"delete_post": "Elimina post",
"delete_post_confirm": "Eliminare definitivamente questo post? Non è possibile annullare questa operazione.",
"app_p2p_info": "Puoi sempre connetterti a qualsiasi board, completamente P2P, nessuno può fermarti. Basta incollare il suo indirizzo nel campo di ricerca sopra.",
@@ -406,5 +404,6 @@
"boards_loaded": "board caricati:",
"link_not_image_or_video_alert": "Il link non è un'immagine né un video.",
"not_a_file": "non è un file",
"tor_author_flag_label": "Questo utente è su Tor"
"tor_author_flag_label": "Questo utente è su Tor",
"copy_share_link": "Copia link condiviso"
}
+2 -3
View File
@@ -236,7 +236,6 @@
"no": "いいえ",
"pending_mod_approval": "モデレーターの承認待ち、ユーザーには表示されません",
"copy_user_id": "ユーザーIDをコピー",
"copy_direct_link": "直接リンクをコピー",
"posts_auto_update_info": "投稿は約2分ごとに自動更新されます。現在、これを無効にすることはできません。",
"board_address_tooltip": "この板のピアツーピアノードのアドレス",
"upload_failed": "アップロードに失敗しました",
@@ -307,7 +306,6 @@
"loading_archive": "アーカイブを読み込み中...",
"thread_archived": "スレッドがアーカイブされました。",
"view": "表示",
"report_post": "投稿を報告",
"delete_post": "投稿を削除",
"delete_post_confirm": "この投稿を完全に削除しますか?元に戻せません。",
"app_p2p_info": "いつでもどのボードにも接続できます。完全にP2Pなので、誰にも止められません。上の検索欄にアドレスを貼り付けるだけです。",
@@ -406,5 +404,6 @@
"boards_loaded": "読み込まれた板:",
"link_not_image_or_video_alert": "リンクは画像または動画ではありません。",
"not_a_file": "ファイルではありません",
"tor_author_flag_label": "このユーザーはTorを使用しています"
"tor_author_flag_label": "このユーザーはTorを使用しています",
"copy_share_link": "シェアリンクをコピー"
}
+2 -3
View File
@@ -236,7 +236,6 @@
"no": "No",
"pending_mod_approval": "중재자 승인 대기 중, 사용자에게 표시되지 않음",
"copy_user_id": "사용자 ID 복사",
"copy_direct_link": "직접 링크 복사",
"posts_auto_update_info": "게시물은 약 2분마다 자동으로 업데이트됩니다. 현재 이를 비활성화할 수 없습니다.",
"board_address_tooltip": "이 게시판의 P2P 노드 주소",
"upload_failed": "업로드 실패",
@@ -307,7 +306,6 @@
"loading_archive": "아카이브 로딩 중...",
"thread_archived": "스레드가 아카이브되었습니다.",
"view": "보기",
"report_post": "게시물 신고",
"delete_post": "게시물 삭제",
"delete_post_confirm": "이 게시물을 영구적으로 삭제하시겠습니까? 취소할 수 없습니다.",
"app_p2p_info": "언제든 어떤 보드에도 연결할 수 있습니다. 완전 P2P라 아무도 당신을 막을 수 없습니다. 위 검색창에 주소를 붙여넣기만 하면 됩니다.",
@@ -406,5 +404,6 @@
"boards_loaded": "불러온 게시판:",
"link_not_image_or_video_alert": "링크가 이미지 또는 동영상이 아닙니다.",
"not_a_file": "파일이 아님",
"tor_author_flag_label": "이 사용자는 Tor를 사용 중입니다"
"tor_author_flag_label": "이 사용자는 Tor를 사용 중입니다",
"copy_share_link": "공유 링크 복사"
}
+2 -3
View File
@@ -236,7 +236,6 @@
"no": "No",
"pending_mod_approval": "संचालकाच्या मंजुरीची प्रतीक्षा, वापरकर्त्यांना दिसत नाही",
"copy_user_id": "यूजर ID कॉपी करा",
"copy_direct_link": "डायरेक्ट लिंक कॉपी करा",
"posts_auto_update_info": "पोस्ट प्रत्येक ~2 मिनिटात स्वयंचलितपणे अपडेट होतात. सध्या हे अक्षम करणे शक्य नाही.",
"board_address_tooltip": "या बोर्डच्या पीअर-टू-पीअर नोडचा पत्ता",
"upload_failed": "अपलोड अयशस्वी",
@@ -307,7 +306,6 @@
"loading_archive": "संग्रह लोड करत आहे...",
"thread_archived": "सूत्र आर्काइव केले गेले.",
"view": "पहा",
"report_post": "पोस्ट निर्वेदन करा",
"delete_post": "पोस्ट हटवा",
"delete_post_confirm": "हे पोस्ट कायमचे हटवायचे? हे पूर्ववत करता येणार नाही.",
"app_p2p_info": "तुम्ही नेहमी कोणत्याही बोर्डशी कनेक्ट होऊ शकता, पूर्णपणे P2P, कोणीही तुम्हाला थांबवू शकत नाही. वरील शोध क्षेत्रात त्याचा पत्ता पेस्ट करा.",
@@ -406,5 +404,6 @@
"boards_loaded": "लोड केलेले बोर्ड:",
"link_not_image_or_video_alert": "लिंक प्रतिमा किंवा व्हिडिओ नाही.",
"not_a_file": "फाइल नाही",
"tor_author_flag_label": "हा वापरकर्ता Tor वर आहे"
"tor_author_flag_label": "हा वापरकर्ता Tor वर आहे",
"copy_share_link": "शेअर लिंक कॉपी करा"
}
+2 -3
View File
@@ -236,7 +236,6 @@
"no": "No",
"pending_mod_approval": "In afwachting van moderatorgoedkeuring, niet zichtbaar voor gebruikers",
"copy_user_id": "gebruikers-ID kopiëren",
"copy_direct_link": "directe link kopiëren",
"posts_auto_update_info": "Berichten worden automatisch ongeveer elke ~2 minuten bijgewerkt. Het is momenteel niet mogelijk dit uit te schakelen.",
"board_address_tooltip": "Het adres van de peer-to-peer-node van dit bord",
"upload_failed": "Upload mislukt",
@@ -307,7 +306,6 @@
"loading_archive": "Archief laden...",
"thread_archived": "Thread gearchiveerd.",
"view": "Bekijken",
"report_post": "Bericht melden",
"delete_post": "Bericht verwijderen",
"delete_post_confirm": "Dit bericht permanent verwijderen? Dit kan niet ongedaan worden gemaakt.",
"app_p2p_info": "Je kunt altijd verbinding maken met elk board, volledig P2P, niemand kan je tegenhouden. Plak gewoon het adres in het zoekveld hierboven.",
@@ -406,5 +404,6 @@
"boards_loaded": "geladen boards:",
"link_not_image_or_video_alert": "De link is geen afbeelding of video.",
"not_a_file": "geen bestand",
"tor_author_flag_label": "Deze gebruiker zit op Tor"
"tor_author_flag_label": "Deze gebruiker zit op Tor",
"copy_share_link": "Delen link kopiëren"
}
+2 -3
View File
@@ -236,7 +236,6 @@
"no": "No",
"pending_mod_approval": "Venter på moderatorgodkjenning, ikke synlig for brukere",
"copy_user_id": "kopier bruker-ID",
"copy_direct_link": "kopier direkte lenke",
"posts_auto_update_info": "Innlegg oppdateres automatisk omtrent hver ~2 minutt. Det er ikke mulig å deaktivere dette for øyeblikket.",
"board_address_tooltip": "Adressen til denne tavlens peer-to-peer-node",
"upload_failed": "Opplasting mislyktes",
@@ -307,7 +306,6 @@
"loading_archive": "Laster arkiv...",
"thread_archived": "Tråd arkivert.",
"view": "Se",
"report_post": "Rapporter innlegg",
"delete_post": "Slett innlegg",
"delete_post_confirm": "Slette dette innlegget permanent? Dette kan ikke angres.",
"app_p2p_info": "Du kan alltid koble til hvilket som helst board, fullt P2P, ingen kan stoppe deg. Lim bare inn adressen i søkefeltet ovenfor.",
@@ -406,5 +404,6 @@
"boards_loaded": "lastede boards:",
"link_not_image_or_video_alert": "Lenken er ikke et bilde eller en video.",
"not_a_file": "ikke en fil",
"tor_author_flag_label": "Denne brukeren er på Tor"
"tor_author_flag_label": "Denne brukeren er på Tor",
"copy_share_link": "Kopier delingslenke"
}
+2 -3
View File
@@ -236,7 +236,6 @@
"no": "No",
"pending_mod_approval": "Oczekiwanie na zatwierdzenie moderatora, niewidoczne dla użytkowników",
"copy_user_id": "skopiuj ID użytkownika",
"copy_direct_link": "skopiuj bezpośredni link",
"posts_auto_update_info": "Posty aktualizują się automatycznie co ~2 minuty. Chwilowo nie jest możliwe wyłączenie tej funkcji.",
"board_address_tooltip": "Adres węzła peer-to-peer tej tablicy",
"upload_failed": "Przesyłanie nie powiodło się",
@@ -307,7 +306,6 @@
"loading_archive": "Ładowanie archiwum...",
"thread_archived": "Wątek zarchiwizowany.",
"view": "Zobacz",
"report_post": "Zgłoś post",
"delete_post": "Usuń post",
"delete_post_confirm": "Usunąć ten post na stałe? Tej operacji nie można cofnąć.",
"app_p2p_info": "Zawsze możesz połączyć się z dowolnym boardem, w pełni P2P, nikt nie może cię powstrzymać. Wklej po prostu jego adres w pole wyszukiwania powyżej.",
@@ -406,5 +404,6 @@
"boards_loaded": "załadowane boardy:",
"link_not_image_or_video_alert": "Link nie jest obrazem ani filmem.",
"not_a_file": "to nie plik",
"tor_author_flag_label": "Ten użytkownik jest w sieci Tor"
"tor_author_flag_label": "Ten użytkownik jest w sieci Tor",
"copy_share_link": "Kopiuj link udostępniania"
}
+2 -3
View File
@@ -236,7 +236,6 @@
"no": "Não",
"pending_mod_approval": "Aguardando aprovação do moderador, não visível para os usuários",
"copy_user_id": "Copiar ID do usuário",
"copy_direct_link": "Copiar link direto",
"posts_auto_update_info": "Posts são atualizados automaticamente a cada ~2 minutos. Não é possível desabilitar isso no momento.",
"board_address_tooltip": "O endereço do nó peer-to-peer desta placa",
"upload_failed": "Falha no envio",
@@ -307,7 +306,6 @@
"loading_archive": "Carregando arquivo...",
"thread_archived": "Tópico arquivado.",
"view": "Ver",
"report_post": "Denunciar publicação",
"delete_post": "Excluir publicação",
"delete_post_confirm": "Excluir esta publicação permanentemente? Isso não pode ser desfeito.",
"app_p2p_info": "Podes sempre conectar a qualquer board, totalmente P2P, ninguém te pode impedir. Basta colar o endereço no campo de pesquisa acima.",
@@ -406,5 +404,6 @@
"boards_loaded": "boards carregados:",
"link_not_image_or_video_alert": "O link não é uma imagem nem um vídeo.",
"not_a_file": "não é um arquivo",
"tor_author_flag_label": "Este usuário está no Tor"
"tor_author_flag_label": "Este usuário está no Tor",
"copy_share_link": "Copiar link compartilhado"
}
+2 -3
View File
@@ -236,7 +236,6 @@
"no": "No",
"pending_mod_approval": "În așteptarea aprobării moderatorului, nu este vizibil pentru utilizatori",
"copy_user_id": "copiați ID-ul utilizatorului",
"copy_direct_link": "copiați linkul direct",
"posts_auto_update_info": "Postările se actualizează automat la fiecare ~2 minute. În prezent, nu este posibil să dezactivezi aceasta.",
"board_address_tooltip": "Adresa nodului peer-to-peer al acestei plăci",
"upload_failed": "Încărcarea a eșuat",
@@ -307,7 +306,6 @@
"loading_archive": "Încărcare arhivă...",
"thread_archived": "Thread arhivat.",
"view": "Vizualizare",
"report_post": "Raportează postarea",
"delete_post": "Șterge postarea",
"delete_post_confirm": "Șterge definitiv această postare? Această acțiune nu poate fi anulată.",
"app_p2p_info": "Poți oricând să te conectezi la orice board, complet P2P, nimeni nu te poate opri. Pur și simplu lipește adresa în câmpul de căutare de mai sus.",
@@ -406,5 +404,6 @@
"boards_loaded": "boarduri încărcate:",
"link_not_image_or_video_alert": "Linkul nu este o imagine sau un videoclip.",
"not_a_file": "nu este fișier",
"tor_author_flag_label": "Acest utilizator este pe Tor"
"tor_author_flag_label": "Acest utilizator este pe Tor",
"copy_share_link": "Copiezi link-ul de partajare"
}
+2 -3
View File
@@ -236,7 +236,6 @@
"no": "Нет",
"pending_mod_approval": "Ожидает одобрения модератора, не видно пользователям",
"copy_user_id": "копировать ID пользователя",
"copy_direct_link": "копировать прямую ссылку",
"posts_auto_update_info": "Посты обновляются автоматически примерно каждые ~2 минуты. В данный момент невозможно отключить эту функцию.",
"board_address_tooltip": "Адрес пирингового узла этой доски",
"upload_failed": "Ошибка загрузки",
@@ -307,7 +306,6 @@
"loading_archive": "Загрузка архива...",
"thread_archived": "Тема архивирована.",
"view": "Смотреть",
"report_post": "Пожаловаться на пост",
"delete_post": "Удалить пост",
"delete_post_confirm": "Удалить этот пост навсегда? Это действие нельзя отменить.",
"app_p2p_info": "Ты всегда можешь подключиться к любому борду, полностью P2P, никто не сможет тебя остановить. Просто вставь его адрес в поле поиска выше.",
@@ -406,5 +404,6 @@
"boards_loaded": "загруженные доски:",
"link_not_image_or_video_alert": "Ссылка не является изображением или видео.",
"not_a_file": "не файл",
"tor_author_flag_label": "Этот пользователь находится в Tor"
"tor_author_flag_label": "Этот пользователь находится в Tor",
"copy_share_link": "Копировать ссылку для общего доступа"
}
+2 -3
View File
@@ -236,7 +236,6 @@
"no": "No",
"pending_mod_approval": "Duke pritur miratimin e moderatorit, jo i dukshëm për përdoruesit",
"copy_user_id": "kopjo ID e përdoruesit",
"copy_direct_link": "kopjo lidhjen e drejtpërdrejtë",
"posts_auto_update_info": "Postimet përditësohen automatikisht çdo ~2 minuta. Nuk është e mundur ta çaktivizoni këtë për momentin.",
"board_address_tooltip": "Adresa e nyjës peer-to-peer të kësaj tabele",
"upload_failed": "Ngarkimi dështoi",
@@ -307,7 +306,6 @@
"loading_archive": "Po ngarkoni arkivin...",
"thread_archived": "Fjala është arkivuar.",
"view": "Shiko",
"report_post": "Raporto postimin",
"delete_post": "Fshi postimin",
"delete_post_confirm": "Fshini këtë postim përgjithmonë? Kjo nuk mund të zhbëhet.",
"app_p2p_info": "Mund të lidhesh gjithmonë me çdo board, plotësisht P2P, askush nuk mund të të ndalojë. Thjesht ngjite adresën e tij në fushën e kërkimit më sipër.",
@@ -406,5 +404,6 @@
"boards_loaded": "bordet e ngarkuara:",
"link_not_image_or_video_alert": "Lidhja nuk është imazh ose video.",
"not_a_file": "nuk është skedar",
"tor_author_flag_label": "Ky përdorues është në Tor"
"tor_author_flag_label": "Ky përdorues është në Tor",
"copy_share_link": "Kopjo lidhjen e ndarjes"
}
+2 -3
View File
@@ -236,7 +236,6 @@
"no": "No",
"pending_mod_approval": "Väntar på moderatorgodkännande, inte synligt för användare",
"copy_user_id": "kopiera användar-ID",
"copy_direct_link": "kopiera direktlänk",
"posts_auto_update_info": "Inlägg uppdateras automatiskt ungefär var ~2:e minut. Det är för närvarande inte möjligt att inaktivera detta.",
"board_address_tooltip": "Adressen till denna tavlas peer-to-peer-nod",
"upload_failed": "Uppladdning misslyckades",
@@ -307,7 +306,6 @@
"loading_archive": "Laddar arkiv...",
"thread_archived": "Tråd arkiverad.",
"view": "Visa",
"report_post": "Rapportera inlägg",
"delete_post": "Radera inlägg",
"delete_post_confirm": "Radera detta inlägg permanent? Detta kan inte ångras.",
"app_p2p_info": "Du kan alltid ansluta till vilket board som helst, helt P2P, ingen kan stoppa dig. Klistra bara in dess adress i sökfältet ovan.",
@@ -406,5 +404,6 @@
"boards_loaded": "laddade boards:",
"link_not_image_or_video_alert": "Länken är inte en bild eller video.",
"not_a_file": "inte en fil",
"tor_author_flag_label": "Den här användaren är på Tor"
"tor_author_flag_label": "Den här användaren är på Tor",
"copy_share_link": "Kopiera delningslänk"
}
+2 -3
View File
@@ -236,7 +236,6 @@
"no": "No",
"pending_mod_approval": "మాడరేటర్ ఆమోదం కోసం చేతనిస్తోంది, వినియోగదారులకు కనిపించవు",
"copy_user_id": "యూజర్ ID కాపీ చేయండి",
"copy_direct_link": "డైరెక్ట్ లింక్ కాపీ చేయండి",
"posts_auto_update_info": "పోస్టులు ప్రతి ~2 నిమిషాలకు స్వయంచాలకంగా నవీకరించబడతాయి. ప్రస్తుతం దీనిని నిలిపివేయడం సম్భవం కాదు.",
"board_address_tooltip": "ఈ బోర్డ్ యొక్క పీర్-టు-పీర్ నోడ్ యొక్క చిరునామా",
"upload_failed": "అప్‌లోడ్ విఫలమైంది",
@@ -307,7 +306,6 @@
"loading_archive": "ఆర్కైవ్ లోడ్ అవుతోంది...",
"thread_archived": "థ్రెడ్ ఆర్కైవ్ చేయబడింది.",
"view": "చూడు",
"report_post": "పోస్ట్ రిపోర్ట్ చేయండి",
"delete_post": "పోస్ట్ తొలగించండి",
"delete_post_confirm": "ఈ పోస్ట్‌ను శాశ్వతంగా తొలగించాలా? దీన్ని రద్దు చేయలేము.",
"app_p2p_info": "మీరు ఎప్పుడైనా ఏ బోర్డ్‌కైనా కనెక్ట్ అవ్వవచ్చు, పూర్తిగా P2P, ఎవరూ మిమ్మల్ని ఆపలేరు. పైన ఉన్న సెర్చ్ ఫీల్డ్‌లో దాని అడ్రస్ పేస్ట్ చేయండి.",
@@ -406,5 +404,6 @@
"boards_loaded": "లోడ్ చేసిన బోర్డులు:",
"link_not_image_or_video_alert": "లింక్ చిత్రం లేదా వీడియో కాదు.",
"not_a_file": "ఫైల్ కాదు",
"tor_author_flag_label": "ఈ వినియోగదారు Tor లో ఉన్నారు"
"tor_author_flag_label": "ఈ వినియోగదారు Tor లో ఉన్నారు",
"copy_share_link": "భాగస్వామ్య లింక్‌ను కాపీ చేయండి"
}
+2 -3
View File
@@ -236,7 +236,6 @@
"no": "No",
"pending_mod_approval": "รอการอนุมัติจากผู้ดูแล ไม่มองเห็นสำหรับผู้ใช้",
"copy_user_id": "คัดลอก ID ผู้ใช้",
"copy_direct_link": "คัดลอกลิงก์โดยตรง",
"posts_auto_update_info": "โพสต์จะอัปเดตโดยอัตโนมัติทุก ~2 นาที ไม่สามารถปิดการใช้งานนี้ได้ในขณะนี้",
"board_address_tooltip": "ที่อยู่โหนด P2P ของบอร์ดนี้",
"upload_failed": "อัปโหลดล้มเหลว",
@@ -307,7 +306,6 @@
"loading_archive": "กำลังโหลดเก็บถาวร...",
"thread_archived": "เธรดถูกเก็บถาวร",
"view": "ดู",
"report_post": "แจ้งรายงานโพสต์",
"delete_post": "ลบโพสต์",
"delete_post_confirm": "ลบกระทู้นี้อย่างถาวรหรือไม่? การดำเนินการนี้ไม่สามารถยกเลิกได้",
"app_p2p_info": "คุณสามารถเชื่อมต่อกับบอร์ดใดก็ได้ตลอดเวลา แบบ P2P เต็มรูปแบบ ไม่มีใครหยุดคุณได้ แค่วางที่อยู่ของมันในช่องค้นหาด้านบน",
@@ -406,5 +404,6 @@
"boards_loaded": "บอร์ดที่โหลดแล้ว:",
"link_not_image_or_video_alert": "ลิงก์ไม่ใช่รูปภาพหรือวิดีโอ",
"not_a_file": "ไม่ใช่ไฟล์",
"tor_author_flag_label": "ผู้ใช้นี้อยู่บน Tor"
"tor_author_flag_label": "ผู้ใช้นี้อยู่บน Tor",
"copy_share_link": "คัดลอกลิงก์แชร์"
}
+2 -3
View File
@@ -236,7 +236,6 @@
"no": "No",
"pending_mod_approval": "Moderatör onayı beklemede, kullanıcılara görünmüyor",
"copy_user_id": "kullanıcı ID'sini kopyala",
"copy_direct_link": "doğrudan bağlantıyı kopyala",
"posts_auto_update_info": "Gönderiler her ~2 dakikada otomatik olarak güncellenir. Şu anda bunu devre dışı bırakmak mümkün değildir.",
"board_address_tooltip": "Bu panonun eşler arası düğüm adresi",
"upload_failed": "Yükleme başarısız",
@@ -307,7 +306,6 @@
"loading_archive": "Arşiv yükleniyor...",
"thread_archived": "Konu arşivlendi.",
"view": "Görüntüle",
"report_post": "Gönderiyi bildir",
"delete_post": "Gönderiyi sil",
"delete_post_confirm": "Bu gönderiyi kalıcı olarak silmek istiyor musunuz? Bu işlem geri alınamaz.",
"app_p2p_info": "Her zaman herhangi bir boarda bağlanabilirsin, tamamen P2P, kimse seni durduramaz. Sadece adresini yukarıdaki arama alanına yapıştır.",
@@ -406,5 +404,6 @@
"boards_loaded": "yüklenen panolar:",
"link_not_image_or_video_alert": "Bağlantı bir görsel veya video değil.",
"not_a_file": "dosya değil",
"tor_author_flag_label": "Bu kullanıcı Tor'da"
"tor_author_flag_label": "Bu kullanıcı Tor'da",
"copy_share_link": "Paylaşma bağlantısını kopyala"
}
+2 -3
View File
@@ -236,7 +236,6 @@
"no": "No",
"pending_mod_approval": "Очікує затвердження модератора, не видно користувачам",
"copy_user_id": "копіювати ID користувача",
"copy_direct_link": "копіювати пряме посилання",
"posts_auto_update_info": "Дописи оновлюються автоматично приблизно кожні ~2 хвилини. В даний момент неможливо вимкнути цю функцію.",
"board_address_tooltip": "Адреса пірінгового вузла цієї дошки",
"upload_failed": "Помилка завантаження",
@@ -307,7 +306,6 @@
"loading_archive": "Завантаження архіву...",
"thread_archived": "Тему архівовано.",
"view": "Переглянути",
"report_post": "Поскаржитися на пост",
"delete_post": "Видалити пост",
"delete_post_confirm": "Видалити цей пост назавжди? Цю дію не можна скасувати.",
"app_p2p_info": "Ти завжди можеш підключитися до будь-якого борду, повністю P2P, ніхто не зможе тебе зупинити. Просто встав його адресу в поле пошуку вище.",
@@ -406,5 +404,6 @@
"boards_loaded": "завантажені дошки:",
"link_not_image_or_video_alert": "Посилання не є зображенням або відео.",
"not_a_file": "не файл",
"tor_author_flag_label": "Цей користувач у Tor"
"tor_author_flag_label": "Цей користувач у Tor",
"copy_share_link": "Копіювати посилання для спільного доступу"
}
+2 -3
View File
@@ -236,7 +236,6 @@
"no": "No",
"pending_mod_approval": "ماڈریٹر کی منظوری کا انتظار، صارفین کے لیے نظر نہیں آتا",
"copy_user_id": "صارف کی شناخت کاپی کریں",
"copy_direct_link": "براہ راست لنک کاپی کریں",
"posts_auto_update_info": "پوسٹس ہر ~2 منٹ میں خود بخود اپ ڈیٹ ہوتے ہیں۔ فی الوقت اس کو غیر فعال کرنا ممکن نہیں ہے۔",
"board_address_tooltip": "اس بورڈ کے پیر ٹو پیر نوڈ کا پتہ",
"upload_failed": "اپ لوڈ ناکام",
@@ -307,7 +306,6 @@
"loading_archive": "آرکائیو لوڈ ہو رہا ہے...",
"thread_archived": "موضوع آرکائیو کر دیا گیا ہے۔",
"view": "دیکھیں",
"report_post": "پوسٹ ریپورٹ کریں",
"delete_post": "پوسٹ حذف کریں",
"delete_post_confirm": "کیا اس پوسٹ کو مستقل طور پر حذف کریں؟ یہ واپس نہیں لیا جا سکتا۔",
"app_p2p_info": "آپ ہمیشہ کسی بھی بورڈ سے جڑ سکتے ہیں، مکمل طور پر P2P، کوئی آپ کو روک نہیں سکتا۔ اوپر والے سرچ فیلڈ میں اس کا پتہ پیسٹ کریں۔",
@@ -406,5 +404,6 @@
"boards_loaded": "لوڈ شدہ بورڈز:",
"link_not_image_or_video_alert": "لنک تصویر یا ویڈیو نہیں ہے۔",
"not_a_file": "فائل نہیں ہے",
"tor_author_flag_label": "یہ صارف Tor پر ہے"
"tor_author_flag_label": "یہ صارف Tor پر ہے",
"copy_share_link": "شیئر لنک کاپی کریں"
}
+2 -3
View File
@@ -236,7 +236,6 @@
"no": "No",
"pending_mod_approval": "Chờ duyệt của người điều hành, không hiển thị cho người dùng",
"copy_user_id": "sao chép ID người dùng",
"copy_direct_link": "sao chép liên kết trực tiếp",
"posts_auto_update_info": "Bài đăng được cập nhật tự động cứ ~2 phút một lần. Hiện tại không thể tắt tính năng này.",
"board_address_tooltip": "Địa chỉ nút peer-to-peer của bảng này",
"upload_failed": "Tải lên thất bại",
@@ -307,7 +306,6 @@
"loading_archive": "Đang tải lưu trữ...",
"thread_archived": "Chủ đề đã được lưu trữ.",
"view": "Xem",
"report_post": "Báo cáo bài viết",
"delete_post": "Xóa bài viết",
"delete_post_confirm": "Xóa bài viết này vĩnh viễn? Hành động này không thể hoàn tác.",
"app_p2p_info": "Bạn luôn có thể kết nối với bất kỳ board nào, hoàn toàn P2P, không ai có thể ngăn cản bạn. Chỉ cần dán địa chỉ của nó vào ô tìm kiếm phía trên.",
@@ -406,5 +404,6 @@
"boards_loaded": "bảng đã tải:",
"link_not_image_or_video_alert": "Liên kết không phải là hình ảnh hoặc video.",
"not_a_file": "không phải tệp",
"tor_author_flag_label": "Người dùng này đang ở trên Tor"
"tor_author_flag_label": "Người dùng này đang ở trên Tor",
"copy_share_link": "Sao chép liên kết chia sẻ"
}
+2 -3
View File
@@ -236,7 +236,6 @@
"no": "否",
"pending_mod_approval": "等待版主批准,用户不可见",
"copy_user_id": "复制用户ID",
"copy_direct_link": "复制直接链接",
"posts_auto_update_info": "帖子每约2分钟自动更新一次。目前无法禁用此功能。",
"board_address_tooltip": "此板块的点对点节点地址",
"upload_failed": "上传失败",
@@ -307,7 +306,6 @@
"loading_archive": "正在加载归档...",
"thread_archived": "主题已归档。",
"view": "查看",
"report_post": "举报帖子",
"delete_post": "删除帖子",
"delete_post_confirm": "永久删除此帖子?此操作无法撤销。",
"app_p2p_info": "你随时可以连接到任何看板,完全 P2P,没人能阻止你。只需将其地址粘贴到上方搜索框中即可。",
@@ -406,5 +404,6 @@
"boards_loaded": "已加载的版块:",
"link_not_image_or_video_alert": "链接不是图片或视频。",
"not_a_file": "不是文件",
"tor_author_flag_label": "该用户正在使用 Tor"
"tor_author_flag_label": "该用户正在使用 Tor",
"copy_share_link": "复制分享链接"
}
@@ -144,7 +144,7 @@ describe('PostMenuDesktop', () => {
await renderMenu();
await openMenu();
const copyLink = Array.from(document.body.querySelectorAll('button')).find((node) => node.textContent === 'copy_direct_link');
const copyLink = Array.from(document.body.querySelectorAll('button')).find((node) => node.textContent === 'copy_share_link');
await act(async () => {
copyLink?.dispatchEvent(new MouseEvent('click', { bubbles: true }));
});
@@ -46,7 +46,7 @@ const CopyLinkButton = ({ cid, communityAddress, linkType, onClose }: CopyLinkBu
const { t } = useTranslation();
const directories = useDirectories();
const boardIdentifier = getBoardPath(communityAddress, directories);
const copyDirectLink = async () => {
const copyShareLink = async () => {
await safeCopyShareLink(boardIdentifier, linkType, linkType === 'thread' ? cid : undefined);
onClose();
};
@@ -55,15 +55,15 @@ const CopyLinkButton = ({ cid, communityAddress, linkType, onClose }: CopyLinkBu
type='button'
className={styles.postMenuItem}
tabIndex={0}
onClick={copyDirectLink}
onClick={copyShareLink}
onKeyDown={(e) => {
if (e.key === 'Enter' || e.key === ' ') {
e.preventDefault();
copyDirectLink();
copyShareLink();
}
}}
>
{t('copy_direct_link')}
{t('copy_share_link')}
</button>
);
};
@@ -225,24 +225,6 @@ const PostMenuDesktop = ({ postMenu }: PostMenuDesktopProps) => {
createPortal(
<FloatingFocusManager context={context} modal={false}>
<div className={styles.postMenu} ref={refs.setFloating} style={floatingStyles} aria-labelledby={headingId} {...getFloatingProps()}>
<button
type='button'
className={styles.postMenuItem}
tabIndex={0}
onClick={() => {
alert("Reporting isn't available yet.");
handleClose();
}}
onKeyDown={(e) => {
if (e.key === 'Enter' || e.key === ' ') {
e.preventDefault();
alert("Reporting isn't available yet.");
handleClose();
}
}}
>
{t('report_post')}
</button>
{!(isInPostPageView && postCid === cid) && (
<button
type='button'
@@ -185,7 +185,7 @@ describe('PostMenuMobile', () => {
expect(document.body.querySelector('[data-testid="edit-menu"]')?.textContent).toBe('cid-1');
await openMenu();
const copyLink = Array.from(document.body.querySelectorAll('div')).find((node) => node.textContent === 'copy_direct_link');
const copyLink = Array.from(document.body.querySelectorAll('div')).find((node) => node.textContent === 'copy_share_link');
await act(async () => {
copyLink?.dispatchEvent(new MouseEvent('click', { bubbles: true }));
});
@@ -65,7 +65,7 @@ const CopyLinkButton = ({ cid, communityAddress, linkType, onClose }: CopyLinkBu
const { t } = useTranslation();
const directories = useDirectories();
const boardIdentifier = getBoardPath(communityAddress, directories);
const copyDirectLink = async () => {
const copyShareLink = async () => {
await copyShareLinkSafe(boardIdentifier, linkType, linkType === 'thread' ? cid : undefined);
onClose();
};
@@ -73,15 +73,15 @@ const CopyLinkButton = ({ cid, communityAddress, linkType, onClose }: CopyLinkBu
<button
type='button'
tabIndex={0}
onClick={copyDirectLink}
onClick={copyShareLink}
onKeyDown={(e) => {
if (e.key === 'Enter' || e.key === ' ') {
e.preventDefault();
copyDirectLink();
copyShareLink();
}
}}
>
<div className={styles.postMenuItem}>{t('copy_direct_link')}</div>
<div className={styles.postMenuItem}>{t('copy_share_link')}</div>
</button>
);
};
@@ -150,29 +150,6 @@ const ImageSearchButtons = ({ url, onClose }: { url: string; onClose: () => void
);
};
const ReportPostButton = ({ onClose }: { onClose: () => void }) => {
const { t } = useTranslation();
const reportPost = () => {
alert("Reporting isn't available yet.");
onClose();
};
return (
<button
type='button'
tabIndex={0}
onClick={reportPost}
onKeyDown={(e) => {
if (e.key === 'Enter' || e.key === ' ') {
e.preventDefault();
reportPost();
}
}}
>
<div className={styles.postMenuItem}>{t('report_post')}</div>
</button>
);
};
type DeletePostButtonProps = {
post: Comment;
onClose: () => void;
@@ -353,7 +330,6 @@ const PostMenuMobile = ({ postMenu, editMenuPost }: PostMenuMobileProps) => {
createPortal(
<FloatingFocusManager context={context} modal={false}>
<div className={styles.postMenu} ref={refs.setFloating} style={floatingStyles} aria-labelledby={headingId} {...getFloatingProps()}>
<ReportPostButton onClose={handleClose} />
{cid && communityAddress && <HidePostButton cid={cid} comment={postMenu.comment} isReply={!!parentCid} postCid={postCid} onClose={handleClose} />}
{(isAccountCommentAuthor || canAttemptAuthorDelete) && cid && editMenuPost && <DeletePostButton post={editMenuPost} onClose={handleClose} />}
{cid && communityAddress && <CopyLinkButton cid={cid} communityAddress={communityAddress} linkType='thread' onClose={handleClose} />}
+5 -3
View File
@@ -72,12 +72,12 @@ describe('url-utils', () => {
expect(getExpiringMediaLinkHostname('not-a-url')).toBeNull();
});
it('copies share links for threads and catalog pages using the production fallback base url', async () => {
it('copies path-based share links for threads and catalog pages using the share subdomain', async () => {
await copyShareLinkToClipboard('music.eth', 'thread', 'cid-123');
expect(testState.copyToClipboardMock).toHaveBeenCalledWith('https://5chan.app/#/music.eth/thread/cid-123');
expect(testState.copyToClipboardMock).toHaveBeenCalledWith('https://s.5chan.app/music.eth/thread/cid-123');
await copyShareLinkToClipboard('music.eth', 'catalog');
expect(testState.copyToClipboardMock).toHaveBeenCalledWith('https://5chan.app/#/music.eth/catalog');
expect(testState.copyToClipboardMock).toHaveBeenCalledWith('https://s.5chan.app/music.eth/catalog');
const copyThreadWithoutCid = copyShareLinkToClipboard as (boardIdentifier: string, linkType: 'thread', cid?: string) => Promise<void>;
await expect(copyThreadWithoutCid('music.eth', 'thread')).rejects.toThrow('copyShareLinkToClipboard: thread links require a cid');
@@ -89,6 +89,8 @@ describe('url-utils', () => {
expect(is5chanLink('https://5chan.app/#/music.eth/catalog')).toBe(true);
expect(is5chanLink('https://5chan.app/p/music.eth/c/cid-123')).toBe(true);
expect(is5chanLink('https://5chan.app/all/catalog')).toBe(true);
expect(is5chanLink('https://s.5chan.app/music.eth/thread/cid-123')).toBe(true);
expect(is5chanLink('https://s.5chan.app/music.eth/catalog')).toBe(true);
expect(is5chanLink('https://example.com/music.eth')).toBe(false);
});
+10 -4
View File
@@ -128,10 +128,14 @@ export const getPublishURLFilename = (url: string): string | null => {
}
};
const CHAN_5_HOSTNAMES = ['5chan.app', '5chan.eth.limo', '5chan.eth.link', '5chan.eth.sucks', '5chan.netlify.app'];
// Dedicated subdomain that serves shared posts. Its server renders social-media link
// previews (OpenGraph/Twitter cards) for the shared post before handing off to the app.
const SHARE_HOSTNAME = 's.5chan.app';
const CHAN_5_HOSTNAMES = ['5chan.app', SHARE_HOSTNAME, '5chan.eth.limo', '5chan.eth.link', '5chan.eth.sucks', '5chan.netlify.app'];
function getShareBaseUrl(): string {
return `https://${CHAN_5_HOSTNAMES[0]}`;
return `https://${SHARE_HOSTNAME}`;
}
export type ShareLinkType = 'thread' | 'catalog';
@@ -140,16 +144,18 @@ export type ShareLinkType = 'thread' | 'catalog';
export function copyShareLinkToClipboard(boardIdentifier: string, linkType: 'thread', cid: string): Promise<void>;
export function copyShareLinkToClipboard(boardIdentifier: string, linkType: Exclude<ShareLinkType, 'thread'>): Promise<void>;
export async function copyShareLinkToClipboard(boardIdentifier: string, linkType: ShareLinkType, cid?: string): Promise<void> {
// Share links are path-based (no HashRouter `#/`) so the share server can read the post
// from the request path and render its preview; URL fragments never reach the server.
if (linkType === 'thread') {
if (!cid) {
throw new Error('copyShareLinkToClipboard: thread links require a cid');
}
const shareLink = `${getShareBaseUrl()}/#/${boardIdentifier}/thread/${cid}`;
const shareLink = `${getShareBaseUrl()}/${boardIdentifier}/thread/${cid}`;
await copyToClipboard(shareLink);
return;
}
const shareLink = `${getShareBaseUrl()}/#/${boardIdentifier}/${linkType}`;
const shareLink = `${getShareBaseUrl()}/${boardIdentifier}/${linkType}`;
await copyToClipboard(shareLink);
}
+2 -2
View File
@@ -230,8 +230,8 @@ const FAQ_SECTIONS: FAQSection[] = [
question: 'How do I report posts?',
answer: (
<>
Reporting is not available yet. For now, board moderation happens through board-specific moderator tools and rules. If you are a board moderator, use the mod
queue and edit controls available for that board.
5chan does not use manual user reports. Moderation is handled automatically by AI moderation, and board moderators review flagged content through the mod
queue. If you run a board, use the mod queue and edit controls available for that board.
</>
),
},