Browse Source

feat(locale): update locales using machine translation

Frédéric Guillot 10 months ago
parent
commit
adfc38d237

+ 24 - 24
internal/locale/translations/es_ES.json

@@ -78,8 +78,8 @@
     "entry.status.toast.unread": "Marcado como no leído",
     "entry.tags.label": "Etiquetas:",
     "entry.tags.more_tags_label": [
-        "Show %d more tag",
-        "Show %d more tags"
+        "Mostrar %d etiqueta más",
+        "Mostrar %d etiquetas más"
     ],
     "entry.unshare.label": "No compartir",
     "error.api_key_already_exists": "Esta clave API ya existe.",
@@ -196,20 +196,20 @@
     "form.feed.label.ntfy_priority": "Prioridad Ntfy",
     "form.feed.label.ntfy_topic": "Tema Ntfy (opcional)",
     "form.feed.label.proxy_url": "Proxy URL",
-    "form.feed.label.pushover_activate": "Push entries to pushover.net",
-    "form.feed.label.pushover_default_priority": "Pushover default priority",
-    "form.feed.label.pushover_high_priority": "Pushover high priority",
-    "form.feed.label.pushover_low_priority": "Pushover low priority",
-    "form.feed.label.pushover_max_priority": "Pushover max priority",
-    "form.feed.label.pushover_min_priority": "Pushover min priority",
-    "form.feed.label.pushover_priority": "Pushover message priority",
+    "form.feed.label.pushover_activate": "Enviar artículos a pushover.net",
+    "form.feed.label.pushover_default_priority": "Prioridad predeterminada de Pushover",
+    "form.feed.label.pushover_high_priority": "Prioridad alta de Pushover",
+    "form.feed.label.pushover_low_priority": "Prioridad baja de Pushover",
+    "form.feed.label.pushover_max_priority": "Prioridad máxima de Pushover",
+    "form.feed.label.pushover_min_priority": "Prioridad mínima de Pushover",
+    "form.feed.label.pushover_priority": "Prioridad del mensaje de Pushover",
     "form.feed.label.rewrite_rules": "Reglas de reescribir",
     "form.feed.label.scraper_rules": "Reglas de extracción de información",
     "form.feed.label.site_url": "URL del sitio",
     "form.feed.label.title": "Título",
     "form.feed.label.urlrewrite_rules": "Reglas de Filtrado (Reescritura)",
     "form.feed.label.user_agent": "Invalidar el agente de usuario predeterminado",
-    "form.feed.label.webhook_url": "Override webhook url",
+    "form.feed.label.webhook_url": "Invalidar la URL del webhook",
     "form.import.label.file": "Archivo OPML",
     "form.import.label.url": "URL",
     "form.integration.apprise_activate": "Enviar artículos a Apprise",
@@ -218,8 +218,8 @@
     "form.integration.betula_activate": "Guardar artículos en Betula",
     "form.integration.betula_token": "Token de Betula",
     "form.integration.betula_url": "URL del servidor Betula",
-    "form.integration.cubox_activate": "Save entries to Cubox",
-    "form.integration.cubox_api_link": "Cubox API link",
+    "form.integration.cubox_activate": "Guardar artículos en Cubox",
+    "form.integration.cubox_api_link": "Enlace de la API de Cubox",
     "form.integration.discord_activate": "Enviar artículos a Discord",
     "form.integration.discord_webhook_link": "URL de la Webhook de Discord",
     "form.integration.espial_activate": "Enviar artículos a Espial",
@@ -284,11 +284,11 @@
     "form.integration.pocket_activate": "Enviar artículos a Pocket",
     "form.integration.pocket_connect_link": "Conectar a la cuenta de Pocket",
     "form.integration.pocket_consumer_key": "Clave del consumidor de Pocket",
-    "form.integration.pushover_activate": "Push entries to Pushover",
-    "form.integration.pushover_device": "Pushover device (optional)",
-    "form.integration.pushover_prefix": "Pushover URL prefix (optional)",
-    "form.integration.pushover_token": "Pushover application API token",
-    "form.integration.pushover_user": "Pushover user key",
+    "form.integration.pushover_activate": "Enviar artículos a Pushover",
+    "form.integration.pushover_device": "Dispositivo Pushover (opcional)",
+    "form.integration.pushover_prefix": "Prefijo de URL de Pushover (opcional)",
+    "form.integration.pushover_token": "Token de API de la aplicación Pushover",
+    "form.integration.pushover_user": "Clave de usuario de Pushover",
     "form.integration.raindrop_activate": "Guardar artículos en Raindrop",
     "form.integration.raindrop_collection_id": "Colección ID",
     "form.integration.raindrop_tags": "Etiquetas (separadas por comas)",
@@ -334,8 +334,8 @@
     "form.prefs.fieldset.authentication_settings": "Ajustes de la autentificación",
     "form.prefs.fieldset.global_feed_settings": "Ajustes globales del feed",
     "form.prefs.fieldset.reader_settings": "Ajustes del lector",
-    "form.prefs.help.external_font_hosts": "Space separated list of external font hosts to allow. For example: \"fonts.gstatic.com fonts.googleapis.com\".",
-    "form.prefs.label.always_open_external_links": "Read articles by opening external links",
+    "form.prefs.help.external_font_hosts": "Lista separada por espacios de hosts de fuentes externas permitidos. Por ejemplo: \"fonts.gstatic.com fonts.googleapis.com\".",
+    "form.prefs.label.always_open_external_links": "Leer artículos abriendo enlaces externos",
     "form.prefs.label.categories_sorting_order": "Clasificación por categorías",
     "form.prefs.label.cjk_reading_speed": "Velocidad de lectura en chino, coreano y japonés (caracteres por minuto)",
     "form.prefs.label.custom_css": "CSS personalizado",
@@ -347,7 +347,7 @@
     "form.prefs.label.entry_order": "Columna de clasificación de artículos",
     "form.prefs.label.entry_sorting": "Clasificación de artículos",
     "form.prefs.label.entry_swipe": "Habilitar deslizamiento de entrada en pantallas táctiles",
-    "form.prefs.label.external_font_hosts": "External font hosts",
+    "form.prefs.label.external_font_hosts": "Hosts de fuentes externas",
     "form.prefs.label.gesture_nav": "Gesto para navegar entre entradas",
     "form.prefs.label.keyboard_shortcuts": "Habilitar atajos de teclado",
     "form.prefs.label.language": "Idioma",
@@ -415,7 +415,7 @@
     "page.about.author": "Autor:",
     "page.about.build_date": "Fecha de compilación:",
     "page.about.credits": "Créditos",
-    "page.about.db_usage": "Database size:",
+    "page.about.db_usage": "Tamaño de la base de datos:",
     "page.about.git_commit": "Git Commit:",
     "page.about.global_config_options": "Opciones de configuración global",
     "page.about.go_version": "Go versión:",
@@ -479,7 +479,7 @@
     "page.integration.miniflux_api_username": "Nombre de usuario",
     "page.integrations.title": "Integraciones",
     "page.keyboard_shortcuts.close_modal": "Cerrar el cuadro de diálogo modal",
-    "page.keyboard_shortcuts.download_content": "Descargar el contento original",
+    "page.keyboard_shortcuts.download_content": "Descargar el contenido original",
     "page.keyboard_shortcuts.go_to_bottom_item": "Ir al elemento inferior",
     "page.keyboard_shortcuts.go_to_categories": "Ir a las categorías",
     "page.keyboard_shortcuts.go_to_feed": "Ir a la fuente",
@@ -519,7 +519,7 @@
     "page.login.title": "Iniciar sesión",
     "page.login.webauthn_login": "Iniciar sesión con clave de acceso",
     "page.login.webauthn_login.error": "No se puede iniciar sesión con la clave de acceso",
-    "page.login.webauthn_login.help": "Please enter your username if you're using a security key. This is not required if you are using a Passkey (discoverable credentials).",
+    "page.login.webauthn_login.help": "Por favor, introduce tu nombre de usuario si usas una clave de seguridad. Esto no es necesario si usas una Passkey (credenciales detectables).",
     "page.new_api_key.title": "Nueva clave API",
     "page.new_category.title": "Nueva categoría",
     "page.new_user.title": "Nuevo usuario",
@@ -542,7 +542,7 @@
     "page.settings.title": "Ajustes",
     "page.settings.unlink_google_account": "Desvincular mi cuenta de Google",
     "page.settings.unlink_oidc_account": "Desvincular mi cuenta de %s",
-    "page.settings.webauthn.actions": "Accioness",
+    "page.settings.webauthn.actions": "Acciones",
     "page.settings.webauthn.added_on": "Añadido",
     "page.settings.webauthn.delete": [
         "Eliminar %d clave de acceso",

+ 21 - 21
internal/locale/translations/fi_FI.json

@@ -13,7 +13,7 @@
     "action.update": "Päivitä",
     "alert.account_linked": "Ulkoinen tilisi on nyt linkitetty!",
     "alert.account_unlinked": "Ulkoinen tilisi on nyt irrotettu!",
-    "alert.background_feed_refresh": "All feeds are being refreshed in the background. You can continue to use Miniflux while this process is running.",
+    "alert.background_feed_refresh": "Kaikki syötteet päivitetään taustalla. Voit jatkaa Minifluxin käyttöä tämän prosessin aikana.",
     "alert.feed_error": "Tässä syötteessä on ongelma",
     "alert.no_bookmark": "Tällä hetkellä ei ole kirjanmerkkiä.",
     "alert.no_category": "Ei ole kategoriaa.",
@@ -30,23 +30,23 @@
     "alert.pocket_linked": "Pocket-tilisi on nyt linkitetty!",
     "alert.prefs_saved": "Asetukset tallennettu!",
     "alert.too_many_feeds_refresh": [
-        "You have triggered too many feed refreshes. Please wait %d minute before trying again.",
-        "You have triggered too many feed refreshes. Please wait %d minutes before trying again."
+        "Olet käynnistänyt liian monta syötteen päivitystä. Odota %d minuutti ennen kuin yrität uudelleen.",
+        "Olet käynnistänyt liian monta syötteen päivitystä. Odota %d minuuttia ennen kuin yrität uudelleen."
     ],
     "confirm.loading": "Käynnissä...",
     "confirm.no": "ei",
     "confirm.question": "Oletko varma?",
     "confirm.question.refresh": "Haluatko pakottaa päivityksen?",
     "confirm.yes": "kyllä",
-    "enclosure_media_controls.seek": "Seek:",
-    "enclosure_media_controls.seek.title": "Seek %s seconds",
-    "enclosure_media_controls.speed": "Speed:",
-    "enclosure_media_controls.speed.faster": "Faster",
-    "enclosure_media_controls.speed.faster.title": "Faster by %sx",
-    "enclosure_media_controls.speed.reset": "Reset",
-    "enclosure_media_controls.speed.reset.title": "Reset speed to 1x",
-    "enclosure_media_controls.speed.slower": "Slower",
-    "enclosure_media_controls.speed.slower.title": "Slower by %sx",
+    "enclosure_media_controls.seek": "Siirry:",
+    "enclosure_media_controls.seek.title": "Siirry %s sekuntia",
+    "enclosure_media_controls.speed": "Nopeus:",
+    "enclosure_media_controls.speed.faster": "Nopeammin",
+    "enclosure_media_controls.speed.faster.title": "Nopeampi %sx",
+    "enclosure_media_controls.speed.reset": "Palauta",
+    "enclosure_media_controls.speed.reset.title": "Palauta nopeus 1x",
+    "enclosure_media_controls.speed.slower": "Hitaammin",
+    "enclosure_media_controls.speed.slower.title": "Hitaampi %sx",
     "entry.bookmark.toast.off": "Tähdettömät",
     "entry.bookmark.toast.on": "Tähdellä merkityt",
     "entry.bookmark.toggle.off": "Poista suosikeista",
@@ -76,10 +76,10 @@
     "entry.status.title": "Vaihda artikkelin tilaa",
     "entry.status.toast.read": "Merkitty luetuksi",
     "entry.status.toast.unread": "Merkitty lukemattomaksi",
-    "entry.tags.label": "Tags:",
+    "entry.tags.label": "Tunnisteet:",
     "entry.tags.more_tags_label": [
-        "Show %d more tag",
-        "Show %d more tags"
+        "Näytä %d lisää tunnistetta",
+        "Näytä %d lisää tunnisteita"
     ],
     "entry.unshare.label": "Poista jako",
     "error.api_key_already_exists": "API-avain on jo olemassa.",
@@ -392,7 +392,7 @@
     "menu.feeds": "Syötteet",
     "menu.flush_history": "Tyhjennä historia",
     "menu.history": "Historia",
-    "menu.home_page": "Home page",
+    "menu.home_page": "Etusivu",
     "menu.import": "Tuo",
     "menu.integrations": "Integraatiot",
     "menu.logout": "Kirjaudu ulos",
@@ -406,7 +406,7 @@
     "menu.settings": "Asetukset",
     "menu.shared_entries": "Jaetut artikkelit",
     "menu.show_all_entries": "Näytä kaikki artikkelit",
-    "menu.show_only_starred_entries": "Show only starred entries",
+    "menu.show_only_starred_entries": "Näytä vain suosikit",
     "menu.show_only_unread_entries": "Näytä vain lukemattomat artikkelit",
     "menu.starred": "Suosikit",
     "menu.title": "Menu",
@@ -581,14 +581,14 @@
     "page.users.title": "Käyttäjät",
     "page.users.username": "Käyttäjätunnus",
     "page.webauthn_rename.title": "Rename Passkey",
-    "pagination.first": "First",
-    "pagination.last": "Last",
+    "pagination.first": "Ensimmäinen",
+    "pagination.last": "Viimeinen",
     "pagination.next": "Seuraava",
     "pagination.previous": "Edellinen",
     "search.label": "Haku",
     "search.placeholder": "Hae...",
-    "search.submit": "Search",
-    "skip_to_content": "Skip to content",
+    "search.submit": "Hae",
+    "skip_to_content": "Siirry sisältöön",
     "time_elapsed.days": [
         "%d päivä sitten",
         "%d päivää sitten"

+ 26 - 26
internal/locale/translations/hi_IN.json

@@ -13,7 +13,7 @@
     "action.update": "नवीनीकरण करे",
     "alert.account_linked": "आपका बाहरी खाता अब लिंक हो गया है!",
     "alert.account_unlinked": "आपका बाहरी खाता अब अलग कर दिया गया है!",
-    "alert.background_feed_refresh": "All feeds are being refreshed in the background. You can continue to use Miniflux while this process is running.",
+    "alert.background_feed_refresh": "सभी फ़ीड्स पृष्ठभूमि में ताज़ा की जा रही हैं। जब यह प्रक्रिया चल रही हो, तो आप मिनीफ्लक्स का उपयोग जारी रख सकते हैं।",
     "alert.feed_error": "इस फ़ीड में एक समस्या है",
     "alert.no_bookmark": "इस समय कोई बुकमार्क नहीं है",
     "alert.no_category": "कोई श्रेणी नहीं है।",
@@ -30,23 +30,23 @@
     "alert.pocket_linked": "आपका पॉकेट खाता अब लिंक हो गया है!",
     "alert.prefs_saved": "प्राथमिकताएं सहेजी गईं!",
     "alert.too_many_feeds_refresh": [
-        "You have triggered too many feed refreshes. Please wait %d minute before trying again.",
-        "You have triggered too many feed refreshes. Please wait %d minutes before trying again."
+        "आपने बहुत अधिक फ़ीड ताज़ा करने की प्रक्रिया शुरू कर दी है। कृपया पुनः प्रयास करने से पहले %d मिनट प्रतीक्षा करें।",
+        "आपने बहुत अधिक फ़ीड ताज़ा करने की प्रक्रिया शुरू कर दी है। कृपया पुनः प्रयास करने से पहले %d मिनट प्रतीक्षा करें।"
     ],
     "confirm.loading": " प्रगति में है ...",
     "confirm.no": " नहीं",
     "confirm.question": "मंजूर है?",
     "confirm.question.refresh": "क्या आप बल द्वारा ताज़ा करना चाहते हैं?",
     "confirm.yes": "हाँ",
-    "enclosure_media_controls.seek": "Seek:",
-    "enclosure_media_controls.seek.title": "Seek %s seconds",
-    "enclosure_media_controls.speed": "Speed:",
-    "enclosure_media_controls.speed.faster": "Faster",
-    "enclosure_media_controls.speed.faster.title": "Faster by %sx",
-    "enclosure_media_controls.speed.reset": "Reset",
-    "enclosure_media_controls.speed.reset.title": "Reset speed to 1x",
-    "enclosure_media_controls.speed.slower": "Slower",
-    "enclosure_media_controls.speed.slower.title": "Slower by %sx",
+    "enclosure_media_controls.seek": "खोजें:",
+    "enclosure_media_controls.seek.title": "%s सेकंड खोजें",
+    "enclosure_media_controls.speed": "गति:",
+    "enclosure_media_controls.speed.faster": "तेज",
+    "enclosure_media_controls.speed.faster.title": "%sx गुना तेज",
+    "enclosure_media_controls.speed.reset": "रीसेट करें",
+    "enclosure_media_controls.speed.reset.title": "गति 1x पर रीसेट करें",
+    "enclosure_media_controls.speed.slower": "धीमा",
+    "enclosure_media_controls.speed.slower.title": "%sx गुना धीमा",
     "entry.bookmark.toast.off": "तारांकित न करे",
     "entry.bookmark.toast.on": "तारांकित",
     "entry.bookmark.toggle.off": "सितारा हटा दो",
@@ -78,20 +78,20 @@
     "entry.status.toast.unread": "अपठित के रूप में चिह्नित",
     "entry.tags.label": "टैग:",
     "entry.tags.more_tags_label": [
-        "Show %d more tag",
-        "Show %d more tags"
+        "%d और टैग दिखाएँ",
+        "%d और टैग दिखाएँ"
     ],
     "entry.unshare.label": "न साझा कारें",
     "error.api_key_already_exists": "यह एपीआई कुंजी पहले से मौजूद है।",
     "error.bad_credentials": "अमान्य उपयोगकर्ता नाम या पासवर्ड।",
     "error.category_already_exists": "यह श्रेणी पहले से मौजूद है।",
-    "error.category_not_found": "This category does not exist or does not belong to this user.",
+    "error.category_not_found": "यह श्रेणी मौजूद नहीं है या इस उपयोगकर्ता से संबंधित नहीं है।",
     "error.database_error": "Database error: %v.",
     "error.different_passwords": "पासवर्ड एक जैसे नहीं हैं।",
     "error.duplicate_fever_username": "पहले से ही समान फीवर उपयोगकर्ता नाम वाला कोई और है!",
     "error.duplicate_googlereader_username": "समान गूगल रीडर उपयोगकर्ता नाम वाला कोई और पहले से मौजूद है!",
     "error.duplicate_linked_account": "इस प्रदाता के साथ पहले से ही कोई व्यक्ति जुड़ा हुआ है!",
-    "error.duplicated_feed": "This feed already exists.",
+    "error.duplicated_feed": "यह फ़ीड पहले से मौजूद है।",
     "error.empty_file": "यह फ़ाइल खाली है।",
     "error.entries_per_page_invalid": "प्रति पृष्ठ प्रविष्टियों की संख्या मान्य नहीं है।",
     "error.feed_already_exists": "यह फ़ीड पहले से मौजूद है.",
@@ -100,7 +100,7 @@
     "error.feed_invalid_blocklist_rule": "ब्लॉक सूची नियम अमान्य है।",
     "error.feed_invalid_keeplist_rule": "सूची रखें नियम अमान्य है।",
     "error.feed_mandatory_fields": "URL और श्रेणी अनिवार्य हैं।",
-    "error.feed_not_found": "This feed does not exist or does not belong to this user.",
+    "error.feed_not_found": "यह फ़ीड मौजूद नहीं है या इस उपयोगकर्ता से संबंधित नहीं है।",
     "error.feed_title_not_empty": "फ़ीड शीर्षक खाली नहीं हो सकता.",
     "error.feed_url_not_empty": "फ़ीड यूआरएल खाली नहीं हो सकता.",
     "error.fields_mandatory": "सभी फील्ड अनिवार्य।",
@@ -123,7 +123,7 @@
     "error.invalid_display_mode": "अमान्य वेब ऐप्लिकेशन प्रदर्शन मोड.",
     "error.invalid_entry_direction": "अमान्य प्रवेश दिशा।",
     "error.invalid_entry_order": "अमान्य प्रविष्टि क्रम।",
-    "error.invalid_feed_proxy_url": "Invalid proxy URL.",
+    "error.invalid_feed_proxy_url": "अमान्य प्रॉक्सी यूआरएल।",
     "error.invalid_feed_url": "दृष्टिकोण यूआरएल.",
     "error.invalid_gesture_nav": "अमान्य इशारा नेविगेशन।",
     "error.invalid_language": "अमान्य भाषा.",
@@ -155,8 +155,8 @@
     "error.unable_to_create_api_key": "यह एपीआई कुंजी बनाने में असमर्थ।",
     "error.unable_to_create_category": "यह श्रेणी बनाने में असमर्थ.",
     "error.unable_to_create_user": "इस उपयोगकर्ता को बनाने में असमर्थ।",
-    "error.unable_to_detect_rssbridge": "Unable to detect feed using RSS-Bridge: %v.",
-    "error.unable_to_parse_feed": "Unable to parse this feed: %v.",
+    "error.unable_to_detect_rssbridge": "RSS-Bridge का उपयोग करके फ़ीड का पता लगाने में असमर्थ: %v.",
+    "error.unable_to_parse_feed": "इस फ़ीड को पार्स करने में असमर्थ: %v.",
     "error.unable_to_update_category": "इस श्रेणी को अपडेट करने में असमर्थ।",
     "error.unable_to_update_feed": "इस फ़ीड को अपडेट करने में असमर्थ.",
     "error.unable_to_update_user": "इस उपयोगकर्ता को अपडेट करने में असमर्थ.",
@@ -581,14 +581,14 @@
     "page.users.title": "उपभोक्ता",
     "page.users.username": "यूसर्नेम",
     "page.webauthn_rename.title": "Rename Passkey",
-    "pagination.first": "First",
-    "pagination.last": "Last",
+    "pagination.first": "पहला",
+    "pagination.last": "अंतिम",
     "pagination.next": "अगला",
     "pagination.previous": "पिछला",
     "search.label": "खोजे",
     "search.placeholder": "खोजे...",
-    "search.submit": "Search",
-    "skip_to_content": "Skip to content",
+    "search.submit": "खोजें",
+    "skip_to_content": "सामग्री पर जाएं",
     "time_elapsed.days": [
         "%d दिन पहले",
         "%d दिन पहले"
@@ -606,7 +606,7 @@
         "%d महिनो पहले"
     ],
     "time_elapsed.not_yet": "अभी तक नहीं",
-    "time_elapsed.now": "बिल्कुल अभी",
+    "time_elapsed.now": "अभी",
     "time_elapsed.weeks": [
         "%d सप्ताह पहले",
         "%d हफ्तों पहले"
@@ -616,6 +616,6 @@
         "%d वर्षों पहले"
     ],
     "time_elapsed.yesterday": "कल",
-    "tooltip.keyboard_shortcuts": "कुंजीपटल संक्षिप्त रीति: %s",
+    "tooltip.keyboard_shortcuts": "कुंजीपटल शॉर्टकट: %s",
     "tooltip.logged_user": "%s के रूप में लॉग इन किया"
 }

+ 5 - 5
internal/locale/translations/id_ID.json

@@ -434,7 +434,7 @@
     "page.api_keys.table.token": "Token",
     "page.api_keys.title": "Kunci API",
     "page.categories_count": [
-        "%d category"
+        "%d kategori"
     ],
     "page.categories.entries": "Artikel",
     "page.categories.feed_count": [
@@ -546,18 +546,18 @@
     "page.settings.webauthn.register": "Daftar passkey",
     "page.settings.webauthn.register.error": "Tidak dapat mendaftarkan passkey",
     "page.shared_entries_count": [
-        "%d shared entry"
+        "%d entri yang dibagikan"
     ],
     "page.shared_entries.title": "Entri yang Dibagikan",
     "page.starred_entry_count": [
-        "%d starred entry"
+        "%d entri dimarkahi"
     ],
     "page.starred.title": "Markah",
     "page.total_entry_count": [
-        "%d entry in total"
+        "%d entri secara total"
     ],
     "page.unread_entry_count": [
-        "%d unread entry"
+        "%d entri belum dibaca"
     ],
     "page.unread.title": "Belum Dibaca",
     "page.users.actions": "Tindakan",

+ 31 - 31
internal/locale/translations/it_IT.json

@@ -13,7 +13,7 @@
     "action.update": "Aggiorna",
     "alert.account_linked": "Il tuo account esterno ora è collegato!",
     "alert.account_unlinked": "Il tuo account esterno ora è scollegato!",
-    "alert.background_feed_refresh": "All feeds are being refreshed in the background. You can continue to use Miniflux while this process is running.",
+    "alert.background_feed_refresh": "Tutti i feed vengono aggiornati in background. Puoi continuare a usare Miniflux mentre questo processo è in esecuzione.",
     "alert.feed_error": "Sembra ci sia un problema con questo feed",
     "alert.no_bookmark": "Nessun preferito disponibile.",
     "alert.no_category": "Nessuna categoria disponibile.",
@@ -30,25 +30,25 @@
     "alert.pocket_linked": "Il tuo account Pocket ora è collegato!",
     "alert.prefs_saved": "Preferenze salvate!",
     "alert.too_many_feeds_refresh": [
-        "You have triggered too many feed refreshes. Please wait %d minute before trying again.",
-        "You have triggered too many feed refreshes. Please wait %d minutes before trying again."
+        "Hai richiesto troppi aggiornamenti dei feed. Attendi %d minuto prima di riprovare.",
+        "Hai richiesto troppi aggiornamenti dei feed. Attendi %d minuti prima di riprovare."
     ],
     "confirm.loading": "In corso...",
     "confirm.no": "no",
     "confirm.question": "Sei sicuro?",
     "confirm.question.refresh": "Vuoi forzare l'aggiornamento?",
     "confirm.yes": "sì",
-    "enclosure_media_controls.seek": "Seek:",
-    "enclosure_media_controls.seek.title": "Seek %s seconds",
-    "enclosure_media_controls.speed": "Speed:",
-    "enclosure_media_controls.speed.faster": "Faster",
-    "enclosure_media_controls.speed.faster.title": "Faster by %sx",
-    "enclosure_media_controls.speed.reset": "Reset",
-    "enclosure_media_controls.speed.reset.title": "Reset speed to 1x",
-    "enclosure_media_controls.speed.slower": "Slower",
-    "enclosure_media_controls.speed.slower.title": "Slower by %sx",
-    "entry.bookmark.toast.off": "Non speciali",
-    "entry.bookmark.toast.on": "Ha recitato",
+    "enclosure_media_controls.seek": "Sposta:",
+    "enclosure_media_controls.seek.title": "Sposta di %s secondi",
+    "enclosure_media_controls.speed": "Velocità:",
+    "enclosure_media_controls.speed.faster": "Più veloce",
+    "enclosure_media_controls.speed.faster.title": "Più veloce di %sx",
+    "enclosure_media_controls.speed.reset": "Reimposta",
+    "enclosure_media_controls.speed.reset.title": "Reimposta velocità a 1x",
+    "enclosure_media_controls.speed.slower": "Più lento",
+    "enclosure_media_controls.speed.slower.title": "Più lento di %sx",
+    "entry.bookmark.toast.off": "Non preferito",
+    "entry.bookmark.toast.on": "Preferito",
     "entry.bookmark.toggle.off": "Rimuovi dai preferiti",
     "entry.bookmark.toggle.on": "Aggiungi ai preferiti",
     "entry.comments.label": "Commenti",
@@ -78,29 +78,29 @@
     "entry.status.toast.unread": "Contrassegnato come non letto",
     "entry.tags.label": "Tag:",
     "entry.tags.more_tags_label": [
-        "Show %d more tag",
-        "Show %d more tags"
+        "Mostra %d altro tag",
+        "Mostra %d altri tag"
     ],
-    "entry.unshare.label": "Unshare",
+    "entry.unshare.label": "Rimuovi condivisione",
     "error.api_key_already_exists": "Questa chiave API esiste già.",
     "error.bad_credentials": "Nome utente o password non validi.",
     "error.category_already_exists": "Questa categoria esiste già.",
-    "error.category_not_found": "This category does not exist or does not belong to this user.",
+    "error.category_not_found": "Questa categoria non esiste o non appartiene a questo utente.",
     "error.database_error": "Database error: %v.",
     "error.different_passwords": "Le password non coincidono.",
     "error.duplicate_fever_username": "Esiste già un account Fever con lo stesso nome utente!",
     "error.duplicate_googlereader_username": "Esiste già un account Google Reader con lo stesso nome utente!",
     "error.duplicate_linked_account": "Esiste già un account configurato per questo servizio!",
-    "error.duplicated_feed": "This feed already exists.",
+    "error.duplicated_feed": "Questo feed esiste già.",
     "error.empty_file": "Questo file è vuoto.",
     "error.entries_per_page_invalid": "Il numero di articoli per pagina non è valido.",
     "error.feed_already_exists": "Questo feed esiste già.",
     "error.feed_category_not_found": "Questa categoria non esiste o non appartiene a questo utente.",
-    "error.feed_format_not_detected": "Unable to detect feed format: %v.",
+    "error.feed_format_not_detected": "Impossibile rilevare il formato del feed: %v.",
     "error.feed_invalid_blocklist_rule": "La regola dell'elenco di blocco non è valida.",
     "error.feed_invalid_keeplist_rule": "La regola dell'elenco di conservazione non è valida.",
     "error.feed_mandatory_fields": "L'URL e la categoria sono obbligatori.",
-    "error.feed_not_found": "This feed does not exist or does not belong to this user.",
+    "error.feed_not_found": "Questo feed non esiste o non appartiene a questo utente.",
     "error.feed_title_not_empty": "Il titolo del feed non può essere vuoto.",
     "error.feed_url_not_empty": "L'URL del feed non può essere vuoto.",
     "error.fields_mandatory": "Tutti i campi sono obbligatori.",
@@ -123,19 +123,19 @@
     "error.invalid_display_mode": "Modalità di visualizzazione web app non valida.",
     "error.invalid_entry_direction": "Ordinamento non valido.",
     "error.invalid_entry_order": "L'ordinamento delle voci non è valido.",
-    "error.invalid_feed_proxy_url": "Invalid proxy URL.",
+    "error.invalid_feed_proxy_url": "URL del proxy non valido.",
     "error.invalid_feed_url": "URL del feed non valido.",
     "error.invalid_gesture_nav": "Navigazione gestuale non valida.",
     "error.invalid_language": "Lingua non valida.",
     "error.invalid_site_url": "URL del sito non valido.",
     "error.invalid_theme": "Tema non valido.",
     "error.invalid_timezone": "Fuso orario non valido.",
-    "error.network_operation": "Miniflux is not able to reach this website due to a network error: %v.",
-    "error.network_timeout": "This website is too slow and the request timed out: %v",
+    "error.network_operation": "Miniflux non riesce a raggiungere questo sito web a causa di un errore di rete: %v.",
+    "error.network_timeout": "Questo sito web è troppo lento e la richiesta è scaduta: %v",
     "error.password_min_length": "La password deve contenere almeno 6 caratteri.",
     "error.pocket_access_token": "Non sono riuscito ad ottenere l'access token da Pocket!",
     "error.pocket_request_token": "Non sono riuscito ad ottenere il request token da Pocket!",
-    "error.proxy_url_not_empty": "The proxy URL cannot be empty.",
+    "error.proxy_url_not_empty": "L'URL del proxy non può essere vuoto.",
     "error.settings_block_rule_fieldname_invalid": "Invalid Block rule: rule #%d is missing a valid field name (Options: %s)",
     "error.settings_block_rule_invalid_regex": "Invalid Block rule: rule #%d's pattern is not a valid regex",
     "error.settings_block_rule_regex_required": "Invalid Block rule: rule #%d's pattern is not provided",
@@ -155,8 +155,8 @@
     "error.unable_to_create_api_key": "Impossibile creare questa chiave API.",
     "error.unable_to_create_category": "Non sono riuscito ad aggiungere questa categoria.",
     "error.unable_to_create_user": "Non sono riuscito ad aggiungere questo user.",
-    "error.unable_to_detect_rssbridge": "Unable to detect feed using RSS-Bridge: %v.",
-    "error.unable_to_parse_feed": "Unable to parse this feed: %v.",
+    "error.unable_to_detect_rssbridge": "Impossibile rilevare il feed usando RSS-Bridge: %v.",
+    "error.unable_to_parse_feed": "Impossibile analizzare questo feed: %v.",
     "error.unable_to_update_category": "Non sono riuscito ad aggiornare questa categoria.",
     "error.unable_to_update_feed": "Non sono riuscito ad aggiornare questo feed.",
     "error.unable_to_update_user": "Non sono riuscito ad aggiornare questo utente.",
@@ -581,14 +581,14 @@
     "page.users.title": "Utenti",
     "page.users.username": "Nome utente",
     "page.webauthn_rename.title": "Rename Passkey",
-    "pagination.first": "First",
-    "pagination.last": "Last",
+    "pagination.first": "Primo",
+    "pagination.last": "Ultimo",
     "pagination.next": "Successivo",
     "pagination.previous": "Precedente",
     "search.label": "Cerca",
     "search.placeholder": "Cerca...",
-    "search.submit": "Search",
-    "skip_to_content": "Skip to content",
+    "search.submit": "Cerca",
+    "skip_to_content": "Salta al contenuto",
     "time_elapsed.days": [
         "%d giorno fa",
         "%d giorni fa"

+ 31 - 31
internal/locale/translations/ja_JP.json

@@ -13,7 +13,7 @@
     "action.update": "更新",
     "alert.account_linked": "外部アカウントとリンクされました!",
     "alert.account_unlinked": "外部アカウントとのリンクが解除されました!",
-    "alert.background_feed_refresh": "All feeds are being refreshed in the background. You can continue to use Miniflux while this process is running.",
+    "alert.background_feed_refresh": "すべてのフィードがバックグラウンドで更新されています。この処理中も Miniflux を使い続けることができます。",
     "alert.feed_error": "このフィードには問題があります。",
     "alert.no_bookmark": "現在星付きはありません。",
     "alert.no_category": "カテゴリが存在しません。",
@@ -30,22 +30,22 @@
     "alert.pocket_linked": "Pocket アカウントとリンクされました!",
     "alert.prefs_saved": "設定情報は保存されました!",
     "alert.too_many_feeds_refresh": [
-        "You have triggered too many feed refreshes. Please wait %d minute before trying again."
+        "フィードの更新を要求しすぎました。%d 分後に再度お試しください。"
     ],
     "confirm.loading": "実行中…",
     "confirm.no": "いいえ",
     "confirm.question": "よろしいですか?",
     "confirm.question.refresh": "強制的に更新しますか?",
     "confirm.yes": "はい",
-    "enclosure_media_controls.seek": "Seek:",
-    "enclosure_media_controls.seek.title": "Seek %s seconds",
-    "enclosure_media_controls.speed": "Speed:",
-    "enclosure_media_controls.speed.faster": "Faster",
-    "enclosure_media_controls.speed.faster.title": "Faster by %sx",
-    "enclosure_media_controls.speed.reset": "Reset",
-    "enclosure_media_controls.speed.reset.title": "Reset speed to 1x",
-    "enclosure_media_controls.speed.slower": "Slower",
-    "enclosure_media_controls.speed.slower.title": "Slower by %sx",
+    "enclosure_media_controls.seek": "シーク:",
+    "enclosure_media_controls.seek.title": "%s 秒シーク",
+    "enclosure_media_controls.speed": "速度:",
+    "enclosure_media_controls.speed.faster": "速く",
+    "enclosure_media_controls.speed.faster.title": "%sx 速く",
+    "enclosure_media_controls.speed.reset": "リセット",
+    "enclosure_media_controls.speed.reset.title": "速度を1xにリセット",
+    "enclosure_media_controls.speed.slower": "遅く",
+    "enclosure_media_controls.speed.slower.title": "%sx 遅く",
     "entry.bookmark.toast.off": "星を外しました",
     "entry.bookmark.toast.on": "星を付けました",
     "entry.bookmark.toggle.off": "星を外す",
@@ -82,22 +82,22 @@
     "error.api_key_already_exists": "この API キーは既に存在します。",
     "error.bad_credentials": "ユーザー名かパスワードが間違っています。",
     "error.category_already_exists": "このカテゴリは既に存在します。",
-    "error.category_not_found": "This category does not exist or does not belong to this user.",
+    "error.category_not_found": "このカテゴリは存在しないか、このユーザーに属していません。",
     "error.database_error": "Database error: %v.",
     "error.different_passwords": "パスワードが一致しません。",
     "error.duplicate_fever_username": "既に同じ名前の Fever ユーザー名が使われています!",
     "error.duplicate_googlereader_username": "既に同じ名前の Google Reader ユーザー名が使われています!",
     "error.duplicate_linked_account": "別なユーザーが既にこのサービスの同じユーザーとリンクしています。",
-    "error.duplicated_feed": "This feed already exists.",
+    "error.duplicated_feed": "このフィードは既に存在します。",
     "error.empty_file": "このファイルは空です。",
     "error.entries_per_page_invalid": "ページあたりの記事数が無効です。",
     "error.feed_already_exists": "このフィードは既に存在します。",
     "error.feed_category_not_found": "このカテゴリは存在しないか、このユーザーに属していません。",
-    "error.feed_format_not_detected": "Unable to detect feed format: %v.",
+    "error.feed_format_not_detected": "フィードの形式を検出できません: %v.",
     "error.feed_invalid_blocklist_rule": "ブロックリストルールが無効です。",
     "error.feed_invalid_keeplist_rule": "リストの保持ルールが無効です。",
     "error.feed_mandatory_fields": "URL と カテゴリが必要です。",
-    "error.feed_not_found": "This feed does not exist or does not belong to this user.",
+    "error.feed_not_found": "このフィードは存在しないか、このユーザーに属していません。",
     "error.feed_title_not_empty": "フィードのタイトルを空にすることはできません。",
     "error.feed_url_not_empty": "フィード URL を空にすることはできません。",
     "error.fields_mandatory": "すべての項目が必要です。",
@@ -120,19 +120,19 @@
     "error.invalid_display_mode": "Web アプリの表示モードが無効です。",
     "error.invalid_entry_direction": "記事の表示順が無効です。",
     "error.invalid_entry_order": "記事の表示順が無効です。",
-    "error.invalid_feed_proxy_url": "Invalid proxy URL.",
+    "error.invalid_feed_proxy_url": "プロキシURLが無効です。",
     "error.invalid_feed_url": "フィード URL が無効です。",
     "error.invalid_gesture_nav": "ジェスチャー ナビゲーションが無効です。",
     "error.invalid_language": "言語が無効です。",
     "error.invalid_site_url": "サイト URL が無効です。",
     "error.invalid_theme": "テーマが無効です。",
     "error.invalid_timezone": "タイムゾーンが無効です。",
-    "error.network_operation": "Miniflux is not able to reach this website due to a network error: %v.",
-    "error.network_timeout": "This website is too slow and the request timed out: %v",
+    "error.network_operation": "Miniflux はネットワークエラーのためこのウェブサイトに到達できません: %v.",
+    "error.network_timeout": "このウェブサイトは応答が遅すぎるためタイムアウトしました: %v",
     "error.password_min_length": "パスワードは6文字以上である必要があります。",
     "error.pocket_access_token": "Pocket の access token が取得できません!",
     "error.pocket_request_token": "Pocket の request token が取得できません!",
-    "error.proxy_url_not_empty": "The proxy URL cannot be empty.",
+    "error.proxy_url_not_empty": "プロキシURLを空にすることはできません。",
     "error.settings_block_rule_fieldname_invalid": "Invalid Block rule: rule #%d is missing a valid field name (Options: %s)",
     "error.settings_block_rule_invalid_regex": "Invalid Block rule: rule #%d's pattern is not a valid regex",
     "error.settings_block_rule_regex_required": "Invalid Block rule: rule #%d's pattern is not provided",
@@ -152,8 +152,8 @@
     "error.unable_to_create_api_key": "この API キーを作成できません。",
     "error.unable_to_create_category": "このカテゴリは作成できません。",
     "error.unable_to_create_user": "このユーザーは作成できません。",
-    "error.unable_to_detect_rssbridge": "Unable to detect feed using RSS-Bridge: %v.",
-    "error.unable_to_parse_feed": "Unable to parse this feed: %v.",
+    "error.unable_to_detect_rssbridge": "RSS-Bridge を使ってフィードを検出できません: %v.",
+    "error.unable_to_parse_feed": "このフィードを解析できません: %v.",
     "error.unable_to_update_category": "このカテゴリは更新できません。",
     "error.unable_to_update_feed": "このフィードは更新できません。",
     "error.unable_to_update_user": "このユーザーは更新できません。",
@@ -434,7 +434,7 @@
     "page.api_keys.table.token": "トークン",
     "page.api_keys.title": "API キー",
     "page.categories_count": [
-        "%d category"
+        "%d 件のカテゴリ"
     ],
     "page.categories.entries": "記事一覧",
     "page.categories.feed_count": [
@@ -521,7 +521,7 @@
     "page.offline.refresh_page": "ページを更新してみてください",
     "page.offline.title": "オフラインモード",
     "page.read_entry_count": [
-        "%d read entry"
+        "%d 件の既読エントリ"
     ],
     "page.search.title": "検索結果",
     "page.sessions.table.actions": "アクション",
@@ -546,18 +546,18 @@
     "page.settings.webauthn.register": "パスキーを登録する",
     "page.settings.webauthn.register.error": "パスキーを登録できません",
     "page.shared_entries_count": [
-        "%d shared entry"
+        "%d 件の共有エントリ"
     ],
     "page.shared_entries.title": "共有エントリ",
     "page.starred_entry_count": [
-        "%d starred entry"
+        "%d 件の星付きエントリ"
     ],
     "page.starred.title": "星付き",
     "page.total_entry_count": [
-        "%d entry in total"
+        "合計 %d 件のエントリ"
     ],
     "page.unread_entry_count": [
-        "%d unread entry"
+        "%d 件の未読エントリ"
     ],
     "page.unread.title": "未読",
     "page.users.actions": "アクション",
@@ -569,14 +569,14 @@
     "page.users.title": "ユーザー一覧",
     "page.users.username": "ユーザー名",
     "page.webauthn_rename.title": "Rename Passkey",
-    "pagination.first": "First",
-    "pagination.last": "Last",
+    "pagination.first": "最初",
+    "pagination.last": "最後",
     "pagination.next": "次",
     "pagination.previous": "前",
     "search.label": "検索",
     "search.placeholder": "…を検索",
-    "search.submit": "Search",
-    "skip_to_content": "Skip to content",
+    "search.submit": "検索",
+    "skip_to_content": "コンテンツへスキップ",
     "time_elapsed.days": [
         "%d 日前"
     ],

+ 21 - 21
internal/locale/translations/nan_Latn_pehoeji.json

@@ -37,8 +37,8 @@
     "confirm.question": "Kám ū khak-tēng?",
     "confirm.question.refresh": "Kám beh kiông-chè têng lia̍h?",
     "confirm.yes": "Sī",
-    "enclosure_media_controls.seek": "sóa-ūi:",
-    "enclosure_media_controls.seek.title": "sóa %s bió",
+    "enclosure_media_controls.seek": "Sóa-ūi:",
+    "enclosure_media_controls.seek.title": "Sóa %s bió",
     "enclosure_media_controls.speed": "Sok-tō͘",
     "enclosure_media_controls.speed.faster": "Cheng-ka sok-tō͘",
     "enclosure_media_controls.speed.faster.title": "Cheng-ka sok-tō͘ %sx",
@@ -120,7 +120,7 @@
     "error.invalid_display_mode": "Ū būn-tôe ê su-li̍p bô͘-sek.",
     "error.invalid_entry_direction": "Ū būn-tôe ê su-li̍p hong-hiòng.",
     "error.invalid_entry_order": "Siau-sit ê chōe pái bô-hāu, chhiáⁿ tán-hāu %d hun-cheng āu koh chhì-khòaⁿ-māi.",
-    "error.invalid_feed_proxy_url": "Invalid proxy URL.",
+    "error.invalid_feed_proxy_url": "Proxy URL ū būn-tôe.",
     "error.invalid_feed_url": "Beh tēng ê siau-sit lâi-goân ê bāng-chí ū būn-tôe.",
     "error.invalid_gesture_nav": "Chhiú-sè tō-lám ū būn-tôe.",
     "error.invalid_language": "Ū būn-tôe ê gú-giân.",
@@ -132,7 +132,7 @@
     "error.password_min_length": "Chhiáⁿ chì-chió ài su-li̍p la̍k ê lī goân.",
     "error.pocket_access_token": "Bô-hoat-tō͘ ùi Pocket thê tio̍h access token",
     "error.pocket_request_token": "Bô-hoat-tō͘ ùi Pocket thê tio̍h request token",
-    "error.proxy_url_not_empty": "The proxy URL cannot be empty.",
+    "error.proxy_url_not_empty": "Proxy URL bōe-sái sī khang--ê.",
     "error.settings_block_rule_fieldname_invalid": "Bô-hāu ê hong-só kui-chek: kui-chek #%d khiàm ū-hāu ê lân-ūi miâ (e-sai ê soán-hāng: %s)",
     "error.settings_block_rule_invalid_regex": "Bô-hāu ê hong-só kui-chek: kui-chek #%d ê bô͘-sek m̄ sī ha̍p-hoat ê chiàⁿ-kui piáu-ta̍t sek",
     "error.settings_block_rule_regex_required": "Bô-hāu ê hong-só kui-chek: kui-chek #%d bô thê-kiong chiàⁿ-kui piáu-ta̍t sek",
@@ -193,13 +193,13 @@
     "form.feed.label.ntfy_priority": "Ntfy iu-sian sūn-sū",
     "form.feed.label.ntfy_topic": "Ntfy topic (soán thiⁿ)",
     "form.feed.label.proxy_url": "Proxy URL",
-    "form.feed.label.pushover_activate": "Push entries to Pushover",
-    "form.feed.label.pushover_default_priority": "Default priority",
-    "form.feed.label.pushover_high_priority": "High priority",
-    "form.feed.label.pushover_low_priority": "Low priority",
-    "form.feed.label.pushover_max_priority": "Max priority",
-    "form.feed.label.pushover_min_priority": "Minimal priority",
-    "form.feed.label.pushover_priority": "Pushover message priority",
+    "form.feed.label.pushover_activate": "Pó-chûn siau-sit kàu pushover.net",
+    "form.feed.label.pushover_default_priority": "Pushover ū-siat iu-sian sūn-sū",
+    "form.feed.label.pushover_high_priority": "Pushover koân iu-sian sūn-sū",
+    "form.feed.label.pushover_low_priority": "Pushover kē iu-sian sūn-sū",
+    "form.feed.label.pushover_max_priority": "Pushover siōng koân iu-sian sūn-sū",
+    "form.feed.label.pushover_min_priority": "Pushover siōng kē iu-sian sūn-sū",
+    "form.feed.label.pushover_priority": "Pushover siau-sit iu-sian sūn-sū",
     "form.feed.label.rewrite_rules": "Têng siá kui-chek",
     "form.feed.label.scraper_rules": "Lia̍h ê kui-chek",
     "form.feed.label.site_url": "Bāng-chām bāng-chí",
@@ -281,11 +281,11 @@
     "form.integration.pocket_activate": "Pó-chûn siau-sit kàu Pocket",
     "form.integration.pocket_connect_link": "Kah Pocket kháu-chō kiat chòe-hé",
     "form.integration.pocket_consumer_key": "Pocket sú-iōng-lâng só-sî",
-    "form.integration.pushover_activate": "Push entries to Pushover",
-    "form.integration.pushover_device": "Pushover device (optional)",
-    "form.integration.pushover_prefix": "Pushover URL prefix (optional)",
-    "form.integration.pushover_token": "Pushover application API token",
-    "form.integration.pushover_user": "Pushover user key",
+    "form.integration.pushover_activate": "Pó-chûn siau-sit kàu Pushover",
+    "form.integration.pushover_device": "Pushover ki-hì (soán thiⁿ)",
+    "form.integration.pushover_prefix": "Pushover URL tó͘-bí (soán thiⁿ)",
+    "form.integration.pushover_token": "Pushover application API só-sî",
+    "form.integration.pushover_user": "Pushover sú-iōng-lâng só-sî",
     "form.integration.raindrop_activate": "Pó-chûn siau-sit kàu Raindrop",
     "form.integration.raindrop_collection_id": "Collection ID",
     "form.integration.raindrop_tags": "khan-á (iōng tō͘-tiám keh khui)",
@@ -332,7 +332,7 @@
     "form.prefs.fieldset.global_feed_settings": "Choân-he̍k siau-sit lâi-goân siat-tēng",
     "form.prefs.fieldset.reader_settings": "Ia̍t-tha̍k khì siat-tēng",
     "form.prefs.help.external_font_hosts": "Iōng khang-keh keh khui ún-chún ê gōa-pō͘ lī-hêng lâi-goân. Phì-lû \"fonts.gstatic.com fonts.googleapis.com\"",
-    "form.prefs.label.always_open_external_links": "Read articles by opening external links",
+    "form.prefs.label.always_open_external_links": "Chhiau-chhē bûn-chiong sī iōng gōa-pō͘ liân-kiat phah khui",
     "form.prefs.label.categories_sorting_order": "Lūi-pia̍t hián-sī sūn-sū",
     "form.prefs.label.cjk_reading_speed": "Tiong-bûn, Hân-bûn, Li̍t-bûn tha̍k ê sok-tō͘ (múi hun-cheng ē-sái tha̍k kúi ê lī-goân)",
     "form.prefs.label.custom_css": "Chū tēng ê CSS",
@@ -357,10 +357,10 @@
     "form.prefs.label.theme": "Chú-tôe",
     "form.prefs.label.timezone": "Sî-khu",
     "form.prefs.select.alphabetical": "Chiàu lī-bú pâi",
-    "form.prefs.select.browser": "Tī iû-lám khì phah khui",
+    "form.prefs.select.browser": "Iû-lâm-khì",
     "form.prefs.select.created_time": "Siau-sit kiàn-li̍p sî-kan",
     "form.prefs.select.fullscreen": "Choân êng-bō͘",
-    "form.prefs.select.minimal_ui": "Siōng iông-chhun--ê",
+    "form.prefs.select.minimal_ui": "Siōng sió UI",
     "form.prefs.select.none": "Bô",
     "form.prefs.select.older_first": "Ùi kū--ê khai-sí pâi",
     "form.prefs.select.publish_time": "Siau-sit hoat-pò͘ sî-kan",
@@ -412,7 +412,7 @@
     "page.about.author": "Chok-chiá: ",
     "page.about.build_date": "Kiàn-tì li̍t-kî:",
     "page.about.credits": "Pán-koân",
-    "page.about.db_usage": "Database size:",
+    "page.about.db_usage": "Database chhài-chhiú:",
     "page.about.git_commit": "Git Commit:",
     "page.about.global_config_options": "Choân-he̍k siat-tēng soán-hāng",
     "page.about.go_version": "Go pán-pún:",
@@ -576,7 +576,7 @@
     "search.label": "Chhiau-chhē",
     "search.placeholder": "Chhiau-chhē...",
     "search.submit": "Chhiau-chhē",
-    "skip_to_content": "Sóa kah chú-iàu ê lōe-iông",
+    "skip_to_content": "Thiaⁿ--khì chhòng-bûn",
     "time_elapsed.days": [
         "%d kang chêng"
     ],

+ 20 - 20
internal/locale/translations/nl_NL.json

@@ -78,8 +78,8 @@
     "entry.status.toast.unread": "Gemarkeerd als ongelezen",
     "entry.tags.label": "Tags:",
     "entry.tags.more_tags_label": [
-        "Show %d more tag",
-        "Show %d more tags"
+        "Toon %d extra tag",
+        "Toon %d extra tags"
     ],
     "entry.unshare.label": "Delen ongedaan maken",
     "error.api_key_already_exists": "Deze API-sleutel bestaat al.",
@@ -123,7 +123,7 @@
     "error.invalid_display_mode": "Ongeldige weergavemodus voor de webapp.",
     "error.invalid_entry_direction": "Ongeldige sorteervolgorde.",
     "error.invalid_entry_order": "Ongeldige volgorde van artikelen.",
-    "error.invalid_feed_proxy_url": "Invalid proxy URL.",
+    "error.invalid_feed_proxy_url": "Ongeldige proxy-URL.",
     "error.invalid_feed_url": "Ongeldige feed URL.",
     "error.invalid_gesture_nav": "Ongeldige gebarennavigatie.",
     "error.invalid_language": "Ongeldige taal.",
@@ -135,12 +135,12 @@
     "error.password_min_length": "Minimaal 6 tekens gebruiken.",
     "error.pocket_access_token": "Kon geen toegangstoken ophalen van Pocket!",
     "error.pocket_request_token": "Kon geen aanvraagtoken ophalen van Pocket!",
-    "error.proxy_url_not_empty": "The proxy URL cannot be empty.",
+    "error.proxy_url_not_empty": "De proxy-URL mag niet leeg zijn.",
     "error.settings_block_rule_fieldname_invalid": "Ongeldige blokkeerregel: regel #%d mist een geldige veldnaam (Opties: %s)",
     "error.settings_block_rule_invalid_regex": "Ongeldige blokkeerregel: het patroon van regel #%d is geen geldige regex",
     "error.settings_block_rule_regex_required": "Ongeldige blokkeerregel:  het patroon van regel #%d is niet opgegeven",
     "error.settings_block_rule_separator_required": "Ongeldige blokkeerregel: het patroon van regel #%d moet worden gescheiden door een '='",
-    "error.settings_invalid_domain_list": "Invalid domain list. Please provide a space separated list of domains.",
+    "error.settings_invalid_domain_list": "Ongeldige domeinlijst. Geef een spatiegescheiden lijst van domeinen op.",
     "error.settings_keep_rule_fieldname_invalid": "Ongeldige bewaarregel: regel #%d mist een geldige veldnaam (Options: %s)",
     "error.settings_keep_rule_invalid_regex": "Ongeldige bewaarregel: het patroon van regel #%d is geen geldige regex",
     "error.settings_keep_rule_regex_required": "Ongeldige bewaarregel: het patroon van regel #%d is niet opgegeven",
@@ -196,13 +196,13 @@
     "form.feed.label.ntfy_priority": "Ntfy prioriteit",
     "form.feed.label.ntfy_topic": "Ntfy topic (optional)",
     "form.feed.label.proxy_url": "Proxy URL",
-    "form.feed.label.pushover_activate": "Push entries to pushover.net",
-    "form.feed.label.pushover_default_priority": "Pushover default priority",
-    "form.feed.label.pushover_high_priority": "Pushover high priority",
-    "form.feed.label.pushover_low_priority": "Pushover low priority",
-    "form.feed.label.pushover_max_priority": "Pushover max priority",
-    "form.feed.label.pushover_min_priority": "Pushover min priority",
-    "form.feed.label.pushover_priority": "Pushover message priority",
+    "form.feed.label.pushover_activate": "Stuur artikelen naar pushover.net",
+    "form.feed.label.pushover_default_priority": "Pushover standaard prioriteit",
+    "form.feed.label.pushover_high_priority": "Pushover hoge prioriteit",
+    "form.feed.label.pushover_low_priority": "Pushover lage prioriteit",
+    "form.feed.label.pushover_max_priority": "Pushover maximale prioriteit",
+    "form.feed.label.pushover_min_priority": "Pushover minimale prioriteit",
+    "form.feed.label.pushover_priority": "Pushover berichtprioriteit",
     "form.feed.label.rewrite_rules": "Herschrijfregels",
     "form.feed.label.scraper_rules": "Extractieregels",
     "form.feed.label.site_url": "Website URL",
@@ -218,8 +218,8 @@
     "form.integration.betula_activate": "Artikelen opslaan in Betula",
     "form.integration.betula_token": "Betula Token",
     "form.integration.betula_url": "Betula server URL",
-    "form.integration.cubox_activate": "Save entries to Cubox",
-    "form.integration.cubox_api_link": "Cubox API link",
+    "form.integration.cubox_activate": "Artikelen opslaan in Cubox",
+    "form.integration.cubox_api_link": "Cubox API-link",
     "form.integration.discord_activate": "Artikelen opslaan in Discord",
     "form.integration.discord_webhook_link": "Discord Webhook link",
     "form.integration.espial_activate": "Artikelen opslaan in Espial",
@@ -265,7 +265,7 @@
     "form.integration.ntfy_activate": "Stuur artikelen naar ntfy",
     "form.integration.ntfy_api_token": "Ntfy API Token (optioneel)",
     "form.integration.ntfy_icon_url": "Ntfy Icon URL (optioneel)",
-    "form.integration.ntfy_internal_links": "Use internal links on click (optional)",
+    "form.integration.ntfy_internal_links": "Gebruik interne links bij klikken (optioneel)",
     "form.integration.ntfy_password": "Ntfy wachtwoord (optioneel)",
     "form.integration.ntfy_topic": "Ntfy topic (standaard gebruikt als deze niet is ingesteld in feed)",
     "form.integration.ntfy_url": "Ntfy URL (optioneel, standaard is ntfy.sh)",
@@ -334,8 +334,8 @@
     "form.prefs.fieldset.authentication_settings": "Authenticatie Instellingen",
     "form.prefs.fieldset.global_feed_settings": "Globale Feed Instellingen",
     "form.prefs.fieldset.reader_settings": "Lees Instellingen",
-    "form.prefs.help.external_font_hosts": "Space separated list of external font hosts to allow. For example: \"fonts.gstatic.com fonts.googleapis.com\".",
-    "form.prefs.label.always_open_external_links": "Read articles by opening external links",
+    "form.prefs.help.external_font_hosts": "Spatiegescheiden lijst van externe font-hosts die zijn toegestaan. Bijvoorbeeld: 'fonts.gstatic.com fonts.googleapis.com'.",
+    "form.prefs.label.always_open_external_links": "Lees artikelen door externe links te openen",
     "form.prefs.label.categories_sorting_order": "Volgorde categorieën",
     "form.prefs.label.cjk_reading_speed": "Leessnelheid voor Chinees, Koreaans en Japans (tekens per minuut)",
     "form.prefs.label.custom_css": "Aangepaste CSS",
@@ -347,7 +347,7 @@
     "form.prefs.label.entry_order": "Artikelen sorteren",
     "form.prefs.label.entry_sorting": "Volgorde van artikelen",
     "form.prefs.label.entry_swipe": "Vegen tussen artikelen inschakelen op aanraakschermen",
-    "form.prefs.label.external_font_hosts": "External font hosts",
+    "form.prefs.label.external_font_hosts": "Externe font-hosts",
     "form.prefs.label.gesture_nav": "Gebaar om tussen artikelen te navigeren",
     "form.prefs.label.keyboard_shortcuts": "Sneltoetsen inschakelen",
     "form.prefs.label.language": "Taal",
@@ -415,7 +415,7 @@
     "page.about.author": "Auteur:",
     "page.about.build_date": "Compilatiedatum:",
     "page.about.credits": "Credits",
-    "page.about.db_usage": "Database size:",
+    "page.about.db_usage": "Databasegrootte:",
     "page.about.git_commit": "Git Commit:",
     "page.about.global_config_options": "Globale Configuratie Opties",
     "page.about.go_version": "Go versie:",
@@ -519,7 +519,7 @@
     "page.login.title": "Inloggen",
     "page.login.webauthn_login": "Inloggen met passkey",
     "page.login.webauthn_login.error": "Kan niet inloggen met passkey",
-    "page.login.webauthn_login.help": "Please enter your username if you're using a security key. This is not required if you are using a Passkey (discoverable credentials).",
+    "page.login.webauthn_login.help": "Voer je gebruikersnaam in als je een beveiligingssleutel gebruikt. Dit is niet nodig als je een Passkey (ontdekkingsbare referenties) gebruikt.",
     "page.new_api_key.title": "Nieuwe API-sleutel",
     "page.new_category.title": "Nieuwe categorie",
     "page.new_user.title": "Nieuwe gebruiker",

+ 1 - 1
internal/locale/translations/pl_PL.json

@@ -337,7 +337,7 @@
     "form.prefs.fieldset.authentication_settings": "Ustawienia uwierzytelniania",
     "form.prefs.fieldset.global_feed_settings": "Globalne ustawienia kanałów",
     "form.prefs.fieldset.reader_settings": "Ustawienia czytnika",
-    "form.prefs.help.external_font_hosts": "Lista hostów zewnętrznych czcionek, na które należy zezwolić, rozdzielona spacjami. Na przykład: „fonts.gstatic.com fonts.googleapis.com”.",
+    "form.prefs.help.external_font_hosts": "Lista hostów zewnętrznych czcionek, na które należy zezwolić, rozdzielona spacjami. Na przykład: 'fonts.gstatic.com fonts.googleapis.com'.",
     "form.prefs.label.always_open_external_links": "Czytaj artykuły, otwierając łącza zewnętrzne",
     "form.prefs.label.categories_sorting_order": "Sortowanie kategorii",
     "form.prefs.label.cjk_reading_speed": "Szybkość czytania w języku chińskim, koreańskim i japońskim (znaki na minutę)",

+ 129 - 129
internal/locale/translations/pt_BR.json

@@ -13,7 +13,7 @@
     "action.update": "Atualizar",
     "alert.account_linked": "Sua conta externa está vinculada!",
     "alert.account_unlinked": "Sua conta externa está desvinculada!",
-    "alert.background_feed_refresh": "All feeds are being refreshed in the background. You can continue to use Miniflux while this process is running.",
+    "alert.background_feed_refresh": "Todas as fontes estão sendo atualizadas em segundo plano. Você pode continuar usando o Miniflux enquanto este processo está em execução.",
     "alert.feed_error": "Ocorreu um problema com esta fonte.",
     "alert.no_bookmark": "Não há favorito neste momento.",
     "alert.no_category": "Não há categoria.",
@@ -30,8 +30,8 @@
     "alert.pocket_linked": "Sua conta do Pocket está vinculada!",
     "alert.prefs_saved": "Suas preferências foram salvas!",
     "alert.too_many_feeds_refresh": [
-        "You have triggered too many feed refreshes. Please wait %d minute before trying again.",
-        "You have triggered too many feed refreshes. Please wait %d minutes before trying again."
+        "Você acionou muitas atualizações de fontes. Por favor, aguarde %d minuto antes de tentar novamente.",
+        "Você acionou muitas atualizações de fontes. Por favor, aguarde %d minutos antes de tentar novamente."
     ],
     "confirm.loading": "Carregando...",
     "confirm.no": "Não",
@@ -78,73 +78,73 @@
     "entry.status.toast.unread": "Marcado como não lido",
     "entry.tags.label": "Etiquetas:",
     "entry.tags.more_tags_label": [
-        "Show %d more tag",
-        "Show %d more tags"
+        "Mostrar mais %d etiqueta",
+        "Mostrar mais %d etiquetas"
     ],
     "entry.unshare.label": "Descompartilhar",
     "error.api_key_already_exists": "Essa chave de API já existe.",
     "error.bad_credentials": "Usuário ou senha são inválidos.",
     "error.category_already_exists": "Esta categoria já existe.",
-    "error.category_not_found": "This category does not exist or does not belong to this user.",
-    "error.database_error": "Database error: %v.",
+    "error.category_not_found": "Esta categoria não existe ou não pertence a este usuário.",
+    "error.database_error": "Erro no banco de dados: %v.",
     "error.different_passwords": "As senhas não são iguais.",
     "error.duplicate_fever_username": "Alguém já está utilizando esse nome de usuário do Fever!",
     "error.duplicate_googlereader_username": "Alguém já está utilizando esse nome de usuário do Google Reader!",
     "error.duplicate_linked_account": "Alguém já está vinculado a esse serviço!",
-    "error.duplicated_feed": "This feed already exists.",
+    "error.duplicated_feed": "Esta fonte já existe.",
     "error.empty_file": "Esse arquivo está vazio.",
     "error.entries_per_page_invalid": "O número de itens por página é inválido.",
     "error.feed_already_exists": "Este feed já existe.",
     "error.feed_category_not_found": "Esta categoria não existe ou não pertence a este usuário.",
-    "error.feed_format_not_detected": "Unable to detect feed format: %v.",
+    "error.feed_format_not_detected": "Não foi possível detectar o formato da fonte: %v.",
     "error.feed_invalid_blocklist_rule": "A regra da lista de bloqueio é inválida.",
     "error.feed_invalid_keeplist_rule": "A regra de manutenção da lista é inválida.",
     "error.feed_mandatory_fields": "O campo de URL e categoria são obrigatórios.",
-    "error.feed_not_found": "This feed does not exist or does not belong to this user.",
+    "error.feed_not_found": "Esta fonte não existe ou não pertence a este usuário.",
     "error.feed_title_not_empty": "O título do feed não pode estar vazio.",
     "error.feed_url_not_empty": "O URL do feed não pode estar vazio.",
     "error.fields_mandatory": "Todos os campos são obrigatórios.",
-    "error.http_bad_gateway": "The website is not available at the moment due to a bad gateway error. The problem is not on Miniflux side. Please, try again later.",
-    "error.http_body_read": "Unable to read the HTTP body: %v.",
-    "error.http_client_error": "HTTP client error: %v.",
-    "error.http_empty_response": "The HTTP response is empty. Perhaps, this website is using a bot protection mechanism?",
-    "error.http_empty_response_body": "The HTTP response body is empty.",
-    "error.http_forbidden": "Access to this website is forbidden. Perhaps, this website has a bot protection mechanism?",
-    "error.http_gateway_timeout": "The website is not available at the moment due to a gateway timeout error. The problem is not on Miniflux side. Please, try again later.",
-    "error.http_internal_server_error": "The website is not available at the moment due to a server error. The problem is not on Miniflux side. Please, try again later.",
-    "error.http_not_authorized": "Access to this website is not authorized. It could be a bad username or password.",
-    "error.http_resource_not_found": "The requested resource is not found. Please, verify the URL.",
-    "error.http_response_too_large": "The HTTP response is too large. You could increase the HTTP response size limit in the global settings (requires a server restart).",
-    "error.http_service_unavailable": "The website is not available at the moment due to an internal server error. The problem is not on Miniflux side. Please, try again later.",
-    "error.http_too_many_requests": "Miniflux generated too many requests to this website. Please, try again later or change the application configuration.",
-    "error.http_unexpected_status_code": "The website is not available at the moment due to an unexpected HTTP status code: %d. The problem is not on Miniflux side. Please, try again later.",
+    "error.http_bad_gateway": "O site não está disponível no momento devido a um erro de gateway. O problema não está no Miniflux. Por favor, tente novamente mais tarde.",
+    "error.http_body_read": "Não foi possível ler o corpo HTTP: %v.",
+    "error.http_client_error": "Erro do cliente HTTP: %v.",
+    "error.http_empty_response": "A resposta HTTP está vazia. Talvez este site esteja usando um mecanismo de proteção contra bots?",
+    "error.http_empty_response_body": "O corpo da resposta HTTP está vazio.",
+    "error.http_forbidden": "O acesso a este site está proibido. Talvez este site tenha um mecanismo de proteção contra bots?",
+    "error.http_gateway_timeout": "O site não está disponível no momento devido a um erro de tempo limite do gateway. O problema não está no Miniflux. Por favor, tente novamente mais tarde.",
+    "error.http_internal_server_error": "O site não está disponível no momento devido a um erro interno do servidor. O problema não está no Miniflux. Por favor, tente novamente mais tarde.",
+    "error.http_not_authorized": "O acesso a este site não está autorizado. Pode ser um nome de usuário ou senha incorretos.",
+    "error.http_resource_not_found": "O recurso solicitado não foi encontrado. Por favor, verifique a URL.",
+    "error.http_response_too_large": "A resposta HTTP é muito grande. Você pode aumentar o limite de tamanho da resposta HTTP nas configurações globais (requer reinício do servidor).",
+    "error.http_service_unavailable": "O site não está disponível no momento devido a um erro interno do servidor. O problema não está no Miniflux. Por favor, tente novamente mais tarde.",
+    "error.http_too_many_requests": "O Miniflux gerou muitas solicitações para este site. Por favor, tente novamente mais tarde ou altere a configuração do aplicativo.",
+    "error.http_unexpected_status_code": "O site não está disponível no momento devido a um código de status HTTP inesperado: %d. O problema não está no Miniflux. Por favor, tente novamente mais tarde.",
     "error.invalid_categories_sorting_order": "A ordem de classificação das categorias não é válida.",
     "error.invalid_default_home_page": "Página inicial por defeito inválida!",
     "error.invalid_display_mode": "Modo de exibição de aplicativo inválido da web.",
     "error.invalid_entry_direction": "Direção de entrada inválida.",
     "error.invalid_entry_order": "A ordem de entrada é inválida.",
-    "error.invalid_feed_proxy_url": "Invalid proxy URL.",
+    "error.invalid_feed_proxy_url": "URL de proxy inválido.",
     "error.invalid_feed_url": "URL de feed inválido.",
     "error.invalid_gesture_nav": "Navegação por gestos inválida.",
     "error.invalid_language": "Idioma inválido.",
     "error.invalid_site_url": "URL de site inválido.",
     "error.invalid_theme": "Tema inválido.",
     "error.invalid_timezone": "Fuso horário inválido.",
-    "error.network_operation": "Miniflux is not able to reach this website due to a network error: %v.",
-    "error.network_timeout": "This website is too slow and the request timed out: %v",
+    "error.network_operation": "O Miniflux não conseguiu acessar este site devido a um erro de rede: %v.",
+    "error.network_timeout": "Este site está muito lento e a solicitação expirou: %v",
     "error.password_min_length": "A senha deve ter no mínimo 6 caracteres.",
     "error.pocket_access_token": "Não foi possível obter um token de acesso no Pocket!",
     "error.pocket_request_token": "Não foi possível obter um pedido de token no Pocket!",
-    "error.proxy_url_not_empty": "The proxy URL cannot be empty.",
-    "error.settings_block_rule_fieldname_invalid": "Invalid Block rule: rule #%d is missing a valid field name (Options: %s)",
-    "error.settings_block_rule_invalid_regex": "Invalid Block rule: rule #%d's pattern is not a valid regex",
-    "error.settings_block_rule_regex_required": "Invalid Block rule: rule #%d's pattern is not provided",
-    "error.settings_block_rule_separator_required": "Invalid Block rule: rule #%d's pattern is required to be seperated by a '='",
-    "error.settings_invalid_domain_list": "Invalid domain list. Please provide a space separated list of domains.",
-    "error.settings_keep_rule_fieldname_invalid": "Invalid Keep rule: rule #%d is missing a valid field name (Options: %s)",
-    "error.settings_keep_rule_invalid_regex": "Invalid Keep rule: rule #%d's pattern is not a valid regex",
-    "error.settings_keep_rule_regex_required": "Invalid Keep rule: rule #%d pattern is not provided",
-    "error.settings_keep_rule_separator_required": "Invalid Keep rule: rule #%d's pattern is required to be seperated by a '='",
+    "error.proxy_url_not_empty": "A URL do proxy não pode estar vazia.",
+    "error.settings_block_rule_fieldname_invalid": "Regra de bloqueio inválida: a regra #%d está sem um nome de campo válido (Opções: %s)",
+    "error.settings_block_rule_invalid_regex": "Regra de bloqueio inválida: o padrão da regra #%d não é uma expressão regular válida",
+    "error.settings_block_rule_regex_required": "Regra de bloqueio inválida: o padrão da regra #%d não foi fornecido",
+    "error.settings_block_rule_separator_required": "Regra de bloqueio inválida: o padrão da regra #%d deve ser separado por um '='",
+    "error.settings_invalid_domain_list": "Lista de domínios inválida. Por favor, forneça uma lista de domínios separados por espaço.",
+    "error.settings_keep_rule_fieldname_invalid": "Regra de permissão inválida: a regra #%d está sem um nome de campo válido (Opções: %s)",
+    "error.settings_keep_rule_invalid_regex": "Regra de permissão inválida: o padrão da regra #%d não é uma expressão regular válida",
+    "error.settings_keep_rule_regex_required": "Regra de permissão inválida: o padrão da regra #%d não foi fornecido",
+    "error.settings_keep_rule_separator_required": "Regra de permissão inválida: o padrão da regra #%d deve ser separado por um '='",
     "error.settings_mandatory_fields": "Os campos de nome de usuário, tema, idioma e fuso horário são obrigatórios.",
     "error.settings_media_playback_rate_range": "A velocidade de reprodução está fora do intervalo",
     "error.settings_reading_speed_is_positive": "As velocidades de leitura devem ser inteiros positivos.",
@@ -166,18 +166,18 @@
     "form.api_key.label.description": "Etiqueta da chave de API",
     "form.category.hide_globally": "Ocultar entradas na lista global não lida",
     "form.category.label.title": "Título",
-    "form.feed.fieldset.general": "General",
-    "form.feed.fieldset.integration": "Third-Party Services",
-    "form.feed.fieldset.network_settings": "Network Settings",
-    "form.feed.fieldset.rules": "Rules",
+    "form.feed.fieldset.general": "Geral",
+    "form.feed.fieldset.integration": "Serviços de Terceiros",
+    "form.feed.fieldset.network_settings": "Configurações de Rede",
+    "form.feed.fieldset.rules": "Regras",
     "form.feed.label.allow_self_signed_certificates": "Permitir certificados autoassinados ou inválidos",
-    "form.feed.label.apprise_service_urls": "Comma separated list of Apprise service URLs",
+    "form.feed.label.apprise_service_urls": "Lista de URLs de serviços Apprise separadas por vírgula",
     "form.feed.label.blocklist_rules": "Regras de bloqueio",
     "form.feed.label.category": "Categoria",
     "form.feed.label.cookie": "Definir Cookies",
     "form.feed.label.crawler": "Obter conteúdo original",
     "form.feed.label.description": "Descrição",
-    "form.feed.label.disable_http2": "Disable HTTP/2 to avoid fingerprinting",
+    "form.feed.label.disable_http2": "Desativar HTTP/2 para evitar fingerprinting",
     "form.feed.label.disabled": "Não atualizar esta fonte",
     "form.feed.label.feed_password": "Senha da fonte",
     "form.feed.label.feed_url": "URL da fonte",
@@ -186,34 +186,34 @@
     "form.feed.label.hide_globally": "Ocultar entradas na lista global não lida",
     "form.feed.label.ignore_http_cache": "Ignorar cache HTTP",
     "form.feed.label.keeplist_rules": "Regras de permissão",
-    "form.feed.label.no_media_player": "No media player (audio/video)",
-    "form.feed.label.ntfy_activate": "Push entries to ntfy",
-    "form.feed.label.ntfy_default_priority": "Ntfy default priority",
-    "form.feed.label.ntfy_high_priority": "Ntfy high priority",
-    "form.feed.label.ntfy_low_priority": "Ntfy low priority",
-    "form.feed.label.ntfy_max_priority": "Ntfy max priority",
-    "form.feed.label.ntfy_min_priority": "Ntfy min priority",
-    "form.feed.label.ntfy_priority": "Ntfy priority",
-    "form.feed.label.ntfy_topic": "Ntfy topic (optional)",
+    "form.feed.label.no_media_player": "Sem reprodutor de mídia (áudio/vídeo)",
+    "form.feed.label.ntfy_activate": "Enviar itens para o ntfy",
+    "form.feed.label.ntfy_default_priority": "Prioridade padrão do ntfy",
+    "form.feed.label.ntfy_high_priority": "Alta prioridade do ntfy",
+    "form.feed.label.ntfy_low_priority": "Baixa prioridade do ntfy",
+    "form.feed.label.ntfy_max_priority": "Prioridade máxima do ntfy",
+    "form.feed.label.ntfy_min_priority": "Prioridade mínima do ntfy",
+    "form.feed.label.ntfy_priority": "Prioridade do ntfy",
+    "form.feed.label.ntfy_topic": "Tópico do ntfy (opcional)",
     "form.feed.label.proxy_url": "Proxy URL",
-    "form.feed.label.pushover_activate": "Push entries to pushover.net",
-    "form.feed.label.pushover_default_priority": "Pushover default priority",
-    "form.feed.label.pushover_high_priority": "Pushover high priority",
-    "form.feed.label.pushover_low_priority": "Pushover low priority",
-    "form.feed.label.pushover_max_priority": "Pushover max priority",
-    "form.feed.label.pushover_min_priority": "Pushover min priority",
-    "form.feed.label.pushover_priority": "Pushover message priority",
+    "form.feed.label.pushover_activate": "Enviar itens para o pushover.net",
+    "form.feed.label.pushover_default_priority": "Prioridade padrão do Pushover",
+    "form.feed.label.pushover_high_priority": "Alta prioridade do Pushover",
+    "form.feed.label.pushover_low_priority": "Baixa prioridade do Pushover",
+    "form.feed.label.pushover_max_priority": "Prioridade máxima do Pushover",
+    "form.feed.label.pushover_min_priority": "Prioridade mínima do Pushover",
+    "form.feed.label.pushover_priority": "Prioridade da mensagem do Pushover",
     "form.feed.label.rewrite_rules": "Regras para o Rewrite",
     "form.feed.label.scraper_rules": "Regras do scraper",
     "form.feed.label.site_url": "URL do site",
     "form.feed.label.title": "Título",
     "form.feed.label.urlrewrite_rules": "Regras de reescrita de URL",
     "form.feed.label.user_agent": "Sobrescrever o agente de usuário (user-agent) padrão",
-    "form.feed.label.webhook_url": "Override webhook url",
+    "form.feed.label.webhook_url": "Sobrescrever URL do webhook",
     "form.import.label.file": "Arquivo OPML",
     "form.import.label.url": "URL",
-    "form.integration.apprise_activate": "Push entries to Apprise",
-    "form.integration.apprise_services_url": "Comma separated list of Apprise service URLs",
+    "form.integration.apprise_activate": "Enviar itens para o Apprise",
+    "form.integration.apprise_services_url": "Lista de URLs de serviços Apprise separadas por vírgula",
     "form.integration.apprise_url": "Apprise API URL",
     "form.integration.betula_activate": "Save entries to Betula",
     "form.integration.betula_token": "Betula Token",
@@ -240,12 +240,12 @@
     "form.integration.karakeep_activate": "Salvar itens no Karakeep",
     "form.integration.karakeep_api_key": "Chave de API do Karakeep",
     "form.integration.karakeep_url": "Endpoint de API do Karakeep",
-    "form.integration.linkace_activate": "Save entries to LinkAce",
-    "form.integration.linkace_api_key": "LinkAce API key",
-    "form.integration.linkace_check_disabled": "Disable link check",
-    "form.integration.linkace_endpoint": "LinkAce API Endpoint",
-    "form.integration.linkace_is_private": "Mark link as private",
-    "form.integration.linkace_tags": "LinkAce Tags",
+    "form.integration.linkace_activate": "Salvar itens no LinkAce",
+    "form.integration.linkace_api_key": "Chave de API do LinkAce",
+    "form.integration.linkace_check_disabled": "Desativar verificação de link",
+    "form.integration.linkace_endpoint": "Endpoint de API do LinkAce",
+    "form.integration.linkace_is_private": "Marcar link como privado",
+    "form.integration.linkace_tags": "Etiquetas do LinkAce",
     "form.integration.linkding_activate": "Salvar itens no Linkding",
     "form.integration.linkding_api_key": "Chave de API do Linkding",
     "form.integration.linkding_bookmark": "Salvar marcador como não lido",
@@ -259,14 +259,14 @@
     "form.integration.matrix_bot_password": "Palavra-passe para utilizador da Matrix",
     "form.integration.matrix_bot_url": "URL do servidor Matrix",
     "form.integration.matrix_bot_user": "Nome de utilizador para Matrix",
-    "form.integration.notion_activate": "Save entries to Notion",
-    "form.integration.notion_page_id": "Notion Page ID",
-    "form.integration.notion_token": "Notion Secret Token",
-    "form.integration.ntfy_activate": "Push entries to ntfy",
-    "form.integration.ntfy_api_token": "Ntfy API Token (optional)",
-    "form.integration.ntfy_icon_url": "Ntfy Icon URL (optional)",
-    "form.integration.ntfy_internal_links": "Use internal links on click (optional)",
-    "form.integration.ntfy_password": "Ntfy Password (optional)",
+    "form.integration.notion_activate": "Salvar itens no Notion",
+    "form.integration.notion_page_id": "ID da página do Notion",
+    "form.integration.notion_token": "Token secreto do Notion",
+    "form.integration.ntfy_activate": "Enviar itens para o ntfy",
+    "form.integration.ntfy_api_token": "Ntfy API Token (opcional)",
+    "form.integration.ntfy_icon_url": "Ntfy Icon URL (opcional)",
+    "form.integration.ntfy_internal_links": "Usar links internos ao clicar (opcional)",
+    "form.integration.ntfy_password": "Ntfy Password (opcional)",
     "form.integration.ntfy_topic": "Ntfy topic (default if not set in feed)",
     "form.integration.ntfy_url": "Ntfy URL (optional, default is ntfy.sh)",
     "form.integration.ntfy_username": "Ntfy Username (optional)",
@@ -284,29 +284,29 @@
     "form.integration.pocket_activate": "Salvar itens no Pocket",
     "form.integration.pocket_connect_link": "Conectar a conta do Pocket",
     "form.integration.pocket_consumer_key": "Chave de consumo (Consumer Key) do Pocket",
-    "form.integration.pushover_activate": "Push entries to Pushover",
-    "form.integration.pushover_device": "Pushover device (optional)",
-    "form.integration.pushover_prefix": "Pushover URL prefix (optional)",
-    "form.integration.pushover_token": "Pushover application API token",
-    "form.integration.pushover_user": "Pushover user key",
-    "form.integration.raindrop_activate": "Save entries to Raindrop",
-    "form.integration.raindrop_collection_id": "Collection ID",
-    "form.integration.raindrop_tags": "Tags (comma-separated)",
-    "form.integration.raindrop_token": "(Test) Token",
+    "form.integration.pushover_activate": "Enviar itens para o Pushover",
+    "form.integration.pushover_device": "Dispositivo Pushover (opcional)",
+    "form.integration.pushover_prefix": "Prefixo da URL do Pushover (opcional)",
+    "form.integration.pushover_token": "Token de API do aplicativo Pushover",
+    "form.integration.pushover_user": "Chave do usuário Pushover",
+    "form.integration.raindrop_activate": "Salvar itens no Raindrop",
+    "form.integration.raindrop_collection_id": "ID da coleção",
+    "form.integration.raindrop_tags": "Etiquetas (separadas por vírgula)",
+    "form.integration.raindrop_token": "Token (teste)",
     "form.integration.readeck_activate": "Salvar itens no Readeck",
     "form.integration.readeck_api_key": "Chave de API do Readeck",
     "form.integration.readeck_endpoint": "Endpoint de API do Readeck",
     "form.integration.readeck_labels": "Readeck Labels",
     "form.integration.readeck_only_url": "Enviar apenas URL (em vez de conteúdo completo)",
-    "form.integration.readwise_activate": "Save entries to Readwise Reader",
-    "form.integration.readwise_api_key": "Readwise Reader Access Token",
-    "form.integration.readwise_api_key_link": "Get your Readwise Access Token",
-    "form.integration.rssbridge_activate": "Check RSS-Bridge when adding subscriptions",
-    "form.integration.rssbridge_token": "RSS-Bridge authentication token",
-    "form.integration.rssbridge_url": "RSS-Bridge server URL",
-    "form.integration.shaarli_activate": "Save articles to Shaarli",
-    "form.integration.shaarli_api_secret": "Shaarli API Secret",
-    "form.integration.shaarli_endpoint": "Shaarli URL",
+    "form.integration.readwise_activate": "Salvar itens no Readwise Reader",
+    "form.integration.readwise_api_key": "Token de acesso do Readwise Reader",
+    "form.integration.readwise_api_key_link": "Obtenha seu token de acesso do Readwise",
+    "form.integration.rssbridge_activate": "Verificar RSS-Bridge ao adicionar inscrições",
+    "form.integration.rssbridge_token": "Token de autenticação do RSS-Bridge",
+    "form.integration.rssbridge_url": "URL do servidor RSS-Bridge",
+    "form.integration.shaarli_activate": "Salvar artigos no Shaarli",
+    "form.integration.shaarli_api_secret": "Segredo da API do Shaarli",
+    "form.integration.shaarli_endpoint": "URL do Shaarli",
     "form.integration.shiori_activate": "Salvar itens no Shiori",
     "form.integration.shiori_endpoint": "Endpoint da API do Shiori",
     "form.integration.shiori_password": "Senha do Shiori",
@@ -330,12 +330,12 @@
     "form.integration.webhook_activate": "Enable Webhooks",
     "form.integration.webhook_secret": "Webhooks Secret",
     "form.integration.webhook_url": "Default Webhook URL",
-    "form.prefs.fieldset.application_settings": "Application Settings",
-    "form.prefs.fieldset.authentication_settings": "Authentication Settings",
-    "form.prefs.fieldset.global_feed_settings": "Global Feed Settings",
-    "form.prefs.fieldset.reader_settings": "Reader Settings",
-    "form.prefs.help.external_font_hosts": "Space separated list of external font hosts to allow. For example: \"fonts.gstatic.com fonts.googleapis.com\".",
-    "form.prefs.label.always_open_external_links": "Read articles by opening external links",
+    "form.prefs.fieldset.application_settings": "Configurações do aplicativo",
+    "form.prefs.fieldset.authentication_settings": "Configurações de autenticação",
+    "form.prefs.fieldset.global_feed_settings": "Configurações globais de fontes",
+    "form.prefs.fieldset.reader_settings": "Configurações do leitor",
+    "form.prefs.help.external_font_hosts": "Lista separada por espaço de hosts de fontes externas permitidos. Por exemplo: 'fonts.gstatic.com fonts.googleapis.com'.",
+    "form.prefs.label.always_open_external_links": "Ler artigos abrindo links externos",
     "form.prefs.label.categories_sorting_order": "Classificação das categorias",
     "form.prefs.label.cjk_reading_speed": "Velocidade de leitura para chinês, coreano e japonês (caracteres por minuto)",
     "form.prefs.label.custom_css": "CSS customizado",
@@ -347,14 +347,14 @@
     "form.prefs.label.entry_order": "Coluna de Ordenação de Entrada",
     "form.prefs.label.entry_sorting": "Ordenação dos itens",
     "form.prefs.label.entry_swipe": "Ativar entrada de furto em telas sensíveis ao toque",
-    "form.prefs.label.external_font_hosts": "External font hosts",
+    "form.prefs.label.external_font_hosts": "Hosts de fontes externas",
     "form.prefs.label.gesture_nav": "Gesto para navegar entre as entradas",
     "form.prefs.label.keyboard_shortcuts": "Habilitar atalhos do teclado",
     "form.prefs.label.language": "Idioma",
-    "form.prefs.label.mark_read_manually": "Mark entries as read manually",
-    "form.prefs.label.mark_read_on_media_completion": "Only mark as read when audio/video playback reaches 90%% completion",
+    "form.prefs.label.mark_read_manually": "Marcar itens como lidos manualmente",
+    "form.prefs.label.mark_read_on_media_completion": "Marcar como lido apenas quando a reprodução de áudio/vídeo atingir 90%% de conclusão",
     "form.prefs.label.mark_read_on_view": "Marcar automaticamente as entradas como lidas quando visualizadas",
-    "form.prefs.label.mark_read_on_view_or_media_completion": "Mark entries as read when viewed. For audio/video, mark as read at 90%% completion",
+    "form.prefs.label.mark_read_on_view_or_media_completion": "Marcar itens como lidos quando visualizados. Para áudio/vídeo, marcar como lido em 90%% de conclusão",
     "form.prefs.label.media_playback_rate": "Velocidade de reprodução do áudio/vídeo",
     "form.prefs.label.show_reading_time": "Mostrar tempo estimado de leitura de artigos",
     "form.prefs.label.theme": "Tema",
@@ -437,8 +437,8 @@
     "page.api_keys.table.token": "Token",
     "page.api_keys.title": "Chaves de API",
     "page.categories_count": [
-        "%d category",
-        "%d categories"
+        "%d categoria",
+        "%d categorias"
     ],
     "page.categories.entries": "Itens",
     "page.categories.feed_count": [
@@ -448,7 +448,7 @@
     "page.categories.feeds": "Inscrições",
     "page.categories.no_feed": "Sem fonte.",
     "page.categories.title": "Categorias",
-    "page.category_label": "Category: %s",
+    "page.category_label": "Categoria: %s",
     "page.edit_category.title": "Editar categoria: %s",
     "page.edit_feed.etag_header": "Cabeçalho 'ETag':",
     "page.edit_feed.last_check": "Última verificação:",
@@ -463,7 +463,7 @@
         "%d erros"
     ],
     "page.feeds.last_check": "Última verificação:",
-    "page.feeds.next_check": "Next check:",
+    "page.feeds.next_check": "Próxima verificação:",
     "page.feeds.read_counter": "Número de itens lidos",
     "page.feeds.title": "Fontes",
     "page.history.title": "Histórico",
@@ -511,7 +511,7 @@
     "page.keyboard_shortcuts.subtitle.sections": "Navegação de seções",
     "page.keyboard_shortcuts.title": "Atalhos de teclado",
     "page.keyboard_shortcuts.toggle_bookmark_status": "Marcar ou desmarcar como favorito",
-    "page.keyboard_shortcuts.toggle_entry_attachments": "Toggle open/close entry attachments",
+    "page.keyboard_shortcuts.toggle_entry_attachments": "Alternar abrir/fechar anexos do item",
     "page.keyboard_shortcuts.toggle_read_status_next": "Inverter estado de leitura do item, focar próximo item",
     "page.keyboard_shortcuts.toggle_read_status_prev": "Inverter estado de leitura do item, focar item anterior",
     "page.login.google_signin": "Iniciar Sessão com sua conta do Google",
@@ -527,8 +527,8 @@
     "page.offline.refresh_page": "Tente atualizar a página",
     "page.offline.title": "Modo offline",
     "page.read_entry_count": [
-        "%d read entry",
-        "%d read entries"
+        "%d item lido",
+        "%d itens lidos"
     ],
     "page.search.title": "Resultados da busca",
     "page.sessions.table.actions": "Ações",
@@ -542,34 +542,34 @@
     "page.settings.title": "Ajustes",
     "page.settings.unlink_google_account": "Desvincular minha conta do Google",
     "page.settings.unlink_oidc_account": "Desvincular minha conta do %s",
-    "page.settings.webauthn.actions": "Actions",
-    "page.settings.webauthn.added_on": "Added On",
+    "page.settings.webauthn.actions": "Ações",
+    "page.settings.webauthn.added_on": "Adicionado em",
     "page.settings.webauthn.delete": [
         "Remover %d senha",
         "Remover %d senhas"
     ],
-    "page.settings.webauthn.last_seen_on": "Last Used",
-    "page.settings.webauthn.passkey_name": "Passkey Name",
-    "page.settings.webauthn.passkeys": "Passkeys",
+    "page.settings.webauthn.last_seen_on": "Último uso",
+    "page.settings.webauthn.passkey_name": "Nome da senha",
+    "page.settings.webauthn.passkeys": "Senhas",
     "page.settings.webauthn.register": "Registrar senha",
     "page.settings.webauthn.register.error": "Não foi possível registrar a senha",
     "page.shared_entries_count": [
-        "%d shared entry",
-        "%d shared entries"
+        "%d item compartilhado",
+        "%d itens compartilhados"
     ],
     "page.shared_entries.title": "Itens compartilhados",
     "page.starred_entry_count": [
-        "%d starred entry",
-        "%d starred entries"
+        "%d item favorito",
+        "%d itens favoritos"
     ],
     "page.starred.title": "Favoritos",
     "page.total_entry_count": [
-        "%d entry in total",
-        "%d entries in total"
+        "%d item no total",
+        "%d itens no total"
     ],
     "page.unread_entry_count": [
-        "%d unread entry",
-        "%d unread entries"
+        "%d item não lido",
+        "%d itens não lidos"
     ],
     "page.unread.title": "Não lidos",
     "page.users.actions": "Ações",
@@ -580,15 +580,15 @@
     "page.users.never_logged": "Nunca",
     "page.users.title": "Usuários",
     "page.users.username": "Nome de usuário",
-    "page.webauthn_rename.title": "Rename Passkey",
-    "pagination.first": "First",
-    "pagination.last": "Last",
+    "page.webauthn_rename.title": "Renomear senha",
+    "pagination.first": "Primeira",
+    "pagination.last": "Última",
     "pagination.next": "Próximo",
     "pagination.previous": "Anterior",
     "search.label": "Buscar",
     "search.placeholder": "Buscar por...",
-    "search.submit": "Search",
-    "skip_to_content": "Skip to content",
+    "search.submit": "Buscar",
+    "skip_to_content": "Pular para o conteúdo",
     "time_elapsed.days": [
         "há %d dia",
         "há %d dias"

+ 4 - 4
internal/locale/translations/ro_RO.json

@@ -126,7 +126,7 @@
     "error.invalid_display_mode": "Mod invalid de afișare în aplicația web.",
     "error.invalid_entry_direction": "Direcție invalidă ăn intrare.",
     "error.invalid_entry_order": "Direcție de sortare invalidă.",
-    "error.invalid_feed_proxy_url": "Invalid proxy URL.",
+    "error.invalid_feed_proxy_url": "URL proxy invalid.",
     "error.invalid_feed_url": "Adresa URL a fluxului este invalidă.",
     "error.invalid_gesture_nav": "Gest de navigare invalid.",
     "error.invalid_language": "Limbă invalidă.",
@@ -138,12 +138,12 @@
     "error.password_min_length": "Parola trebuie să aibă cel puțin 6 caractere.",
     "error.pocket_access_token": "Nu poate obține token-ul de acces de la Pocket!",
     "error.pocket_request_token": "Nu poate obține token-ul solicitat de la Pocket!",
-    "error.proxy_url_not_empty": "The proxy URL cannot be empty.",
+    "error.proxy_url_not_empty": "URL-ul proxy nu poate fi gol.",
     "error.settings_block_rule_fieldname_invalid": "Regulă de bloc invalidă: regulii #%d îi lipsește un nume valid de câmp (Opțiuni: %s)",
     "error.settings_block_rule_invalid_regex": "Regulă de bloc invalidă: modelul regulii #%d's nu este regex valid",
     "error.settings_block_rule_regex_required": "Regulă de bloc invalidă: modelul regulii #%d's nu este furnizat",
     "error.settings_block_rule_separator_required": "Regulă de bloc invalidă: modelul regulii #%d's trebuie separat de '='",
-    "error.settings_invalid_domain_list": "Lista domeniilor invalidă. Vă rugăm să ne furnizați o listă separată de virgulă a domeniilor.",
+    "error.settings_invalid_domain_list": "Lista domeniilor este invalidă. Vă rugăm să furnizați o listă de domenii separate prin spațiu.",
     "error.settings_keep_rule_fieldname_invalid": "Regulă Keep invalidă: regulii #%d îi lipsește un nume valid (Opțiuni: %s)",
     "error.settings_keep_rule_invalid_regex": "Regulă Keep invalidă: modelul regulii #%d's nu este regex valid",
     "error.settings_keep_rule_regex_required": "Regulă Keep invalidă: modelul regulii #%d nu este furnizat",
@@ -338,7 +338,7 @@
     "form.prefs.fieldset.global_feed_settings": "Setări Globale pt. Flux",
     "form.prefs.fieldset.reader_settings": "Setări Citire",
     "form.prefs.help.external_font_hosts": "Lista fonturilor de pe gazdă separate de virgulă care poate fi utilizate. De exemplu: \"fonts.gstatic.com fonts.googleapis.com\".",
-    "form.prefs.label.always_open_external_links": "Read articles by opening external links",
+    "form.prefs.label.always_open_external_links": "Citește articolele deschizând linkurile externe",
     "form.prefs.label.categories_sorting_order": "Sortare categorii",
     "form.prefs.label.cjk_reading_speed": "Viteză de citire pentru Chineză, Coreană și Japoneză (caractere pe minut)",
     "form.prefs.label.custom_css": "CSS personalizat",

+ 1 - 1
internal/locale/translations/ru_RU.json

@@ -338,7 +338,7 @@
     "form.prefs.fieldset.global_feed_settings": "Глобальные настройки подписок",
     "form.prefs.fieldset.reader_settings": "Настройки чтения",
     "form.prefs.help.external_font_hosts": "Список разрешённых внешних хостов для шрифтов, разделенных пробелами. Например: \"fonts.gstatic.com fonts.googleapis.com\".",
-    "form.prefs.label.always_open_external_links": "Read articles by opening external links",
+    "form.prefs.label.always_open_external_links": "Читать статьи, открывая внешние ссылки",
     "form.prefs.label.categories_sorting_order": "Сортировка категорий",
     "form.prefs.label.cjk_reading_speed": "Скорость чтения на китайском, корейском и японском языках (знаков в минуту)",
     "form.prefs.label.custom_css": "Пользовательский CSS",

+ 26 - 26
internal/locale/translations/tr_TR.json

@@ -78,8 +78,8 @@
     "entry.status.toast.unread": "Okunmamış olarak işaretlendi",
     "entry.tags.label": "Etiketler:",
     "entry.tags.more_tags_label": [
-        "Show %d more tag",
-        "Show %d more tags"
+        "%d tane daha etiket göster",
+        "%d tane daha etiket göster"
     ],
     "entry.unshare.label": "Paylaşma",
     "error.api_key_already_exists": "Bu API anahtarı zaten mevcut.",
@@ -123,7 +123,7 @@
     "error.invalid_display_mode": "Geçersiz web uygulaması görüntüleme modu.",
     "error.invalid_entry_direction": "Geçersiz makele sıralaması.",
     "error.invalid_entry_order": "Geçersiz makele sıralaması.",
-    "error.invalid_feed_proxy_url": "Invalid proxy URL.",
+    "error.invalid_feed_proxy_url": "Geçersiz proxy URL'si.",
     "error.invalid_feed_url": "Geçersiz besleme URL'si.",
     "error.invalid_gesture_nav": "Hareketle gezinme geçersiz.",
     "error.invalid_language": "Geçersiz dil.",
@@ -135,12 +135,12 @@
     "error.password_min_length": "Parola en az 6 karakter içermeli.",
     "error.pocket_access_token": "Pocket'tan access tokeni alınamıyor!",
     "error.pocket_request_token": "Pocket'tan request tokeni alınamıyor!",
-    "error.proxy_url_not_empty": "The proxy URL cannot be empty.",
+    "error.proxy_url_not_empty": "Proxy URL'si boş olamaz.",
     "error.settings_block_rule_fieldname_invalid": "Geçersiz Engelleme kuralı: #%d kuralında geçerli bir alan adı eksik (Seçenekler: %s)",
     "error.settings_block_rule_invalid_regex": "Geçersiz Engelleme kuralı: #%d kuralı modeli geçerli bir düzenli ifade değil",
     "error.settings_block_rule_regex_required": "Geçersiz Engelleme kuralı: #%d kuralı modeli sağlanmadı",
     "error.settings_block_rule_separator_required": "Geçersiz Engelleme kuralı: #%d kuralı modelinin '=' ile ayrılması gerekiyor",
-    "error.settings_invalid_domain_list": "Invalid domain list. Please provide a space separated list of domains.",
+    "error.settings_invalid_domain_list": "Geçersiz alan adı listesi. Lütfen boşlukla ayrılmış bir alan adı listesi girin.",
     "error.settings_keep_rule_fieldname_invalid": "Geçersiz Koruma kuralı: #%d kuralında geçerli bir alan adı eksik (Seçenekler: %s)",
     "error.settings_keep_rule_invalid_regex": "Geçersiz Koruma kuralı: #%d kuralı modeli geçerli bir düzenli ifade değil",
     "error.settings_keep_rule_regex_required": "Geçersiz Koruma kuralı: #%d kuralı modeli sağlanmadı",
@@ -187,22 +187,22 @@
     "form.feed.label.ignore_http_cache": "HTTP önbelleğini yoksay",
     "form.feed.label.keeplist_rules": "Saklama Kuralları",
     "form.feed.label.no_media_player": "Medya oynatıcı yok (ses/video)",
-    "form.feed.label.ntfy_activate": "Push entries to ntfy",
-    "form.feed.label.ntfy_default_priority": "Ntfy default priority",
-    "form.feed.label.ntfy_high_priority": "Ntfy high priority",
-    "form.feed.label.ntfy_low_priority": "Ntfy low priority",
-    "form.feed.label.ntfy_max_priority": "Ntfy max priority",
-    "form.feed.label.ntfy_min_priority": "Ntfy min priority",
-    "form.feed.label.ntfy_priority": "Ntfy priority",
-    "form.feed.label.ntfy_topic": "Ntfy topic (optional)",
+    "form.feed.label.ntfy_activate": "Makaleleri ntfy'ye gönder",
+    "form.feed.label.ntfy_default_priority": "Ntfy varsayılan öncelik",
+    "form.feed.label.ntfy_high_priority": "Ntfy yüksek öncelik",
+    "form.feed.label.ntfy_low_priority": "Ntfy düşük öncelik",
+    "form.feed.label.ntfy_max_priority": "Ntfy maksimum öncelik",
+    "form.feed.label.ntfy_min_priority": "Ntfy minimum öncelik",
+    "form.feed.label.ntfy_priority": "Ntfy öncelik",
+    "form.feed.label.ntfy_topic": "Ntfy konusu (isteğe bağlı)",
     "form.feed.label.proxy_url": "Proxy URL",
-    "form.feed.label.pushover_activate": "Push entries to pushover.net",
-    "form.feed.label.pushover_default_priority": "Pushover default priority",
-    "form.feed.label.pushover_high_priority": "Pushover high priority",
-    "form.feed.label.pushover_low_priority": "Pushover low priority",
-    "form.feed.label.pushover_max_priority": "Pushover max priority",
-    "form.feed.label.pushover_min_priority": "Pushover min priority",
-    "form.feed.label.pushover_priority": "Pushover message priority",
+    "form.feed.label.pushover_activate": "Makaleleri pushover.net'e gönder",
+    "form.feed.label.pushover_default_priority": "Pushover varsayılan öncelik",
+    "form.feed.label.pushover_high_priority": "Pushover yüksek öncelik",
+    "form.feed.label.pushover_low_priority": "Pushover düşük öncelik",
+    "form.feed.label.pushover_max_priority": "Pushover maksimum öncelik",
+    "form.feed.label.pushover_min_priority": "Pushover minimum öncelik",
+    "form.feed.label.pushover_priority": "Pushover mesaj önceliği",
     "form.feed.label.rewrite_rules": "Yeniden Yazma Kuralları",
     "form.feed.label.scraper_rules": "Scrapper Kuralları",
     "form.feed.label.site_url": "Site URL'si",
@@ -218,8 +218,8 @@
     "form.integration.betula_activate": "Makaleleri Betula'ya kaydet",
     "form.integration.betula_token": "Betula Token",
     "form.integration.betula_url": "Betula sunucu URLsi",
-    "form.integration.cubox_activate": "Save entries to Cubox",
-    "form.integration.cubox_api_link": "Cubox API link",
+    "form.integration.cubox_activate": "Makaleleri Cubox'a kaydet",
+    "form.integration.cubox_api_link": "Cubox API bağlantısı",
     "form.integration.discord_activate": "Makaleleri Discord'a gönder",
     "form.integration.discord_webhook_link": "Discord hizmet Webhook'lerinin virgülle ayrılmış listesi",
     "form.integration.espial_activate": "Makaleleri Espial'e kaydet",
@@ -265,7 +265,7 @@
     "form.integration.ntfy_activate": "Push entries to ntfy",
     "form.integration.ntfy_api_token": "Ntfy API Token (optional)",
     "form.integration.ntfy_icon_url": "Ntfy Icon URL (optional)",
-    "form.integration.ntfy_internal_links": "Use internal links on click (optional)",
+    "form.integration.ntfy_internal_links": "Tıklamada dahili bağlantıları kullan (isteğe bağlı)",
     "form.integration.ntfy_password": "Ntfy Password (optional)",
     "form.integration.ntfy_topic": "Ntfy topic (default if not set in feed)",
     "form.integration.ntfy_url": "Ntfy URL (optional, default is ntfy.sh)",
@@ -334,8 +334,8 @@
     "form.prefs.fieldset.authentication_settings": "Kimlik Doğrulama Ayarları",
     "form.prefs.fieldset.global_feed_settings": "Genel Besleme Ayarları",
     "form.prefs.fieldset.reader_settings": "Okuyucu Ayarları",
-    "form.prefs.help.external_font_hosts": "Space separated list of external font hosts to allow. For example: \"fonts.gstatic.com fonts.googleapis.com\".",
-    "form.prefs.label.always_open_external_links": "Read articles by opening external links",
+    "form.prefs.help.external_font_hosts": "İzin verilecek harici font sunucularının boşlukla ayrılmış listesi. Örneğin: 'fonts.gstatic.com fonts.googleapis.com'.",
+    "form.prefs.label.always_open_external_links": "Makaleleri harici bağlantıları açarak oku",
     "form.prefs.label.categories_sorting_order": "Kategori sıralaması",
     "form.prefs.label.cjk_reading_speed": "Çince, Korece ve Japonca için okuma hızı (dakika başına karakter)",
     "form.prefs.label.custom_css": "Özel CSS",
@@ -347,7 +347,7 @@
     "form.prefs.label.entry_order": "Makale Sıralama Sütunu",
     "form.prefs.label.entry_sorting": "Makale Sıralaması",
     "form.prefs.label.entry_swipe": "Dokunmatik ekranlarda makale kaydırmayı etkinleştir",
-    "form.prefs.label.external_font_hosts": "External font hosts",
+    "form.prefs.label.external_font_hosts": "Harici font sunucuları",
     "form.prefs.label.gesture_nav": "Makaleler arasında gezinmek için dokunma hareketi",
     "form.prefs.label.keyboard_shortcuts": "Klavye kısayollarını etkinleştir",
     "form.prefs.label.language": "Dil",

+ 68 - 68
internal/locale/translations/uk_UA.json

@@ -13,7 +13,7 @@
     "action.update": "Зберегти",
     "alert.account_linked": "Тепер ваш зовнішній обліковий запис від’єднано!",
     "alert.account_unlinked": "Тепер ваш зовнішній обліковий запис підключено!",
-    "alert.background_feed_refresh": "All feeds are being refreshed in the background. You can continue to use Miniflux while this process is running.",
+    "alert.background_feed_refresh": "Всі стрічки оновлюються у фоновому режимі. Ви можете продовжувати користуватися Miniflux, поки триває цей процес.",
     "alert.feed_error": "З цією стрічкою трапилась помилка",
     "alert.no_bookmark": "Наразі закладки відсутні.",
     "alert.no_category": "Немає категорії.",
@@ -30,9 +30,9 @@
     "alert.pocket_linked": "Тепер ваш обліковий запис Pocket підключено!",
     "alert.prefs_saved": "Уподобання збережено!",
     "alert.too_many_feeds_refresh": [
-        "You have triggered too many feed refreshes. Please wait %d minute before trying again.",
-        "You have triggered too many feed refreshes. Please wait %d minutes before trying again.",
-        "You have triggered too many feed refreshes. Please wait %d minutes before trying again."
+        "Ви запустили надто багато оновлень стрічок. Будь ласка, зачекайте %d хвилину перед повторною спробою.",
+        "Ви запустили надто багато оновлень стрічок. Будь ласка, зачекайте %d хвилини перед повторною спробою.",
+        "Ви запустили надто багато оновлень стрічок. Будь ласка, зачекайте %d хвилин перед повторною спробою."
     ],
     "confirm.loading": "В процесі...",
     "confirm.no": "ні",
@@ -88,66 +88,66 @@
     "error.api_key_already_exists": "Такий ключ API вже існує.",
     "error.bad_credentials": "Невірне ім’я користувача або пароль.",
     "error.category_already_exists": "Така категорія вже існує.",
-    "error.category_not_found": "This category does not exist or does not belong to this user.",
-    "error.database_error": "Database error: %v.",
+    "error.category_not_found": "Ця категорія не існує або не належить цьому користувачу.",
+    "error.database_error": "Помилка бази даних: %v.",
     "error.different_passwords": "Паролі не співпадають.",
     "error.duplicate_fever_username": "Вже є обліковий запис з таким самим користувачем Fever!",
     "error.duplicate_googlereader_username": "Вже є обліковий запис з таким самим користувачем Google Reader!",
     "error.duplicate_linked_account": "Вже є обліковий запис, під’єднаний до цього провайдера!",
-    "error.duplicated_feed": "This feed already exists.",
+    "error.duplicated_feed": "Ця стрічка вже існує.",
     "error.empty_file": "Цей файл порожній.",
     "error.entries_per_page_invalid": "Число записів на сторінку недійсне.",
     "error.feed_already_exists": "Така стрічка вже існує.",
     "error.feed_category_not_found": "Категорія не існує або належить до іншого користувача.",
-    "error.feed_format_not_detected": "Unable to detect feed format: %v.",
+    "error.feed_format_not_detected": "Не вдалося визначити формат стрічки: %v.",
     "error.feed_invalid_blocklist_rule": "Правило списку блокувань недійсне.",
     "error.feed_invalid_keeplist_rule": "Правило списку дозволень недійсне.",
     "error.feed_mandatory_fields": "URL та категорія є обов’язковими.",
-    "error.feed_not_found": "This feed does not exist or does not belong to this user.",
+    "error.feed_not_found": "Ця стрічка не існує або не належить цьому користувачу.",
     "error.feed_title_not_empty": "Назва стрічки не може бути порожньою.",
     "error.feed_url_not_empty": "URL-адреса стрічки не може бути порожньою.",
     "error.fields_mandatory": "Всі поля є обов’язковими.",
-    "error.http_bad_gateway": "The website is not available at the moment due to a bad gateway error. The problem is not on Miniflux side. Please, try again later.",
-    "error.http_body_read": "Unable to read the HTTP body: %v.",
-    "error.http_client_error": "HTTP client error: %v.",
-    "error.http_empty_response": "The HTTP response is empty. Perhaps, this website is using a bot protection mechanism?",
-    "error.http_empty_response_body": "The HTTP response body is empty.",
-    "error.http_forbidden": "Access to this website is forbidden. Perhaps, this website has a bot protection mechanism?",
-    "error.http_gateway_timeout": "The website is not available at the moment due to a gateway timeout error. The problem is not on Miniflux side. Please, try again later.",
-    "error.http_internal_server_error": "The website is not available at the moment due to a server error. The problem is not on Miniflux side. Please, try again later.",
-    "error.http_not_authorized": "Access to this website is not authorized. It could be a bad username or password.",
-    "error.http_resource_not_found": "The requested resource is not found. Please, verify the URL.",
-    "error.http_response_too_large": "The HTTP response is too large. You could increase the HTTP response size limit in the global settings (requires a server restart).",
-    "error.http_service_unavailable": "The website is not available at the moment due to an internal server error. The problem is not on Miniflux side. Please, try again later.",
-    "error.http_too_many_requests": "Miniflux generated too many requests to this website. Please, try again later or change the application configuration.",
-    "error.http_unexpected_status_code": "The website is not available at the moment due to an unexpected HTTP status code: %d. The problem is not on Miniflux side. Please, try again later.",
+    "error.http_bad_gateway": "Сайт наразі недоступний через помилку шлюзу. Проблема не на стороні Miniflux. Будь ласка, спробуйте пізніше.",
+    "error.http_body_read": "Не вдалося прочитати HTTP-вміст: %v.",
+    "error.http_client_error": "Помилка HTTP-клієнта: %v.",
+    "error.http_empty_response": "Відповідь HTTP порожня. Можливо, цей сайт використовує захист від ботів?",
+    "error.http_empty_response_body": "Тіло відповіді HTTP порожнє.",
+    "error.http_forbidden": "Доступ до цього сайту заборонено. Можливо, сайт має захист від ботів?",
+    "error.http_gateway_timeout": "Сайт наразі недоступний через помилку тайм-ауту шлюзу. Проблема не на стороні Miniflux. Будь ласка, спробуйте пізніше.",
+    "error.http_internal_server_error": "Сайт наразі недоступний через внутрішню помилку сервера. Проблема не на стороні Miniflux. Будь ласка, спробуйте пізніше.",
+    "error.http_not_authorized": "Доступ до цього сайту не дозволено. Можливо, неправильне ім’я користувача або пароль.",
+    "error.http_resource_not_found": "Запитаний ресурс не знайдено. Будь ласка, перевірте URL.",
+    "error.http_response_too_large": "Відповідь HTTP занадто велика. Ви можете збільшити ліміт розміру HTTP-відповіді у глобальних налаштуваннях (потрібен перезапуск сервера).",
+    "error.http_service_unavailable": "Сайт наразі недоступний через внутрішню помилку сервера. Проблема не на стороні Miniflux. Будь ласка, спробуйте пізніше.",
+    "error.http_too_many_requests": "Miniflux згенерував надто багато запитів до цього сайту. Будь ласка, спробуйте пізніше або змініть налаштування програми.",
+    "error.http_unexpected_status_code": "Сайт наразі недоступний через неочікуваний HTTP-код: %d. Проблема не на стороні Miniflux. Будь ласка, спробуйте пізніше.",
     "error.invalid_categories_sorting_order": "Недійсний порядок сортування категорій.",
     "error.invalid_default_home_page": "Недійсна домашня сторінка за замовчуванням!",
     "error.invalid_display_mode": "Недійсний режим відображення.",
     "error.invalid_entry_direction": "Недійсний напрямок запису.",
     "error.invalid_entry_order": "Недійсний порядок запису.",
-    "error.invalid_feed_proxy_url": "Invalid proxy URL.",
+    "error.invalid_feed_proxy_url": "Недійсний proxy URL.",
     "error.invalid_feed_url": "Недійсна URL-адреса стрічки.",
     "error.invalid_gesture_nav": "Недійсна навігація жестами.",
     "error.invalid_language": "Недійсна мова.",
     "error.invalid_site_url": "Недійсна URL-адреса сайту.",
     "error.invalid_theme": "Недійсна тема.",
     "error.invalid_timezone": "Недійсний часовий пояс.",
-    "error.network_operation": "Miniflux is not able to reach this website due to a network error: %v.",
-    "error.network_timeout": "This website is too slow and the request timed out: %v",
+    "error.network_operation": "Miniflux не може отримати доступ до цього сайту через помилку мережі: %v.",
+    "error.network_timeout": "Цей сайт занадто повільний і запит перевищив час очікування: %v",
     "error.password_min_length": "Пароль має складати щонайменше 6 символів.",
     "error.pocket_access_token": "Не вдалося отримати токен доступу з Pocket!",
     "error.pocket_request_token": "Не вдалося отримати токен доступу з Pocket!",
-    "error.proxy_url_not_empty": "The proxy URL cannot be empty.",
-    "error.settings_block_rule_fieldname_invalid": "Invalid Block rule: rule #%d is missing a valid field name (Options: %s)",
-    "error.settings_block_rule_invalid_regex": "Invalid Block rule: rule #%d's pattern is not a valid regex",
-    "error.settings_block_rule_regex_required": "Invalid Block rule: rule #%d's pattern is not provided",
-    "error.settings_block_rule_separator_required": "Invalid Block rule: rule #%d's pattern is required to be seperated by a '='",
-    "error.settings_invalid_domain_list": "Invalid domain list. Please provide a space separated list of domains.",
-    "error.settings_keep_rule_fieldname_invalid": "Invalid Keep rule: rule #%d is missing a valid field name (Options: %s)",
-    "error.settings_keep_rule_invalid_regex": "Invalid Keep rule: rule #%d's pattern is not a valid regex",
-    "error.settings_keep_rule_regex_required": "Invalid Keep rule: rule #%d pattern is not provided",
-    "error.settings_keep_rule_separator_required": "Invalid Keep rule: rule #%d's pattern is required to be seperated by a '='",
+    "error.proxy_url_not_empty": "Proxy URL не може бути порожнім.",
+    "error.settings_block_rule_fieldname_invalid": "Недійсне правило блокування: у правилі #%d відсутнє коректне ім’я поля (Опції: %s)",
+    "error.settings_block_rule_invalid_regex": "Недійсне правило блокування: шаблон правила #%d не є коректним регулярним виразом",
+    "error.settings_block_rule_regex_required": "Недійсне правило блокування: не вказано шаблон для правила #%d",
+    "error.settings_block_rule_separator_required": "Недійсне правило блокування: шаблон правила #%d має бути розділений знаком '='",
+    "error.settings_invalid_domain_list": "Недійсний список доменів. Будь ласка, вкажіть список доменів, розділених пробілами.",
+    "error.settings_keep_rule_fieldname_invalid": "Недійсне правило дозволення: у правилі #%d відсутнє коректне ім’я поля (Опції: %s)",
+    "error.settings_keep_rule_invalid_regex": "Недійсне правило дозволення: шаблон правила #%d не є коректним регулярним виразом",
+    "error.settings_keep_rule_regex_required": "Недійсне правило дозволення: не вказано шаблон для правила #%d",
+    "error.settings_keep_rule_separator_required": "Недійсне правило дозволення: шаблон правила #%d має бути розділений знаком '='",
     "error.settings_mandatory_fields": "Поля імені, теми, мови та часового поясу є обов’язковими.",
     "error.settings_media_playback_rate_range": "Швидкість відтворення виходить за межі діапазону",
     "error.settings_reading_speed_is_positive": "Швидкість читання має бути додатнім цілим числом.",
@@ -169,18 +169,18 @@
     "form.api_key.label.description": "Назва ключа API",
     "form.category.hide_globally": "Приховати записи в глобальному списку непрочитаного",
     "form.category.label.title": "Назва",
-    "form.feed.fieldset.general": "General",
-    "form.feed.fieldset.integration": "Third-Party Services",
-    "form.feed.fieldset.network_settings": "Network Settings",
-    "form.feed.fieldset.rules": "Rules",
+    "form.feed.fieldset.general": "Загальні",
+    "form.feed.fieldset.integration": "Сторонні сервіси",
+    "form.feed.fieldset.network_settings": "Налаштування мережі",
+    "form.feed.fieldset.rules": "Правила",
     "form.feed.label.allow_self_signed_certificates": "Дозволити сертифікати з власним підписом або недійсні",
-    "form.feed.label.apprise_service_urls": "Comma separated list of Apprise service URLs",
+    "form.feed.label.apprise_service_urls": "Список URL сервісів Apprise, розділених комами",
     "form.feed.label.blocklist_rules": "Правила блокування",
     "form.feed.label.category": "Категорія",
     "form.feed.label.cookie": "Встановити кукі",
     "form.feed.label.crawler": "Завантажувати оригінальний вміст",
     "form.feed.label.description": "Опис",
-    "form.feed.label.disable_http2": "Disable HTTP/2 to avoid fingerprinting",
+    "form.feed.label.disable_http2": "Вимкнути HTTP/2 для уникнення відбитків",
     "form.feed.label.disabled": "Не оновлювати цю стрічку",
     "form.feed.label.feed_password": "Пароль для завантаження",
     "form.feed.label.feed_url": "URL-адреса стрічки",
@@ -189,40 +189,40 @@
     "form.feed.label.hide_globally": "Приховати записи в глобальному списку непрочитаного",
     "form.feed.label.ignore_http_cache": "Ігнорувати кеш HTTP",
     "form.feed.label.keeplist_rules": "Правила дозволення",
-    "form.feed.label.no_media_player": "No media player (audio/video)",
-    "form.feed.label.ntfy_activate": "Push entries to ntfy",
-    "form.feed.label.ntfy_default_priority": "Ntfy default priority",
-    "form.feed.label.ntfy_high_priority": "Ntfy high priority",
-    "form.feed.label.ntfy_low_priority": "Ntfy low priority",
-    "form.feed.label.ntfy_max_priority": "Ntfy max priority",
-    "form.feed.label.ntfy_min_priority": "Ntfy min priority",
-    "form.feed.label.ntfy_priority": "Ntfy priority",
-    "form.feed.label.ntfy_topic": "Ntfy topic (optional)",
+    "form.feed.label.no_media_player": "Немає медіаплеєра (аудіо/відео)",
+    "form.feed.label.ntfy_activate": "Надсилати записи у ntfy",
+    "form.feed.label.ntfy_default_priority": "Стандартний пріоритет ntfy",
+    "form.feed.label.ntfy_high_priority": "Високий пріоритет ntfy",
+    "form.feed.label.ntfy_low_priority": "Низький пріоритет ntfy",
+    "form.feed.label.ntfy_max_priority": "Максимальний пріоритет ntfy",
+    "form.feed.label.ntfy_min_priority": "Мінімальний пріоритет ntfy",
+    "form.feed.label.ntfy_priority": "Пріоритет ntfy",
+    "form.feed.label.ntfy_topic": "Тема ntfy (необов’язково)",
     "form.feed.label.proxy_url": "Proxy URL",
-    "form.feed.label.pushover_activate": "Push entries to pushover.net",
-    "form.feed.label.pushover_default_priority": "Pushover default priority",
-    "form.feed.label.pushover_high_priority": "Pushover high priority",
-    "form.feed.label.pushover_low_priority": "Pushover low priority",
-    "form.feed.label.pushover_max_priority": "Pushover max priority",
-    "form.feed.label.pushover_min_priority": "Pushover min priority",
-    "form.feed.label.pushover_priority": "Pushover message priority",
+    "form.feed.label.pushover_activate": "Надсилати записи у pushover.net",
+    "form.feed.label.pushover_default_priority": "Стандартний пріоритет Pushover",
+    "form.feed.label.pushover_high_priority": "Високий пріоритет Pushover",
+    "form.feed.label.pushover_low_priority": "Низький пріоритет Pushover",
+    "form.feed.label.pushover_max_priority": "Максимальний пріоритет Pushover",
+    "form.feed.label.pushover_min_priority": "Мінімальний пріоритет Pushover",
+    "form.feed.label.pushover_priority": "Пріоритет повідомлення Pushover",
     "form.feed.label.rewrite_rules": "Правила Rewrite",
     "form.feed.label.scraper_rules": "Правила Scraper",
     "form.feed.label.site_url": "URL-адреса сайту",
     "form.feed.label.title": "Назва",
     "form.feed.label.urlrewrite_rules": "Правила перезапису URL-адрес",
     "form.feed.label.user_agent": "Назначити User Agent",
-    "form.feed.label.webhook_url": "Override webhook url",
+    "form.feed.label.webhook_url": "Перевизначити URL вебхука",
     "form.import.label.file": "Файл OPML",
     "form.import.label.url": "URL-адреса",
-    "form.integration.apprise_activate": "Push entries to Apprise",
-    "form.integration.apprise_services_url": "Comma separated list of Apprise service URLs",
+    "form.integration.apprise_activate": "Надсилати записи у Apprise",
+    "form.integration.apprise_services_url": "Список URL сервісів Apprise, розділених комами",
     "form.integration.apprise_url": "Apprise API URL",
     "form.integration.betula_activate": "Save entries to Betula",
     "form.integration.betula_token": "Betula Token",
     "form.integration.betula_url": "Betula server URL",
-    "form.integration.cubox_activate": "Save entries to Cubox",
-    "form.integration.cubox_api_link": "Cubox API link",
+    "form.integration.cubox_activate": "Зберігати статті до Cubox",
+    "form.integration.cubox_api_link": "Посилання на Cubox API",
     "form.integration.discord_activate": "Push entries to Discord",
     "form.integration.discord_webhook_link": "Discord Webhook link",
     "form.integration.espial_activate": "Зберігати статті до Espial",
@@ -265,10 +265,10 @@
     "form.integration.notion_activate": "Save entries to Notion",
     "form.integration.notion_page_id": "Notion Page ID",
     "form.integration.notion_token": "Notion Secret Token",
-    "form.integration.ntfy_activate": "Push entries to ntfy",
+    "form.integration.ntfy_activate": "Надсилати записи у ntfy",
     "form.integration.ntfy_api_token": "Ntfy API Token (optional)",
     "form.integration.ntfy_icon_url": "Ntfy Icon URL (optional)",
-    "form.integration.ntfy_internal_links": "Use internal links on click (optional)",
+    "form.integration.ntfy_internal_links": "Використовувати внутрішні посилання при натисканні (необов’язково)",
     "form.integration.ntfy_password": "Ntfy Password (optional)",
     "form.integration.ntfy_topic": "Ntfy topic (default if not set in feed)",
     "form.integration.ntfy_url": "Ntfy URL (optional, default is ntfy.sh)",
@@ -337,8 +337,8 @@
     "form.prefs.fieldset.authentication_settings": "Authentication Settings",
     "form.prefs.fieldset.global_feed_settings": "Global Feed Settings",
     "form.prefs.fieldset.reader_settings": "Reader Settings",
-    "form.prefs.help.external_font_hosts": "Space separated list of external font hosts to allow. For example: \"fonts.gstatic.com fonts.googleapis.com\".",
-    "form.prefs.label.always_open_external_links": "Read articles by opening external links",
+    "form.prefs.help.external_font_hosts": "Список дозволених зовнішніх хостів шрифтів, розділених пробілами. Наприклад: 'fonts.gstatic.com fonts.googleapis.com'.",
+    "form.prefs.label.always_open_external_links": "Читати статті, відкриваючи зовнішні посилання",
     "form.prefs.label.categories_sorting_order": "Сортування за категоріями",
     "form.prefs.label.cjk_reading_speed": "Швидкість читання для китайської, корейської та японської мови (символів на хвилину)",
     "form.prefs.label.custom_css": "Спеціальний CSS",
@@ -350,7 +350,7 @@
     "form.prefs.label.entry_order": "Стовпець сортування записів",
     "form.prefs.label.entry_sorting": "Сортування записів",
     "form.prefs.label.entry_swipe": "Увімкніть введення пальцем на сенсорних екранах",
-    "form.prefs.label.external_font_hosts": "External font hosts",
+    "form.prefs.label.external_font_hosts": "Зовнішні хости шрифтів",
     "form.prefs.label.gesture_nav": "Жест для переходу між записами",
     "form.prefs.label.keyboard_shortcuts": "Увімкнути комбінації клавиш",
     "form.prefs.label.language": "Мова",

+ 2 - 2
internal/locale/translations/zh_TW.json

@@ -120,7 +120,7 @@
     "error.invalid_display_mode": "無效的顯示模式。",
     "error.invalid_entry_direction": "無效的輸入方向。",
     "error.invalid_entry_order": "無效的文章排序依據。",
-    "error.invalid_feed_proxy_url": "Invalid proxy URL.",
+    "error.invalid_feed_proxy_url": "代理伺服器網址無效。",
     "error.invalid_feed_url": "訂閱網址無效。",
     "error.invalid_gesture_nav": "手勢導覽無效。",
     "error.invalid_language": "無效的語言。",
@@ -132,7 +132,7 @@
     "error.password_min_length": "請至少輸入 6 個字元",
     "error.pocket_access_token": "無法從 Pocket 取得存取金鑰!",
     "error.pocket_request_token": "無法從 Pocket 取得請求金鑰!",
-    "error.proxy_url_not_empty": "The proxy URL cannot be empty.",
+    "error.proxy_url_not_empty": "代理伺服器網址不能為空。",
     "error.settings_block_rule_fieldname_invalid": "無效的封鎖規則:規則 #%d 缺少有效的欄位名稱 (可用選項:%s)",
     "error.settings_block_rule_invalid_regex": "無效的封鎖規則:規則 #%d 的模式不是合法的正規表示式",
     "error.settings_block_rule_regex_required": "無效的封鎖規則:規則 #%d 沒有提供正規表示式",