From ab195bcee11f2f940a1b8af5848b317493ab7785 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Thu, 29 Feb 2024 04:27:18 +0000 Subject: [PATCH 01/16] New Crowdin translations --- .../flavours/glitch/locales/ar.json | 24 +++---- .../flavours/glitch/locales/cs.json | 15 ---- .../flavours/glitch/locales/cy.json | 13 ---- .../flavours/glitch/locales/da.json | 4 -- .../flavours/glitch/locales/de.json | 31 ++++---- .../flavours/glitch/locales/eo.json | 15 ---- .../flavours/glitch/locales/es-AR.json | 31 ++++---- .../flavours/glitch/locales/es-MX.json | 17 ----- .../flavours/glitch/locales/es.json | 17 ----- .../flavours/glitch/locales/fa.json | 9 +-- .../flavours/glitch/locales/fr-CA.json | 19 +---- .../flavours/glitch/locales/fr.json | 19 +---- .../flavours/glitch/locales/hi.json | 3 - .../flavours/glitch/locales/id.json | 72 ++++++++++++++----- .../flavours/glitch/locales/ja.json | 17 ----- .../flavours/glitch/locales/ko.json | 26 +++---- .../flavours/glitch/locales/nl.json | 13 ---- .../flavours/glitch/locales/pl.json | 17 ----- .../flavours/glitch/locales/pt-BR.json | 17 ----- .../flavours/glitch/locales/pt-PT.json | 8 --- .../flavours/glitch/locales/sv.json | 15 ---- .../flavours/glitch/locales/tr.json | 15 ---- .../flavours/glitch/locales/uk.json | 17 ----- .../flavours/glitch/locales/zh-CN.json | 37 +++++----- .../flavours/glitch/locales/zh-TW.json | 28 +++----- config/locales-glitch/fr-CA.yml | 43 ++++++++++- config/locales-glitch/no.yml | 2 +- config/locales-glitch/simple_form.fr-CA.yml | 27 ++++++- config/locales-glitch/simple_form.no.yml | 2 +- config/locales-glitch/zh-CN.yml | 4 +- 30 files changed, 205 insertions(+), 372 deletions(-) diff --git a/app/javascript/flavours/glitch/locales/ar.json b/app/javascript/flavours/glitch/locales/ar.json index a259146328..ae94e216a8 100644 --- a/app/javascript/flavours/glitch/locales/ar.json +++ b/app/javascript/flavours/glitch/locales/ar.json @@ -2,16 +2,8 @@ "about.fork_disclaimer": "جلتش-سوك هو برنامج حر مفتوح المصدر متفرع عن ماستدون.", "account.disclaimer_full": "قد لا تعكِس المعلومات أدناه كامل الملف الشخصي للمستخدِم.", "account.follows": "يتابِع", - "account.joined": "إنضم بتاريخ {date}", "account.suspended_disclaimer_full": "تم تعليق هذا المستخدم من قبل المشرف.", "account.view_full_profile": "عرض الملف الشخصي كاملاً", - "advanced_options.icon_title": "خيارات متقدمة", - "advanced_options.local-only.long": "لا تنشر في خوادم أخرى", - "advanced_options.local-only.short": "المحلي فقط", - "advanced_options.local-only.tooltip": "هذا المنشور محلي فقط", - "advanced_options.threaded_mode.long": "تلقائياً يفتح رداً عند النشر", - "advanced_options.threaded_mode.short": "وضعُ النقاش الخيطي", - "advanced_options.threaded_mode.tooltip": "تم تمكين وضع النقاش الخيطي", "boost_modal.missing_description": "هذا المنشور يحتوي على وسائط بلا وصف", "column.favourited_by": "المفضلة من قبل", "column.heading": "متنوعة", @@ -21,15 +13,14 @@ "column_subheading.lists": "القوائم", "column_subheading.navigation": "التنقل", "community.column_settings.allow_local_only": "إظهار المنشورات المحلية فقط", - "compose.attach": "أرفق...", - "compose.attach.doodle": "ارسم شيئاً", - "compose.attach.upload": "رفع ملف", + "compose.change_federation": "تغيير اعدادات الفيديرالية", + "compose.content-type.change": "تغيير خيارات التنسيق المتقدمة", "compose.content-type.html": "HTML", + "compose.content-type.html_meta": "تنسيق منشوراتك باستخدام HTML", "compose.content-type.markdown": "ماركداون", + "compose.content-type.markdown_meta": "تنسيق منشوراتك باستخدام مارك داون", "compose.content-type.plain": "نص عادي", - "compose_form.poll.multiple_choices": "السماح بخيارات متعددة", - "compose_form.poll.single_choice": "السماح بخيار واحد", - "compose_form.spoiler": "إخفاء النص خلف تحذير", + "compose.content-type.plain_meta": "كتابة بدون تنسيق متقدم", "confirmation_modal.do_not_ask_again": "لا تطلب التأكيد مرة أخرى", "confirmations.deprecated_settings.confirm": "استخدام تفضيلات ماستدون", "confirmations.deprecated_settings.message": "تم استبدال بعض من الجهاز الخاص بالماستدون {preferences} الذي تستخدمه {app_settings} الخاص بجهاز ماستدون سيتم تجاوزه:", @@ -39,17 +30,18 @@ "confirmations.unfilter.confirm": "عرض", "confirmations.unfilter.edit_filter": "تعديل عامل التصفية", "confirmations.unfilter.filters": "مطابقة {count, plural, zero {}one {فلتر} two {فلاتر} few {فلاتر} many {فلاتر} other {فلاتر}}", - "content-type.change": "نوع المحتوى", "direct.group_by_conversations": "تجميع حسب المحادثة", "endorsed_accounts_editor.endorsed_accounts": "الحسابات المميزة", "favourite_modal.combo": "يُمكنك الضّغط على {combo} لتخطي هذا في المرة المُقبلة", + "federation.federated.long": "السماح لهذا المنشور الوصول إلى خوادم أخرى", + "federation.local_only.long": "منع هذا المنشور من الوصول إلى الخوادم الأخرى", + "federation.local_only.short": "محلي فقط", "home.column_settings.advanced": "متقدم", "home.column_settings.filter_regex": "إزالة باستخدام التعبيرات النمطية", "home.settings": "إعدادات العمود", "keyboard_shortcuts.bookmark": "لإضافة علامة", "keyboard_shortcuts.secondary_toot": "لإرسال التبويق باستخدام إعدادات الخصوصية الثانوية", "keyboard_shortcuts.toggle_collapse": "لطي/فتح التبويقات", - "media_gallery.sensitive": "حساس", "moved_to_warning": "عُلِّم هذا الحساب بأنه انتقل إلى {moved_to_link}، لذا قد لا يقبل متابعات جديدة.", "navigation_bar.app_settings": "إعدادات التطبيق", "navigation_bar.featured_users": "مستخدمون مميزون", diff --git a/app/javascript/flavours/glitch/locales/cs.json b/app/javascript/flavours/glitch/locales/cs.json index 29c8777ede..969e74b3e3 100644 --- a/app/javascript/flavours/glitch/locales/cs.json +++ b/app/javascript/flavours/glitch/locales/cs.json @@ -1,23 +1,9 @@ { "about.fork_disclaimer": "Glitch-soc je svobodný software s otevřeným zdrojovým kódem založený na Mastodonu.", - "advanced_options.icon_title": "Pokročilá nastavení", - "advanced_options.local-only.long": "Neposílat na jiné servery", - "advanced_options.local-only.short": "Lokální příspěvek", - "advanced_options.local-only.tooltip": "Tento příspěvek je pouze lokální", - "advanced_options.threaded_mode.long": "Po odeslání automaticky otevře pole pro odpověď", - "advanced_options.threaded_mode.short": "Režim vlákna", - "advanced_options.threaded_mode.tooltip": "Režim vlákna je zapnutý", "boost_modal.missing_description": "Příspěvek obsahuje obrázky bez popisků", "column.subheading": "Různé", - "compose.attach": "Připojit...", - "compose.attach.doodle": "Něco namalovat", - "compose.attach.upload": "Nahrát soubor", "compose.content-type.plain": "Prostý text", - "compose_form.poll.multiple_choices": "Povolit více odpovědí", - "compose_form.poll.single_choice": "Povolit jednu odpověď", - "compose_form.spoiler": "Přidat varování o obsahu", "confirmation_modal.do_not_ask_again": "Příště se už neptat", - "content-type.change": "Formát příspěvku", "direct.group_by_conversations": "Seskupit do konverzací", "endorsed_accounts_editor.endorsed_accounts": "Vybrané účty", "favourite_modal.combo": "Příště můžete pro přeskočení stisknout {combo}", @@ -27,7 +13,6 @@ "keyboard_shortcuts.bookmark": "Přidat do záložek", "keyboard_shortcuts.secondary_toot": "Odeslat příspěvek s druhotným nastavením soukromí", "keyboard_shortcuts.toggle_collapse": "Sbalit/rozbalit příspěvek", - "media_gallery.sensitive": "Citlivý obsah", "navigation_bar.app_settings": "Nastavení aplikace", "navigation_bar.featured_users": "Vybraní uživatelé", "navigation_bar.keyboard_shortcuts": "Klávesové zkratky", diff --git a/app/javascript/flavours/glitch/locales/cy.json b/app/javascript/flavours/glitch/locales/cy.json index 93b38d1627..7b22e67411 100644 --- a/app/javascript/flavours/glitch/locales/cy.json +++ b/app/javascript/flavours/glitch/locales/cy.json @@ -2,14 +2,8 @@ "about.fork_disclaimer": "Mae Glitch-Soc yn feddalwedd di-dal a ffynhonnell agored wedi'i fforchio o Mastodon.", "account.disclaimer_full": "Mae'n bosib nad yw'r gwybodaeth isod yn rhoi darlun cyfan o broffil y defnyddiwr.", "account.follows": "Yn dilyn", - "account.joined": "Ymunodd ar {date}", "account.suspended_disclaimer_full": "Mae'r defnyddiwr yma wedi'i atal gan gymedrolwr.", "account.view_full_profile": "Dangos proffil cyfan", - "advanced_options.icon_title": "Dewisiadau uwch", - "advanced_options.local-only.short": "Lleol yn unig", - "advanced_options.local-only.tooltip": "Mae'r post yma'n lleol yn unig", - "advanced_options.threaded_mode.short": "Modd edafau", - "advanced_options.threaded_mode.tooltip": "Modd edafau wedi'i alluogi", "boost_modal.missing_description": "Mae'r tŵt yma'n cynnwys ychydig gyfryngau heb ddisgrifiad", "column.favourited_by": "Wedi'i hoffi gan", "column.heading": "Misg", @@ -19,21 +13,14 @@ "column_subheading.lists": "Rhestri", "column_subheading.navigation": "Llywio", "community.column_settings.allow_local_only": "Dangos tŵtiau lleol yn unig", - "compose.attach": "Atodi...", - "compose.attach.doodle": "Darlinio rhywbeth", - "compose.attach.upload": "Uwchlwythio ffeil", "compose.content-type.html": "HTML", "compose.content-type.markdown": "Markdown", "compose.content-type.plain": "Testun plaen", - "compose_form.poll.multiple_choices": "Caniatau sawl dewis", - "compose_form.poll.single_choice": "Caniatau un dewis", - "compose_form.spoiler": "Cuddio testun tu ôl rhybydd", "confirmations.missing_media_description.confirm": "Anfon beth bynnag", "confirmations.missing_media_description.edit": "Golygu cyfryngau", "confirmations.unfilter.author": "Awdur", "confirmations.unfilter.confirm": "Dangos", "confirmations.unfilter.edit_filter": "Golygi hidlydd", - "content-type.change": "Math cynnwys", "settings.content_warnings": "Content warnings", "settings.preferences": "Preferences" } diff --git a/app/javascript/flavours/glitch/locales/da.json b/app/javascript/flavours/glitch/locales/da.json index 84941d2797..69dfe0bf5f 100644 --- a/app/javascript/flavours/glitch/locales/da.json +++ b/app/javascript/flavours/glitch/locales/da.json @@ -1,8 +1,4 @@ { - "compose.attach": "Vedhæft...", - "compose.attach.doodle": "Tegn noget", - "compose.attach.upload": "Upload en fil", - "compose_form.poll.multiple_choices": "Tillad flere valg", "confirmations.missing_media_description.message": "Mindst én vedhæftet medie mangler en beskrivelse. Overvej at tilføje en beskrivelse af alle vedhæftede medier af hensyn til personer med nedsat syn, før du publicerer dit indlæg.", "home.column_settings.advanced": "Avanceret", "home.column_settings.show_direct": "Vis private omtaler", diff --git a/app/javascript/flavours/glitch/locales/de.json b/app/javascript/flavours/glitch/locales/de.json index 96650a5efa..11b04a919e 100644 --- a/app/javascript/flavours/glitch/locales/de.json +++ b/app/javascript/flavours/glitch/locales/de.json @@ -3,16 +3,8 @@ "account.disclaimer_full": "Die folgenden Informationen könnten das Profil des Nutzers unvollständig wiedergeben.", "account.follows": "Folgt", "account.follows_you": "Folgt dir", - "account.joined": "Beigetreten am {date}", "account.suspended_disclaimer_full": "Dieser Nutzer wurde durch einen Moderator gesperrt.", "account.view_full_profile": "Vollständiges Profil anzeigen", - "advanced_options.icon_title": "Erweiterte Optionen", - "advanced_options.local-only.long": "Nicht auf anderen Instanzen posten", - "advanced_options.local-only.short": "Nur lokal", - "advanced_options.local-only.tooltip": "Dieser Post ist nur lokal", - "advanced_options.threaded_mode.long": "Öffnet automatisch eine Antwort beim Schreiben", - "advanced_options.threaded_mode.short": "Thread-Modus", - "advanced_options.threaded_mode.tooltip": "Thread-Modus aktiviert", "boost_modal.missing_description": "Dieser Toot enthält Medien ohne Beschreibung", "column.favourited_by": "Favorisiert von", "column.heading": "Sonstiges", @@ -22,15 +14,17 @@ "column_subheading.lists": "Listen", "column_subheading.navigation": "Navigation", "community.column_settings.allow_local_only": "Nur-lokale Toots anzeigen", - "compose.attach": "Anhängen...", - "compose.attach.doodle": "Etwas zeichnen", - "compose.attach.upload": "Eine Datei hochladen", + "compose.change_federation": "Föderationseinstellungen ändern", + "compose.content-type.change": "Erweiterte Formatierungsoptionen ändern", "compose.content-type.html": "HTML", + "compose.content-type.html_meta": "Deine Beiträge mit HTML formatieren", "compose.content-type.markdown": "Markdown", + "compose.content-type.markdown_meta": "Deine Beiträge mit Markdown formatieren", "compose.content-type.plain": "Unformatierter Text", - "compose_form.poll.multiple_choices": "Mehrfachauswahl erlauben", - "compose_form.poll.single_choice": "Eine Auswahl erlauben", - "compose_form.spoiler": "Text hinter Warnung verbergen", + "compose.content-type.plain_meta": "Ohne erweiterte Formatierung verfassen", + "compose_form.sensitive.hide": "{count, plural, one {Mit einer Inhaltswarnung versehen} other {Mit einer Inhaltswarnung versehen}}", + "compose_form.sensitive.marked": "{count, plural, one {Medien-Datei ist mit einer Inhaltswarnung versehen} other {Medien-Dateien sind mit einer Inhaltswarnung versehen}}", + "compose_form.sensitive.unmarked": "{count, plural, one {Medien-Datei ist nicht mit einer Inhaltswarnung versehen} other {Medien-Dateien sind nicht mit einer Inhaltswarnung versehen}}", "confirmation_modal.do_not_ask_again": "Nicht erneut nach Bestätigung fragen", "confirmations.deprecated_settings.confirm": "Mastodon-Einstellungen verwenden", "confirmations.deprecated_settings.message": "Einige der von dir verwendeten, glitch-soc-spezifischen {app_settings} wurden durch Mastodon {preferences} ersetzt und werden überschrieben:", @@ -41,19 +35,21 @@ "confirmations.unfilter.confirm": "Anzeigen", "confirmations.unfilter.edit_filter": "Filter bearbeiten", "confirmations.unfilter.filters": "Passende{count, plural, one {r} other {}} Filter", - "content-type.change": "Inhaltstyp", "direct.group_by_conversations": "Nach Unterhaltung gruppieren", "endorsed_accounts_editor.endorsed_accounts": "Empfohlene Konten", "favourite_modal.combo": "Mit {combo} wird dieses Fenster beim nächsten Mal nicht mehr angezeigt", + "federation.federated.long": "Erlaube diesem Beitrag, andere Server zu erreichen", + "federation.federated.short": "Föderiert", + "federation.local_only.long": "Verhindere, dass dieser Post andere Server erreicht", + "federation.local_only.short": "Nur lokal", "firehose.column_settings.allow_local_only": "Zeige \"nur Lokal\"-Beiträge in \"Alle\"", "home.column_settings.advanced": "Erweitert", "home.column_settings.filter_regex": "Mit regulären Ausdrücken herausfiltern", - "home.column_settings.show_direct": "Direktnachrichten anzeigen", + "home.column_settings.show_direct": "Private Erwähnungen anzeigen", "home.settings": "Spalteneinstellungen", "keyboard_shortcuts.bookmark": "zu Lesezeichen hinzufügen", "keyboard_shortcuts.secondary_toot": "Toot mit sekundärer Privatsphäreeinstellung absenden", "keyboard_shortcuts.toggle_collapse": "Toots ein-/ausklappen", - "media_gallery.sensitive": "Empfindlich", "moved_to_warning": "Dieses Konto ist als verschoben zu {moved_to_link} markiert und akzeptiert daher keine neuen Follower.", "navigation_bar.app_settings": "App-Einstellungen", "navigation_bar.featured_users": "Empfohlene Nutzer", @@ -154,6 +150,5 @@ "status.in_reply_to": "Dieser Toot ist eine Antwort", "status.is_poll": "Dieser Toot ist eine Umfrage", "status.local_only": "Nur auf deiner Instanz sichtbar", - "status.sensitive_toggle": "Zum Anzeigen klicken", "status.uncollapse": "Ausklappen" } diff --git a/app/javascript/flavours/glitch/locales/eo.json b/app/javascript/flavours/glitch/locales/eo.json index 7e906d4ede..d36df71202 100644 --- a/app/javascript/flavours/glitch/locales/eo.json +++ b/app/javascript/flavours/glitch/locales/eo.json @@ -2,16 +2,8 @@ "about.fork_disclaimer": "Glitch-soc estas libera malfermitkoda programo forkigita el Mastodon.", "account.disclaimer_full": "Subaj informoj povas nekomplete prezenti la profilon de la uzanto.", "account.follows": "Sekvatoj", - "account.joined": "Kuniĝis {date}", "account.suspended_disclaimer_full": "Ĉi tiu uzanto estis suspendita de moderiganto.", "account.view_full_profile": "Vidi plenan profilon", - "advanced_options.icon_title": "Pliaj opcioj", - "advanced_options.local-only.long": "Ne afiŝi al aliaj instancoj", - "advanced_options.local-only.short": "Nur loka", - "advanced_options.local-only.tooltip": "Ĉi tiu afiŝo estas nur-loka", - "advanced_options.threaded_mode.long": "Aŭtomate komencas respondon post afiŝado", - "advanced_options.threaded_mode.short": "Fadena reĝimo", - "advanced_options.threaded_mode.tooltip": "Fadena reĝimo ŝaltita", "boost_modal.missing_description": "Ĉi tiu afiŝo enhavas plurmedion, ke ne havas priskribon", "column.favourited_by": "Stelumita per", "column.heading": "Diversaj aferoj", @@ -21,15 +13,9 @@ "column_subheading.lists": "Listoj", "column_subheading.navigation": "Navigado", "community.column_settings.allow_local_only": "Montri nur-lokajn afiŝojn", - "compose.attach": "Aldoni…", - "compose.attach.doodle": "Desegni ion", - "compose.attach.upload": "Alŝuti dosieron", "compose.content-type.html": "HTML", "compose.content-type.markdown": "Markdown", "compose.content-type.plain": "Plata teksto", - "compose_form.poll.multiple_choices": "Permesi multajn elekteblojn", - "compose_form.poll.single_choice": "Permesi unu elekteblon", - "compose_form.spoiler": "Kaŝi tekston malantaŭ averto", "confirmation_modal.do_not_ask_again": "Ne peti por konfirmo plue", "confirmations.deprecated_settings.confirm": "Uzi la agordojn de Mastodon", "confirmations.deprecated_settings.message": "{preferences} de Mastodon anstataŭigis iom da ilo-nivela {app_settings} de glitch-soc, kaj superos ĝin:", @@ -40,7 +26,6 @@ "confirmations.unfilter.confirm": "Montri", "confirmations.unfilter.edit_filter": "Redakti filtrilon", "confirmations.unfilter.filters": "{count, plural, one {# filtrilo} other {# filtriloj}} kongruas", - "content-type.change": "Tipo de enhavo", "home.column_settings.filter_regex": "Filtri per regulaj esprimoj", "navigation_bar.keyboard_shortcuts": "Fulmoklavoj", "notification_purge.btn_all": "Selekti ĉiujn", diff --git a/app/javascript/flavours/glitch/locales/es-AR.json b/app/javascript/flavours/glitch/locales/es-AR.json index 48ae0f0683..197ad87138 100644 --- a/app/javascript/flavours/glitch/locales/es-AR.json +++ b/app/javascript/flavours/glitch/locales/es-AR.json @@ -3,16 +3,8 @@ "account.disclaimer_full": "La información aquí presentada puede reflejar de manera incompleta el perfil del usuario.", "account.follows": "Sigue", "account.follows_you": "Te sigue", - "account.joined": "Unido el {date}", "account.suspended_disclaimer_full": "Este usuario ha sido suspendido por un moderador.", "account.view_full_profile": "Ver perfil completo", - "advanced_options.icon_title": "Opciones avanzadas", - "advanced_options.local-only.long": "No publicar a otras instancias", - "advanced_options.local-only.short": "Local", - "advanced_options.local-only.tooltip": "Este toot es local", - "advanced_options.threaded_mode.long": "Al publicar abre automáticamente una respuesta", - "advanced_options.threaded_mode.short": "Modo hilo", - "advanced_options.threaded_mode.tooltip": "Modo hilo habilitado", "boost_modal.missing_description": "Esta publicación contiene medios sin descripción", "column.favourited_by": "Marcado como favorito por", "column.heading": "Misc", @@ -22,15 +14,19 @@ "column_subheading.lists": "Listas", "column_subheading.navigation": "Navegación", "community.column_settings.allow_local_only": "Mostrar sólo toots locales", - "compose.attach": "Adjuntar...", - "compose.attach.doodle": "Dibujar algo", - "compose.attach.upload": "Subir un archivo", + "compose.change_federation": "Cambiar configuración de la federación", + "compose.content-type.change": "Cambiar opciones avanzadas de formato", "compose.content-type.html": "HTML", + "compose.content-type.html_meta": "Formatear tus mensajes con HTML", "compose.content-type.markdown": "Markdown", + "compose.content-type.markdown_meta": "Formatear tus mensajes con Markdown", "compose.content-type.plain": "Texto plano", - "compose_form.poll.multiple_choices": "Permitir múltiples opciones", - "compose_form.poll.single_choice": "Permitir sólo una opción", - "compose_form.spoiler": "Esconder el texto detrás de la advertencia", + "compose.content-type.plain_meta": "Escribir sin formato avanzado", + "compose.disable_threaded_mode": "Deshabilitar Modo Hilo", + "compose.enable_threaded_mode": "Habilitar Modo Hilo", + "compose_form.sensitive.hide": "{count, plural, one {Marca medios como sensible} other {Marca los medios como sensibles}}", + "compose_form.sensitive.marked": "{count, plural, one {El medio está marcado como sensible} other {Los medios están marcados como sensibles}}", + "compose_form.sensitive.unmarked": "{count, plural, one {El medio no está marcado como sensible} other {Los medios no están marcados como sensibles}}", "confirmation_modal.do_not_ask_again": "No preguntar por la confirmación de nuevo", "confirmations.deprecated_settings.confirm": "Usar las preferencias de Mastodon", "confirmations.deprecated_settings.message": "Algunas de las {app_settings} de glitch-soc, específicas para el dispositivo que estás usando han sido reemplazadas en las {preferences} de Mastodon y serán sobreescritas:", @@ -41,10 +37,13 @@ "confirmations.unfilter.confirm": "Mostrar", "confirmations.unfilter.edit_filter": "Editar filtro", "confirmations.unfilter.filters": "Coincidencia con {count, plural, one {filtro} other {filtros}}", - "content-type.change": "Tipo de contenido", "direct.group_by_conversations": "Agrupar por conversación", "endorsed_accounts_editor.endorsed_accounts": "Cuentas destacadas", "favourite_modal.combo": "Puedes presionar {combo} para omitir esto la próxima vez", + "federation.federated.long": "Permitir que este mensaje llegue a otros servidores", + "federation.federated.short": "Federado", + "federation.local_only.long": "Evitar que este mensaje llegue a otros servidores", + "federation.local_only.short": "Solo local", "firehose.column_settings.allow_local_only": "Mostrar sólo mensajes locales en \"Todos\"", "home.column_settings.advanced": "Avanzado", "home.column_settings.filter_regex": "Filtrar por expresiones regulares", @@ -53,7 +52,6 @@ "keyboard_shortcuts.bookmark": "a marcadores", "keyboard_shortcuts.secondary_toot": "para enviar un toot usando lac onfiguración de privacidad secundaria", "keyboard_shortcuts.toggle_collapse": "para colapsar/descolapsar toots", - "media_gallery.sensitive": "Sensible", "moved_to_warning": "Esta cuenta está marcada como movida a {moved_to_link}, y por lo tanto no aceptará nuevos seguimientos.", "navigation_bar.app_settings": "Ajustes de aplicación", "navigation_bar.featured_users": "Usuarios destacados", @@ -154,7 +152,6 @@ "status.in_reply_to": "Esta publicación es una respuesta", "status.is_poll": "Esta publicación es una encuesta", "status.local_only": "Sólo visible para tu instancia", - "status.sensitive_toggle": "Haga clic para ver", "status.uncollapse": "Descolapsar", "suggestions.dismiss": "Descartar sugerencia" } diff --git a/app/javascript/flavours/glitch/locales/es-MX.json b/app/javascript/flavours/glitch/locales/es-MX.json index bb0a5ab74f..d6d2633d35 100644 --- a/app/javascript/flavours/glitch/locales/es-MX.json +++ b/app/javascript/flavours/glitch/locales/es-MX.json @@ -3,16 +3,8 @@ "account.disclaimer_full": "La información aquí presentada puede reflejar de manera incompleta el perfil del usuario.", "account.follows": "Seguir", "account.follows_you": "Te sigue", - "account.joined": "Unido {date}", "account.suspended_disclaimer_full": "Este usuario ha sido suspendido por un moderador.", "account.view_full_profile": "Ver perfil completo", - "advanced_options.icon_title": "Opciones avanzadas", - "advanced_options.local-only.long": "No publicar a otras instancias", - "advanced_options.local-only.short": "Local", - "advanced_options.local-only.tooltip": "Este toot es local", - "advanced_options.threaded_mode.long": "Al publicar abre automáticamente una respuesta", - "advanced_options.threaded_mode.short": "Modo hilo", - "advanced_options.threaded_mode.tooltip": "Modo hilo habilitado", "boost_modal.missing_description": "Esta publicación contiene medios sin descripción", "column.favourited_by": "Marcado como favorito por", "column.heading": "Misc", @@ -22,15 +14,9 @@ "column_subheading.lists": "Listas", "column_subheading.navigation": "Navegación", "community.column_settings.allow_local_only": "Mostrar sólo toots locales", - "compose.attach": "Adjuntar...", - "compose.attach.doodle": "Dibujar algo", - "compose.attach.upload": "Subir un archivo", "compose.content-type.html": "HTML", "compose.content-type.markdown": "Markdown", "compose.content-type.plain": "Texto plano", - "compose_form.poll.multiple_choices": "Permitir múltiples opciones", - "compose_form.poll.single_choice": "Permitir sólo una opción", - "compose_form.spoiler": "Esconder el texto detrás de la advertencia", "confirmation_modal.do_not_ask_again": "No preguntar por la confirmación de nuevo", "confirmations.deprecated_settings.confirm": "Usar las preferencias de Mastodon", "confirmations.deprecated_settings.message": "Algunas de las {app_settings} de glitch-soc, específicas para el dispositivo que estás usando han sido reemplazadas en las {preferences} de Mastodon y serán sobreescritas:", @@ -41,7 +27,6 @@ "confirmations.unfilter.confirm": "Mostrar", "confirmations.unfilter.edit_filter": "Editar filtro", "confirmations.unfilter.filters": "Coincidencia con {count, plural, one {filtro} other {filtros}}", - "content-type.change": "Tipo de contenido", "direct.group_by_conversations": "Agrupar por conversación", "endorsed_accounts_editor.endorsed_accounts": "Cuentas destacadas", "favourite_modal.combo": "Puedes presionar {combo} para omitir esto la próxima vez", @@ -53,7 +38,6 @@ "keyboard_shortcuts.bookmark": "a marcadores", "keyboard_shortcuts.secondary_toot": "para enviar un toot usando lac onfiguración de privacidad secundaria", "keyboard_shortcuts.toggle_collapse": "para colapsar/descolapsar toots", - "media_gallery.sensitive": "Sensible", "moved_to_warning": "Esta cuenta está marcada como movida a {moved_to_link}, y por lo tanto no aceptará nuevos seguimientos.", "navigation_bar.app_settings": "Ajustes de aplicación", "navigation_bar.featured_users": "Usuarios destacados", @@ -154,6 +138,5 @@ "status.in_reply_to": "Esta publicación es una respuesta", "status.is_poll": "Esta publicación es una encuesta", "status.local_only": "Sólo visible para tu instancia", - "status.sensitive_toggle": "Haga clic para ver", "status.uncollapse": "Descolapsar" } diff --git a/app/javascript/flavours/glitch/locales/es.json b/app/javascript/flavours/glitch/locales/es.json index 35f0fa8deb..d6ebd95231 100644 --- a/app/javascript/flavours/glitch/locales/es.json +++ b/app/javascript/flavours/glitch/locales/es.json @@ -3,16 +3,8 @@ "account.disclaimer_full": "La información que figura a continuación puede reflejar el perfil de la cuenta de forma incompleta.", "account.follows": "Sigue", "account.follows_you": "Te sigue", - "account.joined": "Se unió el {date}", "account.suspended_disclaimer_full": "Este usuario ha sido suspendido por un moderador.", "account.view_full_profile": "Ver perfil completo", - "advanced_options.icon_title": "Opciones avanzadas", - "advanced_options.local-only.long": "No publicar a otras instancias", - "advanced_options.local-only.short": "Sólo local", - "advanced_options.local-only.tooltip": "Esta publicación es sólo local", - "advanced_options.threaded_mode.long": "Abre automáticamente una respuesta al publicar", - "advanced_options.threaded_mode.short": "Modo hilo", - "advanced_options.threaded_mode.tooltip": "Modo hilo habilitado", "boost_modal.missing_description": "Esta publicación contiene medios sin descripción", "column.favourited_by": "Marcado como favorito por", "column.heading": "Misc", @@ -22,15 +14,9 @@ "column_subheading.lists": "Listas", "column_subheading.navigation": "Navegación", "community.column_settings.allow_local_only": "Mostrar toots solo-locales", - "compose.attach": "Adjuntar...", - "compose.attach.doodle": "Dibujar algo", - "compose.attach.upload": "Subir un archivo", "compose.content-type.html": "HTML", "compose.content-type.markdown": "Markdown", "compose.content-type.plain": "Texto plano", - "compose_form.poll.multiple_choices": "Permitir múltiples opciones", - "compose_form.poll.single_choice": "Permitir sólo una opción", - "compose_form.spoiler": "Esconder el texto detrás de la advertencia", "confirmation_modal.do_not_ask_again": "No preguntar por la confirmación de nuevo", "confirmations.deprecated_settings.confirm": "Usar las preferencias de Mastodon", "confirmations.deprecated_settings.message": "Algunas de las {app_settings} de glitch-soc, específicas para el dispositivo que estás usando han sido reemplazadas en las {preferences} de Mastodon y serán sobreescritas:", @@ -41,7 +27,6 @@ "confirmations.unfilter.confirm": "Mostrar", "confirmations.unfilter.edit_filter": "Editar filtro", "confirmations.unfilter.filters": "Coincidiendo {count, plural, one {filtro} other {filtros}}", - "content-type.change": "Tipo de contenido", "direct.group_by_conversations": "Agrupar por conversación", "endorsed_accounts_editor.endorsed_accounts": "Cuentas destacadas", "favourite_modal.combo": "Puedes presionar {combo} para omitir esto la próxima vez", @@ -53,7 +38,6 @@ "keyboard_shortcuts.bookmark": "a marcadores", "keyboard_shortcuts.secondary_toot": "para enviar un toot usando lac onfiguración de privacidad secundaria", "keyboard_shortcuts.toggle_collapse": "para colapsar/descolapsar toots", - "media_gallery.sensitive": "Sensible", "moved_to_warning": "Esta cuenta está marcada como movida a {moved_to_link}, y por lo tanto no aceptará nuevos seguimientos.", "navigation_bar.app_settings": "Ajustes de la aplicación", "navigation_bar.featured_users": "Usuarios destacados", @@ -154,6 +138,5 @@ "status.in_reply_to": "Esta publicación es una respuesta", "status.is_poll": "Esta publicación es una encuesta", "status.local_only": "Sólo visible para tu instancia", - "status.sensitive_toggle": "Haga clic para ver", "status.uncollapse": "Descolapsar" } diff --git a/app/javascript/flavours/glitch/locales/fa.json b/app/javascript/flavours/glitch/locales/fa.json index 62e2758180..1e6d1d4992 100644 --- a/app/javascript/flavours/glitch/locales/fa.json +++ b/app/javascript/flavours/glitch/locales/fa.json @@ -1,13 +1,8 @@ { "about.fork_disclaimer": "Glitch-Goc یک نرم‌افزار آزاد است که از Mastodon انشعاب گرفته است.", "account.disclaimer_full": "اطلاعات زیر ممکن است نمایه کاربر را کامل منعکس نکند.", - "account.joined": "در {date} پیوست", "account.view_full_profile": "مشاهده کامل نمایه", - "advanced_options.icon_title": "گزینه‌های پیشرفته", - "advanced_options.local-only.short": "فقط محلی", - "advanced_options.local-only.tooltip": "این فرسته فقط محلی است", "column_header.profile": "نمایه", - "compose.attach.upload": "بارگذاری پرونده", "compose.content-type.html": "HTML", "compose.content-type.markdown": "مارک‌دون", "compose.content-type.plain": "متن ساده", @@ -15,7 +10,6 @@ "confirmations.unfilter.author": "نویسنده", "confirmations.unfilter.confirm": "نمایش", "confirmations.unfilter.edit_filter": "ویرایش پالایه", - "content-type.change": "نوع محتوا", "endorsed_accounts_editor.endorsed_accounts": "حساب‌های پیشنهاد شده", "home.column_settings.advanced": "پیشرفته", "navigation_bar.app_settings": "تنظیمات کاره", @@ -35,6 +29,5 @@ "settings.side_arm.none": "هیچ یک", "settings.status_icons": "نقشک‌های توت", "status.in_reply_to": "این توت یک پاسخ است", - "status.is_poll": "این توت یک نظرسنجی است", - "status.sensitive_toggle": "برای مشاهده کلیک کنید" + "status.is_poll": "این توت یک نظرسنجی است" } diff --git a/app/javascript/flavours/glitch/locales/fr-CA.json b/app/javascript/flavours/glitch/locales/fr-CA.json index 6015f4097d..30ca374d20 100644 --- a/app/javascript/flavours/glitch/locales/fr-CA.json +++ b/app/javascript/flavours/glitch/locales/fr-CA.json @@ -3,16 +3,8 @@ "account.disclaimer_full": "Les informations ci-dessous peuvent être incomplètes.", "account.follows": "Abonnements", "account.follows_you": "Vous suit", - "account.joined": "Ici depuis {date}", "account.suspended_disclaimer_full": "Cet utilisateur a été suspendu par un modérateur.", "account.view_full_profile": "Voir le profil complet", - "advanced_options.icon_title": "Options avancées", - "advanced_options.local-only.long": "Ne pas envoyer aux autres instances", - "advanced_options.local-only.short": "Uniquement en local", - "advanced_options.local-only.tooltip": "Ce post est uniquement local", - "advanced_options.threaded_mode.long": "Ouvre automatiquement une réponse lors de la publication", - "advanced_options.threaded_mode.short": "Mode thread", - "advanced_options.threaded_mode.tooltip": "Mode thread activé", "boost_modal.missing_description": "Ce post contient des médias sans description", "column.favourited_by": "Ajouté en favori par", "column.heading": "Divers", @@ -22,15 +14,11 @@ "column_subheading.lists": "Listes", "column_subheading.navigation": "Navigation", "community.column_settings.allow_local_only": "Afficher seulement les posts locaux", - "compose.attach": "Joindre…", - "compose.attach.doodle": "Dessiner quelque chose", - "compose.attach.upload": "Téléverser un fichier", "compose.content-type.html": "HTML", "compose.content-type.markdown": "Markdown", "compose.content-type.plain": "Text brut", - "compose_form.poll.multiple_choices": "Choix multiples", - "compose_form.poll.single_choice": "Choix unique", - "compose_form.spoiler": "Cacher le texte derrière un avertissement", + "compose.disable_threaded_mode": "Désactiver le mode thread", + "compose.enable_threaded_mode": "Activer le mode thread", "confirmation_modal.do_not_ask_again": "Ne plus demander confirmation", "confirmations.deprecated_settings.confirm": "Utiliser les préférences de Mastodon", "confirmations.deprecated_settings.message": "Certaines {app_settings} de glitch-soc que vous utilisez ont été remplacées par les {preferences} de Mastodon et seront remplacées :", @@ -41,7 +29,6 @@ "confirmations.unfilter.confirm": "Afficher", "confirmations.unfilter.edit_filter": "Modifier le filtre", "confirmations.unfilter.filters": "Correspondance avec {count, plural, one {un filtre} other {plusieurs filtres}}", - "content-type.change": "Type de contenu", "direct.group_by_conversations": "Grouper par conversation", "endorsed_accounts_editor.endorsed_accounts": "Comptes mis en avant", "favourite_modal.combo": "Vous pouvez appuyer sur {combo} pour passer ceci la prochaine fois", @@ -53,7 +40,6 @@ "keyboard_shortcuts.bookmark": "ajouter aux marque-pages", "keyboard_shortcuts.secondary_toot": "Envoyer le post en utilisant les paramètres secondaires de confidentialité", "keyboard_shortcuts.toggle_collapse": "Plier/déplier les posts", - "media_gallery.sensitive": "Sensible", "moved_to_warning": "Ce compte a déménagé vers {moved_to_link} et ne peut donc plus accepter de nouveaux abonné·e·s.", "navigation_bar.app_settings": "Paramètres de l'application", "navigation_bar.featured_users": "Utilisateurs mis en avant", @@ -154,6 +140,5 @@ "status.in_reply_to": "Ce post est une réponse", "status.is_poll": "Ce post est un sondage", "status.local_only": "Visible uniquement depuis votre instance", - "status.sensitive_toggle": "Cliquer pour voir", "status.uncollapse": "Déplier" } diff --git a/app/javascript/flavours/glitch/locales/fr.json b/app/javascript/flavours/glitch/locales/fr.json index 6015f4097d..30ca374d20 100644 --- a/app/javascript/flavours/glitch/locales/fr.json +++ b/app/javascript/flavours/glitch/locales/fr.json @@ -3,16 +3,8 @@ "account.disclaimer_full": "Les informations ci-dessous peuvent être incomplètes.", "account.follows": "Abonnements", "account.follows_you": "Vous suit", - "account.joined": "Ici depuis {date}", "account.suspended_disclaimer_full": "Cet utilisateur a été suspendu par un modérateur.", "account.view_full_profile": "Voir le profil complet", - "advanced_options.icon_title": "Options avancées", - "advanced_options.local-only.long": "Ne pas envoyer aux autres instances", - "advanced_options.local-only.short": "Uniquement en local", - "advanced_options.local-only.tooltip": "Ce post est uniquement local", - "advanced_options.threaded_mode.long": "Ouvre automatiquement une réponse lors de la publication", - "advanced_options.threaded_mode.short": "Mode thread", - "advanced_options.threaded_mode.tooltip": "Mode thread activé", "boost_modal.missing_description": "Ce post contient des médias sans description", "column.favourited_by": "Ajouté en favori par", "column.heading": "Divers", @@ -22,15 +14,11 @@ "column_subheading.lists": "Listes", "column_subheading.navigation": "Navigation", "community.column_settings.allow_local_only": "Afficher seulement les posts locaux", - "compose.attach": "Joindre…", - "compose.attach.doodle": "Dessiner quelque chose", - "compose.attach.upload": "Téléverser un fichier", "compose.content-type.html": "HTML", "compose.content-type.markdown": "Markdown", "compose.content-type.plain": "Text brut", - "compose_form.poll.multiple_choices": "Choix multiples", - "compose_form.poll.single_choice": "Choix unique", - "compose_form.spoiler": "Cacher le texte derrière un avertissement", + "compose.disable_threaded_mode": "Désactiver le mode thread", + "compose.enable_threaded_mode": "Activer le mode thread", "confirmation_modal.do_not_ask_again": "Ne plus demander confirmation", "confirmations.deprecated_settings.confirm": "Utiliser les préférences de Mastodon", "confirmations.deprecated_settings.message": "Certaines {app_settings} de glitch-soc que vous utilisez ont été remplacées par les {preferences} de Mastodon et seront remplacées :", @@ -41,7 +29,6 @@ "confirmations.unfilter.confirm": "Afficher", "confirmations.unfilter.edit_filter": "Modifier le filtre", "confirmations.unfilter.filters": "Correspondance avec {count, plural, one {un filtre} other {plusieurs filtres}}", - "content-type.change": "Type de contenu", "direct.group_by_conversations": "Grouper par conversation", "endorsed_accounts_editor.endorsed_accounts": "Comptes mis en avant", "favourite_modal.combo": "Vous pouvez appuyer sur {combo} pour passer ceci la prochaine fois", @@ -53,7 +40,6 @@ "keyboard_shortcuts.bookmark": "ajouter aux marque-pages", "keyboard_shortcuts.secondary_toot": "Envoyer le post en utilisant les paramètres secondaires de confidentialité", "keyboard_shortcuts.toggle_collapse": "Plier/déplier les posts", - "media_gallery.sensitive": "Sensible", "moved_to_warning": "Ce compte a déménagé vers {moved_to_link} et ne peut donc plus accepter de nouveaux abonné·e·s.", "navigation_bar.app_settings": "Paramètres de l'application", "navigation_bar.featured_users": "Utilisateurs mis en avant", @@ -154,6 +140,5 @@ "status.in_reply_to": "Ce post est une réponse", "status.is_poll": "Ce post est un sondage", "status.local_only": "Visible uniquement depuis votre instance", - "status.sensitive_toggle": "Cliquer pour voir", "status.uncollapse": "Déplier" } diff --git a/app/javascript/flavours/glitch/locales/hi.json b/app/javascript/flavours/glitch/locales/hi.json index 26b4b9bb04..9c3d7e03df 100644 --- a/app/javascript/flavours/glitch/locales/hi.json +++ b/app/javascript/flavours/glitch/locales/hi.json @@ -1,11 +1,8 @@ { "about.fork_disclaimer": "ग्लिच-सोक एक मुफ्त और ओपन सोर्स सॉफ़्टवेर है जो मैस्टोडॉन से फोर्क किया गया है", "account.follows": "फ़ॉलोज़", - "account.joined": "ज़ोईन करने की {date}", "account.suspended_disclaimer_full": "यह यूज़र एक मॉडरेटर द्वारा सस्पेंड कर दिया गया है", "account.view_full_profile": "पूरी प्रोफ़ाइल देखें", - "advanced_options.icon_title": "एडवांस्ड ऑप्शन्स", - "advanced_options.local-only.long": "दूसरे इंस्टेंसों में पोस्ट ना करें", "settings.content_warnings": "Content warnings", "settings.preferences": "Preferences" } diff --git a/app/javascript/flavours/glitch/locales/id.json b/app/javascript/flavours/glitch/locales/id.json index f37788bc80..39e85b3d66 100644 --- a/app/javascript/flavours/glitch/locales/id.json +++ b/app/javascript/flavours/glitch/locales/id.json @@ -2,16 +2,8 @@ "about.fork_disclaimer": "Glitch-soc adalah perangkat lunak sumber terbuka yang merupakan fork dari Mastodon.", "account.disclaimer_full": "Informasi di bawah ini mungkin tidak mencerminkan profil pengguna secara lengkap.", "account.follows": "Mengikuti", - "account.joined": "Bergabung {date}", "account.suspended_disclaimer_full": "Pengguna ini telah ditangguhkan oleh moderator.", "account.view_full_profile": "Tampilkan profil lengkap", - "advanced_options.icon_title": "Opsi lanjutan", - "advanced_options.local-only.long": "Jangan mengunggah ke instance lain", - "advanced_options.local-only.short": "Hanya lokal", - "advanced_options.local-only.tooltip": "Postingan ini hanya untuk lokal", - "advanced_options.threaded_mode.long": "Secara otomatis membuka balasan pada postingan", - "advanced_options.threaded_mode.short": "Mode Utasan", - "advanced_options.threaded_mode.tooltip": "Mode utasan dinyalakan", "boost_modal.missing_description": "Toot ini berisi beberapa media tanpa deskripsi", "column.favourited_by": "Disukai oleh", "column.heading": "Lainnya", @@ -21,15 +13,14 @@ "column_subheading.lists": "Daftar", "column_subheading.navigation": "Penelusuran", "community.column_settings.allow_local_only": "Tampilkan toot lokal saja", - "compose.attach": "Lampirkan...", - "compose.attach.doodle": "Gambar sesuatu", - "compose.attach.upload": "Unggah file", + "compose.change_federation": "Ubah pengaturan federasi", + "compose.content-type.change": "Ubah opsi pemformatan lanjutan", "compose.content-type.html": "HTML", + "compose.content-type.html_meta": "Format postingan Anda dengan HTML", "compose.content-type.markdown": "Bahasa Markdown", + "compose.content-type.markdown_meta": "Format postingan Anda dengan Markdown", "compose.content-type.plain": "Teks biasa", - "compose_form.poll.multiple_choices": "Izinkan beberapa pilihan", - "compose_form.poll.single_choice": "Izinkan hanya satu pilihan", - "compose_form.spoiler": "Sembunyikan teks di balik peringatan", + "compose.content-type.plain_meta": "Tulis tanpa pemformatan lanjutan", "confirmation_modal.do_not_ask_again": "Jangan minta konfirmasi lagi", "confirmations.deprecated_settings.confirm": "Gunakan preferensi Mastodon", "confirmations.deprecated_settings.message": "Beberapa {app_settings} khusus perangkat Glitch-soc yang Anda gunakan telah digantikan oleh {preferences} Mastodon dan akan diganti:", @@ -39,13 +30,62 @@ "confirmations.unfilter.author": "Penulis", "confirmations.unfilter.confirm": "Tampilkan", "confirmations.unfilter.edit_filter": "Ubah saringan", - "content-type.change": "Jenis konten", + "confirmations.unfilter.filters": "Mencocokkan {count, plural, other {filter}}", "direct.group_by_conversations": "Grupkan berdasarkan percakapan", "endorsed_accounts_editor.endorsed_accounts": "Akun pilihan", "favourite_modal.combo": "Anda dapat menekan {combo} untuk melewati ini lain kali", + "federation.federated.long": "Izinkan postingan ini menjangkau server lain", + "federation.federated.short": "Difederasi", + "federation.local_only.long": "Cegah postingan ini menjangkau server lain", + "federation.local_only.short": "Hanya lokal", "firehose.column_settings.allow_local_only": "Tampilkan postingan khusus lokal di \"Semua\"", "home.column_settings.advanced": "Lanjutan", "home.column_settings.filter_regex": "Saring dengan ekspresi reguler", + "home.column_settings.show_direct": "Tampilkan sebutan pribadi", + "home.settings": "Pengaturan kolom", + "keyboard_shortcuts.bookmark": "untuk memarkahi", + "keyboard_shortcuts.secondary_toot": "untuk mengirim toot menggunakan pengaturan privasi sekunder", + "keyboard_shortcuts.toggle_collapse": "untuk membuka/menutup toot", + "moved_to_warning": "Akun ini ditandai sebagai dipindahkan ke {moved_to_link}, dan karenanya tidak menerima pengikut baru.", + "navigation_bar.app_settings": "Pengaturan aplikasi", + "navigation_bar.featured_users": "Pengguna unggulan", + "navigation_bar.keyboard_shortcuts": "Pintasan keyboard", + "navigation_bar.misc": "Lainnya", + "notification.markForDeletion": "Tandai untuk dihapus", + "notification_purge.btn_all": "Pilih semua", + "notification_purge.btn_apply": "Hapus yang\ndipilih", + "notification_purge.btn_invert": "Balikkan\npilihan", + "notification_purge.btn_none": "Pilih tidak\nsatu pun", + "notification_purge.start": "Masuk ke mode pembersihan notifikasi", + "notifications.marked_clear": "Hapus notifikasi yang dipilih", + "notifications.marked_clear_confirmation": "Apakah Anda yakin ingin menghapus secara permanen semua notifikasi yang dipilih?", + "settings.always_show_spoilers_field": "Selalu aktifkan bidang Peringatan Konten", + "settings.auto_collapse": "Tutup secara otomatis", + "settings.auto_collapse_all": "Semua", + "settings.auto_collapse_height": "Tinggi (dalam piksel) untuk sebuah toot dianggap panjang", + "settings.auto_collapse_lengthy": "Toot panjang", + "settings.auto_collapse_media": "Toot dengan media", + "settings.auto_collapse_notifications": "Notifikasi", + "settings.auto_collapse_reblogs": "Boost", + "settings.auto_collapse_replies": "Balasan", + "settings.close": "Tutup", + "settings.collapsed_statuses": "Toot tertutup", + "settings.compose_box_opts": "Kotak tulis", + "settings.confirm_before_clearing_draft": "Tampilkan dialog konfirmasi sebelum menimpa pesan yang sedang dibuat", + "settings.confirm_boost_missing_media_description": "Tampilkan dialog konfirmasi sebelum memboost toot yang tidak memiliki deskripsi media", + "settings.confirm_missing_media_description": "Tampilkan dialog konfirmasi sebelum mengirim toot yang tidak memiliki deskripsi media", "settings.content_warnings": "Content warnings", - "settings.preferences": "Preferences" + "settings.content_warnings.regexp": "Ekspresi reguler", + "settings.content_warnings_filter": "Peringatan konten yang tidak akan dibuka secara otomatis:", + "settings.content_warnings_media_outside": "Tampilkan lampiran media di luar peringatan konten", + "settings.content_warnings_media_outside_hint": "Reproduksi perilaku Mastodon upstream dengan membuat tombol Peringatan Konten tidak memengaruhi lampiran media", + "settings.content_warnings_shared_state": "Tampilkan/sembunyikan konten semua salinan sekaligus", + "settings.preferences": "Preferences", + "settings.status_icons_reply": "Indikator balasan", + "settings.status_icons_visibility": "Indikator privasi toot", + "settings.swipe_to_change_columns": "Izinkan menggeser untuk mengubah kolom (khusus ponsel)", + "settings.tag_misleading_links": "Tandai tautan yang menyesatkan", + "settings.tag_misleading_links.hint": "Tambahkan indikasi visual dengan host target tautan ke setiap tautan tanpa menyebutkannya secara eksplisit", + "settings.wide_view": "Tampilan lebar (hanya mode desktop)", + "settings.wide_view_hint": "Peregangan kolom untuk mengisi ruang yang tersedia dengan lebih baik." } diff --git a/app/javascript/flavours/glitch/locales/ja.json b/app/javascript/flavours/glitch/locales/ja.json index 25e13300b7..44c8642d1c 100644 --- a/app/javascript/flavours/glitch/locales/ja.json +++ b/app/javascript/flavours/glitch/locales/ja.json @@ -2,16 +2,8 @@ "about.fork_disclaimer": "Glitch-socはMastodonからフォークされたフリーなオープンソースソフトウェアです。", "account.disclaimer_full": "このユーザー情報は不正確な可能性があります。", "account.follows": "フォロー", - "account.joined": "{date} に登録", "account.suspended_disclaimer_full": "このユーザーはモデレータにより停止されました。", "account.view_full_profile": "正確な情報を見る", - "advanced_options.icon_title": "高度な設定", - "advanced_options.local-only.long": "他のインスタンスには投稿されません", - "advanced_options.local-only.short": "ローカル限定", - "advanced_options.local-only.tooltip": "この投稿はローカル限定投稿です", - "advanced_options.threaded_mode.long": "投稿時に自動的に返信するように設定します", - "advanced_options.threaded_mode.short": "スレッドモード", - "advanced_options.threaded_mode.tooltip": "スレッドモードを有効にする", "boost_modal.missing_description": "このトゥートには少なくとも1つの画像に説明が付与されていません", "column.favourited_by": "お気に入りしたユーザー", "column.heading": "その他", @@ -21,15 +13,9 @@ "column_subheading.lists": "リスト", "column_subheading.navigation": "ナビゲーション", "community.column_settings.allow_local_only": "ローカル限定投稿を表示する", - "compose.attach": "添付...", - "compose.attach.doodle": "お絵描きをする", - "compose.attach.upload": "ファイルをアップロード", "compose.content-type.html": "HTML", "compose.content-type.markdown": "マークダウン", "compose.content-type.plain": "プレーンテキスト", - "compose_form.poll.multiple_choices": "複数回答を許可", - "compose_form.poll.single_choice": "単一回答を許可", - "compose_form.spoiler": "本文は警告の後ろに隠す", "confirmation_modal.do_not_ask_again": "もう1度尋ねない", "confirmations.deprecated_settings.confirm": "Mastodonの設定を使用", "confirmations.missing_media_description.confirm": "このまま投稿", @@ -39,7 +25,6 @@ "confirmations.unfilter.confirm": "見る", "confirmations.unfilter.edit_filter": "フィルターを編集", "confirmations.unfilter.filters": "適用されたフィルター", - "content-type.change": "コンテンツ形式を変更", "direct.group_by_conversations": "会話でグループ化", "endorsed_accounts_editor.endorsed_accounts": "紹介しているユーザー", "favourite_modal.combo": "次からは {combo} を押せば、これをスキップできます。", @@ -50,7 +35,6 @@ "keyboard_shortcuts.bookmark": "ブックマーク", "keyboard_shortcuts.secondary_toot": "セカンダリートゥートの公開範囲でトゥートする", "keyboard_shortcuts.toggle_collapse": "折りたたむ/折りたたみを解除", - "media_gallery.sensitive": "閲覧注意", "moved_to_warning": "このアカウント{moved_to_link}に引っ越したため、新しいフォロワーを受け入れていません。", "navigation_bar.app_settings": "アプリ設定", "navigation_bar.featured_users": "紹介しているアカウント", @@ -140,6 +124,5 @@ "status.in_reply_to": "このトゥートは返信です", "status.is_poll": "このトゥートはアンケートです", "status.local_only": "あなたのインスタンスのみに公開", - "status.sensitive_toggle": "クリックして表示", "status.uncollapse": "折りたたみを解除" } diff --git a/app/javascript/flavours/glitch/locales/ko.json b/app/javascript/flavours/glitch/locales/ko.json index 49fcb0b46a..ab70ece316 100644 --- a/app/javascript/flavours/glitch/locales/ko.json +++ b/app/javascript/flavours/glitch/locales/ko.json @@ -3,16 +3,8 @@ "account.disclaimer_full": "아래에 있는 정보들은 사용자의 프로필을 완벽하게 나타내지 못하고 있을 수도 있습니다.", "account.follows": "팔로우", "account.follows_you": "날 팔로우합니다", - "account.joined": "{date}에 가입함", "account.suspended_disclaimer_full": "이 사용자는 중재자에 의해 정지되었습니다.", "account.view_full_profile": "전체 프로필 보기", - "advanced_options.icon_title": "고급 옵션", - "advanced_options.local-only.long": "다른 서버에 게시하지 않기", - "advanced_options.local-only.short": "로컬 전용", - "advanced_options.local-only.tooltip": "이 게시물은 로컬 전용입니다", - "advanced_options.threaded_mode.long": "글을 작성하고 자동으로 답글 열기", - "advanced_options.threaded_mode.short": "글타래 모드", - "advanced_options.threaded_mode.tooltip": "글타래 모드 활성화됨", "boost_modal.missing_description": "이 게시물은 설명이 없는 미디어를 포함하고 있습니다", "column.favourited_by": "즐겨찾기 한 사람", "column.heading": "기타", @@ -22,15 +14,14 @@ "column_subheading.lists": "리스트", "column_subheading.navigation": "탐색", "community.column_settings.allow_local_only": "로컬 전용 글 보기", - "compose.attach": "첨부…", - "compose.attach.doodle": "뭔가 그려보세요", - "compose.attach.upload": "파일 업로드", + "compose.change_federation": "연합 설정 변경", + "compose.content-type.change": "고급 양식 옵션 변경", "compose.content-type.html": "HTML", + "compose.content-type.html_meta": "게시물을 HTML 형식으로 구성", "compose.content-type.markdown": "마크다운", + "compose.content-type.markdown_meta": "게시물을 마크다운 형식으로 구성", "compose.content-type.plain": "일반 텍스트", - "compose_form.poll.multiple_choices": "여러 개 선택 가능", - "compose_form.poll.single_choice": "하나만 선택 가능", - "compose_form.spoiler": "경고 메시지로 숨기기", + "compose.content-type.plain_meta": "고급 양식 없이 작성", "confirmation_modal.do_not_ask_again": "다음부터 확인창을 띄우지 않기", "confirmations.deprecated_settings.confirm": "마스토돈 설정 사용", "confirmations.deprecated_settings.message": "사용하던 몇몇 기기별 글리치 {app_settings}은 마스토돈 {preferences}으로 대체되었습니다:", @@ -41,10 +32,13 @@ "confirmations.unfilter.confirm": "보기", "confirmations.unfilter.edit_filter": "필터 편집", "confirmations.unfilter.filters": "적용된 {count, plural, one {필터} other {필터들}}", - "content-type.change": "콘텐트 타입", "direct.group_by_conversations": "대화별로 묶기", "endorsed_accounts_editor.endorsed_accounts": "추천하는 계정들", "favourite_modal.combo": "다음엔 {combo}를 눌러 건너뛸 수 있습니다", + "federation.federated.long": "이 게시물이 다른 서버에 전달되는 것을 허용", + "federation.federated.short": "연합됨", + "federation.local_only.long": "이 게시물이 다른 서버에 전달되는 것을 막기", + "federation.local_only.short": "로컬 전용", "firehose.column_settings.allow_local_only": "\"모두\" 탭에서 로컬 전용 글 보여주기", "home.column_settings.advanced": "고급", "home.column_settings.filter_regex": "정규표현식으로 필터", @@ -53,7 +47,6 @@ "keyboard_shortcuts.bookmark": "북마크", "keyboard_shortcuts.secondary_toot": "보조 프라이버시 설정으로 글 보내기", "keyboard_shortcuts.toggle_collapse": "글 접거나 펼치기", - "media_gallery.sensitive": "민감함", "moved_to_warning": "이 계정은 {moved_to_link}로 이동한 것으로 표시되었고, 새 팔로우를 받지 않는 것 같습니다.", "navigation_bar.app_settings": "앱 설정", "navigation_bar.featured_users": "추천된 계정들", @@ -154,6 +147,5 @@ "status.in_reply_to": "이 글은 답글입니다", "status.is_poll": "이 글은 설문입니다", "status.local_only": "당신의 서버에서만 보입니다", - "status.sensitive_toggle": "클릭해서 보기", "status.uncollapse": "펼치기" } diff --git a/app/javascript/flavours/glitch/locales/nl.json b/app/javascript/flavours/glitch/locales/nl.json index 634946fb76..2bb9b2db44 100644 --- a/app/javascript/flavours/glitch/locales/nl.json +++ b/app/javascript/flavours/glitch/locales/nl.json @@ -1,13 +1,6 @@ { "account.follows": "Volgers", - "account.joined": "Lid sinds {date}", "account.view_full_profile": "Volledig profiel weergeven", - "advanced_options.icon_title": "Geavanceerde opties", - "advanced_options.local-only.long": "Niet naar andere instanties sturen", - "advanced_options.local-only.short": "Alleen lokaal", - "advanced_options.local-only.tooltip": "Dit bericht alleen lokaal", - "advanced_options.threaded_mode.short": "Thread modus", - "advanced_options.threaded_mode.tooltip": "Thread modus ingeschakeld", "boost_modal.missing_description": "Deze toot bevat media zonder beschrijving", "column.favourited_by": "Favoriet door", "column.heading": "Overige", @@ -17,14 +10,9 @@ "column_subheading.lists": "Lijsten", "column_subheading.navigation": "Navigatie", "community.column_settings.allow_local_only": "Toon alleen lokale toots", - "compose.attach.doodle": "Teken iets", - "compose.attach.upload": "Bestand uploaden", "compose.content-type.html": "HTML", "compose.content-type.markdown": "Markdown", "compose.content-type.plain": "Onopgemaakte tekst", - "compose_form.poll.multiple_choices": "Meerdere keuzes toestaan", - "compose_form.poll.single_choice": "Eén keuze toestaan", - "compose_form.spoiler": "Verberg tekst achter waarschuwing", "confirmation_modal.do_not_ask_again": "Vraag niet meer om bevestiging", "confirmations.deprecated_settings.confirm": "Gebruik voorkeuren van Mastodon", "confirmations.missing_media_description.confirm": "Toch verzenden", @@ -33,7 +21,6 @@ "confirmations.unfilter.author": "Auteur", "confirmations.unfilter.confirm": "Weergeven", "confirmations.unfilter.edit_filter": "Filter bewerken", - "content-type.change": "Inhoudstype", "direct.group_by_conversations": "Groeperen op gesprek", "endorsed_accounts_editor.endorsed_accounts": "Aanbevolen accounts", "home.column_settings.advanced": "Geavanceerd", diff --git a/app/javascript/flavours/glitch/locales/pl.json b/app/javascript/flavours/glitch/locales/pl.json index 414b641d99..4f1d126f42 100644 --- a/app/javascript/flavours/glitch/locales/pl.json +++ b/app/javascript/flavours/glitch/locales/pl.json @@ -2,16 +2,8 @@ "about.fork_disclaimer": "Glitch-soc jest wolnym i otwartym oprogramowaniem wywodzącym się z Mastodonu.", "account.disclaimer_full": "Poniższe informacje mogą niekompletnie odzwierciedlać profil tego użytkownika.", "account.follows": "Obserwuje", - "account.joined": "Konto utworzono {date}", "account.suspended_disclaimer_full": "Użytkownik został zawieszony przez moderatora.", "account.view_full_profile": "Pokaż pełny profil", - "advanced_options.icon_title": "Ustawienia zaawansowane", - "advanced_options.local-only.long": "Nie wysyłaj na inne instancje", - "advanced_options.local-only.short": "Tylko lokalnie", - "advanced_options.local-only.tooltip": "Ten wpis jest widoczny tylko lokalnie", - "advanced_options.threaded_mode.long": "Przechodzi do tworzenia odpowiedzi po publikacji wpisu", - "advanced_options.threaded_mode.short": "Tryb wątków", - "advanced_options.threaded_mode.tooltip": "Włączono tryb wątków", "boost_modal.missing_description": "Ten wpis zawiera multimedialne załączniki bez opisu", "column.favourited_by": "Polubiony przez", "column.heading": "Różne", @@ -21,15 +13,9 @@ "column_subheading.lists": "Listy", "column_subheading.navigation": "Nawigacja", "community.column_settings.allow_local_only": "Pokazuj wyłącznie wpisy lokalne", - "compose.attach": "Załącz coś", - "compose.attach.doodle": "Narysuj coś", - "compose.attach.upload": "Wyślij plik", "compose.content-type.html": "HTML", "compose.content-type.markdown": "Markdown", "compose.content-type.plain": "Czysty tekst", - "compose_form.poll.multiple_choices": "Pozwól na wybór wielokrotny", - "compose_form.poll.single_choice": "Pozwól na tylko jeden wybór", - "compose_form.spoiler": "Ukryj tekst za ostrzeżeniem", "confirmation_modal.do_not_ask_again": "Więcej nie pytaj się o potwierdzenie", "confirmations.deprecated_settings.confirm": "Użyj preferencji Mastodonu", "confirmations.deprecated_settings.message": "Niektóre używane przez Ciebie {app_settings} glitch-soc zostały zastąpione przez {preferences} Mastodona:", @@ -39,7 +25,6 @@ "confirmations.unfilter.author": "Autor", "confirmations.unfilter.confirm": "Pokaż", "confirmations.unfilter.edit_filter": "Edytuj filtr", - "content-type.change": "Typ zawartości", "direct.group_by_conversations": "Grupuj rozmowami", "endorsed_accounts_editor.endorsed_accounts": "Wybrane konta", "favourite_modal.combo": "Możesz nacisnąć {combo}, aby pominąć to następnym razem", @@ -50,7 +35,6 @@ "keyboard_shortcuts.bookmark": "aby dodać do ulubionych", "keyboard_shortcuts.secondary_toot": "aby opublikować wpis używając dodatkowych ustawień prywatności", "keyboard_shortcuts.toggle_collapse": "aby zwinąć/rozwinąć wpisy", - "media_gallery.sensitive": "Zawartość wrażliwa", "moved_to_warning": "To konto oznaczone jest jako przeniesione do {moved_to_link} i może z tego powodu nie akceptować nowych obserwujących.", "navigation_bar.app_settings": "Ustawienia aplikacji", "navigation_bar.featured_users": "Użytkownicy wyróżnieni", @@ -151,6 +135,5 @@ "status.in_reply_to": "Ten wpis jest odpowiedzią", "status.is_poll": "Ten wpis zawiera ankietę", "status.local_only": "Widoczne tylko na twoim serwerze", - "status.sensitive_toggle": "Kliknij, aby zobaczyć", "status.uncollapse": "Rozwiń" } diff --git a/app/javascript/flavours/glitch/locales/pt-BR.json b/app/javascript/flavours/glitch/locales/pt-BR.json index be324a4bb5..48f02e8214 100644 --- a/app/javascript/flavours/glitch/locales/pt-BR.json +++ b/app/javascript/flavours/glitch/locales/pt-BR.json @@ -2,16 +2,8 @@ "about.fork_disclaimer": "O Glitch-soc é um software gratuito de código aberto bifurcado a partir do Mastodon.", "account.disclaimer_full": "As informações abaixo podem refletir o perfil do usuário de forma incompleta.", "account.follows": "Segue", - "account.joined": "Entrou em {date}", "account.suspended_disclaimer_full": "Este usuário foi suspenso por um moderador.", "account.view_full_profile": "Ver o perfil completo", - "advanced_options.icon_title": "Opções avançadas", - "advanced_options.local-only.long": "Não publicar em outras instâncias", - "advanced_options.local-only.short": "Apenas localmente", - "advanced_options.local-only.tooltip": "Este post é somente local", - "advanced_options.threaded_mode.long": "Abrir automaticamente uma resposta ao postar", - "advanced_options.threaded_mode.short": "Modo de discussão", - "advanced_options.threaded_mode.tooltip": "Modo de discussão ativado", "boost_modal.missing_description": "Este toot contém algumas mídias sem descrição", "column.favourited_by": "Favoritado por", "column.heading": "Diversos", @@ -21,15 +13,9 @@ "column_subheading.lists": "Listas", "column_subheading.navigation": "Navegação", "community.column_settings.allow_local_only": "Mostrar os toots apenas locais", - "compose.attach": "Anexar...", - "compose.attach.doodle": "Desenhe algo", - "compose.attach.upload": "Enviar um arquivo", "compose.content-type.html": "HTML", "compose.content-type.markdown": "Markdown", "compose.content-type.plain": "Texto sem formatação", - "compose_form.poll.multiple_choices": "Permitir múltipla escolha", - "compose_form.poll.single_choice": "Permitir uma escolha", - "compose_form.spoiler": "Ocultar texto atrás do aviso", "confirmation_modal.do_not_ask_again": "Não pedir confirmação novamente", "confirmations.deprecated_settings.confirm": "Usar preferências do Mastodon", "confirmations.deprecated_settings.message": "Alguns dos {app_settings} específicos do dispositivo que você está usando foram substituídos por Mastodon {preferences} e serão substituídos:", @@ -40,7 +26,6 @@ "confirmations.unfilter.confirm": "Exibir", "confirmations.unfilter.edit_filter": "Editar filtro", "confirmations.unfilter.filters": "Correspondência de {count, plural, one {filtro} other {filtros}}", - "content-type.change": "Tipo de conteúdo", "direct.group_by_conversations": "Agrupar por conversa", "endorsed_accounts_editor.endorsed_accounts": "Contas em destaque", "favourite_modal.combo": "Você pode pressionar {combo} para pular isso da próxima vez", @@ -51,7 +36,6 @@ "keyboard_shortcuts.bookmark": "para marcar", "keyboard_shortcuts.secondary_toot": "para enviar toot usando a configuração de privacidade secundária", "keyboard_shortcuts.toggle_collapse": "para recolher/mostrar toots", - "media_gallery.sensitive": "Sensível", "moved_to_warning": "Esta conta foi como movida para {moved_to_link} e, portanto, pode não aceitar novos seguidores.", "navigation_bar.app_settings": "Configurações do aplicativo", "navigation_bar.featured_users": "Usuários em destaque", @@ -152,6 +136,5 @@ "status.in_reply_to": "Este toot é uma resposta", "status.is_poll": "Este toot é uma enquete", "status.local_only": "Visível apenas em sua instância", - "status.sensitive_toggle": "Clique para ver", "status.uncollapse": "Revelar" } diff --git a/app/javascript/flavours/glitch/locales/pt-PT.json b/app/javascript/flavours/glitch/locales/pt-PT.json index 78ea38978f..fd0b010159 100644 --- a/app/javascript/flavours/glitch/locales/pt-PT.json +++ b/app/javascript/flavours/glitch/locales/pt-PT.json @@ -2,16 +2,8 @@ "about.fork_disclaimer": "O Glitch-soc é um software livre de código aberto, derivado (fork) do Mastodon.", "account.disclaimer_full": "As informações abaixo podem não refletir completamente o perfil do utilizador.", "account.follows": "A seguir", - "account.joined": "Juntou-se em {date}", "account.suspended_disclaimer_full": "Este utilizador foi suspenso por um elemento da moderação.", "account.view_full_profile": "Ver o perfil completo", - "advanced_options.icon_title": "Opções avançadas", - "advanced_options.local-only.long": "Não publicar noutras instâncias", - "advanced_options.local-only.short": "Apenas local", - "advanced_options.local-only.tooltip": "Este post é apenas local", - "advanced_options.threaded_mode.long": "Abrir automaticamente uma resposta ao publicar", - "advanced_options.threaded_mode.short": "Modo de fio", - "advanced_options.threaded_mode.tooltip": "Modo de fio ativado", "boost_modal.missing_description": "Este post contém alguns media sem descrição", "column.favourited_by": "Adicionado aos favoritos de", "column.heading": "Diversos", diff --git a/app/javascript/flavours/glitch/locales/sv.json b/app/javascript/flavours/glitch/locales/sv.json index 3212f7ff88..3452694615 100644 --- a/app/javascript/flavours/glitch/locales/sv.json +++ b/app/javascript/flavours/glitch/locales/sv.json @@ -1,15 +1,7 @@ { "account.follows": "Följer", - "account.joined": "Gick med {date}", "account.suspended_disclaimer_full": "Denna användare har stängts av av en moderator.", "account.view_full_profile": "Visa full profil", - "advanced_options.icon_title": "Avancerade inställningar", - "advanced_options.local-only.long": "Lägg inte ut på andra instanser", - "advanced_options.local-only.short": "Endast lokalt", - "advanced_options.local-only.tooltip": "Detta inlägg är endast tillgängligt lokalt", - "advanced_options.threaded_mode.long": "Öppnar automatiskt ett svar vid publicering", - "advanced_options.threaded_mode.short": "Tråd-läge", - "advanced_options.threaded_mode.tooltip": "Tråd-läge på", "boost_modal.missing_description": "Denna toot innehåller viss media utan beskrivning", "column.favourited_by": "Favoritmarkerad av", "column.heading": "Övrigt", @@ -19,15 +11,9 @@ "column_subheading.lists": "Listor", "column_subheading.navigation": "Navigering", "community.column_settings.allow_local_only": "Visa endast lokala toots", - "compose.attach": "Bifoga...", - "compose.attach.doodle": "Rita något", - "compose.attach.upload": "Ladda upp en fil", "compose.content-type.html": "HTML", "compose.content-type.markdown": "Markdown", "compose.content-type.plain": "Klartext", - "compose_form.poll.multiple_choices": "Tillåt flera val", - "compose_form.poll.single_choice": "Tillåt ett val", - "compose_form.spoiler": "Göm text bakom varning", "confirmation_modal.do_not_ask_again": "Fråga mig inte igen", "confirmations.deprecated_settings.confirm": "Använd Mastodon-preferenser", "confirmations.deprecated_settings.message": "Några av de glitch-soc-enhetsspecifika {app_settings} som du använder har ersatts av Mastodon-{preferences} och kommer att åsidosättas:", @@ -38,7 +24,6 @@ "confirmations.unfilter.confirm": "Visa", "confirmations.unfilter.edit_filter": "Redigera filter", "confirmations.unfilter.filters": "Matchande {count, plural, one {filter} other {filters}}", - "content-type.change": "Innehållstyp", "direct.group_by_conversations": "Sortera efter konversation", "endorsed_accounts_editor.endorsed_accounts": "Utvalda konton", "favourite_modal.combo": "Du kan trycka på {combo} för att skippa detta nästa gång", diff --git a/app/javascript/flavours/glitch/locales/tr.json b/app/javascript/flavours/glitch/locales/tr.json index b77fc511c0..06f22bd291 100644 --- a/app/javascript/flavours/glitch/locales/tr.json +++ b/app/javascript/flavours/glitch/locales/tr.json @@ -1,16 +1,8 @@ { "account.disclaimer_full": "Aşağıdaki bilgi kullanıcının profilini hatalı olarak gösterebilir.", "account.follows": "Takip Edilen", - "account.joined": "{date} tarihinde katıldı", "account.suspended_disclaimer_full": "Bu kullanıcı, bir moderatör tarafından askıya alınmıştır.", "account.view_full_profile": "Tam görünüm", - "advanced_options.icon_title": "Gelişmiş seçenekler", - "advanced_options.local-only.long": "Başka örneklere paylaşım yapmayın", - "advanced_options.local-only.short": "Sadece yerel", - "advanced_options.local-only.tooltip": "Bu gönderi sadece yerel kullanıcılar içindir", - "advanced_options.threaded_mode.long": "Paylaşımda otomatik olarak yanıt oluşturur", - "advanced_options.threaded_mode.short": "Başlık modu", - "advanced_options.threaded_mode.tooltip": "Başlık modu aktif", "boost_modal.missing_description": "Bu gönderi açıklaması olmayan medya içerir", "column.favourited_by": "Tarafından favorilere eklendi", "column.heading": "Diğer", @@ -20,15 +12,9 @@ "column_subheading.lists": "Listeler", "column_subheading.navigation": "Gezinme", "community.column_settings.allow_local_only": "Sadece yerel gönderileri göster", - "compose.attach": "Ekle...", - "compose.attach.doodle": "Herhangi bir şey çiz", - "compose.attach.upload": "Bir dosya yükle", "compose.content-type.html": "HTML", "compose.content-type.markdown": "Markdown modu", "compose.content-type.plain": "Düz metin", - "compose_form.poll.multiple_choices": "Birden fazla seçeneğe izin ver", - "compose_form.poll.single_choice": "Bir seçeneğe izin ver", - "compose_form.spoiler": "Yazıyı uyarının arkasına gizle", "confirmation_modal.do_not_ask_again": "Tekrardan onay istemeyin", "confirmations.deprecated_settings.confirm": "Mastadon seçimlerini kullan", "confirmations.deprecated_settings.message": "Kullanmakta olduğunuz bazı cihaz özgülü glitch-soc {app_settings} Mastadon {preferences} ile değiştirildi ve üzerine yazılacak:", @@ -39,7 +25,6 @@ "confirmations.unfilter.confirm": "Göster", "confirmations.unfilter.edit_filter": "Filtreyi düzenle", "confirmations.unfilter.filters": "Eşleşen {count, plural, one {filter} other {filters}}", - "content-type.change": "İçerik türü", "direct.group_by_conversations": "Grup sohbeti", "endorsed_accounts_editor.endorsed_accounts": "Öne çıkan hesaplar", "favourite_modal.combo": "Bir sonraki sefer {combo} tuşuna basabilirsiniz", diff --git a/app/javascript/flavours/glitch/locales/uk.json b/app/javascript/flavours/glitch/locales/uk.json index bceac4c654..3ac0b366e1 100644 --- a/app/javascript/flavours/glitch/locales/uk.json +++ b/app/javascript/flavours/glitch/locales/uk.json @@ -2,16 +2,8 @@ "about.fork_disclaimer": "Glitch-soc - це вільне програмне забезпечення з відкритим вихідним кодом, форк від Mastodon.", "account.disclaimer_full": "Наведена нижче інформація може не повністю відображати профіль користувача.", "account.follows": "Підписки", - "account.joined": "Приєднався {date}", "account.suspended_disclaimer_full": "Цей користувач був призупинений модератором.", "account.view_full_profile": "Переглянути повний профіль", - "advanced_options.icon_title": "Додаткові налаштування", - "advanced_options.local-only.long": "Не дмухати це на інші сервери", - "advanced_options.local-only.short": "Лише локальне", - "advanced_options.local-only.tooltip": "Цей дмух лише локальний", - "advanced_options.threaded_mode.long": "Автоматично відкриває відповідь на публікацію", - "advanced_options.threaded_mode.short": "Потоковий режим", - "advanced_options.threaded_mode.tooltip": "Потоковий режим увімкнуто", "boost_modal.missing_description": "Цей дмух містить деякі медіа без опису", "column.favourited_by": "Уподобані", "column.heading": "Різне", @@ -21,15 +13,9 @@ "column_subheading.lists": "Списки", "column_subheading.navigation": "Навігація", "community.column_settings.allow_local_only": "Показувати тільки локальні дмухи", - "compose.attach": "Вкласти...", - "compose.attach.doodle": "Помалювати", - "compose.attach.upload": "Завантажити сюди файл", "compose.content-type.html": "HTML", "compose.content-type.markdown": "Markdown", "compose.content-type.plain": "Звичайний текст", - "compose_form.poll.multiple_choices": "Дозволити кілька варіантів", - "compose_form.poll.single_choice": "Дозволити один вибір", - "compose_form.spoiler": "Приховати текст позаду попередження", "confirmation_modal.do_not_ask_again": "Більше не запитувати підтвердження", "confirmations.deprecated_settings.confirm": "Використовуйте налаштування Mastodon", "confirmations.deprecated_settings.message": "Деякі з специфічних для пристрою glitch-soc {app_settings}, які ви використовуєте, було замінено на Mastodon {preferences}, і їх буде перевизначено:", @@ -40,7 +26,6 @@ "confirmations.unfilter.confirm": "Показати", "confirmations.unfilter.edit_filter": "Редагувати фільтр", "confirmations.unfilter.filters": "Відповідність {count, plural, one {filter} other {filters}}", - "content-type.change": "Тип вмісту", "direct.group_by_conversations": "Групування за розмовами", "endorsed_accounts_editor.endorsed_accounts": "Рекомендовані облікові записи", "favourite_modal.combo": "Ви можете натиснути {combo}, щоб пропустити це наступного разу", @@ -52,7 +37,6 @@ "keyboard_shortcuts.bookmark": "В закладки", "keyboard_shortcuts.secondary_toot": "надсилати повідомлення з використанням вторинних налаштувань конфіденційності", "keyboard_shortcuts.toggle_collapse": "згорнути/розгорнути дмухи", - "media_gallery.sensitive": "Чутливі", "moved_to_warning": "Цей обліковий запис позначено як переміщений до {moved_to_link} і тому не може прийняти нових підписок.", "navigation_bar.app_settings": "Налаштування програми", "navigation_bar.featured_users": "Рекомендовані користувачі", @@ -153,6 +137,5 @@ "status.in_reply_to": "Цей дмух є відповіддю", "status.is_poll": "Цей дмух є опитуванням", "status.local_only": "Видимий лише з вашого інстансу", - "status.sensitive_toggle": "Натисніть для перегляду", "status.uncollapse": "Розгорнути" } diff --git a/app/javascript/flavours/glitch/locales/zh-CN.json b/app/javascript/flavours/glitch/locales/zh-CN.json index 742624108c..91bd738c19 100644 --- a/app/javascript/flavours/glitch/locales/zh-CN.json +++ b/app/javascript/flavours/glitch/locales/zh-CN.json @@ -1,36 +1,32 @@ { - "about.fork_disclaimer": "Glitch-soc是从Mastodon生成的免费开源软件。", - "account.disclaimer_full": "下面的信息可能不完全反映用户的个人资料。", + "about.fork_disclaimer": "Glitch-soc是从Mastodon派生的自由开源软件。", + "account.disclaimer_full": "以下信息可能无法完整反映该用户的个人资料。", "account.follows": "正在关注", "account.follows_you": "关注了你", - "account.joined": "加入于 {date}", "account.suspended_disclaimer_full": "该用户已被管理员封禁。", "account.view_full_profile": "查看完整资料", - "advanced_options.icon_title": "高级选项", - "advanced_options.local-only.long": "不要发布嘟文到其他实例", - "advanced_options.local-only.short": "仅本站", - "advanced_options.local-only.tooltip": "这条嘟文仅本站可见", - "advanced_options.threaded_mode.long": "发嘟时自动打开回复", - "advanced_options.threaded_mode.short": "话题模式", - "advanced_options.threaded_mode.tooltip": "话题模式已启用", "boost_modal.missing_description": "这条嘟文未包含媒体描述", "column.favourited_by": "点赞", "column.heading": "杂项", "column.reblogged_by": "转嘟", "column.subheading": "其他选项", - "column_header.profile": "个人资料", + "column_header.profile": "资料卡", "column_subheading.lists": "列表", "column_subheading.navigation": "导航", "community.column_settings.allow_local_only": "只显示仅本站可见的嘟文", - "compose.attach": "附上...", - "compose.attach.doodle": "画点什么", - "compose.attach.upload": "上传文件", + "compose.change_federation": "更改联动设置", + "compose.content-type.change": "更改高级格式选项", "compose.content-type.html": "HTML", + "compose.content-type.html_meta": "使用HTML格式化您的嘟文", "compose.content-type.markdown": "Markdown", + "compose.content-type.markdown_meta": "使用Markdown格式化您的嘟文", "compose.content-type.plain": "纯文本", - "compose_form.poll.multiple_choices": "允许多选", - "compose_form.poll.single_choice": "允许单选", - "compose_form.spoiler": "隐藏并添加内容警告", + "compose.content-type.plain_meta": "不使用高级格式写嘟文", + "compose.disable_threaded_mode": "禁用嘟文串模式", + "compose.enable_threaded_mode": "启用嘟文串模式", + "compose_form.sensitive.hide": "{count, plural, other {将媒体标记为敏感}}", + "compose_form.sensitive.marked": "{count, plural, other {媒体已被标记为敏感}}", + "compose_form.sensitive.unmarked": "{count, plural, other {媒体未被标记为敏感}}", "confirmation_modal.do_not_ask_again": "不再要求确认", "confirmations.deprecated_settings.confirm": "使用 Mastodon 偏好设置", "confirmations.deprecated_settings.message": "您正使用的glitch-soc的特定于此设备的 {app_settings} 已被Mastodon {preferences} 替换,并将被覆盖:", @@ -41,10 +37,13 @@ "confirmations.unfilter.confirm": "显示", "confirmations.unfilter.edit_filter": "编辑筛选器", "confirmations.unfilter.filters": "应用{count, plural, other {筛选器}}", - "content-type.change": "内容类型 ", "direct.group_by_conversations": "按对话分组", "endorsed_accounts_editor.endorsed_accounts": "精选账户", "favourite_modal.combo": "下次你可以按 {combo} 跳过这个", + "federation.federated.long": "允许此嘟文到达其它服务器", + "federation.federated.short": "联动", + "federation.local_only.long": "阻止此嘟文到达其它服务器", + "federation.local_only.short": "仅本站", "firehose.column_settings.allow_local_only": "在“全部”中显示仅本站可见的嘟文", "home.column_settings.advanced": "高级", "home.column_settings.filter_regex": "按正则表达式筛选", @@ -53,7 +52,6 @@ "keyboard_shortcuts.bookmark": "到收藏夹", "keyboard_shortcuts.secondary_toot": "使用另一隐私设置发送嘟文", "keyboard_shortcuts.toggle_collapse": "折叠或展开嘟文", - "media_gallery.sensitive": "敏感内容", "moved_to_warning": "此账户已被标记为移至 {moved_to_link},并且似乎没有收到新粉丝。", "navigation_bar.app_settings": "应用设置", "navigation_bar.featured_users": "推荐用户", @@ -154,7 +152,6 @@ "status.in_reply_to": "此嘟文是回复", "status.is_poll": "此嘟文是投票", "status.local_only": "此嘟文仅本站可见", - "status.sensitive_toggle": "点击查看", "status.uncollapse": "展开", "suggestions.dismiss": "关闭建议" } diff --git a/app/javascript/flavours/glitch/locales/zh-TW.json b/app/javascript/flavours/glitch/locales/zh-TW.json index 414bd44f78..59ad0f44ab 100644 --- a/app/javascript/flavours/glitch/locales/zh-TW.json +++ b/app/javascript/flavours/glitch/locales/zh-TW.json @@ -3,16 +3,8 @@ "account.disclaimer_full": "下面的資訊可能不完全反映使用者的個人資料。", "account.follows": "跟隨", "account.follows_you": "跟隨了您", - "account.joined": "加入於 {date}", "account.suspended_disclaimer_full": "使用者已被管理者停權。", "account.view_full_profile": "查看完整個人資料", - "advanced_options.icon_title": "進階選項", - "advanced_options.local-only.long": "不要傳遞給其他實例", - "advanced_options.local-only.short": "僅限本地", - "advanced_options.local-only.tooltip": "此貼文僅限本地", - "advanced_options.threaded_mode.long": "發佈時自動打開回覆", - "advanced_options.threaded_mode.short": "討論串模式", - "advanced_options.threaded_mode.tooltip": "已啟用討論串模式", "boost_modal.missing_description": "此貼文包含未加說明的媒體檔案", "column.favourited_by": "誰按了最愛", "column.heading": "雜項", @@ -22,15 +14,16 @@ "column_subheading.lists": "列表", "column_subheading.navigation": "導覽", "community.column_settings.allow_local_only": "顯示僅限本地的貼文", - "compose.attach": "附加...", - "compose.attach.doodle": "塗鴉", - "compose.attach.upload": "上傳檔案", + "compose.change_federation": "變更聯邦設定", + "compose.content-type.change": "變更進階格式設定", "compose.content-type.html": "HTML", + "compose.content-type.html_meta": "使用 HTML 格式撰寫貼文", "compose.content-type.markdown": "Markdown", + "compose.content-type.markdown_meta": "使用 Markdown 格式撰寫貼文", "compose.content-type.plain": "純文字", - "compose_form.poll.multiple_choices": "允許多重選擇", - "compose_form.poll.single_choice": "允許單一選擇", - "compose_form.spoiler": "將文字隱藏在內容警告後面", + "compose.content-type.plain_meta": "不使用進階格式撰寫", + "compose.disable_threaded_mode": "停用貼文串模式", + "compose.enable_threaded_mode": "啟用貼文串模式", "confirmation_modal.do_not_ask_again": "不要再顯示確認訊息", "confirmations.deprecated_settings.confirm": "使用 Mastodon 偏好", "confirmations.deprecated_settings.message": "您正在使用的某些特定於 glitch-soc 設備的 {app_settings} 已被 Mastodon {preferences} 所取代,並將被覆蓋:", @@ -40,10 +33,13 @@ "confirmations.unfilter.author": "作者", "confirmations.unfilter.confirm": "顯示", "confirmations.unfilter.edit_filter": "編輯篩選器", - "content-type.change": "內容類型", "direct.group_by_conversations": "以對話分組", "endorsed_accounts_editor.endorsed_accounts": "受推薦帳號", "favourite_modal.combo": "下次您可以按 {combo} 跳過", + "federation.federated.long": "允許此貼文發布到其他伺服器", + "federation.federated.short": "聯邦", + "federation.local_only.long": "避免此貼文發布到其他伺服器", + "federation.local_only.short": "僅限本地", "firehose.column_settings.allow_local_only": "在「全部」顯示僅限本地的貼文", "home.column_settings.advanced": "進階設定", "home.column_settings.filter_regex": "以正規表達式進行過濾", @@ -52,7 +48,6 @@ "keyboard_shortcuts.bookmark": "到書籤", "keyboard_shortcuts.secondary_toot": "使用次要隱私設定來發布貼文", "keyboard_shortcuts.toggle_collapse": "去折疊/展開貼文", - "media_gallery.sensitive": "敏感", "moved_to_warning": "此帳戶已標記為移至 {moved_to_link},因此可能不接受新的追隨者。", "navigation_bar.app_settings": "應用程式設定", "navigation_bar.featured_users": "被推薦的使用者", @@ -153,7 +148,6 @@ "status.in_reply_to": "貼文有回覆", "status.is_poll": "貼文有投票", "status.local_only": "只在此實例可見", - "status.sensitive_toggle": "點擊查看", "status.uncollapse": "展開", "suggestions.dismiss": "關閉建議" } diff --git a/config/locales-glitch/fr-CA.yml b/config/locales-glitch/fr-CA.yml index 2fbf0ffd71..f594483a3b 100644 --- a/config/locales-glitch/fr-CA.yml +++ b/config/locales-glitch/fr-CA.yml @@ -1 +1,42 @@ ---- {} +--- +fr-CA: + admin: + custom_emojis: + batch_copy_error: 'Une erreur est survenue lors de la copie de certains des émojis sélectionnés : %{message}' + batch_error: 'Une erreur est survenue : %{message}' + settings: + captcha_enabled: + desc_html: Ceci se base sur des scripts externes venant de hCaptcha, ce qui peut engendrer des soucis de sécurité et de confidentialité. De plus, cela peut rendre l'inscription beaucoup moins accessible pour certaines personnes (comme les personnes handicapées). Pour ces raisons, veuillez préférer des mesures alternatives telles que l'inscription sur acceptation ou invitation.
Les utilisateurs qui ont été invités via une invitation à usage limité n'auront pas à résoudre un CAPTCHA + title: Obliger les nouveaux utilisateurs à résoudre un CAPTCHA pour vérifier leur compte + flavour_and_skin: + title: Apparence et thèmes + hide_followers_count: + desc_html: Ne pas afficher le nombre d'abonné·e·s sur les profils des utilisateurs + title: Cacher le nombre d'abonné·e·s + other: + preamble: Divers autres paramètres de glitch-soc. + title: Autres + outgoing_spoilers: + desc_html: Ajouter un avertissement de contenu à tous les messages lorsqu'ils sont fédérés s'ils n'en possèdent pas déjà. Cela peut être utile si votre serveur est spécialisé dans un type de contenu sur lequel les autres serveurs pourraient vouloir un Avertissement de Contenu. Les médias seront également marqués comme sensibles. + title: Avertissement de contenu pour les messages sortants + show_reblogs_in_public_timelines: + desc_html: Afficher les partages publics de posts publics dans le fil local et global. + title: Afficher les partages dans les fils publics + show_replies_in_public_timelines: + desc_html: En plus des réponses à soi-même (threads), afficher les réponses publiques dans le fil local et global. + title: Afficher les réponses dans les fils publics + trending_status_cw: + desc_html: Quand les posts en tendance sont activés, permettre aux posts avec des avertissements de contenu (CW) d'être éligibles. Les changements effectués sur ce paramètre ne sont pas rétroactifs. + title: Autoriser les posts avec des avertissements de contenu à être en tendances + appearance: + localization: + glitch_guide_link: https://fr.crowdin.com/project/glitch-soc + glitch_guide_link_text: Et c'est pareil avec glitch-soc ! + auth: + captcha_confirmation: + hint_html: Plus qu'une étape ! Pour vérifier votre compte sur ce serveur, vous devez résoudre un CAPTCHA. Vous pouvez contacter l'administrateur·ice du serveur si vous avez des questions ou besoin d'assistance dans la vérification de votre compte. + title: Vérification de l'utilisateur + generic: + use_this: Utiliser ceci + settings: + flavours: Thèmes diff --git a/config/locales-glitch/no.yml b/config/locales-glitch/no.yml index d36c60a4ac..d2a4697e5d 100644 --- a/config/locales-glitch/no.yml +++ b/config/locales-glitch/no.yml @@ -1 +1 @@ -'no': +no: diff --git a/config/locales-glitch/simple_form.fr-CA.yml b/config/locales-glitch/simple_form.fr-CA.yml index 2fbf0ffd71..3bc56611e3 100644 --- a/config/locales-glitch/simple_form.fr-CA.yml +++ b/config/locales-glitch/simple_form.fr-CA.yml @@ -1 +1,26 @@ ---- {} +--- +fr-CA: + simple_form: + glitch_only: glitch-soc + hints: + defaults: + setting_default_content_type_html: Vos posts sont écrits en HTML brut, sauf indication contraire + setting_default_content_type_markdown: Vos posts utilisent Markdown pour un formatage de texte enrichi, sauf indication contraire + setting_default_content_type_plain: Vos posts sont écrits en texte brut sans formatage spécial, sauf indication contraire (comportement par défaut de Mastodon) + setting_default_language: La langue utilisée pour vos posts peut être automatiquement détectée, cependant cette détection n'est pas toujours fiable + setting_show_followers_count: Montrer votre nombre d'abonné·e·s sur votre profil. Si vous cachez votre nombre d'abonné·e·s, il le sera de vous-même également, et certaines applications pourraient indiquer un compte d'abonné·e·s négatif. + setting_skin: Relooke le mode de Mastodon choisi + labels: + defaults: + setting_default_content_type: Format par défaut pour les posts + setting_default_content_type_html: HTML + setting_default_content_type_markdown: Markdown + setting_default_content_type_plain: Texte brut + setting_favourite_modal: Afficher une fenêtre de confirmation avant de mettre en favori un post (s'applique uniquement au mode Glitch) + setting_show_followers_count: Cacher votre nombre d'abonné·e·s + setting_skin: Thème + setting_system_emoji_font: Utiliser la police par défaut du système pour les émojis (s'applique uniquement au mode Glitch) + notification_emails: + trending_link: Un nouveau lien en tendances nécessite un examen + trending_status: Un nouveau post en tendances nécessite un examen + trending_tag: Un nouveau tag en tendances nécessite un examen diff --git a/config/locales-glitch/simple_form.no.yml b/config/locales-glitch/simple_form.no.yml index d36c60a4ac..d2a4697e5d 100644 --- a/config/locales-glitch/simple_form.no.yml +++ b/config/locales-glitch/simple_form.no.yml @@ -1 +1 @@ -'no': +no: diff --git a/config/locales-glitch/zh-CN.yml b/config/locales-glitch/zh-CN.yml index 41a153ae10..aa90d35644 100644 --- a/config/locales-glitch/zh-CN.yml +++ b/config/locales-glitch/zh-CN.yml @@ -11,7 +11,7 @@ zh-CN: flavour_and_skin: title: 风格与皮肤 hide_followers_count: - desc_html: 不要在用户资料中显示粉丝数 + desc_html: 不要在用户资料卡中显示粉丝数 title: 隐藏粉丝数 other: preamble: 各种不适合归类到其他类别的glitch-soc设置。 @@ -23,7 +23,7 @@ zh-CN: desc_html: 在本站和跨站时间线中显示公开嘟文的转嘟。 title: 在公共时间线中显示转嘟 show_replies_in_public_timelines: - desc_html: 除了公开的自我回复(线程模式),在本地和跨站时间轴中显示公开回复。 + desc_html: 除公开的自我回复(嘟文串)外,在本地和跨站时间轴中显示公开回复。 title: 在公共时间线中显示回复 trending_status_cw: desc_html: 当热门帖子被启用时,允许带有内容警告的帖子获得资格。此设置的更改不具有追溯性。 From 9242c536d28446c52109c9bd842f61ed0d4bf470 Mon Sep 17 00:00:00 2001 From: Essem Date: Wed, 28 Feb 2024 23:40:02 -0600 Subject: [PATCH 02/16] Use openURL function from upstream --- .../flavours/glitch/actions/search.js | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/app/javascript/flavours/glitch/actions/search.js b/app/javascript/flavours/glitch/actions/search.js index 7e54740d52..44344e2fb5 100644 --- a/app/javascript/flavours/glitch/actions/search.js +++ b/app/javascript/flavours/glitch/actions/search.js @@ -143,11 +143,14 @@ export const showSearch = () => ({ type: SEARCH_SHOW, }); -export const openURL = routerHistory => (dispatch, getState) => { - const value = getState().getIn(['search', 'value']); +export const openURL = (value, history, onFailure) => (dispatch, getState) => { const signedIn = !!getState().getIn(['meta', 'me']); if (!signedIn) { + if (onFailure) { + onFailure(); + } + return; } @@ -156,15 +159,21 @@ export const openURL = routerHistory => (dispatch, getState) => { api(getState).get('/api/v2/search', { params: { q: value, resolve: true } }).then(response => { if (response.data.accounts?.length > 0) { dispatch(importFetchedAccounts(response.data.accounts)); - routerHistory.push(`/@${response.data.accounts[0].acct}`); + history.push(`/@${response.data.accounts[0].acct}`); } else if (response.data.statuses?.length > 0) { dispatch(importFetchedStatuses(response.data.statuses)); - routerHistory.push(`/@${response.data.statuses[0].account.acct}/${response.data.statuses[0].id}`); + history.push(`/@${response.data.statuses[0].account.acct}/${response.data.statuses[0].id}`); + } else if (onFailure) { + onFailure(); } dispatch(fetchSearchSuccess(response.data, value)); }).catch(err => { dispatch(fetchSearchFail(err)); + + if (onFailure) { + onFailure(); + } }); }; From cdf5098166a7d03efb73fb5d8f0f655fed8ffbce Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 29 Feb 2024 10:38:33 +0100 Subject: [PATCH 03/16] New Crowdin Translations (automated) (#29452) Co-authored-by: GitHub Actions --- app/javascript/mastodon/locales/lt.json | 5 +++-- app/javascript/mastodon/locales/nl.json | 4 ++-- app/javascript/mastodon/locales/zh-TW.json | 2 +- config/locales/cy.yml | 5 +++++ config/locales/is.yml | 5 +++++ config/locales/lt.yml | 2 +- config/locales/simple_form.cy.yml | 2 ++ config/locales/simple_form.is.yml | 2 ++ config/locales/simple_form.nl.yml | 4 ++-- 9 files changed, 23 insertions(+), 8 deletions(-) diff --git a/app/javascript/mastodon/locales/lt.json b/app/javascript/mastodon/locales/lt.json index e8c51791ee..35722b0e0d 100644 --- a/app/javascript/mastodon/locales/lt.json +++ b/app/javascript/mastodon/locales/lt.json @@ -1,6 +1,6 @@ { "about.blocks": "Prižiūrimi serveriai", - "about.contact": "Kontaktuoti:", + "about.contact": "Kontaktai:", "about.disclaimer": "Mastodon – nemokama atvirojo kodo programa ir Mastodon gGmbH prekės ženklas.", "about.domain_blocks.no_reason_available": "Priežastis nepateikta", "about.domain_blocks.preamble": "Mastodon paprastai leidžia peržiūrėti turinį ir bendrauti su naudotojais iš bet kurio kito fediverse esančio serverio. Šios yra išimtys, kurios buvo padarytos šiame konkrečiame serveryje.", @@ -424,7 +424,7 @@ "notifications.column_settings.mention": "Paminėjimai:", "notifications.column_settings.poll": "Balsavimo rezultatai:", "notifications.column_settings.push": "\"Push\" pranešimai", - "notifications.column_settings.reblog": "\"Boost\" kiekis:", + "notifications.column_settings.reblog": "Pakėlimai:", "notifications.column_settings.show": "Rodyti stulpelyje", "notifications.column_settings.sound": "Paleisti garsą", "notifications.column_settings.status": "New toots:", @@ -636,6 +636,7 @@ "status.translate": "Versti", "status.translated_from_with": "Išversta iš {lang} naudojant {provider}", "status.uncached_media_warning": "Peržiūra nepasiekiama", + "subscribed_languages.lead": "Po pakeitimo tavo pagrindinėje ir sąrašo laiko juostose bus rodomi tik įrašai pasirinktomis kalbomis. Jei nori gauti įrašus visomis kalbomis, pasirink nė vieno.", "tabs_bar.home": "Pradžia", "tabs_bar.notifications": "Pranešimai", "time_remaining.days": "Liko {number, plural, one {# diena} few {# dienos} many {# dieno} other {# dienų}}", diff --git a/app/javascript/mastodon/locales/nl.json b/app/javascript/mastodon/locales/nl.json index df04ded166..f2367f6463 100644 --- a/app/javascript/mastodon/locales/nl.json +++ b/app/javascript/mastodon/locales/nl.json @@ -529,8 +529,8 @@ "poll_button.add_poll": "Peiling toevoegen", "poll_button.remove_poll": "Peiling verwijderen", "privacy.change": "Zichtbaarheid van bericht aanpassen", - "privacy.direct.long": "Iedereen die in het bericht wordt vermeld", - "privacy.direct.short": "Bepaalde mensen", + "privacy.direct.long": "Alleen voor mensen die specifiek in het bericht worden vermeld", + "privacy.direct.short": "Specifieke mensen", "privacy.private.long": "Alleen jouw volgers", "privacy.private.short": "Volgers", "privacy.public.long": "Iedereen op Mastodon en daarbuiten", diff --git a/app/javascript/mastodon/locales/zh-TW.json b/app/javascript/mastodon/locales/zh-TW.json index 0ecf1378e3..4962aedad5 100644 --- a/app/javascript/mastodon/locales/zh-TW.json +++ b/app/javascript/mastodon/locales/zh-TW.json @@ -668,7 +668,7 @@ "status.mute": "靜音 @{name}", "status.mute_conversation": "靜音對話", "status.open": "展開此嘟文", - "status.pin": "釘選到個人檔案頁面", + "status.pin": "釘選至個人檔案頁面", "status.pinned": "釘選嘟文", "status.read_more": "閱讀更多", "status.reblog": "轉嘟", diff --git a/config/locales/cy.yml b/config/locales/cy.yml index 5085942fb7..1fbcbb2255 100644 --- a/config/locales/cy.yml +++ b/config/locales/cy.yml @@ -823,6 +823,7 @@ cy: disabled: I neb users: I ddefnyddwyr lleol wedi'u mewngofnodi registrations: + moderation_recommandation: Gwnewch yn siŵr bod gennych chi dîm cymedroli digonol ac adweithiol cyn i chi agor cofrestriadau i bawb! preamble: Rheoli pwy all greu cyfrif ar eich gweinydd. title: Cofrestriadau registrations_mode: @@ -830,6 +831,7 @@ cy: approved: Mae angen cymeradwyaeth i gofrestru none: Nid oes neb yn gallu cofrestru open: Gall unrhyw un cofrestru + warning_hint: Rydym yn argymell defnyddio “Mae angen cymeradwyaeth ar gyfer cofrestru” oni bai eich bod yn hyderus y gall eich tîm cymedroli ymdrin â chofrestriadau sbam a rhai maleisus mewn modd amserol. security: authorized_fetch: Mae angen dilysu gan weinyddion ffederal authorized_fetch_hint: Mae gofyn am ddilysiad gan weinyddion ffederal yn galluogi gorfodi llymach ar flociau lefel defnyddiwr a lefel gweinydd. Fodd bynnag, daw hyn ar gost perfformiad arafach, mae'n lleihau cyrhaeddiad eich atebion, a gall gyflwyno materion cydnawsedd gyda rhai gwasanaethau ffederal. Yn ogystal, ni fydd hyn yn atal actorion ymroddedig rhag estyn eich postiadau a'ch cyfrifon cyhoeddus. @@ -1038,6 +1040,9 @@ cy: title: Bachau Gwe webhook: Bachyn Gwe admin_mailer: + auto_close_registrations: + body: Oherwydd diffyg gweithgarwch cymedrolwr diweddar, mae cofrestriadau ar %{instance} wedi'u newid yn awtomatig i'r angen i gael adolygiad â llaw, er mwyn atal %{instance} rhag cael ei ddefnyddio fel llwyfan ar gyfer actorion drwg posibl. Gallwch ei newid yn ôl i agor cofrestriadau ar unrhyw adeg. + subject: Mae cofrestriadau ar gyfer %{instance} wedi'u newid yn awtomatig i'r angen i gael cymeradwyaeth new_appeal: actions: delete_statuses: i ddileu eu postiadau diff --git a/config/locales/is.yml b/config/locales/is.yml index d374c60755..56d71bd9ad 100644 --- a/config/locales/is.yml +++ b/config/locales/is.yml @@ -769,6 +769,7 @@ is: disabled: Til engra users: Til innskráðra staðværra notenda registrations: + moderation_recommandation: Tryggðu að þú hafir hæft og aðgengilegt umsjónarteymi til taks áður en þú opnar á skráningar fyrir alla! preamble: Stýrðu því hverjir geta útbúið notandaaðgang á netþjóninum þínum. title: Nýskráningar registrations_mode: @@ -776,6 +777,7 @@ is: approved: Krafist er samþykkt nýskráningar none: Enginn getur nýskráð sig open: Allir geta nýskráð sig + warning_hint: Við mælum með því að nota "Krafist er samþykkt nýskráningar" nema ef þú sért viss um að umsjónarteymið þitt geti brugðist tímanlega við ruslpósti og skráningum í misjöfnum tilgangi. security: authorized_fetch: Krefjast auðkenningar frá netþjónum í skýjasambandi authorized_fetch_hint: Að krefjast auðkenningar frá netþjónum í skýjasambandi kallar fram strangari útfærslu á útilokunum, bæði varðandi notendur og netþjóna. Hins vegar kemur þetta niður á afköstum, minnkar útbreiðslu á svörum þínum og gæti valdið samhæfnivandamálum við sumar sambandsþjónustur. Að auki kemur þetta ekki í veg fyrir að aðilar sem ætla sér að ná í opinberar færslur og notendaaðganga frá þér geri það. @@ -968,6 +970,9 @@ is: title: Webhook-vefkrækjur webhook: Webhook-vefkrækja admin_mailer: + auto_close_registrations: + body: Vegna skorts á virkni umsjónaraðila að undanförnu, hafa nýskráningar á %{instance} sjálfkrafa verið stilltar á að þarfnast samþykktar umsjónaraðila, til að koma í veg fyrir að %{instance} verði mögulega misnotað af óprúttnum aðilum. Þú getur skipt hvenær sem er aftur yfir í opnar nýskráningar. + subject: Nýskráningar á %{instance} hafa sjálfkrafa verið stilltar á að krefjast samþykktar new_appeal: actions: delete_statuses: að eyða færslum viðkomandi diff --git a/config/locales/lt.yml b/config/locales/lt.yml index 590062f3d9..6ca6f3b62f 100644 --- a/config/locales/lt.yml +++ b/config/locales/lt.yml @@ -319,7 +319,7 @@ lt: guide_link_text: Visi gali prisidėti. application_mailer: notification_preferences: Keisti el pašto parinktis - settings: 'Keisti el pašto parinktis: %{link}' + settings: 'Keisti el. pašto nuostatas: %{link}' view: 'Peržiūra:' view_profile: Peržiurėti profilį view_status: Peržiūrėti statusą diff --git a/config/locales/simple_form.cy.yml b/config/locales/simple_form.cy.yml index 3bba0d71cb..3daedfc860 100644 --- a/config/locales/simple_form.cy.yml +++ b/config/locales/simple_form.cy.yml @@ -39,12 +39,14 @@ cy: text: Dim ond unwaith y gallwch apelio yn erbyn rhybudd defaults: autofollow: Bydd pobl sy'n cofrestru drwy'r gwahoddiad yn eich dilyn yn awtomatig + avatar: WEBP, PNG, GIF neu JPG. %{size} ar y mwyaf. Bydd yn cael ei leihau i %{dimensions}px bot: Mae'r cyfrif hwn yn perfformio gweithredoedd awtomatig yn bennaf ac mae'n bosib nad yw'n cael ei fonitro context: Un neu fwy cyd-destun lle dylai'r hidlydd weithio current_password: At ddibenion diogelwch, nodwch gyfrinair y cyfrif cyfredol current_username: I gadarnhau, nodwch enw defnyddiwr y cyfrif cyfredol digest: Ond yn cael eu hanfon ar ôl cyfnod hir o anweithgarwch ac ond os ydych wedi derbyn unrhyw negeseuon personol yn eich absenoldeb email: Byddwch yn derbyn e-bost cadarnhau + header: WEBP, PNG, GIF neu JPG. %{size} ar y mwyaf. Bydd yn cael ei leihau i %{dimensions}px inbox_url: Copïwch yr URL o dudalen flaen y relái yr ydych am ei ddefnyddio irreversible: Bydd postiadau wedi'u hidlo'n diflannu'n ddiwrthdro, hyd yn oed os caiff yr hidlydd ei dynnu'n ddiweddarach locale: Iaith y rhyngwyneb, e-byst a hysbysiadau gwthiadwy diff --git a/config/locales/simple_form.is.yml b/config/locales/simple_form.is.yml index 0e9c50eff6..0859e89897 100644 --- a/config/locales/simple_form.is.yml +++ b/config/locales/simple_form.is.yml @@ -39,12 +39,14 @@ is: text: Þú getur aðeins áfrýjað refsingu einu sinni defaults: autofollow: Fólk sem skráir sig í gegnum boðið mun sjálfkrafa fylgjast með þér + avatar: WEBP, PNG, GIF eða JPG. Mest %{size}. Verður smækkað í %{dimensions}px bot: Þessi aðgangur er aðallega til að framkvæma sjálfvirkar aðgerðir og gæti verið án þess að hann sé vaktaður reglulega context: Eitt eða fleiri samhengi þar sem sían ætti að gilda current_password: Í öryggisskyni skaltu setja inn lykilorðið fyrir þennan notandaaðgang current_username: Til að staðfesta skaltu setja inn notandanafnið fyrir þennan notandaaðgang digest: Er aðeins sent eftir lengri tímabil án virkni og þá aðeins ef þú hefur fengið persónuleg skilaboð á meðan þú hefur ekki verið á línunni email: Þú munt fá sendan staðfestingarpóst + header: WEBP, PNG, GIF eða JPG. Mest %{size}. Verður smækkað í %{dimensions}px inbox_url: Afritaðu slóðina af forsíðu endurvarpans sem þú vilt nota irreversible: Síaðar færslur munu hverfa óendurkræft, jafnvel þó sían sé seinna fjarlægð locale: Tungumál notandaviðmótsins, tölvupósts og ýti-tilkynninga diff --git a/config/locales/simple_form.nl.yml b/config/locales/simple_form.nl.yml index 18a469b55e..3f4f339b93 100644 --- a/config/locales/simple_form.nl.yml +++ b/config/locales/simple_form.nl.yml @@ -39,14 +39,14 @@ nl: text: Je kunt maar eenmalig bezwaar indienen tegen een vastgestelde overtreding defaults: autofollow: Mensen die zich via de uitnodiging hebben geregistreerd, volgen jou automatisch - avatar: WEBP, PNG, GIF of JPG. Hoogstens %{size}. Wordt verkleind naar %{dimensions}px + avatar: WEBP, PNG, GIF of JPG. Maximaal %{size}. Wordt verkleind naar %{dimensions}px bot: Signaal aan anderen dat het account voornamelijk geautomatiseerde acties uitvoert en mogelijk niet wordt gecontroleerd context: Een of meerdere locaties waar de filter actief moet zijn current_password: Voer voor veiligheidsredenen het wachtwoord van je huidige account in current_username: Voer ter bevestiging de gebruikersnaam van je huidige account in digest: Wordt alleen na een lange periode van inactiviteit verzonden en alleen wanneer je tijdens jouw afwezigheid persoonlijke berichten hebt ontvangen email: Je krijgt een bevestigingsmail - header: WEBP, PNG, GIF of JPG. Hoogstens %{size}. Wordt verkleind naar %{dimensions}px + header: WEBP, PNG, GIF of JPG. Maximaal %{size}. Wordt verkleind naar %{dimensions}px inbox_url: Kopieer de URL van de voorpagina van de relayserver die je wil gebruiken irreversible: Gefilterde berichten verdwijnen onomkeerbaar, zelfs als de filter later wordt verwijderd locale: De taal van de gebruikersomgeving, e-mails en pushmeldingen From 4185f3792c84fb81ba74be047a7014be3ab318ec Mon Sep 17 00:00:00 2001 From: Renaud Chaput Date: Thu, 29 Feb 2024 10:40:13 +0100 Subject: [PATCH 04/16] Fix full date display not respecting the locale 12/24h format (#29448) --- app/javascript/mastodon/components/edited_timestamp/index.jsx | 2 +- app/javascript/mastodon/components/relative_timestamp.tsx | 1 - app/javascript/mastodon/components/status.jsx | 2 +- app/javascript/mastodon/features/account/components/header.jsx | 1 - .../features/getting_started/components/announcements.jsx | 2 +- .../mastodon/features/status/components/detailed_status.jsx | 2 +- app/javascript/packs/public.jsx | 1 - 7 files changed, 4 insertions(+), 7 deletions(-) diff --git a/app/javascript/mastodon/components/edited_timestamp/index.jsx b/app/javascript/mastodon/components/edited_timestamp/index.jsx index 4ca00f8dda..7b70f9d6e1 100644 --- a/app/javascript/mastodon/components/edited_timestamp/index.jsx +++ b/app/javascript/mastodon/components/edited_timestamp/index.jsx @@ -67,7 +67,7 @@ class EditedTimestamp extends PureComponent { return ( ); diff --git a/app/javascript/mastodon/components/relative_timestamp.tsx b/app/javascript/mastodon/components/relative_timestamp.tsx index ac3ab0fb4d..12530c2b17 100644 --- a/app/javascript/mastodon/components/relative_timestamp.tsx +++ b/app/javascript/mastodon/components/relative_timestamp.tsx @@ -53,7 +53,6 @@ const messages = defineMessages({ }); const dateFormatOptions = { - hour12: false, year: 'numeric', month: 'short', day: '2-digit', diff --git a/app/javascript/mastodon/components/status.jsx b/app/javascript/mastodon/components/status.jsx index 1171351c51..be9a1cec65 100644 --- a/app/javascript/mastodon/components/status.jsx +++ b/app/javascript/mastodon/components/status.jsx @@ -554,7 +554,7 @@ class Status extends ImmutablePureComponent {
- {status.get('edited_at') && *} + {status.get('edited_at') && *} diff --git a/app/javascript/mastodon/features/account/components/header.jsx b/app/javascript/mastodon/features/account/components/header.jsx index 233d208c64..07ea227c48 100644 --- a/app/javascript/mastodon/features/account/components/header.jsx +++ b/app/javascript/mastodon/features/account/components/header.jsx @@ -101,7 +101,6 @@ const dateFormatOptions = { month: 'short', day: 'numeric', year: 'numeric', - hour12: false, hour: '2-digit', minute: '2-digit', }; diff --git a/app/javascript/mastodon/features/getting_started/components/announcements.jsx b/app/javascript/mastodon/features/getting_started/components/announcements.jsx index ea36cefd7d..3c0b53b9e7 100644 --- a/app/javascript/mastodon/features/getting_started/components/announcements.jsx +++ b/app/javascript/mastodon/features/getting_started/components/announcements.jsx @@ -343,7 +343,7 @@ class Announcement extends ImmutablePureComponent { diff --git a/app/javascript/packs/public.jsx b/app/javascript/packs/public.jsx index 01b57dce39..d8a4c16034 100644 --- a/app/javascript/packs/public.jsx +++ b/app/javascript/packs/public.jsx @@ -65,7 +65,6 @@ function loaded() { const timeFormat = new Intl.DateTimeFormat(locale, { timeStyle: 'short', - hour12: false, }); const formatMessage = ({ id, defaultMessage }, values) => { From 14c65180df7d20bbbd5a9b8f80500301d3caca94 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Thu, 29 Feb 2024 05:51:11 -0500 Subject: [PATCH 05/16] Use sequence in `software_update` fabricator to allow multiple (#29438) --- spec/fabricators/software_update_fabricator.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/fabricators/software_update_fabricator.rb b/spec/fabricators/software_update_fabricator.rb index 622fff66e8..f4b607da0a 100644 --- a/spec/fabricators/software_update_fabricator.rb +++ b/spec/fabricators/software_update_fabricator.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true Fabricator(:software_update) do - version '99.99.99' + version { sequence(:version) { |point| "99.99.#{point}" } } urgent false type 'patch' end From e1fcb02867a0103977062ae11b86f80c5e3fd74f Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Thu, 29 Feb 2024 06:00:58 -0500 Subject: [PATCH 06/16] Align `TagServersMeasure` to use `WITH` query style similar to others (#29435) --- .../metrics/measure/tag_servers_measure.rb | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/app/lib/admin/metrics/measure/tag_servers_measure.rb b/app/lib/admin/metrics/measure/tag_servers_measure.rb index 6eb46bca45..e0f1bf3440 100644 --- a/app/lib/admin/metrics/measure/tag_servers_measure.rb +++ b/app/lib/admin/metrics/measure/tag_servers_measure.rb @@ -28,14 +28,17 @@ class Admin::Metrics::Measure::TagServersMeasure < Admin::Metrics::Measure::Base def sql_query_string <<~SQL.squish SELECT axis.*, ( - SELECT count(distinct accounts.domain) AS value - FROM statuses - INNER JOIN statuses_tags ON statuses.id = statuses_tags.status_id - INNER JOIN accounts ON statuses.account_id = accounts.id - WHERE statuses_tags.tag_id = :tag_id - AND statuses.id BETWEEN :earliest_status_id AND :latest_status_id - AND date_trunc('day', statuses.created_at)::date = axis.period - ) + WITH tag_servers AS ( + SELECT DISTINCT accounts.domain + FROM statuses + INNER JOIN statuses_tags ON statuses.id = statuses_tags.status_id + INNER JOIN accounts ON statuses.account_id = accounts.id + WHERE statuses_tags.tag_id = :tag_id + AND statuses.id BETWEEN :earliest_status_id AND :latest_status_id + AND date_trunc('day', statuses.created_at)::date = axis.period + ) + SELECT COUNT(*) FROM tag_servers + ) AS value FROM ( SELECT generate_series(date_trunc('day', :start_at::timestamp)::date, date_trunc('day', :end_at::timestamp)::date, interval '1 day') AS period ) as axis From 1c4f36422d856ca26b282b28dab5706115365555 Mon Sep 17 00:00:00 2001 From: Claire Date: Thu, 29 Feb 2024 12:51:22 +0100 Subject: [PATCH 07/16] Fix bogus translation files --- config/locales-glitch/no.yml | 2 +- config/locales-glitch/simple_form.no.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/config/locales-glitch/no.yml b/config/locales-glitch/no.yml index d2a4697e5d..d36c60a4ac 100644 --- a/config/locales-glitch/no.yml +++ b/config/locales-glitch/no.yml @@ -1 +1 @@ -no: +'no': diff --git a/config/locales-glitch/simple_form.no.yml b/config/locales-glitch/simple_form.no.yml index d2a4697e5d..d36c60a4ac 100644 --- a/config/locales-glitch/simple_form.no.yml +++ b/config/locales-glitch/simple_form.no.yml @@ -1 +1 @@ -no: +'no': From 6675bf574adf6fc898dde84fccdbd7abe17c3072 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Thu, 29 Feb 2024 08:47:38 -0500 Subject: [PATCH 08/16] Extract `parsed_uri_query_values` helper in ap/replies controller spec (#29410) --- .../activitypub/replies_controller_spec.rb | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/spec/controllers/activitypub/replies_controller_spec.rb b/spec/controllers/activitypub/replies_controller_spec.rb index 6b5a69d42a..db7f60d3f8 100644 --- a/spec/controllers/activitypub/replies_controller_spec.rb +++ b/spec/controllers/activitypub/replies_controller_spec.rb @@ -90,7 +90,7 @@ RSpec.describe ActivityPub::RepliesController do context 'when there are few self-replies' do it 'points next to replies from other people' do expect(page_json).to be_a Hash - expect(Addressable::URI.parse(page_json[:next]).query.split('&')).to include('only_other_accounts=true', 'page=true') + expect(parsed_uri_query_values(page_json[:next])).to include('only_other_accounts=true', 'page=true') end end @@ -101,7 +101,7 @@ RSpec.describe ActivityPub::RepliesController do it 'points next to other self-replies' do expect(page_json).to be_a Hash - expect(Addressable::URI.parse(page_json[:next]).query.split('&')).to include('only_other_accounts=false', 'page=true') + expect(parsed_uri_query_values(page_json[:next])).to include('only_other_accounts=false', 'page=true') end end end @@ -140,7 +140,7 @@ RSpec.describe ActivityPub::RepliesController do it 'points next to other replies' do expect(page_json).to be_a Hash - expect(Addressable::URI.parse(page_json[:next]).query.split('&')).to include('only_other_accounts=true', 'page=true') + expect(parsed_uri_query_values(page_json[:next])).to include('only_other_accounts=true', 'page=true') end end end @@ -196,6 +196,13 @@ RSpec.describe ActivityPub::RepliesController do private + def parsed_uri_query_values(uri) + Addressable::URI + .parse(uri) + .query + .split('&') + end + def ap_public_collection ActivityPub::TagManager::COLLECTIONS[:public] end From f24c62a5c809e9d3ec944804a9c28804d9896bbd Mon Sep 17 00:00:00 2001 From: Claire Date: Thu, 29 Feb 2024 14:54:02 +0100 Subject: [PATCH 09/16] Fix preview card player getting embedded when clicking on the external link button (#29457) --- app/javascript/mastodon/features/status/components/card.jsx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/javascript/mastodon/features/status/components/card.jsx b/app/javascript/mastodon/features/status/components/card.jsx index f37b558c4c..f47861f663 100644 --- a/app/javascript/mastodon/features/status/components/card.jsx +++ b/app/javascript/mastodon/features/status/components/card.jsx @@ -92,6 +92,10 @@ export default class Card extends PureComponent { this.setState({ embedded: true }); }; + handleExternalLinkClick = (e) => { + e.stopPropagation(); + }; + setRef = c => { this.node = c; }; @@ -201,7 +205,7 @@ export default class Card extends PureComponent {
- +
) : spoilerButton} From edd6aa70e1117818669cf0b85b7a3cde06a3c8c1 Mon Sep 17 00:00:00 2001 From: Claire Date: Thu, 29 Feb 2024 14:54:06 +0100 Subject: [PATCH 10/16] Fix regression with search bar icon position (#29456) --- app/javascript/styles/mastodon/components.scss | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/app/javascript/styles/mastodon/components.scss b/app/javascript/styles/mastodon/components.scss index 29c91ef7bc..5bd11c3500 100644 --- a/app/javascript/styles/mastodon/components.scss +++ b/app/javascript/styles/mastodon/components.scss @@ -5210,10 +5210,6 @@ a.status-card { pointer-events: auto; opacity: 1; } - - @media screen and (min-width: $no-gap-breakpoint) { - inset-inline-start: 16px - 2px; - } } .icon-search { @@ -8265,7 +8261,7 @@ noscript { .search__input { border: 1px solid lighten($ui-base-color, 8%); padding: 10px; - padding-inline-end: 28px; + padding-inline-end: 30px; } .search__popout { From eb1b8f69de70bbf82fcf14663482c57a25161024 Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Thu, 29 Feb 2024 09:21:56 -0500 Subject: [PATCH 11/16] Allow pagination `Link` headers on API accounts/statuses when pinned true (#29442) --- .../api/v1/accounts/statuses_controller.rb | 2 +- .../v1/accounts/statuses_controller_spec.rb | 48 ++++++++++++++++++- 2 files changed, 47 insertions(+), 3 deletions(-) diff --git a/app/controllers/api/v1/accounts/statuses_controller.rb b/app/controllers/api/v1/accounts/statuses_controller.rb index fe4279302f..6a994ff541 100644 --- a/app/controllers/api/v1/accounts/statuses_controller.rb +++ b/app/controllers/api/v1/accounts/statuses_controller.rb @@ -4,7 +4,7 @@ class Api::V1::Accounts::StatusesController < Api::BaseController before_action -> { authorize_if_got_token! :read, :'read:statuses' } before_action :set_account - after_action :insert_pagination_headers, unless: -> { truthy_param?(:pinned) } + after_action :insert_pagination_headers def index cache_if_unauthenticated! diff --git a/spec/controllers/api/v1/accounts/statuses_controller_spec.rb b/spec/controllers/api/v1/accounts/statuses_controller_spec.rb index 9bf385c03d..102e3b8e91 100644 --- a/spec/controllers/api/v1/accounts/statuses_controller_spec.rb +++ b/spec/controllers/api/v1/accounts/statuses_controller_spec.rb @@ -18,7 +18,8 @@ describe Api::V1::Accounts::StatusesController do get :index, params: { account_id: user.account.id, limit: 1 } expect(response).to have_http_status(200) - expect(response.headers['Link'].links.size).to eq(2) + expect(links_from_header.size) + .to eq(2) end context 'with only media' do @@ -55,10 +56,45 @@ describe Api::V1::Accounts::StatusesController do Fabricate(:status_pin, account: user.account, status: Fabricate(:status, account: user.account)) end - it 'returns http success' do + it 'returns http success and includes a header link' do get :index, params: { account_id: user.account.id, pinned: true } expect(response).to have_http_status(200) + expect(links_from_header.size) + .to eq(1) + expect(links_from_header) + .to contain_exactly( + have_attributes( + href: /pinned=true/, + attr_pairs: contain_exactly(['rel', 'prev']) + ) + ) + end + end + + context 'with enough pinned statuses to paginate' do + before do + stub_const 'Api::BaseController::DEFAULT_STATUSES_LIMIT', 1 + 2.times { Fabricate(:status_pin, account: user.account) } + end + + it 'returns http success and header pagination links to prev and next' do + get :index, params: { account_id: user.account.id, pinned: true } + + expect(response).to have_http_status(200) + expect(links_from_header.size) + .to eq(2) + expect(links_from_header) + .to contain_exactly( + have_attributes( + href: /pinned=true/, + attr_pairs: contain_exactly(['rel', 'next']) + ), + have_attributes( + href: /pinned=true/, + attr_pairs: contain_exactly(['rel', 'prev']) + ) + ) end end @@ -98,4 +134,12 @@ describe Api::V1::Accounts::StatusesController do end end end + + private + + def links_from_header + response + .headers['Link'] + .links + end end From 6dfe318f34d69066dc0f453a228fdfc6af84b62e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 29 Feb 2024 16:20:39 +0100 Subject: [PATCH 12/16] Update dependency express to v4.18.3 (#29458) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- yarn.lock | 67 +++++++++++++++---------------------------------------- 1 file changed, 18 insertions(+), 49 deletions(-) diff --git a/yarn.lock b/yarn.lock index dda4ed326e..b336fef88c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -42,7 +42,7 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.22.13, @babel/code-frame@npm:^7.23.5": +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.10.4, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.23.5": version: 7.23.5 resolution: "@babel/code-frame@npm:7.23.5" dependencies: @@ -373,15 +373,6 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.22.15": - version: 7.23.6 - resolution: "@babel/parser@npm:7.23.6" - bin: - parser: ./bin/babel-parser.js - checksum: 10c0/6f76cd5ccae1fa9bcab3525b0865c6222e9c1d22f87abc69f28c5c7b2c8816a13361f5bd06bddbd5faf903f7320a8feba02545c981468acec45d12a03db7755e - languageName: node - linkType: hard - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:^7.23.3": version: 7.23.3 resolution: "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@npm:7.23.3" @@ -1500,18 +1491,7 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.22.15, @babel/template@npm:^7.3.3": - version: 7.22.15 - resolution: "@babel/template@npm:7.22.15" - dependencies: - "@babel/code-frame": "npm:^7.22.13" - "@babel/parser": "npm:^7.22.15" - "@babel/types": "npm:^7.22.15" - checksum: 10c0/9312edd37cf1311d738907003f2aa321a88a42ba223c69209abe4d7111db019d321805504f606c7fd75f21c6cf9d24d0a8223104cd21ebd207e241b6c551f454 - languageName: node - linkType: hard - -"@babel/template@npm:^7.23.9": +"@babel/template@npm:^7.22.15, @babel/template@npm:^7.23.9, @babel/template@npm:^7.3.3": version: 7.23.9 resolution: "@babel/template@npm:7.23.9" dependencies: @@ -1540,18 +1520,7 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.0.0-beta.49, @babel/types@npm:^7.12.11, @babel/types@npm:^7.12.6, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.10, @babel/types@npm:^7.22.15, @babel/types@npm:^7.22.19, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.23.6, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": - version: 7.23.6 - resolution: "@babel/types@npm:7.23.6" - dependencies: - "@babel/helper-string-parser": "npm:^7.23.4" - "@babel/helper-validator-identifier": "npm:^7.22.20" - to-fast-properties: "npm:^2.0.0" - checksum: 10c0/42cefce8a68bd09bb5828b4764aa5586c53c60128ac2ac012e23858e1c179347a4aac9c66fc577994fbf57595227611c5ec8270bf0cfc94ff033bbfac0550b70 - languageName: node - linkType: hard - -"@babel/types@npm:^7.23.9": +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.0.0-beta.49, @babel/types@npm:^7.12.11, @babel/types@npm:^7.12.6, @babel/types@npm:^7.20.7, @babel/types@npm:^7.22.10, @babel/types@npm:^7.22.15, @babel/types@npm:^7.22.19, @babel/types@npm:^7.22.5, @babel/types@npm:^7.23.0, @babel/types@npm:^7.23.6, @babel/types@npm:^7.23.9, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.4, @babel/types@npm:^7.8.3": version: 7.23.9 resolution: "@babel/types@npm:7.23.9" dependencies: @@ -5026,12 +4995,12 @@ __metadata: languageName: node linkType: hard -"body-parser@npm:1.20.1": - version: 1.20.1 - resolution: "body-parser@npm:1.20.1" +"body-parser@npm:1.20.2": + version: 1.20.2 + resolution: "body-parser@npm:1.20.2" dependencies: bytes: "npm:3.1.2" - content-type: "npm:~1.0.4" + content-type: "npm:~1.0.5" debug: "npm:2.6.9" depd: "npm:2.0.0" destroy: "npm:1.2.0" @@ -5039,10 +5008,10 @@ __metadata: iconv-lite: "npm:0.4.24" on-finished: "npm:2.4.1" qs: "npm:6.11.0" - raw-body: "npm:2.5.1" + raw-body: "npm:2.5.2" type-is: "npm:~1.6.18" unpipe: "npm:1.0.0" - checksum: 10c0/a202d493e2c10a33fb7413dac7d2f713be579c4b88343cd814b6df7a38e5af1901fc31044e04de176db56b16d9772aa25a7723f64478c20f4d91b1ac223bf3b8 + checksum: 10c0/06f1438fff388a2e2354c96aa3ea8147b79bfcb1262dfcc2aae68ec13723d01d5781680657b74e9f83c808266d5baf52804032fbde2b7382b89bd8cdb273ace9 languageName: node linkType: hard @@ -5872,7 +5841,7 @@ __metadata: languageName: node linkType: hard -"content-type@npm:~1.0.4": +"content-type@npm:~1.0.4, content-type@npm:~1.0.5": version: 1.0.5 resolution: "content-type@npm:1.0.5" checksum: 10c0/b76ebed15c000aee4678c3707e0860cb6abd4e680a598c0a26e17f0bfae723ec9cc2802f0ff1bc6e4d80603719010431d2231018373d4dde10f9ccff9dadf5af @@ -7740,12 +7709,12 @@ __metadata: linkType: hard "express@npm:^4.17.1, express@npm:^4.18.2": - version: 4.18.2 - resolution: "express@npm:4.18.2" + version: 4.18.3 + resolution: "express@npm:4.18.3" dependencies: accepts: "npm:~1.3.8" array-flatten: "npm:1.1.1" - body-parser: "npm:1.20.1" + body-parser: "npm:1.20.2" content-disposition: "npm:0.5.4" content-type: "npm:~1.0.4" cookie: "npm:0.5.0" @@ -7774,7 +7743,7 @@ __metadata: type-is: "npm:~1.6.18" utils-merge: "npm:1.0.1" vary: "npm:~1.1.2" - checksum: 10c0/75af556306b9241bc1d7bdd40c9744b516c38ce50ae3210658efcbf96e3aed4ab83b3432f06215eae5610c123bc4136957dc06e50dfc50b7d4d775af56c4c59c + checksum: 10c0/0b9eeafbac549e3c67d92d083bf1773e358359f41ad142b92121935c6348d29079b75054555b3f62de39263fffc8ba06898b09fdd3e213e28e714c03c5d9f44c languageName: node linkType: hard @@ -13412,15 +13381,15 @@ __metadata: languageName: node linkType: hard -"raw-body@npm:2.5.1": - version: 2.5.1 - resolution: "raw-body@npm:2.5.1" +"raw-body@npm:2.5.2": + version: 2.5.2 + resolution: "raw-body@npm:2.5.2" dependencies: bytes: "npm:3.1.2" http-errors: "npm:2.0.0" iconv-lite: "npm:0.4.24" unpipe: "npm:1.0.0" - checksum: 10c0/5dad5a3a64a023b894ad7ab4e5c7c1ce34d3497fc7138d02f8c88a3781e68d8a55aa7d4fd3a458616fa8647cc228be314a1c03fb430a07521de78b32c4dd09d2 + checksum: 10c0/b201c4b66049369a60e766318caff5cb3cc5a900efd89bdac431463822d976ad0670912c931fdbdcf5543207daf6f6833bca57aa116e1661d2ea91e12ca692c4 languageName: node linkType: hard From 958a810553aac6b6cf21d9d107a47b6f68b2a401 Mon Sep 17 00:00:00 2001 From: Renaud Chaput Date: Thu, 29 Feb 2024 16:21:03 +0100 Subject: [PATCH 13/16] Convert `packs/admin.jsx` to Typescript (#29425) --- app/javascript/packs/admin.jsx | 244 ---------------------- app/javascript/packs/admin.tsx | 368 +++++++++++++++++++++++++++++++++ 2 files changed, 368 insertions(+), 244 deletions(-) delete mode 100644 app/javascript/packs/admin.jsx create mode 100644 app/javascript/packs/admin.tsx diff --git a/app/javascript/packs/admin.jsx b/app/javascript/packs/admin.jsx deleted file mode 100644 index 5f24d6677e..0000000000 --- a/app/javascript/packs/admin.jsx +++ /dev/null @@ -1,244 +0,0 @@ -import './public-path'; -import React from 'react'; -import { createRoot } from 'react-dom/client'; - -import Rails from '@rails/ujs'; - -import ready from '../mastodon/ready'; - -const setAnnouncementEndsAttributes = (target) => { - const valid = target?.value && target?.validity?.valid; - const element = document.querySelector('input[type="datetime-local"]#announcement_ends_at'); - if (valid) { - element.classList.remove('optional'); - element.required = true; - element.min = target.value; - } else { - element.classList.add('optional'); - element.removeAttribute('required'); - element.removeAttribute('min'); - } -}; - -Rails.delegate(document, 'input[type="datetime-local"]#announcement_starts_at', 'change', ({ target }) => { - setAnnouncementEndsAttributes(target); -}); - -const batchCheckboxClassName = '.batch-checkbox input[type="checkbox"]'; - -const showSelectAll = () => { - const selectAllMatchingElement = document.querySelector('.batch-table__select-all'); - selectAllMatchingElement.classList.add('active'); -}; - -const hideSelectAll = () => { - const selectAllMatchingElement = document.querySelector('.batch-table__select-all'); - const hiddenField = document.querySelector('#select_all_matching'); - const selectedMsg = document.querySelector('.batch-table__select-all .selected'); - const notSelectedMsg = document.querySelector('.batch-table__select-all .not-selected'); - - selectAllMatchingElement.classList.remove('active'); - selectedMsg.classList.remove('active'); - notSelectedMsg.classList.add('active'); - hiddenField.value = '0'; -}; - -Rails.delegate(document, '#batch_checkbox_all', 'change', ({ target }) => { - const selectAllMatchingElement = document.querySelector('.batch-table__select-all'); - - document.querySelectorAll(batchCheckboxClassName).forEach((content) => { - content.checked = target.checked; - }); - - if (selectAllMatchingElement) { - if (target.checked) { - showSelectAll(); - } else { - hideSelectAll(); - } - } -}); - -Rails.delegate(document, '.batch-table__select-all button', 'click', () => { - const hiddenField = document.querySelector('#select_all_matching'); - const active = hiddenField.value === '1'; - const selectedMsg = document.querySelector('.batch-table__select-all .selected'); - const notSelectedMsg = document.querySelector('.batch-table__select-all .not-selected'); - - if (active) { - hiddenField.value = '0'; - selectedMsg.classList.remove('active'); - notSelectedMsg.classList.add('active'); - } else { - hiddenField.value = '1'; - notSelectedMsg.classList.remove('active'); - selectedMsg.classList.add('active'); - } -}); - -Rails.delegate(document, batchCheckboxClassName, 'change', () => { - const checkAllElement = document.querySelector('#batch_checkbox_all'); - const selectAllMatchingElement = document.querySelector('.batch-table__select-all'); - - if (checkAllElement) { - const allCheckboxes = Array.from( - document.querySelectorAll(batchCheckboxClassName) - ); - checkAllElement.checked = allCheckboxes.every((content) => content.checked); - checkAllElement.indeterminate = !checkAllElement.checked && allCheckboxes.some((content) => content.checked); - - if (selectAllMatchingElement) { - if (checkAllElement.checked) { - showSelectAll(); - } else { - hideSelectAll(); - } - } - } -}); - -Rails.delegate(document, '.filter-subset--with-select select', 'change', ({ target }) => { - target.form.submit(); -}); - -const onDomainBlockSeverityChange = (target) => { - const rejectMediaDiv = document.querySelector('.input.with_label.domain_block_reject_media'); - const rejectReportsDiv = document.querySelector('.input.with_label.domain_block_reject_reports'); - - if (rejectMediaDiv) { - rejectMediaDiv.style.display = (target.value === 'suspend') ? 'none' : 'block'; - } - - if (rejectReportsDiv) { - rejectReportsDiv.style.display = (target.value === 'suspend') ? 'none' : 'block'; - } -}; - -Rails.delegate(document, '#domain_block_severity', 'change', ({ target }) => onDomainBlockSeverityChange(target)); - -const onEnableBootstrapTimelineAccountsChange = (target) => { - const bootstrapTimelineAccountsField = document.querySelector('#form_admin_settings_bootstrap_timeline_accounts'); - - if (bootstrapTimelineAccountsField) { - bootstrapTimelineAccountsField.disabled = !target.checked; - if (target.checked) { - bootstrapTimelineAccountsField.parentElement.classList.remove('disabled'); - bootstrapTimelineAccountsField.parentElement.parentElement.classList.remove('disabled'); - } else { - bootstrapTimelineAccountsField.parentElement.classList.add('disabled'); - bootstrapTimelineAccountsField.parentElement.parentElement.classList.add('disabled'); - } - } -}; - -Rails.delegate(document, '#form_admin_settings_enable_bootstrap_timeline_accounts', 'change', ({ target }) => onEnableBootstrapTimelineAccountsChange(target)); - -const onChangeRegistrationMode = (target) => { - const enabled = target.value === 'approved'; - - document.querySelectorAll('.form_admin_settings_registrations_mode .warning-hint').forEach((warning_hint) => { - warning_hint.style.display = target.value === 'open' ? 'inline' : 'none'; - }); - - document.querySelectorAll('#form_admin_settings_require_invite_text').forEach((input) => { - input.disabled = !enabled; - if (enabled) { - let element = input; - do { - element.classList.remove('disabled'); - element = element.parentElement; - } while (element && !element.classList.contains('fields-group')); - } else { - let element = input; - do { - element.classList.add('disabled'); - element = element.parentElement; - } while (element && !element.classList.contains('fields-group')); - } - }); -}; - -const convertUTCDateTimeToLocal = (value) => { - const date = new Date(value + 'Z'); - const twoChars = (x) => (x.toString().padStart(2, '0')); - return `${date.getFullYear()}-${twoChars(date.getMonth()+1)}-${twoChars(date.getDate())}T${twoChars(date.getHours())}:${twoChars(date.getMinutes())}`; -}; - -const convertLocalDatetimeToUTC = (value) => { - const re = /^([0-9]{4,})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2})/; - const match = re.exec(value); - const date = new Date(match[1], match[2] - 1, match[3], match[4], match[5]); - const fullISO8601 = date.toISOString(); - return fullISO8601.slice(0, fullISO8601.indexOf('T') + 6); -}; - -Rails.delegate(document, '#form_admin_settings_registrations_mode', 'change', ({ target }) => onChangeRegistrationMode(target)); - -ready(() => { - const domainBlockSeverityInput = document.getElementById('domain_block_severity'); - if (domainBlockSeverityInput) onDomainBlockSeverityChange(domainBlockSeverityInput); - - const enableBootstrapTimelineAccounts = document.getElementById('form_admin_settings_enable_bootstrap_timeline_accounts'); - if (enableBootstrapTimelineAccounts) onEnableBootstrapTimelineAccountsChange(enableBootstrapTimelineAccounts); - - const registrationMode = document.getElementById('form_admin_settings_registrations_mode'); - if (registrationMode) onChangeRegistrationMode(registrationMode); - - const checkAllElement = document.querySelector('#batch_checkbox_all'); - if (checkAllElement) { - const allCheckboxes = Array.from(document.querySelectorAll(batchCheckboxClassName)); - checkAllElement.checked = allCheckboxes.every( (content) => content.checked); - checkAllElement.indeterminate = !checkAllElement.checked && allCheckboxes.some((content) => content.checked); - } - - document.querySelector('a#add-instance-button')?.addEventListener('click', (e) => { - const domain = document.querySelector('input[type="text"]#by_domain')?.value; - - if (domain) { - const url = new URL(event.target.href); - url.searchParams.set('_domain', domain); - e.target.href = url; - } - }); - - document.querySelectorAll('input[type="datetime-local"]').forEach(element => { - if (element.value) { - element.value = convertUTCDateTimeToLocal(element.value); - } - if (element.placeholder) { - element.placeholder = convertUTCDateTimeToLocal(element.placeholder); - } - }); - - Rails.delegate(document, 'form', 'submit', ({ target }) => { - target.querySelectorAll('input[type="datetime-local"]').forEach(element => { - if (element.value && element.validity.valid) { - element.value = convertLocalDatetimeToUTC(element.value); - } - }); - }); - - const announcementStartsAt = document.querySelector('input[type="datetime-local"]#announcement_starts_at'); - if (announcementStartsAt) { - setAnnouncementEndsAttributes(announcementStartsAt); - } - - document.querySelectorAll('[data-admin-component]').forEach(element => { - const componentName = element.getAttribute('data-admin-component'); - const componentProps = JSON.parse(element.getAttribute('data-props')); - - import('../mastodon/containers/admin_component').then(({ default: AdminComponent }) => { - return import('../mastodon/components/admin/' + componentName).then(({ default: Component }) => { - const root = createRoot(element); - - root.render ( - - - , - ); - }); - }).catch(error => { - console.error(error); - }); - }); -}); diff --git a/app/javascript/packs/admin.tsx b/app/javascript/packs/admin.tsx new file mode 100644 index 0000000000..25e0889cd9 --- /dev/null +++ b/app/javascript/packs/admin.tsx @@ -0,0 +1,368 @@ +import './public-path'; +import { createRoot } from 'react-dom/client'; + +import Rails from '@rails/ujs'; + +import ready from '../mastodon/ready'; + +const setAnnouncementEndsAttributes = (target: HTMLInputElement) => { + const valid = target.value && target.validity.valid; + const element = document.querySelector( + 'input[type="datetime-local"]#announcement_ends_at', + ); + + if (!element) return; + + if (valid) { + element.classList.remove('optional'); + element.required = true; + element.min = target.value; + } else { + element.classList.add('optional'); + element.removeAttribute('required'); + element.removeAttribute('min'); + } +}; + +Rails.delegate( + document, + 'input[type="datetime-local"]#announcement_starts_at', + 'change', + ({ target }) => { + if (target instanceof HTMLInputElement) + setAnnouncementEndsAttributes(target); + }, +); + +const batchCheckboxClassName = '.batch-checkbox input[type="checkbox"]'; + +const showSelectAll = () => { + const selectAllMatchingElement = document.querySelector( + '.batch-table__select-all', + ); + selectAllMatchingElement?.classList.add('active'); +}; + +const hideSelectAll = () => { + const selectAllMatchingElement = document.querySelector( + '.batch-table__select-all', + ); + const hiddenField = document.querySelector( + 'input#select_all_matching', + ); + const selectedMsg = document.querySelector( + '.batch-table__select-all .selected', + ); + const notSelectedMsg = document.querySelector( + '.batch-table__select-all .not-selected', + ); + + selectAllMatchingElement?.classList.remove('active'); + selectedMsg?.classList.remove('active'); + notSelectedMsg?.classList.add('active'); + if (hiddenField) hiddenField.value = '0'; +}; + +Rails.delegate(document, '#batch_checkbox_all', 'change', ({ target }) => { + if (!(target instanceof HTMLInputElement)) return; + + const selectAllMatchingElement = document.querySelector( + '.batch-table__select-all', + ); + + document + .querySelectorAll(batchCheckboxClassName) + .forEach((content) => { + content.checked = target.checked; + }); + + if (selectAllMatchingElement) { + if (target.checked) { + showSelectAll(); + } else { + hideSelectAll(); + } + } +}); + +Rails.delegate(document, '.batch-table__select-all button', 'click', () => { + const hiddenField = document.querySelector( + '#select_all_matching', + ); + + if (!hiddenField) return; + + const active = hiddenField.value === '1'; + const selectedMsg = document.querySelector( + '.batch-table__select-all .selected', + ); + const notSelectedMsg = document.querySelector( + '.batch-table__select-all .not-selected', + ); + + if (!selectedMsg || !notSelectedMsg) return; + + if (active) { + hiddenField.value = '0'; + selectedMsg.classList.remove('active'); + notSelectedMsg.classList.add('active'); + } else { + hiddenField.value = '1'; + notSelectedMsg.classList.remove('active'); + selectedMsg.classList.add('active'); + } +}); + +Rails.delegate(document, batchCheckboxClassName, 'change', () => { + const checkAllElement = document.querySelector( + 'input#batch_checkbox_all', + ); + const selectAllMatchingElement = document.querySelector( + '.batch-table__select-all', + ); + + if (checkAllElement) { + const allCheckboxes = Array.from( + document.querySelectorAll(batchCheckboxClassName), + ); + checkAllElement.checked = allCheckboxes.every((content) => content.checked); + checkAllElement.indeterminate = + !checkAllElement.checked && + allCheckboxes.some((content) => content.checked); + + if (selectAllMatchingElement) { + if (checkAllElement.checked) { + showSelectAll(); + } else { + hideSelectAll(); + } + } + } +}); + +Rails.delegate( + document, + '.filter-subset--with-select select', + 'change', + ({ target }) => { + if (target instanceof HTMLSelectElement) target.form?.submit(); + }, +); + +const onDomainBlockSeverityChange = (target: HTMLInputElement) => { + const rejectMediaDiv = document.querySelector( + '.input.with_label.domain_block_reject_media', + ); + const rejectReportsDiv = document.querySelector( + '.input.with_label.domain_block_reject_reports', + ); + + if (rejectMediaDiv && rejectMediaDiv instanceof HTMLElement) { + rejectMediaDiv.style.display = + target.value === 'suspend' ? 'none' : 'block'; + } + + if (rejectReportsDiv && rejectReportsDiv instanceof HTMLElement) { + rejectReportsDiv.style.display = + target.value === 'suspend' ? 'none' : 'block'; + } +}; + +Rails.delegate(document, '#domain_block_severity', 'change', ({ target }) => { + if (target instanceof HTMLInputElement) onDomainBlockSeverityChange(target); +}); + +const onEnableBootstrapTimelineAccountsChange = (target: HTMLInputElement) => { + const bootstrapTimelineAccountsField = + document.querySelector( + '#form_admin_settings_bootstrap_timeline_accounts', + ); + + if (bootstrapTimelineAccountsField) { + bootstrapTimelineAccountsField.disabled = !target.checked; + if (target.checked) { + bootstrapTimelineAccountsField.parentElement?.classList.remove( + 'disabled', + ); + bootstrapTimelineAccountsField.parentElement?.parentElement?.classList.remove( + 'disabled', + ); + } else { + bootstrapTimelineAccountsField.parentElement?.classList.add('disabled'); + bootstrapTimelineAccountsField.parentElement?.parentElement?.classList.add( + 'disabled', + ); + } + } +}; + +Rails.delegate( + document, + '#form_admin_settings_enable_bootstrap_timeline_accounts', + 'change', + ({ target }) => { + if (target instanceof HTMLInputElement) + onEnableBootstrapTimelineAccountsChange(target); + }, +); + +const onChangeRegistrationMode = (target: HTMLInputElement) => { + const enabled = target.value === 'approved'; + + document + .querySelectorAll( + '.form_admin_settings_registrations_mode .warning-hint', + ) + .forEach((warning_hint) => { + warning_hint.style.display = target.value === 'open' ? 'inline' : 'none'; + }); + + document + .querySelectorAll( + 'input#form_admin_settings_require_invite_text', + ) + .forEach((input) => { + input.disabled = !enabled; + if (enabled) { + let element: HTMLElement | null = input; + do { + element.classList.remove('disabled'); + element = element.parentElement; + } while (element && !element.classList.contains('fields-group')); + } else { + let element: HTMLElement | null = input; + do { + element.classList.add('disabled'); + element = element.parentElement; + } while (element && !element.classList.contains('fields-group')); + } + }); +}; + +const convertUTCDateTimeToLocal = (value: string) => { + const date = new Date(value + 'Z'); + const twoChars = (x: number) => x.toString().padStart(2, '0'); + return `${date.getFullYear()}-${twoChars(date.getMonth() + 1)}-${twoChars(date.getDate())}T${twoChars(date.getHours())}:${twoChars(date.getMinutes())}`; +}; + +function convertLocalDatetimeToUTC(value: string) { + const date = new Date(value); + const fullISO8601 = date.toISOString(); + return fullISO8601.slice(0, fullISO8601.indexOf('T') + 6); +} + +Rails.delegate( + document, + '#form_admin_settings_registrations_mode', + 'change', + ({ target }) => { + if (target instanceof HTMLInputElement) onChangeRegistrationMode(target); + }, +); + +async function mountReactComponent(element: Element) { + const componentName = element.getAttribute('data-admin-component'); + const stringProps = element.getAttribute('data-props'); + + if (!stringProps) return; + + const componentProps = JSON.parse(stringProps) as object; + + const { default: AdminComponent } = await import( + '@/mastodon/containers/admin_component' + ); + + const { default: Component } = (await import( + `@/mastodon/components/admin/${componentName}` + )) as { default: React.ComponentType }; + + const root = createRoot(element); + + root.render( + + + , + ); +} + +ready(() => { + const domainBlockSeverityInput = document.querySelector( + 'input#domain_block_severity', + ); + if (domainBlockSeverityInput) + onDomainBlockSeverityChange(domainBlockSeverityInput); + + const enableBootstrapTimelineAccounts = + document.querySelector( + 'input#form_admin_settings_enable_bootstrap_timeline_accounts', + ); + if (enableBootstrapTimelineAccounts) + onEnableBootstrapTimelineAccountsChange(enableBootstrapTimelineAccounts); + + const registrationMode = document.querySelector( + 'input#form_admin_settings_registrations_mode', + ); + if (registrationMode) onChangeRegistrationMode(registrationMode); + + const checkAllElement = document.querySelector( + 'input#batch_checkbox_all', + ); + if (checkAllElement) { + const allCheckboxes = Array.from( + document.querySelectorAll(batchCheckboxClassName), + ); + checkAllElement.checked = allCheckboxes.every((content) => content.checked); + checkAllElement.indeterminate = + !checkAllElement.checked && + allCheckboxes.some((content) => content.checked); + } + + document + .querySelector('a#add-instance-button') + ?.addEventListener('click', (e) => { + const domain = document.querySelector( + 'input[type="text"]#by_domain', + )?.value; + + if (domain && e.target instanceof HTMLAnchorElement) { + const url = new URL(e.target.href); + url.searchParams.set('_domain', domain); + e.target.href = url.toString(); + } + }); + + document + .querySelectorAll('input[type="datetime-local"]') + .forEach((element) => { + if (element.value) { + element.value = convertUTCDateTimeToLocal(element.value); + } + if (element.placeholder) { + element.placeholder = convertUTCDateTimeToLocal(element.placeholder); + } + }); + + Rails.delegate(document, 'form', 'submit', ({ target }) => { + if (target instanceof HTMLFormElement) + target + .querySelectorAll('input[type="datetime-local"]') + .forEach((element) => { + if (element.value && element.validity.valid) { + element.value = convertLocalDatetimeToUTC(element.value); + } + }); + }); + + const announcementStartsAt = document.querySelector( + 'input[type="datetime-local"]#announcement_starts_at', + ); + if (announcementStartsAt) { + setAnnouncementEndsAttributes(announcementStartsAt); + } + + document.querySelectorAll('[data-admin-component]').forEach((element) => { + void mountReactComponent(element); + }); +}).catch((reason) => { + throw reason; +}); From 5b97fdf84c7d93d8093463afb9ebff14aff2763f Mon Sep 17 00:00:00 2001 From: Renaud Chaput Date: Thu, 29 Feb 2024 10:40:13 +0100 Subject: [PATCH 14/16] [Glitch] Fix full date display not respecting the locale 12/24h format Port 4185f3792c84fb81ba74be047a7014be3ab318ec to glitch-soc Signed-off-by: Claire --- .../flavours/glitch/components/edited_timestamp/index.jsx | 2 +- .../flavours/glitch/components/relative_timestamp.tsx | 1 - app/javascript/flavours/glitch/components/status_action_bar.jsx | 2 +- .../flavours/glitch/features/account/components/header.jsx | 1 - .../features/getting_started/components/announcements.jsx | 2 +- .../glitch/features/status/components/detailed_status.jsx | 2 +- app/javascript/flavours/glitch/packs/public.jsx | 1 - 7 files changed, 4 insertions(+), 7 deletions(-) diff --git a/app/javascript/flavours/glitch/components/edited_timestamp/index.jsx b/app/javascript/flavours/glitch/components/edited_timestamp/index.jsx index 29a418dfb1..2363f132f1 100644 --- a/app/javascript/flavours/glitch/components/edited_timestamp/index.jsx +++ b/app/javascript/flavours/glitch/components/edited_timestamp/index.jsx @@ -68,7 +68,7 @@ class EditedTimestamp extends PureComponent { return ( ); diff --git a/app/javascript/flavours/glitch/components/relative_timestamp.tsx b/app/javascript/flavours/glitch/components/relative_timestamp.tsx index ac3ab0fb4d..12530c2b17 100644 --- a/app/javascript/flavours/glitch/components/relative_timestamp.tsx +++ b/app/javascript/flavours/glitch/components/relative_timestamp.tsx @@ -53,7 +53,6 @@ const messages = defineMessages({ }); const dateFormatOptions = { - hour12: false, year: 'numeric', month: 'short', day: '2-digit', diff --git a/app/javascript/flavours/glitch/components/status_action_bar.jsx b/app/javascript/flavours/glitch/components/status_action_bar.jsx index c10122d234..f27719a6b9 100644 --- a/app/javascript/flavours/glitch/components/status_action_bar.jsx +++ b/app/javascript/flavours/glitch/components/status_action_bar.jsx @@ -351,7 +351,7 @@ class StatusActionBar extends ImmutablePureComponent { ); diff --git a/app/javascript/flavours/glitch/features/account/components/header.jsx b/app/javascript/flavours/glitch/features/account/components/header.jsx index 29e3aa32f7..b2aee7682a 100644 --- a/app/javascript/flavours/glitch/features/account/components/header.jsx +++ b/app/javascript/flavours/glitch/features/account/components/header.jsx @@ -84,7 +84,6 @@ const dateFormatOptions = { month: 'short', day: 'numeric', year: 'numeric', - hour12: false, hour: '2-digit', minute: '2-digit', }; diff --git a/app/javascript/flavours/glitch/features/getting_started/components/announcements.jsx b/app/javascript/flavours/glitch/features/getting_started/components/announcements.jsx index 27470d9938..0ff0a863b3 100644 --- a/app/javascript/flavours/glitch/features/getting_started/components/announcements.jsx +++ b/app/javascript/flavours/glitch/features/getting_started/components/announcements.jsx @@ -343,7 +343,7 @@ class Announcement extends ImmutablePureComponent {
- {hasTimeRange && · - } + {hasTimeRange && · - } diff --git a/app/javascript/flavours/glitch/features/status/components/detailed_status.jsx b/app/javascript/flavours/glitch/features/status/components/detailed_status.jsx index 0638d0d646..2a3ab7001b 100644 --- a/app/javascript/flavours/glitch/features/status/components/detailed_status.jsx +++ b/app/javascript/flavours/glitch/features/status/components/detailed_status.jsx @@ -331,7 +331,7 @@ class DetailedStatus extends ImmutablePureComponent {
- + {edited}{visibilityLink}{applicationLink}{reblogLink} · {favouriteLink}
diff --git a/app/javascript/flavours/glitch/packs/public.jsx b/app/javascript/flavours/glitch/packs/public.jsx index 5a72f91786..dab33b3904 100644 --- a/app/javascript/flavours/glitch/packs/public.jsx +++ b/app/javascript/flavours/glitch/packs/public.jsx @@ -60,7 +60,6 @@ function main() { const timeFormat = new Intl.DateTimeFormat(locale, { timeStyle: 'short', - hour12: false, }); const formatMessage = ({ id, defaultMessage }, values) => { From bbfcd71118575d31f4d87b43fcd10900b9283f37 Mon Sep 17 00:00:00 2001 From: Claire Date: Thu, 29 Feb 2024 14:54:02 +0100 Subject: [PATCH 15/16] [Glitch] Fix preview card player getting embedded when clicking on the external link button Port f24c62a5c809e9d3ec944804a9c28804d9896bbd to glitch-soc Signed-off-by: Claire --- .../flavours/glitch/features/status/components/card.jsx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/javascript/flavours/glitch/features/status/components/card.jsx b/app/javascript/flavours/glitch/features/status/components/card.jsx index c4461f4378..4c535b0a46 100644 --- a/app/javascript/flavours/glitch/features/status/components/card.jsx +++ b/app/javascript/flavours/glitch/features/status/components/card.jsx @@ -82,6 +82,10 @@ export default class Card extends PureComponent { this.setState({ embedded: true }); }; + handleExternalLinkClick = (e) => { + e.stopPropagation(); + }; + setRef = c => { this.node = c; }; @@ -191,7 +195,7 @@ export default class Card extends PureComponent {
- +
) : spoilerButton} From a04b384482d64e02c9b5cda9bd9d36123ba55429 Mon Sep 17 00:00:00 2001 From: Claire Date: Thu, 29 Feb 2024 14:54:06 +0100 Subject: [PATCH 16/16] [Glitch] Fix regression with search bar icon position Port edd6aa70e1117818669cf0b85b7a3cde06a3c8c1 to glitch-soc Signed-off-by: Claire --- app/javascript/flavours/glitch/styles/components.scss | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/app/javascript/flavours/glitch/styles/components.scss b/app/javascript/flavours/glitch/styles/components.scss index e7a0156a41..a42bfdc712 100644 --- a/app/javascript/flavours/glitch/styles/components.scss +++ b/app/javascript/flavours/glitch/styles/components.scss @@ -5735,10 +5735,6 @@ a.status-card { pointer-events: auto; opacity: 1; } - - @media screen and (min-width: $no-gap-breakpoint) { - inset-inline-start: 16px - 2px; - } } .icon-search { @@ -8883,7 +8879,7 @@ noscript { .search__input { border: 1px solid lighten($ui-base-color, 8%); padding: 10px; - padding-inline-end: 28px; + padding-inline-end: 30px; } .search__popout {