diff --git a/cli/cli.go b/cli/cli.go index 25b36a0c..0607bd87 100644 --- a/cli/cli.go +++ b/cli/cli.go @@ -10,6 +10,7 @@ import ( "miniflux.app/config" "miniflux.app/database" + "miniflux.app/locale" "miniflux.app/logger" "miniflux.app/storage" "miniflux.app/version" @@ -100,6 +101,11 @@ func Parse() { logger.Info("The default value for DATABASE_URL is used") } + logger.Debug("Loading translations...") + if err := locale.LoadCatalogMessages(); err != nil { + logger.Fatal("Unable to load translations: %v", err) + } + db, err := database.NewConnectionPool( config.Opts.DatabaseURL(), config.Opts.DatabaseMinConns(), diff --git a/generate.go b/generate.go index 4a5ce19c..a6b3c04f 100644 --- a/generate.go +++ b/generate.go @@ -216,5 +216,4 @@ func main() { generateBundle("template/views.go", "template", "templateViewsMap", glob("template/html/*.html")) generateBundle("template/common.go", "template", "templateCommonMap", glob("template/html/common/*.html")) - generateBundle("locale/translations.go", "locale", "translations", glob("locale/translations/*.json")) } diff --git a/locale/catalog.go b/locale/catalog.go index 926298cb..60a47dcd 100644 --- a/locale/catalog.go +++ b/locale/catalog.go @@ -5,6 +5,7 @@ package locale // import "miniflux.app/locale" import ( + "embed" "encoding/json" "fmt" ) @@ -14,23 +15,41 @@ type catalog map[string]translationDict var defaultCatalog catalog -func init() { +//go:embed translations/*.json +var translationFiles embed.FS + +// LoadCatalogMessages loads and parses all translations encoded in JSON. +func LoadCatalogMessages() error { + var err error defaultCatalog = make(catalog) - for language, data := range translations { - messages, err := parseTranslationDict(data) + for language := range AvailableLanguages() { + defaultCatalog[language], err = loadTranslationFile(language) if err != nil { - panic(err) + return err } - - defaultCatalog[language] = messages } + return nil } -func parseTranslationDict(data string) (translationDict, error) { - var translations translationDict - if err := json.Unmarshal([]byte(data), &translations); err != nil { - return nil, fmt.Errorf("invalid translation file: %v", err) +func loadTranslationFile(language string) (translationDict, error) { + translationFileData, err := translationFiles.ReadFile(fmt.Sprintf("translations/%s.json", language)) + if err != nil { + return nil, err } - return translations, nil + + translationMessages, err := parseTranslationMessages(translationFileData) + if err != nil { + return nil, err + } + + return translationMessages, nil +} + +func parseTranslationMessages(data []byte) (translationDict, error) { + var translationMessages translationDict + if err := json.Unmarshal(data, &translationMessages); err != nil { + return nil, fmt.Errorf(`invalid translation file: %w`, err) + } + return translationMessages, nil } diff --git a/locale/catalog_test.go b/locale/catalog_test.go index 0be99952..35232fcd 100644 --- a/locale/catalog_test.go +++ b/locale/catalog_test.go @@ -7,14 +7,14 @@ package locale // import "miniflux.app/locale" import "testing" func TestParserWithInvalidData(t *testing.T) { - _, err := parseTranslationDict(`{`) + _, err := parseTranslationMessages([]byte(`{`)) if err == nil { t.Fatal(`An error should be returned when parsing invalid data`) } } func TestParser(t *testing.T) { - translations, err := parseTranslationDict(`{"k": "v"}`) + translations, err := parseTranslationMessages([]byte(`{"k": "v"}`)) if err != nil { t.Fatalf(`Unexpected parsing error: %v`, err) } @@ -32,3 +32,60 @@ func TestParser(t *testing.T) { t.Fatal(`The translation key should contains the defined value`) } } + +func TestLoadCatalog(t *testing.T) { + if err := LoadCatalogMessages(); err != nil { + t.Fatal(err) + } +} + +func TestAllKeysHaveValue(t *testing.T) { + for language := range AvailableLanguages() { + messages, err := loadTranslationFile(language) + if err != nil { + t.Fatalf(`Unable to load translation messages for language %q`, language) + } + + if len(messages) == 0 { + t.Fatalf(`The language %q doesn't have any messages`, language) + } + + for k, v := range messages { + switch value := v.(type) { + case string: + if value == "" { + t.Errorf(`The key %q for the language %q have an empty string as value`, k, language) + } + case []string: + if len(value) == 0 { + t.Errorf(`The key %q for the language %q have an empty list as value`, k, language) + } + } + } + } +} + +func TestMissingTranslations(t *testing.T) { + refLang := "en_US" + references, err := loadTranslationFile(refLang) + if err != nil { + t.Fatal(`Unable to parse reference language`) + } + + for language := range AvailableLanguages() { + if language == refLang { + continue + } + + messages, err := loadTranslationFile(language) + if err != nil { + t.Fatalf(`Parsing error for language %q`, language) + } + + for key := range references { + if _, found := messages[key]; !found { + t.Fatalf(`Translation key %q not found in language %q`, key, language) + } + } + } +} diff --git a/locale/plural_test.go b/locale/plural_test.go index e7694bd4..4cd9accc 100644 --- a/locale/plural_test.go +++ b/locale/plural_test.go @@ -8,12 +8,12 @@ import "testing" func TestPluralRules(t *testing.T) { scenarios := map[string]map[int]int{ - "default": map[int]int{ + "default": { 1: 0, 2: 1, 5: 1, }, - "ar_AR": map[int]int{ + "ar_AR": { 0: 0, 1: 1, 2: 2, @@ -21,32 +21,32 @@ func TestPluralRules(t *testing.T) { 11: 4, 200: 5, }, - "cs_CZ": map[int]int{ + "cs_CZ": { 1: 0, 2: 1, 5: 2, }, - "pl_PL": map[int]int{ + "pl_PL": { 1: 0, 2: 1, 5: 2, }, - "pt_BR": map[int]int{ + "pt_BR": { 1: 0, 2: 1, 5: 1, }, - "ru_RU": map[int]int{ + "ru_RU": { 1: 0, 2: 1, 5: 2, }, - "sr_RS": map[int]int{ + "sr_RS": { 1: 0, 2: 1, 5: 2, }, - "zh_CN": map[int]int{ + "zh_CN": { 1: 0, 5: 0, }, diff --git a/locale/translations.go b/locale/translations.go deleted file mode 100644 index 8970bcb5..00000000 --- a/locale/translations.go +++ /dev/null @@ -1,3907 +0,0 @@ -// Code generated by go generate; DO NOT EDIT. - -package locale // import "miniflux.app/locale" - -var translations = map[string]string{ - "de_DE": `{ - "confirm.question": "Sind Sie sicher?", - "confirm.yes": "ja", - "confirm.no": "nein", - "confirm.loading": "In Arbeit...", - "action.subscribe": "Abonnieren", - "action.save": "Speichern", - "action.or": "oder", - "action.cancel": "abbrechen", - "action.remove": "Entfernen", - "action.remove_feed": "Dieses Abonnement entfernen", - "action.update": "Aktualisieren", - "action.edit": "Bearbeiten", - "action.download": "Herunterladen", - "action.import": "Importieren", - "action.login": "Anmelden", - "action.home_screen": "Zum Startbildschirm hinzufügen", - "tooltip.keyboard_shortcuts": "Tastenkürzel: %s", - "tooltip.logged_user": "Angemeldet als %s", - "menu.unread": "Ungelesen", - "menu.starred": "Lesezeichen", - "menu.history": "Verlauf", - "menu.feeds": "Abonnements", - "menu.categories": "Kategorien", - "menu.settings": "Einstellungen", - "menu.logout": "Abmelden", - "menu.preferences": "Einstellungen", - "menu.integrations": "Dienste", - "menu.sessions": "Sitzungen", - "menu.users": "Benutzer", - "menu.about": "Über", - "menu.export": "Exportieren", - "menu.import": "Importieren", - "menu.create_category": "Kategorie anlegen", - "menu.mark_page_as_read": "Diese Seite als gelesen markieren", - "menu.mark_all_as_read": "Alle als gelesen markieren", - "menu.show_all_entries": "Zeige alle Artikel", - "menu.show_only_unread_entries": "Nur ungelesene Artikel anzeigen", - "menu.refresh_feed": "Aktualisieren", - "menu.refresh_all_feeds": "Alle Abonnements im Hintergrund aktualisieren", - "menu.edit_feed": "Bearbeiten", - "menu.edit_category": "Bearbeiten", - "menu.add_feed": "Abonnement hinzufügen", - "menu.add_user": "Benutzer anlegen", - "menu.flush_history": "Verlauf leeren", - "menu.feed_entries": "Artikel", - "menu.api_keys": "API-Schlüssel", - "menu.create_api_key": "Erstellen Sie einen neuen API-Schlüssel", - "menu.shared_entries": "Geteilte Artikel", - "search.label": "Suche", - "search.placeholder": "Suche...", - "pagination.next": "Nächste", - "pagination.previous": "Vorherige", - "entry.status.unread": "Ungelesen", - "entry.status.read": "Gelesen", - "entry.status.toast.unread": "Als ungelesen markiert", - "entry.status.toast.read": "Als gelesen markiert", - "entry.status.title": "Status des Artikels ändern", - "entry.bookmark.toggle.on": "Lesezeichen hinzufügen", - "entry.bookmark.toggle.off": "Lesezeichen entfernen", - "entry.bookmark.toast.on": "Markiert", - "entry.bookmark.toast.off": "Nicht markiert", - "entry.state.saving": "Speichern...", - "entry.state.loading": "Lade...", - "entry.save.label": "Speichern", - "entry.save.title": "Diesen Artikel speichern", - "entry.save.completed": "Erledigt!", - "entry.save.toast.completed": "Artikel gespeichert", - "entry.scraper.label": "Herunterladen", - "entry.scraper.title": "Inhalt herunterladen", - "entry.scraper.completed": "Erledigt!", - "entry.external_link.label": "Externer Link", - "entry.comments.label": "Kommentare", - "entry.comments.title": "Kommentare anzeigen", - "entry.share.label": "Teilen", - "entry.share.title": "Diesen Artikel teilen", - "entry.unshare.label": "Nicht teilen", - "entry.shared_entry.title": "Öffnen Sie den öffentlichen Link", - "entry.shared_entry.label": "Teilen", - "entry.estimated_reading_time": [ - "%d Minute zu lesen", - "%d Minuten zu lesen" - ], - "page.shared_entries.title": "Geteilte Artikel", - "page.unread.title": "Ungelesen", - "page.starred.title": "Lesezeichen", - "page.categories.title": "Kategorien", - "page.categories.no_feed": "Kein Abonnement.", - "page.categories.entries": "Artikel", - "page.categories.feeds": "Abonnements", - "page.categories.feed_count": [ - "Es gibt %d Abonnement.", - "Es gibt %d Abonnements." - ], - "page.new_category.title": "Neue Kategorie", - "page.new_user.title": "Neuer Benutzer", - "page.edit_category.title": "Kategorie bearbeiten: %s", - "page.edit_user.title": "Benutzer bearbeiten: %s", - "page.feeds.title": "Abonnements", - "page.feeds.last_check": "Letzte Aktualisierung:", - "page.feeds.unread_counter": "Anzahl der ungelesenen Artikel", - "page.feeds.read_counter": "Anzahl der gelesenen Artikel", - "page.feeds.error_count": [ - "%d Fehler", - "%d Fehler" - ], - "page.history.title": "Verlauf", - "page.import.title": "Importieren", - "page.search.title": "Suchergebnisse", - "page.about.title": "Über", - "page.about.credits": "Urheberrechte", - "page.about.version": "Version:", - "page.about.build_date": "Datum der Kompilierung:", - "page.about.author": "Autor:", - "page.about.license": "Lizenz:", - "page.about.global_config_options": "Globale Konfigurationsoptionen", - "page.about.postgres_version": "Postgres Version:", - "page.add_feed.title": "Neues Abonnement", - "page.add_feed.no_category": "Es ist keine Kategorie vorhanden. Wenigstens eine Kategorie muss angelegt sein.", - "page.add_feed.label.url": "URL", - "page.add_feed.submit": "Abonnement suchen", - "page.add_feed.legend.advanced_options": "Erweiterte Optionen", - "page.add_feed.choose_feed": "Abonnement auswählen", - "page.edit_feed.title": "Abonnement bearbeiten: %s", - "page.edit_feed.last_check": "Letzte Aktualisierung:", - "page.edit_feed.last_modified_header": "Zuletzt geändert:", - "page.edit_feed.etag_header": "ETag-Kopfzeile:", - "page.edit_feed.no_header": "Nicht verfügbar", - "page.edit_feed.last_parsing_error": "Letzter Analysefehler", - "page.entry.attachments": "Anlagen", - "page.keyboard_shortcuts.title": "Tastenkürzel", - "page.keyboard_shortcuts.subtitle.sections": "Navigation zwischen den Menüpunkten", - "page.keyboard_shortcuts.subtitle.items": "Navigation zwischen den Artikeln", - "page.keyboard_shortcuts.subtitle.pages": "Navigation zwischen den Seiten", - "page.keyboard_shortcuts.subtitle.actions": "Aktionen", - "page.keyboard_shortcuts.go_to_unread": "Zu den ungelesenen Artikeln gehen", - "page.keyboard_shortcuts.go_to_starred": "Zu den Lesezeichen gehen", - "page.keyboard_shortcuts.go_to_history": "Zum Verlauf gehen", - "page.keyboard_shortcuts.go_to_feeds": "Zu den Abonnements gehen", - "page.keyboard_shortcuts.go_to_categories": "Zu den Kategorien gehen", - "page.keyboard_shortcuts.go_to_settings": "Zu den Einstellungen gehen", - "page.keyboard_shortcuts.show_keyboard_shortcuts": "Liste der Tastenkürzel anzeigen", - "page.keyboard_shortcuts.go_to_previous_item": "Zum vorherigen Artikel gehen", - "page.keyboard_shortcuts.go_to_next_item": "Zum nächsten Artikel gehen", - "page.keyboard_shortcuts.go_to_feed": "Zum Abonnement gehen", - "page.keyboard_shortcuts.go_to_previous_page": "Zur vorherigen Seite gehen", - "page.keyboard_shortcuts.go_to_next_page": "Zur nächsten Seite gehen", - "page.keyboard_shortcuts.open_item": "Gewählten Artikel öffnen", - "page.keyboard_shortcuts.open_original": "Original-Artikel öffnen", - "page.keyboard_shortcuts.open_original_same_window": "Öffne den Original-Link in der aktuellen Registerkarte", - "page.keyboard_shortcuts.open_comments": "Kommentare öffnen", - "page.keyboard_shortcuts.open_comments_same_window": "Öffne den Kommentare-Link in der aktuellen Registerkarte", - "page.keyboard_shortcuts.toggle_read_status": "Gewählten Artikel als gelesen/ungelesen markieren", - "page.keyboard_shortcuts.refresh_all_feeds": "Alle Abonnements im Hintergrund aktualisieren", - "page.keyboard_shortcuts.mark_page_as_read": "Aktuelle Seite als gelesen markieren", - "page.keyboard_shortcuts.download_content": "Vollständigen Inhalt herunterladen", - "page.keyboard_shortcuts.toggle_bookmark_status": "Lesezeichen hinzufügen/entfernen", - "page.keyboard_shortcuts.save_article": "Artikel speichern", - "page.keyboard_shortcuts.scroll_item_to_top": "Artikel nach oben blättern", - "page.keyboard_shortcuts.remove_feed": "Dieses Abonnement entfernen", - "page.keyboard_shortcuts.go_to_search": "Fokus auf das Suchformular setzen", - "page.keyboard_shortcuts.close_modal": "Liste der Tastenkürzel schließen", - "page.users.title": "Benutzer", - "page.users.username": "Benutzername", - "page.users.never_logged": "Niemals", - "page.users.admin.yes": "Ja", - "page.users.admin.no": "Nein", - "page.users.actions": "Aktionen", - "page.users.last_login": "Letzte Anmeldung", - "page.users.is_admin": "Administrator", - "page.settings.title": "Einstellungen", - "page.settings.link_google_account": "Google Konto verknüpfen", - "page.settings.unlink_google_account": "Google Konto Verknüpfung entfernen", - "page.settings.link_oidc_account": "OpenID Connect Konto verknüpfen", - "page.settings.unlink_oidc_account": "OpenID Connect Konto Verknüpfung entfernen", - "page.login.title": "Anmeldung", - "page.login.google_signin": "Anmeldung mit Google", - "page.login.oidc_signin": "Anmeldung mit OpenID Connect", - "page.integrations.title": "Dienste", - "page.integration.miniflux_api": "Miniflux API", - "page.integration.miniflux_api_endpoint": "API Endpunkt", - "page.integration.miniflux_api_username": "Benutzername", - "page.integration.miniflux_api_password": "Passwort", - "page.integration.miniflux_api_password_value": "Ihr Konto Passwort", - "page.integration.bookmarklet": "Bookmarklet", - "page.integration.bookmarklet.name": "Mit Miniflux abonnieren", - "page.integration.bookmarklet.instructions": "Ziehen Sie diesen Link in Ihre Lesezeichen.", - "page.integration.bookmarklet.help": "Dieser spezielle Link ermöglicht es, eine Webseite direkt über ein Lesezeichen im Browser zu abonnieren.", - "page.sessions.title": "Sitzungen", - "page.sessions.table.date": "Datum", - "page.sessions.table.ip": "IP Addresse", - "page.sessions.table.user_agent": "Benutzeragent", - "page.sessions.table.actions": "Aktionen", - "page.sessions.table.current_session": "Aktuelle Sitzung", - "page.api_keys.title": "API-Schlüssel", - "page.api_keys.table.description": "Beschreibung", - "page.api_keys.table.token": "Zeichen", - "page.api_keys.table.last_used_at": "Zuletzt verwendeten", - "page.api_keys.table.created_at": "Erstellungsdatum", - "page.api_keys.table.actions": "Aktionen", - "page.api_keys.never_used": "Nie benutzt", - "page.new_api_key.title": "Neuer API-Schlüssel", - "alert.no_shared_entry": "Es existieren derzeit keine geteilten Artikel.", - "alert.no_bookmark": "Es existiert derzeit kein Lesezeichen.", - "alert.no_category": "Es ist keine Kategorie vorhanden.", - "alert.no_category_entry": "Es befindet sich kein Artikel in dieser Kategorie.", - "alert.no_feed_entry": "Es existiert kein Artikel für dieses Abonnement.", - "alert.no_feed": "Es sind keine Abonnements vorhanden.", - "alert.no_feed_in_category": "Für diese Kategorie gibt es kein Abonnement.", - "alert.no_history": "Es existiert zur Zeit kein Verlauf.", - "alert.feed_error": "Es gibt ein Problem mit diesem Abonnement", - "alert.no_search_result": "Es gibt kein Ergebnis für diese Suche.", - "alert.no_unread_entry": "Es existiert kein ungelesener Artikel.", - "alert.no_user": "Sie sind der einzige Benutzer.", - "alert.account_unlinked": "Ihr externer Account ist jetzt getrennt!", - "alert.account_linked": "Ihr externes Konto wurde verknüpft!", - "alert.pocket_linked": "Ihr Pocket Konto ist jetzt verknüpft!", - "alert.prefs_saved": "Einstellungen gespeichert!", - "error.unlink_account_without_password": "Sie müssen ein Passwort festlegen, sonst können Sie sich nicht erneut anmelden.", - "error.duplicate_linked_account": "Es ist bereits jemand mit diesem Anbieter assoziiert!", - "error.duplicate_fever_username": "Es existiert bereits jemand mit diesem Fever Benutzernamen!", - "error.pocket_request_token": "Anfrage-Token konnte nicht von Pocket abgerufen werden!", - "error.pocket_access_token": "Zugriffstoken konnte nicht von Pocket abgerufen werden!", - "error.category_already_exists": "Diese Kategorie existiert bereits.", - "error.unable_to_create_category": "Diese Kategorie konnte nicht angelegt werden.", - "error.unable_to_update_category": "Diese Kategorie konnte nicht aktualisiert werden.", - "error.user_already_exists": "Dieser Benutzer existiert bereits.", - "error.unable_to_create_user": "Dieser Benutzer kann nicht erstellt werden.", - "error.unable_to_update_user": "Dieser Benutzer konnte nicht aktualisiert werden.", - "error.unable_to_update_feed": "Dieses Abonnement konnte nicht aktualisiert werden.", - "error.subscription_not_found": "Es wurden keine Abonnements gefunden.", - "error.empty_file": "Diese Datei ist leer.", - "error.bad_credentials": "Benutzername oder Passwort ungültig.", - "error.fields_mandatory": "Alle Felder sind obligatorisch.", - "error.title_required": "Der Titel ist obligatorisch.", - "error.different_passwords": "Passwörter stimmen nicht überein.", - "error.password_min_length": "Wenigstens 6 Zeichen müssen genutzt werden.", - "error.settings_mandatory_fields": "Die Felder für Benutzername, Thema, Sprache und Zeitzone sind obligatorisch.", - "error.entries_per_page_invalid": "Die Anzahl der Einträge pro Seite ist ungültig.", - "error.feed_mandatory_fields": "Die URL und die Kategorie sind obligatorisch.", - "error.feed_already_exists": "Dieser Feed existiert bereits.", - "error.invalid_feed_url": "Ungültige Feed-URL.", - "error.invalid_site_url": "Ungültige Site-URL.", - "error.feed_url_not_empty": "Die Feed-URL darf nicht leer sein.", - "error.site_url_not_empty": "Die Site-URL darf nicht leer sein.", - "error.feed_title_not_empty": "Der Feed-Titel darf nicht leer sein.", - "error.feed_category_not_found": "Diese Kategorie existiert nicht oder gehört nicht zu diesem Benutzer.", - "error.feed_invalid_blocklist_rule": "Die Blockierregel ist ungültig.", - "error.feed_invalid_keeplist_rule": "Die Erlaubnisregel ist ungültig.", - "error.user_mandatory_fields": "Der Benutzername ist obligatorisch.", - "error.api_key_already_exists": "Dieser API-Schlüssel ist bereits vorhanden.", - "error.unable_to_create_api_key": "Dieser API-Schlüssel kann nicht erstellt werden.", - "error.invalid_theme": "Ungültiges Thema.", - "error.invalid_language": "Ungültige Sprache.", - "error.invalid_timezone": "Ungültige Zeitzone.", - "error.invalid_entry_direction": "Ungültige Sortierreihenfolge.", - "form.feed.label.title": "Titel", - "form.feed.label.site_url": "Webseite-URL", - "form.feed.label.feed_url": "Abonnement-URL", - "form.feed.label.category": "Kategorie", - "form.feed.label.crawler": "Inhalt herunterladen", - "form.feed.label.feed_username": "Benutzername des Abonnements", - "form.feed.label.feed_password": "Passwort des Abonnements", - "form.feed.label.user_agent": "Standardbenutzeragenten überschreiben", - "form.feed.label.scraper_rules": "Extraktionsregeln", - "form.feed.label.rewrite_rules": "Umschreiberegeln", - "form.feed.label.blocklist_rules": "Blockierregeln", - "form.feed.label.keeplist_rules": "Erlaubnisregeln", - "form.feed.label.ignore_http_cache": "Ignoriere HTTP-cache", - "form.feed.label.fetch_via_proxy": "Über Proxy abrufen", - "form.feed.label.disabled": "Dieses Abonnement nicht aktualisieren", - "form.category.label.title": "Titel", - "form.user.label.username": "Benutzername", - "form.user.label.password": "Passwort", - "form.user.label.confirmation": "Passwort Bestätigung", - "form.user.label.admin": "Administrator", - "form.prefs.label.language": "Sprache", - "form.prefs.label.timezone": "Zeitzone", - "form.prefs.label.theme": "Thema", - "form.prefs.label.entry_sorting": "Sortierung der Artikel", - "form.prefs.label.entries_per_page": "Einträge pro Seite", - "form.prefs.select.older_first": "Älteste Artikel zuerst", - "form.prefs.select.recent_first": "Neueste Artikel zuerst", - "form.prefs.label.keyboard_shortcuts": "Tastaturkürzel aktivieren", - "form.prefs.label.entry_swipe": "Wischgeste für Einträge auf dem Handy aktivieren", - "form.prefs.label.show_reading_time": "Geschätzte Lesezeit für Artikel anzeigen", - "form.prefs.label.custom_css": "Benutzerdefiniertes CSS", - "form.import.label.file": "OPML Datei", - "form.import.label.url": "URL", - "form.integration.fever_activate": "Fever API aktivieren", - "form.integration.fever_username": "Fever Benutzername", - "form.integration.fever_password": "Fever Passwort", - "form.integration.fever_endpoint": "Fever API Endpunkt:", - "form.integration.pinboard_activate": "Artikel in Pinboard speichern", - "form.integration.pinboard_token": "Pinboard API Token", - "form.integration.pinboard_tags": "Pinboard Tags", - "form.integration.pinboard_bookmark": "Lesezeichen als ungelesen markieren", - "form.integration.instapaper_activate": "Artikel in Instapaper speichern", - "form.integration.instapaper_username": "Instapaper Benutzername", - "form.integration.instapaper_password": "Instapaper Passwort", - "form.integration.pocket_activate": "Artikel in Pocket speichern", - "form.integration.pocket_consumer_key": "Pocket Consumer Key", - "form.integration.pocket_access_token": "Pocket Access Token", - "form.integration.pocket_connect_link": "Verbinden Sie Ihr Pocket Konto", - "form.integration.wallabag_activate": "Artikel in Wallabag speichern", - "form.integration.wallabag_endpoint": "Wallabag URL", - "form.integration.wallabag_client_id": "Wallabag Client-ID", - "form.integration.wallabag_client_secret": "Wallabag Client-Secret", - "form.integration.wallabag_username": "Wallabag Benutzername", - "form.integration.wallabag_password": "Wallabag Passwort", - "form.integration.nunux_keeper_activate": "Artikel in Nunux Keeper speichern", - "form.integration.nunux_keeper_endpoint": "Nunux Keeper API-Endpunkt", - "form.integration.nunux_keeper_api_key": "Nunux Keeper API-Schlüssel", - "form.api_key.label.description": "API-Schlüsselbezeichnung", - "form.submit.loading": "Lade...", - "form.submit.saving": "Speichern...", - "time_elapsed.not_yet": "noch nicht", - "time_elapsed.yesterday": "gestern", - "time_elapsed.now": "gerade", - "time_elapsed.minutes": [ - "vor %d Minute", - "vor %d Minuten" - ], - "time_elapsed.hours": [ - "vor %d Stunde", - "vor %d Stunden" - ], - "time_elapsed.days": [ - "vor %d Tag", - "vor %d Tagen" - ], - "time_elapsed.weeks": [ - "vor %d Woche", - "vor %d Wochen" - ], - "time_elapsed.months": [ - "vor %d Monat", - "vor %d Monaten" - ], - "time_elapsed.years": [ - "vor %d Jahr", - "vor %d Jahren" - ], - "This feed already exists (%s)": "Diese Abonnement existiert bereits (%s)", - "Unable to fetch feed (Status Code = %d)": "Abonnement konnte nicht abgerufen werden (code=%d)", - "Unable to open this link: %v": "Dieser Link konnte nicht geöffnet werden: %v", - "Unable to analyze this page: %v": "Diese Seite konnte nicht analysiert werden: %v", - "Unable to execute request: %v": "Diese Anfrage konnte nicht ausgeführt werden: %v", - "Unable to parse OPML file: %q": "OPML Datei konnte nicht gelesen werden: %q", - "Unable to parse RSS feed: %q": "RSS Abonnement konnte nicht gelesen werden: %q", - "Unable to parse Atom feed: %q": "Atom Abonnement konnte nicht gelesen werden: %q", - "Unable to parse JSON feed: %q": "JSON Abonnement konnte nicht gelesen werden: %q", - "Unable to parse RDF feed: %q": "RDF Abonnement konnte nicht gelesen werden: %q", - "Unable to normalize encoding: %q": "Zeichenkodierung konnte nicht normalisiert werden: %q", - "This feed is empty": "Dieses Abonnement ist leer", - "This web page is empty": "Diese Webseite ist leer", - "Invalid SSL certificate (original error: %q)": "Ungültiges SSL-Zertifikat (ursprünglicher Fehler: %q)", - "This website is temporarily unreachable (original error: %q)": "Diese Webseite ist vorübergehend nicht erreichbar (ursprünglicher Fehler: %q)", - "This website is permanently unreachable (original error: %q)": "Diese Webseite ist dauerhaft nicht erreichbar (ursprünglicher Fehler: %q)", - "Website unreachable, the request timed out after %d seconds": "Webseite nicht erreichbar, die Anfrage endete nach %d Sekunden", - "You are not authorized to access this resource (invalid username/password)": "Sie sind nicht berechtigt, auf diese Ressource zuzugreifen (Benutzername/Passwort ungültig)", - "Unable to fetch this resource (Status Code = %d)": "Ressource konnte nicht abgerufen werden (code=%d)", - "Resource not found (404), this feed doesn't exists anymore, check the feed URL": "Ressource nicht gefunden (404), dieses Abonnement existiert nicht mehr, überprüfen Sie die Abonnement-URL" -}`, - "en_US": `{ - "confirm.question": "Are you sure?", - "confirm.yes": "yes", - "confirm.no": "no", - "confirm.loading": "In progress...", - "action.subscribe": "Subscribe", - "action.save": "Save", - "action.or": "or", - "action.cancel": "cancel", - "action.remove": "Remove", - "action.remove_feed": "Remove this feed", - "action.update": "Update", - "action.edit": "Edit", - "action.download": "Download", - "action.import": "Import", - "action.login": "Login", - "action.home_screen": "Add to home screen", - "tooltip.keyboard_shortcuts": "Keyboard Shortcut: %s", - "tooltip.logged_user": "Logged as %s", - "menu.unread": "Unread", - "menu.starred": "Starred", - "menu.history": "History", - "menu.feeds": "Feeds", - "menu.categories": "Categories", - "menu.settings": "Settings", - "menu.logout": "Logout", - "menu.preferences": "Preferences", - "menu.integrations": "Integrations", - "menu.sessions": "Sessions", - "menu.users": "Users", - "menu.about": "About", - "menu.export": "Export", - "menu.import": "Import", - "menu.create_category": "Create a category", - "menu.mark_page_as_read": "Mark this page as read", - "menu.mark_all_as_read": "Mark all as read", - "menu.show_all_entries": "Show all entries", - "menu.show_only_unread_entries": "Show only unread entries", - "menu.refresh_feed": "Refresh", - "menu.refresh_all_feeds": "Refresh all feeds in the background", - "menu.edit_feed": "Edit", - "menu.edit_category": "Edit", - "menu.add_feed": "Add subscription", - "menu.add_user": "Add user", - "menu.flush_history": "Flush history", - "menu.feed_entries": "Entries", - "menu.api_keys": "API Keys", - "menu.create_api_key": "Create a new API key", - "menu.shared_entries": "Shared entries", - "search.label": "Search", - "search.placeholder": "Search...", - "pagination.next": "Next", - "pagination.previous": "Previous", - "entry.status.unread": "Unread", - "entry.status.read": "Read", - "entry.status.toast.unread": "Marked as unread", - "entry.status.toast.read": "Marked as read", - "entry.status.title": "Change entry status", - "entry.bookmark.toggle.on": "Star", - "entry.bookmark.toggle.off": "Unstar", - "entry.bookmark.toast.on": "Starred", - "entry.bookmark.toast.off": "Unstarred", - "entry.state.saving": "Saving...", - "entry.state.loading": "Loading...", - "entry.save.label": "Save", - "entry.save.title": "Save this article", - "entry.save.completed": "Done!", - "entry.save.toast.completed": "Article saved", - "entry.scraper.label": "Download", - "entry.scraper.title": "Fetch original content", - "entry.scraper.completed": "Done!", - "entry.external_link.label": "External link", - "entry.comments.label": "Comments", - "entry.comments.title": "View Comments", - "entry.share.label": "Share", - "entry.share.title": "Share this article", - "entry.unshare.label": "Unshare", - "entry.shared_entry.title": "Open the public link", - "entry.shared_entry.label": "Share", - "entry.estimated_reading_time": [ - "%d minute read", - "%d minutes read" - ], - "page.shared_entries.title": "Shared Entries", - "page.unread.title": "Unread", - "page.starred.title": "Starred", - "page.categories.title": "Categories", - "page.categories.no_feed": "No feed.", - "page.categories.entries": "Articles", - "page.categories.feeds": "Subscriptions", - "page.categories.feed_count": [ - "There is %d feed.", - "There are %d feeds." - ], - "page.new_category.title": "New Category", - "page.new_user.title": "New User", - "page.edit_category.title": "Edit Category: %s", - "page.edit_user.title": "Edit User: %s", - "page.feeds.title": "Feeds", - "page.feeds.last_check": "Last check:", - "page.feeds.unread_counter": "Number of unread entries", - "page.feeds.read_counter": "Number of read entries", - "page.feeds.error_count": [ - "%d error", - "%d errors" - ], - "page.history.title": "History", - "page.import.title": "Import", - "page.search.title": "Search Results", - "page.about.title": "About", - "page.about.credits": "Credits", - "page.about.version": "Version:", - "page.about.build_date": "Build Date:", - "page.about.author": "Author:", - "page.about.license": "License:", - "page.about.global_config_options": "Global configuration options", - "page.about.postgres_version": "Postgres version:", - "page.add_feed.title": "New Subscription", - "page.add_feed.no_category": "There is no category. You must have at least one category.", - "page.add_feed.label.url": "URL", - "page.add_feed.submit": "Find a subscription", - "page.add_feed.legend.advanced_options": "Advanced Options", - "page.add_feed.choose_feed": "Choose a Subscription", - "page.edit_feed.title": "Edit Feed: %s", - "page.edit_feed.last_check": "Last check:", - "page.edit_feed.last_modified_header": "LastModified header:", - "page.edit_feed.etag_header": "ETag header:", - "page.edit_feed.no_header": "None", - "page.edit_feed.last_parsing_error": "Last Parsing Error", - "page.entry.attachments": "Attachments", - "page.keyboard_shortcuts.title": "Keyboard Shortcuts", - "page.keyboard_shortcuts.subtitle.sections": "Sections Navigation", - "page.keyboard_shortcuts.subtitle.items": "Items Navigation", - "page.keyboard_shortcuts.subtitle.pages": "Pages Navigation", - "page.keyboard_shortcuts.subtitle.actions": "Actions", - "page.keyboard_shortcuts.go_to_unread": "Go to unread", - "page.keyboard_shortcuts.go_to_starred": "Go to bookmarks", - "page.keyboard_shortcuts.go_to_history": "Go to history", - "page.keyboard_shortcuts.go_to_feeds": "Go to feeds", - "page.keyboard_shortcuts.go_to_categories": "Go to categories", - "page.keyboard_shortcuts.go_to_settings": "Go to settings", - "page.keyboard_shortcuts.show_keyboard_shortcuts": "Show keyboard shortcuts", - "page.keyboard_shortcuts.go_to_previous_item": "Go to previous item", - "page.keyboard_shortcuts.go_to_next_item": "Go to next item", - "page.keyboard_shortcuts.go_to_feed": "Go to feed", - "page.keyboard_shortcuts.go_to_previous_page": "Go to previous page", - "page.keyboard_shortcuts.go_to_next_page": "Go to next page", - "page.keyboard_shortcuts.open_item": "Open selected item", - "page.keyboard_shortcuts.open_original": "Open original link", - "page.keyboard_shortcuts.open_original_same_window": "Open original link in current tab", - "page.keyboard_shortcuts.open_comments": "Open comments link", - "page.keyboard_shortcuts.open_comments_same_window": "Open comments link in current tab", - "page.keyboard_shortcuts.toggle_read_status": "Toggle read/unread", - "page.keyboard_shortcuts.refresh_all_feeds": "Refresh all feeds in the background", - "page.keyboard_shortcuts.mark_page_as_read": "Mark current page as read", - "page.keyboard_shortcuts.download_content": "Download original content", - "page.keyboard_shortcuts.toggle_bookmark_status": "Toggle bookmark", - "page.keyboard_shortcuts.save_article": "Save article", - "page.keyboard_shortcuts.scroll_item_to_top": "Scroll item to top", - "page.keyboard_shortcuts.remove_feed": "Remove this feed", - "page.keyboard_shortcuts.go_to_search": "Set focus on search form", - "page.keyboard_shortcuts.close_modal": "Close modal dialog", - "page.users.title": "Users", - "page.users.username": "Username", - "page.users.never_logged": "Never", - "page.users.admin.yes": "Yes", - "page.users.admin.no": "No", - "page.users.actions": "Actions", - "page.users.last_login": "Last Login", - "page.users.is_admin": "Administrator", - "page.settings.title": "Settings", - "page.settings.link_google_account": "Link my Google account", - "page.settings.unlink_google_account": "Unlink my Google account", - "page.settings.link_oidc_account": "Link my OpenID Connect account", - "page.settings.unlink_oidc_account": "Unlink my OpenID Connect account", - "page.login.title": "Sign In", - "page.login.google_signin": "Sign in with Google", - "page.login.oidc_signin": "Sign in with OpenID Connect", - "page.integrations.title": "Integrations", - "page.integration.miniflux_api": "Miniflux API", - "page.integration.miniflux_api_endpoint": "API Endpoint", - "page.integration.miniflux_api_username": "Username", - "page.integration.miniflux_api_password": "Password", - "page.integration.miniflux_api_password_value": "Your account password", - "page.integration.bookmarklet": "Bookmarklet", - "page.integration.bookmarklet.name": "Add to Miniflux", - "page.integration.bookmarklet.instructions": "Drag and drop this link to your bookmarks.", - "page.integration.bookmarklet.help": "This special link allows you to subscribe to a website directly by using a bookmark in your web browser.", - "page.sessions.title": "Sessions", - "page.sessions.table.date": "Date", - "page.sessions.table.ip": "IP Address", - "page.sessions.table.user_agent": "User Agent", - "page.sessions.table.actions": "Actions", - "page.sessions.table.current_session": "Current Session", - "page.api_keys.title": "API Keys", - "page.api_keys.table.description": "Description", - "page.api_keys.table.token": "Token", - "page.api_keys.table.last_used_at": "Last Used", - "page.api_keys.table.created_at": "Creation Date", - "page.api_keys.table.actions": "Actions", - "page.api_keys.never_used": "Never Used", - "page.new_api_key.title": "New API Key", - "alert.no_shared_entry": "There is no shared entry.", - "alert.no_bookmark": "There is no bookmark at the moment.", - "alert.no_category": "There is no category.", - "alert.no_category_entry": "There are no articles in this category.", - "alert.no_feed_entry": "There are no articles for this feed.", - "alert.no_feed": "You don't have any subscriptions.", - "alert.no_feed_in_category": "There is no subscription for this category.", - "alert.no_history": "There is no history at the moment.", - "alert.feed_error": "There is a problem with this feed", - "alert.no_search_result": "There are no results for this search.", - "alert.no_unread_entry": "There are no unread articles.", - "alert.no_user": "You are the only user.", - "alert.account_unlinked": "Your external account is now dissociated!", - "alert.account_linked": "Your external account is now linked!", - "alert.pocket_linked": "Your Pocket account is now linked!", - "alert.prefs_saved": "Preferences saved!", - "error.unlink_account_without_password": "You must define a password otherwise you won't be able to login again.", - "error.duplicate_linked_account": "There is already someone associated with this provider!", - "error.duplicate_fever_username": "There is already someone else with the same Fever username!", - "error.pocket_request_token": "Unable to fetch request token from Pocket!", - "error.pocket_access_token": "Unable to fetch access token from Pocket!", - "error.category_already_exists": "This category already exists.", - "error.unable_to_create_category": "Unable to create this category.", - "error.unable_to_update_category": "Unable to update this category.", - "error.user_already_exists": "This user already exists.", - "error.unable_to_create_user": "Unable to create this user.", - "error.unable_to_update_user": "Unable to update this user.", - "error.unable_to_update_feed": "Unable to update this feed.", - "error.subscription_not_found": "Unable to find any subscription.", - "error.invalid_theme": "Invalid theme.", - "error.invalid_language": "Invalid language.", - "error.invalid_timezone": "Invalid timezone.", - "error.invalid_entry_direction": "Invalid entry direction.", - "error.empty_file": "This file is empty.", - "error.bad_credentials": "Invalid username or password.", - "error.fields_mandatory": "All fields are mandatory.", - "error.title_required": "The title is mandatory.", - "error.different_passwords": "Passwords are not the same.", - "error.password_min_length": "The password must have at least 6 characters.", - "error.settings_mandatory_fields": "The username, theme, language and timezone fields are mandatory.", - "error.entries_per_page_invalid": "The number of entries per page is not valid.", - "error.feed_mandatory_fields": "The URL and the category are mandatory.", - "error.feed_already_exists": "This feed already exists.", - "error.invalid_feed_url": "Invalid feed URL.", - "error.invalid_site_url": "Invalid site URL.", - "error.feed_url_not_empty": "The feed URL cannot be empty.", - "error.site_url_not_empty": "The site URL cannot be empty.", - "error.feed_title_not_empty": "The feed title cannot be empty.", - "error.feed_category_not_found": "This category does not exist or does not belong to this user.", - "error.feed_invalid_blocklist_rule": "The block list rule is invalid.", - "error.feed_invalid_keeplist_rule": "The keep list rule is invalid.", - "error.user_mandatory_fields": "The username is mandatory.", - "error.api_key_already_exists": "This API Key already exists.", - "error.unable_to_create_api_key": "Unable to create this API Key.", - "form.feed.label.title": "Title", - "form.feed.label.site_url": "Site URL", - "form.feed.label.feed_url": "Feed URL", - "form.feed.label.category": "Category", - "form.feed.label.crawler": "Fetch original content", - "form.feed.label.feed_username": "Feed Username", - "form.feed.label.feed_password": "Feed Password", - "form.feed.label.user_agent": "Override Default User Agent", - "form.feed.label.scraper_rules": "Scraper Rules", - "form.feed.label.rewrite_rules": "Rewrite Rules", - "form.feed.label.blocklist_rules": "Block Rules", - "form.feed.label.keeplist_rules": "Keep Rules", - "form.feed.label.ignore_http_cache": "Ignore HTTP cache", - "form.feed.label.fetch_via_proxy": "Fetch via proxy", - "form.feed.label.disabled": "Do not refresh this feed", - "form.category.label.title": "Title", - "form.user.label.username": "Username", - "form.user.label.password": "Password", - "form.user.label.confirmation": "Password Confirmation", - "form.user.label.admin": "Administrator", - "form.prefs.label.language": "Language", - "form.prefs.label.timezone": "Timezone", - "form.prefs.label.theme": "Theme", - "form.prefs.label.entry_sorting": "Entry Sorting", - "form.prefs.label.entries_per_page": "Entries per page", - "form.prefs.select.older_first": "Older entries first", - "form.prefs.select.recent_first": "Recent entries first", - "form.prefs.label.keyboard_shortcuts": "Enable keyboard shortcuts", - "form.prefs.label.entry_swipe": "Enable swipe gesture on entries on mobile", - "form.prefs.label.show_reading_time": "Show estimated reading time for articles", - "form.prefs.label.custom_css": "Custom CSS", - "form.import.label.file": "OPML file", - "form.import.label.url": "URL", - "form.integration.fever_activate": "Activate Fever API", - "form.integration.fever_username": "Fever Username", - "form.integration.fever_password": "Fever Password", - "form.integration.fever_endpoint": "Fever API endpoint:", - "form.integration.pinboard_activate": "Save articles to Pinboard", - "form.integration.pinboard_token": "Pinboard API Token", - "form.integration.pinboard_tags": "Pinboard Tags", - "form.integration.pinboard_bookmark": "Mark bookmark as unread", - "form.integration.instapaper_activate": "Save articles to Instapaper", - "form.integration.instapaper_username": "Instapaper Username", - "form.integration.instapaper_password": "Instapaper Password", - "form.integration.pocket_activate": "Save articles to Pocket", - "form.integration.pocket_consumer_key": "Pocket Consumer Key", - "form.integration.pocket_access_token": "Pocket Access Token", - "form.integration.pocket_connect_link": "Connect your Pocket account", - "form.integration.wallabag_activate": "Save articles to Wallabag", - "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 Username", - "form.integration.wallabag_password": "Wallabag Password", - "form.integration.nunux_keeper_activate": "Save articles to Nunux Keeper", - "form.integration.nunux_keeper_endpoint": "Nunux Keeper API Endpoint", - "form.integration.nunux_keeper_api_key": "Nunux Keeper API key", - "form.api_key.label.description": "API Key Label", - "form.submit.loading": "Loading...", - "form.submit.saving": "Saving...", - "time_elapsed.not_yet": "not yet", - "time_elapsed.yesterday": "yesterday", - "time_elapsed.now": "just now", - "time_elapsed.minutes": [ - "%d minute ago", - "%d minutes ago" - ], - "time_elapsed.hours": [ - "%d hour ago", - "%d hours ago" - ], - "time_elapsed.days": [ - "%d day ago", - "%d days ago" - ], - "time_elapsed.weeks": [ - "%d week ago", - "%d weeks ago" - ], - "time_elapsed.months": [ - "%d month ago", - "%d months ago" - ], - "time_elapsed.years": [ - "%d year ago", - "%d years ago" - ] -}`, - "es_ES": `{ - "confirm.question": "Estás seguro?", - "confirm.yes": "sí", - "confirm.no": "no", - "confirm.loading": "En progreso...", - "action.subscribe": "Suscribir", - "action.save": "Guardar", - "action.or": "o", - "action.cancel": "Cancelar", - "action.remove": "Quitar", - "action.remove_feed": "Quitar esta fuente", - "action.update": "Actualizar", - "action.edit": "Editar", - "action.download": "Descargar", - "action.import": "Importar", - "action.login": "Iniciar sesión", - "action.home_screen": "Añadir a la pantalla principal", - "tooltip.keyboard_shortcuts": "Atajo de teclado: %s", - "tooltip.logged_user": "Registrado como %s", - "menu.unread": "No leídos", - "menu.starred": "Marcadores", - "menu.history": "Historial", - "menu.feeds": "Fuentes", - "menu.categories": "Categorias", - "menu.settings": "Configuración", - "menu.logout": "Cerrar sesión", - "menu.preferences": "Preferencias", - "menu.integrations": "Integraciones", - "menu.sessions": "Sesiones", - "menu.users": "Usuarios", - "menu.about": "Acerca de", - "menu.export": "Exportar", - "menu.import": "Importar", - "menu.create_category": "Crear una categoría", - "menu.mark_page_as_read": "Marcar esta pagína como leída", - "menu.mark_all_as_read": "Marcar todos como leídos", - "menu.show_all_entries": "Mostrar todas las entradas", - "menu.show_only_unread_entries": "Mostrar solo las entradas no leídas", - "menu.refresh_feed": "Refrescar", - "menu.refresh_all_feeds": "Refrescar todas las fuentes en el fondo", - "menu.edit_feed": "Editar", - "menu.edit_category": "Editar", - "menu.add_feed": "Agregar suscripción", - "menu.add_user": "Agregar usuario", - "menu.flush_history": "Borrar historial", - "menu.feed_entries": "Artículos", - "menu.api_keys": "Claves API", - "menu.create_api_key": "Crear una nueva clave API", - "menu.shared_entries": "Entradas compartidas", - "search.label": "Buscar", - "search.placeholder": "Búsqueda...", - "pagination.next": "Siguiente", - "pagination.previous": "Anterior", - "entry.status.unread": "No leído", - "entry.status.read": "Leído", - "entry.status.toast.unread": "Marcado como no leído", - "entry.status.toast.read": "Marcado como leído", - "entry.status.title": "Cambiar estado de entrada", - "entry.bookmark.toggle.on": "Marcar", - "entry.bookmark.toggle.off": "Desmarcar", - "entry.bookmark.toast.on": "Sembrado de estrellas", - "entry.bookmark.toast.off": "Sin estrellas", - "entry.state.saving": "Guardando...", - "entry.state.loading": "Cargando...", - "entry.save.label": "Guardar", - "entry.save.title": "Guardar este articulo", - "entry.save.completed": "¡Hecho!", - "entry.save.toast.completed": "Artículo guardado", - "entry.scraper.label": "Descargar", - "entry.scraper.title": "Obtener contenido original", - "entry.scraper.completed": "¡Hecho!", - "entry.external_link.label": "Enlace externo", - "entry.comments.label": "Comentarios", - "entry.comments.title": "Ver comentarios", - "entry.share.label": "Comparta", - "entry.share.title": "Comparta este articulo", - "entry.unshare.label": "No compartir", - "entry.shared_entry.title": "Abrir el enlace público", - "entry.shared_entry.label": "Compartir", - "entry.estimated_reading_time": [ - "%d minuto de lectura", - "%d minutos de lectura" - ], - "page.shared_entries.title": "Entradas compartidas", - "page.unread.title": "No leídos", - "page.starred.title": "Marcadores", - "page.categories.title": "Categorias", - "page.categories.no_feed": "No fuente.", - "page.categories.entries": "Artículos", - "page.categories.feeds": "Suscripciones", - "page.categories.feed_count": [ - "Hay %d fuente.", - "Hay %d fuentes." - ], - "page.new_category.title": "Nueva categoría", - "page.new_user.title": "Nuevo usario", - "page.edit_category.title": "Editar categoría: %s", - "page.edit_user.title": "Editar usuario: %s", - "page.feeds.title": "Fuentes", - "page.feeds.last_check": "Última verificación:", - "page.feeds.unread_counter": "Número de entradas no leídas", - "page.feeds.read_counter": "Número de entradas leídas", - "page.feeds.error_count": [ - "%d error", - "%d errores" - ], - "page.history.title": "Historial", - "page.import.title": "Importar", - "page.search.title": "Resultados de la búsqueda", - "page.about.title": "Acerca de", - "page.about.credits": "Creditos", - "page.about.version": "Versión:", - "page.about.build_date": "Fecha de construcción:", - "page.about.author": "Autor:", - "page.about.license": "Licencia:", - "page.about.global_config_options": "Opciones de configuración global", - "page.about.postgres_version": "Postgres versión:", - "page.add_feed.title": "Nueva suscripción", - "page.add_feed.no_category": "No hay categoría. Debe tener al menos una categoría.", - "page.add_feed.label.url": "URL", - "page.add_feed.submit": "Encontrar una suscripción", - "page.add_feed.legend.advanced_options": "Opciones avanzadas", - "page.add_feed.choose_feed": "Elegir una suscripción", - "page.edit_feed.title": "Editar fuente: %s", - "page.edit_feed.last_check": "Última verificación:", - "page.edit_feed.last_modified_header": "Cabecera de LastModified:", - "page.edit_feed.etag_header": "Cabecera de ETag:", - "page.edit_feed.no_header": "Sin cabecera", - "page.edit_feed.last_parsing_error": "Último error de análisis", - "page.entry.attachments": "Archivos adjuntos", - "page.keyboard_shortcuts.title": "Atajos de teclado", - "page.keyboard_shortcuts.subtitle.sections": "Navegación de secciones", - "page.keyboard_shortcuts.subtitle.items": "Navegación de artículos", - "page.keyboard_shortcuts.subtitle.pages": "Navegación de páginas", - "page.keyboard_shortcuts.subtitle.actions": "Acciones", - "page.keyboard_shortcuts.go_to_unread": "Ir a los no leídos", - "page.keyboard_shortcuts.go_to_starred": "Ir a los marcadores", - "page.keyboard_shortcuts.go_to_history": "Ir al historial", - "page.keyboard_shortcuts.go_to_feeds": "Ir a las fuentes", - "page.keyboard_shortcuts.go_to_categories": "Ir a las categorias", - "page.keyboard_shortcuts.go_to_settings": "Ir a la configuración", - "page.keyboard_shortcuts.show_keyboard_shortcuts": "Mostrar atajos de teclado", - "page.keyboard_shortcuts.go_to_previous_item": "Ir al elemento anterior", - "page.keyboard_shortcuts.go_to_next_item": "Ir al elemento siguiente", - "page.keyboard_shortcuts.go_to_feed": "Ir a la fuente", - "page.keyboard_shortcuts.go_to_previous_page": "Ir al pagína anterior", - "page.keyboard_shortcuts.go_to_next_page": "Ir al pagína siguiente", - "page.keyboard_shortcuts.open_item": "Abrir el elemento seleccionado", - "page.keyboard_shortcuts.open_original": "Abrir el enlace original", - "page.keyboard_shortcuts.open_original_same_window": "Abrir enlace original en la pestaña actual", - "page.keyboard_shortcuts.open_comments": "Abrir el enlace de comentarios", - "page.keyboard_shortcuts.open_comments_same_window": "Abrir enlace de comentarios en la pestaña actual", - "page.keyboard_shortcuts.toggle_read_status": "Marcar como leído o no leído", - "page.keyboard_shortcuts.refresh_all_feeds": "Refrescar todas las fuentes en el fondo", - "page.keyboard_shortcuts.mark_page_as_read": "Marcar pagína actual como leída", - "page.keyboard_shortcuts.download_content": "Descargar el contento original", - "page.keyboard_shortcuts.toggle_bookmark_status": "Agregar o quitar marcador", - "page.keyboard_shortcuts.save_article": "Guardar artículo", - "page.keyboard_shortcuts.scroll_item_to_top": "Desplazar elemento hacia arriba", - "page.keyboard_shortcuts.remove_feed": "Quitar esta fuente", - "page.keyboard_shortcuts.go_to_search": "Centrarse en el cuadro de búsqueda", - "page.keyboard_shortcuts.close_modal": "Cerrar el cuadro de diálogo modal", - "page.users.title": "Usuarios", - "page.users.username": "Nombre de usuario", - "page.users.never_logged": "Nunca", - "page.users.admin.yes": "Sí", - "page.users.admin.no": "No", - "page.users.actions": "Acciones", - "page.users.last_login": "Último ingreso", - "page.users.is_admin": "Administrador", - "page.settings.title": "Ajustes", - "page.settings.link_google_account": "Vincular mi cuenta de Google", - "page.settings.unlink_google_account": "Desvincular mi cuenta de Google", - "page.settings.link_oidc_account": "Vincular mi cuenta de OpenID Connect", - "page.settings.unlink_oidc_account": "Desvincular mi cuenta de OpenID Connect", - "page.login.title": "Iniciar sesión", - "page.login.google_signin": "Iniciar sesión con tu cuenta de Google", - "page.login.oidc_signin": "Iniciar sesión con tu cuenta de OpenID Connect", - "page.integrations.title": "Integraciones", - "page.integration.miniflux_api": "API de Miniflux", - "page.integration.miniflux_api_endpoint": "Extremo de API", - "page.integration.miniflux_api_username": "Nombre de usuario", - "page.integration.miniflux_api_password": "Contraseña", - "page.integration.miniflux_api_password_value": "Contraseña de tu cuenta", - "page.integration.bookmarklet": "Bookmarklet", - "page.integration.bookmarklet.name": "Agregar a Miniflux", - "page.integration.bookmarklet.instructions": "Arrastrar y soltar este enlace a tus marcadores del navegador.", - "page.integration.bookmarklet.help": "Este enlace especial te permite suscribirte a un sitio de web directamente usando un marcador del navegador.", - "page.sessions.title": "Sesiones", - "page.sessions.table.date": "Fecha", - "page.sessions.table.ip": "Dirección de IP", - "page.sessions.table.user_agent": "Agente de usuario", - "page.sessions.table.actions": "Acciones", - "page.sessions.table.current_session": "Sesión actual", - "page.api_keys.title": "Claves API", - "page.api_keys.table.description": "Descripción", - "page.api_keys.table.token": "simbólico", - "page.api_keys.table.last_used_at": "Último utilizado", - "page.api_keys.table.created_at": "Fecha de creación", - "page.api_keys.table.actions": "Acciones", - "page.api_keys.never_used": "Nunca usado", - "page.new_api_key.title": "Nueva clave API", - "alert.no_shared_entry": "No hay entrada compartida.", - "alert.no_bookmark": "No hay marcador en este momento.", - "alert.no_category": "No hay categoría.", - "alert.no_category_entry": "No hay artículos en esta categoria.", - "alert.no_feed_entry": "No hay artículos para esta fuente.", - "alert.no_feed": "No tienes suscripciones.", - "alert.no_feed_in_category": "No hay suscripción para esta categoría.", - "alert.no_history": "No hay historial en este momento.", - "alert.feed_error": "Hay un problema con esta fuente.", - "alert.no_search_result": "No hay resultados para esta búsqueda.", - "alert.no_unread_entry": "No hay artículos sin leer.", - "alert.no_user": "Eres el unico usuario.", - "alert.account_unlinked": "¡Tu cuenta externa ya está desvinculada!", - "alert.account_linked": "¡Tu cuenta externa ya está vinculada!", - "alert.pocket_linked": "¡Tu cuenta de Pocket ya está vinculada!", - "alert.prefs_saved": "¡Las preferencias se han guardado!", - "error.unlink_account_without_password": "Debe definir una contraseña, de lo contrario no podrá volver a iniciar sesión.", - "error.duplicate_linked_account": "¡Ya hay alguien asociado a este servicio!", - "error.duplicate_fever_username": "¡Ya hay alguien con el mismo nombre de usuario de Fever!", - "error.pocket_request_token": "Incapaz de obtener un token de solicitud de Pocket!", - "error.pocket_access_token": "Incapaz de obtener un token de acceso de Pocket!", - "error.category_already_exists": "Esta categoría ya existe.", - "error.unable_to_create_category": "Incapaz de crear esta categoría.", - "error.unable_to_update_category": "Incapaz de actualizar esta categoría.", - "error.user_already_exists": "Este usuario ya existe.", - "error.unable_to_create_user": "Incapaz de crear este usuario.", - "error.unable_to_update_user": "Incapaz de actualizar este usuario.", - "error.unable_to_update_feed": "Incapaz de actualizar esta fuente.", - "error.subscription_not_found": "Incapaz de encontrar ninguna suscripción.", - "error.empty_file": "Este archivo está vacío.", - "error.bad_credentials": "Usuario o contraseña no válido.", - "error.fields_mandatory": "Todos los campos son obligatorios.", - "error.title_required": "El título es obligatorio.", - "error.different_passwords": "Las contraseñas no son las mismas.", - "error.password_min_length": "La contraseña debería tener al menos 6 caracteres.", - "error.settings_mandatory_fields": "Los campos de nombre de usuario, tema, idioma y zona horaria son obligatorios.", - "error.entries_per_page_invalid": "El número de entradas por página no es válido.", - "error.feed_mandatory_fields": "Los campos de URL y categoría son obligatorios.", - "error.feed_already_exists": "Este feed ya existe.", - "error.invalid_feed_url": "URL de feed no válida.", - "error.invalid_site_url": "URL del sitio no válida.", - "error.feed_url_not_empty": "La URL del feed no puede estar vacía.", - "error.site_url_not_empty": "La URL del sitio no puede estar vacía.", - "error.feed_title_not_empty": "El título del feed no puede estar vacío.", - "error.feed_category_not_found": "Esta categoría no existe o no pertenece a este usuario.", - "error.feed_invalid_blocklist_rule": "La regla de la lista de bloqueo no es válida.", - "error.feed_invalid_keeplist_rule": "La regla de mantener la lista no es válida.", - "error.user_mandatory_fields": "El nombre de usuario es obligatorio.", - "error.api_key_already_exists": "Esta clave API ya existe.", - "error.unable_to_create_api_key": "No se puede crear esta clave API.", - "error.invalid_theme": "Tema no válido.", - "error.invalid_language": "Idioma no válido.", - "error.invalid_timezone": "Zona horaria no válida.", - "error.invalid_entry_direction": "Dirección de entrada no válida.", - "form.feed.label.title": "Título", - "form.feed.label.site_url": "URL del sitio", - "form.feed.label.feed_url": "URL de la fuente", - "form.feed.label.category": "Categoría", - "form.feed.label.crawler": "Obtener contento original", - "form.feed.label.feed_username": "Nombre de usuario de fuente", - "form.feed.label.feed_password": "Contraseña de fuente", - "form.feed.label.user_agent": "Invalidar el agente de usuario predeterminado", - "form.feed.label.scraper_rules": "Reglas de raspador", - "form.feed.label.rewrite_rules": "Reglas de reescribir", - "form.feed.label.blocklist_rules": "Reglas de Filtrado(Bloquear)", - "form.feed.label.keeplist_rules": "Reglas de Filtrado(Permitir)", - "form.feed.label.ignore_http_cache": "Ignorar caché HTTP", - "form.feed.label.fetch_via_proxy": "Buscar a través de proxy", - "form.feed.label.disabled": "No actualice este feed", - "form.category.label.title": "Título", - "form.user.label.username": "Nombre de usuario", - "form.user.label.password": "Contraseña", - "form.user.label.confirmation": "Confirmación de contraseña", - "form.user.label.admin": "Administrador", - "form.prefs.label.language": "Idioma", - "form.prefs.label.timezone": "Zona horaria", - "form.prefs.label.theme": "Tema", - "form.prefs.label.entry_sorting": "Clasificación de entradas", - "form.prefs.label.entries_per_page": "Entradas por página", - "form.prefs.select.older_first": "Entradas más viejas primero", - "form.prefs.select.recent_first": "Entradas recientes primero", - "form.prefs.label.keyboard_shortcuts": "Habilitar atajos de teclado", - "form.prefs.label.entry_swipe": "Habilitar el gesto de deslizar el dedo en las entradas en el móvil", - "form.prefs.label.show_reading_time": "Mostrar el tiempo estimado de lectura de los artículos", - "form.prefs.label.custom_css": "CSS personalizado", - "form.import.label.file": "Archivo OPML", - "form.import.label.url": "URL", - "form.integration.fever_activate": "Activar API de Fever", - "form.integration.fever_username": "Nombre de usuario de Fever", - "form.integration.fever_password": "Contraseña de Fever", - "form.integration.fever_endpoint": "Extremo de API de Fever:", - "form.integration.pinboard_activate": "Guardar artículos a Pinboard", - "form.integration.pinboard_token": "Token de API de Pinboard", - "form.integration.pinboard_tags": "Etiquetas de Pinboard", - "form.integration.pinboard_bookmark": "Marcar marcador como no leído", - "form.integration.instapaper_activate": "Guardar artículos a Instapaper", - "form.integration.instapaper_username": "Nombre de usuario de Instapaper", - "form.integration.instapaper_password": "Contraseña de Instapaper", - "form.integration.pocket_activate": "Guardar artículos a Pocket", - "form.integration.pocket_consumer_key": "Clave del consumidor de Pocket", - "form.integration.pocket_access_token": "Token de acceso de Pocket", - "form.integration.pocket_connect_link": "Conectar a la cuenta de Pocket", - "form.integration.wallabag_activate": "Guardar artículos a Wallabag", - "form.integration.wallabag_endpoint": "Extremo de API de Wallabag", - "form.integration.wallabag_client_id": "ID de cliente de Wallabag", - "form.integration.wallabag_client_secret": "Secreto cliente de Wallabag", - "form.integration.wallabag_username": "Nombre de usuario de Wallabag", - "form.integration.wallabag_password": "Contraseña de Wallabag", - "form.integration.nunux_keeper_activate": "Guardar artículos a Nunux Keeper", - "form.integration.nunux_keeper_endpoint": "Extremo de API de Nunux Keeper", - "form.integration.nunux_keeper_api_key": "Clave de API de Nunux Keeper", - "form.api_key.label.description": "Etiqueta de clave API", - "form.submit.loading": "Cargando...", - "form.submit.saving": "Guardando...", - "time_elapsed.not_yet": "todavía no", - "time_elapsed.yesterday": "ayer", - "time_elapsed.now": "ahora mismo", - "time_elapsed.minutes": [ - "hace %d minuto", - "hace %d minutos" - ], - "time_elapsed.hours": [ - "hace %d hora", - "hace %d horas" - ], - "time_elapsed.days": [ - "hace %d día", - "hace %d días" - ], - "time_elapsed.weeks": [ - "hace %d semana", - "hace %d semanas" - ], - "time_elapsed.months": [ - "hace %d mes", - "hace %d meses" - ], - "time_elapsed.years": [ - "hace %d año", - "hace %d años" - ] -}`, - "fr_FR": `{ - "confirm.question": "Êtes-vous sûr ?", - "confirm.yes": "oui", - "confirm.no": "non", - "confirm.loading": "En cours...", - "action.subscribe": "S'abonner", - "action.save": "Sauvegarder", - "action.or": "ou", - "action.cancel": "annuler", - "action.remove": "Supprimer", - "action.remove_feed": "Supprimer ce flux", - "action.update": "Mettre à jour", - "action.edit": "Modifier", - "action.download": "Télécharger", - "action.import": "Importer", - "action.login": "Se connecter", - "action.home_screen": "Ajouter à l'écran d'accueil", - "tooltip.keyboard_shortcuts": "Raccourci clavier : %s", - "tooltip.logged_user": "Connecté en tant que %s", - "menu.unread": "Non lus", - "menu.starred": "Favoris", - "menu.history": "Historique", - "menu.feeds": "Abonnements", - "menu.categories": "Catégories", - "menu.settings": "Réglages", - "menu.logout": "Se déconnecter", - "menu.preferences": "Préférences", - "menu.integrations": "Intégrations", - "menu.sessions": "Sessions", - "menu.users": "Utilisateurs", - "menu.about": "A propos", - "menu.export": "Export", - "menu.import": "Import", - "menu.create_category": "Créer une catégorie", - "menu.mark_page_as_read": "Marquer cette page comme lu", - "menu.mark_all_as_read": "Tout marquer comme lu", - "menu.show_all_entries": "Afficher tous les articles", - "menu.show_only_unread_entries": "Afficher uniquement les articles non lus", - "menu.refresh_feed": "Actualiser", - "menu.refresh_all_feeds": "Actualiser les abonnements en arrière-plan", - "menu.edit_feed": "Modifier", - "menu.edit_category": "Modifier", - "menu.add_feed": "Ajouter un abonnement", - "menu.add_user": "Ajouter un utilisateur", - "menu.flush_history": "Supprimer l'historique", - "menu.feed_entries": "Articles", - "menu.api_keys": "Clés d'API", - "menu.create_api_key": "Créer une nouvelle clé d'API", - "menu.shared_entries": "Articles partagés", - "search.label": "Recherche", - "search.placeholder": "Recherche...", - "pagination.next": "Suivant", - "pagination.previous": "Précédent", - "entry.status.unread": "Non lu", - "entry.status.read": "Lu", - "entry.status.title": "Changer le statut de l'entrée", - "entry.status.toast.unread": "Marqué comme non lu", - "entry.status.toast.read": "Marqué comme lu", - "entry.bookmark.toggle.on": "Favoris", - "entry.bookmark.toggle.off": "Enlever favoris", - "entry.bookmark.toast.on": "Ajouté aux favoris", - "entry.bookmark.toast.off": "Enlevé des favoris", - "entry.state.saving": "Sauvegarde en cours...", - "entry.state.loading": "Chargement...", - "entry.save.label": "Sauvegarder", - "entry.save.title": "Sauvegarder cet article", - "entry.save.completed": "Terminé !", - "entry.save.toast.completed": "Article sauvegardé", - "entry.scraper.label": "Télécharger", - "entry.scraper.title": "Récupérer le contenu original", - "entry.scraper.completed": "Terminé !", - "entry.external_link.label": "Lien externe", - "entry.comments.label": "Commentaires", - "entry.comments.title": "Voir les commentaires", - "entry.share.label": "Partager", - "entry.share.title": "Partager cet article", - "entry.unshare.label": "Enlever le partage", - "entry.shared_entry.title": "Ouvrir le lien public", - "entry.shared_entry.label": "Partage", - "entry.estimated_reading_time": [ - "%d minute de lecture", - "%d minutes de lecture" - ], - "page.shared_entries.title": "Articles partagés", - "page.unread.title": "Non lus", - "page.starred.title": "Favoris", - "page.categories.title": "Catégories", - "page.categories.no_feed": "Aucun abonnement.", - "page.categories.entries": "Articles", - "page.categories.feeds": "Abonnements", - "page.categories.feed_count": [ - "Il y a %d abonnement.", - "Il y a %d abonnements." - ], - "page.new_category.title": "Nouvelle catégorie", - "page.new_user.title": "Nouvel Utilisateur", - "page.edit_category.title": "Modification de la catégorie : %s", - "page.edit_user.title": "Modification de l'utilisateur : %s", - "page.feeds.title": "Abonnements", - "page.feeds.last_check": "Dernière vérification :", - "page.feeds.unread_counter": "Nombre d'entrées non lues", - "page.feeds.read_counter": "Nombre d'entrées lues", - "page.feeds.error_count": [ - "%d erreur", - "%d erreurs" - ], - "page.history.title": "Historique", - "page.import.title": "Importation", - "page.search.title": "Résultats de la recherche", - "page.about.title": "A propos", - "page.about.credits": "Crédits", - "page.about.version": "Version :", - "page.about.build_date": "Date de la compilation :", - "page.about.author": "Auteur :", - "page.about.license": "Licence :", - "page.about.global_config_options": "Options de configuration globales", - "page.about.postgres_version": "Version de Postgresql :", - "page.add_feed.title": "Nouvel Abonnement", - "page.add_feed.no_category": "Il n'y a aucune catégorie. Vous devez avoir au moins une catégorie.", - "page.add_feed.label.url": "Lien", - "page.add_feed.submit": "Trouver un abonnement", - "page.add_feed.legend.advanced_options": "Options avancées", - "page.add_feed.choose_feed": "Choisissez un abonnement", - "page.edit_feed.title": "Modification de l'abonnement : %s", - "page.edit_feed.last_check": "Dernière vérification :", - "page.edit_feed.last_modified_header": "En-tête LastModified :", - "page.edit_feed.etag_header": "En-tête ETag :", - "page.edit_feed.no_header": "Aucune", - "page.edit_feed.last_parsing_error": "Dernière erreur d'analyse", - "page.entry.attachments": "Pièces Jointes", - "page.keyboard_shortcuts.title": "Raccourcis clavier", - "page.keyboard_shortcuts.subtitle.sections": "Naviguation entre les sections", - "page.keyboard_shortcuts.subtitle.items": "Naviguation entre les éléments", - "page.keyboard_shortcuts.subtitle.pages": "Naviguation entre les pages", - "page.keyboard_shortcuts.subtitle.actions": "Actions", - "page.keyboard_shortcuts.go_to_unread": "Aller aux éléments non lus", - "page.keyboard_shortcuts.go_to_starred": "Voir les favoris", - "page.keyboard_shortcuts.go_to_history": "Voir l'historique", - "page.keyboard_shortcuts.go_to_feeds": "Voir les abonnements", - "page.keyboard_shortcuts.go_to_categories": "Voir les catégories", - "page.keyboard_shortcuts.go_to_settings": "Voir les réglages", - "page.keyboard_shortcuts.show_keyboard_shortcuts": "Voir les raccourcis clavier", - "page.keyboard_shortcuts.go_to_previous_item": "Élément précédent", - "page.keyboard_shortcuts.go_to_next_item": "Élément suivant", - "page.keyboard_shortcuts.go_to_feed": "Voir abonnement", - "page.keyboard_shortcuts.go_to_previous_page": "Page précédente", - "page.keyboard_shortcuts.go_to_next_page": "Page suivante", - "page.keyboard_shortcuts.open_item": "Ouvrir élément sélectionné", - "page.keyboard_shortcuts.open_original": "Ouvrir le lien original", - "page.keyboard_shortcuts.open_original_same_window": "Ouvrir le lien original dans l'onglet en cours", - "page.keyboard_shortcuts.open_comments": "Ouvrir le lien des commentaires", - "page.keyboard_shortcuts.open_comments_same_window": "Ouvrir le lien des commentaires dans l'onglet en cours", - "page.keyboard_shortcuts.toggle_read_status": "Basculer entre lu/non lu", - "page.keyboard_shortcuts.refresh_all_feeds": "Actualiser les abonnements en arrière-plan", - "page.keyboard_shortcuts.mark_page_as_read": "Marquer la page actuelle comme lu", - "page.keyboard_shortcuts.download_content": "Télécharger le contenu original", - "page.keyboard_shortcuts.toggle_bookmark_status": "Ajouter/Enlever favoris", - "page.keyboard_shortcuts.save_article": "Sauvegarder l'article", - "page.keyboard_shortcuts.scroll_item_to_top": "Faire défiler l'élément vers le haut", - "page.keyboard_shortcuts.remove_feed": "Supprimer ce flux", - "page.keyboard_shortcuts.go_to_search": "Mettre le focus sur le champ de recherche", - "page.keyboard_shortcuts.close_modal": "Fermer la boite de dialogue", - "page.users.title": "Utilisateurs", - "page.users.username": "Nom d'utilisateur", - "page.users.never_logged": "Jamais", - "page.users.admin.yes": "Oui", - "page.users.admin.no": "Non", - "page.users.actions": "Actions", - "page.users.last_login": "Dernière connexion", - "page.users.is_admin": "Administrateur", - "page.settings.title": "Réglages", - "page.settings.link_google_account": "Associer mon compte Google", - "page.settings.unlink_google_account": "Dissocier mon compte Google", - "page.settings.link_oidc_account": "Associer mon compte OpenID Connect", - "page.settings.unlink_oidc_account": "Dissocier mon compte OpenID Connect", - "page.login.title": "Connexion", - "page.login.google_signin": "Se connecter avec Google", - "page.login.oidc_signin": "Se connecter avec OpenID Connect", - "page.integrations.title": "Intégrations", - "page.integration.miniflux_api": "API de Miniflux", - "page.integration.miniflux_api_endpoint": "Point de terminaison de l'API", - "page.integration.miniflux_api_username": "Nom d'utilisateur", - "page.integration.miniflux_api_password": "Mot de passe", - "page.integration.miniflux_api_password_value": "Le mot de passe de votre compte", - "page.integration.bookmarklet": "Bookmarklet", - "page.integration.bookmarklet.name": "Ajouter à Miniflux", - "page.integration.bookmarklet.instructions": "Glisser-déposer ce lien dans vos favoris.", - "page.integration.bookmarklet.help": "Ce lien spécial vous permet de vous abonner à un site web directement en utilisant un marque page dans votre navigateur web.", - "page.sessions.title": "Sessions", - "page.sessions.table.date": "Date", - "page.sessions.table.ip": "Adresse IP", - "page.sessions.table.user_agent": "Navigateur Web", - "page.sessions.table.actions": "Actions", - "page.sessions.table.current_session": "Session actuelle", - "page.api_keys.title": "Clés d'API", - "page.api_keys.table.description": "Description", - "page.api_keys.table.token": "Jeton", - "page.api_keys.table.last_used_at": "Dernière utilisation", - "page.api_keys.table.created_at": "Date de création", - "page.api_keys.table.actions": "Actions", - "page.api_keys.never_used": "Jamais utilisé", - "page.new_api_key.title": "Nouvelle clé d'API", - "alert.no_shared_entry": "Il n'y a pas d'article partagé.", - "alert.no_bookmark": "Il n'y a aucun favoris pour le moment.", - "alert.no_category": "Il n'y a aucune catégorie.", - "alert.no_category_entry": "Il n'y a aucun article dans cette catégorie.", - "alert.no_feed_entry": "Il n'y a aucun article pour cet abonnement.", - "alert.no_feed": "Vous n'avez aucun abonnement.", - "alert.no_feed_in_category": "Il n'y a pas d'abonnement pour cette catégorie.", - "alert.no_history": "Il n'y a aucun historique pour le moment.", - "alert.feed_error": "Il y a un problème avec cet abonnement", - "alert.no_search_result": "Il n'y a aucun résultat pour cette recherche.", - "alert.no_unread_entry": "Il n'y a rien de nouveau à lire.", - "alert.no_user": "Vous êtes le seul utilisateur.", - "alert.account_unlinked": "Votre compte externe est maintenant dissocié !", - "alert.account_linked": "Votre compte externe est maintenant associé !", - "alert.pocket_linked": "Votre compte Pocket est maintenant connecté !", - "alert.prefs_saved": "Préférences sauvegardées !", - "error.unlink_account_without_password": "Vous devez définir un mot de passe sinon vous ne pourrez plus vous connecter par la suite.", - "error.duplicate_linked_account": "Il y a déjà quelqu'un d'associé avec ce provider !", - "error.duplicate_fever_username": "Il y a déjà quelqu'un d'autre avec le même nom d'utilisateur Fever !", - "error.pocket_request_token": "Impossible de récupérer le jeton d'accès depuis Pocket !", - "error.pocket_access_token": "Impossible de récupérer le jeton d'accès depuis Pocket !", - "error.category_already_exists": "Cette catégorie existe déjà.", - "error.unable_to_create_category": "Impossible de créer cette catégorie.", - "error.unable_to_update_category": "Impossible de mettre à jour cette catégorie.", - "error.user_already_exists": "Cet utilisateur existe déjà.", - "error.unable_to_create_user": "Impossible de créer cet utilisateur.", - "error.unable_to_update_user": "Impossible de mettre à jour cet utilisateur.", - "error.unable_to_update_feed": "Impossible de mettre à jour cet abonnement.", - "error.subscription_not_found": "Impossible de trouver un abonnement.", - "error.empty_file": "Ce fichier est vide.", - "error.bad_credentials": "Mauvais identifiant ou mot de passe.", - "error.fields_mandatory": "Tous les champs sont obligatoire.", - "error.title_required": "Le titre est obligatoire.", - "error.different_passwords": "Les mots de passe ne sont pas les mêmes.", - "error.password_min_length": "Vous devez utiliser au moins 6 caractères pour le mot de passe.", - "error.settings_mandatory_fields": "Le nom d'utilisateur, le thème, la langue et le fuseau horaire sont obligatoire.", - "error.entries_per_page_invalid": "Le nombre d'entrées par page n'est pas valide.", - "error.feed_mandatory_fields": "L'URL et la catégorie sont obligatoire.", - "error.feed_already_exists": "Ce flux existe déjà.", - "error.invalid_feed_url": "URL de flux non valide.", - "error.invalid_site_url": "URL de site non valide.", - "error.feed_url_not_empty": "L'URL du flux ne peut pas être vide.", - "error.site_url_not_empty": "L'URL du site ne peut pas être vide.", - "error.feed_title_not_empty": "Le titre du flux ne peut pas être vide.", - "error.feed_category_not_found": "Cette catégorie n'existe pas ou n'appartient pas à cet utilisateur.", - "error.feed_invalid_blocklist_rule": "La règle de blocage n'est pas valide.", - "error.feed_invalid_keeplist_rule": "La règle d'autorisation n'est pas valide.", - "error.user_mandatory_fields": "Le nom d'utilisateur est obligatoire.", - "error.api_key_already_exists": "Cette clé d'API existe déjà.", - "error.unable_to_create_api_key": "Impossible de créer cette clé d'API.", - "error.invalid_theme": "Thème non valide.", - "error.invalid_language": "Langue non valide.", - "error.invalid_timezone": "Fuseau horaire non valide.", - "error.invalid_entry_direction": "Ordre de trie non valide.", - "form.feed.label.title": "Titre", - "form.feed.label.site_url": "URL du site web", - "form.feed.label.feed_url": "URL du flux", - "form.feed.label.category": "Catégorie", - "form.feed.label.crawler": "Récupérer le contenu original", - "form.feed.label.feed_username": "Nom d'utilisateur du flux", - "form.feed.label.feed_password": "Mot de passe du flux", - "form.feed.label.user_agent": "Remplacer l'agent utilisateur par défaut", - "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.blocklist_rules": "Règles de blocage", - "form.feed.label.keeplist_rules": "Règles d'autorisation", - "form.feed.label.ignore_http_cache": "Ignorer le cache HTTP", - "form.feed.label.fetch_via_proxy": "Récupérer via proxy", - "form.feed.label.disabled": "Ne pas actualiser ce flux", - "form.category.label.title": "Titre", - "form.user.label.username": "Nom d'utilisateur", - "form.user.label.password": "Mot de passe", - "form.user.label.confirmation": "Confirmation du mot de passe", - "form.user.label.admin": "Administrateur", - "form.prefs.label.language": "Langue", - "form.prefs.label.timezone": "Fuseau horaire", - "form.prefs.label.theme": "Thème", - "form.prefs.label.entry_sorting": "Ordre des éléments", - "form.prefs.label.entries_per_page": "Entrées par page", - "form.prefs.select.older_first": "Ancien éléments en premier", - "form.prefs.select.recent_first": "Éléments récents en premier", - "form.prefs.label.keyboard_shortcuts": "Activer les raccourcis clavier", - "form.prefs.label.entry_swipe": "Activer le geste de balayage sur les entrées sur mobile", - "form.prefs.label.show_reading_time": "Afficher le temps de lecture estimé des articles", - "form.prefs.label.custom_css": "CSS personnalisé", - "form.import.label.file": "Fichier OPML", - "form.import.label.url": "URL", - "form.integration.fever_activate": "Activer l'API de Fever", - "form.integration.fever_username": "Nom d'utilisateur pour l'API de Fever", - "form.integration.fever_password": "Mot de passe pour l'API de Fever", - "form.integration.fever_endpoint": "Point de terminaison de l'API Fever :", - "form.integration.pinboard_activate": "Sauvegarder les articles vers Pinboard", - "form.integration.pinboard_token": "Jeton de sécurité de l'API de Pinboard", - "form.integration.pinboard_tags": "Libellés de Pinboard", - "form.integration.pinboard_bookmark": "Marquer le lien comme non lu", - "form.integration.instapaper_activate": "Sauvegarder les articles vers Instapaper", - "form.integration.instapaper_username": "Nom d'utilisateur Instapaper", - "form.integration.instapaper_password": "Mot de passe Instapaper", - "form.integration.pocket_activate": "Sauvegarder les articles vers Pocket", - "form.integration.pocket_consumer_key": "Clé de l'API de Pocket", - "form.integration.pocket_access_token": "Jeton d'accès de l'API de Pocket", - "form.integration.pocket_connect_link": "Connectez votre compte Pocket", - "form.integration.wallabag_activate": "Sauvegarder les articles vers Wallabag", - "form.integration.wallabag_endpoint": "URL de l'API de Wallabag", - "form.integration.wallabag_client_id": "Identifiant unique du client Wallabag", - "form.integration.wallabag_client_secret": "Clé secrète du client Wallabag", - "form.integration.wallabag_username": "Nom d'utilisateur de Wallabag", - "form.integration.wallabag_password": "Mot de passe de Wallabag", - "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", - "form.api_key.label.description": "Libellé de la clé d'API", - "form.submit.loading": "Chargement...", - "form.submit.saving": "Sauvegarde en cours...", - "time_elapsed.not_yet": "pas encore", - "time_elapsed.yesterday": "hier", - "time_elapsed.now": "à l'instant", - "time_elapsed.minutes": [ - "il y a %d minute", - "il y a %d minutes" - ], - "time_elapsed.hours": [ - "il y a %d heure", - "il y a %d heures" - ], - "time_elapsed.days": [ - "il y a %d jour", - "il y a %d jours" - ], - "time_elapsed.weeks": [ - "il y a %d semaine", - "il y a %d semaines" - ], - "time_elapsed.months": [ - "il y a %d mois", - "il y a %d mois" - ], - "time_elapsed.years": [ - "il y a %d an", - "il y a %d ans" - ], - "This feed already exists (%s)": "Cet abonnement existe déjà (%s)", - "Unable to fetch feed (Status Code = %d)": "Impossible de récupérer cet abonnement (code=%d)", - "Unable to open this link: %v": "Impossible d'ouvrir ce lien : %v", - "Unable to analyze this page: %v": "Impossible d'analyzer cette page : %v", - "Unable to execute request: %v": "Impossible d'exécuter cette requête: %v", - "Unable to parse OPML file: %q": "Impossible de lire ce fichier OPML : %q", - "Unable to parse RSS feed: %q": "Impossible de lire ce flux RSS : %q", - "Unable to parse Atom feed: %q": "Impossible de lire ce flux Atom : %q", - "Unable to parse JSON feed: %q": "Impossible de lire ce flux JSON : %q", - "Unable to parse RDF feed: %q": "Impossible de lire ce flux RDF : %q", - "Unable to normalize encoding: %q": "Impossible de normaliser l'encodage : %q", - "This feed is empty": "Cet abonnement est vide", - "This web page is empty": "Cette page web est vide", - "Invalid SSL certificate (original error: %q)": "Certificat SSL invalide (erreur originale : %q)", - "This website is temporarily unreachable (original error: %q)": "Ce site web est temporairement injoignable (erreur originale : %q)", - "This website is permanently unreachable (original error: %q)": "Ce site web n'est pas joignable de façon permanente (erreur originale : %q)", - "Website unreachable, the request timed out after %d seconds": "Site web injoignable, la requête à échouée après %d secondes", - "You are not authorized to access this resource (invalid username/password)": "Vous n'êtes pas autorisé à accéder à cette ressource (nom d'utilisateur / mot de passe incorrect)", - "Unable to fetch this resource (Status Code = %d)": "Impossible de récupérer cette ressource (code=%d)", - "Resource not found (404), this feed doesn't exists anymore, check the feed URL": "Page introuvable (404), cet abonnement n'existe plus, vérifiez l'adresse du flux" -}`, - "it_IT": `{ - "confirm.question": "Sei sicuro?", - "confirm.yes": "sì", - "confirm.no": "no", - "confirm.loading": "In corso...", - "action.subscribe": "Abbonati", - "action.save": "Salva", - "action.or": "o", - "action.cancel": "cancella", - "action.remove": "Elimina", - "action.remove_feed": "Elimina questo feed", - "action.update": "Aggiorna", - "action.edit": "Modifica", - "action.download": "Scarica", - "action.import": "Importa", - "action.login": "Accedi", - "action.home_screen": "Aggiungere alla schermata Home", - "tooltip.keyboard_shortcuts": "Scorciatoia da tastiera: %s", - "tooltip.logged_user": "Autenticato come %s", - "menu.unread": "Da leggere", - "menu.starred": "Preferiti", - "menu.history": "Cronologia", - "menu.feeds": "Feed", - "menu.categories": "Categorie", - "menu.settings": "Impostazioni", - "menu.logout": "Esci", - "menu.preferences": "Preferenze", - "menu.integrations": "Integrazioni", - "menu.sessions": "Sessioni", - "menu.users": "Utenti", - "menu.about": "Informazioni", - "menu.export": "Esporta", - "menu.import": "Importa", - "menu.create_category": "Aggiungi una categoria", - "menu.mark_page_as_read": "Segna questa pagina come letta", - "menu.mark_all_as_read": "Segna tutti gli articoli come letti", - "menu.show_all_entries": "Mostra tutte le voci", - "menu.show_only_unread_entries": "Mostra solo voci non lette", - "menu.refresh_feed": "Aggiorna", - "menu.refresh_all_feeds": "Aggiorna tutti i feed in background", - "menu.edit_feed": "Modifica", - "menu.edit_category": "Modifica", - "menu.add_feed": "Aggiungi feed", - "menu.add_user": "Aggiungi utente", - "menu.flush_history": "Svuota la cronologia", - "menu.feed_entries": "Articoli", - "menu.api_keys": "Chiavi API", - "menu.create_api_key": "Crea una nuova chiave API", - "menu.shared_entries": "Voci condivise", - "search.label": "Cerca", - "search.placeholder": "Cerca...", - "pagination.next": "Successivo", - "pagination.previous": "Precedente", - "entry.status.unread": "Da leggere", - "entry.status.read": "Letto", - "entry.status.toast.unread": "Contrassegnato come non letto", - "entry.status.toast.read": "Contrassegnato come letto", - "entry.status.title": "Cambia lo stato dell'articolo", - "entry.bookmark.toggle.on": "Aggiungi ai preferiti", - "entry.bookmark.toggle.off": "Rimuovi dai preferiti", - "entry.bookmark.toast.on": "Ha recitato", - "entry.bookmark.toast.off": "Non speciali", - "entry.state.saving": "Salvataggio in corso...", - "entry.state.loading": "Caricamento in corso...", - "entry.save.label": "Salva", - "entry.save.title": "Salva questo articolo", - "entry.save.completed": "Fatto!", - "entry.save.toast.completed": "Articolo salvato", - "entry.scraper.label": "Scarica", - "entry.scraper.title": "Scarica il contenuto integrale", - "entry.scraper.completed": "Fatto!", - "entry.external_link.label": "Link esterno", - "entry.comments.label": "Commenti", - "entry.comments.title": "Mostra i commenti", - "entry.share.label": "Condividi", - "entry.share.title": "Condividi questo articolo", - "entry.unshare.label": "Unshare", - "entry.shared_entry.title": "Apri il link pubblico", - "entry.shared_entry.label": "Condivisione", - "entry.estimated_reading_time": [ - "%d minuto di lettura", - "%d minuti di lettura" - ], - "page.shared_entries.title": "Voci condivise", - "page.unread.title": "Da leggere", - "page.starred.title": "Preferiti", - "page.categories.title": "Categorie", - "page.categories.no_feed": "Nessun feed.", - "page.categories.entries": "Articoli", - "page.categories.feeds": "Abbonamenti", - "page.categories.feed_count": [ - "C'è %d feed.", - "Ci sono %d feed." - ], - "page.new_category.title": "Nuova categoria", - "page.new_user.title": "Nuovo utente", - "page.edit_category.title": "Modifica categoria: %s", - "page.edit_user.title": "Modifica utente: %s", - "page.feeds.title": "Feed", - "page.feeds.last_check": "Ultimo controllo:", - "page.feeds.unread_counter": "Numero di voci non lette", - "page.feeds.read_counter": "Numero di voci lette", - "page.feeds.error_count": [ - "%d errore", - "%d errori" - ], - "page.history.title": "Cronologia", - "page.import.title": "Importa", - "page.search.title": "Risultati della ricerca", - "page.about.title": "Informazioni", - "page.about.credits": "Crediti", - "page.about.version": "Versione:", - "page.about.build_date": "Data della build:", - "page.about.author": "Autore:", - "page.about.license": "Licenza:", - "page.about.global_config_options": "Opzioni di configurazione globali", - "page.about.postgres_version": "Postgres versione:", - "page.add_feed.title": "Nuovo feed", - "page.add_feed.no_category": "Nessuna categoria selezionata. Devi scegliere almeno una categoria.", - "page.add_feed.label.url": "URL", - "page.add_feed.submit": "Abbonati al feed", - "page.add_feed.legend.advanced_options": "Opzioni avanzate", - "page.add_feed.choose_feed": "Scegli un feed", - "page.edit_feed.title": "Modifica feed: %s", - "page.edit_feed.last_check": "Ultimo controllo:", - "page.edit_feed.last_modified_header": "Header LastModified:", - "page.edit_feed.etag_header": "Header ETag:", - "page.edit_feed.no_header": "Nessun header", - "page.edit_feed.last_parsing_error": "Ultimo errore di parsing", - "page.entry.attachments": "Allegati", - "page.keyboard_shortcuts.title": "Scorciatoie da tastiera", - "page.keyboard_shortcuts.subtitle.sections": "Navigazione sezioni", - "page.keyboard_shortcuts.subtitle.items": "Navigazione articoli", - "page.keyboard_shortcuts.subtitle.pages": "Navigazione pagine", - "page.keyboard_shortcuts.subtitle.actions": "Azioni", - "page.keyboard_shortcuts.go_to_unread": "Mostra gli articoli da leggere", - "page.keyboard_shortcuts.go_to_starred": "Mostra i preferiti", - "page.keyboard_shortcuts.go_to_history": "Mostra la cronologia", - "page.keyboard_shortcuts.go_to_feeds": "Mostra i feed", - "page.keyboard_shortcuts.go_to_categories": "Mostra le categorie", - "page.keyboard_shortcuts.go_to_settings": "Mostra le impostazioni", - "page.keyboard_shortcuts.show_keyboard_shortcuts": "Mostra le scorciatoie da tastiera", - "page.keyboard_shortcuts.go_to_previous_item": "Mostra l'articolo precedente", - "page.keyboard_shortcuts.go_to_next_item": "Mostra l'articolo successivo", - "page.keyboard_shortcuts.go_to_feed": "Mostra il feed", - "page.keyboard_shortcuts.go_to_previous_page": "Mostra la pagina precedente", - "page.keyboard_shortcuts.go_to_next_page": "Mostra la pagina successiva", - "page.keyboard_shortcuts.open_item": "Apri l'articolo selezionato", - "page.keyboard_shortcuts.open_original": "Apri la pagina web originale", - "page.keyboard_shortcuts.open_original_same_window": "Apri il link originale nella scheda corrente", - "page.keyboard_shortcuts.open_comments": "Apri la pagina web dei commenti", - "page.keyboard_shortcuts.open_comments_same_window": "Apri il link dei commenti nella scheda corrente", - "page.keyboard_shortcuts.toggle_read_status": "Cambia lo stato di lettura (letto/da leggere)", - "page.keyboard_shortcuts.refresh_all_feeds": "Aggiorna tutti i feed in background", - "page.keyboard_shortcuts.mark_page_as_read": "Segna la pagina attuale come letta", - "page.keyboard_shortcuts.download_content": "Scarica il contenuto integrale", - "page.keyboard_shortcuts.toggle_bookmark_status": "Aggiungi/rimuovi dai preferiti", - "page.keyboard_shortcuts.save_article": "Salva l'articolo", - "page.keyboard_shortcuts.scroll_item_to_top": "Scorri l'articolo in alto", - "page.keyboard_shortcuts.remove_feed": "Rimuovi questo feed", - "page.keyboard_shortcuts.go_to_search": "Apri la casella di ricerca", - "page.keyboard_shortcuts.close_modal": "Chiudi la finestra di dialogo", - "page.users.title": "Utenti", - "page.users.username": "Nome utente", - "page.users.never_logged": "Mai", - "page.users.admin.yes": "Sì", - "page.users.admin.no": "No", - "page.users.actions": "Azioni", - "page.users.last_login": "Ultimo accesso", - "page.users.is_admin": "Amministratore", - "page.settings.title": "Impostazioni", - "page.settings.link_google_account": "Collega il mio account Google", - "page.settings.unlink_google_account": "Scollega il mio account Google", - "page.settings.link_oidc_account": "Collega il mio account OpenID Connect", - "page.settings.unlink_oidc_account": "Scollega il mio account OpenID Connect", - "page.login.title": "Accedi", - "page.login.google_signin": "Accedi tramite Google", - "page.login.oidc_signin": "Accedi tramite OpenID Connect", - "page.integrations.title": "Integrazioni", - "page.integration.miniflux_api": "API di Miniflux", - "page.integration.miniflux_api_endpoint": "Endpoint dell'API di Miniflux", - "page.integration.miniflux_api_username": "Nome utente", - "page.integration.miniflux_api_password": "Password", - "page.integration.miniflux_api_password_value": "La password del tuo account", - "page.integration.bookmarklet": "Segnalibro", - "page.integration.bookmarklet.name": "Aggiungi a Miniflux", - "page.integration.bookmarklet.instructions": "Trascina questo collegamento sui tuoi segnalibri.", - "page.integration.bookmarklet.help": "Questo collegamento speciale ti consente di abbonarti ad un sito web semplicemente usando un segnalibro del tuo browser.", - "page.sessions.title": "Sessioni", - "page.sessions.table.date": "Data", - "page.sessions.table.ip": "Indirizzo IP", - "page.sessions.table.user_agent": "User Agent", - "page.sessions.table.actions": "Azioni", - "page.sessions.table.current_session": "Sessione corrente", - "page.api_keys.title": "Chiavi API", - "page.api_keys.table.description": "Descrizione", - "page.api_keys.table.token": "Gettone", - "page.api_keys.table.last_used_at": "Ultimo uso", - "page.api_keys.table.created_at": "Data di creazione", - "page.api_keys.table.actions": "Azioni", - "page.api_keys.never_used": "Mai usato", - "page.new_api_key.title": "Nuova chiave API", - "alert.no_shared_entry": "Non ci sono voci condivise.", - "alert.no_bookmark": "Nessun preferito disponibile.", - "alert.no_category": "Nessuna categoria disponibile.", - "alert.no_category_entry": "Questa categoria non contiene alcun articolo.", - "alert.no_feed_entry": "Questo feed non contiene alcun articolo.", - "alert.no_feed": "Nessun feed disponibile.", - "alert.no_feed_in_category": "Non esiste un abbonamento per questa categoria.", - "alert.no_history": "La tua cronologia al momento è vuota.", - "alert.feed_error": "Sembra ci sia un problema con questo feed", - "alert.no_search_result": "La ricerca non ha prodotto risultati.", - "alert.no_unread_entry": "Nessun articolo da leggere.", - "alert.no_user": "Tu sei l'unico utente.", - "alert.account_unlinked": "Il tuo account esterno ora è scollegato!", - "alert.account_linked": "Il tuo account esterno ora è collegato!", - "alert.pocket_linked": "Il tuo account Pocket ora è collegato!", - "alert.prefs_saved": "Preferenze salvate!", - "error.unlink_account_without_password": "Devi scegliere una password altrimenti la prossima volta non riuscirai ad accedere.", - "error.duplicate_linked_account": "Esiste già un account configurato per questo servizio!", - "error.duplicate_fever_username": "Esiste già un account Fever con lo stesso nome utente!", - "error.pocket_request_token": "Non sono riuscito ad ottenere il request token da Pocket!", - "error.pocket_access_token": "Non sono riuscito ad ottenere l'access token da Pocket!", - "error.category_already_exists": "Questa categoria esiste già.", - "error.unable_to_create_category": "Non sono riuscito ad aggiungere questa categoria.", - "error.unable_to_update_category": "Non sono riuscito ad aggiornare questa categoria.", - "error.user_already_exists": "Questo utente esiste già.", - "error.unable_to_create_user": "Non sono riuscito ad aggiungere questo user.", - "error.unable_to_update_user": "Non sono riuscito ad aggiornare questo utente.", - "error.unable_to_update_feed": "Non sono riuscito ad aggiornare questo feed.", - "error.subscription_not_found": "Non ho trovato nessun feed.", - "error.empty_file": "Questo file è vuoto.", - "error.bad_credentials": "Nome utente o password non validi.", - "error.fields_mandatory": "Tutti i campi sono obbligatori.", - "error.title_required": "Il titolo è obbligatorio.", - "error.different_passwords": "Le password non coincidono.", - "error.password_min_length": "La password deve contenere almeno 6 caratteri.", - "error.settings_mandatory_fields": "Il nome utente, il tema, la lingua ed il fuso orario sono campi obbligatori.", - "error.entries_per_page_invalid": "Il numero di articoli per pagina non è valido.", - "error.feed_mandatory_fields": "L'URL e la categoria sono obbligatori.", - "error.feed_already_exists": "Questo feed esiste già.", - "error.invalid_feed_url": "URL del feed non valido.", - "error.invalid_site_url": "URL del sito non valido.", - "error.feed_url_not_empty": "L'URL del feed non può essere vuoto.", - "error.site_url_not_empty": "L'URL del sito non può essere vuoto.", - "error.feed_title_not_empty": "Il titolo del feed non può essere vuoto.", - "error.feed_category_not_found": "Questa categoria non esiste o non appartiene a questo utente.", - "error.feed_invalid_blocklist_rule": "La regola dell'elenco di blocco non è valida.", - "error.feed_invalid_keeplist_rule": "La regola dell'elenco di conservazione non è valida.", - "error.user_mandatory_fields": "Il nome utente è obbligatorio.", - "error.api_key_already_exists": "Questa chiave API esiste già.", - "error.unable_to_create_api_key": "Impossibile creare questa chiave API.", - "error.invalid_theme": "Tema non valido.", - "error.invalid_language": "Lingua non valida.", - "error.invalid_timezone": "Fuso orario non valido.", - "error.invalid_entry_direction": "Ordinamento non valido.", - "form.feed.label.title": "Titolo", - "form.feed.label.site_url": "URL del sito", - "form.feed.label.feed_url": "URL del feed", - "form.feed.label.category": "Categoria", - "form.feed.label.crawler": "Scarica il contenuto integrale", - "form.feed.label.feed_username": "Nome utente del feed", - "form.feed.label.feed_password": "Password del feed", - "form.feed.label.user_agent": "Usa user agent personalizzato", - "form.feed.label.scraper_rules": "Regole di estrazione del contenuto", - "form.feed.label.rewrite_rules": "Regole di impaginazione del contenuto", - "form.feed.label.blocklist_rules": "Regole di blocco", - "form.feed.label.keeplist_rules": "Regole di autorizzazione", - "form.feed.label.ignore_http_cache": "Ignora cache HTTP", - "form.feed.label.fetch_via_proxy": "Recuperare tramite proxy", - "form.feed.label.disabled": "Non aggiornare questo feed", - "form.category.label.title": "Titolo", - "form.user.label.username": "Nome utente", - "form.user.label.password": "Password", - "form.user.label.confirmation": "Conferma password", - "form.user.label.admin": "Amministratore", - "form.prefs.label.language": "Lingua", - "form.prefs.label.timezone": "Fuso orario", - "form.prefs.label.theme": "Tema", - "form.prefs.label.entry_sorting": "Ordinamento articoli", - "form.prefs.label.entries_per_page": "Articoli per pagina", - "form.prefs.select.older_first": "Prima i più vecchi", - "form.prefs.select.recent_first": "Prima i più recenti", - "form.prefs.label.keyboard_shortcuts": "Abilita le scorciatoie da tastiera", - "form.prefs.label.entry_swipe": "Abilita il gesto di scorrimento sulle voci sul cellulare", - "form.prefs.label.show_reading_time": "Mostra il tempo di lettura stimato per gli articoli", - "form.prefs.label.custom_css": "CSS personalizzati", - "form.import.label.file": "File OPML", - "form.import.label.url": "URL", - "form.integration.fever_activate": "Abilita l'API di Fever", - "form.integration.fever_username": "Nome utente dell'account Fever", - "form.integration.fever_password": "Password dell'account Fever", - "form.integration.fever_endpoint": "Endpoint dell'API di Fever:", - "form.integration.pinboard_activate": "Salva gli articoli su Pinboard", - "form.integration.pinboard_token": "Token dell'API di Pinboard", - "form.integration.pinboard_tags": "Tag di Pinboard", - "form.integration.pinboard_bookmark": "Segna i preferiti come non letti", - "form.integration.instapaper_activate": "Salva gli articoli su Instapaper", - "form.integration.instapaper_username": "Nome utente dell'account Instapaper", - "form.integration.instapaper_password": "Password dell'account Instapaper", - "form.integration.pocket_activate": "Salva gli articoli su Pocket", - "form.integration.pocket_consumer_key": "Consumer key dell'account Pocket", - "form.integration.pocket_access_token": "Access token dell'account Pocket", - "form.integration.pocket_connect_link": "Collega il tuo account Pocket", - "form.integration.wallabag_activate": "Salva gli articoli su Wallabag", - "form.integration.wallabag_endpoint": "Endpoint dell'API di Wallabag", - "form.integration.wallabag_client_id": "Client ID dell'account Wallabag", - "form.integration.wallabag_client_secret": "Client secret dell'account Wallabag", - "form.integration.wallabag_username": "Nome utente dell'account Wallabag", - "form.integration.wallabag_password": "Password dell'account Wallabag", - "form.integration.nunux_keeper_activate": "Salva gli articoli su Nunux Keeper", - "form.integration.nunux_keeper_endpoint": "Endpoint dell'API di Nunux Keeper", - "form.integration.nunux_keeper_api_key": "API key dell'account Nunux Keeper", - "form.api_key.label.description": "Etichetta chiave API", - "form.submit.loading": "Caricamento in corso...", - "form.submit.saving": "Salvataggio in corso...", - "time_elapsed.not_yet": "non ancora", - "time_elapsed.yesterday": "ieri", - "time_elapsed.now": "adesso", - "time_elapsed.minutes": [ - "%d minuto fa", - "%d minuti fa" - ], - "time_elapsed.hours": [ - "%d ora fa", - "%d ore fa" - ], - "time_elapsed.days": [ - "%d giorno fa", - "%d giorni fa" - ], - "time_elapsed.weeks": [ - "%d settimana fa", - "%d settimane fa" - ], - "time_elapsed.months": [ - "%d mese fa", - "%d mesi fa" - ], - "time_elapsed.years": [ - "%d anno fa", - "%d anni fa" - ] -}`, - "ja_JP": `{ - "confirm.question": "よろしいですか?", - "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分で読む" - ], - "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 個の記事があります。" - ], - "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 個のエラー" - ], - "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.add_feed.title": "新規購読", - "page.add_feed.no_category": "カテゴリが存在しません。 少なくとも1つのカテゴリが必要です。", - "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": "最後に更新されたヘッダー:", - "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": "既読/未読 切り替え", - "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.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 Endpoint", - "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キー", - "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.pocket_request_token": "Pocket の request token が取得できません!", - "error.pocket_access_token": "Pocket の access token が取得できません!", - "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.empty_file": "このファイルは空です。", - "error.bad_credentials": "ユーザー名かパスワードが間違っています。", - "error.fields_mandatory": "全ての項目が必要です。", - "error.title_required": "タイトルが必要です。", - "error.different_passwords": "パスワードが一致しません。", - "error.password_min_length": "パスワードは6文字以上である必要があります。", - "error.settings_mandatory_fields": "ユーザー名、テーマ、言語、タイムゾーンの全てが必要です。", - "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キーを作成できません。", - "error.invalid_theme": "テーマが無効です。", - "error.invalid_language": "言語が無効です。", - "error.invalid_timezone": "タイムゾーンが無効です。", - "error.invalid_entry_direction": "ソート順が無効です。", - "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.scraper_rules": "スクラップルール", - "form.feed.label.rewrite_rules": "Rewrite ルール", - "form.feed.label.blocklist_rules": "ブロックルール", - "form.feed.label.keeplist_rules": "許可規則", - "form.feed.label.ignore_http_cache": "HTTPキャッシュを無視", - "form.feed.label.fetch_via_proxy": "プロキシ経由でフェッチ", - "form.feed.label.disabled": "このフィードを更新しない", - "form.category.label.title": "タイトル", - "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.select.older_first": "古い記事を最初に", - "form.prefs.select.recent_first": "新しい記事を最初に", - "form.prefs.label.keyboard_shortcuts": "キーボード・ショートカットを有効にする", - "form.prefs.label.entry_swipe": "モバイルのエントリでスワイプジェスチャーを有効にする", - "form.prefs.label.show_reading_time": "記事の推定読書時間を表示する", - "form.prefs.label.custom_css": "カスタムCSS", - "form.import.label.file": "OPML ファイル", - "form.import.label.url": "URL", - "form.integration.fever_activate": "Fever API を有効にする", - "form.integration.fever_username": "Fever の ユーザー名", - "form.integration.fever_password": "Fever の パスワード", - "form.integration.fever_endpoint": "Fever API endpoint:", - "form.integration.pinboard_activate": "Pinboard に記事を保存する", - "form.integration.pinboard_token": "Pinboard の API Token", - "form.integration.pinboard_tags": "Pinboard の Tag", - "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 account に接続", - "form.integration.wallabag_activate": "Wallabag に記事を保存する", - "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.nunux_keeper_activate": "Nunux Keeper に記事を保存する", - "form.integration.nunux_keeper_endpoint": "Nunux Keeper の API Endpoint", - "form.integration.nunux_keeper_api_key": "Nunux Keeper の API key", - "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 分前" - ], - "time_elapsed.hours": [ - "%d 時間前", - "%d 時間前" - ], - "time_elapsed.days": [ - "%d 日前", - "%d 日前" - ], - "time_elapsed.weeks": [ - "%d 週前", - "%d 週前" - ], - "time_elapsed.months": [ - "%d 月前", - "%d 月前" - ], - "time_elapsed.years": [ - "%d 年前", - "%d 年前" - ] -}`, - "nl_NL": `{ - "confirm.question": "Weet je het zeker?", - "confirm.yes": "ja", - "confirm.no": "nee", - "confirm.loading": "Bezig...", - "action.subscribe": "Abboneren", - "action.save": "Opslaan", - "action.or": "of", - "action.cancel": "annuleren", - "action.remove": "Verwijderen", - "action.remove_feed": "Verwijder deze feed", - "action.update": "Updaten", - "action.edit": "Bewerken", - "action.download": "Download", - "action.import": "Importeren", - "action.login": "Inloggen", - "action.home_screen": "Toevoegen aan startscherm", - "tooltip.keyboard_shortcuts": "Sneltoets: %s", - "tooltip.logged_user": "Ingelogd als %s", - "menu.unread": "Ongelezen", - "menu.starred": "Favorieten", - "menu.history": "Geschiedenis", - "menu.feeds": "Feeds", - "menu.categories": "Categorieën", - "menu.settings": "Instellingen", - "menu.logout": "Uitloggen", - "menu.preferences": "Voorkeuren", - "menu.integrations": "Integraties", - "menu.sessions": "Sessies", - "menu.users": "Users", - "menu.about": "Over", - "menu.export": "Exporteren", - "menu.import": "Importeren", - "menu.create_category": "Categorie toevoegen", - "menu.mark_page_as_read": "Markeer deze pagina als gelezen", - "menu.mark_all_as_read": "Markeer alle items als gelezen", - "menu.show_all_entries": "Toon alle artikelen", - "menu.show_only_unread_entries": "Toon alleen ongelezen artikelen", - "menu.refresh_feed": "Vernieuwen", - "menu.refresh_all_feeds": "Vernieuw alle feeds in de achtergrond", - "menu.edit_feed": "Bewerken", - "menu.edit_category": "Bewerken", - "menu.add_feed": "Feed toevoegen", - "menu.add_user": "Gebruiker toevoegen", - "menu.flush_history": "Verwijder geschiedenis", - "menu.feed_entries": "Lidwoord", - "menu.api_keys": "API-sleutels", - "menu.create_api_key": "Maak een nieuwe API-sleutel", - "menu.shared_entries": "Gedeelde vermeldingen", - "search.label": "Zoeken", - "search.placeholder": "Zoeken...", - "pagination.next": "Volgende", - "pagination.previous": "Vorige", - "entry.status.unread": "Ongelezen", - "entry.status.read": "Gelezen", - "entry.status.toast.unread": "Gemarkeerd als ongelezen", - "entry.status.toast.read": "Gemarkeerd als gelezen", - "entry.status.title": "Verander status van item", - "entry.bookmark.toggle.on": "Ster toevoegen", - "entry.bookmark.toggle.off": "Ster weghalen", - "entry.bookmark.toast.on": "Met ster", - "entry.bookmark.toast.off": "Ster verwijderd", - "entry.state.saving": "Opslaag...", - "entry.state.loading": "Laden...", - "entry.save.label": "Opslaan", - "entry.save.title": "Artikel opslaan", - "entry.save.completed": "Done!", - "entry.save.toast.completed": "Artikel opgeslagen", - "entry.scraper.label": "Downloaden", - "entry.scraper.title": "Fetch original content", - "entry.scraper.completed": "Klaar!", - "entry.external_link.label": "Externe link", - "entry.comments.label": "Comments", - "entry.comments.title": "Bekijk de reacties", - "entry.share.label": "Deel", - "entry.share.title": "Deel dit artikel", - "entry.unshare.label": "Delen ongedaan maken", - "entry.shared_entry.title": "Open de openbare link", - "entry.shared_entry.label": "Delen", - "entry.estimated_reading_time": [ - "%d minuut gelezen", - "%d minuten gelezen" - ], - "page.shared_entries.title": "Gedeelde vermeldingen", - "page.unread.title": "Ongelezen", - "page.starred.title": "Favorieten", - "page.categories.title": "Categorieën", - "page.categories.no_feed": "Geen feeds.", - "page.categories.entries": "Lidwoord", - "page.categories.feeds": "Abonnementen", - "page.categories.feed_count": [ - "Er is %d feed.", - "Er zijn %d feeds." - ], - "page.new_category.title": "Nieuwe categorie", - "page.new_user.title": "Nieuwe gebruiker", - "page.edit_category.title": "Bewerken van categorie: %s", - "page.edit_user.title": "Bewerk gebruiker: %s", - "page.feeds.title": "Feeds", - "page.feeds.last_check": "Laatste update:", - "page.feeds.unread_counter": "Aantal ongelezen vermeldingen", - "page.feeds.read_counter": "Aantal gelezen vermeldingen", - "page.feeds.error_count": [ - "%d error", - "%d errors" - ], - "page.history.title": "Geschiedenis", - "page.import.title": "Importeren", - "page.login.title": "Inloggen", - "page.search.title": "Zoekresultaten", - "page.about.title": "Over", - "page.about.credits": "Copyrights", - "page.about.version": "Versie:", - "page.about.build_date": "Datum build:", - "page.about.author": "Auteur:", - "page.about.license": "Licentie:", - "page.about.global_config_options": "globale configuratie-opties", - "page.about.postgres_version": "Postgres versie:", - "page.add_feed.title": "Nieuwe feed", - "page.add_feed.no_category": "Er zijn geen categorieën. Je moet op zijn minst één caterogie hebben.", - "page.add_feed.label.url": "URL", - "page.add_feed.submit": "Feed zoeken", - "page.add_feed.legend.advanced_options": "Geavanceerde mogelijkheden", - "page.add_feed.choose_feed": "Feed kiezen", - "page.edit_feed.title": "Bewerken van feed: %s", - "page.edit_feed.last_check": "Laatste update:", - "page.edit_feed.last_modified_header": "LastModified-header:", - "page.edit_feed.etag_header": "ETAG-header:", - "page.edit_feed.no_header": "Geen", - "page.edit_feed.last_parsing_error": "Laatste parse error", - "page.entry.attachments": "Bijlagen", - "page.keyboard_shortcuts.title": "Sneltoetsen", - "page.keyboard_shortcuts.subtitle.sections": "Naviguatie tussen menu's", - "page.keyboard_shortcuts.subtitle.items": "Navigatie tussen items", - "page.keyboard_shortcuts.subtitle.pages": "Naviguatie tussen pagina's", - "page.keyboard_shortcuts.subtitle.actions": "Actions", - "page.keyboard_shortcuts.go_to_unread": "Ga naar ongelezen", - "page.keyboard_shortcuts.go_to_starred": "Ga naar favorieten", - "page.keyboard_shortcuts.go_to_history": "Ga naar geschiedenis", - "page.keyboard_shortcuts.go_to_feeds": "Ga naar feeds", - "page.keyboard_shortcuts.go_to_categories": "Ga naar categorieën", - "page.keyboard_shortcuts.go_to_settings": "Ga naar instellingen", - "page.keyboard_shortcuts.show_keyboard_shortcuts": "Laat sneltoetsen zien", - "page.keyboard_shortcuts.go_to_previous_item": "Vorige item", - "page.keyboard_shortcuts.go_to_next_item": "Volgende item", - "page.keyboard_shortcuts.go_to_feed": "Ga naar feed", - "page.keyboard_shortcuts.go_to_previous_page": "Vorige pagina", - "page.keyboard_shortcuts.go_to_next_page": "Volgende pagina", - "page.keyboard_shortcuts.open_item": "Open geselecteerde link", - "page.keyboard_shortcuts.open_original": "Open originele link", - "page.keyboard_shortcuts.open_original_same_window": "Oorspronkelijke koppeling op huidig tabblad openen", - "page.keyboard_shortcuts.open_comments": "Open opmerkingen link", - "page.keyboard_shortcuts.open_comments_same_window": "Open de reactiekoppeling op het huidige tabblad", - "page.keyboard_shortcuts.toggle_read_status": "Markeer gelezen/ongelezen", - "page.keyboard_shortcuts.refresh_all_feeds": "Vernieuw alle feeds in de achtergrond", - "page.keyboard_shortcuts.mark_page_as_read": "Markeer deze pagina als gelezen", - "page.keyboard_shortcuts.download_content": "Download originele content", - "page.keyboard_shortcuts.toggle_bookmark_status": "Ster toevoegen/weghalen", - "page.keyboard_shortcuts.save_article": "Artikel opslaan", - "page.keyboard_shortcuts.scroll_item_to_top": "Scroll artikel naar boven", - "page.keyboard_shortcuts.remove_feed": "Verwijder deze feed", - "page.keyboard_shortcuts.go_to_search": "Focus instellen op zoekformulier", - "page.keyboard_shortcuts.close_modal": "Sluit dialoogscherm", - "page.users.title": "Gebruikers", - "page.users.username": "Gebruikersnaam", - "page.users.never_logged": "Nooit", - "page.users.admin.yes": "Ja", - "page.users.admin.no": "Nee", - "page.users.actions": "Acties", - "page.users.last_login": "Laatste login", - "page.users.is_admin": "Administrator", - "page.settings.title": "Instellingen", - "page.settings.link_google_account": "Koppel mijn Google-account", - "page.settings.unlink_google_account": "Ontkoppel mijn Google-account", - "page.settings.link_oidc_account": "Koppel mijn OpenID Connect-account", - "page.settings.unlink_oidc_account": "Ontkoppel mijn OpenID Connect-account", - "page.login.oidc_signin": "Inloggen via OpenID Connect", - "page.login.google_signin": "Inloggen via Google", - "page.integrations.title": "Integraties", - "page.integration.miniflux_api": "Miniflux API", - "page.integration.miniflux_api_endpoint": "API-URL", - "page.integration.miniflux_api_username": "Gebruikersnaam", - "page.integration.miniflux_api_password": "Wachtwoord", - "page.integration.miniflux_api_password_value": "Wachtwoord van jouw account", - "page.integration.bookmarklet": "Bookmarklet", - "page.integration.bookmarklet.name": "Toevoegen aan Miniflux", - "page.integration.bookmarklet.instructions": "Sleep deze link naar je bookmarks.", - "page.integration.bookmarklet.help": "Gebruik deze link als bookmark in je browser om je direct te abboneren op een website.", - "page.sessions.title": "Sessies", - "page.sessions.table.date": "Datum", - "page.sessions.table.ip": "IP-adres", - "page.sessions.table.user_agent": "User-agent", - "page.sessions.table.actions": "Acties", - "page.sessions.table.current_session": "Huidige sessie", - "page.api_keys.title": "API-sleutels", - "page.api_keys.table.description": "Beschrijving", - "page.api_keys.table.token": "Blijk", - "page.api_keys.table.last_used_at": "Laatst gebruikt", - "page.api_keys.table.created_at": "Aanmaakdatum", - "page.api_keys.table.actions": "Acties", - "page.api_keys.never_used": "Nooit gebruikt", - "page.new_api_key.title": "Nieuwe API-sleutel", - "alert.no_shared_entry": "Er is geen gedeelde toegang.", - "alert.no_bookmark": "Er zijn op dit moment geen favorieten.", - "alert.no_category": "Er zijn geen categorieën.", - "alert.no_category_entry": "Deze categorie bevat geen feeds.", - "alert.no_feed_entry": "Er zijn geen artikelen in deze feed.", - "alert.no_feed": "Je hebt nog geen feeds geabboneerd staan.", - "alert.no_feed_in_category": "Er is geen abonnement voor deze categorie.", - "alert.no_history": "Geschiedenis is op dit moment leeg.", - "alert.feed_error": "Er is een probleem met deze feed", - "alert.no_search_result": "Er is geen resultaat voor deze zoekopdracht.", - "alert.no_unread_entry": "Er zijn geen ongelezen artikelen.", - "alert.no_user": "Je bent de enige gebruiker.", - "alert.account_unlinked": "Uw externe account is nu gedissocieerd!", - "alert.account_linked": "Uw externe account is nu gekoppeld!", - "alert.pocket_linked": "Uw Pocket-account is nu gekoppeld!", - "alert.prefs_saved": "Instellingen opgeslagen!", - "error.unlink_account_without_password": "U moet een wachtwoord definiëren anders kunt u zich niet opnieuw aanmelden.", - "error.duplicate_linked_account": "Er is al iemand geregistreerd met deze provider!", - "error.duplicate_fever_username": "Er is al iemand met dezelfde Fever gebruikersnaam!", - "error.pocket_request_token": "Kon geen aanvraagtoken ophalen van Pocket!", - "error.pocket_access_token": "Kon geen toegangstoken ophalen van Pocket!", - "error.category_already_exists": "Deze categorie bestaat al.", - "error.unable_to_create_category": "Kan deze categorie niet maken.", - "error.unable_to_update_category": "Kon categorie niet updaten.", - "error.user_already_exists": "Deze gebruiker bestaat al.", - "error.unable_to_create_user": "Kan deze gebruiker niet maken.", - "error.unable_to_update_user": "Kan deze gebruiker niet updaten.", - "error.unable_to_update_feed": "Kan deze feed niet bijwerken.", - "error.subscription_not_found": "Kon geen feeds vinden.", - "error.empty_file": "Dit bestand is leeg.", - "error.bad_credentials": "Onjuiste gebruikersnaam of wachtwoord.", - "error.fields_mandatory": "Alle velden moeten ingevuld zijn.", - "error.title_required": "Naam van categorie is verplicht.", - "error.different_passwords": "Wachtwoorden zijn niet hetzelfde.", - "error.password_min_length": "Je moet minstens 6 tekens gebruiken.", - "error.settings_mandatory_fields": "Gebruikersnaam, skin, taal en tijdzone zijn verplicht.", - "error.entries_per_page_invalid": "Het aantal inzendingen per pagina is niet geldig.", - "error.feed_mandatory_fields": "The URL en de categorie zijn verplicht.", - "error.feed_already_exists": "Deze feed bestaat al.", - "error.invalid_feed_url": "Ongeldige feed-URL.", - "error.invalid_site_url": "Ongeldige site-URL.", - "error.feed_url_not_empty": "De feed-URL mag niet leeg zijn.", - "error.site_url_not_empty": "De site-URL mag niet leeg zijn.", - "error.feed_title_not_empty": "De feedtitel mag niet leeg zijn.", - "error.feed_category_not_found": "Deze categorie bestaat niet of behoort niet tot deze gebruiker.", - "error.feed_invalid_blocklist_rule": "De regel voor de blokkeerlijst is ongeldig.", - "error.feed_invalid_keeplist_rule": "De regel voor het bewaren van een lijst is ongeldig.", - "error.user_mandatory_fields": "Gebruikersnaam is verplicht", - "error.api_key_already_exists": "This API Key already exists.", - "error.unable_to_create_api_key": "Kan deze API-sleutel niet maken.", - "error.invalid_theme": "Ongeldig thema.", - "error.invalid_language": "Ongeldige taal.", - "error.invalid_timezone": "Ongeldige tijdzone.", - "error.invalid_entry_direction": "Ongeldige sorteervolgorde.", - "form.feed.label.title": "Naam", - "form.feed.label.site_url": "Website URL", - "form.feed.label.feed_url": "Feed URL", - "form.feed.label.category": "Categorie", - "form.feed.label.crawler": "Download originele content", - "form.feed.label.feed_username": "Feed-gebruikersnaam", - "form.feed.label.feed_password": "Feed wachtwoord", - "form.feed.label.user_agent": "Standaard User Agent overschrijven", - "form.feed.label.scraper_rules": "Scraper regels", - "form.feed.label.rewrite_rules": "Rewrite regels", - "form.feed.label.blocklist_rules": "Blokkeer regels", - "form.feed.label.keeplist_rules": "toestemmingsregels", - "form.feed.label.ignore_http_cache": "Negeer HTTP-cache", - "form.feed.label.fetch_via_proxy": "Ophalen via proxy", - "form.feed.label.disabled": "Vernieuw deze feed niet", - "form.category.label.title": "Naam", - "form.user.label.username": "Gebruikersnaam", - "form.user.label.password": "Wachtwoord", - "form.user.label.confirmation": "Bevestig wachtwoord", - "form.user.label.admin": "Administrator", - "form.prefs.label.language": "Taal", - "form.prefs.label.timezone": "Tijdzone", - "form.prefs.label.theme": "Skin", - "form.prefs.label.entry_sorting": "Volgorde van items", - "form.prefs.label.entries_per_page": "Inzendingen per pagina", - "form.prefs.select.older_first": "Oudere items eerst", - "form.prefs.select.recent_first": "Recente items eerst", - "form.prefs.label.keyboard_shortcuts": "Schakel sneltoetsen in", - "form.prefs.label.entry_swipe": "Schakel veegbewegingen in voor items op mobiel", - "form.prefs.label.show_reading_time": "Toon geschatte leestijd voor artikelen", - "form.prefs.label.custom_css": "Aangepaste CSS", - "form.import.label.file": "OPML-bestand", - "form.import.label.url": "URL", - "form.integration.fever_activate": "Activeer Fever API", - "form.integration.fever_username": "Fever gebruikersnaam", - "form.integration.fever_password": "Fever wachtwoord", - "form.integration.fever_endpoint": "Fever URL:", - "form.integration.pinboard_activate": "Artikelen opslaan naar Pinboard", - "form.integration.pinboard_token": "Pinboard API token", - "form.integration.pinboard_tags": "Pinboard tags", - "form.integration.pinboard_bookmark": "Markeer bookmark als gelezen", - "form.integration.instapaper_activate": "Artikelen opstaan naar Instapaper", - "form.integration.instapaper_username": "Instapaper gebruikersnaam", - "form.integration.instapaper_password": "Instapaper wachtwoord", - "form.integration.pocket_activate": "Bewaar artikelen in Pocket", - "form.integration.pocket_consumer_key": "Pocket Consumer Key", - "form.integration.pocket_access_token": "Pocket Access Token", - "form.integration.pocket_connect_link": "Verbind je Pocket-account", - "form.integration.wallabag_activate": "Opslaan naar Wallabag", - "form.integration.wallabag_endpoint": "Wallabag URL", - "form.integration.wallabag_client_id": "Wallabag Client-ID", - "form.integration.wallabag_client_secret": "Wallabag Client-Secret", - "form.integration.wallabag_username": "Wallabag gebruikersnaam", - "form.integration.wallabag_password": "Wallabag wachtwoord", - "form.integration.nunux_keeper_activate": "Opslaan naar Nunux Keeper", - "form.integration.nunux_keeper_endpoint": "Nunux Keeper URL", - "form.integration.nunux_keeper_api_key": "Nunux Keeper API-sleutel", - "form.api_key.label.description": "API-sleutellabel", - "form.submit.loading": "Laden...", - "form.submit.saving": "Opslaag...", - "time_elapsed.not_yet": "in de toekomst", - "time_elapsed.yesterday": "gisteren", - "time_elapsed.now": "minder dan een minuut geleden", - "time_elapsed.minutes": [ - "%d minuut geleden", - "%d minuten geleden" - ], - "time_elapsed.hours": [ - "%d uur geleden", - "%d uur geleden" - ], - "time_elapsed.days": [ - "%d dag geleden", - "%d dagen geleden" - ], - "time_elapsed.weeks": [ - "%d week geleden", - "%d weken geleden" - ], - "time_elapsed.months": [ - "%d maand geleden", - "%d maanden geleden" - ], - "time_elapsed.years": [ - "%d jaar geleden", - "%d jaar geleden" - ], - "This feed already exists (%s)": "Deze feed bestaat al (%s)", - "Unable to fetch feed (Status Code = %d)": "Kon feed niet updaten (statuscode = %d)", - "Unable to open this link: %v": "Kon link niet volgen: %v", - "Unable to analyze this page: %v": "Kon pagina niet analyseren: %v", - "Unable to execute request: %v": "Kon request niet uitvoeren: %v", - "Unable to parse OPML file: %q": "Kon OPML niet parsen: %q", - "Unable to parse RSS feed: %q": "Kon RSS-feed niet parsen: %q", - "Unable to parse Atom feed: %q": "Kon Atom-feed niet parsen: %q", - "Unable to parse JSON feed: %q": "Kon JSON-feed niet parsen: %q", - "Unable to parse RDF feed: %q": "Kon RDF-feed niet parsen: %q", - "Unable to normalize encoding: %q": "Kon encoding niet normaliseren: %q", - "Unable to create this category.": "Kon categorie niet aanmaken.", - "Category not found for this user": "Categorie niet gevonden voor deze gebruiker", - "This web page is empty": "Deze webpagina is leeg", - "Invalid SSL certificate (original error: %q)": "Ongeldig SSL-certificaat (originele error: %q)", - "This website is temporarily unreachable (original error: %q)": "Deze website is tijdelijk onbereikbaar (originele error: %q)", - "This website is permanently unreachable (original error: %q)": "Deze website is permanent onbereikbaar (originele error: %q)", - "Website unreachable, the request timed out after %d seconds": "Website onbereikbaar, de request gaf een timeout na %d seconden" -}`, - "pl_PL": `{ - "confirm.question": "Czy jesteś pewny?", - "confirm.yes": "tak", - "confirm.no": "nie", - "confirm.loading": "W toku...", - "action.subscribe": "Subskrypcja", - "action.save": "Zapisz", - "action.or": "lub", - "action.cancel": "anuluj", - "action.remove": "Usuń", - "action.remove_feed": "Usuń ten kanał", - "action.update": "Zaktualizuj", - "action.edit": "Edytuj", - "action.download": "Pobierz", - "action.import": "Importuj", - "action.login": "Zaloguj się", - "action.home_screen": "Dodaj do ekranu głównego", - "tooltip.keyboard_shortcuts": "Skróty klawiszowe: %s", - "tooltip.logged_user": "Zalogowany jako %s", - "menu.unread": "Nieprzeczytane", - "menu.starred": "Ulubione", - "menu.history": "Historia", - "menu.feeds": "Kanały", - "menu.categories": "Kategorie", - "menu.settings": "Ustawienia", - "menu.logout": "Wyloguj się", - "menu.preferences": "Preferencje", - "menu.integrations": "Usługi", - "menu.sessions": "Sesje", - "menu.users": "Użytkownicy", - "menu.about": "O stronie", - "menu.export": "Eksportuj", - "menu.import": "Importuj", - "menu.create_category": "Utwórz kategorię", - "menu.mark_page_as_read": "Oznacz jako przeczytane", - "menu.mark_all_as_read": "Oznacz wszystko jako przeczytane", - "menu.show_all_entries": "Pokaż wszystkie artykuły", - "menu.show_only_unread_entries": "Pokaż tylko nieprzeczytane artykuły", - "menu.refresh_feed": "Odśwież", - "menu.refresh_all_feeds": "Odśwież wszystkie subskrypcje w tle", - "menu.edit_feed": "Edytuj", - "menu.edit_category": "Edytuj", - "menu.add_feed": "Dodaj subskrypcję", - "menu.add_user": "Dodaj użytkownika", - "menu.flush_history": "Usuń historię", - "menu.feed_entries": "Artykuły", - "menu.api_keys": "Klucze API", - "menu.create_api_key": "Utwórz nowy klucz API", - "menu.shared_entries": "Udostępnione wpisy", - "search.label": "Szukaj", - "search.placeholder": "Szukaj...", - "pagination.next": "Następny", - "pagination.previous": "Poprzedni", - "entry.status.unread": "Nieprzeczytane", - "entry.status.read": "Przeczytane", - "entry.status.toast.unread": "Oznaczone jako nieprzeczytane", - "entry.status.toast.read": "Oznaczone jako przeczytane", - "entry.status.title": "Zmień status artykułu", - "entry.bookmark.toggle.on": "Oznacz gwiazdką", - "entry.bookmark.toggle.off": "Usuń gwiazdkę", - "entry.bookmark.toast.on": "Oznaczone gwiazdką", - "entry.bookmark.toast.off": "Bez gwiazdek", - "entry.state.saving": "Zapisywanie...", - "entry.state.loading": "Ładowanie...", - "entry.save.label": "Zapisz", - "entry.save.title": "Zapisz ten artykuł", - "entry.save.completed": "Gotowe!", - "entry.save.toast.completed": "Artykuł zapisany", - "entry.scraper.label": "Ściągnij", - "entry.scraper.title": "Pobierz oryginalną treść", - "entry.scraper.completed": "Gotowe!", - "entry.external_link.label": "Link zewnętrzny", - "entry.comments.label": "Komentarze", - "entry.comments.title": "Zobacz komentarze", - "entry.share.label": "Podzielić się", - "entry.share.title": "Podzielić się ten artykuł", - "entry.unshare.label": "Unshare", - "entry.shared_entry.title": "Otwórz publiczny link", - "entry.shared_entry.label": "Udostępnianie", - "entry.estimated_reading_time": [ - "%d minuta czytania", - "%d minut czytania" - ], - "page.shared_entries.title": "Udostępnione wpisy", - "page.unread.title": "Nieprzeczytane", - "page.starred.title": "Oznaczone gwiazdką", - "page.categories.title": "Kategorie", - "page.categories.no_feed": "Brak kanałów.", - "page.categories.entries": "Artykuły", - "page.categories.feeds": "Subskrypcje", - "page.categories.feed_count": [ - "Jest %d kanał.", - "Są %d kanały.", - "Jest %d kanałów." - ], - "page.new_category.title": "Nowa kategoria", - "page.new_user.title": "Nowy użytkownik", - "page.edit_category.title": "Edycja Kategorii: %s", - "page.edit_user.title": "Edytuj użytkownika: %s", - "page.feeds.title": "Kanały", - "page.feeds.last_check": "Ostatnia aktualizacja:", - "page.feeds.unread_counter": "Liczba nieprzeczytanych wpisów", - "page.feeds.read_counter": "Liczba przeczytanych wpisów", - "page.feeds.error_count": [ - "%d błąd", - "%d błąd", - "%d błędów" - ], - "page.history.title": "Historia", - "page.import.title": "Importuj", - "page.search.title": "Wyniki wyszukiwania", - "page.about.title": "O", - "page.about.credits": "Prawa autorskie", - "page.about.version": "Wersja:", - "page.about.build_date": "Data opracowania:", - "page.about.author": "Autor:", - "page.about.license": "Licencja:", - "page.about.postgres_version": "Postgres wersja:", - "page.about.global_config_options": "globalne opcje konfiguracji", - "page.add_feed.title": "Nowa subskrypcja", - "page.add_feed.no_category": "Nie ma żadnej kategorii. Musisz mieć co najmniej jedną kategorię.", - "page.add_feed.label.url": "URL", - "page.add_feed.submit": "Znajdź subskrypcję", - "page.add_feed.legend.advanced_options": "Zaawansowane opcje", - "page.add_feed.choose_feed": "Wybierz subskrypcję", - "page.edit_feed.title": "Edytuj kanał: %s", - "page.edit_feed.last_check": "Ostatnia aktualizacja:", - "page.edit_feed.last_modified_header": "Ostatnio zmienione:", - "page.edit_feed.etag_header": "Nagłówek ETag:", - "page.edit_feed.no_header": "Brak", - "page.edit_feed.last_parsing_error": "Ostatni błąd analizy", - "page.entry.attachments": "Załączniki", - "page.keyboard_shortcuts.title": "Skróty klawiszowe", - "page.keyboard_shortcuts.subtitle.sections": "Nawigacja między punktami menu", - "page.keyboard_shortcuts.subtitle.items": "Nawigacja między artykułami", - "page.keyboard_shortcuts.subtitle.pages": "Nawigacja między stronami", - "page.keyboard_shortcuts.subtitle.actions": "Działania", - "page.keyboard_shortcuts.go_to_unread": "Przejdź do nieprzeczytanych artykułów", - "page.keyboard_shortcuts.go_to_starred": "Przejdź do zakładek", - "page.keyboard_shortcuts.go_to_history": "Przejdź do historii", - "page.keyboard_shortcuts.go_to_feeds": "Przejdź do kanałów", - "page.keyboard_shortcuts.go_to_categories": "Przejdź do kategorii", - "page.keyboard_shortcuts.go_to_settings": "Przejdź do ustawień", - "page.keyboard_shortcuts.show_keyboard_shortcuts": "Pokaż listę skrótów klawiszowych", - "page.keyboard_shortcuts.go_to_previous_item": "Przejdź do poprzedniego artykułu", - "page.keyboard_shortcuts.go_to_next_item": "Przejdź do następnego punktu artykułu", - "page.keyboard_shortcuts.go_to_feed": "Przejdź do subskrypcji", - "page.keyboard_shortcuts.go_to_previous_page": "Przejdź do poprzedniej strony", - "page.keyboard_shortcuts.go_to_next_page": "Przejdź do następnej strony", - "page.keyboard_shortcuts.open_item": "Otwórz zaznaczony artykuł", - "page.keyboard_shortcuts.open_original": "Otwórz oryginalny artykuł", - "page.keyboard_shortcuts.open_original_same_window": "Otwórz oryginalny link w bieżącej karcie", - "page.keyboard_shortcuts.open_comments": "Otwórz link do komentarzy", - "page.keyboard_shortcuts.open_comments_same_window": "Otwórz link do komentarzy w bieżącej karcie", - "page.keyboard_shortcuts.toggle_read_status": "Oznacz jako przeczytane/nieprzeczytane", - "page.keyboard_shortcuts.refresh_all_feeds": "Odśwież wszystkie subskrypcje w tle", - "page.keyboard_shortcuts.mark_page_as_read": "Zaznacz aktualną stronę jako przeczytaną", - "page.keyboard_shortcuts.download_content": "Pobierz oryginalną zawartość", - "page.keyboard_shortcuts.toggle_bookmark_status": "Dodaj/usuń zakładki", - "page.keyboard_shortcuts.save_article": "Zapisz artykuł", - "page.keyboard_shortcuts.scroll_item_to_top": "Przewiń artykuł do góry", - "page.keyboard_shortcuts.remove_feed": "Usuń ten kanał", - "page.keyboard_shortcuts.go_to_search": "Ustaw fokus na formularzu wyszukiwania", - "page.keyboard_shortcuts.close_modal": "Zamknij listę skrótów klawiszowych", - "page.users.title": "Użytkownicy", - "page.users.username": "Nazwa użytkownika", - "page.users.never_logged": "Nigdy", - "page.users.admin.yes": "Tak", - "page.users.admin.no": "Nie", - "page.users.actions": "Działania", - "page.users.last_login": "Ostatnie logowanie", - "page.users.is_admin": "Administrator", - "page.settings.title": "Ustawienia", - "page.settings.link_google_account": "Połącz z moim kontem Google", - "page.settings.unlink_google_account": "Odłącz moje konto Google", - "page.settings.link_oidc_account": "Połącz z moim kontem OpenID Connect", - "page.settings.unlink_oidc_account": "Odłącz moje konto OpenID Connect", - "page.login.title": "Zaloguj się", - "page.login.google_signin": "Zaloguj przez Google", - "page.login.oidc_signin": "Zaloguj przez OpenID Connect", - "page.integrations.title": "Usługi", - "page.integration.miniflux_api": "Miniflux API", - "page.integration.miniflux_api_endpoint": "Punkt końcowy API", - "page.integration.miniflux_api_username": "Nazwa Użytkownika", - "page.integration.miniflux_api_password": "Hasło", - "page.integration.miniflux_api_password_value": "Hasło konta", - "page.integration.bookmarklet": "Bookmarklet", - "page.integration.bookmarklet.name": "Dodaj do Miniflux", - "page.integration.bookmarklet.instructions": "Przeciągnij i upuść to łącze do zakładek.", - "page.integration.bookmarklet.help": "Ten link umożliwia subskrypcję strony internetowej bezpośrednio za pomocą zakładki w przeglądarce internetowej.", - "page.sessions.title": "Sesje", - "page.sessions.table.date": "Data", - "page.sessions.table.ip": "Adres IP", - "page.sessions.table.user_agent": "Agent użytkownika", - "page.sessions.table.actions": "Działania", - "page.sessions.table.current_session": "Bieżąca sesja", - "page.api_keys.title": "Klucze API", - "page.api_keys.table.description": "Opis", - "page.api_keys.table.token": "Znak", - "page.api_keys.table.last_used_at": "Ostatnio używane", - "page.api_keys.table.created_at": "Data utworzenia", - "page.api_keys.table.actions": "Działania", - "page.api_keys.never_used": "Nigdy nie używany", - "page.new_api_key.title": "Nowy klucz API", - "alert.no_shared_entry": "Brak wspólnego wpisu.", - "alert.no_bookmark": "Obecnie nie ma żadnych zakładek.", - "alert.no_category": "Nie ma żadnej kategorii!", - "alert.no_category_entry": "W tej kategorii nie ma żadnych artykułów", - "alert.no_feed_entry": "Nie ma artykułu dla tego kanału.", - "alert.no_feed": "Nie masz żadnej subskrypcji.", - "alert.no_feed_in_category": "Nie ma subskrypcji dla tej kategorii.", - "alert.no_history": "Obecnie nie ma żadnej historii.", - "alert.feed_error": "Z tym kanałem jest problem", - "alert.no_search_result": "Brak wyników dla tego wyszukiwania.", - "alert.no_unread_entry": "Nie ma żadnych nieprzeczytanych artykułów.", - "alert.no_user": "Jesteś jedynym użytkownikiem.", - "alert.account_unlinked": "Twoje konto zewnętrzne jest teraz zdysocjowane!", - "alert.account_linked": "Twoje konto zewnętrzne jest teraz połączone!", - "alert.pocket_linked": "Twoje konto Pocket jest teraz połączone!", - "alert.prefs_saved": "Ustawienia zapisane!", - "error.unlink_account_without_password": "Musisz zdefiniować hasło, inaczej nie będziesz mógł się ponownie zalogować.", - "error.duplicate_linked_account": "Już ktoś jest powiązany z tym dostawcą!", - "error.duplicate_fever_username": "Już ktoś inny używa tej nazwy użytkownika Fever!", - "error.pocket_request_token": "Nie można pobrać tokena żądania z Pocket!", - "error.pocket_access_token": "Nie można pobrać tokena dostępu z Pocket!", - "error.category_already_exists": "Ta kategoria już istnieje.", - "error.unable_to_create_category": "Ta kategoria nie mogła zostać utworzona.", - "error.unable_to_update_category": "Ta kategoria nie mogła zostać zaktualizowana.", - "error.user_already_exists": "Ten użytkownik już istnieje.", - "error.unable_to_create_user": "Nie można utworzyć tego użytkownika.", - "error.unable_to_update_user": "Nie można zaktualizować tego użytkownika.", - "error.unable_to_update_feed": "Nie można zaktualizować tego kanału.", - "error.subscription_not_found": "Nie znaleziono żadnych subskrypcji.", - "error.empty_file": "Ten plik jest pusty.", - "error.bad_credentials": "Nieprawidłowa nazwa użytkownika lub hasło.", - "error.fields_mandatory": "Wszystkie pola są obowiązkowe.", - "error.title_required": "Tytuł jest obowiązkowy.", - "error.different_passwords": "Hasła nie są identyczne.", - "error.password_min_length": "Musisz użyć co najmniej 6 znaków.", - "error.settings_mandatory_fields": "Pola nazwy użytkownika, tematu, języka i strefy czasowej są obowiązkowe.", - "error.entries_per_page_invalid": "Liczba wpisów na stronę jest nieprawidłowa.", - "error.feed_mandatory_fields": "URL i kategoria są obowiązkowe.", - "error.feed_already_exists": "Ten kanał już istnieje.", - "error.invalid_feed_url": "Nieprawidłowy adres URL kanału.", - "error.invalid_site_url": "Nieprawidłowy adres URL witryny.", - "error.feed_url_not_empty": "Adres URL kanału nie może być pusty.", - "error.site_url_not_empty": "Adres URL witryny nie może być pusty.", - "error.feed_title_not_empty": "Tytuł kanału nie może być pusty.", - "error.feed_category_not_found": "Ta kategoria nie istnieje lub nie należy do tego użytkownika.", - "error.feed_invalid_blocklist_rule": "Reguła listy zablokowanych jest nieprawidłowa.", - "error.feed_invalid_keeplist_rule": "Reguła listy zachowania jest nieprawidłowa.", - "error.user_mandatory_fields": "Nazwa użytkownika jest obowiązkowa.", - "error.api_key_already_exists": "Deze API-sleutel bestaat al.", - "error.unable_to_create_api_key": "Nie można utworzyć tego klucza API.", - "error.invalid_theme": "Nieprawidłowy motyw.", - "error.invalid_language": "Nieprawidłowy język.", - "error.invalid_timezone": "Nieprawidłowa strefa czasowa.", - "error.invalid_entry_direction": "Nieprawidłowa kolejność sortowania.", - "form.feed.label.title": "Tytuł", - "form.feed.label.site_url": "URL strony", - "form.feed.label.feed_url": "URL kanału", - "form.feed.label.category": "Kategoria", - "form.feed.label.crawler": "Pobierz oryginalną treść", - "form.feed.label.feed_username": "Subskrypcję nazwa użytkownika", - "form.feed.label.feed_password": "Subskrypcję Hasło", - "form.feed.label.user_agent": "Zastąp domyślny agent użytkownika", - "form.feed.label.scraper_rules": "Zasady ekstrakcji", - "form.feed.label.rewrite_rules": "Reguły zapisu", - "form.feed.label.blocklist_rules": "Zasady blokowania", - "form.feed.label.keeplist_rules": "Zasady zezwoleń", - "form.feed.label.ignore_http_cache": "Zignoruj ​​pamięć podręczną HTTP", - "form.feed.label.fetch_via_proxy": "Pobierz przez proxy", - "form.feed.label.disabled": "Не обновлять этот канал", - "form.category.label.title": "Tytuł", - "form.user.label.username": "Nazwa użytkownika", - "form.user.label.password": "Hasło", - "form.user.label.confirmation": "Potwierdzenie hasła", - "form.user.label.admin": "Administrator", - "form.prefs.label.language": "Język", - "form.prefs.label.timezone": "Strefa czasowa", - "form.prefs.label.theme": "Wygląd", - "form.prefs.label.entry_sorting": "Sortowanie artykułów", - "form.prefs.label.entries_per_page": "Wpisy na stronie", - "form.prefs.select.older_first": "Najstarsze wpisy jako pierwsze", - "form.prefs.label.keyboard_shortcuts": "Włącz skróty klawiaturowe", - "form.prefs.label.entry_swipe": "Włącz gest przesuwania na wpisach na telefonie komórkowym", - "form.prefs.label.show_reading_time": "Pokaż szacowany czas czytania artykułów", - "form.prefs.select.recent_first": "Najnowsze wpisy jako pierwsze", - "form.prefs.label.custom_css": "Niestandardowy CSS", - "form.import.label.file": "Plik OPML", - "form.import.label.url": "URL", - "form.integration.fever_activate": "Aktywuj Fever API", - "form.integration.fever_username": "Login do Fever", - "form.integration.fever_password": "Hasło do Fever", - "form.integration.fever_endpoint": "Punkt końcowy API gorączka:", - "form.integration.pinboard_activate": "Zapisz artykuł w Pinboard", - "form.integration.pinboard_token": "Token Pinboard API", - "form.integration.pinboard_tags": "Pinboard Tags", - "form.integration.pinboard_bookmark": "Zaznacz zakładkę jako nieprzeczytaną", - "form.integration.instapaper_activate": "Zapisz artykuł w Instapaper", - "form.integration.instapaper_username": "Login do Instapaper", - "form.integration.instapaper_password": "Hasło do Instapaper", - "form.integration.pocket_activate": "Zapisz artykuły w Pocket", - "form.integration.pocket_consumer_key": "Pocket Consumer Key", - "form.integration.pocket_access_token": "Token dostępu kieszeń", - "form.integration.pocket_connect_link": "Połącz swoje konto Pocket", - "form.integration.wallabag_activate": "Zapisz artykuły do Wallabag", - "form.integration.wallabag_endpoint": "Wallabag URL", - "form.integration.wallabag_client_id": "Wallabag Client-ID", - "form.integration.wallabag_client_secret": "Wallabag Client Secret", - "form.integration.wallabag_username": "Login do Wallabag", - "form.integration.wallabag_password": "Hasło do Wallabag", - "form.integration.nunux_keeper_activate": "Zapisz artykuly do Nunux Keeper", - "form.integration.nunux_keeper_endpoint": "Nunux Keeper URL", - "form.integration.nunux_keeper_api_key": "Nunux Keeper API key", - "form.api_key.label.description": "Etykieta klucza API", - "form.submit.loading": "Ładowanie...", - "form.submit.saving": "Zapisywanie...", - "time_elapsed.not_yet": "jeszcze nie", - "time_elapsed.yesterday": "wczoraj", - "time_elapsed.now": "przed chwilą", - "time_elapsed.minutes": [ - "%d minuta temu", - "%d minuty temu", - "%d minut temu" - ], - "time_elapsed.hours": [ - "%d godzinę temu", - "%d godziny temu", - "%d godzin temu" - ], - "time_elapsed.days": [ - "%d dzień temu", - "%d dni temu", - "%d dni temu" - ], - "time_elapsed.weeks": [ - "%d tydzień temu", - "%d tygodni temu", - "%d tygodni temu" - ], - "time_elapsed.months": [ - "%d miesiąc temu", - "%d miesięcy temu", - "%d miesięcy temu" - ], - "time_elapsed.years": [ - "%d rok temu", - "%d lat temu", - "%d lat temu" - ], - "This feed already exists (%s)": "Ten kanał już istnieje (%s)", - "Unable to fetch feed (Status Code = %d)": "Kanał nie mógł zostać pobrany (kod=%d)", - "Unable to open this link: %v": "Nie można było otworzyć tego linku: %v", - "Unable to analyze this page: %v": "Nie można przeanalizować tej strony: %v", - "Unable to execute request: %v": "To polecenie nie mogło zostać wykonane: %v", - "Unable to parse OPML file: %q": "Plik OPML nie mógł zostać odczytany: %q", - "Unable to parse RSS feed: %q": "Nie można było odczytać kanału RSS: %q", - "Unable to parse Atom feed: %q": "Nie można było odczytać kanału Atom: %q", - "Unable to parse JSON feed: %q": "Nie można było odczytać kanału JSON: %q", - "Unable to parse RDF feed: %q": "Nie można było odczytać kanału RDF: %q", - "Unable to normalize encoding: %q": "Kodowanie znaków nie mogło zostać znormalizowane: %q", - "Category not found for this user": "Kategoria nie znaleziona dla tego użytkownika", - "This feed is empty": "Ten kanał jest pusty", - "This web page is empty": "Ta strona jest pusta", - "Invalid SSL certificate (original error: %q)": "Certyfikat SSL jest nieprawidłowy (błąd: %q)", - "This website is temporarily unreachable (original error: %q)": "Ta strona jest tymczasowo niedostępna (błąd: %q)", - "This website is permanently unreachable (original error: %q)": "Ta strona jest niedostępna (błąd: %q)", - "Website unreachable, the request timed out after %d seconds": "Strona internetowa nieosiągalna, żądanie wygasło po %d sekundach" -}`, - "pt_BR": `{ - "confirm.question": "Tem certeza?", - "confirm.yes": "Sim", - "confirm.no": "Não", - "confirm.loading": "Carregando...", - "action.subscribe": "Inscrever", - "action.save": "Salvar", - "action.or": "Ou", - "action.cancel": "Cancelar", - "action.remove": "Remover", - "action.remove_feed": "Remover fonte", - "action.update": "Atualizar", - "action.edit": "Editar", - "action.download": "Baixar", - "action.import": "Importar", - "action.login": "Iniciar sessão", - "action.home_screen": "Voltar para a tela inicial", - "tooltip.keyboard_shortcuts": "Atalho do teclado: %s", - "tooltip.logged_user": "Autenticado como %s", - "menu.unread": "Não lido", - "menu.starred": "Favoritos", - "menu.history": "Histórico", - "menu.feeds": "Fontes", - "menu.categories": "Categorias", - "menu.settings": "Configurações", - "menu.logout": "Encerrar sessão", - "menu.preferences": "Preferências", - "menu.integrations": "Integrações", - "menu.sessions": "Sessões", - "menu.users": "Usuários", - "menu.about": "Sobre", - "menu.export": "Exportar", - "menu.import": "Importar", - "menu.create_category": "Criar uma categoria", - "menu.mark_page_as_read": "Marcar essa página como lída", - "menu.mark_all_as_read": "Marcar todos como lido", - "menu.show_all_entries": "Mostrar todas os itens", - "menu.show_only_unread_entries": "Mostrar apenas itens não lidos", - "menu.refresh_feed": "Atualizar", - "menu.refresh_all_feeds": "Atualizar todas as fontes", - "menu.edit_feed": "Editar", - "menu.edit_category": "Editar", - "menu.add_feed": "Adicionar inscrição", - "menu.add_user": "Adicionar usuário", - "menu.flush_history": "Limpar histórico", - "menu.feed_entries": "Itens", - "menu.api_keys": "Chaves de API", - "menu.create_api_key": "Criar uma nova chave de API", - "menu.shared_entries": "Itens compartilhados", - "search.label": "Buscar", - "search.placeholder": "Buscar por...", - "pagination.next": "Próximo", - "pagination.previous": "Anterior", - "entry.status.unread": "Não lido", - "entry.status.read": "Lido", - "entry.status.toast.unread": "Marcado como não lido", - "entry.status.toast.read": "Marcado como lido", - "entry.status.title": "Modificar estado deste item", - "entry.bookmark.toggle.on": "Favoritar", - "entry.bookmark.toggle.off": "Remover dos Favoritos", - "entry.bookmark.toast.on": "Favoritado", - "entry.bookmark.toast.off": "Desfavoritado", - "entry.state.saving": "Salvando...", - "entry.state.loading": "Carregando...", - "entry.save.label": "Salvar", - "entry.save.title": "Salvar esse item", - "entry.save.completed": "Feito!", - "entry.save.toast.completed": "Item guardado", - "entry.scraper.label": "Baixar", - "entry.scraper.title": "Obter conteúdo completo", - "entry.scraper.completed": "Feito!", - "entry.external_link.label": "Link externo", - "entry.comments.label": "Comentários", - "entry.comments.title": "Ver comentários", - "entry.share.label": "Compartilhar", - "entry.share.title": "Compartilhar esse item", - "entry.unshare.label": "Descompartilhar", - "entry.shared_entry.title": "Abrir link público", - "entry.shared_entry.label": "Compartilhar", - "entry.estimated_reading_time": [ - "Leitura de %d minuto", - "Leitura de %d minutos" - ], - "page.shared_entries.title": "Itens compartilhados", - "page.unread.title": "Não lídos", - "page.starred.title": "Favoritos", - "page.categories.title": "Categorias", - "page.categories.no_feed": "Sem fonte.", - "page.categories.entries": "Itens", - "page.categories.feeds": "Inscrições", - "page.categories.feed_count": [ - "Existe %d fonte.", - "Existem %d fontes." - ], - "page.new_category.title": "Nova categoria", - "page.new_user.title": "Novo usuário", - "page.edit_category.title": "Editar categoria: %s", - "page.edit_user.title": "Editar usuário: %s", - "page.feeds.title": "Fontes", - "page.feeds.last_check": "Última verificação:", - "page.feeds.unread_counter": "Numero de itens não lidos", - "page.feeds.read_counter": "Número de itens lidos", - "page.feeds.error_count": [ - "%d erro", - "%d erros" - ], - "page.history.title": "Histórico", - "page.import.title": "Importar", - "page.search.title": "Resultados da busca", - "page.about.title": "Sobre", - "page.about.credits": "Créditos", - "page.about.version": "Versão:", - "page.about.build_date": "Compilado em:", - "page.about.author": "Autor:", - "page.about.license": "Licença:", - "page.about.global_config_options": "opções de configuração global", - "page.about.postgres_version": "Postgres versão:", - "page.add_feed.title": "Nova inscrição", - "page.add_feed.no_category": "Não existe uma categoria. Deve existir pelo menos uma categoria.", - "page.add_feed.label.url": "URL", - "page.add_feed.submit": "Buscar uma fonte", - "page.add_feed.legend.advanced_options": "Opções avançadas", - "page.add_feed.choose_feed": "Escolher uma fonte", - "page.edit_feed.title": "Editar fonte: %s", - "page.edit_feed.last_check": "Última verificação:", - "page.edit_feed.last_modified_header": "Cabeçalho 'LastModified':", - "page.edit_feed.etag_header": "Cabeçalho 'ETag':", - "page.edit_feed.no_header": "Sem cabeçalhos", - "page.edit_feed.last_parsing_error": "Último erro durante processamento", - "page.entry.attachments": "Anexos", - "page.keyboard_shortcuts.title": "Atalhos de teclado", - "page.keyboard_shortcuts.subtitle.sections": "Navegação de seções", - "page.keyboard_shortcuts.subtitle.items": "Navegação de itens", - "page.keyboard_shortcuts.subtitle.pages": "Navegação de páginas", - "page.keyboard_shortcuts.subtitle.actions": "Ações", - "page.keyboard_shortcuts.go_to_unread": "Ir aos não lidos", - "page.keyboard_shortcuts.go_to_starred": "Ir aos favoritos", - "page.keyboard_shortcuts.go_to_history": "Ir ao histórico", - "page.keyboard_shortcuts.go_to_feeds": "Ir as inscrições", - "page.keyboard_shortcuts.go_to_categories": "Ir as categorias", - "page.keyboard_shortcuts.go_to_settings": "Ir as configurações", - "page.keyboard_shortcuts.show_keyboard_shortcuts": "Mostrar atalhos de teclado", - "page.keyboard_shortcuts.go_to_previous_item": "Ir ao item anterior", - "page.keyboard_shortcuts.go_to_next_item": "Ir ao tem seguinte", - "page.keyboard_shortcuts.go_to_feed": "Ir a fonte", - "page.keyboard_shortcuts.go_to_previous_page": "Ir a página anterior", - "page.keyboard_shortcuts.go_to_next_page": "Ir a página seguinte", - "page.keyboard_shortcuts.open_item": "Abrir o item selecionado", - "page.keyboard_shortcuts.open_original": "Abrir o conteúdo original", - "page.keyboard_shortcuts.open_original_same_window": "Abrir o conteúdo original na janela atual", - "page.keyboard_shortcuts.open_comments": "Abrir os comentários", - "page.keyboard_shortcuts.open_comments_same_window": "Abrir os comentários na janela atual", - "page.keyboard_shortcuts.toggle_read_status": "Inverter estado de leitura do item", - "page.keyboard_shortcuts.refresh_all_feeds": "Atualizar todas as fontes", - "page.keyboard_shortcuts.mark_page_as_read": "Marcar página atual como lida", - "page.keyboard_shortcuts.download_content": "Buscar o conteúdo original", - "page.keyboard_shortcuts.toggle_bookmark_status": "Marcar ou desmarcar como favorito", - "page.keyboard_shortcuts.save_article": "Salvar item", - "page.keyboard_shortcuts.scroll_item_to_top": "Role o item para cima", - "page.keyboard_shortcuts.remove_feed": "Remover essa fonte", - "page.keyboard_shortcuts.go_to_search": "Ir para o campo de busca", - "page.keyboard_shortcuts.close_modal": "Fechar janela", - "page.users.title": "Usuários", - "page.users.username": "Nome de usuário", - "page.users.never_logged": "Nunca", - "page.users.admin.yes": "Sim", - "page.users.admin.no": "Não", - "page.users.actions": "Ações", - "page.users.last_login": "Último acesso", - "page.users.is_admin": "Administrador", - "page.settings.title": "Ajustes", - "page.settings.link_google_account": "Vincular minha conta do Google", - "page.settings.unlink_google_account": "Desvincular minha conta do Google", - "page.settings.link_oidc_account": "Vincular minha conta do OpenID Connect", - "page.settings.unlink_oidc_account": "Desvincular minha conta do OpenID Connect", - "page.login.title": "Iniciar Sessão", - "page.login.google_signin": "Iniciar Sessão com sua conta do Google", - "page.login.oidc_signin": "Iniciar Sessão com sua conta do OpenID Connect", - "page.integrations.title": "Integrações", - "page.integration.miniflux_api": "API do Miniflux", - "page.integration.miniflux_api_endpoint": "Endpoint da API", - "page.integration.miniflux_api_username": "Nome de usuário", - "page.integration.miniflux_api_password": "Senha", - "page.integration.miniflux_api_password_value": "Senha da sua Conta", - "page.integration.bookmarklet": "Bookmarklet", - "page.integration.bookmarklet.name": "Adicionar ao Miniflux", - "page.integration.bookmarklet.instructions": "Arrasta e solta esse link para os favoritos do teu navegador.", - "page.integration.bookmarklet.help": "Esse link especial permite você se inscrever a um site diretamente usando favorito do navegador.", - "page.sessions.title": "Sessões", - "page.sessions.table.date": "Data", - "page.sessions.table.ip": "Endereço IP", - "page.sessions.table.user_agent": "Agente de usuário", - "page.sessions.table.actions": "Ações", - "page.sessions.table.current_session": "Sessão Atual", - "page.api_keys.title": "Chaves de API", - "page.api_keys.table.description": "Descrição", - "page.api_keys.table.token": "Token", - "page.api_keys.table.last_used_at": "Ultima utilização", - "page.api_keys.table.created_at": "Data de criação", - "page.api_keys.table.actions": "Ações", - "page.api_keys.never_used": "Nunca usado", - "page.new_api_key.title": "Nova chave de API", - "alert.no_shared_entry": "Não há itens compartilhados.", - "alert.no_bookmark": "Não há favorito neste momento.", - "alert.no_category": "Não há categoria.", - "alert.no_category_entry": "Não há itens nesta categoria.", - "alert.no_feed_entry": "Não há itens nessa fonte.", - "alert.no_feed": "Não há inscrições.", - "alert.no_feed_in_category": "Não há inscrições nessa categoria.", - "alert.no_history": "Não há histórico nesse momento.", - "alert.feed_error": "Ocorreu um problema com esta fonte.", - "alert.no_search_result": "Não há resultados para essa busca.", - "alert.no_unread_entry": "Não há itens não lidos.", - "alert.no_user": "Você é o único usuário.", - "alert.account_unlinked": "Sua conta externa está desvinculada!", - "alert.account_linked": "Sua conta externa está vinculada!", - "alert.pocket_linked": "Sua conta do Pocket está vinculada!", - "alert.prefs_saved": "Suas preferências foram salvas!", - "error.unlink_account_without_password": "Você deve definir uma senha, senão não será possível efetuar a sessão novamente.", - "error.duplicate_linked_account": "Alguém já está vinculado a esse serviço!", - "error.duplicate_fever_username": "Alguém já está utilizando esse nome de usuário do Fever!", - "error.pocket_request_token": "Não foi possível obter um pedido de token no Pocket!", - "error.pocket_access_token": "Não foi possível obter um token de acesso no Pocket!", - "error.category_already_exists": "Esta categoria já existe.", - "error.unable_to_create_category": "Não foi possível criar essa categoria.", - "error.unable_to_update_category": "Não foi possível atualizar essa categoria.", - "error.user_already_exists": "Esse usuário já existe.", - "error.unable_to_create_user": "Não foi possível criar esse usuário.", - "error.unable_to_update_user": "Não foi possível atualizar esse usuário.", - "error.unable_to_update_feed": "Não foi possível atualizar essa fonte.", - "error.subscription_not_found": "Não foi possível encontrar uma inscrição.", - "error.empty_file": "Esse arquivo está vazio.", - "error.bad_credentials": "Usuário ou senha são inválidos.", - "error.fields_mandatory": "Todos os campos são obrigatórios.", - "error.title_required": "O título é obrigatório.", - "error.different_passwords": "As senhas não são iguais.", - "error.password_min_length": "A senha deve ter no mínimo 6 caracteres.", - "error.settings_mandatory_fields": "Os campos de nome de usuário, tema, idioma e fuso horário são obrigatórios.", - "error.entries_per_page_invalid": "O número de itens por página é inválido.", - "error.feed_mandatory_fields": "O campo de URL e categoria são obrigatórios.", - "error.feed_already_exists": "Este feed já existe.", - "error.invalid_feed_url": "URL de feed inválido.", - "error.invalid_site_url": "URL de site inválido.", - "error.feed_url_not_empty": "O URL do feed não pode estar vazio.", - "error.site_url_not_empty": "O URL do site não pode estar vazio.", - "error.feed_title_not_empty": "O título do feed não pode estar vazio.", - "error.feed_category_not_found": "Esta categoria não existe ou não pertence a este usuário.", - "error.feed_invalid_blocklist_rule": "A regra da lista de bloqueio é inválida.", - "error.feed_invalid_keeplist_rule": "A regra de manutenção da lista é inválida.", - "error.user_mandatory_fields": "O nome de usuário é obrigatório.", - "error.api_key_already_exists": "Essa chave de API já existe.", - "error.unable_to_create_api_key": "Não foi possível criar uma chave de API.", - "error.invalid_theme": "Tema inválido.", - "error.invalid_language": "Idioma inválido.", - "error.invalid_timezone": "Fuso horário inválido.", - "error.invalid_entry_direction": "Direção de entrada inválida.", - "form.feed.label.title": "Título", - "form.feed.label.site_url": "URL do site", - "form.feed.label.feed_url": "URL da fonte", - "form.feed.label.category": "Categoria", - "form.feed.label.crawler": "Obter conteúdo original", - "form.feed.label.feed_username": "Nome de usuário da fonte", - "form.feed.label.feed_password": "Senha da fonte", - "form.feed.label.user_agent": "Sobrescrever o agente de usuário (user-agent) padrão", - "form.feed.label.scraper_rules": "Regras do scraper", - "form.feed.label.rewrite_rules": "Regras para o Rewrite", - "form.feed.label.blocklist_rules": "Regras de bloqueio", - "form.feed.label.keeplist_rules": "Regras de permissão", - "form.feed.label.ignore_http_cache": "Ignorar cache HTTP", - "form.feed.label.disabled": "Não atualizar esta fonte", - "form.feed.label.fetch_via_proxy": "Buscar via proxy", - "form.category.label.title": "Título", - "form.user.label.username": "Nome de usuário", - "form.user.label.password": "Senha", - "form.user.label.confirmation": "Confirmação de senha", - "form.user.label.admin": "Administrador", - "form.prefs.label.language": "Idioma", - "form.prefs.label.timezone": "Fuso horário", - "form.prefs.label.theme": "Tema", - "form.prefs.label.entry_sorting": "Ordenação dos itens", - "form.prefs.label.entries_per_page": "Itens por página", - "form.prefs.select.older_first": "Itens mais velhos primeiro", - "form.prefs.select.recent_first": "Itens mais recentes", - "form.prefs.label.keyboard_shortcuts": "Habilitar atalhos do teclado", - "form.prefs.label.entry_swipe": "Ativar gesto de deslizar nas entradas no celular", - "form.prefs.label.show_reading_time": "Mostrar tempo estimado de leitura de artigos", - "form.prefs.label.custom_css": "CSS customizado", - "form.import.label.file": "Arquivo OPML", - "form.import.label.url": "URL", - "form.integration.fever_activate": "Ativar API do Fever", - "form.integration.fever_username": "Nome de usuário do Fever", - "form.integration.fever_password": "Senha do Fever", - "form.integration.fever_endpoint": "Endpoint da API do Fever:", - "form.integration.pinboard_activate": "Salvar itens no Pinboard", - "form.integration.pinboard_token": "Token de API do Pinboard", - "form.integration.pinboard_tags": "Etiquetas (tags) do Pinboard", - "form.integration.pinboard_bookmark": "Salvar marcador como não lído", - "form.integration.instapaper_activate": "Salvar itens no Instapaper", - "form.integration.instapaper_username": "Nome do usuário do Instapaper", - "form.integration.instapaper_password": "Senha do Instapaper", - "form.integration.pocket_activate": "Salvar itens no Pocket", - "form.integration.pocket_consumer_key": "Chave de consumo (Consumer Key) do Pocket", - "form.integration.pocket_access_token": "Token de acesso do Pocket", - "form.integration.pocket_connect_link": "Conectar a conta do Pocket", - "form.integration.wallabag_activate": "Salvar itens no Wallabag", - "form.integration.wallabag_endpoint": "Endpoint da API do Wallabag", - "form.integration.wallabag_client_id": "ID de cliente (Client ID) do Wallabag", - "form.integration.wallabag_client_secret": "Segredo do cliente (Client Secret) do Wallabag", - "form.integration.wallabag_username": "Nome de usuário do Wallabag", - "form.integration.wallabag_password": "Senha do Wallabag", - "form.integration.nunux_keeper_activate": "Salvar itens no Nunux Keeper", - "form.integration.nunux_keeper_endpoint": "Endpoint de API do Nunux Keeper", - "form.integration.nunux_keeper_api_key": "Chave de API do Nunux Keeper", - "form.api_key.label.description": "Etiqueta da chave de API", - "form.submit.loading": "Carregando...", - "form.submit.saving": "Salvando...", - "time_elapsed.not_yet": "ainda não", - "time_elapsed.yesterday": "ontem", - "time_elapsed.now": "agora mesmo", - "time_elapsed.minutes": [ - "há %d minuto", - "há %d minutos" - ], - "time_elapsed.hours": [ - "há %d hora", - "há %d horas" - ], - "time_elapsed.days": [ - "há %d dia", - "há %d dias" - ], - "time_elapsed.weeks": [ - "há %d semana", - "há %d semanas" - ], - "time_elapsed.months": [ - "há %d mês", - "há %d meses" - ], - "time_elapsed.years": [ - "há %d ano", - "há %d anos" - ] -}`, - "ru_RU": `{ - "confirm.question": "Вы уверены?", - "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 минут чтения" - ], - "page.shared_entries.title": "Общедоступные записи", - "page.unread.title": "Непрочитанное", - "page.starred.title": "Избранное", - "page.categories.title": "Категории", - "page.categories.no_feed": "Нет подписок.", - "page.categories.entries": "Cтатьи", - "page.categories.feeds": "Подписки", - "page.categories.feed_count": [ - "Есть %d подписка.", - "Есть %d подписки.", - "Есть %d подписок." - ], - "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.postgres_version": "Postgres bерсия:", - "page.about.global_config_options": "глобальные параметры конфигурации", - "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_same_window": "Открыть оригинальную ссылку в текущей вкладке", - "page.keyboard_shortcuts.open_original": "Открыть оригинальную ссылку", - "page.keyboard_shortcuts.open_comments_same_window": "Открыть ссылку на комментарии в текущей вкладке", - "page.keyboard_shortcuts.open_comments": "Открыть ссылку для комментариев", - "page.keyboard_shortcuts.toggle_read_status": "Переключатель прочитанного", - "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.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-ключ", - "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.pocket_request_token": "Не удается извлечь request token из Pocket!", - "error.pocket_access_token": "Не удается извлечь 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.empty_file": "Этот файл пуст.", - "error.bad_credentials": "Неверное имя пользователя или пароль.", - "error.fields_mandatory": "Все поля обязательны.", - "error.title_required": "Название обязательно.", - "error.different_passwords": "Пароли не совпадают.", - "error.password_min_length": "Вы должны использовать минимум 6 символов.", - "error.settings_mandatory_fields": "Имя пользователя, тема, язык и часовой пояс обязательны.", - "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.", - "error.invalid_theme": "Неверная тема.", - "error.invalid_language": "Неверный язык.", - "error.invalid_timezone": "Неверный часовой пояс.", - "error.invalid_entry_direction": "Неверное направление входа.", - "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.scraper_rules": "Правила Scraper", - "form.feed.label.rewrite_rules": "Правила Rewrite", - "form.feed.label.blocklist_rules": "Правила блокировки", - "form.feed.label.keeplist_rules": "правила разрешений", - "form.feed.label.ignore_http_cache": "Игнорировать HTTP-кеш", - "form.feed.label.fetch_via_proxy": "Получить через прокси", - "form.feed.label.disabled": "Не обновлять этот канал", - "form.category.label.title": "Название", - "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.select.older_first": "Сначала старые записи", - "form.prefs.select.recent_first": "Сначала последние записи", - "form.prefs.label.keyboard_shortcuts": "Включить сочетания клавиш", - "form.prefs.label.entry_swipe": "Включить жест смахивания для записей на мобильном устройстве", - "form.prefs.label.show_reading_time": "Показать примерное время чтения статей", - "form.prefs.label.custom_css": "Пользовательские CSS", - "form.import.label.file": "OPML файл", - "form.import.label.url": "URL", - "form.integration.fever_activate": "Активировать Fever API", - "form.integration.fever_username": "Имя пользователя Fever", - "form.integration.fever_password": "Пароль Fever", - "form.integration.fever_endpoint": "Конечная точка Fever API:", - "form.integration.pinboard_activate": "Сохранять статьи в Pinboard", - "form.integration.pinboard_token": "Pinboard API Token", - "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_endpoint": "Конечная точка Wallabag API", - "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.nunux_keeper_activate": "Сохранять статьи в Nunux Keeper", - "form.integration.nunux_keeper_endpoint": "Конечная точка Nunux Keeper API", - "form.integration.nunux_keeper_api_key": "Nunux Keeper API Key", - "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 лет назад" - ] -}`, - "zh_CN": `{ - "confirm.question": "您确认吗?", - "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分钟阅读" - ], - "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 个源" - ], - "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 错误" - ], - "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.postgres_version": "Postgres 版本号:", - "page.about.global_config_options": "全局配置选项", - "page.add_feed.title": "新增订阅", - "page.add_feed.no_category": "没有类别,您必须至少有一个类别", - "page.add_feed.label.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": "最后修改的 Header:", - "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": "切换已读/未读状态", - "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": "删除此Feed", - "page.keyboard_shortcuts.go_to_search": "将重点放在搜索表单上", - "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 Endpoint", - "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密钥", - "alert.no_shared_entry": "没有共享条目。", - "alert.no_bookmark": "目前没有书签", - "alert.no_category": "目前没有分类", - "alert.no_category_entry": "该分类下没有文章", - "alert.no_feed_entry": "该源中没有文章", - "alert.no_feed": "目前没有订阅", - "alert.no_history": "目前没有历史", - "alert.feed_error": "该源存在问题", - "alert.no_search_result": "该搜索没有结果", - "alert.no_feed_in_category": "没有该类别的订阅。", - "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": "该 Provider 已被关联!", - "error.duplicate_fever_username": "Fever 用户名已被占用!", - "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.empty_file": "该文件为空", - "error.bad_credentials": "用户名或密码无效", - "error.fields_mandatory": "必须填写全部信息", - "error.title_required": "必须填写标题", - "error.different_passwords": "两次输入的密码不同", - "error.password_min_length": "请至少使用6个字符", - "error.settings_mandatory_fields": "必须填写用户名、主题、语言以及时区", - "error.entries_per_page_invalid": "每页的条目数无效。", - "error.feed_mandatory_fields": "必须填写 URL 和分类", - "error.feed_already_exists": "此供稿已存在。", - "error.invalid_feed_url": "供稿网址无效。", - "error.invalid_site_url": "无效的网站网址。", - "error.feed_url_not_empty": "供稿网址不能为空。", - "error.site_url_not_empty": "网站网址不能为空。", - "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密钥。", - "error.invalid_theme": "无效的主题。", - "error.invalid_language": "语言无效。", - "error.invalid_timezone": "无效的时区。", - "error.invalid_entry_direction": "无效的输入方向。", - "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.scraper_rules": "Scraper 规则", - "form.feed.label.rewrite_rules": "重写规则", - "form.feed.label.blocklist_rules": "封锁规则", - "form.feed.label.keeplist_rules": "许可规则", - "form.feed.label.ignore_http_cache": "忽略HTTP缓存", - "form.feed.label.fetch_via_proxy": "通过代理获取", - "form.feed.label.disabled": "请勿刷新此Feed", - "form.category.label.title": "标题", - "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.select.older_first": "旧->新", - "form.prefs.select.recent_first": "新->旧", - "form.prefs.label.keyboard_shortcuts": "启用键盘快捷键", - "form.prefs.label.entry_swipe": "在移动设备上的条目上启用滑动手势", - "form.prefs.label.show_reading_time": "显示文章的预计阅读时间", - "form.prefs.label.custom_css": "自定义CSS", - "form.import.label.file": "OPML 文件", - "form.import.label.url": "URL", - "form.integration.fever_activate": "启用 Fever API", - "form.integration.fever_username": "Fever 用户名", - "form.integration.fever_password": "Fever 密码", - "form.integration.fever_endpoint": "Fever API endpoint:", - "form.integration.pinboard_activate": "保存文章到 Pinboard", - "form.integration.pinboard_token": "Pinboard API Token", - "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 用户密钥", - "form.integration.pocket_access_token": "Pocket Access Token", - "form.integration.pocket_connect_link": "连接您的 Pocket 帐户", - "form.integration.wallabag_activate": "保存文章到 Wallabag", - "form.integration.wallabag_endpoint": "Wallabag URL", - "form.integration.wallabag_client_id": "Wallabag 客户端ID", - "form.integration.wallabag_client_secret": "Wallabag 客户端 Secret", - "form.integration.wallabag_username": "Wallabag 用户名", - "form.integration.wallabag_password": "Wallabag 密码", - "form.integration.nunux_keeper_activate": "保存文章到 Nunux Keeper", - "form.integration.nunux_keeper_endpoint": "Nunux Keeper API Endpoint", - "form.integration.nunux_keeper_api_key": "Nunux Keeper API 密钥", - "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 分钟前" - ], - "time_elapsed.hours": [ - "%d 小时前" - ], - "time_elapsed.days": [ - "%d 天前" - ], - "time_elapsed.weeks": [ - "%d 周前" - ], - "time_elapsed.months": [ - "%d 月前" - ], - "time_elapsed.years": [ - "%d 年前" - ], - "This feed already exists (%s)": "源已存在 (%s)", - "Unable to fetch feed (Status Code = %d)": "无法获取源 (错误代码=%d)", - "Unable to open this link: %v": "无法打开这一链接: %v", - "Unable to analyze this page: %v": "无法分析这一页面: %v", - "Unable to execute request: %v": "无法执行这一请求: %v", - "Unable to parse OPML file: %q": "无法解析OPML文件: %q", - "Unable to parse RSS feed: %q": "无法解析RSS源: %q", - "Unable to parse Atom feed: %q": "无法解析Atom源: %q", - "Unable to parse JSON feed: %q": "无法解析JSON源: %q", - "Unable to parse RDF feed: %q": "无法解析RDF源: %q", - "Unable to read data: %q": "无法读取数据: %q", - "Unable to normalize encoding: %q": "无法正则化编码: %q", - "Category not found for this user": "未找到该用户的这一分类", - "This feed is empty": "该源是空的", - "This web page is empty": "该网页是空的", - "Invalid SSL certificate (original error: %q)": "无效的SSL证书 (原始错误: %q)", - "This website is temporarily unreachable (original error: %q)": "该网站暂时不可达 (原始错误: %q)", - "This website is permanently unreachable (original error: %q)": "该网站永久不可达 (原始错误: %q)", - "Website unreachable, the request timed out after %d seconds": "网站不可达, 请求已在 %d 秒后超时" -}`, -} - -var translationsChecksums = map[string]string{ - "de_DE": "83df0b00c06a4a96a806456048cf61962aa1218acbd24d14b95bfedda8274797", - "en_US": "0f71c28287716454c8f1c191899e93adbe2410a109e06f17892ec9710389ac88", - "es_ES": "cfaf7d66f0ddf544492ae89c32b501bb687aaf3f65e08d09d1a6aa44bc0f55a6", - "fr_FR": "1d94f93c89c209ca0041f1c74a5e6ac0234fd8ddae900e41c312a326521f096b", - "it_IT": "6b33e802ac2bdf412c89a2de616fc162c1d98052bf92d2c81da0501809a223d3", - "ja_JP": "81e64953889c637a14695881cecafdef8fdcc9e0b5934281999ca23b0aee6037", - "nl_NL": "1532538d071ca8097a1e02c6a0f803598126f6d4bb3bb9409e20d9f8fc957a73", - "pl_PL": "2b4cb51082be142c6a5cf32d681348ff0224b60a052be318c99efe1d6fa269dc", - "pt_BR": "0dd731b01e2453453548818ba0539e54da7722d0c0cd931bf160cb32fd691fee", - "ru_RU": "8b482f58720668d325ce16c9e4399e01f22db5afe79558b10b2e782779678ec8", - "zh_CN": "193195d7609b7fb07386b0c56c4c85ecf370e6e17295a18c36a6e28289336a0e", -} diff --git a/locale/translations_test.go b/locale/translations_test.go deleted file mode 100644 index 61fd3068..00000000 --- a/locale/translations_test.go +++ /dev/null @@ -1,66 +0,0 @@ -// Copyright 2018 Frédéric Guillot. All rights reserved. -// Use of this source code is governed by the Apache 2.0 -// license that can be found in the LICENSE file. - -package locale // import "miniflux.app/locale" - -import "testing" - -func TestAllLanguagesHaveCatalog(t *testing.T) { - for language := range AvailableLanguages() { - if _, found := translations[language]; !found { - t.Fatalf(`This language do not have a catalog: %q`, language) - } - } -} - -func TestAllKeysHaveValue(t *testing.T) { - for language := range AvailableLanguages() { - messages, err := parseTranslationDict(translations[language]) - if err != nil { - t.Fatalf(`Parsing error for language %q`, language) - } - - if len(messages) == 0 { - t.Fatalf(`The language %q doesn't have any messages`, language) - } - - for k, v := range messages { - switch value := v.(type) { - case string: - if value == "" { - t.Errorf(`The key %q for the language %q have an empty string as value`, k, language) - } - case []string: - if len(value) == 0 { - t.Errorf(`The key %q for the language %q have an empty list as value`, k, language) - } - } - } - } -} - -func TestMissingTranslations(t *testing.T) { - refLang := "en_US" - references, err := parseTranslationDict(translations[refLang]) - if err != nil { - t.Fatal(`Unable to parse reference language`) - } - - for language := range AvailableLanguages() { - if language == refLang { - continue - } - - messages, err := parseTranslationDict(translations[language]) - if err != nil { - t.Fatalf(`Parsing error for language %q`, language) - } - - for key := range references { - if _, found := messages[key]; !found { - t.Fatalf(`Translation key %q not found in language %q`, key, language) - } - } - } -} diff --git a/main.go b/main.go index d079d7e0..7f0787b9 100644 --- a/main.go +++ b/main.go @@ -10,7 +10,6 @@ package main // import "miniflux.app" //go:generate gofmt -s -w ui/static/js.go //go:generate gofmt -s -w template/views.go //go:generate gofmt -s -w template/common.go -//go:generate gofmt -s -w locale/translations.go import ( "miniflux.app/cli"