summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--internal/locale/translations/de_DE.json7
-rw-r--r--internal/locale/translations/el_EL.json7
-rw-r--r--internal/locale/translations/en_US.json7
-rw-r--r--internal/locale/translations/es_ES.json7
-rw-r--r--internal/locale/translations/fi_FI.json7
-rw-r--r--internal/locale/translations/fr_FR.json33
-rw-r--r--internal/locale/translations/hi_IN.json7
-rw-r--r--internal/locale/translations/id_ID.json7
-rw-r--r--internal/locale/translations/it_IT.json7
-rw-r--r--internal/locale/translations/ja_JP.json7
-rw-r--r--internal/locale/translations/nl_NL.json7
-rw-r--r--internal/locale/translations/pl_PL.json7
-rw-r--r--internal/locale/translations/pt_BR.json7
-rw-r--r--internal/locale/translations/ru_RU.json7
-rw-r--r--internal/locale/translations/tr_TR.json7
-rw-r--r--internal/locale/translations/uk_UA.json877
-rw-r--r--internal/locale/translations/zh_CN.json7
-rw-r--r--internal/locale/translations/zh_TW.json7
-rw-r--r--internal/template/templates/views/edit_feed.html256
-rw-r--r--internal/template/templates/views/settings.html252
-rw-r--r--internal/ui/static/css/common.css7
21 files changed, 858 insertions, 679 deletions
diff --git a/internal/locale/translations/de_DE.json b/internal/locale/translations/de_DE.json
index fad475e6..82638414 100644
--- a/internal/locale/translations/de_DE.json
+++ b/internal/locale/translations/de_DE.json
@@ -289,6 +289,10 @@
"form.feed.label.disabled": "Dieses Abonnement nicht aktualisieren",
"form.feed.label.no_media_player": "No media player (audio/video)",
"form.feed.label.hide_globally": "Einträge in der globalen Ungelesen-Liste ausblenden",
+ "form.feed.fieldset.general": "General",
+ "form.feed.fieldset.rules": "Rules",
+ "form.feed.fieldset.network_settings": "Network Settings",
+ "form.feed.fieldset.integration": "Third-Party Services",
"form.category.label.title": "Titel",
"form.category.hide_globally": "Einträge in der globalen Ungelesen-Liste ausblenden",
"form.user.label.username": "Benutzername",
@@ -325,6 +329,9 @@
"form.prefs.label.default_home_page": "Standard Startseite",
"form.prefs.label.categories_sorting_order": "Kategorien sortieren",
"form.prefs.label.mark_read_on_view": "Einträge automatisch als gelesen markieren, wenn sie angezeigt werden",
+ "form.prefs.fieldset.application_settings": "Application Settings",
+ "form.prefs.fieldset.authentication_settings": "Authentication Settings",
+ "form.prefs.fieldset.reader_settings": "Reader Settings",
"form.import.label.file": "OPML Datei",
"form.import.label.url": "URL",
"form.integration.fever_activate": "Fever API aktivieren",
diff --git a/internal/locale/translations/el_EL.json b/internal/locale/translations/el_EL.json
index 59d4c291..fe85fbf7 100644
--- a/internal/locale/translations/el_EL.json
+++ b/internal/locale/translations/el_EL.json
@@ -289,6 +289,10 @@
"form.feed.label.disabled": "Μη ανανέωση αυτής της ροής",
"form.feed.label.no_media_player": "No media player (audio/video)",
"form.feed.label.hide_globally": "Απόκρυψη καταχωρήσεων σε γενική λίστα μη αναγνωσμένων",
+ "form.feed.fieldset.general": "General",
+ "form.feed.fieldset.rules": "Rules",
+ "form.feed.fieldset.network_settings": "Network Settings",
+ "form.feed.fieldset.integration": "Third-Party Services",
"form.category.label.title": "Τίτλος",
"form.category.hide_globally": "Απόκρυψη καταχωρήσεων σε γενική λίστα μη αναγνωσμένων",
"form.user.label.username": "Χρήστης",
@@ -325,6 +329,9 @@
"form.prefs.label.default_home_page": "Προεπιλεγμένη αρχική σελίδα",
"form.prefs.label.categories_sorting_order": "Ταξινόμηση κατηγοριών",
"form.prefs.label.mark_read_on_view": "Αυτόματη επισήμανση καταχωρήσεων ως αναγνωσμένων κατά την προβολή",
+ "form.prefs.fieldset.application_settings": "Application Settings",
+ "form.prefs.fieldset.authentication_settings": "Authentication Settings",
+ "form.prefs.fieldset.reader_settings": "Reader Settings",
"form.import.label.file": "Αρχείο OPML",
"form.import.label.url": "URL",
"form.integration.fever_activate": "Ενεργοποιήστε το Fever API",
diff --git a/internal/locale/translations/en_US.json b/internal/locale/translations/en_US.json
index 98aa4320..bde62550 100644
--- a/internal/locale/translations/en_US.json
+++ b/internal/locale/translations/en_US.json
@@ -289,6 +289,10 @@
"form.feed.label.disabled": "Do not refresh this feed",
"form.feed.label.no_media_player": "No media player (audio/video)",
"form.feed.label.hide_globally": "Hide entries in global unread list",
+ "form.feed.fieldset.general": "General",
+ "form.feed.fieldset.rules": "Rules",
+ "form.feed.fieldset.network_settings": "Network Settings",
+ "form.feed.fieldset.integration": "Third-Party Services",
"form.category.label.title": "Title",
"form.category.hide_globally": "Hide entries in global unread list",
"form.user.label.username": "Username",
@@ -325,6 +329,9 @@
"form.prefs.label.default_home_page": "Default home page",
"form.prefs.label.categories_sorting_order": "Categories sorting",
"form.prefs.label.mark_read_on_view": "Automatically mark entries as read when viewed",
+ "form.prefs.fieldset.application_settings": "Application Settings",
+ "form.prefs.fieldset.authentication_settings": "Authentication Settings",
+ "form.prefs.fieldset.reader_settings": "Reader Settings",
"form.import.label.file": "OPML file",
"form.import.label.url": "URL",
"form.integration.fever_activate": "Activate Fever API",
diff --git a/internal/locale/translations/es_ES.json b/internal/locale/translations/es_ES.json
index 8e83a73d..21f6d0e2 100644
--- a/internal/locale/translations/es_ES.json
+++ b/internal/locale/translations/es_ES.json
@@ -289,6 +289,10 @@
"form.feed.label.disabled": "No actualice este feed",
"form.feed.label.no_media_player": "No media player (audio/video)",
"form.feed.label.hide_globally": "Ocultar artículos en la lista global de no leídos",
+ "form.feed.fieldset.general": "General",
+ "form.feed.fieldset.rules": "Rules",
+ "form.feed.fieldset.network_settings": "Network Settings",
+ "form.feed.fieldset.integration": "Third-Party Services",
"form.category.label.title": "Título",
"form.category.hide_globally": "Ocultar artículos en la lista global de no leídos",
"form.user.label.username": "Nombre de usuario",
@@ -325,6 +329,9 @@
"form.prefs.label.default_home_page": "Página de inicio por defecto",
"form.prefs.label.categories_sorting_order": "Clasificación por categorías",
"form.prefs.label.mark_read_on_view": "Marcar automáticamente las entradas como leídas cuando se vean",
+ "form.prefs.fieldset.application_settings": "Application Settings",
+ "form.prefs.fieldset.authentication_settings": "Authentication Settings",
+ "form.prefs.fieldset.reader_settings": "Reader Settings",
"form.import.label.file": "Archivo OPML",
"form.import.label.url": "URL",
"form.integration.fever_activate": "Activar API de Fever",
diff --git a/internal/locale/translations/fi_FI.json b/internal/locale/translations/fi_FI.json
index ce8d81aa..1330f274 100644
--- a/internal/locale/translations/fi_FI.json
+++ b/internal/locale/translations/fi_FI.json
@@ -289,6 +289,10 @@
"form.feed.label.disabled": "Älä päivitä tätä syötettä",
"form.feed.label.no_media_player": "No media player (audio/video)",
"form.feed.label.hide_globally": "Piilota artikkelit lukemattomien listassa",
+ "form.feed.fieldset.general": "General",
+ "form.feed.fieldset.rules": "Rules",
+ "form.feed.fieldset.network_settings": "Network Settings",
+ "form.feed.fieldset.integration": "Third-Party Services",
"form.category.label.title": "Otsikko",
"form.category.hide_globally": "Piilota artikkelit lukemattomien listassa",
"form.user.label.username": "Käyttäjätunnus",
@@ -325,6 +329,9 @@
"form.prefs.label.default_home_page": "Oletusarvoinen etusivu",
"form.prefs.label.categories_sorting_order": "Kategorioiden lajittelu",
"form.prefs.label.mark_read_on_view": "Merkitse kohdat automaattisesti luetuiksi, kun niitä tarkastellaan",
+ "form.prefs.fieldset.application_settings": "Application Settings",
+ "form.prefs.fieldset.authentication_settings": "Authentication Settings",
+ "form.prefs.fieldset.reader_settings": "Reader Settings",
"form.import.label.file": "OPML-tiedosto",
"form.import.label.url": "URL",
"form.integration.fever_activate": "Ota Fever API käyttöön",
diff --git a/internal/locale/translations/fr_FR.json b/internal/locale/translations/fr_FR.json
index 28514f77..824f0ff2 100644
--- a/internal/locale/translations/fr_FR.json
+++ b/internal/locale/translations/fr_FR.json
@@ -279,7 +279,7 @@
"form.feed.label.cookie": "Définir les cookies",
"form.feed.label.scraper_rules": "Règles pour récupérer le contenu original",
"form.feed.label.rewrite_rules": "Règles de réécriture",
- "form.feed.label.apprise_service_urls": "Comma separated list of Apprise service URLs",
+ "form.feed.label.apprise_service_urls": "Liste séparée par des virgules des URL du service Apprise",
"form.feed.label.blocklist_rules": "Règles de blocage",
"form.feed.label.keeplist_rules": "Règles d'autorisation",
"form.feed.label.urlrewrite_rules": "Règles de réécriture d'URL",
@@ -289,6 +289,10 @@
"form.feed.label.disabled": "Ne pas actualiser ce flux",
"form.feed.label.no_media_player": "Pas de lecteur multimedia (audio/vidéo)",
"form.feed.label.hide_globally": "Masquer les entrées dans la liste globale non lue",
+ "form.feed.fieldset.general": "Général",
+ "form.feed.fieldset.rules": "Règles",
+ "form.feed.fieldset.network_settings": "Paramètres réseau",
+ "form.feed.fieldset.integration": "Services tiers",
"form.category.label.title": "Titre",
"form.category.hide_globally": "Masquer les entrées dans la liste globale non lue",
"form.user.label.username": "Nom d'utilisateur",
@@ -320,11 +324,14 @@
"form.prefs.label.entry_swipe": "Activer le balayage des entrées sur les écrans tactiles",
"form.prefs.label.gesture_nav": "Geste pour naviguer entre les entrées",
"form.prefs.label.show_reading_time": "Afficher le temps de lecture estimé des articles",
- "form.prefs.label.custom_css": "CSS personnalisé",
+ "form.prefs.label.custom_css": "Feuille de style personnalisée",
"form.prefs.label.entry_order": "Colonne de tri des entrées",
"form.prefs.label.default_home_page": "Page d'accueil par défaut",
"form.prefs.label.categories_sorting_order": "Colonne de tri des catégories",
"form.prefs.label.mark_read_on_view": "Marquer automatiquement les entrées comme lues lorsqu'elles sont consultées",
+ "form.prefs.fieldset.application_settings": "Paramètres de l'application",
+ "form.prefs.fieldset.authentication_settings": "Paramètres d'authentification",
+ "form.prefs.fieldset.reader_settings": "Paramètres du lecteur",
"form.import.label.file": "Fichier OPML",
"form.import.label.url": "URL",
"form.integration.fever_activate": "Activer l'API de Fever",
@@ -356,9 +363,9 @@
"form.integration.notion_activate": "Sauvegarder les articles vers Notion",
"form.integration.notion_page_id": "Identifiant de la page Notion",
"form.integration.notion_token": "Jeton d'accès de l'API de Notion",
- "form.integration.apprise_activate": "Emvoyer les articles vers Apprise",
- "form.integration.apprise_url": "Apprise API URL",
- "form.integration.apprise_services_url": "Comma separated list of Apprise services",
+ "form.integration.apprise_activate": "Envoyer les articles vers Apprise",
+ "form.integration.apprise_url": "URL de l'API Apprise",
+ "form.integration.apprise_services_url": "Liste des services Apprise séparés par des virgules",
"form.integration.nunux_keeper_activate": "Sauvegarder les articles vers Nunux Keeper",
"form.integration.nunux_keeper_endpoint": "URL de l'API de Nunux Keeper",
"form.integration.nunux_keeper_api_key": "Clé d'API de Nunux Keeper",
@@ -366,13 +373,13 @@
"form.integration.espial_endpoint": "URL de l'API de Espial",
"form.integration.espial_api_key": "Clé d'API de Espial",
"form.integration.espial_tags": "Libellés de Espial",
- "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.readwise_activate": "Enregistrer les entrées dans Readwise Reader",
+ "form.integration.readwise_api_key": "Jeton d'accès au lecteur Readwise",
+ "form.integration.readwise_api_key_link": "Obtenez votre jeton d'accès Readwise",
"form.integration.telegram_bot_activate": "Envoyer les nouveaux articles vers Telegram",
"form.integration.telegram_bot_token": "Jeton de sécurité de l'API du Bot Telegram",
- "form.integration.telegram_chat_id": "Identifiant de discussion",
- "form.integration.telegram_topic_id": "Topic ID",
+ "form.integration.telegram_chat_id": "Identifiant de discussion (Chat ID)",
+ "form.integration.telegram_topic_id": "Identifiant du sujet (Topic ID)",
"form.integration.telegram_bot_disable_web_page_preview": "Désactiver l'aperçu de la page Web",
"form.integration.telegram_bot_disable_notification": "Désactiver les notifications",
"form.integration.linkding_activate": "Sauvegarder les articles vers Linkding",
@@ -392,9 +399,9 @@
"form.integration.shaarli_activate": "Sauvegarder les articles vers Shaarli",
"form.integration.shaarli_endpoint": "URL de l'API de Shaarli",
"form.integration.shaarli_api_secret": "Clé d'API de Shaarli API",
- "form.integration.webhook_activate": "Enable Webhook",
- "form.integration.webhook_url": "Webhook URL",
- "form.integration.webhook_secret": "Webhook Secret",
+ "form.integration.webhook_activate": "Activer le webhook",
+ "form.integration.webhook_url": "URL du webhook",
+ "form.integration.webhook_secret": "Secret du webhook",
"form.api_key.label.description": "Libellé de la clé d'API",
"form.submit.loading": "Chargement...",
"form.submit.saving": "Sauvegarde en cours...",
diff --git a/internal/locale/translations/hi_IN.json b/internal/locale/translations/hi_IN.json
index 36bcc11a..ddeb12c9 100644
--- a/internal/locale/translations/hi_IN.json
+++ b/internal/locale/translations/hi_IN.json
@@ -289,6 +289,10 @@
"form.feed.label.disabled": "इस फ़ीड को रीफ़्रेश न करें",
"form.feed.label.no_media_player": "No media player (audio/video)",
"form.feed.label.hide_globally": "वैश्विक अपठित सूची में प्रविष्टियां छिपाएं",
+ "form.feed.fieldset.general": "General",
+ "form.feed.fieldset.rules": "Rules",
+ "form.feed.fieldset.network_settings": "Network Settings",
+ "form.feed.fieldset.integration": "Third-Party Services",
"form.category.label.title": "शीर्षक",
"form.category.hide_globally": "वैश्विक अपठित सूची में प्रविष्टियां छिपाएं",
"form.user.label.username": "उपयोगकर्ता नाम",
@@ -325,6 +329,9 @@
"form.prefs.label.default_home_page": "डिफ़ॉल्ट होमपेज़",
"form.prefs.label.categories_sorting_order": "श्रेणियाँ छँटाई",
"form.prefs.label.mark_read_on_view": "देखे जाने पर स्वचालित रूप से प्रविष्टियों को पढ़ने के रूप में चिह्नित करें",
+ "form.prefs.fieldset.application_settings": "Application Settings",
+ "form.prefs.fieldset.authentication_settings": "Authentication Settings",
+ "form.prefs.fieldset.reader_settings": "Reader Settings",
"form.import.label.file": "ओपीएमएल फ़ाइल",
"form.import.label.url": "यूआरएल",
"form.integration.fever_activate": "फीवर एपीआई सक्रिय करें",
diff --git a/internal/locale/translations/id_ID.json b/internal/locale/translations/id_ID.json
index 16c65720..69df8a5b 100644
--- a/internal/locale/translations/id_ID.json
+++ b/internal/locale/translations/id_ID.json
@@ -286,6 +286,10 @@
"form.feed.label.disabled": "Jangan perbarui umpan ini",
"form.feed.label.no_media_player": "No media player (audio/video)",
"form.feed.label.hide_globally": "Sembunyikan entri di daftar belum dibaca global",
+ "form.feed.fieldset.general": "General",
+ "form.feed.fieldset.rules": "Rules",
+ "form.feed.fieldset.network_settings": "Network Settings",
+ "form.feed.fieldset.integration": "Third-Party Services",
"form.category.label.title": "Judul",
"form.category.hide_globally": "Sembunyikan entri di daftar belum dibaca global",
"form.user.label.username": "Nama Pengguna",
@@ -322,6 +326,9 @@
"form.prefs.label.default_home_page": "Beranda Baku",
"form.prefs.label.categories_sorting_order": "Pengurutan Kategori",
"form.prefs.label.mark_read_on_view": "Secara otomatis menandai entri sebagai telah dibaca saat dilihat",
+ "form.prefs.fieldset.application_settings": "Application Settings",
+ "form.prefs.fieldset.authentication_settings": "Authentication Settings",
+ "form.prefs.fieldset.reader_settings": "Reader Settings",
"form.import.label.file": "Berkas OPML",
"form.import.label.url": "URL",
"form.integration.fever_activate": "Aktifkan API Fever",
diff --git a/internal/locale/translations/it_IT.json b/internal/locale/translations/it_IT.json
index a10ccae2..3190ee60 100644
--- a/internal/locale/translations/it_IT.json
+++ b/internal/locale/translations/it_IT.json
@@ -289,6 +289,10 @@
"form.feed.label.disabled": "Non aggiornare questo feed",
"form.feed.label.no_media_player": "No media player (audio/video)",
"form.feed.label.hide_globally": "Nascondere le voci nella lista globale dei non letti",
+ "form.feed.fieldset.general": "General",
+ "form.feed.fieldset.rules": "Rules",
+ "form.feed.fieldset.network_settings": "Network Settings",
+ "form.feed.fieldset.integration": "Third-Party Services",
"form.category.label.title": "Titolo",
"form.category.hide_globally": "Nascondere le voci nella lista globale dei non letti",
"form.user.label.username": "Nome utente",
@@ -325,6 +329,9 @@
"form.prefs.label.default_home_page": "Pagina iniziale predefinita",
"form.prefs.label.categories_sorting_order": "Ordinamento delle categorie",
"form.prefs.label.mark_read_on_view": "Contrassegna automaticamente le voci come lette quando visualizzate",
+ "form.prefs.fieldset.application_settings": "Application Settings",
+ "form.prefs.fieldset.authentication_settings": "Authentication Settings",
+ "form.prefs.fieldset.reader_settings": "Reader Settings",
"form.import.label.file": "File OPML",
"form.import.label.url": "URL",
"form.integration.fever_activate": "Abilita l'API di Fever",
diff --git a/internal/locale/translations/ja_JP.json b/internal/locale/translations/ja_JP.json
index ac2558b9..869cefdf 100644
--- a/internal/locale/translations/ja_JP.json
+++ b/internal/locale/translations/ja_JP.json
@@ -289,6 +289,10 @@
"form.feed.label.disabled": "このフィードを更新しない",
"form.feed.label.no_media_player": "No media player (audio/video)",
"form.feed.label.hide_globally": "未読一覧に記事を表示しない",
+ "form.feed.fieldset.general": "General",
+ "form.feed.fieldset.rules": "Rules",
+ "form.feed.fieldset.network_settings": "Network Settings",
+ "form.feed.fieldset.integration": "Third-Party Services",
"form.category.label.title": "タイトル",
"form.category.hide_globally": "未読一覧に記事を表示しない",
"form.user.label.username": "ユーザー名",
@@ -325,6 +329,9 @@
"form.prefs.label.default_home_page": "デフォルトのトップページ",
"form.prefs.label.categories_sorting_order": "カテゴリの表示順",
"form.prefs.label.mark_read_on_view": "表示時にエントリを自動的に既読としてマークします",
+ "form.prefs.fieldset.application_settings": "Application Settings",
+ "form.prefs.fieldset.authentication_settings": "Authentication Settings",
+ "form.prefs.fieldset.reader_settings": "Reader Settings",
"form.import.label.file": "OPML ファイル",
"form.import.label.url": "URL",
"form.integration.fever_activate": "Fever API を有効にする",
diff --git a/internal/locale/translations/nl_NL.json b/internal/locale/translations/nl_NL.json
index 145685e4..b9fb357a 100644
--- a/internal/locale/translations/nl_NL.json
+++ b/internal/locale/translations/nl_NL.json
@@ -289,6 +289,10 @@
"form.feed.label.disabled": "Vernieuw deze feed niet",
"form.feed.label.no_media_player": "No media player (audio/video)",
"form.feed.label.hide_globally": "Verberg items in de globale ongelezen lijst",
+ "form.feed.fieldset.general": "General",
+ "form.feed.fieldset.rules": "Rules",
+ "form.feed.fieldset.network_settings": "Network Settings",
+ "form.feed.fieldset.integration": "Third-Party Services",
"form.category.label.title": "Naam",
"form.category.hide_globally": "Verberg items in de globale ongelezen lijst",
"form.user.label.username": "Gebruikersnaam",
@@ -325,6 +329,9 @@
"form.prefs.label.default_home_page": "Standaard startpagina",
"form.prefs.label.categories_sorting_order": "Categorieën sorteren",
"form.prefs.label.mark_read_on_view": "Items automatisch markeren als gelezen wanneer ze worden bekeken",
+ "form.prefs.fieldset.application_settings": "Application Settings",
+ "form.prefs.fieldset.authentication_settings": "Authentication Settings",
+ "form.prefs.fieldset.reader_settings": "Reader Settings",
"form.import.label.file": "OPML-bestand",
"form.import.label.url": "URL",
"form.integration.fever_activate": "Activeer Fever API",
diff --git a/internal/locale/translations/pl_PL.json b/internal/locale/translations/pl_PL.json
index bb822ac9..ec3aaa5a 100644
--- a/internal/locale/translations/pl_PL.json
+++ b/internal/locale/translations/pl_PL.json
@@ -291,6 +291,10 @@
"form.feed.label.disabled": "Nie odświeżaj tego kanału",
"form.feed.label.no_media_player": "No media player (audio/video)",
"form.feed.label.hide_globally": "Ukryj wpisy na globalnej liście nieprzeczytanych",
+ "form.feed.fieldset.general": "General",
+ "form.feed.fieldset.rules": "Rules",
+ "form.feed.fieldset.network_settings": "Network Settings",
+ "form.feed.fieldset.integration": "Third-Party Services",
"form.category.label.title": "Tytuł",
"form.category.hide_globally": "Ukryj wpisy na globalnej liście nieprzeczytanych",
"form.user.label.username": "Nazwa użytkownika",
@@ -327,6 +331,9 @@
"form.prefs.label.default_home_page": "Domyślna strona główna",
"form.prefs.label.categories_sorting_order": "Sortowanie kategorii",
"form.prefs.label.mark_read_on_view": "Automatycznie oznaczaj wpisy jako przeczytane podczas przeglądania",
+ "form.prefs.fieldset.application_settings": "Application Settings",
+ "form.prefs.fieldset.authentication_settings": "Authentication Settings",
+ "form.prefs.fieldset.reader_settings": "Reader Settings",
"form.import.label.file": "Plik OPML",
"form.import.label.url": "URL",
"form.integration.fever_activate": "Aktywuj Fever API",
diff --git a/internal/locale/translations/pt_BR.json b/internal/locale/translations/pt_BR.json
index 579648ae..394d6588 100644
--- a/internal/locale/translations/pt_BR.json
+++ b/internal/locale/translations/pt_BR.json
@@ -289,6 +289,10 @@
"form.feed.label.no_media_player": "No media player (audio/video)",
"form.feed.label.fetch_via_proxy": "Buscar via proxy",
"form.feed.label.hide_globally": "Ocultar entradas na lista global não lida",
+ "form.feed.fieldset.general": "General",
+ "form.feed.fieldset.rules": "Rules",
+ "form.feed.fieldset.network_settings": "Network Settings",
+ "form.feed.fieldset.integration": "Third-Party Services",
"form.category.label.title": "Título",
"form.category.hide_globally": "Ocultar entradas na lista global não lida",
"form.user.label.username": "Nome de usuário",
@@ -325,6 +329,9 @@
"form.prefs.label.default_home_page": "Página inicial predefinida",
"form.prefs.label.categories_sorting_order": "Classificação das categorias",
"form.prefs.label.mark_read_on_view": "Marcar automaticamente as entradas como lidas quando visualizadas",
+ "form.prefs.fieldset.application_settings": "Application Settings",
+ "form.prefs.fieldset.authentication_settings": "Authentication Settings",
+ "form.prefs.fieldset.reader_settings": "Reader Settings",
"form.import.label.file": "Arquivo OPML",
"form.import.label.url": "URL",
"form.integration.fever_activate": "Ativar API do Fever",
diff --git a/internal/locale/translations/ru_RU.json b/internal/locale/translations/ru_RU.json
index 88378193..c59620ae 100644
--- a/internal/locale/translations/ru_RU.json
+++ b/internal/locale/translations/ru_RU.json
@@ -291,6 +291,10 @@
"form.feed.label.disabled": "Не обновлять эту подписку",
"form.feed.label.no_media_player": "Отключить медиаплеер (аудио и видео)",
"form.feed.label.hide_globally": "Скрыть записи в глобальном списке непрочитанных",
+ "form.feed.fieldset.general": "General",
+ "form.feed.fieldset.rules": "Rules",
+ "form.feed.fieldset.network_settings": "Network Settings",
+ "form.feed.fieldset.integration": "Third-Party Services",
"form.category.label.title": "Название",
"form.category.hide_globally": "Скрыть записи в глобальном списке непрочитанных",
"form.user.label.username": "Имя пользователя",
@@ -327,6 +331,9 @@
"form.prefs.label.default_home_page": "Домашняя страница по умолчанию",
"form.prefs.label.categories_sorting_order": "Сортировка категорий",
"form.prefs.label.mark_read_on_view": "Автоматически отмечать записи как прочитанные при просмотре",
+ "form.prefs.fieldset.application_settings": "Application Settings",
+ "form.prefs.fieldset.authentication_settings": "Authentication Settings",
+ "form.prefs.fieldset.reader_settings": "Reader Settings",
"form.import.label.file": "OPML файл",
"form.import.label.url": "Ссылка",
"form.integration.fever_activate": "Активировать Fever API",
diff --git a/internal/locale/translations/tr_TR.json b/internal/locale/translations/tr_TR.json
index 17e04e71..d3f1d887 100644
--- a/internal/locale/translations/tr_TR.json
+++ b/internal/locale/translations/tr_TR.json
@@ -289,6 +289,10 @@
"form.feed.label.disabled": "Bu beslemeyi yenileme",
"form.feed.label.no_media_player": "No media player (audio/video)",
"form.feed.label.hide_globally": "Genel okunmamış listesindeki girişleri gizle",
+ "form.feed.fieldset.general": "General",
+ "form.feed.fieldset.rules": "Rules",
+ "form.feed.fieldset.network_settings": "Network Settings",
+ "form.feed.fieldset.integration": "Third-Party Services",
"form.category.label.title": "Başlık",
"form.category.hide_globally": "Genel okunmamış listesindeki girişleri gizle",
"form.user.label.username": "Kullanıcı Adı",
@@ -325,6 +329,9 @@
"form.prefs.label.default_home_page": "Varsayılan ana sayfa",
"form.prefs.label.categories_sorting_order": "Kategoriler sıralama",
"form.prefs.label.mark_read_on_view": "Girişleri görüntülendiğinde otomatik olarak okundu olarak işaretle",
+ "form.prefs.fieldset.application_settings": "Application Settings",
+ "form.prefs.fieldset.authentication_settings": "Authentication Settings",
+ "form.prefs.fieldset.reader_settings": "Reader Settings",
"form.import.label.file": "OPML dosyası",
"form.import.label.url": "URL",
"form.integration.fever_activate": "Fever API'yi Etkinleştir",
diff --git a/internal/locale/translations/uk_UA.json b/internal/locale/translations/uk_UA.json
index d1fdf101..d9b8a0eb 100644
--- a/internal/locale/translations/uk_UA.json
+++ b/internal/locale/translations/uk_UA.json
@@ -1,437 +1,444 @@
{
- "confirm.question": "Ви впевнені?",
- "confirm.question.refresh": "Ви хочете змусити оновити?",
- "confirm.yes": "так",
- "confirm.no": "ні",
- "confirm.loading": "В процесі...",
- "action.subscribe": "Підписатись",
- "action.save": "Зберегти",
- "action.or": "або",
- "action.cancel": "скасувати",
- "action.remove": "Видалити",
- "action.remove_feed": "Видалити стрічку",
- "action.update": "Зберегти",
- "action.edit": "Редагувати",
- "action.download": "Завантажити",
- "action.import": "Імпортувати",
- "action.login": "Увійти",
- "action.home_screen": "Додати до головного екрану",
- "tooltip.keyboard_shortcuts": "Комбінація клавіш: %s",
- "tooltip.logged_user": "Здійснено вхід як %s",
- "menu.unread": "Непрочитане",
- "menu.starred": "З зірочкою",
- "menu.history": "Історія",
- "menu.feeds": "Стрічки",
- "menu.categories": "Категорії",
- "menu.settings": "Налаштування",
- "menu.logout": "Вийти",
- "menu.preferences": "Уподобання",
- "menu.integrations": "Інтеграції",
- "menu.sessions": "Сеанси",
- "menu.users": "Користувачі",
- "menu.about": "Про додаток",
- "menu.export": "Експорт",
- "menu.import": "Імпорт",
- "menu.create_category": "Створити категорію",
- "menu.mark_page_as_read": "Відмітити цю сторінку як прочитане",
- "menu.mark_all_as_read": "Відмітити все як прочитане",
- "menu.show_all_entries": "Показати всі записи",
- "menu.show_only_unread_entries": "Показати тільки непрочитані записи",
- "menu.refresh_feed": "Оновити",
- "menu.refresh_all_feeds": "Оновити всі стрічки у фоновому режимі",
- "menu.edit_feed": "Редагувати",
- "menu.edit_category": "Редагувати",
- "menu.add_feed": "Додати підписку",
- "menu.add_user": "Додати користувачв",
- "menu.flush_history": "Очистити історію",
- "menu.feed_entries": "Записи",
- "menu.api_keys": "Ключі API",
- "menu.create_api_key": "Створити новий ключ API",
- "menu.shared_entries": "Спільні записи",
- "search.label": "Пошук",
- "search.placeholder": "Шукати...",
- "pagination.next": "Вперед",
- "pagination.previous": "Назад",
- "entry.status.unread": "Непрочитане",
- "entry.status.read": "Прочитане",
- "entry.status.toast.unread": "Відмічено непрочитаним",
- "entry.status.toast.read": "Відмічено прочитаним",
- "entry.status.title": "Змінити стан запису",
- "entry.bookmark.toggle.on": "Поставити зірочку",
- "entry.bookmark.toggle.off": "Прибрати зірочку",
- "entry.bookmark.toast.on": "З зірочкою",
- "entry.bookmark.toast.off": "Без зірочки",
- "entry.state.saving": "Зберігаю...",
- "entry.state.loading": "Завантаження...",
- "entry.save.label": "Зберегти",
- "entry.save.title": "Зберегти цю статтю",
- "entry.save.completed": "Готово!",
- "entry.save.toast.completed": "Стаття збережена",
- "entry.scraper.label": "Завантажити",
- "entry.scraper.title": "Отримати оригінальний зміст",
- "entry.scraper.completed": "Готово!",
- "entry.external_link.label": "Зовнішнє посилання",
- "entry.comments.label": "Коментарі",
- "entry.comments.title": "Дивитися коментарі",
- "entry.share.label": "Поділитись",
- "entry.share.title": "Поділитись статтєю",
- "entry.unshare.label": "Не ділитися",
- "entry.shared_entry.title": "Відкрити публічне посилання",
- "entry.shared_entry.label": "Поділитись",
- "entry.estimated_reading_time": [
- "читати %d хвилину",
- "читати %d хвилини",
- "читати %d хвилин"
- ],
- "entry.tags.label": "Теги:",
- "page.shared_entries.title": "Спильні записи",
- "page.unread.title": "Непрочитане",
- "page.starred.title": "З зірочкою",
- "page.categories.title": "Категорії",
- "page.categories.no_feed": "Немає стрічки.",
- "page.categories.entries": "Статті",
- "page.categories.feeds": "Підписки",
- "page.categories.feed_count": [
- "Містить %d стрічку.",
- "Містить %d стрічки.",
- "Містить %d стрічок."
- ],
- "page.categories.unread_counter": "Кількість непрочитаних записів",
- "page.new_category.title": "Нова категорія",
- "page.new_user.title": "Новий користувач",
- "page.edit_category.title": "Редагування категорії: %s",
- "page.edit_user.title": "Редагування користувача: %s",
- "page.feeds.title": "Стрічки",
- "page.feeds.last_check": "Остання перевірка:",
- "page.feeds.unread_counter": "Кількість непрочитаних записів",
- "page.feeds.read_counter": "Кількість прочитаних записів",
- "page.feeds.error_count": [
- "%d помилка",
- "%d помилки",
- "%d помилок"
- ],
- "page.history.title": "Історія",
- "page.import.title": "Імпорт",
- "page.search.title": "Результати пошуку",
- "page.about.title": "Про додадок",
- "page.about.credits": "Титри",
- "page.about.version": "Версія:",
- "page.about.build_date": "Дата побудови:",
- "page.about.author": "Автор:",
- "page.about.license": "Ліцензія:",
- "page.about.global_config_options": "Параметри глобальної конфігурації",
- "page.about.postgres_version": "Версія Postgres:",
- "page.about.go_version": "Версія Go:",
- "page.add_feed.title": "Нова підписка",
- "page.add_feed.no_category": "Немає категорії. Ви маєте додати принаймні одну категорію.",
- "page.add_feed.label.url": "URL",
- "page.add_feed.submit": "Знайти підписку",
- "page.add_feed.legend.advanced_options": "Розширені опції",
- "page.add_feed.choose_feed": "Обрати підписку",
- "page.edit_feed.title": "Редагування стрічки: %s",
- "page.edit_feed.last_check": "Остання перевірка:",
- "page.edit_feed.last_modified_header": "Заголовок LastModified:",
- "page.edit_feed.etag_header": "Заголовок ETag:",
- "page.edit_feed.no_header": "Немає",
- "page.edit_feed.last_parsing_error": "Остання помилка аналізу",
- "page.entry.attachments": "Додатки",
- "page.keyboard_shortcuts.title": "Комбінації клавиш",
- "page.keyboard_shortcuts.subtitle.sections": "Навігація по розділах",
- "page.keyboard_shortcuts.subtitle.items": "Навігація по записах",
- "page.keyboard_shortcuts.subtitle.pages": "Навігація по сторінках",
- "page.keyboard_shortcuts.subtitle.actions": "Дії",
- "page.keyboard_shortcuts.go_to_unread": "Перейти до непрочитаних",
- "page.keyboard_shortcuts.go_to_starred": "Перейти до закладок",
- "page.keyboard_shortcuts.go_to_history": "Перейти до історії",
- "page.keyboard_shortcuts.go_to_feeds": "Перейти до стрічок",
- "page.keyboard_shortcuts.go_to_categories": "Перейти до категорій",
- "page.keyboard_shortcuts.go_to_settings": "Перейти до налаштувань",
- "page.keyboard_shortcuts.show_keyboard_shortcuts": "Показати комбінації клавиш",
- "page.keyboard_shortcuts.go_to_previous_item": "Перейти до попереднього запису",
- "page.keyboard_shortcuts.go_to_next_item": "Перейти до наступного запису",
- "page.keyboard_shortcuts.go_to_feed": "Перейти до стрічки",
- "page.keyboard_shortcuts.go_to_previous_page": "Перейти до попередньої сторінки",
- "page.keyboard_shortcuts.go_to_next_page": "Перейти до наступної сторінки",
- "page.keyboard_shortcuts.open_item": "Відкрити виділений запис",
- "page.keyboard_shortcuts.open_original": "Відкрити оригінальне посилання",
- "page.keyboard_shortcuts.open_original_same_window": "Відкрити оригінальне посилання в поточній вкладці",
- "page.keyboard_shortcuts.open_comments": "Відкрити посилання на коментарі",
- "page.keyboard_shortcuts.open_comments_same_window": "Відкрити посилання на коментарі в поточній вкладці",
- "page.keyboard_shortcuts.toggle_read_status_next": "Переключити статус читання, перейти до наступного",
- "page.keyboard_shortcuts.toggle_read_status_prev": "Переключити статус читання, перейти до попереднього",
- "page.keyboard_shortcuts.refresh_all_feeds": "Оновити всі стрічки в фоновому режимі",
- "page.keyboard_shortcuts.mark_page_as_read": "Відмітити поточну сторінку як прочитане",
- "page.keyboard_shortcuts.download_content": "Завантажити оригінальний зміст",
- "page.keyboard_shortcuts.toggle_bookmark_status": "Переключити статус закладки",
- "page.keyboard_shortcuts.save_article": "Зберегти статтю",
- "page.keyboard_shortcuts.scroll_item_to_top": "Прокрутити запис догори",
- "page.keyboard_shortcuts.remove_feed": "Видалити цю стрічку",
- "page.keyboard_shortcuts.go_to_search": "Поставити фокус на поле пошуку",
- "page.keyboard_shortcuts.toggle_entry_attachments": "Toggle open/close entry attachments",
- "page.keyboard_shortcuts.close_modal": "Закрити модальне діалогове вікно",
- "page.users.title": "Користувачі",
- "page.users.username": "Ім’я користувача",
- "page.users.never_logged": "Ніколи",
- "page.users.admin.yes": "Так",
- "page.users.admin.no": "Ні",
- "page.users.actions": "Дії",
- "page.users.last_login": "Дата останнього входу",
- "page.users.is_admin": "Адміністратор",
- "page.settings.title": "Налаштування ",
- "page.settings.link_google_account": "Підключити мій обліковий запис Google",
- "page.settings.unlink_google_account": "Відключити мій обліковий запис Google",
- "page.settings.link_oidc_account": "Підключити мій обліковий запис OpenID Connect",
- "page.settings.unlink_oidc_account": "Відключити мій обліковий запис OpenID Connect",
- "page.login.title": "Вхід",
- "page.login.google_signin": "Увійти через Google",
- "page.login.oidc_signin": "Увійти через OpenID Connect",
- "page.integrations.title": "Інтеграції",
- "page.integration.miniflux_api": "Miniflux API",
- "page.integration.miniflux_api_endpoint": "Адреса доступу API",
- "page.integration.miniflux_api_username": "Ім’я користувача",
- "page.integration.miniflux_api_password": "Пароль",
- "page.integration.miniflux_api_password_value": "Пароль до вашого облікового запису",
- "page.integration.bookmarklet": "Букмарклет",
- "page.integration.bookmarklet.name": "Додати до Miniflux",
- "page.integration.bookmarklet.instructions": "Перетягніть це посилання до своїх закладок.",
- "page.integration.bookmarklet.help": "Це спеціальне посилання дозволяє підписатися на веб-сайт безпосередньо за допомогою закладки у вашому веб-браузері.",
- "page.sessions.title": "Сеанси",
- "page.sessions.table.date": "Дата",
- "page.sessions.table.ip": "IP адреса",
- "page.sessions.table.user_agent": "User Agent",
- "page.sessions.table.actions": "Дії",
- "page.sessions.table.current_session": "Поточний сеанс",
- "page.api_keys.title": "Ключі API",
- "page.api_keys.table.description": "Опис",
- "page.api_keys.table.token": "Токен",
- "page.api_keys.table.last_used_at": "Дата останнього використання",
- "page.api_keys.table.created_at": "Дата створення",
- "page.api_keys.table.actions": "Дії",
- "page.api_keys.never_used": "Ніколи не використався",
- "page.new_api_key.title": "Створити ключ API",
- "page.offline.title": "Автономний режим",
- "page.offline.message": "Ви офлайн",
- "page.offline.refresh_page": "Спробуйте оновити сторінку",
- "alert.no_shared_entry": "Немає спільного запису.",
- "alert.no_bookmark": "Наразі закладки відсутні.",
- "alert.no_category": "Немає категорії.",
- "alert.no_category_entry": "У цій категорії немає записів.",
- "alert.no_feed_entry": "У цій стрічці немає записів.",
- "alert.no_feed": "У вас немає підписок.",
- "alert.no_feed_in_category": "У цій категорії немає підписок.",
- "alert.no_history": "Наразі історія порожня.",
- "alert.feed_error": "З цією стрічкою трапилась помилка",
- "alert.no_search_result": "Немає результатів для цього пошуку.",
- "alert.no_unread_entry": "Немає непрочитаних статей.",
- "alert.no_user": "Ви єдиний користувач.",
- "alert.account_unlinked": "Тепер ваш зовнішній обліковий запис підключено!",
- "alert.account_linked": "Тепер ваш зовнішній обліковий запис від’єднано!",
- "alert.pocket_linked": "Тепер ваш обліковий запис Pocket підключено!",
- "alert.prefs_saved": "Уподобання збережено!",
- "error.unlink_account_without_password": "Ви маєте встановити пароль, щоб мати можливість увійти наступного разу",
- "error.duplicate_linked_account": "Вже є обліковий запис, під’єднаний до цього провайдера!",
- "error.duplicate_fever_username": "Вже є обліковий запис з таким самим користувачем Fever!",
- "error.duplicate_googlereader_username": "Вже є обліковий запис з таким самим користувачем Google Reader!",
- "error.pocket_request_token": "Не вдалося отримати токен доступу з Pocket!",
- "error.pocket_access_token": "Не вдалося отримати токен доступу з Pocket!",
- "error.category_already_exists": "Така категорія вже існує.",
- "error.unable_to_create_category": "Не вдається сворити категорію.",
- "error.unable_to_update_category": "Не вдається відредагувати категорію.",
- "error.user_already_exists": "Такий користувач вже існує.",
- "error.unable_to_create_user": "Не вдається створити користувача.",
- "error.unable_to_update_user": "Не вдається оновити користувача.",
- "error.unable_to_update_feed": "Не вдається оновити стрічку.",
- "error.subscription_not_found": "Не знайшлося жодної підписки.",
- "error.invalid_theme": "Недійсна тема.",
- "error.invalid_language": "Недійсна мова.",
- "error.invalid_timezone": "Недійсний часовий пояс.",
- "error.invalid_entry_direction": "Недійсний напрямок запису.",
- "error.invalid_display_mode": "Недійсний режим відображення.",
- "error.invalid_gesture_nav": "Недійсна навігація жестами.",
- "error.invalid_default_home_page": "Недійсна домашня сторінка за замовчуванням!",
- "error.empty_file": "Цей файл порожній.",
- "error.bad_credentials": "Невірне ім’я користувача або пароль.",
- "error.fields_mandatory": "Всі поля є обов’язковими.",
- "error.title_required": "Назва є обов’язковою.",
- "error.different_passwords": "Паролі не співпадають.",
- "error.password_min_length": "Пароль має складати щонайменше 6 символів.",
- "error.settings_mandatory_fields": "Поля імені, теми, мови та часового поясу є обов’язковими.",
- "error.settings_reading_speed_is_positive": "Швидкість читання має бути додатнім цілим числом.",
- "error.entries_per_page_invalid": "Число записів на сторінку недійсне.",
- "error.feed_mandatory_fields": "URL та категорія є обов’язковими.",
- "error.feed_already_exists": "Така стрічка вже існує.",
- "error.invalid_feed_url": "Недійсна URL-адреса стрічки.",
- "error.invalid_site_url": "Недійсна URL-адреса сайту.",
- "error.feed_url_not_empty": "URL-адреса стрічки не може бути порожньою.",
- "error.site_url_not_empty": "URL-адреса сайту не може бути порожньою.",
- "error.feed_title_not_empty": "Назва стрічки не може бути порожньою.",
- "error.feed_category_not_found": "Категорія не існує або належить до іншого користувача.",
- "error.feed_invalid_blocklist_rule": "Правило списку блокувань недійсне.",
- "error.feed_invalid_keeplist_rule": "Правило списку дозволень недійсне.",
- "error.user_mandatory_fields": "Ім’я користувача є обов’язковим.",
- "error.api_key_already_exists": "Такий ключ API вже існує.",
- "error.unable_to_create_api_key": "Не вдається створити такий ключ API",
- "form.feed.label.title": "Назва",
- "form.feed.label.site_url": "URL-адреса сайту",
- "form.feed.label.feed_url": "URL-адреса стрічки",
- "form.feed.label.category": "Категорія",
- "form.feed.label.crawler": "Завантажувати оригінальний вміст",
- "form.feed.label.feed_username": "Ім’я користувача для завантаження",
- "form.feed.label.feed_password": "Пароль для завантаження",
- "form.feed.label.user_agent": "Назначити User Agent",
- "form.feed.label.cookie": "Встановити кукі",
- "form.feed.label.scraper_rules": "Правила Scraper",
- "form.feed.label.rewrite_rules": "Правила Rewrite",
- "form.feed.label.blocklist_rules": "Правила блокування",
- "form.feed.label.keeplist_rules": "Правила дозволення",
- "form.feed.label.urlrewrite_rules": "Правила перезапису URL-адрес",
- "form.feed.label.apprise_service_urls": "Comma separated list of Apprise service URLs",
- "form.feed.label.ignore_http_cache": "Ігнорувати кеш HTTP",
- "form.feed.label.allow_self_signed_certificates": "Дозволити сертифікати з власним підписом або недійсні",
- "form.feed.label.fetch_via_proxy": "Використати проксі-сервер",
- "form.feed.label.disabled": "Не оновлювати цю стрічку",
- "form.feed.label.no_media_player": "No media player (audio/video)",
- "form.feed.label.hide_globally": "Приховати записи в глобальному списку непрочитаного",
- "form.category.label.title": "Назва",
- "form.category.hide_globally": "Приховати записи в глобальному списку непрочитаного",
- "form.user.label.username": "Ім’я користувача",
- "form.user.label.password": "Пароль",
- "form.user.label.confirmation": "Підтверждення паролю",
- "form.user.label.admin": "Адміністратор",
- "form.prefs.label.language": "Мова",
- "form.prefs.label.timezone": "Часовий пояс",
- "form.prefs.label.theme": "Тема",
- "form.prefs.label.entry_sorting": "Сортування записів",
- "form.prefs.label.entries_per_page": "Кількість записів на сторінку",
- "form.prefs.label.default_reading_speed": "Швидкість читання для інших мов (слів на хвилину)",
- "form.prefs.label.cjk_reading_speed": "Швидкість читання для китайської, корейської та японської мови (символів на хвилину)",
- "form.prefs.label.display_mode": "Режим відображення Progressive Web App (PWA).",
- "form.prefs.select.older_first": "Старіші записи спочатку",
- "form.prefs.select.recent_first": "Останні записи спочатку",
- "form.prefs.select.fullscreen": "Повний екран",
- "form.prefs.select.standalone": "Автономний",
- "form.prefs.select.minimal_ui": "Мінімальний",
- "form.prefs.select.browser": "Браузер",
- "form.prefs.select.publish_time": "Дата публікації запису",
- "form.prefs.select.created_time": "Дата створення запису",
- "form.prefs.select.alphabetical": "За алфавітом",
- "form.prefs.select.unread_count": "Кількість непрочитаних",
- "form.prefs.select.none": "Жодного",
- "form.prefs.select.tap": "Двічі натисніть",
- "form.prefs.select.swipe": "Проведіть пальцем",
- "form.prefs.label.keyboard_shortcuts": "Увімкнути комбінації клавиш",
- "form.prefs.label.entry_swipe": "Увімкніть введення пальцем на сенсорних екранах",
- "form.prefs.label.gesture_nav": "Жест для переходу між записами",
- "form.prefs.label.show_reading_time": "Показувати приблизний час читання для записів",
- "form.prefs.label.custom_css": "Спеціальний CSS",
- "form.prefs.label.entry_order": "Стовпець сортування записів",
- "form.prefs.label.default_home_page": "Домашня сторінка за умовчанням",
- "form.prefs.label.categories_sorting_order": "Сортування за категоріями",
- "form.prefs.label.mark_read_on_view": "Автоматично позначати записи як прочитані під час перегляду",
- "form.import.label.file": "Файл OPML",
- "form.import.label.url": "URL-адреса",
- "form.integration.fever_activate": "Увімкнути API Fever",
- "form.integration.fever_username": "Ім’я користувача Fever",
- "form.integration.fever_password": "Пароль Fever",
- "form.integration.fever_endpoint": "Адреса доступу API Fever:",
- "form.integration.googlereader_activate": "Увімкнути API Google Reader",
- "form.integration.googlereader_username": "Ім’я користувача Google Reader",
- "form.integration.googlereader_password": "Пароль Google Reader",
- "form.integration.googlereader_endpoint": "Адреса доступу API Google Reader:",
- "form.integration.pinboard_activate": "Зберігати статті до Pinboard",
- "form.integration.pinboard_token": "API ключ від Pinboard",
- "form.integration.pinboard_tags": "Теги для Pinboard",
- "form.integration.pinboard_bookmark": "Відмічати закладку як непрочитану",
- "form.integration.instapaper_activate": "Зберігати статті до Instapaper",
- "form.integration.instapaper_username": "Ім’я користувача Instapaper",
- "form.integration.instapaper_password": "Пароль Instapaper",
- "form.integration.pocket_activate": "Зберігати статті до Pocket",
- "form.integration.pocket_consumer_key": "Pocket Consumer Key",
- "form.integration.pocket_access_token": "Pocket Access Token",
- "form.integration.pocket_connect_link": "Підключити ваш обліковий запис Pocket",
- "form.integration.wallabag_activate": "Зберігати статті до Wallabag",
- "form.integration.wallabag_only_url": "Надіслати лише URL (замість повного вмісту)",
- "form.integration.wallabag_endpoint": "Wallabag API Endpoint",
- "form.integration.wallabag_client_id": "Wallabag Client ID",
- "form.integration.wallabag_client_secret": "Wallabag Client Secret",
- "form.integration.wallabag_username": "Ім’я користувача Wallabag",
- "form.integration.wallabag_password": "Пароль Wallabag",
- "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.apprise_activate": "Push entries to Apprise",
- "form.integration.apprise_url": "Apprise API URL",
- "form.integration.apprise_services_url": "Comma separated list of Apprise service URLs",
- "form.integration.nunux_keeper_activate": "Зберігати статті до Nunux Keeper",
- "form.integration.nunux_keeper_endpoint": "Nunux Keeper API Endpoint",
- "form.integration.nunux_keeper_api_key": "Ключ API Nunux Keeper",
- "form.integration.espial_activate": "Зберігати статті до Espial",
- "form.integration.espial_endpoint": "Espial API Endpoint",
- "form.integration.espial_api_key": "Ключ API Espial",
- "form.integration.espial_tags": "Теги для Espial",
- "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.telegram_bot_activate": "Відправляти нові статті до чату Telegram",
- "form.integration.telegram_bot_token": "Токен боту",
- "form.integration.telegram_topic_id": "Topic ID",
- "form.integration.telegram_bot_disable_web_page_preview": "Disable web page preview",
- "form.integration.telegram_bot_disable_notification": "Disable notification",
- "form.integration.telegram_chat_id": "ID чату",
- "form.integration.linkding_activate": "Зберігати статті до Linkding",
- "form.integration.linkding_endpoint": "Linkding API Endpoint",
- "form.integration.linkding_api_key": "Ключ API Linkding",
- "form.integration.linkding_tags": "Linkding Tags",
- "form.integration.linkding_bookmark": "Відмічати закладку як непрочитану",
- "form.integration.matrix_bot_activate": "Перенесення нових статей в Матрицю",
- "form.integration.matrix_bot_user": "Ім'я користувача для Matrix",
- "form.integration.matrix_bot_password": "Пароль для користувача Matrix",
- "form.integration.matrix_bot_url": "URL-адреса сервера Матриці",
- "form.integration.matrix_bot_chat_id": "Ідентифікатор кімнати Матриці",
- "form.integration.shiori_activate": "Save articles to Shiori",
- "form.integration.shiori_endpoint": "Shiori API Endpoint",
- "form.integration.shiori_username": "Shiori Username",
- "form.integration.shiori_password": "Shiori Password",
- "form.integration.shaarli_activate": "Save articles to Shaarli",
- "form.integration.shaarli_endpoint": "Shaarli URL",
- "form.integration.shaarli_api_secret": "Shaarli API Secret",
- "form.integration.webhook_activate": "Enable Webhook",
- "form.integration.webhook_url": "Webhook URL",
- "form.integration.webhook_secret": "Webhook Secret",
- "form.api_key.label.description": "Назва ключа API",
- "form.submit.loading": "Завантаження...",
- "form.submit.saving": "Зберігаю...",
- "time_elapsed.not_yet": "ще ні",
- "time_elapsed.yesterday": "вчора",
- "time_elapsed.now": "прямо зараз",
- "time_elapsed.minutes": [
- "%d хвилину тому",
- "%d хвилини тому",
- "%d хвилин тому"
- ],
- "time_elapsed.hours": [
- "%d годину тому",
- "%d години тому",
- "%d годин тому"
- ],
- "time_elapsed.days": [
- "%d день тому",
- "%d дні тому",
- "%d днів тому"
- ],
- "time_elapsed.weeks": [
- "%d тиждень тому",
- "%d тижня тому",
- "%d тижнів тому"
- ],
- "time_elapsed.months": [
- "%d місяць тому",
- "%d місяця тому",
- "%d місяців тому"
- ],
- "time_elapsed.years": [
- "%d рік тому",
- "%d роки тому",
- "%d років тому"
- ]
+ "confirm.question": "Ви впевнені?",
+ "confirm.question.refresh": "Ви хочете змусити оновити?",
+ "confirm.yes": "так",
+ "confirm.no": "ні",
+ "confirm.loading": "В процесі...",
+ "action.subscribe": "Підписатись",
+ "action.save": "Зберегти",
+ "action.or": "або",
+ "action.cancel": "скасувати",
+ "action.remove": "Видалити",
+ "action.remove_feed": "Видалити стрічку",
+ "action.update": "Зберегти",
+ "action.edit": "Редагувати",
+ "action.download": "Завантажити",
+ "action.import": "Імпортувати",
+ "action.login": "Увійти",
+ "action.home_screen": "Додати до головного екрану",
+ "tooltip.keyboard_shortcuts": "Комбінація клавіш: %s",
+ "tooltip.logged_user": "Здійснено вхід як %s",
+ "menu.unread": "Непрочитане",
+ "menu.starred": "З зірочкою",
+ "menu.history": "Історія",
+ "menu.feeds": "Стрічки",
+ "menu.categories": "Категорії",
+ "menu.settings": "Налаштування",
+ "menu.logout": "Вийти",
+ "menu.preferences": "Уподобання",
+ "menu.integrations": "Інтеграції",
+ "menu.sessions": "Сеанси",
+ "menu.users": "Користувачі",
+ "menu.about": "Про додаток",
+ "menu.export": "Експорт",
+ "menu.import": "Імпорт",
+ "menu.create_category": "Створити категорію",
+ "menu.mark_page_as_read": "Відмітити цю сторінку як прочитане",
+ "menu.mark_all_as_read": "Відмітити все як прочитане",
+ "menu.show_all_entries": "Показати всі записи",
+ "menu.show_only_unread_entries": "Показати тільки непрочитані записи",
+ "menu.refresh_feed": "Оновити",
+ "menu.refresh_all_feeds": "Оновити всі стрічки у фоновому режимі",
+ "menu.edit_feed": "Редагувати",
+ "menu.edit_category": "Редагувати",
+ "menu.add_feed": "Додати підписку",
+ "menu.add_user": "Додати користувачв",
+ "menu.flush_history": "Очистити історію",
+ "menu.feed_entries": "Записи",
+ "menu.api_keys": "Ключі API",
+ "menu.create_api_key": "Створити новий ключ API",
+ "menu.shared_entries": "Спільні записи",
+ "search.label": "Пошук",
+ "search.placeholder": "Шукати...",
+ "pagination.next": "Вперед",
+ "pagination.previous": "Назад",
+ "entry.status.unread": "Непрочитане",
+ "entry.status.read": "Прочитане",
+ "entry.status.toast.unread": "Відмічено непрочитаним",
+ "entry.status.toast.read": "Відмічено прочитаним",
+ "entry.status.title": "Змінити стан запису",
+ "entry.bookmark.toggle.on": "Поставити зірочку",
+ "entry.bookmark.toggle.off": "Прибрати зірочку",
+ "entry.bookmark.toast.on": "З зірочкою",
+ "entry.bookmark.toast.off": "Без зірочки",
+ "entry.state.saving": "Зберігаю...",
+ "entry.state.loading": "Завантаження...",
+ "entry.save.label": "Зберегти",
+ "entry.save.title": "Зберегти цю статтю",
+ "entry.save.completed": "Готово!",
+ "entry.save.toast.completed": "Стаття збережена",
+ "entry.scraper.label": "Завантажити",
+ "entry.scraper.title": "Отримати оригінальний зміст",
+ "entry.scraper.completed": "Готово!",
+ "entry.external_link.label": "Зовнішнє посилання",
+ "entry.comments.label": "Коментарі",
+ "entry.comments.title": "Дивитися коментарі",
+ "entry.share.label": "Поділитись",
+ "entry.share.title": "Поділитись статтєю",
+ "entry.unshare.label": "Не ділитися",
+ "entry.shared_entry.title": "Відкрити публічне посилання",
+ "entry.shared_entry.label": "Поділитись",
+ "entry.estimated_reading_time": [
+ "читати %d хвилину",
+ "читати %d хвилини",
+ "читати %d хвилин"
+ ],
+ "entry.tags.label": "Теги:",
+ "page.shared_entries.title": "Спильні записи",
+ "page.unread.title": "Непрочитане",
+ "page.starred.title": "З зірочкою",
+ "page.categories.title": "Категорії",
+ "page.categories.no_feed": "Немає стрічки.",
+ "page.categories.entries": "Статті",
+ "page.categories.feeds": "Підписки",
+ "page.categories.feed_count": [
+ "Містить %d стрічку.",
+ "Містить %d стрічки.",
+ "Містить %d стрічок."
+ ],
+ "page.categories.unread_counter": "Кількість непрочитаних записів",
+ "page.new_category.title": "Нова категорія",
+ "page.new_user.title": "Новий користувач",
+ "page.edit_category.title": "Редагування категорії: %s",
+ "page.edit_user.title": "Редагування користувача: %s",
+ "page.feeds.title": "Стрічки",
+ "page.feeds.last_check": "Остання перевірка:",
+ "page.feeds.unread_counter": "Кількість непрочитаних записів",
+ "page.feeds.read_counter": "Кількість прочитаних записів",
+ "page.feeds.error_count": [
+ "%d помилка",
+ "%d помилки",
+ "%d помилок"
+ ],
+ "page.history.title": "Історія",
+ "page.import.title": "Імпорт",
+ "page.search.title": "Результати пошуку",
+ "page.about.title": "Про додадок",
+ "page.about.credits": "Титри",
+ "page.about.version": "Версія:",
+ "page.about.build_date": "Дата побудови:",
+ "page.about.author": "Автор:",
+ "page.about.license": "Ліцензія:",
+ "page.about.global_config_options": "Параметри глобальної конфігурації",
+ "page.about.postgres_version": "Версія Postgres:",
+ "page.about.go_version": "Версія Go:",
+ "page.add_feed.title": "Нова підписка",
+ "page.add_feed.no_category": "Немає категорії. Ви маєте додати принаймні одну категорію.",
+ "page.add_feed.label.url": "URL",
+ "page.add_feed.submit": "Знайти підписку",
+ "page.add_feed.legend.advanced_options": "Розширені опції",
+ "page.add_feed.choose_feed": "Обрати підписку",
+ "page.edit_feed.title": "Редагування стрічки: %s",
+ "page.edit_feed.last_check": "Остання перевірка:",
+ "page.edit_feed.last_modified_header": "Заголовок LastModified:",
+ "page.edit_feed.etag_header": "Заголовок ETag:",
+ "page.edit_feed.no_header": "Немає",
+ "page.edit_feed.last_parsing_error": "Остання помилка аналізу",
+ "page.entry.attachments": "Додатки",
+ "page.keyboard_shortcuts.title": "Комбінації клавиш",
+ "page.keyboard_shortcuts.subtitle.sections": "Навігація по розділах",
+ "page.keyboard_shortcuts.subtitle.items": "Навігація по записах",
+ "page.keyboard_shortcuts.subtitle.pages": "Навігація по сторінках",
+ "page.keyboard_shortcuts.subtitle.actions": "Дії",
+ "page.keyboard_shortcuts.go_to_unread": "Перейти до непрочитаних",
+ "page.keyboard_shortcuts.go_to_starred": "Перейти до закладок",
+ "page.keyboard_shortcuts.go_to_history": "Перейти до історії",
+ "page.keyboard_shortcuts.go_to_feeds": "Перейти до стрічок",
+ "page.keyboard_shortcuts.go_to_categories": "Перейти до категорій",
+ "page.keyboard_shortcuts.go_to_settings": "Перейти до налаштувань",
+ "page.keyboard_shortcuts.show_keyboard_shortcuts": "Показати комбінації клавиш",
+ "page.keyboard_shortcuts.go_to_previous_item": "Перейти до попереднього запису",
+ "page.keyboard_shortcuts.go_to_next_item": "Перейти до наступного запису",
+ "page.keyboard_shortcuts.go_to_feed": "Перейти до стрічки",
+ "page.keyboard_shortcuts.go_to_previous_page": "Перейти до попередньої сторінки",
+ "page.keyboard_shortcuts.go_to_next_page": "Перейти до наступної сторінки",
+ "page.keyboard_shortcuts.open_item": "Відкрити виділений запис",
+ "page.keyboard_shortcuts.open_original": "Відкрити оригінальне посилання",
+ "page.keyboard_shortcuts.open_original_same_window": "Відкрити оригінальне посилання в поточній вкладці",
+ "page.keyboard_shortcuts.open_comments": "Відкрити посилання на коментарі",
+ "page.keyboard_shortcuts.open_comments_same_window": "Відкрити посилання на коментарі в поточній вкладці",
+ "page.keyboard_shortcuts.toggle_read_status_next": "Переключити статус читання, перейти до наступного",
+ "page.keyboard_shortcuts.toggle_read_status_prev": "Переключити статус читання, перейти до попереднього",
+ "page.keyboard_shortcuts.refresh_all_feeds": "Оновити всі стрічки в фоновому режимі",
+ "page.keyboard_shortcuts.mark_page_as_read": "Відмітити поточну сторінку як прочитане",
+ "page.keyboard_shortcuts.download_content": "Завантажити оригінальний зміст",
+ "page.keyboard_shortcuts.toggle_bookmark_status": "Переключити статус закладки",
+ "page.keyboard_shortcuts.save_article": "Зберегти статтю",
+ "page.keyboard_shortcuts.scroll_item_to_top": "Прокрутити запис догори",
+ "page.keyboard_shortcuts.remove_feed": "Видалити цю стрічку",
+ "page.keyboard_shortcuts.go_to_search": "Поставити фокус на поле пошуку",
+ "page.keyboard_shortcuts.toggle_entry_attachments": "Toggle open/close entry attachments",
+ "page.keyboard_shortcuts.close_modal": "Закрити модальне діалогове вікно",
+ "page.users.title": "Користувачі",
+ "page.users.username": "Ім’я користувача",
+ "page.users.never_logged": "Ніколи",
+ "page.users.admin.yes": "Так",
+ "page.users.admin.no": "Ні",
+ "page.users.actions": "Дії",
+ "page.users.last_login": "Дата останнього входу",
+ "page.users.is_admin": "Адміністратор",
+ "page.settings.title": "Налаштування ",
+ "page.settings.link_google_account": "Підключити мій обліковий запис Google",
+ "page.settings.unlink_google_account": "Відключити мій обліковий запис Google",
+ "page.settings.link_oidc_account": "Підключити мій обліковий запис OpenID Connect",
+ "page.settings.unlink_oidc_account": "Відключити мій обліковий запис OpenID Connect",
+ "page.login.title": "Вхід",
+ "page.login.google_signin": "Увійти через Google",
+ "page.login.oidc_signin": "Увійти через OpenID Connect",
+ "page.integrations.title": "Інтеграції",
+ "page.integration.miniflux_api": "Miniflux API",
+ "page.integration.miniflux_api_endpoint": "Адреса доступу API",
+ "page.integration.miniflux_api_username": "Ім’я користувача",
+ "page.integration.miniflux_api_password": "Пароль",
+ "page.integration.miniflux_api_password_value": "Пароль до вашого облікового запису",
+ "page.integration.bookmarklet": "Букмарклет",
+ "page.integration.bookmarklet.name": "Додати до Miniflux",
+ "page.integration.bookmarklet.instructions": "Перетягніть це посилання до своїх закладок.",
+ "page.integration.bookmarklet.help": "Це спеціальне посилання дозволяє підписатися на веб-сайт безпосередньо за допомогою закладки у вашому веб-браузері.",
+ "page.sessions.title": "Сеанси",
+ "page.sessions.table.date": "Дата",
+ "page.sessions.table.ip": "IP адреса",
+ "page.sessions.table.user_agent": "User Agent",
+ "page.sessions.table.actions": "Дії",
+ "page.sessions.table.current_session": "Поточний сеанс",
+ "page.api_keys.title": "Ключі API",
+ "page.api_keys.table.description": "Опис",
+ "page.api_keys.table.token": "Токен",
+ "page.api_keys.table.last_used_at": "Дата останнього використання",
+ "page.api_keys.table.created_at": "Дата створення",
+ "page.api_keys.table.actions": "Дії",
+ "page.api_keys.never_used": "Ніколи не використався",
+ "page.new_api_key.title": "Створити ключ API",
+ "page.offline.title": "Автономний режим",
+ "page.offline.message": "Ви офлайн",
+ "page.offline.refresh_page": "Спробуйте оновити сторінку",
+ "alert.no_shared_entry": "Немає спільного запису.",
+ "alert.no_bookmark": "Наразі закладки відсутні.",
+ "alert.no_category": "Немає категорії.",
+ "alert.no_category_entry": "У цій категорії немає записів.",
+ "alert.no_feed_entry": "У цій стрічці немає записів.",
+ "alert.no_feed": "У вас немає підписок.",
+ "alert.no_feed_in_category": "У цій категорії немає підписок.",
+ "alert.no_history": "Наразі історія порожня.",
+ "alert.feed_error": "З цією стрічкою трапилась помилка",
+ "alert.no_search_result": "Немає результатів для цього пошуку.",
+ "alert.no_unread_entry": "Немає непрочитаних статей.",
+ "alert.no_user": "Ви єдиний користувач.",
+ "alert.account_unlinked": "Тепер ваш зовнішній обліковий запис підключено!",
+ "alert.account_linked": "Тепер ваш зовнішній обліковий запис від’єднано!",
+ "alert.pocket_linked": "Тепер ваш обліковий запис Pocket підключено!",
+ "alert.prefs_saved": "Уподобання збережено!",
+ "error.unlink_account_without_password": "Ви маєте встановити пароль, щоб мати можливість увійти наступного разу",
+ "error.duplicate_linked_account": "Вже є обліковий запис, під’єднаний до цього провайдера!",
+ "error.duplicate_fever_username": "Вже є обліковий запис з таким самим користувачем Fever!",
+ "error.duplicate_googlereader_username": "Вже є обліковий запис з таким самим користувачем Google Reader!",
+ "error.pocket_request_token": "Не вдалося отримати токен доступу з Pocket!",
+ "error.pocket_access_token": "Не вдалося отримати токен доступу з Pocket!",
+ "error.category_already_exists": "Така категорія вже існує.",
+ "error.unable_to_create_category": "Не вдається сворити категорію.",
+ "error.unable_to_update_category": "Не вдається відредагувати категорію.",
+ "error.user_already_exists": "Такий користувач вже існує.",
+ "error.unable_to_create_user": "Не вдається створити користувача.",
+ "error.unable_to_update_user": "Не вдається оновити користувача.",
+ "error.unable_to_update_feed": "Не вдається оновити стрічку.",
+ "error.subscription_not_found": "Не знайшлося жодної підписки.",
+ "error.invalid_theme": "Недійсна тема.",
+ "error.invalid_language": "Недійсна мова.",
+ "error.invalid_timezone": "Недійсний часовий пояс.",
+ "error.invalid_entry_direction": "Недійсний напрямок запису.",
+ "error.invalid_display_mode": "Недійсний режим відображення.",
+ "error.invalid_gesture_nav": "Недійсна навігація жестами.",
+ "error.invalid_default_home_page": "Недійсна домашня сторінка за замовчуванням!",
+ "error.empty_file": "Цей файл порожній.",
+ "error.bad_credentials": "Невірне ім’я користувача або пароль.",
+ "error.fields_mandatory": "Всі поля є обов’язковими.",
+ "error.title_required": "Назва є обов’язковою.",
+ "error.different_passwords": "Паролі не співпадають.",
+ "error.password_min_length": "Пароль має складати щонайменше 6 символів.",
+ "error.settings_mandatory_fields": "Поля імені, теми, мови та часового поясу є обов’язковими.",
+ "error.settings_reading_speed_is_positive": "Швидкість читання має бути додатнім цілим числом.",
+ "error.entries_per_page_invalid": "Число записів на сторінку недійсне.",
+ "error.feed_mandatory_fields": "URL та категорія є обов’язковими.",
+ "error.feed_already_exists": "Така стрічка вже існує.",
+ "error.invalid_feed_url": "Недійсна URL-адреса стрічки.",
+ "error.invalid_site_url": "Недійсна URL-адреса сайту.",
+ "error.feed_url_not_empty": "URL-адреса стрічки не може бути порожньою.",
+ "error.site_url_not_empty": "URL-адреса сайту не може бути порожньою.",
+ "error.feed_title_not_empty": "Назва стрічки не може бути порожньою.",
+ "error.feed_category_not_found": "Категорія не існує або належить до іншого користувача.",
+ "error.feed_invalid_blocklist_rule": "Правило списку блокувань недійсне.",
+ "error.feed_invalid_keeplist_rule": "Правило списку дозволень недійсне.",
+ "error.user_mandatory_fields": "Ім’я користувача є обов’язковим.",
+ "error.api_key_already_exists": "Такий ключ API вже існує.",
+ "error.unable_to_create_api_key": "Не вдається створити такий ключ API",
+ "form.feed.label.title": "Назва",
+ "form.feed.label.site_url": "URL-адреса сайту",
+ "form.feed.label.feed_url": "URL-адреса стрічки",
+ "form.feed.label.category": "Категорія",
+ "form.feed.label.crawler": "Завантажувати оригінальний вміст",
+ "form.feed.label.feed_username": "Ім’я користувача для завантаження",
+ "form.feed.label.feed_password": "Пароль для завантаження",
+ "form.feed.label.user_agent": "Назначити User Agent",
+ "form.feed.label.cookie": "Встановити кукі",
+ "form.feed.label.scraper_rules": "Правила Scraper",
+ "form.feed.label.rewrite_rules": "Правила Rewrite",
+ "form.feed.label.blocklist_rules": "Правила блокування",
+ "form.feed.label.keeplist_rules": "Правила дозволення",
+ "form.feed.label.urlrewrite_rules": "Правила перезапису URL-адрес",
+ "form.feed.label.apprise_service_urls": "Comma separated list of Apprise service URLs",
+ "form.feed.label.ignore_http_cache": "Ігнорувати кеш HTTP",
+ "form.feed.label.allow_self_signed_certificates": "Дозволити сертифікати з власним підписом або недійсні",
+ "form.feed.label.fetch_via_proxy": "Використати проксі-сервер",
+ "form.feed.label.disabled": "Не оновлювати цю стрічку",
+ "form.feed.label.no_media_player": "No media player (audio/video)",
+ "form.feed.label.hide_globally": "Приховати записи в глобальному списку непрочитаного",
+ "form.category.label.title": "Назва",
+ "form.category.hide_globally": "Приховати записи в глобальному списку непрочитаного",
+ "form.feed.fieldset.general": "General",
+ "form.feed.fieldset.rules": "Rules",
+ "form.feed.fieldset.network_settings": "Network Settings",
+ "form.feed.fieldset.integration": "Third-Party Services",
+ "form.user.label.username": "Ім’я користувача",
+ "form.user.label.password": "Пароль",
+ "form.user.label.confirmation": "Підтверждення паролю",
+ "form.user.label.admin": "Адміністратор",
+ "form.prefs.label.language": "Мова",
+ "form.prefs.label.timezone": "Часовий пояс",
+ "form.prefs.label.theme": "Тема",
+ "form.prefs.label.entry_sorting": "Сортування записів",
+ "form.prefs.label.entries_per_page": "Кількість записів на сторінку",
+ "form.prefs.label.default_reading_speed": "Швидкість читання для інших мов (слів на хвилину)",
+ "form.prefs.label.cjk_reading_speed": "Швидкість читання для китайської, корейської та японської мови (символів на хвилину)",
+ "form.prefs.label.display_mode": "Режим відображення Progressive Web App (PWA).",
+ "form.prefs.select.older_first": "Старіші записи спочатку",
+ "form.prefs.select.recent_first": "Останні записи спочатку",
+ "form.prefs.select.fullscreen": "Повний екран",
+ "form.prefs.select.standalone": "Автономний",
+ "form.prefs.select.minimal_ui": "Мінімальний",
+ "form.prefs.select.browser": "Браузер",
+ "form.prefs.select.publish_time": "Дата публікації запису",
+ "form.prefs.select.created_time": "Дата створення запису",
+ "form.prefs.select.alphabetical": "За алфавітом",
+ "form.prefs.select.unread_count": "Кількість непрочитаних",
+ "form.prefs.select.none": "Жодного",
+ "form.prefs.select.tap": "Двічі натисніть",
+ "form.prefs.select.swipe": "Проведіть пальцем",
+ "form.prefs.label.keyboard_shortcuts": "Увімкнути комбінації клавиш",
+ "form.prefs.label.entry_swipe": "Увімкніть введення пальцем на сенсорних екранах",
+ "form.prefs.label.gesture_nav": "Жест для переходу між записами",
+ "form.prefs.label.show_reading_time": "Показувати приблизний час читання для записів",
+ "form.prefs.label.custom_css": "Спеціальний CSS",
+ "form.prefs.label.entry_order": "Стовпець сортування записів",
+ "form.prefs.label.default_home_page": "Домашня сторінка за умовчанням",
+ "form.prefs.label.categories_sorting_order": "Сортування за категоріями",
+ "form.prefs.label.mark_read_on_view": "Автоматично позначати записи як прочитані під час перегляду",
+ "form.prefs.fieldset.application_settings": "Application Settings",
+ "form.prefs.fieldset.authentication_settings": "Authentication Settings",
+ "form.prefs.fieldset.reader_settings": "Reader Settings",
+ "form.import.label.file": "Файл OPML",
+ "form.import.label.url": "URL-адреса",
+ "form.integration.fever_activate": "Увімкнути API Fever",
+ "form.integration.fever_username": "Ім’я користувача Fever",
+ "form.integration.fever_password": "Пароль Fever",
+ "form.integration.fever_endpoint": "Адреса доступу API Fever:",
+ "form.integration.googlereader_activate": "Увімкнути API Google Reader",
+ "form.integration.googlereader_username": "Ім’я користувача Google Reader",
+ "form.integration.googlereader_password": "Пароль Google Reader",
+ "form.integration.googlereader_endpoint": "Адреса доступу API Google Reader:",
+ "form.integration.pinboard_activate": "Зберігати статті до Pinboard",
+ "form.integration.pinboard_token": "API ключ від Pinboard",
+ "form.integration.pinboard_tags": "Теги для Pinboard",
+ "form.integration.pinboard_bookmark": "Відмічати закладку як непрочитану",
+ "form.integration.instapaper_activate": "Зберігати статті до Instapaper",
+ "form.integration.instapaper_username": "Ім’я користувача Instapaper",
+ "form.integration.instapaper_password": "Пароль Instapaper",
+ "form.integration.pocket_activate": "Зберігати статті до Pocket",
+ "form.integration.pocket_consumer_key": "Pocket Consumer Key",
+ "form.integration.pocket_access_token": "Pocket Access Token",
+ "form.integration.pocket_connect_link": "Підключити ваш обліковий запис Pocket",
+ "form.integration.wallabag_activate": "Зберігати статті до Wallabag",
+ "form.integration.wallabag_only_url": "Надіслати лише URL (замість повного вмісту)",
+ "form.integration.wallabag_endpoint": "Wallabag API Endpoint",
+ "form.integration.wallabag_client_id": "Wallabag Client ID",
+ "form.integration.wallabag_client_secret": "Wallabag Client Secret",
+ "form.integration.wallabag_username": "Ім’я користувача Wallabag",
+ "form.integration.wallabag_password": "Пароль Wallabag",
+ "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.apprise_activate": "Push entries to Apprise",
+ "form.integration.apprise_url": "Apprise API URL",
+ "form.integration.apprise_services_url": "Comma separated list of Apprise service URLs",
+ "form.integration.nunux_keeper_activate": "Зберігати статті до Nunux Keeper",
+ "form.integration.nunux_keeper_endpoint": "Nunux Keeper API Endpoint",
+ "form.integration.nunux_keeper_api_key": "Ключ API Nunux Keeper",
+ "form.integration.espial_activate": "Зберігати статті до Espial",
+ "form.integration.espial_endpoint": "Espial API Endpoint",
+ "form.integration.espial_api_key": "Ключ API Espial",
+ "form.integration.espial_tags": "Теги для Espial",
+ "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.telegram_bot_activate": "Відправляти нові статті до чату Telegram",
+ "form.integration.telegram_bot_token": "Токен боту",
+ "form.integration.telegram_topic_id": "Topic ID",
+ "form.integration.telegram_bot_disable_web_page_preview": "Disable web page preview",
+ "form.integration.telegram_bot_disable_notification": "Disable notification",
+ "form.integration.telegram_chat_id": "ID чату",
+ "form.integration.linkding_activate": "Зберігати статті до Linkding",
+ "form.integration.linkding_endpoint": "Linkding API Endpoint",
+ "form.integration.linkding_api_key": "Ключ API Linkding",
+ "form.integration.linkding_tags": "Linkding Tags",
+ "form.integration.linkding_bookmark": "Відмічати закладку як непрочитану",
+ "form.integration.matrix_bot_activate": "Перенесення нових статей в Матрицю",
+ "form.integration.matrix_bot_user": "Ім'я користувача для Matrix",
+ "form.integration.matrix_bot_password": "Пароль для користувача Matrix",
+ "form.integration.matrix_bot_url": "URL-адреса сервера Матриці",
+ "form.integration.matrix_bot_chat_id": "Ідентифікатор кімнати Матриці",
+ "form.integration.shiori_activate": "Save articles to Shiori",
+ "form.integration.shiori_endpoint": "Shiori API Endpoint",
+ "form.integration.shiori_username": "Shiori Username",
+ "form.integration.shiori_password": "Shiori Password",
+ "form.integration.shaarli_activate": "Save articles to Shaarli",
+ "form.integration.shaarli_endpoint": "Shaarli URL",
+ "form.integration.shaarli_api_secret": "Shaarli API Secret",
+ "form.integration.webhook_activate": "Enable Webhook",
+ "form.integration.webhook_url": "Webhook URL",
+ "form.integration.webhook_secret": "Webhook Secret",
+ "form.api_key.label.description": "Назва ключа API",
+ "form.submit.loading": "Завантаження...",
+ "form.submit.saving": "Зберігаю...",
+ "time_elapsed.not_yet": "ще ні",
+ "time_elapsed.yesterday": "вчора",
+ "time_elapsed.now": "прямо зараз",
+ "time_elapsed.minutes": [
+ "%d хвилину тому",
+ "%d хвилини тому",
+ "%d хвилин тому"
+ ],
+ "time_elapsed.hours": [
+ "%d годину тому",
+ "%d години тому",
+ "%d годин тому"
+ ],
+ "time_elapsed.days": [
+ "%d день тому",
+ "%d дні тому",
+ "%d днів тому"
+ ],
+ "time_elapsed.weeks": [
+ "%d тиждень тому",
+ "%d тижня тому",
+ "%d тижнів тому"
+ ],
+ "time_elapsed.months": [
+ "%d місяць тому",
+ "%d місяця тому",
+ "%d місяців тому"
+ ],
+ "time_elapsed.years": [
+ "%d рік тому",
+ "%d роки тому",
+ "%d років тому"
+ ]
} \ No newline at end of file
diff --git a/internal/locale/translations/zh_CN.json b/internal/locale/translations/zh_CN.json
index fbdc6850..dcd55c0d 100644
--- a/internal/locale/translations/zh_CN.json
+++ b/internal/locale/translations/zh_CN.json
@@ -287,6 +287,10 @@
"form.feed.label.disabled": "请勿刷新此源",
"form.feed.label.no_media_player": "No media player (audio/video)",
"form.feed.label.hide_globally": "隐藏全局未读列表中的文章",
+ "form.feed.fieldset.general": "General",
+ "form.feed.fieldset.rules": "Rules",
+ "form.feed.fieldset.network_settings": "Network Settings",
+ "form.feed.fieldset.integration": "Third-Party Services",
"form.category.label.title": "标题",
"form.category.hide_globally": "隐藏全局未读列表中的文章",
"form.user.label.username": "用户名",
@@ -323,6 +327,9 @@
"form.prefs.label.default_home_page": "默认主页",
"form.prefs.label.categories_sorting_order": "分类排序",
"form.prefs.label.mark_read_on_view": "查看时自动将条目标记为已读",
+ "form.prefs.fieldset.application_settings": "Application Settings",
+ "form.prefs.fieldset.authentication_settings": "Authentication Settings",
+ "form.prefs.fieldset.reader_settings": "Reader Settings",
"form.import.label.file": "OPML 文件",
"form.import.label.url": "URL",
"form.integration.fever_activate": "启用 Fever API",
diff --git a/internal/locale/translations/zh_TW.json b/internal/locale/translations/zh_TW.json
index 19605e5a..9f5e4d30 100644
--- a/internal/locale/translations/zh_TW.json
+++ b/internal/locale/translations/zh_TW.json
@@ -289,6 +289,10 @@
"form.feed.label.disabled": "請勿重新整理此Feed",
"form.feed.label.no_media_player": "No media player (audio/video)",
"form.feed.label.hide_globally": "隱藏全域性未讀列表中的文章",
+ "form.feed.fieldset.general": "General",
+ "form.feed.fieldset.rules": "Rules",
+ "form.feed.fieldset.network_settings": "Network Settings",
+ "form.feed.fieldset.integration": "Third-Party Services",
"form.category.label.title": "標題",
"form.category.hide_globally": "隱藏全域性未讀列表中的文章",
"form.user.label.username": "使用者名稱",
@@ -325,6 +329,9 @@
"form.prefs.label.default_home_page": "默認主頁",
"form.prefs.label.categories_sorting_order": "分類排序",
"form.prefs.label.mark_read_on_view": "查看時自動將條目標記為已讀",
+ "form.prefs.fieldset.application_settings": "Application Settings",
+ "form.prefs.fieldset.authentication_settings": "Authentication Settings",
+ "form.prefs.fieldset.reader_settings": "Reader Settings",
"form.import.label.file": "OPML 檔案",
"form.import.label.url": "URL",
"form.integration.fever_activate": "啟用 Fever API",
diff --git a/internal/template/templates/views/edit_feed.html b/internal/template/templates/views/edit_feed.html
index 170f1901..dcffb374 100644
--- a/internal/template/templates/views/edit_feed.html
+++ b/internal/template/templates/views/edit_feed.html
@@ -40,120 +40,148 @@
<div class="alert alert-error">{{ t .errorMessage }}</div>
{{ end }}
- <label for="form-category">{{ t "form.feed.label.category" }}</label>
- <select id="form-category" name="category_id" autofocus>
- {{ range .categories }}
- <option value="{{ .ID }}" {{ if eq .ID $.form.CategoryID }}selected="selected"{{ end }}>{{ .Title }}</option>
- {{ end }}
- </select>
-
- <label for="form-title">{{ t "form.feed.label.title" }}</label>
- <input type="text" name="title" id="form-title" value="{{ .form.Title }}" spellcheck="false" required>
-
- <label for="form-site-url">{{ t "form.feed.label.site_url" }}</label>
- <input type="url" name="site_url" id="form-site-url" placeholder="https://domain.tld/" value="{{ .form.SiteURL }}" spellcheck="false" required>
-
- <label for="form-feed-url">{{ t "form.feed.label.feed_url" }}</label>
- <input type="url" name="feed_url" id="form-feed-url" placeholder="https://domain.tld/" value="{{ .form.FeedURL }}" spellcheck="false" required>
-
- <label for="form-feed-username">{{ t "form.feed.label.feed_username" }}</label>
- <input type="text" name="feed_username" id="form-feed-username" value="{{ .form.Username }}" spellcheck="false">
-
- <label for="form-feed-password">{{ t "form.feed.label.feed_password" }}</label>
- <!--
- We are using the type "text" otherwise Firefox always autocomplete this password:
-
- - autocomplete="off" or autocomplete="new-password" doesn't change anything
- - Changing the input ID doesn't change anything
- - Using a different input name doesn't change anything
- -->
- <input type="text" name="feed_password" id="form-feed-password" value="{{ .form.Password }}" spellcheck="false">
-
- <label for="form-user-agent">{{ t "form.feed.label.user_agent" }}</label>
- <input type="text" name="user_agent" id="form-user-agent" placeholder="{{ .defaultUserAgent }}" value="{{ .form.UserAgent }}" spellcheck="false">
-
- <label for="form-cookie">{{ t "form.feed.label.cookie" }}</label>
- <input type="text" name="cookie" id="form-cookie" value="{{ .form.Cookie }}" spellcheck="false">
-
- <div class="form-label-row">
- <label for="form-scraper-rules">
- {{ t "form.feed.label.scraper_rules" }}
- </label>
- &nbsp;
- <a href="https://miniflux.app/docs/rules.html#scraper-rules" target="_blank">
- {{ icon "external-link" }}
- </a>
- </div>
- <input type="text" name="scraper_rules" id="form-scraper-rules" value="{{ .form.ScraperRules }}" spellcheck="false">
-
- <div class="form-label-row">
- <label for="form-rewrite-rules">
- {{ t "form.feed.label.rewrite_rules" }}
- </label>
- &nbsp;
- <a href="https://miniflux.app/docs/rules.html#rewrite-rules" target="_blank">
- {{ icon "external-link" }}
- </a>
- </div>
- <input type="text" name="rewrite_rules" id="form-rewrite-rules" value="{{ .form.RewriteRules }}" spellcheck="false">
- <div class="form-label-row">
- <label for="form-blocklist-rules">
- {{ t "form.feed.label.blocklist_rules" }}
- </label>
- &nbsp;
- <a href=" https://miniflux.app/docs/rules.html#filtering-rules" target="_blank">
- {{ icon "external-link" }}
- </a>
- </div>
- <input type="text" name="blocklist_rules" id="form-blocklist-rules" value="{{ .form.BlocklistRules }}" spellcheck="false">
-
- <div class="form-label-row">
- <label for="form-keeplist-rules">
- {{ t "form.feed.label.keeplist_rules" }}
- </label>
- &nbsp;
- <a href=" https://miniflux.app/docs/rules.html#filtering-rules" target="_blank">
- {{ icon "external-link" }}
- </a>
- </div>
- <input type="text" name="keeplist_rules" id="form-keeplist-rules" value="{{ .form.KeeplistRules }}" spellcheck="false">
-
- <div class="form-label-row">
- <label for="form-urlrewrite-rules">
- {{ t "form.feed.label.urlrewrite_rules" }}
- </label>
- &nbsp;
- <a href=" https://miniflux.app/docs/rules.html#rewriteurl-rules" target="_blank">
- {{ icon "external-link" }}
- </a>
- </div>
- <input type="text" name="urlrewrite_rules" id="form-urlrewrite-rules" value="{{ .form.UrlRewriteRules }}" spellcheck="false">
-
- <div class="form-label-row">
- <label for="form-apprise-service-urls">
- {{ t "form.feed.label.apprise_service_urls" }}
- </label>
- &nbsp;
- </div>
- <input type="text" name="apprise_service_urls" id="form-apprise-service-urls" value="{{ .form.AppriseServiceURLs }}" spellcheck="false">
-
- <label><input type="checkbox" name="crawler" value="1" {{ if .form.Crawler }}checked{{ end }}> {{ t "form.feed.label.crawler" }}</label>
- <label><input type="checkbox" name="ignore_http_cache" value="1" {{ if .form.IgnoreHTTPCache }}checked{{ end }}> {{ t "form.feed.label.ignore_http_cache" }}</label>
- <label><input type="checkbox" name="allow_self_signed_certificates" value="1" {{ if .form.AllowSelfSignedCertificates }}checked{{ end }}> {{ t "form.feed.label.allow_self_signed_certificates" }}</label>
- {{ if .hasProxyConfigured }}
- <label><input type="checkbox" name="fetch_via_proxy" value="1" {{ if .form.FetchViaProxy }}checked{{ end }}> {{ t "form.feed.label.fetch_via_proxy" }}</label>
- {{ end }}
- <label><input type="checkbox" name="disabled" value="1" {{ if .form.Disabled }}checked{{ end }}> {{ t "form.feed.label.disabled" }}</label>
-
- <label><input type="checkbox" name="no_media_player" {{ if .form.NoMediaPlayer }}checked{{ end }} value="1" > {{ t "form.feed.label.no_media_player" }} </label>
-
- {{ if not .form.CategoryHidden }}
- <label><input type="checkbox" name="hide_globally" value="1"{{ if .form.HideGlobally }} checked{{ end }}> {{ t "form.feed.label.hide_globally" }}</label>
- {{ end }}
-
- <div class="buttons">
- <button type="submit" class="button button-primary" data-label-loading="{{ t "form.submit.saving" }}">{{ t "action.update" }}</button> {{ t "action.or" }} <a href="{{ route "feeds" }}">{{ t "action.cancel" }}</a>
- </div>
+ <fieldset>
+ <legend>{{ t "form.feed.fieldset.general" }}</legend>
+
+ <label for="form-category">{{ t "form.feed.label.category" }}</label>
+ <select id="form-category" name="category_id" autofocus>
+ {{ range .categories }}
+ <option value="{{ .ID }}" {{ if eq .ID $.form.CategoryID }}selected="selected"{{ end }}>{{ .Title }}</option>
+ {{ end }}
+ </select>
+
+ <label for="form-title">{{ t "form.feed.label.title" }}</label>
+ <input type="text" name="title" id="form-title" value="{{ .form.Title }}" spellcheck="false" required>
+
+ <label for="form-site-url">{{ t "form.feed.label.site_url" }}</label>
+ <input type="url" name="site_url" id="form-site-url" placeholder="https://domain.tld/" value="{{ .form.SiteURL }}" spellcheck="false" required>
+
+ <label for="form-feed-url">{{ t "form.feed.label.feed_url" }}</label>
+ <input type="url" name="feed_url" id="form-feed-url" placeholder="https://domain.tld/" value="{{ .form.FeedURL }}" spellcheck="false" required>
+
+ {{ if not .form.CategoryHidden }}
+ <label><input type="checkbox" name="hide_globally" value="1"{{ if .form.HideGlobally }} checked{{ end }}> {{ t "form.feed.label.hide_globally" }}</label>
+ {{ end }}
+
+ <label><input type="checkbox" name="no_media_player" {{ if .form.NoMediaPlayer }}checked{{ end }} value="1" > {{ t "form.feed.label.no_media_player" }} </label>
+ <label><input type="checkbox" name="disabled" value="1" {{ if .form.Disabled }}checked{{ end }}> {{ t "form.feed.label.disabled" }}</label>
+
+ <div class="buttons">
+ <button type="submit" class="button button-primary" data-label-loading="{{ t "form.submit.saving" }}">{{ t "action.update" }}</button>
+ </div>
+ </fieldset>
+
+ <fieldset>
+ <legend>{{ t "form.feed.fieldset.network_settings" }}</legend>
+
+ <label for="form-feed-username">{{ t "form.feed.label.feed_username" }}</label>
+ <input type="text" name="feed_username" id="form-feed-username" value="{{ .form.Username }}" spellcheck="false">
+
+ <label for="form-feed-password">{{ t "form.feed.label.feed_password" }}</label>
+ <!--
+ We are using the type "text" otherwise Firefox always autocomplete this password:
+
+ - autocomplete="off" or autocomplete="new-password" doesn't change anything
+ - Changing the input ID doesn't change anything
+ - Using a different input name doesn't change anything
+ -->
+ <input type="text" name="feed_password" id="form-feed-password" value="{{ .form.Password }}" spellcheck="false">
+
+ <label for="form-user-agent">{{ t "form.feed.label.user_agent" }}</label>
+ <input type="text" name="user_agent" id="form-user-agent" placeholder="{{ .defaultUserAgent }}" value="{{ .form.UserAgent }}" spellcheck="false">
+
+ <label for="form-cookie">{{ t "form.feed.label.cookie" }}</label>
+ <input type="text" name="cookie" id="form-cookie" value="{{ .form.Cookie }}" spellcheck="false">
+
+ <label><input type="checkbox" name="crawler" value="1" {{ if .form.Crawler }}checked{{ end }}> {{ t "form.feed.label.crawler" }}</label>
+ <label><input type="checkbox" name="ignore_http_cache" value="1" {{ if .form.IgnoreHTTPCache }}checked{{ end }}> {{ t "form.feed.label.ignore_http_cache" }}</label>
+ <label><input type="checkbox" name="allow_self_signed_certificates" value="1" {{ if .form.AllowSelfSignedCertificates }}checked{{ end }}> {{ t "form.feed.label.allow_self_signed_certificates" }}</label>
+ {{ if .hasProxyConfigured }}
+ <label><input type="checkbox" name="fetch_via_proxy" value="1" {{ if .form.FetchViaProxy }}checked{{ end }}> {{ t "form.feed.label.fetch_via_proxy" }}</label>
+ {{ end }}
+
+ <div class="buttons">
+ <button type="submit" class="button button-primary" data-label-loading="{{ t "form.submit.saving" }}">{{ t "action.update" }}</button>
+ </div>
+ </fieldset>
+
+ <fieldset>
+ <legend>{{ t "form.feed.fieldset.rules" }}</legend>
+
+ <div class="form-label-row">
+ <label for="form-scraper-rules">
+ {{ t "form.feed.label.scraper_rules" }}
+ </label>
+ &nbsp;
+ <a href="https://miniflux.app/docs/rules.html#scraper-rules" target="_blank">
+ {{ icon "external-link" }}
+ </a>
+ </div>
+ <input type="text" name="scraper_rules" id="form-scraper-rules" value="{{ .form.ScraperRules }}" spellcheck="false">
+
+ <div class="form-label-row">
+ <label for="form-rewrite-rules">
+ {{ t "form.feed.label.rewrite_rules" }}
+ </label>
+ &nbsp;
+ <a href="https://miniflux.app/docs/rules.html#rewrite-rules" target="_blank">
+ {{ icon "external-link" }}
+ </a>
+ </div>
+ <input type="text" name="rewrite_rules" id="form-rewrite-rules" value="{{ .form.RewriteRules }}" spellcheck="false">
+ <div class="form-label-row">
+ <label for="form-blocklist-rules">
+ {{ t "form.feed.label.blocklist_rules" }}
+ </label>
+ &nbsp;
+ <a href=" https://miniflux.app/docs/rules.html#filtering-rules" target="_blank">
+ {{ icon "external-link" }}
+ </a>
+ </div>
+ <input type="text" name="blocklist_rules" id="form-blocklist-rules" value="{{ .form.BlocklistRules }}" spellcheck="false">
+
+ <div class="form-label-row">
+ <label for="form-keeplist-rules">
+ {{ t "form.feed.label.keeplist_rules" }}
+ </label>
+ &nbsp;
+ <a href=" https://miniflux.app/docs/rules.html#filtering-rules" target="_blank">
+ {{ icon "external-link" }}
+ </a>
+ </div>
+ <input type="text" name="keeplist_rules" id="form-keeplist-rules" value="{{ .form.KeeplistRules }}" spellcheck="false">
+
+ <div class="form-label-row">
+ <label for="form-urlrewrite-rules">
+ {{ t "form.feed.label.urlrewrite_rules" }}
+ </label>
+ &nbsp;
+ <a href=" https://miniflux.app/docs/rules.html#rewriteurl-rules" target="_blank">
+ {{ icon "external-link" }}
+ </a>
+ </div>
+ <input type="text" name="urlrewrite_rules" id="form-urlrewrite-rules" value="{{ .form.UrlRewriteRules }}" spellcheck="false">
+
+ <div class="buttons">
+ <button type="submit" class="button button-primary" data-label-loading="{{ t "form.submit.saving" }}">{{ t "action.update" }}</button>
+ </div>
+ </fieldset>
+
+ <fieldset>
+ <legend>{{ t "form.feed.fieldset.integration" }}</legend>
+
+ <div class="form-label-row">
+ <label for="form-apprise-service-urls">
+ {{ t "form.feed.label.apprise_service_urls" }}
+ </label>
+ &nbsp;
+ </div>
+ <input type="text" name="apprise_service_urls" id="form-apprise-service-urls" value="{{ .form.AppriseServiceURLs }}" spellcheck="false">
+
+ <div class="buttons">
+ <button type="submit" class="button button-primary" data-label-loading="{{ t "form.submit.saving" }}">{{ t "action.update" }}</button>
+ </div>
+ </fieldset>
</form>
<div class="panel">
diff --git a/internal/template/templates/views/settings.html b/internal/template/templates/views/settings.html
index ce3d0d7a..3cc4adf4 100644
--- a/internal/template/templates/views/settings.html
+++ b/internal/template/templates/views/settings.html
@@ -13,122 +13,142 @@
<div class="alert alert-error">{{ t .errorMessage }}</div>
{{ end }}
- <label for="form-username">{{ t "form.user.label.username" }}</label>
- <input type="text" name="username" id="form-username" value="{{ .form.Username }}" autocomplete="username" required>
-
- <label for="form-password">{{ t "form.user.label.password" }}</label>
- <input type="password" name="password" id="form-password" value="{{ .form.Password }}" autocomplete="new-password">
-
- <label for="form-confirmation">{{ t "form.user.label.confirmation" }}</label>
- <input type="password" name="confirmation" id="form-confirmation" value="{{ .form.Confirmation }}" autocomplete="new-password">
-
- <label for="form-language">{{ t "form.prefs.label.language" }}</label>
- <select id="form-language" name="language">
- {{ range $key, $value := .languages }}
- <option value="{{ $key }}" {{ if eq $key $.form.Language }}selected="selected"{{ end }}>{{ $value }}</option>
- {{ end }}
- </select>
-
- <label for="form-timezone">{{ t "form.prefs.label.timezone" }}</label>
- <select id="form-timezone" name="timezone">
- {{ range $key, $value := .timezones }}
- <option value="{{ $key }}" {{ if eq $key $.form.Timezone }}selected="selected"{{ end }}>{{ $value }}</option>
- {{ end }}
- </select>
-
- <label for="form-theme">{{ t "form.prefs.label.theme" }}</label>
- <select id="form-theme" name="theme">
- {{ range $key, $value := .themes }}
- <option value="{{ $key }}" {{ if eq $key $.form.Theme }}selected="selected"{{ end }}>{{ $value }}</option>
- {{ end }}
- </select>
-
- <div class="form-label-row">
- <label for="form-display-mode">{{ t "form.prefs.label.display_mode" }}</label>
- &nbsp;
- <a href="https://developer.mozilla.org/en-US/docs/Web/Manifest/display" target="_blank">
- {{ icon "external-link" }}
- </a>
- </div>
- <select id="form-display-mode" name="display_mode">
- <option value="fullscreen" {{ if eq "fullscreen" $.form.DisplayMode }}selected="selected"{{ end }}>{{ t "form.prefs.select.fullscreen" }}</option>
- <option value="standalone" {{ if eq "standalone" $.form.DisplayMode }}selected="selected"{{ end }}>{{ t "form.prefs.select.standalone" }}</option>
- <option value="minimal-ui" {{ if eq "minimal-ui" $.form.DisplayMode }}selected="selected"{{ end }}>{{ t "form.prefs.select.minimal_ui" }}</option>
- <option value="browser" {{ if eq "browser" $.form.DisplayMode }}selected="selected"{{ end }}>{{ t "form.prefs.select.browser" }}</option>
- </select>
-
- <label for="form-entry-direction">{{ t "form.prefs.label.entry_sorting" }}</label>
- <select id="form-entry-direction" name="entry_direction">
- <option value="asc" {{ if eq "asc" $.form.EntryDirection }}selected="selected"{{ end }}>{{ t "form.prefs.select.older_first" }}</option>
- <option value="desc" {{ if eq "desc" $.form.EntryDirection }}selected="selected"{{ end }}>{{ t "form.prefs.select.recent_first" }}</option>
- </select>
-
- <label for="form-entry-order">{{ t "form.prefs.label.entry_order" }}</label>
- <select id="form-entry-order" name="entry_order">
- <option value="published_at" {{ if eq "published_at" $.form.EntryOrder }}selected="selected"{{ end }}>{{ t "form.prefs.select.publish_time" }}</option>
- <option value="created_at" {{ if eq "created_at" $.form.EntryOrder }}selected="selected"{{ end }}>{{ t "form.prefs.select.created_time" }}</option>
- </select>
-
- <label for="form-default-home-page">{{ t "form.prefs.label.default_home_page" }}</label>
- <select id="form-default-home-page" name="default_home_page">
- {{ range $key, $value := .default_home_pages }}
- <option value="{{ $key }}" {{ if eq $key $.form.DefaultHomePage }}selected="selected"{{ end }}>{{ t $value }}</option>
- {{ end }}
- </select>
-
- <label for="form-categories-sorting-order">{{ t "form.prefs.label.categories_sorting_order" }}</label>
- <select id="form-categories-sorting-order" name="categories_sorting_order">
- {{ range $key, $value := .categories_sorting_options }}
- <option value="{{ $key }}" {{ if eq $key $.form.CategoriesSortingOrder }}selected="selected"{{ end }}>{{ t $value }}</option>
- {{ end }}
- </select>
-
- <label for="form-entries-per-page">{{ t "form.prefs.label.entries_per_page" }}</label>
- <input type="number" name="entries_per_page" id="form-entries-per-page" value="{{ .form.EntriesPerPage }}" min="1">
-
- <label><input type="checkbox" name="keyboard_shortcuts" value="1" {{ if .form.KeyboardShortcuts }}checked{{ end }}> {{ t "form.prefs.label.keyboard_shortcuts" }}</label>
-
- <label><input type="checkbox" name="entry_swipe" value="1" {{ if .form.EntrySwipe }}checked{{ end }}> {{ t "form.prefs.label.entry_swipe" }}</label>
-
- <label for="form-gesture-nav">{{ t "form.prefs.label.gesture_nav" }}</label>
- <select id="form-gesture-nav" name="gesture_nav">
- <option value="none" {{ if eq "none" $.form.GestureNav }}selected="selected"{{ end }}>{{ t "form.prefs.select.none" }}</option>
- <option value="tap" {{ if eq "tap" $.form.GestureNav }}selected="selected"{{ end }}>{{ t "form.prefs.select.tap" }}</option>
- <option value="swipe" {{ if eq "swipe" $.form.GestureNav }}selected="selected"{{ end }}>{{ t "form.prefs.select.swipe" }}</option>
- </select>
-
- <label><input type="checkbox" name="show_reading_time" value="1" {{ if .form.ShowReadingTime }}checked{{ end }}> {{ t "form.prefs.label.show_reading_time" }}</label>
-
- <label><input type="checkbox" name="mark_read_on_view" value="1" {{ if .form.MarkReadOnView }}checked{{ end }}> {{ t "form.prefs.label.mark_read_on_view" }}</label>
-
- <label for="form-cjk-reading-speed">{{ t "form.prefs.label.cjk_reading_speed" }}</label>
- <input type="number" name="cjk_reading_speed" id="form-cjk-reading-speed" value="{{ .form.CJKReadingSpeed }}" min="1">
-
- <label for="form-default-reading-speed">{{ t "form.prefs.label.default_reading_speed" }}</label>
- <input type="number" name="default_reading_speed" id="form-default-reading-speed" value="{{ .form.DefaultReadingSpeed }}" min="1">
-
- <label>{{t "form.prefs.label.custom_css" }}</label><textarea name="custom_css" cols="40" rows="8" spellcheck="false">{{ .form.CustomCSS }}</textarea>
- <div class="buttons">
- <button type="submit" class="button button-primary" data-label-loading="{{ t "form.submit.saving" }}">{{ t "action.update" }}</button>
- </div>
+ <fieldset>
+ <legend>{{ t "form.prefs.fieldset.authentication_settings" }}</legend>
+
+ <label for="form-username">{{ t "form.user.label.username" }}</label>
+ <input type="text" name="username" id="form-username" value="{{ .form.Username }}" autocomplete="username" required>
+
+ <label for="form-password">{{ t "form.user.label.password" }}</label>
+ <input type="password" name="password" id="form-password" value="{{ .form.Password }}" autocomplete="new-password">
+
+ <label for="form-confirmation">{{ t "form.user.label.confirmation" }}</label>
+ <input type="password" name="confirmation" id="form-confirmation" value="{{ .form.Confirmation }}" autocomplete="new-password">
+
+ {{ if hasOAuth2Provider "google" }}
+ <div class="panel">
+ {{ if .user.GoogleID }}
+ <a href="{{ route "oauth2Unlink" "provider" "google" }}">{{ t "page.settings.unlink_google_account" }}</a>
+ {{ else }}
+ <a href="{{ route "oauth2Redirect" "provider" "google" }}">{{ t "page.settings.link_google_account" }}</a>
+ {{ end }}
+ </div>
+ {{ else if hasOAuth2Provider "oidc" }}
+ <div class="panel">
+ {{ if .user.OpenIDConnectID }}
+ <a href="{{ route "oauth2Unlink" "provider" "oidc" }}">{{ t "page.settings.unlink_oidc_account" }}</a>
+ {{ else }}
+ <a href="{{ route "oauth2Redirect" "provider" "oidc" }}">{{ t "page.settings.link_oidc_account" }}</a>
+ {{ end }}
+ </div>
+ {{ end }}
+
+ <div class="buttons">
+ <button type="submit" class="button button-primary" data-label-loading="{{ t "form.submit.saving" }}">{{ t "action.update" }}</button>
+ </div>
+ </fieldset>
+
+ <fieldset>
+ <legend>{{ t "form.prefs.fieldset.reader_settings" }}</legend>
+
+ <label for="form-cjk-reading-speed">{{ t "form.prefs.label.cjk_reading_speed" }}</label>
+ <input type="number" name="cjk_reading_speed" id="form-cjk-reading-speed" value="{{ .form.CJKReadingSpeed }}" min="1">
+
+ <label for="form-default-reading-speed">{{ t "form.prefs.label.default_reading_speed" }}</label>
+ <input type="number" name="default_reading_speed" id="form-default-reading-speed" value="{{ .form.DefaultReadingSpeed }}" min="1">
+
+ <label><input type="checkbox" name="show_reading_time" value="1" {{ if .form.ShowReadingTime }}checked{{ end }}> {{ t "form.prefs.label.show_reading_time" }}</label>
+
+ <label><input type="checkbox" name="mark_read_on_view" value="1" {{ if .form.MarkReadOnView }}checked{{ end }}> {{ t "form.prefs.label.mark_read_on_view" }}</label>
+
+ <div class="buttons">
+ <button type="submit" class="button button-primary" data-label-loading="{{ t "form.submit.saving" }}">{{ t "action.update" }}</button>
+ </div>
+ </fieldset>
+
+ <fieldset>
+ <legend>{{ t "form.prefs.fieldset.application_settings" }}</legend>
+
+ <label for="form-language">{{ t "form.prefs.label.language" }}</label>
+ <select id="form-language" name="language">
+ {{ range $key, $value := .languages }}
+ <option value="{{ $key }}" {{ if eq $key $.form.Language }}selected="selected"{{ end }}>{{ $value }}</option>
+ {{ end }}
+ </select>
+
+ <label for="form-timezone">{{ t "form.prefs.label.timezone" }}</label>
+ <select id="form-timezone" name="timezone">
+ {{ range $key, $value := .timezones }}
+ <option value="{{ $key }}" {{ if eq $key $.form.Timezone }}selected="selected"{{ end }}>{{ $value }}</option>
+ {{ end }}
+ </select>
+
+ <label for="form-theme">{{ t "form.prefs.label.theme" }}</label>
+ <select id="form-theme" name="theme">
+ {{ range $key, $value := .themes }}
+ <option value="{{ $key }}" {{ if eq $key $.form.Theme }}selected="selected"{{ end }}>{{ $value }}</option>
+ {{ end }}
+ </select>
+
+ <div class="form-label-row">
+ <label for="form-display-mode">{{ t "form.prefs.label.display_mode" }}</label>
+ &nbsp;
+ <a href="https://developer.mozilla.org/en-US/docs/Web/Manifest/display" target="_blank">
+ {{ icon "external-link" }}
+ </a>
+ </div>
+ <select id="form-display-mode" name="display_mode">
+ <option value="fullscreen" {{ if eq "fullscreen" $.form.DisplayMode }}selected="selected"{{ end }}>{{ t "form.prefs.select.fullscreen" }}</option>
+ <option value="standalone" {{ if eq "standalone" $.form.DisplayMode }}selected="selected"{{ end }}>{{ t "form.prefs.select.standalone" }}</option>
+ <option value="minimal-ui" {{ if eq "minimal-ui" $.form.DisplayMode }}selected="selected"{{ end }}>{{ t "form.prefs.select.minimal_ui" }}</option>
+ <option value="browser" {{ if eq "browser" $.form.DisplayMode }}selected="selected"{{ end }}>{{ t "form.prefs.select.browser" }}</option>
+ </select>
+
+ <label for="form-default-home-page">{{ t "form.prefs.label.default_home_page" }}</label>
+ <select id="form-default-home-page" name="default_home_page">
+ {{ range $key, $value := .default_home_pages }}
+ <option value="{{ $key }}" {{ if eq $key $.form.DefaultHomePage }}selected="selected"{{ end }}>{{ t $value }}</option>
+ {{ end }}
+ </select>
+
+ <label for="form-entry-direction">{{ t "form.prefs.label.entry_sorting" }}</label>
+ <select id="form-entry-direction" name="entry_direction">
+ <option value="asc" {{ if eq "asc" $.form.EntryDirection }}selected="selected"{{ end }}>{{ t "form.prefs.select.older_first" }}</option>
+ <option value="desc" {{ if eq "desc" $.form.EntryDirection }}selected="selected"{{ end }}>{{ t "form.prefs.select.recent_first" }}</option>
+ </select>
+
+ <label for="form-entry-order">{{ t "form.prefs.label.entry_order" }}</label>
+ <select id="form-entry-order" name="entry_order">
+ <option value="published_at" {{ if eq "published_at" $.form.EntryOrder }}selected="selected"{{ end }}>{{ t "form.prefs.select.publish_time" }}</option>
+ <option value="created_at" {{ if eq "created_at" $.form.EntryOrder }}selected="selected"{{ end }}>{{ t "form.prefs.select.created_time" }}</option>
+ </select>
+
+ <label for="form-categories-sorting-order">{{ t "form.prefs.label.categories_sorting_order" }}</label>
+ <select id="form-categories-sorting-order" name="categories_sorting_order">
+ {{ range $key, $value := .categories_sorting_options }}
+ <option value="{{ $key }}" {{ if eq $key $.form.CategoriesSortingOrder }}selected="selected"{{ end }}>{{ t $value }}</option>
+ {{ end }}
+ </select>
+
+ <label for="form-gesture-nav">{{ t "form.prefs.label.gesture_nav" }}</label>
+ <select id="form-gesture-nav" name="gesture_nav">
+ <option value="none" {{ if eq "none" $.form.GestureNav }}selected="selected"{{ end }}>{{ t "form.prefs.select.none" }}</option>
+ <option value="tap" {{ if eq "tap" $.form.GestureNav }}selected="selected"{{ end }}>{{ t "form.prefs.select.tap" }}</option>
+ <option value="swipe" {{ if eq "swipe" $.form.GestureNav }}selected="selected"{{ end }}>{{ t "form.prefs.select.swipe" }}</option>
+ </select>
+
+ <label for="form-entries-per-page">{{ t "form.prefs.label.entries_per_page" }}</label>
+ <input type="number" name="entries_per_page" id="form-entries-per-page" value="{{ .form.EntriesPerPage }}" min="1">
+
+ <label><input type="checkbox" name="keyboard_shortcuts" value="1" {{ if .form.KeyboardShortcuts }}checked{{ end }}> {{ t "form.prefs.label.keyboard_shortcuts" }}</label>
+
+ <label><input type="checkbox" name="entry_swipe" value="1" {{ if .form.EntrySwipe }}checked{{ end }}> {{ t "form.prefs.label.entry_swipe" }}</label>
+
+ <label>{{t "form.prefs.label.custom_css" }}</label><textarea name="custom_css" cols="40" rows="8" spellcheck="false">{{ .form.CustomCSS }}</textarea>
+ <div class="buttons">
+ <button type="submit" class="button button-primary" data-label-loading="{{ t "form.submit.saving" }}">{{ t "action.update" }}</button>
+ </div>
+ </fieldset>
</form>
-{{ if hasOAuth2Provider "google" }}
-<div class="panel">
- {{ if .user.GoogleID }}
- <a href="{{ route "oauth2Unlink" "provider" "google" }}">{{ t "page.settings.unlink_google_account" }}</a>
- {{ else }}
- <a href="{{ route "oauth2Redirect" "provider" "google" }}">{{ t "page.settings.link_google_account" }}</a>
- {{ end }}
-</div>
-{{ else if hasOAuth2Provider "oidc" }}
-<div class="panel">
- {{ if .user.OpenIDConnectID }}
- <a href="{{ route "oauth2Unlink" "provider" "oidc" }}">{{ t "page.settings.unlink_oidc_account" }}</a>
- {{ else }}
- <a href="{{ route "oauth2Redirect" "provider" "oidc" }}">{{ t "page.settings.link_oidc_account" }}</a>
- {{ end }}
-</div>
-{{ end }}
-
{{ end }}
diff --git a/internal/ui/static/css/common.css b/internal/ui/static/css/common.css
index 3226045d..4775b739 100644
--- a/internal/ui/static/css/common.css
+++ b/internal/ui/static/css/common.css
@@ -321,8 +321,9 @@ tr:hover {
/* Forms */
fieldset {
- border: 1px solid #ddd;
+ border: 1px dotted #ddd;
padding: 8px;
+ margin-bottom: 20px;
}
legend {
@@ -486,6 +487,10 @@ a.button-primary:focus,
margin-bottom: 20px;
}
+fieldset .buttons {
+ margin-bottom: 0;
+}
+
/* Alerts */
.alert {
padding: 8px 35px 8px 14px;