diff --git a/internal/locale/catalog_test.go b/internal/locale/catalog_test.go index cebb898a..fbdb4512 100644 --- a/internal/locale/catalog_test.go +++ b/internal/locale/catalog_test.go @@ -83,7 +83,7 @@ func TestMissingTranslations(t *testing.T) { for key := range references { if _, found := messages[key]; !found { - t.Fatalf(`Translation key %q not found in language %q`, key, language) + t.Errorf(`Translation key %q not found in language %q`, key, language) } } } @@ -91,25 +91,26 @@ func TestMissingTranslations(t *testing.T) { func TestTranslationFilePluralForms(t *testing.T) { var numberOfPluralFormsPerLanguage = map[string]int{ + "de_DE": 2, + "el_EL": 2, "en_US": 2, "es_ES": 2, + "fi_FI": 2, "fr_FR": 2, - "de_DE": 2, - "pl_PL": 3, - "pt_BR": 2, - "zh_CN": 1, - "zh_TW": 1, - "nan_Latn_pehoeji": 1, - "nl_NL": 2, - "ru_RU": 3, + "hi_IN": 2, + "id_ID": 1, "it_IT": 2, "ja_JP": 1, + "nan_Latn_pehoeji": 1, + "nl_NL": 2, + "pl_PL": 3, + "pt_BR": 2, + "ro_RO": 3, + "ru_RU": 3, "tr_TR": 2, - "el_EL": 2, - "fi_FI": 2, - "hi_IN": 2, "uk_UA": 3, - "id_ID": 1, + "zh_CN": 1, + "zh_TW": 1, } for language := range AvailableLanguages { messages, err := loadTranslationFile(language) diff --git a/internal/locale/locale.go b/internal/locale/locale.go index 7749e3cf..8d5ba7a6 100644 --- a/internal/locale/locale.go +++ b/internal/locale/locale.go @@ -5,23 +5,24 @@ package locale // import "miniflux.app/v2/internal/locale" // AvailableLanguages is the list of available languages. var AvailableLanguages = map[string]string{ + "de_DE": "Deutsch", + "el_EL": "Ελληνικά", "en_US": "English", "es_ES": "Español", + "fi_FI": "Suomi", "fr_FR": "Français", - "de_DE": "Deutsch", - "pl_PL": "Polski", - "pt_BR": "Português Brasileiro", - "zh_CN": "简体中文", - "zh_TW": "繁體中文", - "nan_Latn_pehoeji": "Pe̍h-ōe-jī", - "nl_NL": "Nederlands", - "ru_RU": "Русский", + "hi_IN": "हिन्दी", + "id_ID": "Bahasa Indonesia", "it_IT": "Italiano", "ja_JP": "日本語", + "nan_Latn_pehoeji": "Pe̍h-ōe-jī", + "nl_NL": "Nederlands", + "pl_PL": "Polski", + "pt_BR": "Português Brasileiro", + "ro_RO": "Română", + "ru_RU": "Русский", "tr_TR": "Türkçe", - "el_EL": "Ελληνικά", - "fi_FI": "Suomi", - "hi_IN": "हिन्दी", "uk_UA": "Українська", - "id_ID": "Bahasa Indonesia", + "zh_CN": "简体中文", + "zh_TW": "繁體中文", } diff --git a/internal/locale/plural.go b/internal/locale/plural.go index 0b4c918d..5feef7bb 100644 --- a/internal/locale/plural.go +++ b/internal/locale/plural.go @@ -71,6 +71,16 @@ var pluralForms = map[string]func(n int) int{ } return 0 }, + // nplurals=3; plural=(n==1 ? 0 : n==0 || (n%100 > 0 && n%100 < 20) ? 1 : 2); + "ro_RO": func(n int) int { + switch { + case n == 1: + return 0 + case n == 0 || (n%100 > 0 && n%100 < 20): + return 1 + } + return 2 + }, "ru_RU": pluralFormRuSrUa, // nplurals=2; plural=(n > 1); "tr_TR": func(n int) int { diff --git a/internal/locale/plural_test.go b/internal/locale/plural_test.go index 33fdb1b6..dabc6035 100644 --- a/internal/locale/plural_test.go +++ b/internal/locale/plural_test.go @@ -49,6 +49,11 @@ func TestPluralRules(t *testing.T) { 2: 1, 5: 1, }, + "ro_RO": { + 1: 0, + 2: 1, + 5: 1, + }, "ru_RU": { 1: 0, 2: 1, diff --git a/internal/locale/translations/ro_RO.json b/internal/locale/translations/ro_RO.json new file mode 100644 index 00000000..38863078 --- /dev/null +++ b/internal/locale/translations/ro_RO.json @@ -0,0 +1,623 @@ +{ + "action.cancel": "abandon", + "action.download": "Descărcare", + "action.edit": "Editare", + "action.home_screen": "Adaugă pe ecranul principal", + "action.import": "Importă", + "action.login": "Autentificare", + "action.or": "sau", + "action.remove": "Elimină", + "action.remove_feed": "Elimină acest flux", + "action.save": "Salvează", + "action.subscribe": "Abonează-te", + "action.update": "Actualizare", + "alert.account_linked": "Contul dvs. extern este atașat!", + "alert.account_unlinked": "Am decuplat contul dvs. extern!", + "alert.background_feed_refresh": "Toate fluxurile sunt actualizate în fundal. Puteți să continuați utilizarea Miniflux în timp ce procesul rulează.", + "alert.feed_error": "Este o problemă cu acest flux", + "alert.no_bookmark": "Nu sunt înregistrări marcate.", + "alert.no_category": "Nu sunt categorii.", + "alert.no_category_entry": "Nu sunt înregistrări în această categorie.", + "alert.no_feed": "Nu aveți fluxuri.", + "alert.no_feed_entry": "Nu sunt înregistrări pentru acest flux.", + "alert.no_feed_in_category": "Nu sunt fluxuri pentru această categorie.", + "alert.no_history": "Nu există istoric în acest moment.", + "alert.no_search_result": "Nu există înregistrări pentru această căutare.", + "alert.no_shared_entry": "Nu sunt înregistrări partajate.", + "alert.no_tag_entry": "Nu sunt înregistrări pentru această etichetă.", + "alert.no_unread_entry": "Nu sunt intrări necitite.", + "alert.no_user": "Sunteți singurul utilizator.", + "alert.pocket_linked": "Contul dvs. Pocket este atașat!", + "alert.prefs_saved": "Preferințe salvate!", + "alert.too_many_feeds_refresh": [ + "Ați activat actualizarea a prea multe fluxuri de informații. Vă rog să așteptați %d minut înainte de a reîncerca.", + "Ați activat actualizarea a prea multe fluxuri de informații. Vă rog să așteptați %d minute înainte de a reîncerca.", + "Ați activat actualizarea a prea multe fluxuri de informații. Vă rog să așteptați %d minute înainte de a reîncerca." + ], + "confirm.loading": "În progres…", + "confirm.no": "nu", + "confirm.question": "Suneți sigur?", + "confirm.question.refresh": "Sunteți sigur că vreți să forțați reîmprospătarea?", + "confirm.yes": "da", + "enclosure_media_controls.seek": "Caută:", + "enclosure_media_controls.seek.title": "Caută %s secunde", + "enclosure_media_controls.speed": "Viteză:", + "enclosure_media_controls.speed.faster": "Mai rapid", + "enclosure_media_controls.speed.faster.title": "Mai rapid cu %sx", + "enclosure_media_controls.speed.reset": "Resetare", + "enclosure_media_controls.speed.reset.title": "Resetare viteză la 1x", + "enclosure_media_controls.speed.slower": "Mai încet", + "enclosure_media_controls.speed.slower.title": "Mai încet cu %sx", + "entry.bookmark.toast.off": "Fără stea", + "entry.bookmark.toast.on": "Cu stea", + "entry.bookmark.toggle.off": "Fără stea", + "entry.bookmark.toggle.on": "Stea", + "entry.comments.label": "Comentarii", + "entry.comments.title": "Vizualizare Comentarii", + "entry.estimated_reading_time": [ + "%d minut de lectură", + "%d minute de lectură", + "%d minut de lectură" + ], + "entry.external_link.label": "Legătură externă", + "entry.save.completed": "Gata!", + "entry.save.label": "Salvare", + "entry.save.title": "Salvez această înregistrare", + "entry.save.toast.completed": "Înregistrare salvată", + "entry.scraper.completed": "Gata!", + "entry.scraper.label": "Descărcare", + "entry.scraper.title": "Descarcă conținutul original", + "entry.share.label": "Partajare", + "entry.share.title": "Partajează această înregistrare", + "entry.shared_entry.label": "Partajare", + "entry.shared_entry.title": "Deschide legătura publică", + "entry.state.loading": "Încarc…", + "entry.state.saving": "Salvez…", + "entry.status.read": "Citit", + "entry.status.title": "Modifică starea intrării", + "entry.status.toast.read": "Marcat ca citit", + "entry.status.toast.unread": "Marcat ca necitit", + "entry.status.unread": "Necitit", + "entry.tags.label": "Etichete:", + "entry.unshare.label": "Elimină partajarea", + "error.api_key_already_exists": "Această cheie API există deja.", + "error.bad_credentials": "Utilizator sau parolă invalide.", + "error.category_already_exists": "Această categorie există deja.", + "error.category_not_found": "Această categorie nu există sau nu aparține acestui utilizator.", + "error.database_error": "Eroare bază de date: %v.", + "error.different_passwords": "Parolele nu sunt identice.", + "error.duplicate_fever_username": "Este deja cineva cu același cont de Fever!", + "error.duplicate_googlereader_username": "Este deja cineva cu același nume de utilizator Google Reader!", + "error.duplicate_linked_account": "Este deja cineva asociat cu acest furnizor!", + "error.duplicated_feed": "Acest flux există deja.", + "error.empty_file": "Acest fișier este gol.", + "error.entries_per_page_invalid": "Numărul de înregistrări de pe pagină nu este valid.", + "error.feed_already_exists": "Acest flux există deja.", + "error.feed_category_not_found": "Această categorie nu există sau nu aparține utilizatorului.", + "error.feed_format_not_detected": "Nu pot detecta formatul fluxului: %v.", + "error.feed_invalid_blocklist_rule": "Blocul listei de reguli este invalid.", + "error.feed_invalid_keeplist_rule": "Lista de reguli keep este invalidă.", + "error.feed_mandatory_fields": "Adresa URL și categoria sunt obligatorii.", + "error.feed_not_found": "Acest flux nu există sau un aparține acestui utilizator.", + "error.feed_title_not_empty": "Titlul fluxului nu poate fi gol.", + "error.feed_url_not_empty": "Adresa URL a fluxului nu poate fi goală.", + "error.fields_mandatory": "Toate câmpurile sunt obligatorii.", + "error.http_bad_gateway": "Acest site web nu este disponibil momentan din cauza unei erori generată de gateway. Problema nu este de la Miniflux. Vă rugăm să reîncercați mai târziu.", + "error.http_body_read": "Nu pot citi corpul HTTP: %v.", + "error.http_client_error": "Eroare client HTTP: %v.", + "error.http_empty_response": "Răspunsul HTTP este gol. Poate acest site web utilizează un mecanism împotriva boților?", + "error.http_empty_response_body": "Corpul răspunsului HTTP este gol.", + "error.http_forbidden": "Accesul la acest site web este interzis. Poate acesta utilizează un mecanism împotriva boților?", + "error.http_gateway_timeout": "Acest site web nu este disponibil momentan din cauza unei erori generată de gateway. Problema nu este de la Miniflux. Vă rugăm să reîncercați mai târziu.", + "error.http_internal_server_error": "Acest site web nu este disponibil momentan din cauza unei erori generată de server. Problema nu este de la Miniflux. Vă rugăm să reîncercați mai târziu.", + "error.http_not_authorized": "Accesul la acest site nu este autorizat. Poate fi din cauza parolei sau a userului greșite.", + "error.http_resource_not_found": "Resursa solicitată nu este găsită. Vă rog să verificați URL-ul.", + "error.http_response_too_large": "Răspunsul HTTP este prea mare. Puteți crește dimensiunea acestuia în setările globale (necesită repornirea server-ului).", + "error.http_service_unavailable": "Acest site web nu este disponibil momentan din cauza unei erori generată de server. Problema nu este de la Miniflux. Vă rugăm să reîncercați mai târziu.", + "error.http_too_many_requests": "Miniflux a generat prea multe solicitări pe acest site web. Vă rog, încercați mai tîrziu sau modificați configurațiile aplicației.", + "error.http_unexpected_status_code": "Acest site web nu este disponibil momentan din cauza unei erori HTTP: %d. Problema nu este de la Miniflux. Vă rugăm să reîncercați mai târziu.", + "error.invalid_default_home_page": "Pagină de start invalidă!", + "error.invalid_display_mode": "Mod invalid de afișare în aplicația web.", + "error.invalid_entry_direction": "Direcție invalidă ăn intrare.", + "error.invalid_feed_url": "Adresa URL a fluxului este invalidă.", + "error.invalid_gesture_nav": "Gest de navigare invalid.", + "error.invalid_language": "Limbă invalidă.", + "error.invalid_site_url": "Adresa URL a site-ului este invalidă.", + "error.invalid_theme": "Temă invalidă.", + "error.invalid_timezone": "Dată/oră invalide.", + "error.network_operation": "Miniflux nu poate ajunge la acest site din cauza unei erori de rețea: %v.", + "error.network_timeout": "Acest site web este prea lent și conexiunea nu s-a realizat: %v", + "error.password_min_length": "Parola trebuie să aibă cel puțin 6 caractere.", + "error.pocket_access_token": "Nu poate obține token-ul de acces de la Pocket!", + "error.pocket_request_token": "Nu poate obține token-ul solicitat de la Pocket!", + "error.settings_block_rule_fieldname_invalid": "Regulă de bloc invalidă: regulii #%d îi lipsește un nume valid de câmp (Opțiuni: %s)", + "error.settings_block_rule_invalid_regex": "Regulă de bloc invalidă: modelul regulii #%d's nu este regex valid", + "error.settings_block_rule_regex_required": "Regulă de bloc invalidă: modelul regulii #%d's nu este furnizat", + "error.settings_block_rule_separator_required": "Regulă de bloc invalidă: modelul regulii #%d's trebuie separat de '='", + "error.settings_invalid_domain_list": "Lista domeniilor invalidă. Vă rugăm să ne furnizați o listă separată de virgulă a domeniilor.", + "error.settings_keep_rule_fieldname_invalid": "Regulă Keep invalidă: regulii #%d îi lipsește un nume valid (Opțiuni: %s)", + "error.settings_keep_rule_invalid_regex": "Regulă Keep invalidă: modelul regulii #%d's nu este regex valid", + "error.settings_keep_rule_regex_required": "Regulă Keep invalidă: modelul regulii #%d nu este furnizat", + "error.settings_keep_rule_separator_required": "Regulă Keep invalidă: modelul regulii #%d's trebuie separat de'='", + "error.settings_mandatory_fields": "Numele utilizatorului, tema, limba și fusul orar sunt obligatorii.", + "error.settings_media_playback_rate_range": "Viteza de rulare nu este validă", + "error.settings_reading_speed_is_positive": "Vitezele de citire trebuie să fie numere întregi pozitive.", + "error.site_url_not_empty": "Adresa URL a site-ului nu poate fi goală.", + "error.subscription_not_found": "Nu se poate găsi nici un flux.", + "error.title_required": "Titlul este obligatoriu.", + "error.tls_error": "Eroare TLS: %q. Puteți dezactiva verificarea TLS în setările fluxurilor dacă doriți.", + "error.unable_to_create_api_key": "Nu pot crea această cheie API.", + "error.unable_to_create_category": "Nu se poate crea această categorie.", + "error.unable_to_create_user": "Nu se poate crea utilizatorul.", + "error.unable_to_detect_rssbridge": "Nu pot detecta fluxul când utilizez RSS-Bridge: %v.", + "error.unable_to_parse_feed": "Nu pot procesa acest flux: %v.", + "error.unable_to_update_category": "Nu se poate actualiza această categorie.", + "error.unable_to_update_feed": "Nu se poate actualiza acest flux.", + "error.unable_to_update_user": "Nu se poate actualiza utilizatorul.", + "error.unlink_account_without_password": "Trebuie să definiți o parolă, altfel nu vă veți mai putea conecta.", + "error.user_already_exists": "Acest utilizator există deja.", + "error.user_mandatory_fields": "Numele utilizatorului este obligatoriu.", + "form.api_key.label.description": "Etichetă Cheie API", + "form.category.hide_globally": "Ascunde intrările în lista globală de articole necitite", + "form.category.label.title": "Titlu", + "form.feed.fieldset.general": "General", + "form.feed.fieldset.integration": "Servicii Terțe", + "form.feed.fieldset.network_settings": "Setări Rețea", + "form.feed.fieldset.rules": "Reguli", + "form.feed.label.allow_self_signed_certificates": "Permite certificatele auto-semnate sau invalide", + "form.feed.label.apprise_service_urls": "Lista de URL-uri ale serviciilor Apprise separate prin virgule", + "form.feed.label.blocklist_rules": "Reguli de Blocare", + "form.feed.label.category": "Categorie", + "form.feed.label.cookie": "Setare Cookie-uri", + "form.feed.label.crawler": "Aduce conținutul original", + "form.feed.label.description": "Descriere", + "form.feed.label.disable_http2": "Dezactivează HTTP/2 pentru a preveni amprentarea", + "form.feed.label.disabled": "Nu actualiza acest flux", + "form.feed.label.feed_password": "Parolă Flux", + "form.feed.label.feed_url": "Flux URL", + "form.feed.label.feed_username": "Nume user Flux", + "form.feed.label.fetch_via_proxy": "Actualizare prin proxy", + "form.feed.label.hide_globally": "Ascunde intrările în lista globală de articole necitite", + "form.feed.label.ignore_http_cache": "Ignoră cache HTTP", + "form.feed.label.keeplist_rules": "Reguli de Păstrare", + "form.feed.label.no_media_player": "Nu există player media (audio/video)", + "form.feed.label.ntfy_activate": "Împinge intrările la ntfy", + "form.feed.label.ntfy_default_priority": "Prioritate predefinită Ntfy", + "form.feed.label.ntfy_high_priority": "Prioritate ridicată Ntfy", + "form.feed.label.ntfy_low_priority": "Prioritate redusă Ntfy", + "form.feed.label.ntfy_max_priority": "Prioritate maximă Ntfy", + "form.feed.label.ntfy_min_priority": "Prioritate minimă Ntfy", + "form.feed.label.ntfy_priority": "Prioritate Ntfy", + "form.feed.label.ntfy_topic": "Subiect Ntfy (opțional)", + "form.feed.label.pushover_activate": "Activează Pushover", + "form.feed.label.pushover_default_priority": "Prioritate implicită Pushover", + "form.feed.label.pushover_high_priority": "Prioritate ridicată Pushover", + "form.feed.label.pushover_low_priority": "Prioritate redusă Pushover", + "form.feed.label.pushover_max_priority": "Prioritate maximă Pushover", + "form.feed.label.pushover_min_priority": "Prioritate minimă Pushover", + "form.feed.label.pushover_priority": "Prioritate Pushover", + "form.feed.label.rewrite_rules": "Rescrie Regulile", + "form.feed.label.scraper_rules": "Reguli de Eliminare", + "form.feed.label.site_url": "Adresă URL", + "form.feed.label.title": "Titlu", + "form.feed.label.urlrewrite_rules": "URL Reguli de Rescriere", + "form.feed.label.user_agent": "Suprascrie User Agent Predefinit", + "form.feed.label.webhook_url": "URL Webhook (pentru a primi notificări despre evenimentele de intrare)", + "form.import.label.file": "Fișier OPML", + "form.import.label.url": "URL", + "form.integration.apprise_activate": "Trimite înregistrările pe Apprise", + "form.integration.apprise_services_url": "URL-uri separate de virgulă cu servicii Apprise", + "form.integration.apprise_url": "URL API Apprise", + "form.integration.betula_activate": "Salvează înregistrările în Betula", + "form.integration.betula_token": "Token Betula", + "form.integration.betula_url": "Adresă server Betula", + "form.integration.cubox_activate": "Salvează intrările în Cubox", + "form.integration.cubox_api_link": "Link APi Cubox", + "form.integration.discord_activate": "Împinge intrările pe Discord", + "form.integration.discord_webhook_link": "Link Webhook Discord", + "form.integration.espial_activate": "Save entries to Espial", + "form.integration.espial_api_key": "Cheie API Espial", + "form.integration.espial_endpoint": "Punct acces API Espial", + "form.integration.espial_tags": "Etichete Espial", + "form.integration.fever_activate": "Activează API Fever", + "form.integration.fever_endpoint": "Punct access API Fever:", + "form.integration.fever_password": "Parolă Fever", + "form.integration.fever_username": "Utilizator Fever", + "form.integration.googlereader_activate": "Activează API Google Reader", + "form.integration.googlereader_endpoint": "Punct acces API Google Reader:", + "form.integration.googlereader_password": "Parolă Google Reader", + "form.integration.googlereader_username": "Utilizator Google Reader", + "form.integration.instapaper_activate": "Salvează înregistrările pe Instapaper", + "form.integration.instapaper_password": "Parolă Instapaper", + "form.integration.instapaper_username": "Utilizator Instapaper", + "form.integration.linkace_activate": "Salvează intrările în LinkAce", + "form.integration.linkace_api_key": "Cheie API LinkAce", + "form.integration.linkace_check_disabled": "Dezactivează verificarea link-urilor", + "form.integration.linkace_endpoint": "Endpoint API LinkAce", + "form.integration.linkace_is_private": "Marchează link-urile ca private", + "form.integration.linkace_tags": "Tag-uri LinkAce", + "form.integration.linkding_activate": "Salvează intrările în Linkding", + "form.integration.linkding_api_key": "Cheie API Linkding", + "form.integration.linkding_bookmark": "Marchează semnele de carte ca necitite", + "form.integration.linkding_endpoint": "Endpoint API Linkding", + "form.integration.linkding_tags": "TAG-uri Linkding", + "form.integration.linkwarden_activate": "Salvează intrările în Linkwarden", + "form.integration.linkwarden_api_key": "Cheie API Linkwarden", + "form.integration.linkwarden_endpoint": "Endpoint API Linkwarden", + "form.integration.matrix_bot_activate": "Împinge intrările noi pe Matrix", + "form.integration.matrix_bot_chat_id": "ID-ul Camerei Matrix", + "form.integration.matrix_bot_password": "Parola utilizatorului Matrix", + "form.integration.matrix_bot_url": "Server URL Matrix", + "form.integration.matrix_bot_user": "Utilizator Matrix", + "form.integration.notion_activate": "Salvează înregistrările în Notion", + "form.integration.notion_page_id": "ID Pagină Notion", + "form.integration.notion_token": "Token Secret Notion", + "form.integration.ntfy_activate": "Împinge intrările pe ntfy", + "form.integration.ntfy_api_token": "Token API Ntfy (opțional)", + "form.integration.ntfy_icon_url": "Icon URL Ntfy (opțional)", + "form.integration.ntfy_internal_links": "Utilizează legături interne la clic (opțional)", + "form.integration.ntfy_password": "Parolă Ntfy (opțional)", + "form.integration.ntfy_topic": "Topic Ntfy", + "form.integration.ntfy_url": "URL Ntfy (opțional, predefinit este ntfy.sh)", + "form.integration.ntfy_username": "Utilizator Ntfy (opțional)", + "form.integration.nunux_keeper_activate": "Salvează înregistrările în Nunux Keeper", + "form.integration.nunux_keeper_api_key": "Cheie API Nunux Keeper", + "form.integration.nunux_keeper_endpoint": "Punct de acces API Keeper", + "form.integration.omnivore_activate": "Salvare înregistrări în Omnivore", + "form.integration.omnivore_api_key": "Cheie API Omnivore", + "form.integration.omnivore_url": "Punct acces API Omnivore", + "form.integration.pinboard_activate": "Salvează intrările în Pinboard", + "form.integration.pinboard_bookmark": "Marchează bookmark ca necitit", + "form.integration.pinboard_tags": "Etichete Pinboard", + "form.integration.pinboard_token": "Token API Pinboard", + "form.integration.pocket_access_token": "Token Acces Pocket", + "form.integration.pocket_activate": "Salvează înregistrările în Pocket", + "form.integration.pocket_connect_link": "Conectează contul Pocket personal", + "form.integration.pocket_consumer_key": "Cheie Consumator Pocket", + "form.integration.pushover_activate": "Activează Pushover", + "form.integration.pushover_device": "Dispozitiv Pushover (opțional)", + "form.integration.pushover_prefix": "Prefix Pushover (opțional)", + "form.integration.pushover_token": "Token Pushover", + "form.integration.pushover_user": "Utilizator Pushover", + "form.integration.raindrop_activate": "Salvează intrările în Raindrop", + "form.integration.raindrop_collection_id": "ID Colecție", + "form.integration.raindrop_tags": "Tag-uri (separate de virgulă)", + "form.integration.raindrop_token": "(Test) Token", + "form.integration.readeck_activate": "Salvează intrările în readeck", + "form.integration.readeck_api_key": "Cheie API Readeck", + "form.integration.readeck_endpoint": "URL Readeck", + "form.integration.readeck_labels": "Etichete Readeck", + "form.integration.readeck_only_url": "Trimite numai URL (în loc de tot conținutul)", + "form.integration.readwise_activate": "Salvare înregistrări în Readwise Reader", + "form.integration.readwise_api_key": "Token Acces Readwise Reader", + "form.integration.readwise_api_key_link": "Obțineți Token-ul de Acess pe Readwise", + "form.integration.rssbridge_activate": "Verifică RSS-Bridge la adăugarea de abonamente", + "form.integration.rssbridge_url": "URL server RSS-Bridge", + "form.integration.shaarli_activate": "Salvează articolele în Shaarli", + "form.integration.shaarli_api_secret": "Secret API Shaarli", + "form.integration.shaarli_endpoint": "URL Shaarli", + "form.integration.shiori_activate": "Salvează articolele în Shiori", + "form.integration.shiori_endpoint": "Endpoint API Shiori", + "form.integration.shiori_password": "Parolă Shiori", + "form.integration.shiori_username": "Utilizator Shiori", + "form.integration.slack_activate": "Împinge intrările pe Slack", + "form.integration.slack_webhook_link": "Link Webhook Slack", + "form.integration.telegram_bot_activate": "Împingeți înregistrările noi pe chat-ul Telegram", + "form.integration.telegram_bot_disable_buttons": "Dezactivează butoanele", + "form.integration.telegram_bot_disable_notification": "Dezactivează notificările", + "form.integration.telegram_bot_disable_web_page_preview": "Dezactivează previzualizarea paginii web", + "form.integration.telegram_bot_token": "Token Bot", + "form.integration.telegram_chat_id": "ID Chat", + "form.integration.telegram_topic_id": "ID Topic", + "form.integration.wallabag_activate": "Salvează înregistrările în Wallabag", + "form.integration.wallabag_client_id": "ID Client Wallabag", + "form.integration.wallabag_client_secret": "Secret Client Wallabag", + "form.integration.wallabag_endpoint": "URL Wallabag", + "form.integration.wallabag_only_url": "Trimite numai URL-ul (fără conținut complet)", + "form.integration.wallabag_password": "Parolă Wallabag", + "form.integration.wallabag_username": "Utilizator Wallabag", + "form.integration.webhook_activate": "Activează Webhook", + "form.integration.webhook_secret": "Secret Webhook", + "form.integration.webhook_url": "URL Webhook", + "form.prefs.fieldset.application_settings": "Setări Aplicație", + "form.prefs.fieldset.authentication_settings": "Setări Autentificare", + "form.prefs.fieldset.global_feed_settings": "Setări Globale pt. Flux", + "form.prefs.fieldset.reader_settings": "Setări Citire", + "form.prefs.help.external_font_hosts": "Lista fonturilor de pe gazdă separate de virgulă care poate fi utilizate. De exemplu: \"fonts.gstatic.com fonts.googleapis.com\".", + "form.prefs.label.categories_sorting_order": "Sortare categorii", + "form.prefs.label.cjk_reading_speed": "Viteză de citire pentru Chineză, Coreană și Japoneză (caractere pe minut)", + "form.prefs.label.custom_css": "CSS personalizat", + "form.prefs.label.custom_js": "JavaScript personalizat", + "form.prefs.label.default_home_page": "Pagina pornire predefinită", + "form.prefs.label.default_reading_speed": "Viteză de citire pentru alte limbi (cuvinte pe minut)", + "form.prefs.label.display_mode": "Mod afișare Aplicație Web Progresivă (PWA)", + "form.prefs.label.entries_per_page": "Intrări pe pagină", + "form.prefs.label.entry_order": "Coloană de sortare", + "form.prefs.label.entry_sorting": "Sortare intrări", + "form.prefs.label.entry_swipe": "Activare glisare pentru ecranele tactile", + "form.prefs.label.external_font_hosts": "Fonturi externe gazdă", + "form.prefs.label.gesture_nav": "Gesturi pentru navigare între înregistrări", + "form.prefs.label.keyboard_shortcuts": "Activare scurtături tastatură", + "form.prefs.label.language": "Limbă", + "form.prefs.label.mark_read_manually": "Marchează manual intrările ca citite", + "form.prefs.label.mark_read_on_media_completion": "Marchează ca citit numai când redarea de conținut audio/video atinge 90%%", + "form.prefs.label.mark_read_on_view": "Marchează intrările ca citite la vizualizare", + "form.prefs.label.mark_read_on_view_or_media_completion": "Marchează intrările ca citite la vizualizare. Pentru audio/video, marchează ca citit la redarea a 90%% de conținut", + "form.prefs.label.media_playback_rate": "Viteza de rulare audio/video", + "form.prefs.label.show_reading_time": "Afișare timp estimat de citire pentru înregistrări", + "form.prefs.label.theme": "Temă", + "form.prefs.label.timezone": "Fus orar", + "form.prefs.select.alphabetical": "Alfabetic", + "form.prefs.select.browser": "Browser", + "form.prefs.select.created_time": "Dată creare înregistrare", + "form.prefs.select.fullscreen": "Ecran complet", + "form.prefs.select.minimal_ui": "Minim", + "form.prefs.select.none": "Nimic", + "form.prefs.select.older_first": "Intrările mai vechi la început", + "form.prefs.select.publish_time": "Data publicare înregistrare", + "form.prefs.select.recent_first": "Intrările mai noi la început", + "form.prefs.select.standalone": "Independent", + "form.prefs.select.swipe": "Glisare", + "form.prefs.select.tap": "Apăsare dublă", + "form.prefs.select.unread_count": "Contor necitite", + "form.submit.loading": "Încarc…", + "form.submit.saving": "Salvez…", + "form.user.label.admin": "Administrator", + "form.user.label.confirmation": "Confirmare Parolă", + "form.user.label.password": "Parolă", + "form.user.label.username": "Nume utilizator", + "menu.about": "Despre", + "menu.add_feed": "Adaugă flux", + "menu.add_user": "Adaugă utilizator", + "menu.api_keys": "Chei API", + "menu.categories": "Categorii", + "menu.create_api_key": "Crează o nouă cheie API", + "menu.create_category": "Crează o categorie", + "menu.edit_category": "Editare", + "menu.edit_feed": "Editare", + "menu.export": "Exportă", + "menu.feed_entries": "Intrări", + "menu.feeds": "Fluxuri", + "menu.flush_history": "Elimină istoricul", + "menu.history": "Istoric", + "menu.home_page": "Pagina principală", + "menu.import": "Importă", + "menu.integrations": "Integrări", + "menu.logout": "Deconectare", + "menu.mark_all_as_read": "Marchează tot ca citit", + "menu.mark_page_as_read": "Marchează această pagină ca citită", + "menu.preferences": "Preferințe", + "menu.refresh_all_feeds": "Reînnoiește toate fluxurile în fundal", + "menu.refresh_feed": "Reînnoire", + "menu.search": "Caută", + "menu.sessions": "Sesiuni", + "menu.settings": "Setări", + "menu.shared_entries": "Intrări partajate", + "menu.show_all_entries": "Afișează toate intrările", + "menu.show_only_starred_entries": "Afișează numai intrările marcate", + "menu.show_only_unread_entries": "Afișează numai intrările necitite", + "menu.starred": "Marcat", + "menu.title": "Meniu", + "menu.unread": "Necitit", + "menu.users": "Utilizatori", + "page.about.author": "Autor:", + "page.about.build_date": "Dată Build:", + "page.about.credits": "Credit", + "page.about.db_usage": "Utilizare Bază de Date", + "page.about.global_config_options": "Opțiuni globale de configurare", + "page.about.go_version": "Versiune Go:", + "page.about.license": "Licență:", + "page.about.postgres_version": "Versiune Postgres:", + "page.about.title": "Despre", + "page.about.version": "Versiune:", + "page.add_feed.choose_feed": "Alegeți un flux", + "page.add_feed.label.url": "URL", + "page.add_feed.legend.advanced_options": "Opțiuni Avansate", + "page.add_feed.no_category": "Nu există categorii. Trebuie să aveți măcar o categorie.", + "page.add_feed.submit": "Găsește un flux", + "page.add_feed.title": "Flux nou", + "page.api_keys.never_used": "Niciodată Utilizată", + "page.api_keys.table.actions": "Acțiuni", + "page.api_keys.table.created_at": "Dată Creare", + "page.api_keys.table.description": "Descriere", + "page.api_keys.table.last_used_at": "Utilizat ultima dată", + "page.api_keys.table.token": "Token", + "page.api_keys.title": "Chei API", + "page.categories_count": [ + "%d categorie", + "%d categorii", + "%d categorie găsită" + ], + "page.categories.entries": "Intrări", + "page.categories.feed_count": [ + "Este %d flux.", + "Sunt %d fluxuri.", + "Sunt %d fluxuri găsite." + ], + "page.categories.feeds": "Fluxuri", + "page.categories.no_feed": "Nici un flux.", + "page.categories.title": "Categorii", + "page.category_label": "Categorie: %s", + "page.edit_category.title": "Editare Categorie: %s", + "page.edit_feed.etag_header": "Antet ETag:", + "page.edit_feed.last_check": "Ultima verificare:", + "page.edit_feed.last_modified_header": "UltimaModificare antet:", + "page.edit_feed.last_parsing_error": "Ultima Eroare la Analiză", + "page.edit_feed.no_header": "Nimic", + "page.edit_feed.title": "Editare Flux: %s", + "page.edit_user.title": "Editare Utilizator: %s", + "page.entry.attachments": "Atașamente", + "page.feeds.error_count": [ + "%d eroare", + "%d erori", + "%d erori găsite" + ], + "page.feeds.last_check": "Ultima verificare:", + "page.feeds.next_check": "Următoarea verificare:", + "page.feeds.read_counter": "Numărul de intrări citite", + "page.feeds.title": "Fluxuri", + "page.history.title": "Istoric", + "page.import.title": "Import", + "page.integration.bookmarklet": "Marcaje", + "page.integration.bookmarklet.help": "Această legătură specială permite să vă abonați direct pe un site prin utilizarea unui marcaj în browser-ul web.", + "page.integration.bookmarklet.instructions": "Trageți legătura în favorite.", + "page.integration.bookmarklet.name": "Adaugă în Miniflux", + "page.integration.miniflux_api": "API Miniflux", + "page.integration.miniflux_api_endpoint": "Punct de acces API", + "page.integration.miniflux_api_password": "Parolă", + "page.integration.miniflux_api_password_value": "Parola contului", + "page.integration.miniflux_api_username": "Utilizator", + "page.integrations.title": "Integrări", + "page.keyboard_shortcuts.close_modal": "Închide fereastra de dialog", + "page.keyboard_shortcuts.download_content": "Descarcă conținutul original", + "page.keyboard_shortcuts.go_to_bottom_item": "Du-te la ultimul obiect", + "page.keyboard_shortcuts.go_to_categories": "Du-te la categorii", + "page.keyboard_shortcuts.go_to_feed": "Du-te la flux", + "page.keyboard_shortcuts.go_to_feeds": "Du-te la fluxuri", + "page.keyboard_shortcuts.go_to_history": "Du-te la istoric", + "page.keyboard_shortcuts.go_to_next_item": "Du-te la obiectul următor", + "page.keyboard_shortcuts.go_to_next_page": "Du-te la pagina următoare", + "page.keyboard_shortcuts.go_to_previous_item": "Du-te la obiectul anterior", + "page.keyboard_shortcuts.go_to_previous_page": "Du-te la pagina anterioară", + "page.keyboard_shortcuts.go_to_search": "Focusul pe formularul de căutare", + "page.keyboard_shortcuts.go_to_settings": "Du-te la setări", + "page.keyboard_shortcuts.go_to_starred": "Du-te la marcat", + "page.keyboard_shortcuts.go_to_top_item": "Du-te la primul obiect", + "page.keyboard_shortcuts.go_to_unread": "Du-te la necitit", + "page.keyboard_shortcuts.mark_page_as_read": "Marchează pagina curentă ca citită", + "page.keyboard_shortcuts.open_comments": "Deschide comentariile link-ului", + "page.keyboard_shortcuts.open_comments_same_window": "Deschide comentariile link-ului în tab-ul curent", + "page.keyboard_shortcuts.open_item": "Deschide obiectul selectat", + "page.keyboard_shortcuts.open_original": "Deschide link-ul original", + "page.keyboard_shortcuts.open_original_same_window": "Deschide link-ul original în tab-ul curent", + "page.keyboard_shortcuts.refresh_all_feeds": "Reîncarcă toate fluxurile în fundal", + "page.keyboard_shortcuts.remove_feed": "Elimină acest flux", + "page.keyboard_shortcuts.save_article": "Salvare înregistrare", + "page.keyboard_shortcuts.scroll_item_to_top": "Derulează obiectul la început", + "page.keyboard_shortcuts.show_keyboard_shortcuts": "Afișează scurtăturile tastaturii", + "page.keyboard_shortcuts.subtitle.actions": "Acțiuni", + "page.keyboard_shortcuts.subtitle.items": "Navigare Obiecte", + "page.keyboard_shortcuts.subtitle.pages": "Navigare Pagini", + "page.keyboard_shortcuts.subtitle.sections": "Navigare Secțiuni", + "page.keyboard_shortcuts.title": "Scurtături Tastatură", + "page.keyboard_shortcuts.toggle_bookmark_status": "Comută marcate", + "page.keyboard_shortcuts.toggle_entry_attachments": "Comută deschis/închis pe atașamentele înregistrării", + "page.keyboard_shortcuts.toggle_read_status_next": "Comută citit/necitit focus următor", + "page.keyboard_shortcuts.toggle_read_status_prev": "Comută citit/necitit, focus anterior", + "page.login.google_signin": "Conectare cu Google", + "page.login.oidc_signin": "Conectare cu %s", + "page.login.title": "Conectare", + "page.login.webauthn_login": "Conectare cu cheia de acces", + "page.login.webauthn_login.error": "Eroare la conectarea cu cheia de acces", + "page.login.webauthn_login.help": "Vă rog să introduceți numele utilizatorului dacă utilizați o cheie. Nu este necesară dacă utilizați o cheie de acces (credențiale descoperibile).", + "page.new_api_key.title": "Cheie API Nouă", + "page.new_category.title": "Categorie Nouă", + "page.new_user.title": "Utilizator Nou", + "page.offline.message": "Sunteți offline", + "page.offline.refresh_page": "Încercați să reîmprospătați pagina", + "page.offline.title": "Mod Offline", + "page.read_entry_count": [ + "%d înregistrare citită", + "%d înregistrări citite", + "%d înregistrări citite" + ], + "page.search.title": "Rezultate Căutare", + "page.sessions.table.actions": "Acțiuni", + "page.sessions.table.current_session": "Sesiunea Curentă", + "page.sessions.table.date": "Dată", + "page.sessions.table.ip": "Adresă IP", + "page.sessions.table.user_agent": "Agent Utilizator", + "page.sessions.title": "Sesiuni", + "page.settings.link_google_account": "Atașează contul personal Google", + "page.settings.link_oidc_account": "Atașează contul meu %s", + "page.settings.title": "Setări", + "page.settings.unlink_google_account": "Decuplează contul personal Google", + "page.settings.unlink_oidc_account": "Decuplează contul meu %s", + "page.settings.webauthn.actions": "Acțiuni", + "page.settings.webauthn.added_on": "Adăugată în", + "page.settings.webauthn.delete": [ + "Elimină %d cheie de acces", + "Elimină %d chei de acces", + "Elimină %d chei de acces" + ], + "page.settings.webauthn.last_seen_on": "Utilizat ultima dată", + "page.settings.webauthn.passkey_name": "Nume cheie acces", + "page.settings.webauthn.passkeys": "Chei Acces", + "page.settings.webauthn.register": "Înregistrare cheie acces", + "page.settings.webauthn.register.error": "Eroare la înregistrarea cheii de acces", + "page.shared_entries_count": [ + "%d înregistrare partajată", + "%d înregistrări partajate", + "%d înregistrări partajate" + ], + "page.shared_entries.title": "Înregistrări partajate", + "page.starred_entry_count": [ + "%d înregistrare marcată", + "%d Înregistrări marcate", + "%d Înregistrări marcate" + ], + "page.starred.title": "Marcate", + "page.total_entry_count": [ + "%d intrare în total", + "%d intrări în total", + "%d intrări în total" + ], + "page.unread_entry_count": [ + "%d înregistrare necitită", + "%d înregistrări necitite", + "%d înregistrări necitite" + ], + "page.unread.title": "Necitite", + "page.users.actions": "Acțiuni", + "page.users.admin.no": "Nu", + "page.users.admin.yes": "Da", + "page.users.is_admin": "Administrator", + "page.users.last_login": "Ultima Conectare", + "page.users.never_logged": "Niciodată", + "page.users.title": "Utilizatori", + "page.users.username": "Nume", + "page.webauthn_rename.title": "Redenumire Cheie Acces", + "pagination.first": "Prima", + "pagination.last": "Ultima", + "pagination.next": "Următor", + "pagination.previous": "Anterior", + "search.label": "Caută", + "search.placeholder": "Caută…", + "search.submit": "Caută", + "skip_to_content": "Sari la conținut", + "time_elapsed.days": [ + "%d zi în urmă", + "%d zile în urmă", + "%d zile în urmă" + ], + "time_elapsed.hours": [ + "%d oră în urmă", + "%d ore în urmă", + "%d ore în urmă" + ], + "time_elapsed.minutes": [ + "%d minut în urmă", + "%d minute în urmă", + "%d minute în urmă" + ], + "time_elapsed.months": [ + "%d lună în urmă", + "%d luni în urmă", + "%d luni în urmă" + ], + "time_elapsed.not_yet": "încă nu", + "time_elapsed.now": "chiar acum", + "time_elapsed.weeks": [ + "%d săptămână în urmă", + "%d săptămâni în urmă", + "%d săptămâni în urmă" + ], + "time_elapsed.years": [ + "%d an în urmă", + "%d ani în urmă", + "%d ani în urmă" + ], + "time_elapsed.yesterday": "ieri", + "tooltip.keyboard_shortcuts": "Scurtături Tastatură: %s", + "tooltip.logged_user": "Atentificat ca %s" +} \ No newline at end of file