From 348e3393c72b50c8420bc73a5dd8bab5052e88e0 Mon Sep 17 00:00:00 2001 From: Tommaso Casaburi Date: Sun, 24 May 2026 17:06:03 +0700 Subject: [PATCH] feat(post): show pending approval reason --- public/translations/ar/default.json | 3 ++- public/translations/bn/default.json | 3 ++- public/translations/cs/default.json | 3 ++- public/translations/da/default.json | 3 ++- public/translations/de/default.json | 3 ++- public/translations/el/default.json | 3 ++- public/translations/en/default.json | 3 ++- public/translations/es/default.json | 3 ++- public/translations/fa/default.json | 3 ++- public/translations/fi/default.json | 3 ++- public/translations/fil/default.json | 3 ++- public/translations/fr/default.json | 3 ++- public/translations/he/default.json | 3 ++- public/translations/hi/default.json | 3 ++- public/translations/hu/default.json | 3 ++- public/translations/id/default.json | 3 ++- public/translations/it/default.json | 3 ++- public/translations/ja/default.json | 3 ++- public/translations/ko/default.json | 3 ++- public/translations/mr/default.json | 3 ++- public/translations/nl/default.json | 3 ++- public/translations/no/default.json | 3 ++- public/translations/pl/default.json | 3 ++- public/translations/pt/default.json | 3 ++- public/translations/ro/default.json | 3 ++- public/translations/ru/default.json | 3 ++- public/translations/sq/default.json | 3 ++- public/translations/sv/default.json | 3 ++- public/translations/te/default.json | 3 ++- public/translations/th/default.json | 3 ++- public/translations/tr/default.json | 3 ++- public/translations/uk/default.json | 3 ++- public/translations/ur/default.json | 3 ++- public/translations/vi/default.json | 3 ++- public/translations/zh/default.json | 3 ++- .../__tests__/comment-content.test.tsx | 4 ++++ src/components/comment-content/comment-content.tsx | 13 +++++++++++++ 37 files changed, 87 insertions(+), 35 deletions(-) diff --git a/public/translations/ar/default.json b/public/translations/ar/default.json index 30f6da96..b7ffbe82 100644 --- a/public/translations/ar/default.json +++ b/public/translations/ar/default.json @@ -391,5 +391,6 @@ "modQueue.dismiss": "تجاهل", "board_address_unverified_warning": "لم يتم التحقق من عنوان هذه اللوحة. قد لا يكون مالك اللوحة مالكًا لهذا العنوان.", "go_to_settings_to_import_mod_account": "انتقل إلى <1>الإعدادات لاستيراد حساب المشرف الخاص بك", - "post_form_rules_faq_prompt": "يُرجى قراءة القواعد والأسئلة الشائعة قبل النشر." + "post_form_rules_faq_prompt": "يُرجى قراءة القواعد والأسئلة الشائعة قبل النشر.", + "pending_mod_approval_reason": "أرسل الإشراف بالذكاء الاصطناعي هذا المنشور إلى قائمة انتظار المشرفين. السبب: \"{{reason}}\"." } diff --git a/public/translations/bn/default.json b/public/translations/bn/default.json index b9c2a939..dc3cfc31 100644 --- a/public/translations/bn/default.json +++ b/public/translations/bn/default.json @@ -391,5 +391,6 @@ "modQueue.dismiss": "উপেক্ষা করুন", "board_address_unverified_warning": "এই বোর্ড ঠিকানাটি যাচাই করা হয়নি। বোর্ডের মালিক এই ঠিকানার মালিক নাও হতে পারেন।", "go_to_settings_to_import_mod_account": "আপনার মড অ্যাকাউন্ট আমদানি করতে <1>সেটিংস-এ যান", - "post_form_rules_faq_prompt": "পোস্ট করার আগে নিয়ম এবং প্রশ্নোত্তর পড়ুন।" + "post_form_rules_faq_prompt": "পোস্ট করার আগে নিয়ম এবং প্রশ্নোত্তর পড়ুন।", + "pending_mod_approval_reason": "AI মডারেশন এই পোস্টটি মডারেটর কিউতে পাঠিয়েছে। কারণ: \"{{reason}}\"." } diff --git a/public/translations/cs/default.json b/public/translations/cs/default.json index 3b295e3f..d846b9cd 100644 --- a/public/translations/cs/default.json +++ b/public/translations/cs/default.json @@ -391,5 +391,6 @@ "modQueue.dismiss": "Ignorovat", "board_address_unverified_warning": "Tato adresa nástěnky není ověřená. Vlastník nástěnky nemusí tuto adresu vlastnit.", "go_to_settings_to_import_mod_account": "Přejděte do <1>nastavení a importujte svůj moderátorský účet", - "post_form_rules_faq_prompt": "Před odesláním si přečtěte Pravidla a FAQ." + "post_form_rules_faq_prompt": "Před odesláním si přečtěte Pravidla a FAQ.", + "pending_mod_approval_reason": "AI moderace odeslala tento příspěvek do fronty moderátorů. Důvod: \"{{reason}}\"." } diff --git a/public/translations/da/default.json b/public/translations/da/default.json index dc0fc0fd..92461c45 100644 --- a/public/translations/da/default.json +++ b/public/translations/da/default.json @@ -391,5 +391,6 @@ "modQueue.dismiss": "Ignorer", "board_address_unverified_warning": "Denne boardadresse er ikke verificeret. Boardets ejer ejer muligvis ikke denne adresse.", "go_to_settings_to_import_mod_account": "Gå til <1>indstillinger for at importere din mod-konto", - "post_form_rules_faq_prompt": "Læs venligst Reglerne og FAQ, før du poster." + "post_form_rules_faq_prompt": "Læs venligst Reglerne og FAQ, før du poster.", + "pending_mod_approval_reason": "AI-moderering sendte dette opslag til moderatorkøen. Grund: \"{{reason}}\"." } diff --git a/public/translations/de/default.json b/public/translations/de/default.json index 321797ba..6ccd1e29 100644 --- a/public/translations/de/default.json +++ b/public/translations/de/default.json @@ -391,5 +391,6 @@ "modQueue.dismiss": "Ignorieren", "board_address_unverified_warning": "Diese Board-Adresse ist nicht verifiziert. Der Board-Betreiber besitzt diese Adresse möglicherweise nicht.", "go_to_settings_to_import_mod_account": "Gehe zu <1>Einstellungen, um dein Moderatorkonto zu importieren", - "post_form_rules_faq_prompt": "Bitte lesen Sie die Regeln und die FAQ, bevor Sie posten." + "post_form_rules_faq_prompt": "Bitte lesen Sie die Regeln und die FAQ, bevor Sie posten.", + "pending_mod_approval_reason": "Die KI-Moderation hat diesen Beitrag in die Moderationswarteschlange verschoben. Grund: \"{{reason}}\"." } diff --git a/public/translations/el/default.json b/public/translations/el/default.json index c61b1724..b2c6ba14 100644 --- a/public/translations/el/default.json +++ b/public/translations/el/default.json @@ -391,5 +391,6 @@ "modQueue.dismiss": "Παράβλεψη", "board_address_unverified_warning": "Αυτή η διεύθυνση board δεν έχει επαληθευτεί. Ο ιδιοκτήτης του board ενδέχεται να μην κατέχει αυτή τη διεύθυνση.", "go_to_settings_to_import_mod_account": "Μεταβείτε στις <1>ρυθμίσεις για να εισαγάγετε τον λογαριασμό διαχειριστή σας", - "post_form_rules_faq_prompt": "Παρακαλώ διαβάστε τους Κανόνες και τις Συχνές ερωτήσεις πριν δημοσιεύσετε." + "post_form_rules_faq_prompt": "Παρακαλώ διαβάστε τους Κανόνες και τις Συχνές ερωτήσεις πριν δημοσιεύσετε.", + "pending_mod_approval_reason": "Η εποπτεία AI έστειλε αυτή την ανάρτηση στην ουρά των συντονιστών. Λόγος: \"{{reason}}\"." } diff --git a/public/translations/en/default.json b/public/translations/en/default.json index 904d375c..a6c27ade 100644 --- a/public/translations/en/default.json +++ b/public/translations/en/default.json @@ -410,5 +410,6 @@ "directory_status_unavailable_reason": "check only available for top 5 boards", "modQueue.dismiss": "Dismiss", "board_address_unverified_warning": "This board address is not verified. The board owner might not own this address.", - "post_form_rules_faq_prompt": "Please read the Rules and FAQ before posting." + "post_form_rules_faq_prompt": "Please read the Rules and FAQ before posting.", + "pending_mod_approval_reason": "AI moderation sent this post to the mod queue. Reason: \"{{reason}}\"." } diff --git a/public/translations/es/default.json b/public/translations/es/default.json index e754f449..b0fc2e1b 100644 --- a/public/translations/es/default.json +++ b/public/translations/es/default.json @@ -391,5 +391,6 @@ "modQueue.dismiss": "Descartar", "board_address_unverified_warning": "Esta dirección del tablón no está verificada. Es posible que el propietario del tablón no sea dueño de esta dirección.", "go_to_settings_to_import_mod_account": "Ve a <1>configuración para importar tu cuenta de moderador", - "post_form_rules_faq_prompt": "Por favor, lee las Reglas y las FAQ antes de publicar." + "post_form_rules_faq_prompt": "Por favor, lee las Reglas y las FAQ antes de publicar.", + "pending_mod_approval_reason": "La moderación con IA envió esta publicación a la cola de moderación. Motivo: \"{{reason}}\"." } diff --git a/public/translations/fa/default.json b/public/translations/fa/default.json index c25d1548..cedb1352 100644 --- a/public/translations/fa/default.json +++ b/public/translations/fa/default.json @@ -391,5 +391,6 @@ "modQueue.dismiss": "نادیده گرفتن", "board_address_unverified_warning": "این نشانی برد تأیید نشده است. ممکن است مالک برد صاحب این نشانی نباشد.", "go_to_settings_to_import_mod_account": "برای وارد کردن حساب مدیر خود به <1>تنظیمات بروید", - "post_form_rules_faq_prompt": "لطفاً قبل از ارسال قوانین و پرسش‌های متداول را بخوانید." + "post_form_rules_faq_prompt": "لطفاً قبل از ارسال قوانین و پرسش‌های متداول را بخوانید.", + "pending_mod_approval_reason": "مدیریت با هوش مصنوعی این پست را به صف مدیران فرستاد. دلیل: \"{{reason}}\"." } diff --git a/public/translations/fi/default.json b/public/translations/fi/default.json index e24547b4..4c44e77c 100644 --- a/public/translations/fi/default.json +++ b/public/translations/fi/default.json @@ -391,5 +391,6 @@ "modQueue.dismiss": "Ohita", "board_address_unverified_warning": "Tätä laudan osoitetta ei ole vahvistettu. Laudan omistaja ei välttämättä omista tätä osoitetta.", "go_to_settings_to_import_mod_account": "Siirry <1>asetuksiin tuodaksesi moderaattoritilisi", - "post_form_rules_faq_prompt": "Lue Säännöt ja UKK ennen julkaisemista." + "post_form_rules_faq_prompt": "Lue Säännöt ja UKK ennen julkaisemista.", + "pending_mod_approval_reason": "Tekoälymoderointi lähetti tämän viestin moderointijonoon. Syy: \"{{reason}}\"." } diff --git a/public/translations/fil/default.json b/public/translations/fil/default.json index 94a0910f..33524aaf 100644 --- a/public/translations/fil/default.json +++ b/public/translations/fil/default.json @@ -391,5 +391,6 @@ "modQueue.dismiss": "Huwag pansinin", "board_address_unverified_warning": "Hindi beripikado ang address ng board na ito. Maaaring hindi pag-aari ng may-ari ng board ang address na ito.", "go_to_settings_to_import_mod_account": "Pumunta sa <1>mga setting para i-import ang iyong mod account", - "post_form_rules_faq_prompt": "Pakibasa ang Rules at FAQ bago mag-post." + "post_form_rules_faq_prompt": "Pakibasa ang Rules at FAQ bago mag-post.", + "pending_mod_approval_reason": "Ipinadala ng AI moderation ang post na ito sa mod queue. Dahilan: \"{{reason}}\"." } diff --git a/public/translations/fr/default.json b/public/translations/fr/default.json index 452ddb9f..63f6bf26 100644 --- a/public/translations/fr/default.json +++ b/public/translations/fr/default.json @@ -391,5 +391,6 @@ "modQueue.dismiss": "Ignorer", "board_address_unverified_warning": "Cette adresse de board n'est pas vérifiée. Le propriétaire du board pourrait ne pas posséder cette adresse.", "go_to_settings_to_import_mod_account": "Allez dans les <1>paramètres pour importer votre compte de modération", - "post_form_rules_faq_prompt": "Veuillez lire le Règlement et la FAQ avant de publier." + "post_form_rules_faq_prompt": "Veuillez lire le Règlement et la FAQ avant de publier.", + "pending_mod_approval_reason": "La modération par IA a envoyé ce post dans la file de modération. Raison: \"{{reason}}\"." } diff --git a/public/translations/he/default.json b/public/translations/he/default.json index 8ddbbbf6..4cb8492f 100644 --- a/public/translations/he/default.json +++ b/public/translations/he/default.json @@ -391,5 +391,6 @@ "modQueue.dismiss": "התעלם", "board_address_unverified_warning": "כתובת הלוח הזו אינה מאומתת. ייתכן שבעל הלוח אינו הבעלים של הכתובת הזו.", "go_to_settings_to_import_mod_account": "עבור אל <1>הגדרות כדי לייבא את חשבון המוד שלך", - "post_form_rules_faq_prompt": "אנא קרא את הכללים ואת שאלות נפוצות לפני פרסום." + "post_form_rules_faq_prompt": "אנא קרא את הכללים ואת שאלות נפוצות לפני פרסום.", + "pending_mod_approval_reason": "סינון ה-AI שלח את הפוסט הזה לתור המודרציה. סיבה: \"{{reason}}\"." } diff --git a/public/translations/hi/default.json b/public/translations/hi/default.json index 25103ac4..838e1263 100644 --- a/public/translations/hi/default.json +++ b/public/translations/hi/default.json @@ -391,5 +391,6 @@ "modQueue.dismiss": "अनदेखा करें", "board_address_unverified_warning": "इस बोर्ड पते की पुष्टि नहीं हुई है। हो सकता है बोर्ड का मालिक इस पते का मालिक न हो।", "go_to_settings_to_import_mod_account": "अपना मॉड खाता इम्पोर्ट करने के लिए <1>सेटिंग्स पर जाएं", - "post_form_rules_faq_prompt": "पोस्ट करने से पहले कृपया नियम और अक्सर पूछे जाने वाले सवाल पढ़ें।" + "post_form_rules_faq_prompt": "पोस्ट करने से पहले कृपया नियम और अक्सर पूछे जाने वाले सवाल पढ़ें।", + "pending_mod_approval_reason": "AI मॉडरेशन ने इस पोस्ट को मॉड कतार में भेजा। कारण: \"{{reason}}\"." } diff --git a/public/translations/hu/default.json b/public/translations/hu/default.json index 2e62b569..81914607 100644 --- a/public/translations/hu/default.json +++ b/public/translations/hu/default.json @@ -391,5 +391,6 @@ "modQueue.dismiss": "Mellőzés", "board_address_unverified_warning": "Ez a board-cím nincs ellenőrizve. Lehet, hogy a board tulajdonosa nem birtokolja ezt a címet.", "go_to_settings_to_import_mod_account": "Lépj a <1>beállítások menübe a moderátori fiókod importálásához", - "post_form_rules_faq_prompt": "Kérjük, olvasd el a Szabályokat és a GYIK-et posztolás előtt." + "post_form_rules_faq_prompt": "Kérjük, olvasd el a Szabályokat és a GYIK-et posztolás előtt.", + "pending_mod_approval_reason": "Az AI-moderáció ezt a bejegyzést a moderátori várólistára küldte. Ok: \"{{reason}}\"." } diff --git a/public/translations/id/default.json b/public/translations/id/default.json index 57694ee4..cbea3aeb 100644 --- a/public/translations/id/default.json +++ b/public/translations/id/default.json @@ -391,5 +391,6 @@ "modQueue.dismiss": "Abaikan", "board_address_unverified_warning": "Alamat board ini belum diverifikasi. Pemilik board mungkin tidak memiliki alamat ini.", "go_to_settings_to_import_mod_account": "Buka <1>pengaturan untuk mengimpor akun mod Anda", - "post_form_rules_faq_prompt": "Silakan baca Aturan dan FAQ sebelum memposting." + "post_form_rules_faq_prompt": "Silakan baca Aturan dan FAQ sebelum memposting.", + "pending_mod_approval_reason": "Moderasi AI mengirim postingan ini ke antrean moderator. Alasan: \"{{reason}}\"." } diff --git a/public/translations/it/default.json b/public/translations/it/default.json index 8f537349..955c44a3 100644 --- a/public/translations/it/default.json +++ b/public/translations/it/default.json @@ -391,5 +391,6 @@ "modQueue.dismiss": "Ignora", "board_address_unverified_warning": "Questo indirizzo della board non è verificato. Il proprietario della board potrebbe non possedere questo indirizzo.", "go_to_settings_to_import_mod_account": "Vai alle <1>impostazioni per importare il tuo account mod", - "post_form_rules_faq_prompt": "Leggi le Regole e le FAQ prima di pubblicare." + "post_form_rules_faq_prompt": "Leggi le Regole e le FAQ prima di pubblicare.", + "pending_mod_approval_reason": "La moderazione AI ha inviato questo post alla coda di moderazione. Motivo: \"{{reason}}\"." } diff --git a/public/translations/ja/default.json b/public/translations/ja/default.json index 7393b626..f2b4d50a 100644 --- a/public/translations/ja/default.json +++ b/public/translations/ja/default.json @@ -391,5 +391,6 @@ "modQueue.dismiss": "無視", "board_address_unverified_warning": "このボードアドレスは検証されていません。ボード所有者がこのアドレスを所有していない可能性があります。", "go_to_settings_to_import_mod_account": "モデレーターアカウントをインポートするには<1>設定に移動してください", - "post_form_rules_faq_prompt": "投稿する前にルールFAQをお読みください。" + "post_form_rules_faq_prompt": "投稿する前にルールFAQをお読みください。", + "pending_mod_approval_reason": "AIモデレーションがこの投稿をモデレーターキューに送りました。理由: \"{{reason}}\"." } diff --git a/public/translations/ko/default.json b/public/translations/ko/default.json index cda5f514..f0ef67ee 100644 --- a/public/translations/ko/default.json +++ b/public/translations/ko/default.json @@ -391,5 +391,6 @@ "modQueue.dismiss": "무시", "board_address_unverified_warning": "이 보드 주소는 확인되지 않았습니다. 보드 소유자가 이 주소를 소유하지 않았을 수 있습니다.", "go_to_settings_to_import_mod_account": "관리자 계정을 가져오려면 <1>설정으로 이동하세요", - "post_form_rules_faq_prompt": "게시하기 전에 규칙FAQ을 읽어 주세요." + "post_form_rules_faq_prompt": "게시하기 전에 규칙FAQ을 읽어 주세요.", + "pending_mod_approval_reason": "AI 모더레이션이 이 게시물을 모더레이터 대기열로 보냈습니다. 이유: \"{{reason}}\"." } diff --git a/public/translations/mr/default.json b/public/translations/mr/default.json index 7ed58e50..595fb124 100644 --- a/public/translations/mr/default.json +++ b/public/translations/mr/default.json @@ -391,5 +391,6 @@ "modQueue.dismiss": "दुर्लक्ष करा", "board_address_unverified_warning": "हा बोर्ड पत्ता सत्यापित केलेला नाही. बोर्डचा मालक हा पत्ता मालक नसू शकतो.", "go_to_settings_to_import_mod_account": "तुमचे मॉड खाते आयात करण्यासाठी <1>सेटिंग्ज वर जा", - "post_form_rules_faq_prompt": "पोस्ट करण्यापूर्वी नियम आणि वारंवार विचारले जाणारे प्रश्न वाचा." + "post_form_rules_faq_prompt": "पोस्ट करण्यापूर्वी नियम आणि वारंवार विचारले जाणारे प्रश्न वाचा.", + "pending_mod_approval_reason": "AI मॉडरेशनने ही पोस्ट मॉड कतारमध्ये पाठवली. कारण: \"{{reason}}\"." } diff --git a/public/translations/nl/default.json b/public/translations/nl/default.json index dfde9fea..24462d5f 100644 --- a/public/translations/nl/default.json +++ b/public/translations/nl/default.json @@ -391,5 +391,6 @@ "modQueue.dismiss": "Negeren", "board_address_unverified_warning": "Dit boardadres is niet geverifieerd. De eigenaar van het board is mogelijk niet de eigenaar van dit adres.", "go_to_settings_to_import_mod_account": "Ga naar <1>instellingen om je mod-account te importeren", - "post_form_rules_faq_prompt": "Lees de Regels en de FAQ voordat je plaatst." + "post_form_rules_faq_prompt": "Lees de Regels en de FAQ voordat je plaatst.", + "pending_mod_approval_reason": "AI-moderatie heeft dit bericht naar de moderatiewachtrij gestuurd. Reden: \"{{reason}}\"." } diff --git a/public/translations/no/default.json b/public/translations/no/default.json index 8985aeda..ab7f9c90 100644 --- a/public/translations/no/default.json +++ b/public/translations/no/default.json @@ -391,5 +391,6 @@ "modQueue.dismiss": "Ignorer", "board_address_unverified_warning": "Denne board-adressen er ikke bekreftet. Board-eieren eier kanskje ikke denne adressen.", "go_to_settings_to_import_mod_account": "Gå til <1>innstillinger for å importere modkontoen din", - "post_form_rules_faq_prompt": "Vennligst les Reglene og FAQ før du poster." + "post_form_rules_faq_prompt": "Vennligst les Reglene og FAQ før du poster.", + "pending_mod_approval_reason": "AI-moderering sendte dette innlegget til moderatorkøen. Årsak: \"{{reason}}\"." } diff --git a/public/translations/pl/default.json b/public/translations/pl/default.json index 9f001369..d3bca265 100644 --- a/public/translations/pl/default.json +++ b/public/translations/pl/default.json @@ -391,5 +391,6 @@ "modQueue.dismiss": "Pomiń", "board_address_unverified_warning": "Ten adres boarda nie jest zweryfikowany. Właściciel boarda może nie być właścicielem tego adresu.", "go_to_settings_to_import_mod_account": "Przejdź do <1>ustawień, aby zaimportować swoje konto moderatora", - "post_form_rules_faq_prompt": "Przed opublikowaniem przeczytaj Zasady i FAQ." + "post_form_rules_faq_prompt": "Przed opublikowaniem przeczytaj Zasady i FAQ.", + "pending_mod_approval_reason": "Moderacja AI wysłała ten post do kolejki moderatorów. Powód: \"{{reason}}\"." } diff --git a/public/translations/pt/default.json b/public/translations/pt/default.json index 8602b918..b2116e8d 100644 --- a/public/translations/pt/default.json +++ b/public/translations/pt/default.json @@ -391,5 +391,6 @@ "modQueue.dismiss": "Ignorar", "board_address_unverified_warning": "Este endereço do board não foi verificado. O proprietário do board pode não ser dono deste endereço.", "go_to_settings_to_import_mod_account": "Vá para <1>configurações para importar sua conta de mod", - "post_form_rules_faq_prompt": "Leia as Regras e as FAQ antes de publicar." + "post_form_rules_faq_prompt": "Leia as Regras e as FAQ antes de publicar.", + "pending_mod_approval_reason": "A moderação por IA enviou esta postagem para a fila de moderação. Razão: \"{{reason}}\"." } diff --git a/public/translations/ro/default.json b/public/translations/ro/default.json index 48ea740e..420c8851 100644 --- a/public/translations/ro/default.json +++ b/public/translations/ro/default.json @@ -391,5 +391,6 @@ "modQueue.dismiss": "Ignoră", "board_address_unverified_warning": "Această adresă de board nu este verificată. Proprietarul boardului s-ar putea să nu dețină această adresă.", "go_to_settings_to_import_mod_account": "Accesează <1>setările pentru a importa contul tău de moderator", - "post_form_rules_faq_prompt": "Citește Regulile și Întrebările frecvente înainte de a publica." + "post_form_rules_faq_prompt": "Citește Regulile și Întrebările frecvente înainte de a publica.", + "pending_mod_approval_reason": "Moderarea AI a trimis această postare în coada moderatorilor. Motiv: \"{{reason}}\"." } diff --git a/public/translations/ru/default.json b/public/translations/ru/default.json index 5b963bf1..dbe9f655 100644 --- a/public/translations/ru/default.json +++ b/public/translations/ru/default.json @@ -391,5 +391,6 @@ "modQueue.dismiss": "Скрыть", "board_address_unverified_warning": "Этот адрес доски не проверен. Владелец доски может не владеть этим адресом.", "go_to_settings_to_import_mod_account": "Перейдите в <1>настройки, чтобы импортировать свой аккаунт модератора", - "post_form_rules_faq_prompt": "Пожалуйста, прочитайте Правила и FAQ перед публикацией." + "post_form_rules_faq_prompt": "Пожалуйста, прочитайте Правила и FAQ перед публикацией.", + "pending_mod_approval_reason": "ИИ-модерация отправила этот пост в очередь модераторов. Причина: \"{{reason}}\"." } diff --git a/public/translations/sq/default.json b/public/translations/sq/default.json index 86541c34..81a31be1 100644 --- a/public/translations/sq/default.json +++ b/public/translations/sq/default.json @@ -391,5 +391,6 @@ "modQueue.dismiss": "Shpërfill", "board_address_unverified_warning": "Kjo adresë e board-it nuk është verifikuar. Pronari i board-it mund të mos e zotërojë këtë adresë.", "go_to_settings_to_import_mod_account": "Shkoni te <1>parametrat për të importuar llogarinë tuaj të modit", - "post_form_rules_faq_prompt": "Ju lutemi lexoni Rregullat dhe Pyetjet e shpeshta para se të postoni." + "post_form_rules_faq_prompt": "Ju lutemi lexoni Rregullat dhe Pyetjet e shpeshta para se të postoni.", + "pending_mod_approval_reason": "Moderimi me AI e dërgoi këtë postim në radhën e moderatorëve. Arsye: \"{{reason}}\"." } diff --git a/public/translations/sv/default.json b/public/translations/sv/default.json index fa3a99e4..9034a439 100644 --- a/public/translations/sv/default.json +++ b/public/translations/sv/default.json @@ -391,5 +391,6 @@ "modQueue.dismiss": "Avfärda", "board_address_unverified_warning": "Den här board-adressen är inte verifierad. Boardets ägare kanske inte äger den här adressen.", "go_to_settings_to_import_mod_account": "Gå till <1>inställningar för att importera ditt modkonto", - "post_form_rules_faq_prompt": "Läs Reglerna och FAQ innan du postar." + "post_form_rules_faq_prompt": "Läs Reglerna och FAQ innan du postar.", + "pending_mod_approval_reason": "AI-moderering skickade det här inlägget till moderatorkön. Anledning: \"{{reason}}\"." } diff --git a/public/translations/te/default.json b/public/translations/te/default.json index d64a0cf4..34c54d64 100644 --- a/public/translations/te/default.json +++ b/public/translations/te/default.json @@ -391,5 +391,6 @@ "modQueue.dismiss": "విస్మరించు", "board_address_unverified_warning": "ఈ బోర్డ్ చిరునామా ధృవీకరించబడలేదు. బోర్డ్ యజమాని ఈ చిరునామాకు యజమాని కాకపోవచ్చు.", "go_to_settings_to_import_mod_account": "మీ మోడ్ ఖాతాను దిగుమతి చేయడానికి <1>అమరికలుకి వెళ్లండి", - "post_form_rules_faq_prompt": "పోస్ట్ చేయడానికి ముందు నియమాలు మరియు తరచుగా అడిగే ప్రశ్నలు చదవండి." + "post_form_rules_faq_prompt": "పోస్ట్ చేయడానికి ముందు నియమాలు మరియు తరచుగా అడిగే ప్రశ్నలు చదవండి.", + "pending_mod_approval_reason": "AI మోడరేషన్ ఈ పోస్ట్‌ను మోడరేటర్ క్యూకు పంపింది. కారణం: \"{{reason}}\"." } diff --git a/public/translations/th/default.json b/public/translations/th/default.json index dbfeda15..ce1c2dba 100644 --- a/public/translations/th/default.json +++ b/public/translations/th/default.json @@ -391,5 +391,6 @@ "modQueue.dismiss": "มองข้าม", "board_address_unverified_warning": "ที่อยู่บอร์ดนี้ยังไม่ได้รับการยืนยัน เจ้าของบอร์ดอาจไม่ได้เป็นเจ้าของที่อยู่นี้", "go_to_settings_to_import_mod_account": "ไปที่ <1>การตั้งค่า เพื่อนำเข้าบัญชีผู้ดูแลของคุณ", - "post_form_rules_faq_prompt": "โปรดอ่านกฎและคำถามที่พบบ่อยก่อนโพสต์" + "post_form_rules_faq_prompt": "โปรดอ่านกฎและคำถามที่พบบ่อยก่อนโพสต์", + "pending_mod_approval_reason": "การกลั่นกรองด้วย AI ส่งโพสต์นี้ไปยังคิวผู้ดูแล เหตุผล: \"{{reason}}\"." } diff --git a/public/translations/tr/default.json b/public/translations/tr/default.json index 7e63d5f3..7a8bab4f 100644 --- a/public/translations/tr/default.json +++ b/public/translations/tr/default.json @@ -391,5 +391,6 @@ "modQueue.dismiss": "Yoksay", "board_address_unverified_warning": "Bu board adresi doğrulanmamış. Board sahibi bu adresin sahibi olmayabilir.", "go_to_settings_to_import_mod_account": "Mod hesabınızı içe aktarmak için <1>ayarlara gidin", - "post_form_rules_faq_prompt": "Lütfen göndermeden önce Kuralları ve SSS'yi okuyun." + "post_form_rules_faq_prompt": "Lütfen göndermeden önce Kuralları ve SSS'yi okuyun.", + "pending_mod_approval_reason": "AI moderasyonu bu gönderiyi moderatör kuyruğuna gönderdi. Neden: \"{{reason}}\"." } diff --git a/public/translations/uk/default.json b/public/translations/uk/default.json index 6e0589a9..9585168d 100644 --- a/public/translations/uk/default.json +++ b/public/translations/uk/default.json @@ -391,5 +391,6 @@ "modQueue.dismiss": "Приховати", "board_address_unverified_warning": "Цю адресу дошки не перевірено. Власник дошки може не володіти цією адресою.", "go_to_settings_to_import_mod_account": "Перейдіть до <1>налаштувань, щоб імпортувати свій обліковий запис модератора", - "post_form_rules_faq_prompt": "Будь ласка, прочитайте Правила і Часті запитання перед публікацією." + "post_form_rules_faq_prompt": "Будь ласка, прочитайте Правила і Часті запитання перед публікацією.", + "pending_mod_approval_reason": "AI-модерація надіслала цей допис до черги модераторів. Причина: \"{{reason}}\"." } diff --git a/public/translations/ur/default.json b/public/translations/ur/default.json index 5c1c836f..2b21e380 100644 --- a/public/translations/ur/default.json +++ b/public/translations/ur/default.json @@ -391,5 +391,6 @@ "modQueue.dismiss": "نظر انداز کریں", "board_address_unverified_warning": "اس بورڈ کے پتے کی تصدیق نہیں ہوئی۔ ممکن ہے بورڈ کا مالک اس پتے کا مالک نہ ہو۔", "go_to_settings_to_import_mod_account": "اپنا موڈ اکاؤنٹ درآمد کرنے کے لیے <1>ترتیبات پر جائیں", - "post_form_rules_faq_prompt": "براہ کرم پوسٹ کرنے سے پہلے اصول اور اکثر پوچھے گئے سوالات پڑھیں۔" + "post_form_rules_faq_prompt": "براہ کرم پوسٹ کرنے سے پہلے اصول اور اکثر پوچھے گئے سوالات پڑھیں۔", + "pending_mod_approval_reason": "AI موڈریشن نے اس پوسٹ کو موڈریٹر قطار میں بھیج دیا۔ وجہ: \"{{reason}}\"." } diff --git a/public/translations/vi/default.json b/public/translations/vi/default.json index b2500a8d..da9f8a8a 100644 --- a/public/translations/vi/default.json +++ b/public/translations/vi/default.json @@ -391,5 +391,6 @@ "modQueue.dismiss": "Bỏ qua", "board_address_unverified_warning": "Địa chỉ bảng này chưa được xác minh. Chủ bảng có thể không sở hữu địa chỉ này.", "go_to_settings_to_import_mod_account": "Vào <1>cài đặt để nhập tài khoản mod của bạn", - "post_form_rules_faq_prompt": "Vui lòng đọc Quy tắcCâu hỏi thường gặp trước khi đăng." + "post_form_rules_faq_prompt": "Vui lòng đọc Quy tắcCâu hỏi thường gặp trước khi đăng.", + "pending_mod_approval_reason": "Kiểm duyệt AI đã gửi bài viết này vào hàng đợi kiểm duyệt. Lý do: \"{{reason}}\"." } diff --git a/public/translations/zh/default.json b/public/translations/zh/default.json index e65c1991..5bbfd152 100644 --- a/public/translations/zh/default.json +++ b/public/translations/zh/default.json @@ -391,5 +391,6 @@ "modQueue.dismiss": "忽略", "board_address_unverified_warning": "此版面地址尚未验证。版主可能并不拥有此地址。", "go_to_settings_to_import_mod_account": "前往<1>设置以导入您的版主账户", - "post_form_rules_faq_prompt": "发帖前请阅读规则常见问题。" + "post_form_rules_faq_prompt": "发帖前请阅读规则常见问题。", + "pending_mod_approval_reason": "AI 审核已将此帖子发送到版主队列。原因:\"{{reason}}\"。" } diff --git a/src/components/comment-content/__tests__/comment-content.test.tsx b/src/components/comment-content/__tests__/comment-content.test.tsx index a9bf58cd..a3438776 100644 --- a/src/components/comment-content/__tests__/comment-content.test.tsx +++ b/src/components/comment-content/__tests__/comment-content.test.tsx @@ -69,6 +69,9 @@ vi.mock('react-i18next', () => ({ if (key === 'reason_reason') { return `reason:${options?.reason}`; } + if (key === 'pending_mod_approval_reason') { + return `pending-reason:${options?.reason}`; + } if (key === 'ban_expires_at') { return `ban:${options?.address}:${options?.timestamp}`; } @@ -473,6 +476,7 @@ describe('CommentContent', () => { }); expect(container.textContent).toContain('pending_mod_approval'); + expect(container.textContent).toContain('pending-reason:rules violation'); const tooltip = container.querySelector('[data-testid="tooltip"]'); expect(tooltip?.getAttribute('title')).toContain('ban:short:music-posting.eth:2024-01-01 12:00:00'); diff --git a/src/components/comment-content/comment-content.tsx b/src/components/comment-content/comment-content.tsx index 16b73fb3..a8e56f69 100644 --- a/src/components/comment-content/comment-content.tsx +++ b/src/components/comment-content/comment-content.tsx @@ -156,6 +156,7 @@ const CommentContent = ({ const failedError = getFailedCommentError(resolvedPost); const failedErrorMessage = formatErrorMessageForDisplay(failedError); const shouldShowUnpublishedStateDetails = !cid && (!hasFailedState || Boolean(failedError)); + const pendingApprovalReason = pendingApproval ? reason?.trim() : undefined; const loadingString = (
@@ -219,6 +220,18 @@ const CommentContent = ({

({t('pending_mod_approval')}) + {pendingApprovalReason && ( + <> +
+
+ + {t('pending_mod_approval_reason', { + reason: pendingApprovalReason, + interpolation: { escapeValue: false }, + })} + + + )} )} {((!isInPostView && content?.length > 1000 && !showFullComment) || (isInPostView && content?.length > 2000 && !showFullComment)) && (