diff options
| author | 2017-12-16 15:24:13 +0100 | |
|---|---|---|
| committer | 2017-12-16 15:24:13 +0100 | |
| commit | fdc9e0d75a786101a14f64bc418b48fdd1cb4890 (patch) | |
| tree | 9a7a1d523ab1279e2efce84d2d0c73dd0ad47c70 /app/i18n | |
| parent | f7560c585f211be41b093906e3a8fb5a6071c660 (diff) | |
| parent | ccb829418d25af49d129ac227b0cbd09c085b8a3 (diff) | |
Merge branch 'dev' into hebrew-i18n
Diffstat (limited to 'app/i18n')
84 files changed, 8760 insertions, 289 deletions
diff --git a/app/i18n/cz/admin.php b/app/i18n/cz/admin.php new file mode 100644 index 000000000..dbfebd4c9 --- /dev/null +++ b/app/i18n/cz/admin.php @@ -0,0 +1,188 @@ +<?php + +return array( + 'auth' => array( + 'allow_anonymous' => 'Umožnit anonymně číst články výchozího uživatele (%s)', + 'allow_anonymous_refresh' => 'Umožnit anonymní obnovení článků', + 'api_enabled' => 'Povolit přístup k <abbr>API</abbr> <small>(vyžadováno mobilními aplikacemi)</small>', + 'form' => 'Webový formulář (tradiční, vyžaduje JavaScript)', + 'http' => 'HTTP (pro pokročilé uživatele s HTTPS)', + 'none' => 'Žádný (nebezpečné)', + 'title' => 'Přihlášení', + 'title_reset' => 'Reset přihlášení', + 'token' => 'Authentizační token', + 'token_help' => 'Umožňuje přístup k RSS kanálu článků výchozího uživatele bez přihlášení:', + 'type' => 'Způsob přihlášení', + 'unsafe_autologin' => 'Povolit nebezpečné automatické přihlášení přes: ', + ), + 'check_install' => array( + 'cache' => array( + 'nok' => 'Zkontrolujte oprávnění adresáře <em>./data/cache</em>. HTTP server musí mít do tohoto adresáře práva zápisu', + 'ok' => 'Oprávnění adresáře cache jsou v pořádku.', + ), + 'categories' => array( + 'nok' => 'Tabulka kategorií je nastavena špatně.', + 'ok' => 'Tabulka kategorií je v pořádku.', + ), + 'connection' => array( + 'nok' => 'Nelze navázat spojení s databází.', + 'ok' => 'Připojení k databázi je v pořádku.', + ), + 'ctype' => array( + 'nok' => 'Nemáte požadovanou knihovnu pro ověřování znaků (php-ctype).', + 'ok' => 'Máte požadovanou knihovnu pro ověřování znaků (ctype).', + ), + 'curl' => array( + 'nok' => 'Nemáte cURL (balíček php-curl).', + 'ok' => 'Máte rozšíření cURL.', + ), + 'data' => array( + 'nok' => 'Zkontrolujte oprávnění adresáře <em>./data</em>. HTTP server musí mít do tohoto adresáře práva zápisu', + 'ok' => 'Oprávnění adresáře data jsou v pořádku.', + ), + 'database' => 'Instalace databáze', + 'dom' => array( + 'nok' => 'Nemáte požadovanou knihovnu pro procházení DOM (balíček php-xml).', + 'ok' => 'Máte požadovanou knihovnu pro procházení DOM.', + ), + 'entries' => array( + 'nok' => 'Tabulka článků je nastavena špatně.', + 'ok' => 'Tabulka kategorií je v pořádku.', + ), + 'favicons' => array( + 'nok' => 'Zkontrolujte oprávnění adresáře <em>./data/favicons</em>. HTTP server musí mít do tohoto adresáře práva zápisu', + 'ok' => 'Oprávnění adresáře favicons jsou v pořádku.', + ), + 'feeds' => array( + 'nok' => 'Tabulka kanálů je nastavena špatně.', + 'ok' => 'Tabulka kanálů je v pořádku.', + ), + 'fileinfo' => array( + 'nok' => 'Nemáte PHP fileinfo (balíček fileinfo).', + 'ok' => 'Máte rozšíření fileinfo.', + ), + 'files' => 'Instalace souborů', + 'json' => array( + 'nok' => 'Nemáte JSON (balíček php5-json).', + 'ok' => 'Máte rozšíření JSON.', + ), + 'minz' => array( + 'nok' => 'Nemáte framework Minz.', + 'ok' => 'Máte framework Minz.', + ), + 'pcre' => array( + 'nok' => 'Nemáte požadovanou knihovnu pro regulární výrazy (php-pcre).', + 'ok' => 'Máte požadovanou knihovnu pro regulární výrazy (PCRE).', + ), + 'pdo' => array( + 'nok' => 'Nemáte PDO nebo některý z podporovaných ovladačů (pdo_mysql, pdo_sqlite, pdo_pgsql).', + 'ok' => 'Máte PDO a alespoň jeden z podporovaných ovladačů (pdo_mysql, pdo_sqlite, pdo_pgsql).', + ), + 'php' => array( + '_' => 'PHP instalace', + 'nok' => 'Vaše verze PHP je %s, ale FreshRSS vyžaduje alespoň verzi %s.', + 'ok' => 'Vaše verze PHP je %s a je kompatibilní s FreshRSS.', + ), + 'tables' => array( + 'nok' => 'V databázi chybí jedna nevo více tabulek.', + 'ok' => 'V databázi jsou všechny tabulky.', + ), + 'title' => 'Kontrola instalace', + 'tokens' => array( + 'nok' => 'Zkontrolujte oprávnění adresáře <em>./data/tokens</em>. HTTP server musí mít do tohoto adresáře práva zápisu', + 'ok' => 'Oprávnění adresáře tokens jsou v pořádku.', + ), + 'users' => array( + 'nok' => 'Zkontrolujte oprávnění adresáře <em>./data/users</em>. HTTP server musí mít do tohoto adresáře práva zápisu', + 'ok' => 'Oprávnění adresáře users jsou v pořádku.', + ), + 'zip' => array( + 'nok' => 'Nemáte rozšíření ZIP (balíček php-zip).', + 'ok' => 'Máte rozšíření ZIP.', + ), + ), + 'extensions' => array( + 'disabled' => 'Vypnuto', + 'empty_list' => 'Není naistalováno žádné rozšíření', + 'enabled' => 'Zapnuto', + 'no_configure_view' => 'Toto rozšíření nemá žádné možnosti nastavení.', + 'system' => array( + '_' => 'Systémová rozšíření', + 'no_rights' => 'Systémová rozšíření (na ně nemáte oprávnění)', + ), + 'title' => 'Rozšíření', + 'user' => 'Uživatelská rozšíření', + ), + 'stats' => array( + '_' => 'Statistika', + 'all_feeds' => 'Všechny kanály', + 'category' => 'Kategorie', + 'entry_count' => 'Počet článků', + 'entry_per_category' => 'Článků na kategorii', + 'entry_per_day' => 'Článků za den (posledních 30 dní)', + 'entry_per_day_of_week' => 'Za den v týdnu (průměr: %.2f zprávy)', + 'entry_per_hour' => 'Za hodinu (průměr: %.2f zprávy)', + 'entry_per_month' => 'Za měsíc (průměr: %.2f zprávy)', + 'entry_repartition' => 'Rozdělení článků', + 'feed' => 'Kanál', + 'feed_per_category' => 'Článků na kategorii', + 'idle' => 'Neaktivní kanály', + 'main' => 'Přehled', + 'main_stream' => 'Všechny kanály', + 'menu' => array( + 'idle' => 'Neaktivní kanály', + 'main' => 'Přehled', + 'repartition' => 'Rozdělení článků', + ), + 'no_idle' => 'Žádné neaktivní kanály!', + 'number_entries' => '%d článků', + 'percent_of_total' => '%% ze všech', + 'repartition' => 'Rozdělení článků', + 'status_favorites' => 'Oblíbené', + 'status_read' => 'Přečtené', + 'status_total' => 'Celkem', + 'status_unread' => 'Nepřečtené', + 'title' => 'Statistika', + 'top_feed' => 'Top ten kanálů', + ), + 'system' => array( + '_' => 'System configuration', // @todo translate + 'auto-update-url' => 'Auto-update server URL', // @todo translate + 'instance-name' => 'Instance name', // @todo translate + 'max-categories' => 'Categories per user limit', // @todo translate + 'max-feeds' => 'Feeds per user limit', // @todo translate + 'registration' => array( + 'help' => '0 znamená žádná omezení účtu', + 'number' => 'Maximální počet účtů', + ), + 'community' => 'Available community extensions', // @todo translate + 'name' => 'Name', // @todo translate + 'version' => 'Version', // @todo translate + 'description' => 'Description', // @todo translate + 'author' => 'Author', // @todo translate + 'latest' => 'Installed', // @todo translate + 'update' => 'Update available', // @todo translate + ), + 'update' => array( + '_' => 'Aktualizace systému', + 'apply' => 'Použít', + 'check' => 'Zkontrolovat aktualizace', + 'current_version' => 'Vaše instalace FreshRSS je verze %s.', + 'last' => 'Poslední kontrola: %s', + 'none' => 'Žádné nové aktualizace', + 'title' => 'Aktualizovat systém', + ), + 'user' => array( + 'articles_and_size' => '%s článků (%s)', + 'create' => 'Vytvořit nového uživatele', + 'language' => 'Jazyk', + 'number' => 'Zatím je vytvořen %d účet', + 'numbers' => 'Zatím je vytvořeno %d účtů', + 'password_form' => 'Heslo<br /><small>(pro přihlášení webovým formulářem)</small>', + 'password_format' => 'Alespoň 7 znaků', + 'title' => 'Správa uživatelů', + 'user_list' => 'Seznam uživatelů', + 'username' => 'Přihlašovací jméno', + 'users' => 'Uživatelé', + ), +); diff --git a/app/i18n/cz/conf.php b/app/i18n/cz/conf.php new file mode 100644 index 000000000..9a4410679 --- /dev/null +++ b/app/i18n/cz/conf.php @@ -0,0 +1,174 @@ +<?php + +return array( + 'archiving' => array( + '_' => 'Archivace', + 'advanced' => 'Pokročilé', + 'delete_after' => 'Smazat články starší než', + 'help' => 'Více možností je dostupných v nastavení jednotlivých kanálů', + 'keep_history_by_feed' => 'Zachovat tento minimální počet článků v každém kanálu', + 'optimize' => 'Optimalizovat databázi', + 'optimize_help' => 'Občasná údržba zmenší velikost databáze', + 'purge_now' => 'Vyčistit nyní', + 'title' => 'Archivace', + 'ttl' => 'Neaktualizovat častěji než', + ), + 'display' => array( + '_' => 'Zobrazení', + 'icon' => array( + 'bottom_line' => 'Spodní řádek', + 'entry' => 'Ikony článků', + 'publication_date' => 'Datum vydání', + 'related_tags' => 'Související tagy', + 'sharing' => 'Sdílení', + 'top_line' => 'Horní řádek', + ), + 'language' => 'Jazyk', + 'notif_html5' => array( + 'seconds' => 'sekund (0 znamená žádný timeout)', + 'timeout' => 'Timeout HTML5 notifikací', + ), + 'theme' => 'Vzhled', + 'title' => 'Zobrazení', + 'width' => array( + 'content' => 'Šířka obsahu', + 'large' => 'Velká', + 'medium' => 'Střední', + 'no_limit' => 'Bez limitu', + 'thin' => 'Tenká', + ), + ), + 'query' => array( + '_' => 'Uživatelské dotazy', + 'deprecated' => 'Tento dotaz již není platný. Odkazovaná kategorie nebo kanál byly smazány.', + 'filter' => 'Filtr aplikován:', + 'get_all' => 'Zobrazit všechny články', + 'get_category' => 'Zobrazit "%s" kategorii', + 'get_favorite' => 'Zobrazit oblíbené články', + 'get_feed' => 'Zobrazit "%s" článkek', + 'no_filter' => 'Zrušit filtr', + 'none' => 'Ještě jste nevytvořil žádný uživatelský dotaz.', + 'number' => 'Dotaz n°%d', + 'order_asc' => 'Zobrazit nejdříve nejstarší články', + 'order_desc' => 'Zobrazit nejdříve nejnovější články', + 'search' => 'Hledat "%s"', + 'state_0' => 'Zobrazit všechny články', + 'state_1' => 'Zobrazit přečtené články', + 'state_2' => 'Zobrazit nepřečtené články', + 'state_3' => 'Zobrazit všechny články', + 'state_4' => 'Zobrazit oblíbené články', + 'state_5' => 'Zobrazit oblíbené přečtené články', + 'state_6' => 'Zobrazit oblíbené nepřečtené články', + 'state_7' => 'Zobrazit oblíbené články', + 'state_8' => 'Zobrazit všechny články vyjma oblíbených', + 'state_9' => 'Zobrazit všechny přečtené články vyjma oblíbených', + 'state_10' => 'Zobrazit všechny nepřečtené články vyjma oblíbených', + 'state_11' => 'Zobrazit všechny články vyjma oblíbených', + 'state_12' => 'Zobrazit všechny články', + 'state_13' => 'Zobrazit přečtené články', + 'state_14' => 'Zobrazit nepřečtené články', + 'state_15' => 'Zobrazit všechny články', + 'title' => 'Uživatelské dotazy', + ), + 'profile' => array( + '_' => 'Správa profilu', + 'delete' => array( + '_' => 'Smazání účtu', + 'warn' => 'Váš účet bude smazán spolu se všemi souvisejícími daty', + ), + 'password_api' => 'Password API<br /><small>(tzn. pro mobilní aplikace)</small>', + 'password_form' => 'Heslo<br /><small>(pro přihlášení webovým formulářem)</small>', + 'password_format' => 'Alespoň 7 znaků', + 'title' => 'Profil', + ), + 'reading' => array( + '_' => 'Čtení', + 'after_onread' => 'Po “označit vše jako přečtené”,', + 'articles_per_page' => 'Počet článků na stranu', + 'auto_load_more' => 'Načítat další články dole na stránce', + 'auto_remove_article' => 'Po přečtení články schovat', + 'mark_updated_article_unread' => 'Označte aktualizované položky jako nepřečtené', + 'confirm_enabled' => 'Vyžadovat potvrzení pro akci “označit vše jako přečtené”', + 'display_articles_unfolded' => 'Ve výchozím stavu zobrazovat články otevřené', + 'display_categories_unfolded' => 'Ve výchozím stavu zobrazovat kategorie zavřené', + 'hide_read_feeds' => 'Schovat kategorie a kanály s nulovým počtem nepřečtených článků (nefunguje s nastavením “Zobrazit všechny články”)', + 'img_with_lazyload' => 'Použít "lazy load" mód pro načítaní obrázků', + 'sides_close_article' => 'Clicking outside of article text area closes the article', //TODO + 'jump_next' => 'skočit na další nepřečtený (kanál nebo kategorii)', + 'number_divided_when_reader' => 'V režimu “Čtení” děleno dvěma.', + 'read' => array( + 'article_open_on_website' => 'když je otevřen původní web s článkem', + 'article_viewed' => 'během čtení článku', + 'scroll' => 'během skrolování', + 'upon_reception' => 'po načtení článku', + 'when' => 'Označit článek jako přečtený…', + ), + 'show' => array( + '_' => 'Počet zobrazených článků', + 'adaptive' => 'Vyberte zobrazení', + 'all_articles' => 'Zobrazit všechny články', + 'unread' => 'Zobrazit jen nepřečtené', + ), + 'sort' => array( + '_' => 'Řazení', + 'newer_first' => 'Nejdříve nejnovější', + 'older_first' => 'Nejdříve nejstarší', + ), + 'sticky_post' => 'Při otevření posunout článek nahoru', + 'title' => 'Čtení', + 'view' => array( + 'default' => 'Výchozí', + 'global' => 'Přehled', + 'normal' => 'Normální', + 'reader' => 'Čtení', + ), + ), + 'sharing' => array( + '_' => 'Sdílení', + 'blogotext' => 'Blogotext', + 'diaspora' => 'Diaspora*', + 'email' => 'Email', + 'facebook' => 'Facebook', + 'g+' => 'Google+', + 'more_information' => 'Více informací', + 'print' => 'Tisk', + 'shaarli' => 'Shaarli', + 'share_name' => 'Jméno pro zobrazení', + 'share_url' => 'Jakou URL použít pro sdílení', + 'title' => 'Sdílení', + 'twitter' => 'Twitter', + 'wallabag' => 'wallabag', + ), + 'shortcut' => array( + '_' => 'Zkratky', + 'article_action' => 'Články - akce', + 'auto_share' => 'Sdílet', + 'auto_share_help' => 'Je-li nastavena pouze jedna možnost sdílení, bude použita. Další možnosti jsou dostupné pomocí jejich čísla.', + 'close_dropdown' => 'Zavřít menu', + 'collapse_article' => 'Srolovat', + 'first_article' => 'Skočit na první článek', + 'focus_search' => 'Hledání', + 'help' => 'Zobrazit documentaci', + 'javascript' => 'Pro použití zkratek musí být povolen JavaScript', + 'last_article' => 'Skočit na poslední článek', + 'load_more' => 'Načíst více článků', + 'mark_read' => 'Označit jako přečtené', + 'mark_favorite' => 'Označit jako oblíbené', + 'navigation' => 'Navigace', + 'navigation_help' => 'Pomocí přepínače "Shift" fungují navigační zkratky v rámci kanálů.<br/>Pomocí přepínače "Alt" fungují v rámci kategorií.', + 'next_article' => 'Skočit na další článek', + 'other_action' => 'Ostatní akce', + 'previous_article' => 'Skočit na předchozí článek', + 'see_on_website' => 'Navštívit původní webovou stránku', + 'shift_for_all_read' => '+ <code>shift</code> označí vše jako přečtené', + 'title' => 'Zkratky', + 'user_filter' => 'Aplikovat uživatelské filtry', + 'user_filter_help' => 'Je-li nastaven pouze jeden filtr, bude použit. Další filtry jsou dostupné pomocí jejich čísla.', + ), + 'user' => array( + 'articles_and_size' => '%s článků (%s)', + 'current' => 'Aktuální uživatel', + 'is_admin' => 'je administrátor', + 'users' => 'Uživatelé', + ), +); diff --git a/app/i18n/cz/feedback.php b/app/i18n/cz/feedback.php new file mode 100644 index 000000000..f7b8d8c73 --- /dev/null +++ b/app/i18n/cz/feedback.php @@ -0,0 +1,109 @@ +<?php + +return array( + 'admin' => array( + 'optimization_complete' => 'Optimalizace dokončena', + ), + 'access' => array( + 'denied' => 'Nemáte oprávnění přistupovat na tuto stránku', + 'not_found' => 'Tato stránka neexistuje', + ), + 'auth' => array( + 'form' => array( + 'not_set' => 'Nastal problém s konfigurací přihlašovacího systému. Zkuste to prosím později.', + 'set' => 'Webový formulář je nyní výchozí přihlašovací systém.', + ), + 'login' => array( + 'invalid' => 'Login není platný', + 'success' => 'Jste přihlášen', + ), + 'logout' => array( + 'success' => 'Jste odhlášen', + ), + 'no_password_set' => 'Heslo administrátora nebylo nastaveno. Tato funkce není k dispozici.', + ), + 'conf' => array( + 'error' => 'Během ukládání nastavení došlo k chybě', + 'query_created' => 'Dotaz "%s" byl vytvořen.', + 'shortcuts_updated' => 'Zkratky byly aktualizovány', + 'updated' => 'Nastavení bylo aktualizováno', + ), + 'extensions' => array( + 'already_enabled' => '%s je již zapnut', + 'disable' => array( + 'ko' => '%s nelze vypnout. Pro více detailů <a href="%s">zkontrolujte logy FressRSS</a>.', + 'ok' => '%s je nyní vypnut', + ), + 'enable' => array( + 'ko' => '%s nelze zapnout. Pro více detailů <a href="%s">zkontrolujte logy FressRSS</a>.', + 'ok' => '%s je nyní zapnut', + ), + 'no_access' => 'Nemáte přístup k %s', + 'not_enabled' => '%s není ještě zapnut', + 'not_found' => '%s neexistuje', + ), + 'import_export' => array( + 'export_no_zip_extension' => 'Na serveru není naistalována podpora ZIP. Zkuste prosím exportovat soubory jeden po druhém.', + 'feeds_imported' => 'Vaše kanály byly naimportovány a nyní budou aktualizovány', + 'feeds_imported_with_errors' => 'Vaše kanály byly naimportovány, došlo ale k nějakým chybám', + 'file_cannot_be_uploaded' => 'Soubor nelze nahrát!', + 'no_zip_extension' => 'Na serveru není naistalována podpora ZIP.', + 'zip_error' => 'Během importu ZIP souboru došlo k chybě.', + ), + 'sub' => array( + 'actualize' => 'Aktualizovat', + 'category' => array( + 'created' => 'Kategorie %s byla vytvořena.', + 'deleted' => 'Kategorie byla smazána.', + 'emptied' => 'Kategorie byla vyprázdněna', + 'error' => 'Kategorii nelze aktualizovat', + 'name_exists' => 'Název kategorie již existuje.', + 'no_id' => 'Musíte upřesnit id kategorie.', + 'no_name' => 'Název kategorie nemůže být prázdný.', + 'not_delete_default' => 'Nelze smazat výchozí kategorii!', + 'not_exist' => 'Tato kategorie neexistuje!', + 'over_max' => 'Dosáhl jste maximálního počtu kategorií (%d)', + 'updated' => 'Kategorie byla aktualizována.', + ), + 'feed' => array( + 'actualized' => '<em>%s</em> bylo aktualizováno', + 'actualizeds' => 'RSS kanály byly aktualizovány', + 'added' => 'RSS kanál <em>%s</em> byl přidán', + 'already_subscribed' => 'Již jste přihlášen k odběru <em>%s</em>', + 'deleted' => 'Kanál byl smazán', + 'error' => 'Kanál nelze aktualizovat', + 'internal_problem' => 'RSS kanál nelze přidat. Pro detaily <a href="%s">zkontrolujte logy FressRSS</a>.', + 'invalid_url' => 'URL <em>%s</em> není platné', + 'marked_read' => 'Kanály byly označeny jako přečtené', + 'n_actualized' => '%d kanálů bylo aktualizováno', + 'n_entries_deleted' => '%d článků bylo smazáno', + 'no_refresh' => 'Nelze obnovit žádné kanály…', + 'not_added' => '<em>%s</em> nemůže být přidán', + 'over_max' => 'Dosáhl jste maximálního počtu kanálů (%d)', + 'updated' => 'Kanál byl aktualizován', + ), + 'purge_completed' => 'Vyprázdněno (smazáno %d článků)', + ), + 'update' => array( + 'can_apply' => 'FreshRSS bude nyní upgradováno na <strong>verzi %s</strong>.', + 'error' => 'Během upgrade došlo k chybě: %s', + 'file_is_nok' => '<strong>Verzi %s</strong>. Zkontrolujte oprávnění adresáře <em>%s</em>. HTTP server musí mít do tohoto adresáře práva zápisu', + 'finished' => 'Upgrade hotov!', + 'none' => 'Novější verze není k dispozici', + 'server_not_found' => 'Nelze nalézt server s instalačním souborem. [%s]', + ), + 'user' => array( + 'created' => array( + '_' => 'Uživatel %s byl vytvořen', + 'error' => 'Uživatele %s nelze vytvořit', + ), + 'deleted' => array( + '_' => 'Uživatel %s byl smazán', + 'error' => 'Uživatele %s nelze smazat', + ), + ), + 'profile' => array( + 'error' => 'Váš profil nelze změnit', + 'updated' => 'Váš profil byl změněn', + ), +); diff --git a/app/i18n/cz/gen.php b/app/i18n/cz/gen.php new file mode 100644 index 000000000..e43355f64 --- /dev/null +++ b/app/i18n/cz/gen.php @@ -0,0 +1,189 @@ +<?php + +return array( + 'action' => array( + 'actualize' => 'Aktualizovat', + 'back_to_rss_feeds' => '← Zpět na seznam RSS kanálů', + 'cancel' => 'Zrušit', + 'create' => 'Vytvořit', + 'disable' => 'Zakázat', + 'empty' => 'Vyprázdnit', + 'enable' => 'Povolit', + 'export' => 'Export', + 'filter' => 'Filtrovat', + 'import' => 'Import', + 'manage' => 'Spravovat', + 'mark_favorite' => 'Označit jako oblíbené', + 'mark_read' => 'Označit jako přečtené', + 'remove' => 'Odstranit', + 'see_website' => 'Navštívit WWW stránku', + 'submit' => 'Odeslat', + 'truncate' => 'Smazat všechny články', + ), + 'auth' => array( + 'email' => 'Email', + 'keep_logged_in' => 'Zapamatovat přihlášení <small>(%s dny)</small>', + 'login' => 'Login', + 'logout' => 'Odhlášení', + 'password' => array( + '_' => 'Heslo', + 'format' => '<small>Alespoň 7 znaků</small>', + ), + 'registration' => array( + '_' => 'Nový účet', + 'ask' => 'Vytvořit účet?', + 'title' => 'Vytvoření účtu', + ), + 'reset' => 'Reset přihlášení', + 'username' => array( + '_' => 'Uživatel', + 'admin' => 'Název administrátorského účtu', + 'format' => '<small>maximálně 16 alfanumerických znaků</small>', + ), + ), + 'date' => array( + 'Apr' => '\\D\\u\\b\\e\\n', + 'Aug' => '\\S\\r\\p\\e\\n', + 'Dec' => '\\P\\r\\o\\s\\i\\n\\e\\c', + 'Feb' => '\\Ú\\n\\o\\r', + 'Jan' => '\\L\\e\\d\\e\\n', + 'Jul' => '\\Č\\e\\r\\v\\e\\n\\e\\c', + 'Jun' => '\\Č\\e\\r\\v\\e\\n', + 'Mar' => '\\B\\ř\\e\\z\\e\\n', + 'May' => '\\K\\v\\ě\\t\\e\\n', + 'Nov' => '\\L\\i\\s\\t\\o\\p\\a\\d', + 'Oct' => '\\Ř\\í\\j\\e\\n', + 'Sep' => '\\Z\\á\\ř\\í', + 'apr' => 'dub', + 'april' => 'Dub', + 'aug' => 'srp', + 'august' => 'Srp', + 'before_yesterday' => 'Předevčírem', + 'dec' => 'pro', + 'december' => 'Pro', + 'feb' => 'úno', + 'february' => 'Úno', + 'format_date' => 'j\\. %s Y', + 'format_date_hour' => 'j\\. %s Y \\v H\\:i', + 'fri' => 'Pá', + 'jan' => 'led', + 'january' => 'Led', + 'jul' => 'čvn', + 'july' => 'Čvn', + 'jun' => 'čer', + 'june' => 'Čer', + 'last_3_month' => 'Minulé tři měsíce', + 'last_6_month' => 'Minulých šest měsíců', + 'last_month' => 'Minulý měsíc', + 'last_week' => 'Minulý týden', + 'last_year' => 'Minulý rok', + 'mar' => 'bře', + 'march' => 'Bře', + 'may' => 'Květen', + 'may_' => 'Kvě', + 'mon' => 'Po', + 'month' => 'měsíce', + 'nov' => 'lis', + 'november' => 'Lis', + 'oct' => 'říj', + 'october' => 'Říj', + 'sat' => 'So', + 'sep' => 'zář', + 'september' => 'Zář', + 'sun' => 'Ne', + 'thu' => 'Čt', + 'today' => 'Dnes', + 'tue' => 'Út', + 'wed' => 'St', + 'yesterday' => 'Včera', + ), + 'freshrss' => array( + '_' => 'FreshRSS', + 'about' => 'O FreshRSS', + ), + 'js' => array( + 'category_empty' => 'Prázdná kategorie', + 'confirm_action' => 'Jste si jist, že chcete provést tuto akci? Změny nelze vrátit zpět!', + 'confirm_action_feed_cat' => 'Jste si jist, že chcete provést tuto akci? Přijdete o související oblíbené položky a uživatelské dotazy. Změny nelze vrátit zpět!', + 'feedback' => array( + 'body_new_articles' => 'Je %%d nových článků k přečtení v FreshRSS.', + 'request_failed' => 'Požadavek selhal, což může být způsobeno problémy s připojení k internetu.', + 'title_new_articles' => 'FreshRSS: nové články!', + ), + 'new_article' => 'Jsou k dispozici nové články, stránku obnovíte kliknutím zde.', + 'should_be_activated' => 'JavaScript musí být povolen', + ), + 'lang' => array( + 'cz' => 'Čeština', + 'de' => 'Deutsch', + 'en' => 'English', + 'es' => 'Español', + 'fr' => 'Français', + 'it' => 'Italiano', + 'kr' => '한국어', + 'nl' => 'Nederlands', + 'pt-br' => 'Português (Brasil)', + 'ru' => 'Русский', + 'tr' => 'Türkçe', + 'zh-cn' => '简体中文', + ), + 'menu' => array( + 'about' => 'O aplikaci', + 'admin' => 'Administrace', + 'archiving' => 'Archivace', + 'authentication' => 'Přihlášení', + 'check_install' => 'Ověření instalace', + 'configuration' => 'Nastavení', + 'display' => 'Zobrazení', + 'extensions' => 'Rozšíření', + 'logs' => 'Logy', + 'queries' => 'Uživatelské dotazy', + 'reading' => 'Čtení', + 'search' => 'Hledat výraz nebo #tagy', + 'sharing' => 'Sdílení', + 'shortcuts' => 'Zkratky', + 'stats' => 'Statistika', + 'system' => 'System configuration', // @todo translate + 'update' => 'Aktualizace', + 'user_management' => 'Správa uživatelů', + 'user_profile' => 'Profil', + ), + 'pagination' => array( + 'first' => 'První', + 'last' => 'Poslední', + 'load_more' => 'Načíst více článků', + 'mark_all_read' => 'Označit vše jako přečtené', + 'next' => 'Další', + 'nothing_to_load' => 'Žádné nové články', + 'previous' => 'Předchozí', + ), + 'share' => array( + 'Known' => 'Known based sites', + 'blogotext' => 'Blogotext', + 'diaspora' => 'Diaspora*', + 'email' => 'Email', + 'facebook' => 'Facebook', + 'g+' => 'Google+', + 'gnusocial' => 'GNU social', + 'jdh' => 'Journal du hacker', + 'mastodon' => 'Mastodon', + 'movim' => 'Movim', + 'print' => 'Tisk', + 'shaarli' => 'Shaarli', + 'twitter' => 'Twitter', + 'wallabag' => 'wallabag v1', + 'wallabagv2' => 'wallabag v2', + ), + 'short' => array( + 'attention' => 'Upozornění!', + 'blank_to_disable' => 'Zakázat - ponechte prázdné', + 'by_author' => 'Od <em>%s</em>', + 'by_default' => 'Výchozí', + 'damn' => 'Sakra!', + 'default_category' => 'Nezařazeno', + 'no' => 'Ne', + 'ok' => 'Ok!', + 'or' => 'nebo', + 'yes' => 'Ano', + ), +); diff --git a/app/i18n/cz/index.php b/app/i18n/cz/index.php new file mode 100644 index 000000000..cb0e5955d --- /dev/null +++ b/app/i18n/cz/index.php @@ -0,0 +1,61 @@ +<?php + +return array( + 'about' => array( + '_' => 'O FreshRSS', + 'agpl3' => '<a href="https://www.gnu.org/licenses/agpl-3.0.html">AGPL 3</a>', + 'bugs_reports' => 'Hlášení chyb', + 'credits' => 'Poděkování', + 'credits_content' => 'Některé designové prvky pocházejí z <a href="http://twitter.github.io/bootstrap/">Bootstrap</a>, FreshRSS ale tuto platformu nevyužívá. <a href="https://git.gnome.org/browse/gnome-icon-theme-symbolic">Ikony</a> pocházejí z <a href="https://www.gnome.org/">GNOME projektu</a>. Font <em>Open Sans</em> vytvořil <a href="https://fonts.google.com/specimen/Open+Sans">Steve Matteson</a>. FreshRSS je založen na PHP framework <a href="https://github.com/marienfressinaud/MINZ">Minz</a>.', + 'freshrss_description' => 'FreshRSS je čtečka RSS kanálů určená k provozu na vlastním serveru, podobná <a href="http://tontof.net/kriss/feed/">Kriss Feed</a> nebo <a href="http://projet.idleman.fr/leed/">Leed</a>. Je to nenáročný a jednoduchý, zároveň ale mocný a konfigurovatelný nástroj.', + 'github' => '<a href="https://github.com/FreshRSS/FreshRSS/issues">na Github</a>', + 'license' => 'Licence', + 'project_website' => 'Stránka projektu', + 'title' => 'O FreshRSS', + 'version' => 'Verze', + 'website' => 'Webové stránka', + ), + 'feed' => array( + 'add' => 'Můžete přidat kanály.', + 'empty' => 'Žádné články k zobrazení.', + 'rss_of' => 'RSS kanál %s', + 'title' => 'RSS kanály', + 'title_global' => 'Přehled', + 'title_fav' => 'Oblíbené', + ), + 'log' => array( + '_' => 'Logy', + 'clear' => 'Vymazat logy', + 'empty' => 'Log je prázdný', + 'title' => 'Logy', + ), + 'menu' => array( + 'about' => 'O FreshRSS', + 'add_query' => 'Vytvořit dotaz', + 'before_one_day' => 'Den nazpět', + 'before_one_week' => 'Před týdnem', + 'favorites' => 'Oblíbené (%s)', + 'global_view' => 'Přehled', + 'main_stream' => 'Všechny kanály', + 'mark_all_read' => 'Označit vše jako přečtené', + 'mark_cat_read' => 'Označit kategorii jako přečtenou', + 'mark_feed_read' => 'Označit kanál jako přečtený', + 'newer_first' => 'Nové nejdříve', + 'non-starred' => 'Zobrazit vše vyjma oblíbených', + 'normal_view' => 'Normální', + 'older_first' => 'Nejstarší nejdříve', + 'queries' => 'Uživatelské dotazy', + 'read' => 'Zobrazovat přečtené', + 'reader_view' => 'Čtení', + 'rss_view' => 'RSS kanál', + 'search_short' => 'Hledat', + 'starred' => 'Zobrazit oblíbené', + 'stats' => 'Statistika', + 'subscription' => 'Správa subskripcí', + 'unread' => 'Zobrazovat nepřečtené', + ), + 'share' => 'Sdílet', + 'tag' => array( + 'related' => 'Související tagy', + ), +); diff --git a/app/i18n/cz/install.php b/app/i18n/cz/install.php new file mode 100644 index 000000000..ea4812ea5 --- /dev/null +++ b/app/i18n/cz/install.php @@ -0,0 +1,119 @@ +<?php + +return array( + 'action' => array( + 'finish' => 'Dokončit instalaci', + 'fix_errors_before' => 'Chyby prosím před přechodem na další krok opravte.', + 'keep_install' => 'Zachovat předchozí instalaci', + 'next_step' => 'Přejít na další krok', + 'reinstall' => 'Reinstalovat FreshRSS', + ), + 'auth' => array( + 'form' => 'Webový formulář (tradiční, vyžaduje JavaScript)', + 'http' => 'HTTP (pro pokročilé uživatele s HTTPS)', + 'none' => 'Žádný (nebezpečné)', + 'password_form' => 'Heslo<br /><small>(pro přihlášení webovým formulářem)</small>', + 'password_format' => 'Alespoň 7 znaků', + 'type' => 'Způsob přihlášení', + ), + 'bdd' => array( + '_' => 'Databáze', + 'conf' => array( + '_' => 'Nastavení databáze', + 'ko' => 'Ověřte informace o databázi.', + 'ok' => 'Nastavení databáze bylo uloženo.', + ), + 'host' => 'Hostitel', + 'prefix' => 'Prefix tabulky', + 'password' => 'Heslo', + 'type' => 'Typ databáze', + 'username' => 'Uživatel', + ), + 'check' => array( + '_' => 'Kontrola', + 'already_installed' => 'Zjistili jsme, že FreshRSS je již nainstalován!', + 'cache' => array( + 'nok' => 'Zkontrolujte oprávnění adresáře <em>./data/cache</em>. HTTP server musí mít do tohoto adresáře práva zápisu', + 'ok' => 'Oprávnění adresáře cache jsou v pořádku.', + ), + 'ctype' => array( + 'nok' => 'Není nainstalována požadovaná knihovna pro ověřování znaků (php-ctype).', + 'ok' => 'Je nainstalována požadovaná knihovna pro ověřování znaků (ctype).', + ), + 'curl' => array( + 'nok' => 'Nemáte cURL (balíček php-curl).', + 'ok' => 'Máte rozšíření cURL.', + ), + 'data' => array( + 'nok' => 'Zkontrolujte oprávnění adresáře <em>./data</em>. HTTP server musí mít do tohoto adresáře práva zápisu', + 'ok' => 'Oprávnění adresáře data jsou v pořádku.', + ), + 'dom' => array( + 'nok' => 'Nemáte požadovanou knihovnu pro procházení DOM.', + 'ok' => 'Máte požadovanou knihovnu pro procházení DOM.', + ), + 'favicons' => array( + 'nok' => 'Zkontrolujte oprávnění adresáře <em>./data/favicons</em>. HTTP server musí mít do tohoto adresáře práva zápisu', + 'ok' => 'Oprávnění adresáře favicons jsou v pořádku.', + ), + 'fileinfo' => array( + 'nok' => 'Nemáte PHP fileinfo (balíček fileinfo).', + 'ok' => 'Máte rozšíření fileinfo.', + ), + 'http_referer' => array( + 'nok' => 'Zkontrolujte prosím že neměníte HTTP REFERER.', + 'ok' => 'Váš HTTP REFERER je znám a odpovídá Vašemu serveru.', + ), + 'json' => array( + 'nok' => 'Pro parsování JSON chybí doporučená knihovna.', + 'ok' => 'Máte doporučenou knihovnu pro parsování JSON.', + ), + 'minz' => array( + 'nok' => 'Nemáte framework Minz.', + 'ok' => 'Máte framework Minz.', + ), + 'pcre' => array( + 'nok' => 'Nemáte požadovanou knihovnu pro regulární výrazy (php-pcre).', + 'ok' => 'Máte požadovanou knihovnu pro regulární výrazy (PCRE).', + ), + 'pdo' => array( + 'nok' => 'Nemáte PDO nebo některý z podporovaných ovladačů (pdo_mysql, pdo_sqlite, pdo_pgsql).', + 'ok' => 'Máte PDO a alespoň jeden z podporovaných ovladačů (pdo_mysql, pdo_sqlite, pdo_pgsql).', + ), + 'php' => array( + 'nok' => 'Vaše verze PHP je %s, ale FreshRSS vyžaduje alespoň verzi %s.', + 'ok' => 'Vaše verze PHP je %s a je kompatibilní s FreshRSS.', + ), + 'users' => array( + 'nok' => 'Zkontrolujte oprávnění adresáře <em>./data/users</em>. HTTP server musí mít do tohoto adresáře práva zápisu', + 'ok' => 'Oprávnění adresáře users jsou v pořádku.', + ), + 'xml' => array( + 'nok' => 'Pro parsování XML chybí požadovaná knihovna.', + 'ok' => 'Máte požadovanou knihovnu pro parsování XML.', + ), + ), + 'conf' => array( + '_' => 'Obecná nastavení', + 'ok' => 'Nastavení bylo uloženo.', + ), + 'congratulations' => 'Gratulujeme!', + 'default_user' => 'Jméno výchozího uživatele <small>(maximálně 16 alfanumerických znaků)</small>', + 'delete_articles_after' => 'Smazat články starší než', + 'fix_errors_before' => 'Chyby prosím před přechodem na další krok opravte.', + 'javascript_is_better' => 'Práce s FreshRSS je příjemnější se zapnutým JavaScriptem', + 'js' => array( + 'confirm_reinstall' => 'Reinstalací FreshRSS ztratíte předchozí konfiguraci. Opravdu chcete pokračovat?', + ), + 'language' => array( + '_' => 'Jazyk', + 'choose' => 'Vyberte jazyk FreshRSS', + 'defined' => 'Jazyk byl nastaven.', + ), + 'not_deleted' => 'Nastala chyba, soubor <em>%s</em> musíte smazat ručně.', + 'ok' => 'Instalace byla úspěšná.', + 'step' => 'krok %d', + 'steps' => 'Kroky', + 'title' => 'Instalace · FreshRSS', + 'this_is_the_end' => 'Konec', +); diff --git a/app/i18n/cz/sub.php b/app/i18n/cz/sub.php new file mode 100644 index 000000000..807c249d3 --- /dev/null +++ b/app/i18n/cz/sub.php @@ -0,0 +1,77 @@ +<?php + +return array( + 'api' => array( + 'documentation' => 'Copy the following URL to use it within an external tool.',// TODO + 'title' => 'API',// TODO + ), + 'bookmarklet' => array( + 'documentation' => 'Drag this button to your bookmarks toolbar or right-click it and choose "Bookmark This Link". Then click "Subscribe" button in any page you want to subscribe to.',// TODO + 'label' => 'Subscribe',// TODO + 'title' => 'Bookmarklet',// TODO + ), + 'category' => array( + '_' => 'Kategorie', + 'add' => 'Přidat kategorii', + 'empty' => 'Vyprázdit kategorii', + 'new' => 'Nová kategorie', + ), + 'feed' => array( + 'add' => 'Přidat RSS kanál', + 'advanced' => 'Pokročilé', + 'archiving' => 'Archivace', + 'auth' => array( + 'configuration' => 'Přihlášení', + 'help' => 'Umožní přístup k RSS kanálům chráneným HTTP autentizací', + 'http' => 'HTTP přihlášení', + 'password' => 'Heslo', + 'username' => 'Přihlašovací jméno', + ), + 'css_help' => 'Stáhne zkrácenou verzi RSS kanálů (pozor, náročnější na čas!)', + 'css_path' => 'Původní CSS soubor článku z webových stránek', + 'description' => 'Popis', + 'empty' => 'Kanál je prázdný. Ověřte prosím zda je ještě autorem udržován.', + 'error' => 'Vyskytl se problém s kanálem. Ověřte že je vždy dostupný, prosím, a poté jej aktualizujte.', + 'in_main_stream' => 'Zobrazit ve “Všechny kanály”', + 'informations' => 'Informace', + 'keep_history' => 'Zachovat tento minimální počet článků', + 'moved_category_deleted' => 'Po smazání kategorie budou v ní obsažené kanály automaticky přesunuty do <em>%s</em>.', + 'no_selected' => 'Nejsou označeny žádné kanály.', + 'number_entries' => '%d článků', + 'stats' => 'Statistika', + 'think_to_add' => 'Můžete přidat kanály.', + 'title' => 'Název', + 'title_add' => 'Přidat RSS kanál', + 'ttl' => 'Neobnovovat častěji než', + 'url' => 'URL kanálu', + 'validator' => 'Zkontrolovat platnost kanálu', + 'website' => 'URL webové stránky', + 'pubsubhubbub' => 'Okamžité oznámení s PubSubHubbub', + ), + 'firefox' => array( + 'documentation' => 'Follow the steps described <a href="https://developer.mozilla.org/en-US/Firefox/Releases/2/Adding_feed_readers_to_Firefox#Adding_a_new_feed_reader_manually">here</a> to add FreshRSS to Firefox feed reader list.',// TODO + 'title' => 'Firefox feed reader',// TODO + ), + 'import_export' => array( + 'export' => 'Export', + 'export_opml' => 'Exportovat seznam kanálů (OPML)', + 'export_starred' => 'Exportovat oblíbené', + 'feed_list' => 'Seznam %s článků', + 'file_to_import' => 'Soubor k importu<br />(OPML, JSON nebo ZIP)', + 'file_to_import_no_zip' => 'Soubor k importu<br />(OPML nebo JSON)', + 'import' => 'Import', + 'starred_list' => 'Seznam oblíbených článků', + 'title' => 'Import / export', + ), + 'menu' => array( + 'bookmark' => 'Přihlásit (FreshRSS bookmark)', + 'import_export' => 'Import / export', + 'subscription_management' => 'Správa subskripcí', + 'subscription_tools' => 'Subscription tools',// TODO + ), + 'title' => array( + '_' => 'Správa subskripcí', + 'feed_management' => 'Správa RSS kanálů', + 'subscription_tools' => 'Subscription tools',// TODO + ), +); diff --git a/app/i18n/de/admin.php b/app/i18n/de/admin.php index bcd0fcc61..bb2c9352d 100644 --- a/app/i18n/de/admin.php +++ b/app/i18n/de/admin.php @@ -8,7 +8,6 @@ return array( 'form' => 'Webformular (traditionell, benötigt JavaScript)', 'http' => 'HTTP (HTTPS für erfahrene Benutzer)', 'none' => 'Keine (gefährlich)', - 'persona' => 'Mozilla Persona (modern, benötigt JavaScript)', 'title' => 'Authentifizierung', 'title_reset' => 'Zurücksetzen der Authentifizierung', 'token' => 'Authentifizierungs-Token', @@ -19,27 +18,27 @@ return array( 'check_install' => array( 'cache' => array( 'nok' => 'Überprüfen Sie die Berechtigungen des Verzeichnisses <em>./data/cache</em>. Der HTTP-Server muss Schreibrechte besitzen.', - 'ok' => 'Berechtigungen des Verzeichnisses <em>./data/cache</em> sind in Ordnung.', + 'ok' => 'Die Berechtigungen des Verzeichnisses <em>./data/cache</em> sind in Ordnung.', ), 'categories' => array( 'nok' => 'Die Tabelle <em>category</em> ist schlecht konfiguriert.', - 'ok' => 'Die Tabelle <em>category</em> ist in Ordnung.', + 'ok' => 'Die Tabelle <em>category</em> ist korrekt konfiguriert.', ), 'connection' => array( 'nok' => 'Verbindung zur Datenbank kann nicht aufgebaut werden.', - 'ok' => 'Verbindung zur Datenbank ist in Ordnung.', + 'ok' => 'Verbindung zur Datenbank konnte aufgebaut werden.', ), 'ctype' => array( 'nok' => 'Ihnen fehlt eine benötigte Bibliothek für die Überprüfung von Zeichentypen (php-ctype).', 'ok' => 'Sie haben die benötigte Bibliothek für die Überprüfung von Zeichentypen (ctype).', ), 'curl' => array( - 'nok' => 'Ihnen fehlt cURL (Paket php5-curl).', + 'nok' => 'Ihnen fehlt cURL (Paket php-curl).', 'ok' => 'Sie haben die cURL-Erweiterung.', ), 'data' => array( 'nok' => 'Überprüfen Sie die Berechtigungen des Verzeichnisses <em>./data</em>. Der HTTP-Server muss Schreibrechte besitzen.', - 'ok' => 'Berechtigungen des Verzeichnisses <em>./data</em> sind in Ordnung.', + 'ok' => 'Die Berechtigungen des Verzeichnisses <em>./data</em> sind in Ordnung.', ), 'database' => 'Datenbank-Installation', 'dom' => array( @@ -48,19 +47,23 @@ return array( ), 'entries' => array( 'nok' => 'Die Tabelle <em>entry</em> ist schlecht konfiguriert.', - 'ok' => 'Die Tabelle <em>entry</em> ist in Ordnung.', + 'ok' => 'Die Tabelle <em>entry</em> ist korrekt konfiguriert.', ), 'favicons' => array( 'nok' => 'Überprüfen Sie die Berechtigungen des Verzeichnisses <em>./data/favicons</em>. Der HTTP-Server muss Schreibrechte besitzen.', - 'ok' => 'Berechtigungen des Verzeichnisses <em>./data/favicons</em> sind in Ordnung.', + 'ok' => 'Die Berechtigungen des Verzeichnisses <em>./data/favicons</em> sind in Ordnung.', ), 'feeds' => array( 'nok' => 'Die Tabelle <em>feed</em> ist schlecht konfiguriert.', - 'ok' => 'Die Tabelle <em>feed</em> ist in Ordnung.', + 'ok' => 'Die Tabelle <em>feed</em> ist korrekt konfiguriert.', + ), + 'fileinfo' => array( + 'nok' => 'Ihnen fehlt PHP fileinfo (Paket fileinfo).', + 'ok' => 'Sie haben die fileinfo-Erweiterung.', ), 'files' => 'Datei-Installation', 'json' => array( - 'nok' => 'Ihnen fehlt JSON (Paket php5-json).', + 'nok' => 'Ihnen fehlt die JSON-Erweiterung (Paket php5-json).', 'ok' => 'Sie haben die JSON-Erweiterung.', ), 'minz' => array( @@ -72,12 +75,8 @@ return array( 'ok' => 'Sie haben die benötigte Bibliothek für reguläre Ausdrücke (PCRE).', ), 'pdo' => array( - 'nok' => 'Ihnen fehlt PDO oder einer der unterstützten Treiber (pdo_mysql, pdo_sqlite).', - 'ok' => 'Sie haben PDO und mindestens einen der unterstützten Treiber (pdo_mysql, pdo_sqlite).', - ), - 'persona' => array( - 'nok' => 'Überprüfen Sie die Berechtigungen des Verzeichnisses <em>./data/persona</em>. Der HTTP-Server muss Schreibrechte besitzen.', - 'ok' => 'Berechtigungen des Verzeichnisses <em>./data/persona</em> sind in Ordnung.', + 'nok' => 'Ihnen fehlt PDO oder einer der unterstützten Treiber (pdo_mysql, pdo_sqlite, pdo_pgsql).', + 'ok' => 'Sie haben PDO und mindestens einen der unterstützten Treiber (pdo_mysql, pdo_sqlite, pdo_pgsql).', ), 'php' => array( '_' => 'PHP-Installation', @@ -91,14 +90,14 @@ return array( 'title' => 'Installationsüberprüfung', 'tokens' => array( 'nok' => 'Überprüfen Sie die Berechtigungen des Verzeichnisses <em>./data/tokens</em>. Der HTTP-Server muss Schreibrechte besitzen.', - 'ok' => 'Berechtigungen des Verzeichnisses <em>./data/tokens</em> sind in Ordnung.', + 'ok' => 'Die Berechtigungen des Verzeichnisses <em>./data/tokens</em> sind in Ordnung.', ), 'users' => array( 'nok' => 'Überprüfen Sie die Berechtigungen des Verzeichnisses <em>./data/users</em>. Der HTTP-Server muss Schreibrechte besitzen.', - 'ok' => 'Berechtigungen des Verzeichnisses <em>./data/users</em> sind in Ordnung.', + 'ok' => 'Die Berechtigungen des Verzeichnisses <em>./data/users</em> sind in Ordnung.', ), 'zip' => array( - 'nok' => 'Ihnen fehlt die ZIP-Erweiterung (Paket php5-zip).', + 'nok' => 'Ihnen fehlt die ZIP-Erweiterung (Paket php-zip).', 'ok' => 'Sie haben die ZIP-Erweiterung.', ), ), @@ -113,6 +112,13 @@ return array( ), 'title' => 'Erweiterungen', 'user' => 'Benutzer-Erweiterungen', + 'community' => 'Verfügbare Community Erweiterungen', + 'name' => 'Name', + 'version' => 'Version', + 'description' => 'Beschreibungen', + 'author' => 'Autor', + 'latest' => 'Installiert', + 'update' => 'Update verfügbar', ), 'stats' => array( '_' => 'Statistiken', @@ -120,22 +126,22 @@ return array( 'category' => 'Kategorie', 'entry_count' => 'Anzahl der Einträge', 'entry_per_category' => 'Einträge pro Kategorie', - 'entry_per_day' => 'Einträge pro Tag (letzte 30 Tage)', + 'entry_per_day' => 'Einträge pro Tag (letzten 30 Tage)', 'entry_per_day_of_week' => 'Pro Wochentag (Durchschnitt: %.2f Nachrichten)', 'entry_per_hour' => 'Pro Stunde (Durchschnitt: %.2f Nachrichten)', 'entry_per_month' => 'Pro Monat (Durchschnitt: %.2f Nachrichten)', 'entry_repartition' => 'Einträge-Verteilung', 'feed' => 'Feed', 'feed_per_category' => 'Feeds pro Kategorie', - 'idle' => 'Untätige Feeds', + 'idle' => 'Inaktive Feeds', 'main' => 'Haupt-Statistiken', 'main_stream' => 'Haupt-Feeds', 'menu' => array( - 'idle' => 'Untätige Feeds', + 'idle' => 'Inaktive Feeds', 'main' => 'Haupt-Statistiken', 'repartition' => 'Artikel-Verteilung', ), - 'no_idle' => 'Es gibt keinen untätigen Feed!', + 'no_idle' => 'Es gibt keinen inaktiven Feed!', 'number_entries' => '%d Artikel', 'percent_of_total' => '%% Gesamt', 'repartition' => 'Artikel-Verteilung', @@ -146,20 +152,32 @@ return array( 'title' => 'Statistiken', 'top_feed' => 'Top 10-Feeds', ), + 'system' => array( + '_' => 'Systemeinstellungen', + 'auto-update-url' => 'Auto-update URL', + 'instance-name' => 'Dein Reader Name', + 'max-categories' => 'Anzahl erlaubter Kategorien pro Benutzer', + 'max-feeds' => 'Anzahl erlaubter Feeds pro Benutzer', + 'registration' => array( + 'help' => '0 meint, dass es kein Account Limit gibt', + 'number' => 'Maximale Anzahl von Accounts', + ), + ), 'update' => array( '_' => 'System aktualisieren', 'apply' => 'Anwenden', 'check' => 'Auf neue Aktualisierungen prüfen', 'current_version' => 'Ihre aktuelle Version von FreshRSS ist %s.', 'last' => 'Letzte Überprüfung: %s', - 'none' => 'Keine Aktualisierung zum Anwenden', + 'none' => 'Keine ausstehende Aktualisierung', 'title' => 'System aktualisieren', ), 'user' => array( 'articles_and_size' => '%s Artikel (%s)', 'create' => 'Neuen Benutzer erstellen', - 'email_persona' => 'Anmelde-E-Mail-Adresse<br /><small>(für <a href="https://persona.org/" rel="external">Mozilla Persona</a>)</small>', 'language' => 'Sprache', + 'number' => 'Es wurde bis jetzt %d Account erstellt', + 'numbers' => 'Es wurden bis jetzt %d Accounts erstellt', 'password_form' => 'Passwort<br /><small>(für die Anmeldemethode per Webformular)</small>', 'password_format' => 'mindestens 7 Zeichen', 'title' => 'Benutzer verwalten', diff --git a/app/i18n/de/conf.php b/app/i18n/de/conf.php index 64c2c0945..ac7c08e98 100644 --- a/app/i18n/de/conf.php +++ b/app/i18n/de/conf.php @@ -5,8 +5,8 @@ return array( '_' => 'Archivierung', 'advanced' => 'Erweitert', 'delete_after' => 'Entferne Artikel nach', - 'help' => 'Weitere Optionen sind in den Einstellungen der individuellen Nachrichten-Feeds vorhanden.', - 'keep_history_by_feed' => 'Minimale Anzahl an Artikeln, die pro Feed behalten wird', + 'help' => 'Weitere Optionen sind in den Einstellungen der individuellen Feeds verfügbar.', + 'keep_history_by_feed' => 'Minimale Anzahl an Artikeln, die pro Feed behalten werden', 'optimize' => 'Datenbank optimieren', 'optimize_help' => 'Sollte gelegentlich durchgeführt werden, um die Größe der Datenbank zu reduzieren.', 'purge_now' => 'Jetzt bereinigen', @@ -32,10 +32,10 @@ return array( 'title' => 'Anzeige', 'width' => array( 'content' => 'Inhaltsbreite', - 'large' => 'Weit', + 'large' => 'Gross', 'medium' => 'Mittel', 'no_limit' => 'Keine Begrenzung', - 'thin' => 'Schmal', + 'thin' => 'Klein', ), ), 'query' => array( @@ -72,7 +72,10 @@ return array( ), 'profile' => array( '_' => 'Profil-Verwaltung', - 'email_persona' => 'Anmelde-E-Mail-Adresse<br /><small>(für <a href="https://persona.org/" rel="external">Mozilla Persona</a>)</small>', + 'delete' => array( + '_' => 'Accountlöschung', + 'warn' => 'Dein Account und alle damit bezogenen Daten werden gelöscht.', + ), 'password_api' => 'Passwort-API<br /><small>(z. B. für mobile Anwendungen)</small>', 'password_form' => 'Passwort<br /><small>(für die Anmeldemethode per Webformular)</small>', 'password_format' => 'mindestens 7 Zeichen', @@ -84,11 +87,13 @@ return array( 'articles_per_page' => 'Anzahl der Artikel pro Seite', 'auto_load_more' => 'Die nächsten Artikel am Seitenende laden', 'auto_remove_article' => 'Artikel nach dem Lesen verstecken', + 'mark_updated_article_unread' => 'Markieren Sie aktualisierte Artikel als ungelesen', 'confirm_enabled' => 'Bei der Aktion „Alle als gelesen markieren“ einen Bestätigungsdialog anzeigen', 'display_articles_unfolded' => 'Artikel standardmäßig ausgeklappt zeigen', 'display_categories_unfolded' => 'Kategorien standardmäßig eingeklappt zeigen', 'hide_read_feeds' => 'Kategorien & Feeds ohne ungelesene Artikel verstecken (funktioniert nicht mit der Einstellung „Alle Artikel zeigen“)', 'img_with_lazyload' => 'Verwende die "träges Laden"-Methode zum Laden von Bildern', + 'sides_close_article' => 'Clicking outside of article text area closes the article', //TODO 'jump_next' => 'springe zum nächsten ungelesenen Geschwisterelement (Feed oder Kategorie)', 'number_divided_when_reader' => 'Geteilt durch 2 in der Lese-Ansicht.', 'read' => array( @@ -99,7 +104,7 @@ return array( 'when' => 'Artikel als gelesen markieren…', ), 'show' => array( - '_' => 'Artikel zum Anzeigen', + '_' => 'Artikel zum Anzeigen', 'adaptive' => 'Anzeige anpassen', 'all_articles' => 'Alle Artikel zeigen', 'unread' => 'Nur ungelesene zeigen', @@ -135,14 +140,14 @@ return array( 'wallabag' => 'wallabag', ), 'shortcut' => array( - '_' => 'Tastaturkürzel', + '_' => 'Tastenkombination', 'article_action' => 'Artikelaktionen', 'auto_share' => 'Teilen', 'auto_share_help' => 'Wenn es nur eine Option zum Teilen gibt, wird diese verwendet. Ansonsten sind die Optionen über ihre Nummer erreichbar.', 'close_dropdown' => 'Menüs schließen', - 'collapse_article' => 'Zusammenfalten', + 'collapse_article' => 'Einklappen', 'first_article' => 'Zum ersten Artikel springen', - 'focus_search' => 'Auf Suchfeld zugreifen', + 'focus_search' => 'Auf das Suchfeld zugreifen', 'help' => 'Dokumentation anzeigen', 'javascript' => 'JavaScript muss aktiviert sein, um Tastaturkürzel benutzen zu können', 'last_article' => 'Zum letzten Artikel springen', @@ -150,13 +155,13 @@ return array( 'mark_read' => 'Als gelesen markieren', 'mark_favorite' => 'Als Favorit markieren', 'navigation' => 'Navigation', - 'navigation_help' => 'Mit der "Umschalttaste" finden die Tastaturkürzel auf Feeds Anwendung.<br/>Mit der "Alt-Taste" finden die Tastaturkürzel auf Kategorien Anwendung.', + 'navigation_help' => 'Mit der "Umschalttaste" finden die Tastenkombination auf Feeds Anwendung.<br/>Mit der "Alt-Taste" finden die Tastenkombination auf Kategorien Anwendung.', 'next_article' => 'Zum nächsten Artikel springen', 'other_action' => 'Andere Aktionen', 'previous_article' => 'Zum vorherigen Artikel springen', 'see_on_website' => 'Auf der Original-Webseite ansehen', 'shift_for_all_read' => '+ <code>Umschalttaste</code>, um alle Artikel als gelesen zu markieren.', - 'title' => 'Tastaturkürzel', + 'title' => 'Tastenkombination', 'user_filter' => 'Auf Benutzerfilter zugreifen', 'user_filter_help' => 'Wenn es nur einen Benutzerfilter gibt, wird dieser verwendet. Ansonsten sind die Filter über ihre Nummer erreichbar.', ), diff --git a/app/i18n/de/feedback.php b/app/i18n/de/feedback.php index 48f8b74f5..e2e9a71ba 100644 --- a/app/i18n/de/feedback.php +++ b/app/i18n/de/feedback.php @@ -15,19 +15,18 @@ return array( ), 'login' => array( 'invalid' => 'Anmeldung ist ungültig', - 'success' => 'Sie sind verbunden', + 'success' => 'Sie sind angemeldet', ), 'logout' => array( - 'success' => 'Sie sind getrennt', + 'success' => 'Sie sind abgemeldet', ), 'no_password_set' => 'Administrator-Passwort ist nicht gesetzt worden. Dieses Feature ist nicht verfügbar.', - 'not_persona' => 'Nur das Persona-System kann zurückgesetzt werden.', ), 'conf' => array( - 'error' => 'Während des Speicherung der Konfiguration trat ein Fehler auf', + 'error' => 'Während der Speicherung der Konfiguration trat ein Fehler auf', 'query_created' => 'Abfrage "%s" ist erstellt worden.', - 'shortcuts_updated' => 'Tastaturkürzel sind aktualisiert worden', - 'updated' => 'Konfiguration ist aktualisiert worden', + 'shortcuts_updated' => 'Die Tastenkombinationen sind aktualisiert worden', + 'updated' => 'Die Konfiguration ist aktualisiert worden', ), 'extensions' => array( 'already_enabled' => '%s ist bereits aktiviert', @@ -44,63 +43,63 @@ return array( 'not_found' => '%s existiert nicht', ), 'import_export' => array( - 'export_no_zip_extension' => 'Die Zip-Erweiterung fehlt auf Ihrem Server. Bitte versuchen Sie, Dateien eine nach der anderen zu exportieren.', + 'export_no_zip_extension' => 'Die ZIP-Erweiterung fehlt auf Ihrem Server. Bitte versuchen Sie die Dateien eine nach der anderen zu exportieren.', 'feeds_imported' => 'Ihre Feeds sind importiert worden und werden jetzt aktualisiert', 'feeds_imported_with_errors' => 'Ihre Feeds sind importiert worden, aber es traten einige Fehler auf', - 'file_cannot_be_uploaded' => 'Datei kann nicht hochgeladen werden!', - 'no_zip_extension' => 'Die Zip-Erweiterung ist auf Ihrem Server nicht vorhanden.', - 'zip_error' => 'Ein Fehler trat während des Zip-Imports auf.', + 'file_cannot_be_uploaded' => 'Die Datei kann nicht hochgeladen werden!', + 'no_zip_extension' => 'Die ZIP-Erweiterung ist auf Ihrem Server nicht vorhanden.', + 'zip_error' => 'Ein Fehler trat während des ZIP-Imports auf.', ), 'sub' => array( 'actualize' => 'Aktualisieren', 'category' => array( - 'created' => 'Kategorie %s ist erstellt worden.', - 'deleted' => 'Kategorie ist gelöscht worden.', - 'emptied' => 'Kategorie ist geleert worden.', - 'error' => 'Kategorie kann nicht aktualisiert werden', - 'name_exists' => 'Kategorie-Name existiert bereits.', + 'created' => 'Die Kategorie %s ist erstellt worden.', + 'deleted' => 'Die Kategorie ist gelöscht worden.', + 'emptied' => 'Die Kategorie ist geleert worden.', + 'error' => 'Die Kategorie kann nicht aktualisiert werden', + 'name_exists' => 'Der Kategorie-Name existiert bereits.', 'no_id' => 'Sie müssen die ID der Kategorie präzisieren.', - 'no_name' => 'Kategorie-Name kann nicht leer sein.', + 'no_name' => 'Der Kategorie-Name kann nicht leer sein.', 'not_delete_default' => 'Sie können die Vorgabe-Kategorie nicht löschen!', 'not_exist' => 'Die Kategorie existiert nicht!', - 'over_max' => 'Sie haben Ihr Kategorien-Limit erreicht (%d)', - 'updated' => 'Kategorie ist aktualisiert worden.', + 'over_max' => 'Sie haben Ihre Kategorien-Limite erreicht (%d)', + 'updated' => 'Die Kategorie ist aktualisiert worden.', ), 'feed' => array( 'actualized' => '<em>%s</em> ist aktualisiert worden', - 'actualizeds' => 'RSS-Feeds sind aktualisiert worden', - 'added' => 'RSS-Feed <em>%s</em> ist hinzugefügt worden', + 'actualizeds' => 'Die RSS-Feeds sind aktualisiert worden', + 'added' => 'Der RSS-Feed <em>%s</em> ist hinzugefügt worden', 'already_subscribed' => 'Sie haben <em>%s</em> bereits abonniert', - 'deleted' => 'Feed ist gelöscht worden', - 'error' => 'Feed kann nicht aktualisiert werden', + 'deleted' => 'Der Feed ist gelöscht worden', + 'error' => 'Der Feed kann nicht aktualisiert werden', 'internal_problem' => 'Der RSS-Feed konnte nicht hinzugefügt werden. Für Details <a href="%s">prüfen Sie die FressRSS-Protokolle</a>.', - 'invalid_url' => 'URL <em>%s</em> ist ungültig', - 'marked_read' => 'Feeds sind als gelesen markiert worden', - 'n_actualized' => '%d Feeds sind aktualisiert worden', - 'n_entries_deleted' => '%d Artikel sind gelöscht worden', + 'invalid_url' => 'Die URL <em>%s</em> ist ungültig', + 'marked_read' => 'Die Feeds sind als gelesen markiert worden', + 'n_actualized' => 'Die %d Feeds sind aktualisiert worden', + 'n_entries_deleted' => 'Die %d Artikel sind gelöscht worden', 'no_refresh' => 'Es gibt keinen Feed zum Aktualisieren…', 'not_added' => '<em>%s</em> konnte nicht hinzugefügt werden', - 'over_max' => 'Sie haben Ihr Feeds-Limit erreicht (%d)', - 'updated' => 'Feed ist aktualisiert worden', + 'over_max' => 'Sie haben Ihre Feeds-Limite erreicht (%d)', + 'updated' => 'Der Feed ist aktualisiert worden', ), 'purge_completed' => 'Bereinigung abgeschlossen (%d Artikel gelöscht)', ), 'update' => array( 'can_apply' => 'FreshRSS wird nun auf die <strong>Version %s</strong> aktualisiert.', 'error' => 'Der Aktualisierungsvorgang stieß auf einen Fehler: %s', - 'file_is_nok' => 'Überprüfen Sie die Berechtigungen des Verzeichnisses <em>%s</em>. Der HTTP-Server muss Schreibrechte besitzen', + 'file_is_nok' => '<strong>Version %s</strong>. Überprüfen Sie die Berechtigungen des Verzeichnisses <em>%s</em>. Der HTTP-Server muss Schreibrechte besitzen', 'finished' => 'Aktualisierung abgeschlossen!', 'none' => 'Keine Aktualisierung zum Anwenden', - 'server_not_found' => 'Aktualisierungs-Server kann nicht gefunden werden. [%s]', + 'server_not_found' => 'Der Aktualisierungs-Server kann nicht gefunden werden. [%s]', ), 'user' => array( 'created' => array( - '_' => 'Benutzer %s ist erstellt worden', - 'error' => 'Benutzer %s kann nicht erstellt werden', + '_' => 'Der Benutzer %s ist erstellt worden', + 'error' => 'Der Benutzer %s kann nicht erstellt werden', ), 'deleted' => array( - '_' => 'Benutzer %s ist gelöscht worden', - 'error' => 'Benutzer %s kann nicht gelöscht werden', + '_' => 'Der Benutzer %s ist gelöscht worden', + 'error' => 'Der Benutzer %s kann nicht gelöscht werden', ), ), 'profile' => array( diff --git a/app/i18n/de/gen.php b/app/i18n/de/gen.php index bdc10d77a..bed49a4a4 100644 --- a/app/i18n/de/gen.php +++ b/app/i18n/de/gen.php @@ -13,24 +13,33 @@ return array( 'filter' => 'Filtern', 'import' => 'Importieren', 'manage' => 'Verwalten', - 'mark_read' => 'Als gelesen markieren', 'mark_favorite' => 'Als Favorit markieren', + 'mark_read' => 'Als gelesen markieren', 'remove' => 'Entfernen', 'see_website' => 'Webseite ansehen', 'submit' => 'Abschicken', 'truncate' => 'Alle Artikel löschen', ), 'auth' => array( - 'keep_logged_in' => 'Eingeloggt bleiben <small>(1 Monat)</small>', + 'email' => 'E-Mail-Adresse', + 'keep_logged_in' => 'Eingeloggt bleiben <small>(%s Tage)</small>', 'login' => 'Anmelden', - 'login_persona' => 'Anmelden mit Persona', - 'login_persona_problem' => 'Verbindungsproblem mit Persona?', 'logout' => 'Abmelden', - 'password' => 'Passwort', + 'password' => array( + '_' => 'Passwort', + 'format' => '<small>mindestens 7 Zeichen</small>', + ), + 'registration' => array( + '_' => 'Neuer Account', + 'ask' => 'Erstelle einen Account?', + 'title' => 'Accounterstellung', + ), 'reset' => 'Zurücksetzen der Authentifizierung', - 'username' => 'Nutzername', - 'username_admin' => 'Administrator-Nutzername', - 'will_reset' => 'Authentifikationssystem wird zurückgesetzt: ein Formular wird anstelle von Persona benutzt.', + 'username' => array( + '_' => 'Nutzername', + 'admin' => 'Administrator-Nutzername', + 'format' => '<small>maximal 16 alphanumerische Zeichen</small>', + ), ), 'date' => array( 'Apr' => '\\A\\p\\r\\i\\l', @@ -49,7 +58,7 @@ return array( 'april' => 'April', 'aug' => 'Aug', 'august' => 'August', - 'before_yesterday' => 'Vor gestern', + 'before_yesterday' => 'Vor vorgestern', 'dec' => 'Dez', 'december' => 'Dezember', 'feb' => 'Feb', @@ -71,6 +80,7 @@ return array( 'mar' => 'Mär', 'march' => 'März', 'may' => 'Mai', + 'may_' => 'Mai', 'mon' => 'Mo', 'month' => 'Monat(en)', 'nov' => 'Nov', @@ -93,10 +103,10 @@ return array( ), 'js' => array( 'category_empty' => 'Kategorie leeren', - 'confirm_action' => 'Sind Sie sicher, dass Sie diese Aktion durchführen wollen? Dies kann nicht abgebrochen werden!', + 'confirm_action' => 'Sind Sie sicher, dass Sie diese Aktion durchführen wollen? Diese Aktion kann nicht abgebrochen werden!', 'confirm_action_feed_cat' => 'Sind Sie sicher, dass Sie diese Aktion durchführen wollen? Sie werden zugehörige Favoriten und Benutzerabfragen verlieren. Dies kann nicht abgebrochen werden!', 'feedback' => array( - 'body_new_articles' => 'Es gibt \\d neue Artikel zum Lesen auf FreshRSS.', + 'body_new_articles' => 'Es gibt %%d neue Artikel zum Lesen auf FreshRSS.', 'request_failed' => 'Eine Anfrage ist fehlgeschlagen, dies könnte durch Probleme mit der Internetverbindung verursacht worden sein.', 'title_new_articles' => 'FreshRSS: neue Artikel!', ), @@ -104,10 +114,19 @@ return array( 'should_be_activated' => 'JavaScript muss aktiviert sein', ), 'lang' => array( + 'cz' => 'Čeština', 'de' => 'Deutsch', 'en' => 'English', + 'es' => 'Español', 'fr' => 'Français', 'he' => 'עברית', + 'it' => 'Italiano', + 'kr' => '한국어', + 'nl' => 'Nederlands', + 'pt-br' => 'Português (Brasil)', + 'ru' => 'Русский', + 'tr' => 'Türkçe', + 'zh-cn' => '简体中文', ), 'menu' => array( 'about' => 'Über', @@ -125,6 +144,7 @@ return array( 'sharing' => 'Teilen', 'shortcuts' => 'Tastaturkürzel', 'stats' => 'Statistiken', + 'system' => 'Systemeinstellungen', 'update' => 'Aktualisieren', 'user_management' => 'Benutzer verwalten', 'user_profile' => 'Profil', @@ -144,10 +164,15 @@ return array( 'email' => 'E-Mail', 'facebook' => 'Facebook', 'g+' => 'Google+', + 'gnusocial' => 'GNU social', + 'jdh' => 'Journal du hacker', + 'mastodon' => 'Mastodon', + 'movim' => 'Movim', 'print' => 'Drucken', 'shaarli' => 'Shaarli', 'twitter' => 'Twitter', - 'wallabag' => 'wallabag', + 'wallabag' => 'wallabag v1', + 'wallabagv2' => 'wallabag v2', ), 'short' => array( 'attention' => 'Achtung!', @@ -157,6 +182,7 @@ return array( 'damn' => 'Verdammt!', 'default_category' => 'Unkategorisiert', 'no' => 'Nein', + 'not_applicable' => 'Nicht verfügbar', 'ok' => 'OK!', 'or' => 'oder', 'yes' => 'Ja', diff --git a/app/i18n/de/index.php b/app/i18n/de/index.php index 3449de87d..df92d8085 100644 --- a/app/i18n/de/index.php +++ b/app/i18n/de/index.php @@ -6,7 +6,7 @@ return array( 'agpl3' => '<a href="https://www.gnu.org/licenses/agpl-3.0.html">AGPL 3</a>', 'bugs_reports' => 'Fehlerberichte', 'credits' => 'Credits', - 'credits_content' => 'Einige Designelemente stammen von <a href="http://twitter.github.io/bootstrap/">Bootstrap</a>, obwohl FreshRSS dieses Framework nicht nutzt. <a href="https://git.gnome.org/browse/gnome-icon-theme-symbolic">Icons</a> stammen vom <a href="https://www.gnome.org/">GNOME project</a>. <em>Open Sans</em> Font wurde von <a href="https://www.google.com/webfonts/specimen/Open+Sans">Steve Matteson</a> erstellt. Favicons werden mit <a href="https://getfavicon.appspot.com/">getFavicon API</a> gesammelt. FreshRSS basiert auf <a href="https://github.com/marienfressinaud/MINZ">Minz</a>, einem PHP-Framework.', + 'credits_content' => 'Einige Designelemente stammen von <a href="http://twitter.github.io/bootstrap/">Bootstrap</a>, obwohl FreshRSS dieses Framework nicht nutzt. <a href="https://git.gnome.org/browse/gnome-icon-theme-symbolic">Icons</a> stammen vom <a href="https://www.gnome.org/">GNOME project</a>. <em>Open Sans</em> Font wurde von <a href="https://fonts.google.com/specimen/Open+Sans">Steve Matteson</a> erstellt. FreshRSS basiert auf <a href="https://github.com/marienfressinaud/MINZ">Minz</a>, einem PHP-Framework.', 'freshrss_description' => 'FreshRSS ist ein RSS-Feedsaggregator zum selbst hosten wie zum Beispiel <a href="http://tontof.net/kriss/feed/">Kriss Feed</a> oder <a href="http://projet.idleman.fr/leed/">Leed</a>. Er ist leicht und einfach zu handhaben und gleichzeitig ein leistungsstarkes und konfigurierbares Werkzeug.', 'github' => '<a href="https://github.com/FreshRSS/FreshRSS/issues">on Github</a>', 'license' => 'Lizenz', @@ -17,7 +17,7 @@ return array( ), 'feed' => array( 'add' => 'Sie können Feeds hinzufügen.', - 'empty' => 'Es gibt keinen Artikel zum Zeigen.', + 'empty' => 'Es gibt keinen Artikel zum Anzeigen.', 'rss_of' => 'RSS-Feed von %s', 'title' => 'Ihre RSS-Feeds', 'title_global' => 'Globale Ansicht', diff --git a/app/i18n/de/install.php b/app/i18n/de/install.php index e9267bbbd..b747d1551 100644 --- a/app/i18n/de/install.php +++ b/app/i18n/de/install.php @@ -3,17 +3,17 @@ return array( 'action' => array( 'finish' => 'Installation fertigstellen', - 'fix_errors_before' => 'Fehler korrigieren, bevor zum nächsten Schritt gesprungen wird.', - 'next_step' => 'Zum nächsten Schritt gehen', + 'fix_errors_before' => 'Bitte Fehler korrigieren, bevor zum nächsten Schritt gesprungen wird.', + 'keep_install' => 'Vorherige Konfiguration beibehalten', + 'next_step' => 'Zum nächsten Schritt springen', + 'reinstall' => 'Neuinstallation von FreshRSS', ), 'auth' => array( - 'email_persona' => 'Anmelde-E-Mail-Adresse<br /><small>(für <a href="https://persona.org/" rel="external">Mozilla Persona</a>)</small>', 'form' => 'Webformular (traditionell, benötigt JavaScript)', 'http' => 'HTTP (HTTPS für erfahrene Benutzer)', 'none' => 'Keine (gefährlich)', 'password_form' => 'Passwort<br /><small>(für die Anmeldemethode per Webformular)</small>', 'password_format' => 'mindestens 7 Zeichen', - 'persona' => 'Mozilla Persona (modern, benötigt JavaScript)', 'type' => 'Authentifizierungsmethode', ), 'bdd' => array( @@ -25,40 +25,49 @@ return array( ), 'host' => 'Host', 'prefix' => 'Tabellen-Präfix', - 'password' => 'HTTP-Password', + 'password' => 'SQL-Password', 'type' => 'Datenbank-Typ', - 'username' => 'HTTP-Nutzername', + 'username' => 'SQL-Nutzername', ), 'check' => array( '_' => 'Überprüfungen', + 'already_installed' => 'Wir haben festgestellt, dass FreshRSS bereits installiert wurde!', 'cache' => array( 'nok' => 'Überprüfen Sie die Berechtigungen des Verzeichnisses <em>./data/cache</em>. Der HTTP-Server muss Schreibrechte besitzen.', - 'ok' => 'Berechtigungen des Verzeichnisses <em>./data/cache</em> sind in Ordnung.', + 'ok' => 'Die Berechtigungen des Verzeichnisses <em>./data/cache</em> sind in Ordnung.', ), 'ctype' => array( 'nok' => 'Ihnen fehlt eine benötigte Bibliothek für die Überprüfung von Zeichentypen (php-ctype).', 'ok' => 'Sie haben die benötigte Bibliothek für die Überprüfung von Zeichentypen (ctype).', ), 'curl' => array( - 'nok' => 'Ihnen fehlt cURL (Paket php5-curl).', + 'nok' => 'Ihnen fehlt cURL (Paket php-curl).', 'ok' => 'Sie haben die cURL-Erweiterung.', ), 'data' => array( 'nok' => 'Überprüfen Sie die Berechtigungen des Verzeichnisses <em>./data</em>. Der HTTP-Server muss Schreibrechte besitzen.', - 'ok' => 'Berechtigungen des Verzeichnisses <em>./data</em> sind in Ordnung.', + 'ok' => 'Die Berechtigungen des Verzeichnisses <em>./data</em> sind in Ordnung.', ), 'dom' => array( - 'nok' => 'Ihnen fehlt eine benötigte Bibliothek um DOM zu durchstöbern (Paket php-xml).', + 'nok' => 'Ihnen fehlt eine benötigte Bibliothek um DOM zu durchstöbern.', 'ok' => 'Sie haben die benötigte Bibliothek um DOM zu durchstöbern.', ), 'favicons' => array( 'nok' => 'Überprüfen Sie die Berechtigungen des Verzeichnisses <em>./data/favicons</em>. Der HTTP-Server muss Schreibrechte besitzen.', - 'ok' => 'Berechtigungen des Verzeichnisses <em>./data/favicons</em> sind in Ordnung.', + 'ok' => 'Die Berechtigungen des Verzeichnisses <em>./data/favicons</em> sind in Ordnung.', + ), + 'fileinfo' => array( + 'nok' => 'Ihnen fehlt PHP fileinfo (Paket fileinfo).', + 'ok' => 'Sie haben die fileinfo-Erweiterung.', ), 'http_referer' => array( 'nok' => 'Bitte stellen Sie sicher, dass Sie Ihren HTTP REFERER nicht abändern.', 'ok' => 'Ihr HTTP REFERER ist bekannt und entspricht Ihrem Server.', ), + 'json' => array( + 'nok' => 'Ihnen fehlt eine empfohlene Bibliothek um JSON zu parsen.', + 'ok' => 'Sie haben eine empfohlene Bibliothek um JSON zu parsen.', + ), 'minz' => array( 'nok' => 'Ihnen fehlt das Minz-Framework.', 'ok' => 'Sie haben das Minz-Framework.', @@ -68,12 +77,8 @@ return array( 'ok' => 'Sie haben die benötigte Bibliothek für reguläre Ausdrücke (PCRE).', ), 'pdo' => array( - 'nok' => 'Ihnen fehlt PDO oder einer der unterstützten Treiber (pdo_mysql, pdo_sqlite).', - 'ok' => 'Sie haben PDO und mindestens einen der unterstützten Treiber (pdo_mysql, pdo_sqlite).', - ), - 'persona' => array( - 'nok' => 'Überprüfen Sie die Berechtigungen des Verzeichnisses <em>./data/persona</em>. Der HTTP-Server muss Schreibrechte besitzen.', - 'ok' => 'Berechtigungen des Verzeichnisses <em>./data/persona</em> sind in Ordnung.', + 'nok' => 'Ihnen fehlt PDO oder einer der unterstützten Treiber (pdo_mysql, pdo_sqlite, pdo_pgsql).', + 'ok' => 'Sie haben PDO und mindestens einen der unterstützten Treiber (pdo_mysql, pdo_sqlite, pdo_pgsql).', ), 'php' => array( 'nok' => 'Ihre PHP-Version ist %s aber FreshRSS benötigt mindestens Version %s.', @@ -81,22 +86,29 @@ return array( ), 'users' => array( 'nok' => 'Überprüfen Sie die Berechtigungen des Verzeichnisses <em>./data/users</em>. Der HTTP-Server muss Schreibrechte besitzen.', - 'ok' => 'Berechtigungen des Verzeichnisses <em>./data/users</em> sind in Ordnung.', + 'ok' => 'Die Berechtigungen des Verzeichnisses <em>./data/users</em> sind in Ordnung.', + ), + 'xml' => array( + 'nok' => 'Ihnen fehlt die benötigte Bibliothek um XML zu parsen.', + 'ok' => 'Sie haben die benötigte Bibliothek um XML zu parsen.', ), ), 'conf' => array( '_' => 'Allgemeine Konfiguration', - 'ok' => 'Allgemeine Konfiguration ist gespeichert worden.', + 'ok' => 'Die allgemeine Konfiguration ist gespeichert worden.', ), 'congratulations' => 'Glückwunsch!', 'default_user' => 'Nutzername des Standardbenutzers <small>(maximal 16 alphanumerische Zeichen)</small>', 'delete_articles_after' => 'Entferne Artikel nach', - 'fix_errors_before' => 'Fehler korrigieren, bevor zum nächsten Schritt gesprungen wird.', + 'fix_errors_before' => 'Bitte den Fehler korrigieren, bevor zum nächsten Schritt gesprungen wird.', 'javascript_is_better' => 'FreshRSS ist ansprechender mit aktiviertem JavaScript', + 'js' => array( + 'confirm_reinstall' => 'Du wirst deine vorherige Konfiguration (Daten) verlieren FreshRSS. Bist du sicher, dass du fortfahren willst?', + ), 'language' => array( '_' => 'Sprache', 'choose' => 'Wählen Sie eine Sprache für FreshRSS', - 'defined' => 'Sprache ist festgelegt worden.', + 'defined' => 'Die Sprache ist festgelegt worden.', ), 'not_deleted' => 'Etwas ist schiefgelaufen; Sie müssen die Datei <em>%s</em> manuell löschen.', 'ok' => 'Der Installationsvorgang war erfolgreich.', diff --git a/app/i18n/de/sub.php b/app/i18n/de/sub.php index 0479b8f46..4ffef4302 100644 --- a/app/i18n/de/sub.php +++ b/app/i18n/de/sub.php @@ -1,6 +1,15 @@ <?php return array( + 'api' => array( + 'documentation' => 'Copy the following URL to use it within an external tool.',// TODO + 'title' => 'API',// TODO + ), + 'bookmarklet' => array( + 'documentation' => 'Drag this button to your bookmarks toolbar or right-click it and choose "Bookmark This Link". Then click "Subscribe" button in any page you want to subscribe to.',// TODO + 'label' => 'Subscribe',// TODO + 'title' => 'Bookmarklet',// TODO + ), 'category' => array( '_' => 'Kategorie', 'add' => 'Eine Kategorie hinzufügen', @@ -37,13 +46,18 @@ return array( 'url' => 'Feed-URL', 'validator' => 'Überprüfen Sie die Gültigkeit des Feeds', 'website' => 'Webseiten-URL', + 'pubsubhubbub' => 'Sofortbenachrichtigung mit PubSubHubbub', + ), + 'firefox' => array( + 'documentation' => 'Follow the steps described <a href="https://developer.mozilla.org/en-US/Firefox/Releases/2/Adding_feed_readers_to_Firefox#Adding_a_new_feed_reader_manually">here</a> to add FreshRSS to Firefox feed reader list.',// TODO + 'title' => 'Firefox feed reader',// TODO ), 'import_export' => array( 'export' => 'Exportieren', 'export_opml' => 'Liste der Feeds exportieren (OPML)', 'export_starred' => 'Ihre Favoriten exportieren', 'feed_list' => 'Liste von %s Artikeln', - 'file_to_import' => 'Zu importierende Datei<br />(OPML, JSON oder Zip)', + 'file_to_import' => 'Zu importierende Datei<br />(OPML, JSON oder ZIP)', 'file_to_import_no_zip' => 'Zu importierende Datei<br />(OPML oder JSON)', 'import' => 'Importieren', 'starred_list' => 'Liste der Lieblingsartikel', @@ -53,9 +67,11 @@ return array( 'bookmark' => 'Abonnieren (FreshRSS-Lesezeichen)', 'import_export' => 'Importieren / Exportieren', 'subscription_management' => 'Abonnementverwaltung', + 'subscription_tools' => 'Subscription tools',// TODO ), 'title' => array( '_' => 'Abonnementverwaltung', 'feed_management' => 'Verwaltung der RSS-Feeds', + 'subscription_tools' => 'Subscription tools',// TODO ), ); diff --git a/app/i18n/en/admin.php b/app/i18n/en/admin.php index d2fcd3e82..d92a016af 100644 --- a/app/i18n/en/admin.php +++ b/app/i18n/en/admin.php @@ -8,11 +8,10 @@ return array( 'form' => 'Web form (traditional, requires JavaScript)', 'http' => 'HTTP (for advanced users with HTTPS)', 'none' => 'None (dangerous)', - 'persona' => 'Mozilla Persona (modern, requires JavaScript)', 'title' => 'Authentication', 'title_reset' => 'Authentication reset', 'token' => 'Authentication token', - 'token_help' => 'Allows to access RSS output of the default user without authentication:', + 'token_help' => 'Allows access to RSS output of the default user without authentication:', 'type' => 'Authentication method', 'unsafe_autologin' => 'Allow unsafe automatic login using the format: ', ), @@ -22,20 +21,20 @@ return array( 'ok' => 'Permissions on cache directory are good.', ), 'categories' => array( - 'nok' => 'Category table is bad configured.', + 'nok' => 'Category table is improperly configured.', 'ok' => 'Category table is ok.', ), 'connection' => array( - 'nok' => 'Connection to the database cannot being established.', + 'nok' => 'Connection to the database cannot be established.', 'ok' => 'Connection to the database is ok.', ), 'ctype' => array( - 'nok' => 'You lack a required library for character type checking (php-ctype).', + 'nok' => 'Cannot find a required library for character type checking (php-ctype).', 'ok' => 'You have the required library for character type checking (ctype).', ), 'curl' => array( - 'nok' => 'You lack cURL (php5-curl package).', - 'ok' => 'You have cURL extension.', + 'nok' => 'Cannot find the cURL library (php-curl package).', + 'ok' => 'You have the cURL library.', ), 'data' => array( 'nok' => 'Check permissions on <em>./data</em> directory. HTTP server must have rights to write into', @@ -43,11 +42,11 @@ return array( ), 'database' => 'Database installation', 'dom' => array( - 'nok' => 'You lack a required library to browse the DOM (php-xml package).', + 'nok' => 'Cannot find a required library to browse the DOM (php-xml package).', 'ok' => 'You have the required library to browse the DOM.', ), 'entries' => array( - 'nok' => 'Entry table is bad configured.', + 'nok' => 'Entry table is improperly configured.', 'ok' => 'Entry table is ok.', ), 'favicons' => array( @@ -55,29 +54,29 @@ return array( 'ok' => 'Permissions on favicons directory are good.', ), 'feeds' => array( - 'nok' => 'Feed table is bad configured.', + 'nok' => 'Feed table is improperly configured.', 'ok' => 'Feed table is ok.', ), + 'fileinfo' => array( + 'nok' => 'Cannot find the PHP fileinfo library (fileinfo package).', + 'ok' => 'You have the fileinfo library.', + ), 'files' => 'File installation', 'json' => array( - 'nok' => 'You lack JSON (php5-json package).', + 'nok' => 'Cannot find JSON (php5-json package).', 'ok' => 'You have JSON extension.', ), 'minz' => array( - 'nok' => 'You lack the Minz framework.', + 'nok' => 'Cannot find the Minz framework.', 'ok' => 'You have the Minz framework.', ), 'pcre' => array( - 'nok' => 'You lack a required library for regular expressions (php-pcre).', + 'nok' => 'Cannot find a required library for regular expressions (php-pcre).', 'ok' => 'You have the required library for regular expressions (PCRE).', ), 'pdo' => array( - 'nok' => 'You lack PDO or one of the supported drivers (pdo_mysql, pdo_sqlite).', - 'ok' => 'You have PDO and at least one of the supported drivers (pdo_mysql, pdo_sqlite).', - ), - 'persona' => array( - 'nok' => 'Check permissions on <em>./data/persona</em> directory. HTTP server must have rights to write into', - 'ok' => 'Permissions on Mozilla Persona directory are good.', + 'nok' => 'Cannot find PDO or one of the supported drivers (pdo_mysql, pdo_sqlite, pdo_pgsql).', + 'ok' => 'You have PDO and at least one of the supported drivers (pdo_mysql, pdo_sqlite, pdo_pgsql).', ), 'php' => array( '_' => 'PHP installation', @@ -85,8 +84,8 @@ return array( 'ok' => 'Your PHP version is %s, which is compatible with FreshRSS.', ), 'tables' => array( - 'nok' => 'There is one or more lacking tables in the database.', - 'ok' => 'Tables are existing in the database.', + 'nok' => 'There are one or more missing tables in the database.', + 'ok' => 'The appropriate tables exist in the database.', ), 'title' => 'Installation checking', 'tokens' => array( @@ -98,13 +97,13 @@ return array( 'ok' => 'Permissions on users directory are good.', ), 'zip' => array( - 'nok' => 'You lack ZIP extension (php5-zip package).', + 'nok' => 'Cannot find ZIP extension (php-zip package).', 'ok' => 'You have ZIP extension.', ), ), 'extensions' => array( 'disabled' => 'Disabled', - 'empty_list' => 'There is no installed extension', + 'empty_list' => 'There are no installed extensions', 'enabled' => 'Enabled', 'no_configure_view' => 'This extension cannot be configured.', 'system' => array( @@ -113,6 +112,13 @@ return array( ), 'title' => 'Extensions', 'user' => 'User extensions', + 'community' => 'Available community extensions', + 'name' => 'Name', + 'version' => 'Version', + 'description' => 'Description', + 'author' => 'Author', + 'latest' => 'Installed', + 'update' => 'Update available' ), 'stats' => array( '_' => 'Statistics', @@ -146,11 +152,22 @@ return array( 'title' => 'Statistics', 'top_feed' => 'Top ten feeds', ), + 'system' => array( + '_' => 'System configuration', + 'auto-update-url' => 'Auto-update server URL', + 'instance-name' => 'Instance name', + 'max-categories' => 'Categories per user limit', + 'max-feeds' => 'Feeds per user limit', + 'registration' => array( + 'help' => '0 means that there is no account limit', + 'number' => 'Max number of accounts', + ), + ), 'update' => array( '_' => 'Update system', 'apply' => 'Apply', 'check' => 'Check for new updates', - 'current_version' => 'Your current version of FreshRSS is the %s.', + 'current_version' => 'Your current version of FreshRSS is %s.', 'last' => 'Last verification: %s', 'none' => 'No update to apply', 'title' => 'Update system', @@ -158,8 +175,9 @@ return array( 'user' => array( 'articles_and_size' => '%s articles (%s)', 'create' => 'Create new user', - 'email_persona' => 'Login mail address<br /><small>(for <a href="https://persona.org/" rel="external">Mozilla Persona</a>)</small>', 'language' => 'Language', + 'number' => 'There is %d account created', + 'numbers' => 'There are %d accounts created', 'password_form' => 'Password<br /><small>(for the Web-form login method)</small>', 'password_format' => 'At least 7 characters', 'title' => 'Manage users', diff --git a/app/i18n/en/conf.php b/app/i18n/en/conf.php index 308c45d2c..e4eeb74b7 100644 --- a/app/i18n/en/conf.php +++ b/app/i18n/en/conf.php @@ -5,10 +5,10 @@ return array( '_' => 'Archiving', 'advanced' => 'Advanced', 'delete_after' => 'Remove articles after', - 'help' => 'More options are available in the individual stream settings', + 'help' => 'More options are available in the individual feed settings', 'keep_history_by_feed' => 'Minimum number of articles to keep by feed', - 'optimize' => 'Optimize database', - 'optimize_help' => 'To do occasionally to reduce the size of the database', + 'optimize' => 'Optimise database', + 'optimize_help' => 'Do occasionally to reduce the size of the database', 'purge_now' => 'Purge now', 'title' => 'Archiving', 'ttl' => 'Do not automatically refresh more often than', @@ -44,10 +44,10 @@ return array( 'filter' => 'Filter applied:', 'get_all' => 'Display all articles', 'get_category' => 'Display "%s" category', - 'get_favorite' => 'Display favorite articles', + 'get_favorite' => 'Display favourite articles', 'get_feed' => 'Display "%s" feed', 'no_filter' => 'No filter', - 'none' => 'You haven’t created any user query yet.', + 'none' => 'You haven’t created any user queries yet.', 'number' => 'Query n°%d', 'order_asc' => 'Display oldest articles first', 'order_desc' => 'Display newest articles first', @@ -56,14 +56,14 @@ return array( 'state_1' => 'Display read articles', 'state_2' => 'Display unread articles', 'state_3' => 'Display all articles', - 'state_4' => 'Display favorite articles', - 'state_5' => 'Display read favorite articles', - 'state_6' => 'Display unread favorite articles', - 'state_7' => 'Display favorite articles', - 'state_8' => 'Display not favorite articles', - 'state_9' => 'Display read not favorite articles', - 'state_10' => 'Display unread not favorite articles', - 'state_11' => 'Display not favorite articles', + 'state_4' => 'Display favourite articles', + 'state_5' => 'Display read favourite articles', + 'state_6' => 'Display unread favourite articles', + 'state_7' => 'Display favourite articles', + 'state_8' => 'Display not favourite articles', + 'state_9' => 'Display read not favourite articles', + 'state_10' => 'Display unread not favourite articles', + 'state_11' => 'Display not favourite articles', 'state_12' => 'Display all articles', 'state_13' => 'Display read articles', 'state_14' => 'Display unread articles', @@ -72,8 +72,11 @@ return array( ), 'profile' => array( '_' => 'Profile management', - 'email_persona' => 'Login mail address<br /><small>(for <a href="https://persona.org/" rel="external">Mozilla Persona</a>)</small>', - 'password_api' => 'Password API<br /><small>(e.g., for mobile apps)</small>', + 'delete' => array( + '_' => 'Account deletion', + 'warn' => 'Your account and all related data will be deleted.', + ), + 'password_api' => 'API password<br /><small>(e.g., for mobile apps)</small>', 'password_form' => 'Password<br /><small>(for the Web-form login method)</small>', 'password_format' => 'At least 7 characters', 'title' => 'Profile', @@ -82,31 +85,33 @@ return array( '_' => 'Reading', 'after_onread' => 'After “mark all as read”,', 'articles_per_page' => 'Number of articles per page', - 'auto_load_more' => 'Load next articles at the page bottom', + 'auto_load_more' => 'Load more articles at the page bottom', 'auto_remove_article' => 'Hide articles after reading', + 'mark_updated_article_unread' => 'Mark updated articles as unread', 'confirm_enabled' => 'Display a confirmation dialog on “mark all as read” actions', 'display_articles_unfolded' => 'Show articles unfolded by default', 'display_categories_unfolded' => 'Show categories folded by default', - 'hide_read_feeds' => 'Hide categories & feeds with no unread article (does not work with “Show all articles” configuration)', + 'hide_read_feeds' => 'Hide categories & feeds with no unread articles (does not work with “Show all articles” configuration)', 'img_with_lazyload' => 'Use "lazy load" mode to load pictures', + 'sides_close_article' => 'Clicking outside of article text area closes the article', 'jump_next' => 'jump to next unread sibling (feed or category)', 'number_divided_when_reader' => 'Divided by 2 in the reading view.', 'read' => array( 'article_open_on_website' => 'when article is opened on its original website', 'article_viewed' => 'when article is viewed', 'scroll' => 'while scrolling', - 'upon_reception' => 'upon reception of the article', + 'upon_reception' => 'upon receiving the article', 'when' => 'Mark article as read…', ), 'show' => array( - '_' => 'Articles to display', + '_' => 'Articles to display', 'adaptive' => 'Adjust showing', 'all_articles' => 'Show all articles', 'unread' => 'Show only unread', ), 'sort' => array( '_' => 'Sort order', - 'newer_first' => 'Newer first', + 'newer_first' => 'Newest first', 'older_first' => 'Oldest first', ), 'sticky_post' => 'Stick the article to the top when opened', @@ -138,7 +143,7 @@ return array( '_' => 'Shortcuts', 'article_action' => 'Article actions', 'auto_share' => 'Share', - 'auto_share_help' => 'If there is only one sharing mode, it is used. Else modes are accessible by their number.', + 'auto_share_help' => 'If there is only one sharing mode, it is used. Otherwise, modes are accessible by their number.', 'close_dropdown' => 'Close menus', 'collapse_article' => 'Collapse', 'first_article' => 'Skip to the first article', @@ -158,7 +163,7 @@ return array( 'shift_for_all_read' => '+ <code>shift</code> to mark all articles as read', 'title' => 'Shortcuts', 'user_filter' => 'Access user filters', - 'user_filter_help' => 'If there is only one user filter, it is used. Else filters are accessible by their number.', + 'user_filter_help' => 'If there is only one user filter, it is used. Otherwise, filters are accessible by their number.', ), 'user' => array( 'articles_and_size' => '%s articles (%s)', diff --git a/app/i18n/en/feedback.php b/app/i18n/en/feedback.php index 19af81e5b..334d9a8f5 100644 --- a/app/i18n/en/feedback.php +++ b/app/i18n/en/feedback.php @@ -21,7 +21,6 @@ return array( 'success' => 'You are disconnected', ), 'no_password_set' => 'Administrator password hasn’t been set. This feature isn’t available.', - 'not_persona' => 'Only Persona system can be reset.', ), 'conf' => array( 'error' => 'An error occurred during configuration saving', @@ -40,26 +39,26 @@ return array( 'ok' => '%s is now enabled', ), 'no_access' => 'You have no access on %s', - 'not_enabled' => '%s is not enabled yet', + 'not_enabled' => '%s is not enabled', 'not_found' => '%s does not exist', ), 'import_export' => array( - 'export_no_zip_extension' => 'Zip extension is not present on your server. Please try to export files one by one.', + 'export_no_zip_extension' => 'ZIP extension is not present on your server. Please try to export files one by one.', 'feeds_imported' => 'Your feeds have been imported and will now be updated', - 'feeds_imported_with_errors' => 'Your feeds have been imported but some errors occurred', + 'feeds_imported_with_errors' => 'Your feeds have been imported, but some errors occurred', 'file_cannot_be_uploaded' => 'File cannot be uploaded!', - 'no_zip_extension' => 'Zip extension is not present on your server.', - 'zip_error' => 'An error occured during Zip import.', + 'no_zip_extension' => 'ZIP extension is not present on your server.', + 'zip_error' => 'An error occured during ZIP import.', ), 'sub' => array( - 'actualize' => 'Actualize', + 'actualize' => 'Updating', 'category' => array( 'created' => 'Category %s has been created.', 'deleted' => 'Category has been deleted.', 'emptied' => 'Category has been emptied', 'error' => 'Category cannot be updated', 'name_exists' => 'Category name already exists.', - 'no_id' => 'You must precise the id of the category.', + 'no_id' => 'You must specify the id of the category.', 'no_name' => 'Category name cannot be empty.', 'not_delete_default' => 'You cannot delete the default category!', 'not_exist' => 'The category does not exist!', @@ -86,9 +85,9 @@ return array( 'purge_completed' => 'Purge completed (%d articles deleted)', ), 'update' => array( - 'can_apply' => 'FreshRSS will be now updated to the <strong>version %s</strong>.', + 'can_apply' => 'FreshRSS will now be updated to the <strong>version %s</strong>.', 'error' => 'The update process has encountered an error: %s', - 'file_is_nok' => 'Check permissions on <em>%s</em> directory. HTTP server must have rights to write into', + 'file_is_nok' => 'New <strong>version %s</strong> available, but check permissions on <em>%s</em> directory. HTTP server must have rights to write into', 'finished' => 'Update completed!', 'none' => 'No update to apply', 'server_not_found' => 'Update server cannot be found. [%s]', diff --git a/app/i18n/en/gen.php b/app/i18n/en/gen.php index 223cd82b1..0dc03795b 100644 --- a/app/i18n/en/gen.php +++ b/app/i18n/en/gen.php @@ -10,27 +10,36 @@ return array( 'empty' => 'Empty', 'enable' => 'Enable', 'export' => 'Export', - 'filter' => 'Filtrer', + 'filter' => 'Filter', 'import' => 'Import', 'manage' => 'Manage', - 'mark_read' => 'Mark as read', 'mark_favorite' => 'Mark as favourite', + 'mark_read' => 'Mark as read', 'remove' => 'Remove', 'see_website' => 'See website', 'submit' => 'Submit', 'truncate' => 'Delete all articles', ), 'auth' => array( - 'keep_logged_in' => 'Keep me logged in <small>(1 month)</small>', + 'email' => 'Email address', + 'keep_logged_in' => 'Keep me logged in <small>(%s days)</small>', 'login' => 'Login', - 'login_persona' => 'Login with Persona', - 'login_persona_problem' => 'Connection problem with Persona?', 'logout' => 'Logout', - 'password' => 'Password', + 'password' => array( + '_' => 'Password', + 'format' => '<small>At least 7 characters</small>', + ), + 'registration' => array( + '_' => 'New account', + 'ask' => 'Create an account?', + 'title' => 'Account creation', + ), 'reset' => 'Authentication reset', - 'username' => 'Username', - 'username_admin' => 'Administrator username', - 'will_reset' => 'Authentication system will be reset: a form will be used instead of Persona.', + 'username' => array( + '_' => 'Username', + 'admin' => 'Administrator username', + 'format' => '<small>maximum 16 alphanumeric characters</small>', + ), ), 'date' => array( 'Apr' => '\\A\\p\\r\\i\\l', @@ -45,41 +54,42 @@ return array( 'Nov' => '\\N\\o\\v\\e\\m\\b\\e\\r', 'Oct' => '\\O\\c\\t\\o\\b\\e\\r', 'Sep' => '\\S\\e\\p\\t\\e\\m\\b\\e\\r', - 'apr' => 'apr', - 'april' => 'Apr', - 'aug' => 'aug', - 'august' => 'Aug', + 'apr' => 'Apr.', + 'april' => 'April', + 'aug' => 'Aug.', + 'august' => 'August', 'before_yesterday' => 'Before yesterday', - 'dec' => 'dec', - 'december' => 'Dec', - 'feb' => 'feb', - 'february' => 'Feb', + 'dec' => 'Dec.', + 'december' => 'December', + 'feb' => 'Feb.', + 'february' => 'February', 'format_date' => '%s j\\<\\s\\u\\p\\>S\\<\\/\\s\\u\\p\\> Y', 'format_date_hour' => '%s j\\<\\s\\u\\p\\>S\\<\\/\\s\\u\\p\\> Y \\a\\t H\\:i', 'fri' => 'Fri', - 'jan' => 'jan', - 'january' => 'Jan', - 'jul' => 'jul', - 'july' => 'Jul', - 'jun' => 'jun', - 'june' => 'Jun', + 'jan' => 'Jan.', + 'january' => 'January', + 'jul' => 'July', + 'july' => 'July', + 'jun' => 'June', + 'june' => 'June', 'last_3_month' => 'Last three months', 'last_6_month' => 'Last six months', 'last_month' => 'Last month', 'last_week' => 'Last week', 'last_year' => 'Last year', - 'mar' => 'mar', - 'march' => 'Mar', + 'mar' => 'Mar.', + 'march' => 'March', 'may' => 'May', + 'may_' => 'May', 'mon' => 'Mon', 'month' => 'months', - 'nov' => 'nov', - 'november' => 'Nov', - 'oct' => 'oct', - 'october' => 'Oct', + 'nov' => 'Nov.', + 'november' => 'November', + 'oct' => 'Oct.', + 'october' => 'October', 'sat' => 'Sat', - 'sep' => 'sep', - 'september' => 'Sep', + 'sep' => 'Sept.', + 'september' => 'September', 'sun' => 'Sun', 'thu' => 'Thu', 'today' => 'Today', @@ -94,9 +104,9 @@ return array( 'js' => array( 'category_empty' => 'Empty category', 'confirm_action' => 'Are you sure you want to perform this action? It cannot be cancelled!', - 'confirm_action_feed_cat' => 'Are you sure you want to perform this action? You will lose related favorites and user queries. It cannot be cancelled!', + 'confirm_action_feed_cat' => 'Are you sure you want to perform this action? You will lose related favourites and user queries. It cannot be cancelled!', 'feedback' => array( - 'body_new_articles' => 'There are \\d new articles to read on FreshRSS.', + 'body_new_articles' => 'There are %%d new articles to read on FreshRSS.', 'request_failed' => 'A request has failed, it may have been caused by Internet connection problems.', 'title_new_articles' => 'FreshRSS: new articles!', ), @@ -104,10 +114,19 @@ return array( 'should_be_activated' => 'JavaScript must be enabled', ), 'lang' => array( + 'cz' => 'Čeština', 'de' => 'Deutsch', 'en' => 'English', + 'es' => 'Español', 'fr' => 'Français', 'he' => 'עברית', + 'it' => 'Italiano', + 'kr' => '한국어', + 'nl' => 'Nederlands', + 'pt-br' => 'Português (Brasil)', + 'ru' => 'Русский', + 'tr' => 'Türkçe', + 'zh-cn' => '简体中文', ), 'menu' => array( 'about' => 'About', @@ -125,6 +144,7 @@ return array( 'sharing' => 'Sharing', 'shortcuts' => 'Shortcuts', 'stats' => 'Statistics', + 'system' => 'System configuration', 'update' => 'Update', 'user_management' => 'Manage users', 'user_profile' => 'Profile', @@ -144,19 +164,25 @@ return array( 'email' => 'Email', 'facebook' => 'Facebook', 'g+' => 'Google+', + 'gnusocial' => 'GNU social', + 'jdh' => 'Journal du hacker', + 'mastodon' => 'Mastodon', + 'movim' => 'Movim', 'print' => 'Print', 'shaarli' => 'Shaarli', 'twitter' => 'Twitter', - 'wallabag' => 'wallabag', + 'wallabag' => 'wallabag v1', + 'wallabagv2' => 'wallabag v2', ), 'short' => array( - 'attention' => 'Attention!', + 'attention' => 'Warning!', 'blank_to_disable' => 'Leave blank to disable', 'by_author' => 'By <em>%s</em>', 'by_default' => 'By default', - 'damn' => 'Damn!', + 'damn' => 'Blast!', 'default_category' => 'Uncategorized', 'no' => 'No', + 'not_applicable' => 'Not available', 'ok' => 'Ok!', 'or' => 'or', 'yes' => 'Yes', diff --git a/app/i18n/en/index.php b/app/i18n/en/index.php index 80fa3d950..a4686de4e 100644 --- a/app/i18n/en/index.php +++ b/app/i18n/en/index.php @@ -6,7 +6,7 @@ return array( 'agpl3' => '<a href="https://www.gnu.org/licenses/agpl-3.0.html">AGPL 3</a>', 'bugs_reports' => 'Bugs reports', 'credits' => 'Credits', - 'credits_content' => 'Some design elements come from <a href="http://twitter.github.io/bootstrap/">Bootstrap</a> although FreshRSS doesn’t use this framework. <a href="https://git.gnome.org/browse/gnome-icon-theme-symbolic">Icons</a> come from <a href="https://www.gnome.org/">GNOME project</a>. <em>Open Sans</em> font police has been created by <a href="https://www.google.com/webfonts/specimen/Open+Sans">Steve Matteson</a>. Favicons are collected with <a href="https://getfavicon.appspot.com/">getFavicon API</a>. FreshRSS is based on <a href="https://github.com/marienfressinaud/MINZ">Minz</a>, a PHP framework.', + 'credits_content' => 'Some design elements come from <a href="http://twitter.github.io/bootstrap/">Bootstrap</a> although FreshRSS doesn’t use this framework. <a href="https://git.gnome.org/browse/gnome-icon-theme-symbolic">Icons</a> come from <a href="https://www.gnome.org/">GNOME project</a>. <em>Open Sans</em> font police has been created by <a href="https://fonts.google.com/specimen/Open+Sans">Steve Matteson</a>. FreshRSS is based on <a href="https://github.com/marienfressinaud/MINZ">Minz</a>, a PHP framework.', 'freshrss_description' => 'FreshRSS is a RSS feeds aggregator to self-host like <a href="http://tontof.net/kriss/feed/">Kriss Feed</a> or <a href="http://projet.idleman.fr/leed/">Leed</a>. It is light and easy to take in hand while being powerful and configurable tool.', 'github' => '<a href="https://github.com/FreshRSS/FreshRSS/issues">on Github</a>', 'license' => 'License', @@ -41,7 +41,7 @@ return array( 'mark_cat_read' => 'Mark category as read', 'mark_feed_read' => 'Mark feed as read', 'newer_first' => 'Newer first', - 'non-starred' => 'Show all but favorites', + 'non-starred' => 'Show all but favourites', 'normal_view' => 'Normal view', 'older_first' => 'Oldest first', 'queries' => 'User queries', @@ -49,7 +49,7 @@ return array( 'reader_view' => 'Reading view', 'rss_view' => 'RSS feed', 'search_short' => 'Search', - 'starred' => 'Show only favorites', + 'starred' => 'Show only favourites', 'stats' => 'Statistics', 'subscription' => 'Subscriptions management', 'unread' => 'Show only unread', diff --git a/app/i18n/en/install.php b/app/i18n/en/install.php index 2bc6bd38f..40fff37dd 100644 --- a/app/i18n/en/install.php +++ b/app/i18n/en/install.php @@ -3,17 +3,17 @@ return array( 'action' => array( 'finish' => 'Complete installation', - 'fix_errors_before' => 'Fix errors before skip to the next step.', + 'fix_errors_before' => 'Please fix errors before skipping to the next step.', + 'keep_install' => 'Keep previous configuration', 'next_step' => 'Go to the next step', + 'reinstall' => 'Reinstall FreshRSS', ), 'auth' => array( - 'email_persona' => 'Login mail address<br /><small>(for <a href="https://persona.org/" rel="external">Mozilla Persona</a>)</small>', 'form' => 'Web form (traditional, requires JavaScript)', 'http' => 'HTTP (for advanced users with HTTPS)', 'none' => 'None (dangerous)', 'password_form' => 'Password<br /><small>(for the Web-form login method)</small>', 'password_format' => 'At least 7 characters', - 'persona' => 'Mozilla Persona (modern, requires JavaScript)', 'type' => 'Authentication method', ), 'bdd' => array( @@ -25,55 +25,60 @@ return array( ), 'host' => 'Host', 'prefix' => 'Table prefix', - 'password' => 'HTTP password', + 'password' => 'Database password', 'type' => 'Type of database', - 'username' => 'HTTP username', + 'username' => 'Database username', ), 'check' => array( '_' => 'Checks', + 'already_installed' => 'We have detected that FreshRSS is already installed!', 'cache' => array( 'nok' => 'Check permissions on <em>./data/cache</em> directory. HTTP server must have rights to write into', 'ok' => 'Permissions on cache directory are good.', ), 'ctype' => array( - 'nok' => 'You lack a required library for character type checking (php-ctype).', + 'nok' => 'Cannot find a required library for character type checking (php-ctype).', 'ok' => 'You have the required library for character type checking (ctype).', ), 'curl' => array( - 'nok' => 'You lack cURL (php5-curl package).', - 'ok' => 'You have cURL extension.', + 'nok' => 'Cannot find the cURL library (php-curl package).', + 'ok' => 'You have the cURL library.', ), 'data' => array( 'nok' => 'Check permissions on <em>./data</em> directory. HTTP server must have rights to write into', 'ok' => 'Permissions on data directory are good.', ), 'dom' => array( - 'nok' => 'You lack a required library to browse the DOM (php-xml package).', + 'nok' => 'Cannot find a required library to browse the DOM.', 'ok' => 'You have the required library to browse the DOM.', ), 'favicons' => array( 'nok' => 'Check permissions on <em>./data/favicons</em> directory. HTTP server must have rights to write into', 'ok' => 'Permissions on favicons directory are good.', ), + 'fileinfo' => array( + 'nok' => 'Cannot find the PHP fileinfo library (fileinfo package).', + 'ok' => 'You have the fileinfo library.', + ), 'http_referer' => array( 'nok' => 'Please check that you are not altering your HTTP REFERER.', 'ok' => 'Your HTTP REFERER is known and corresponds to your server.', ), + 'json' => array( + 'nok' => 'Cannot find a recommended library to parse JSON.', + 'ok' => 'You have a recommended library to parse JSON.', + ), 'minz' => array( - 'nok' => 'You lack the Minz framework.', + 'nok' => 'Cannot find the Minz framework.', 'ok' => 'You have the Minz framework.', ), 'pcre' => array( - 'nok' => 'You lack a required library for regular expressions (php-pcre).', + 'nok' => 'Cannot find a required library for regular expressions (php-pcre).', 'ok' => 'You have the required library for regular expressions (PCRE).', ), 'pdo' => array( - 'nok' => 'You lack PDO or one of the supported drivers (pdo_mysql, pdo_sqlite).', - 'ok' => 'You have PDO and at least one of the supported drivers (pdo_mysql, pdo_sqlite).', - ), - 'persona' => array( - 'nok' => 'Check permissions on <em>./data/persona</em> directory. HTTP server must have rights to write into', - 'ok' => 'Permissions on Mozilla Persona directory are good.', + 'nok' => 'Cannot find PDO or one of the supported drivers (pdo_mysql, pdo_sqlite, pdo_pgsql).', + 'ok' => 'You have PDO and at least one of the supported drivers (pdo_mysql, pdo_sqlite, pdo_pgsql).', ), 'php' => array( 'nok' => 'Your PHP version is %s but FreshRSS requires at least version %s.', @@ -83,6 +88,10 @@ return array( 'nok' => 'Check permissions on <em>./data/users</em> directory. HTTP server must have rights to write into', 'ok' => 'Permissions on users directory are good.', ), + 'xml' => array( + 'nok' => 'Cannot find the required library to parse XML.', + 'ok' => 'You have the required library to parse XML.', + ), ), 'conf' => array( '_' => 'General configuration', @@ -91,8 +100,11 @@ return array( 'congratulations' => 'Congratulations!', 'default_user' => 'Username of the default user <small>(maximum 16 alphanumeric characters)</small>', 'delete_articles_after' => 'Remove articles after', - 'fix_errors_before' => 'Fix errors before skip to the next step.', + 'fix_errors_before' => 'Please fix errors before skipping to the next step.', 'javascript_is_better' => 'FreshRSS is more pleasant with JavaScript enabled', + 'js' => array( + 'confirm_reinstall' => 'You will lose your previous configuration by reinstalling FreshRSS. Are you sure you want to continue?', + ), 'language' => array( '_' => 'Language', 'choose' => 'Choose a language for FreshRSS', diff --git a/app/i18n/en/sub.php b/app/i18n/en/sub.php index 2b62e4775..47b15ae7a 100644 --- a/app/i18n/en/sub.php +++ b/app/i18n/en/sub.php @@ -1,6 +1,15 @@ <?php return array( + 'api' => array( + 'documentation' => 'Copy the following URL to use it within an external tool.', + 'title' => 'API', + ), + 'bookmarklet' => array( + 'documentation' => 'Drag this button to your bookmarks toolbar or right-click it and choose "Bookmark This Link". Then click "Subscribe" button in any page you want to subscribe to.', + 'label' => 'Subscribe', + 'title' => 'Bookmarklet', + ), 'category' => array( '_' => 'Category', 'add' => 'Add a category', @@ -10,23 +19,23 @@ return array( 'feed' => array( 'add' => 'Add a RSS feed', 'advanced' => 'Advanced', - 'archiving' => 'Archivage', + 'archiving' => 'Archiving', 'auth' => array( 'configuration' => 'Login', - 'help' => 'Connection allows to access HTTP protected RSS feeds', + 'help' => 'Allows access to HTTP protected RSS feeds', 'http' => 'HTTP Authentication', 'password' => 'HTTP password', 'username' => 'HTTP username', ), - 'css_help' => 'Retrieves truncated RSS feeds (attention, requires more time!)', + 'css_help' => 'Retrieves truncated RSS feeds (caution, requires more time!)', 'css_path' => 'Articles CSS path on original website', 'description' => 'Description', 'empty' => 'This feed is empty. Please verify that it is still maintained.', - 'error' => 'This feed has encountered a problem. Please verify that it is always reachable then actualize it.', + 'error' => 'This feed has encountered a problem. Please verify that it is always reachable then update it.', 'in_main_stream' => 'Show in main stream', 'informations' => 'Information', 'keep_history' => 'Minimum number of articles to keep', - 'moved_category_deleted' => 'When you delete a category, their feeds are automatically classified under <em>%s</em>.', + 'moved_category_deleted' => 'When you delete a category, its feeds are automatically classified under <em>%s</em>.', 'no_selected' => 'No feed selected.', 'number_entries' => '%d articles', 'stats' => 'Statistics', @@ -37,14 +46,19 @@ return array( 'url' => 'Feed URL', 'validator' => 'Check the validity of the feed', 'website' => 'Website URL', + 'pubsubhubbub' => 'Instant notification with PubSubHubbub', + ), + 'firefox' => array( + 'documentation' => 'Follow the steps described <a href="https://developer.mozilla.org/en-US/Firefox/Releases/2/Adding_feed_readers_to_Firefox#Adding_a_new_feed_reader_manually">here</a> to add FreshRSS to Firefox feed reader list.', + 'title' => 'Firefox feed reader', ), 'import_export' => array( 'export' => 'Export', 'export_opml' => 'Export list of feeds (OPML)', 'export_starred' => 'Export your favourites', 'feed_list' => 'List of %s articles', - 'file_to_import' => 'File to import<br />(OPML, Json or Zip)', - 'file_to_import_no_zip' => 'File to import<br />(OPML or Json)', + 'file_to_import' => 'File to import<br />(OPML, JSON or ZIP)', + 'file_to_import_no_zip' => 'File to import<br />(OPML or JSON)', 'import' => 'Import', 'starred_list' => 'List of favourite articles', 'title' => 'Import / export', @@ -53,9 +67,11 @@ return array( 'bookmark' => 'Subscribe (FreshRSS bookmark)', 'import_export' => 'Import / export', 'subscription_management' => 'Subscriptions management', + 'subscription_tools' => 'Subscription tools', ), 'title' => array( '_' => 'Subscriptions management', 'feed_management' => 'RSS feeds management', + 'subscription_tools' => 'Subscription tools', ), ); diff --git a/app/i18n/es/admin.php b/app/i18n/es/admin.php new file mode 100755 index 000000000..93b1e6e5c --- /dev/null +++ b/app/i18n/es/admin.php @@ -0,0 +1,188 @@ +<?php + +return array( + 'auth' => array( + 'allow_anonymous' => 'Permitir la lectura anónima de los artículos del usuario por defecto (%s)', + 'allow_anonymous_refresh' => 'Permitir la actualización anónima de los artículos', + 'api_enabled' => 'Concederle acceso a la <abbr>API</abbr> <small>(necesario para apps de móvil)</small>', + 'form' => 'Formulario Web (el más habitual, requiere JavaScript)', + 'http' => 'HTTP (para usuarios avanzados con HTTPS)', + 'none' => 'Ninguno (peligroso)', + 'title' => 'Identificación', + 'title_reset' => 'Reinicio de la identificación', + 'token' => 'Clave de identificación', + 'token_help' => 'Permite el acceso a la salida RSS del usuario por defecto sin necesidad de identificación:', + 'type' => 'Método de identificación', + 'unsafe_autologin' => 'Permite la identificación automática insegura usando el formato: ', + ), + 'check_install' => array( + 'cache' => array( + 'nok' => 'Comprueba los permisos en el directorio <em>./data/cache</em> . El servidor HTTP debe contar con permiso de escritura', + 'ok' => 'Los permisos en el cache son correctos.', + ), + 'categories' => array( + 'nok' => 'La tabla Categorías está configurada de forma incorrecta.', + 'ok' => 'La tabla Categorías está correcta.', + ), + 'connection' => array( + 'nok' => 'No se pudo establecer una conexión con la base de datos.', + 'ok' => 'La conexión con la base de datos es correcta.', + ), + 'ctype' => array( + 'nok' => 'No se puedo encontrar la librería necesaria para compropbar el tipo de caracteres (php-ctype).', + 'ok' => 'Dispones de la librería necesaria para la verificación del tipo de caracteres (ctype).', + ), + 'curl' => array( + 'nok' => 'No se pudo encontrar la librería cURL (paquete php-curl).', + 'ok' => 'Dispones de la librería cURL.', + ), + 'data' => array( + 'nok' => 'Comprueba los permisos en el directorio <em>./data</em>. El servidor HTTP debe contar con permisos de escritura.', + 'ok' => 'Los permisos en el directorio data son correctos.', + ), + 'database' => 'Instalación de la base de datos', + 'dom' => array( + 'nok' => 'No se ha podido localizar la librería necesaria para explorar el DOM (paquete php-xml).', + 'ok' => 'Dispones de la librería necesaria para explorar el DOM.', + ), + 'entries' => array( + 'nok' => 'La tabla de entrada no está configurada correctamente.', + 'ok' => 'La tabla de entrada está correcta.', + ), + 'favicons' => array( + 'nok' => 'Comprueba los permisos en el directorio <em>./data/favicons</em>. El servidor HTTP debe contar con permisos de escritura.', + 'ok' => 'Los permisos en el directorio favicons son correctos.', + ), + 'feeds' => array( + 'nok' => 'La tabla Feed está configurada de forma incorrecta.', + 'ok' => 'La tabla Feed está correcta.', + ), + 'fileinfo' => array( + 'nok' => 'No se ha podido localizar la librería PHP fileinfo (paquete fileinfo).', + 'ok' => 'Dispones de la librería fileinfo.', + ), + 'files' => 'Instalación de Archivos', + 'json' => array( + 'nok' => 'No se ha podido localizar JSON (paquete php5-json).', + 'ok' => 'Dispones de la extensión JSON.', + ), + 'minz' => array( + 'nok' => 'No se ha podido localizar el entorno Minz.', + 'ok' => 'Dispones del entorno Minz.', + ), + 'pcre' => array( + 'nok' => 'No se ha podido localizar la librería para las expresiones regulares (php-pcre).', + 'ok' => 'Dispones de la librería necesaria para expresiones regulares (PCRE).', + ), + 'pdo' => array( + 'nok' => 'No se ha podido localiar PDO o uno de los controladores compatibles (pdo_mysql, pdo_sqlite, pdo_pgsql).', + 'ok' => 'Dispones de PDO y, al menos, de uno de los controladores compatibles (pdo_mysql, pdo_sqlite, pdo_pgsql).', + ), + 'php' => array( + '_' => 'Instalación PHP', + 'nok' => 'Dispones de la versión PHP %s pero FreshRSS requiere de, al menos, la versión %s.', + 'ok' => 'Dispones de la versión PHP %s, que es compatible con FreshRSS.', + ), + 'tables' => array( + 'nok' => 'Falta al menos una tabla en la base de datos.', + 'ok' => 'Todas las tablas necesarias están disponibles en la base de datos.', + ), + 'title' => 'Verificación de instalación', + 'tokens' => array( + 'nok' => 'Comprueba los permisos en el directorio <em>./data/tokens</em>. El servidor HTTP debe contar con permisos de escritura.', + 'ok' => 'Los permisos en el directorio de tokens de identificación son correctos.', + ), + 'users' => array( + 'nok' => 'Comprueba los permisos en el directorio <em>./data/users</em>. El servidor HTTP debe contar con permisos de escritura.', + 'ok' => 'Los permisos en el directorio users son correctos.', + ), + 'zip' => array( + 'nok' => 'No se ha podido localizar la extensión ZIP (paquete php-zip).', + 'ok' => 'Dispones de la extensión ZIP.', + ), + ), + 'extensions' => array( + 'disabled' => 'Desactivado', + 'empty_list' => 'No hay extensiones instaladas', + 'enabled' => 'Activado', + 'no_configure_view' => 'Esta extensión no puede ser configurada.', + 'system' => array( + '_' => 'Sistema de extensiones', + 'no_rights' => 'Sistema de extensiones (careces de los permisos necesarios)', + ), + 'title' => 'Extensiones', + 'user' => 'Extensiones de usuario', + 'community' => 'Available community extensions', // @todo translate + 'name' => 'Name', // @todo translate + 'version' => 'Version', // @todo translate + 'description' => 'Description', // @todo translate + 'author' => 'Author', // @todo translate + 'latest' => 'Installed', // @todo translate + 'update' => 'Update available', // @todo translate + ), + 'stats' => array( + '_' => 'Estadísticas', + 'all_feeds' => 'Todas las fuentes', + 'category' => 'Categoría', + 'entry_count' => 'Cómputo total', + 'entry_per_category' => 'Entradas por categoría', + 'entry_per_day' => 'Entradas por día (últimos 30 días)', + 'entry_per_day_of_week' => 'Por día de la semana (mnedia: %.2f mensajes)', + 'entry_per_hour' => 'Por hora (media: %.2f mensajes)', + 'entry_per_month' => 'Por mes (media: %.2f mensajes)', + 'entry_repartition' => 'Reparto de entradas', + 'feed' => 'Fuente', + 'feed_per_category' => 'Fuentes por categoría', + 'idle' => 'Fuentes inactivas', + 'main' => 'Estadísticas principales', + 'main_stream' => 'Salida principal', + 'menu' => array( + 'idle' => 'Fuentes inactivas', + 'main' => 'Estadísticas principañes', + 'repartition' => 'Reparto de artículos', + ), + 'no_idle' => 'No hay fuentes inactivas', + 'number_entries' => '%d artículos', + 'percent_of_total' => '%% del total', + 'repartition' => 'Reprto de artículos', + 'status_favorites' => 'Favoritos', + 'status_read' => 'Leídos', + 'status_total' => 'Total', + 'status_unread' => 'Pendientes', + 'title' => 'Estadísticas', + 'top_feed' => 'Las 10 fuentes más activas', + ), + 'system' => array( + '_' => 'Configuración del sistema', + 'auto-update-url' => 'URL de auto-actualización', + 'instance-name' => 'Nombre de la fuente', + 'max-categories' => 'Límite de categorías por usuario', + 'max-feeds' => 'Límite de fuentes por usuario', + 'registration' => array( + 'help' => '0 significa que no hay límite en la cuenta', + 'number' => 'Número máximo de cuentas', + ), + ), + 'update' => array( + '_' => 'Actualizar sistema', + 'apply' => 'Aplicar', + 'check' => 'Buscar actualizaciones', + 'current_version' => 'Dispones de la versión %s de FreshRSS.', + 'last' => 'Última comprobación: %s', + 'none' => 'No hay actualizaciones disponibles', + 'title' => 'Actualizar sistema', + ), + 'user' => array( + 'articles_and_size' => '%s articles (%s)', + 'create' => 'Crear nuevo usuario', + 'language' => 'Idioma', + 'number' => 'Hay %d cuenta creada', + 'numbers' => 'Hay %d cuentas creadas', + 'password_form' => 'Contraseña<br /><small>(para el método de identificación por formulario web)</small>', + 'password_format' => 'Mínimo de 7 caracteres', + 'title' => 'Administrar usuarios', + 'user_list' => 'Lista de usuarios', + 'username' => 'Nombre de usuario', + 'users' => 'Usuarios', + ), +); diff --git a/app/i18n/es/conf.php b/app/i18n/es/conf.php new file mode 100755 index 000000000..aad5cc66d --- /dev/null +++ b/app/i18n/es/conf.php @@ -0,0 +1,174 @@ +<?php + +return array( + 'archiving' => array( + '_' => 'Archivo', + 'advanced' => 'Avanzado', + 'delete_after' => 'Eliminar artículos tras', + 'help' => 'Hay más opciones disponibles en los ajustes de la fuente', + 'keep_history_by_feed' => 'Número mínimo de artículos a conservar por fuente', + 'optimize' => 'Optimizar la base de datos', + 'optimize_help' => 'Ejecuta la optimización de vez en cuando para reducir el tamaño de la base de datos', + 'purge_now' => 'Limpiar ahora', + 'title' => 'Archivo', + 'ttl' => 'No actualizar automáticamente más de', + ), + 'display' => array( + '_' => 'Visualización', + 'icon' => array( + 'bottom_line' => 'Línea inferior', + 'entry' => 'Iconos de artículos', + 'publication_date' => 'Fecha de publicación', + 'related_tags' => 'Etiquetas relacionadas', + 'sharing' => 'Compartir', + 'top_line' => 'Línea superior', + ), + 'language' => 'Idioma', + 'notif_html5' => array( + 'seconds' => 'segundos (0 significa sin límite de espera)', + 'timeout' => 'Notificación de fin de espera HTML5', + ), + 'theme' => 'Tema', + 'title' => 'Visualización', + 'width' => array( + 'content' => 'Ancho de contenido', + 'large' => 'Grande', + 'medium' => 'Mediano', + 'no_limit' => 'Sin límite', + 'thin' => 'Estrecho', + ), + ), + 'query' => array( + '_' => 'Consultas de usuario', + 'deprecated' => 'Esta consulta ya no es válida. La categoría referenciada o fuente ha sido eliminada.', + 'filter' => 'Filtro aplicado:', + 'get_all' => 'Mostrar todos los artículos', + 'get_category' => 'Mostrar la categoría "%s"', + 'get_favorite' => 'Mostrar artículos favoritos', + 'get_feed' => 'Mostrar fuente "%s"', + 'no_filter' => 'Sin filtro', + 'none' => 'Todavía no has creado ninguna consulta de usuario.', + 'number' => 'Consulta n° %d', + 'order_asc' => 'Mostrar primero los artículos más antiguos', + 'order_desc' => 'Mostrar primero los artículos más recientes', + 'search' => 'Buscar "%s"', + 'state_0' => 'Mostrar todos los artículos', + 'state_1' => 'Mostrar artículos leídos', + 'state_2' => 'Mostrar artículos pendientes', + 'state_3' => 'Mostrar todos los artículos', + 'state_4' => 'Mostrar artículos favoritos', + 'state_5' => 'Mostrar artículos favoritos leídos', + 'state_6' => 'Mostrar artículos favoritos pendientes', + 'state_7' => 'Mostrar artículos favoritos', + 'state_8' => 'Mostrar artículos no favoritos', + 'state_9' => 'Mostrar artículos no favoritos leídos', + 'state_10' => 'Mostrar artículos no favoritos pendientes', + 'state_11' => 'Mostrar artículos no favoritos', + 'state_12' => 'Mostrar todos los artículos', + 'state_13' => 'Mostrar artículos leídos', + 'state_14' => 'Mostrar artículos sin leer', + 'state_15' => 'Mostrar todos los artículos', + 'title' => 'Consultas de usuario', + ), + 'profile' => array( + '_' => 'Administración de perfiles', + 'delete' => array( + '_' => 'Borrar cuenta', + 'warn' => 'Tu cuenta y todos los datos asociados serán eliminados.', + ), + 'password_api' => 'Contraseña API <br /><small>(para apps móviles, por ej.)</small>', + 'password_form' => 'Contraseña<br /><small>(para el método de identificación por formulario web)</small>', + 'password_format' => 'Mínimo de 7 caracteres', + 'title' => 'Perfil', + ), + 'reading' => array( + '_' => 'Lectura', + 'after_onread' => 'Tras “marcar todo como leído”,', + 'articles_per_page' => 'Número de artículos por página', + 'auto_load_more' => 'Cargar más artículos al final de la página', + 'auto_remove_article' => 'Ocultar artículos tras la lectura', + 'mark_updated_article_unread' => 'Marcar artículos actualizados como no leídos', + 'confirm_enabled' => 'Mostrar ventana de confirmación al usar la función “marcar todos como leídos”', + 'display_articles_unfolded' => 'Mostrar los artículos sin expandir por defecto', + 'display_categories_unfolded' => 'Mostrar categorías expandidas por defecto', + 'hide_read_feeds' => 'Ocultar categorías & fuentes sin artículos no leídos (no funciona con la configuración "Mostrar todos los artículos")', + 'img_with_lazyload' => 'Usar el modo de "carga perezosa" para las imágenes', + 'sides_close_article' => 'Pinchar fuera del área de texto del artículo lo cerrará', + 'jump_next' => 'saltar al siguiente archivo sin leer emparentado (fuente o categoría)', + 'number_divided_when_reader' => 'Dividido en 2 en la vista de lectura.', + 'read' => array( + 'article_open_on_website' => 'cuando el artículo se abra en su web original', + 'article_viewed' => 'cuando se muestre el artículo', + 'scroll' => 'durante el desplazamiento', + 'upon_reception' => 'al recibir el artículo', + 'when' => 'Marcar el artículo como leído…', + ), + 'show' => array( + '_' => 'Artículos a mostrar', + 'adaptive' => 'Ajustar la visualización', + 'all_articles' => 'Mostrar todos los artículos', + 'unread' => 'Mostrar solo pendientes', + ), + 'sort' => array( + '_' => 'Orden', + 'newer_first' => 'Nuevos primero', + 'older_first' => 'Antiguos primero', + ), + 'sticky_post' => 'Pegar el artículo a la parte superior al abrirlo', + 'title' => 'Lectura', + 'view' => array( + 'default' => 'Vista por defecto', + 'global' => 'Vista Global', + 'normal' => 'Vista Normal', + 'reader' => 'Vista de Lectura', + ), + ), + 'sharing' => array( + '_' => 'Compartir', + 'blogotext' => 'Blogotext', + 'diaspora' => 'Diaspora*', + 'email' => 'Email', + 'facebook' => 'Facebook', + 'g+' => 'Google+', + 'more_information' => 'Más información', + 'print' => 'Print', + 'shaarli' => 'Shaarli', + 'share_name' => 'Compartir nombre a mostrar', + 'share_url' => 'Compatir URL a usar', + 'title' => 'Compartir', + 'twitter' => 'Twitter', + 'wallabag' => 'wallabag', + ), + 'shortcut' => array( + '_' => 'Atajos de teclado', + 'article_action' => 'Acciones de artículo', + 'auto_share' => 'Compartir', + 'auto_share_help' => 'Si solo hay un modo para compartir, ese será el que se use. En caso contrario los modos quedarán accesibles por su numeración.', + 'close_dropdown' => 'Cerrar menús', + 'collapse_article' => 'Contraer', + 'first_article' => 'Saltar al primer artículo', + 'focus_search' => 'Acceso a la casilla de búsqueda', + 'help' => 'Mostrar documentación', + 'javascript' => 'JavaScript debe estar activado para poder usar atajos de teclado', + 'last_article' => 'Saltar al último artículo', + 'load_more' => 'Cargar más artículos', + 'mark_read' => 'Marcar como leído', + 'mark_favorite' => 'Marcar como favorito', + 'navigation' => 'Navegación', + 'navigation_help' => 'Con el modificador "Mayúsculas" es posible usar los atajos de teclado en las fuentes.<br/>Con el modificador "Alt" es posible aplicar los atajos de teclado en las categorías.', + 'next_article' => 'Saltar al siguiente artículo', + 'other_action' => 'Otras acciones', + 'previous_article' => 'Saltar al artículo anterior', + 'see_on_website' => 'Ver en la web original', + 'shift_for_all_read' => '+ <code>mayúsculas</code> para marcar todos los artículos como leídos', + 'title' => 'Atajos de teclado', + 'user_filter' => 'Acceso a filtros de usuario', + 'user_filter_help' => 'Si solo hay un filtro de usuario, ese será el que se use. En caso contrario, los filtros están accesibles por su númeración.', + ), + 'user' => array( + 'articles_and_size' => '%s artículos (%s)', + 'current' => 'Usuario actual', + 'is_admin' => 'es administrador', + 'users' => 'Usuarios', + ), +); diff --git a/app/i18n/es/feedback.php b/app/i18n/es/feedback.php new file mode 100755 index 000000000..136e70179 --- /dev/null +++ b/app/i18n/es/feedback.php @@ -0,0 +1,109 @@ +<?php + +return array( + 'admin' => array( + 'optimization_complete' => 'Optimimización completada', + ), + 'access' => array( + 'denied' => 'No dispones de permiso para acceder a esta página', + 'not_found' => 'La página que buscas no existe', + ), + 'auth' => array( + 'form' => array( + 'not_set' => 'Hubo un problema durante la configuración del sistema de idenfificación. Por favor, inténtalo más tarde.', + 'set' => 'El formulario será desde ahora tu sistema de identificación por defecto.', + ), + 'login' => array( + 'invalid' => 'Identificación incorrecta', + 'success' => 'Conexión', + ), + 'logout' => array( + 'success' => 'Desconexión', + ), + 'no_password_set' => 'Esta opción no está disponible porque no se ha definido una contraseña de administrador.', + ), + 'conf' => array( + 'error' => 'Hubo un error durante el guardado de la configuración.', + 'query_created' => 'Se ha creado la petición "%s".', + 'shortcuts_updated' => 'Se han actualizado los atajos de teclado', + 'updated' => 'Se ha actualizado la configuración', + ), + 'extensions' => array( + 'already_enabled' => '%s ya está activado', + 'disable' => array( + 'ko' => '%s no se puede desactivar. <a href="%s">Revisa el registro de FressRSS</a> para más información.', + 'ok' => '%s ha quedado desactivado', + ), + 'enable' => array( + 'ko' => '%s no se puede activar. <a href="%s">Revisa el registro de FressRSS</a> para más información.', + 'ok' => '%s ha quedado activado', + ), + 'no_access' => 'No tienes acceso a %s', + 'not_enabled' => '%s no está activado', + 'not_found' => '%s no existe', + ), + 'import_export' => array( + 'export_no_zip_extension' => 'La extensión ZIP no está disponible en tu servidor. Por favor, exporta estos archivos uno a uno.', + 'feeds_imported' => 'Se han importado tus fuentes y quedarán actualizadas', + 'feeds_imported_with_errors' => 'Se importaron tus fuentes; pero hubo algunos errores', + 'file_cannot_be_uploaded' => 'No es posible enviar el archivo', + 'no_zip_extension' => 'La extensión ZIP no está disponible en tu servidor.', + 'zip_error' => 'Hubo un error durante la importación ZIP.', + ), + 'sub' => array( + 'actualize' => 'Actualización', + 'category' => array( + 'created' => 'Se ha creado la categoría %s.', + 'deleted' => 'Se ha eliminado la categoría.', + 'emptied' => 'Se ha vaciado la categoría', + 'error' => 'No es posible actualizar la categoría', + 'name_exists' => 'Ya existe una categoría con ese nombre.', + 'no_id' => 'Debes especificar la id de la categoría.', + 'no_name' => '¡El nombre de la categoría no puede dejarse en blanco!.', + 'not_delete_default' => '¡No puedes borrar la categoría por defecto!', + 'not_exist' => 'La categoría no existe', + 'over_max' => 'Has alcanzado el límite de categorías (%d)', + 'updated' => 'La categoría se ha actualizado.', + ), + 'feed' => array( + 'actualized' => '<em>%s</em> ha sido actualizada', + 'actualizeds' => 'Las fuentes RSS se han actualizado', + 'added' => 'Fuente RSS agregada <em>%s</em>', + 'already_subscribed' => 'Ya estás suscrito a <em>%s</em>', + 'deleted' => 'Fuente eliminada', + 'error' => 'No es posible actualizar la fuente', + 'internal_problem' => 'No ha sido posible agregar la fuente RSS. <a href="%s">Revisa el registro de FressRSS </a> para más información.', + 'invalid_url' => 'La URL <em>%s</em> es inválida', + 'marked_read' => 'Fuentes marcadas como leídas', + 'n_actualized' => 'Se han actualiado %d fuentes', + 'n_entries_deleted' => 'Se han eliminado %d artículos', + 'no_refresh' => 'No hay fuente a actualizar…', + 'not_added' => '<em>%s</em> no ha podido se añadida', + 'over_max' => 'Has alcanzado tu límite de fuentes (%d)', + 'updated' => 'Fuente actualizada', + ), + 'purge_completed' => 'Limpieza completada (se han eliminado %d artículos)', + ), + 'update' => array( + 'can_apply' => 'FreshRSS se va a actualizar a la <strong>versión %s</strong>.', + 'error' => 'Hubo un error durante el proceso de actualización: %s', + 'file_is_nok' => 'Disponible la nueva <strong>versión %s</strong>. Sin embargo, debes revisar los permisos en el directorio <em>%s</em>. El servidor HTTP debe contar con permisos de escritura', + 'finished' => '¡Actualización completada!', + 'none' => 'No hay actualizaciones para procesar', + 'server_not_found' => 'No se ha podido conectar con el servidor de actualizaciones. [%s]', + ), + 'user' => array( + 'created' => array( + '_' => 'Se ha creado el usuario %s', + 'error' => 'No se ha podido crear al usuario %s', + ), + 'deleted' => array( + '_' => 'El usuario %s ha sido eliminado', + 'error' => 'El usuario %s no ha podido ser eliminado', + ), + ), + 'profile' => array( + 'error' => 'Tu perfil no puede ser modificado', + 'updated' => 'Tu perfil ha sido modificado', + ), +); diff --git a/app/i18n/es/gen.php b/app/i18n/es/gen.php new file mode 100755 index 000000000..0f113e073 --- /dev/null +++ b/app/i18n/es/gen.php @@ -0,0 +1,190 @@ +<?php + +return array( + 'action' => array( + 'actualize' => 'Actualizar', + 'back_to_rss_feeds' => '← regresar a tus fuentes RSS', + 'cancel' => 'Cancelar', + 'create' => 'Crear', + 'disable' => 'Desactivar', + 'empty' => 'Vaciar', + 'enable' => 'Activar', + 'export' => 'Exportar', + 'filter' => 'Filtrar', + 'import' => 'Importar', + 'manage' => 'Administrar', + 'mark_favorite' => 'Marcar como favorita', + 'mark_read' => 'Marcar como leído', + 'remove' => 'Borrar', + 'see_website' => 'Ver web', + 'submit' => 'Enviar', + 'truncate' => 'Borrar todos los artículos', + ), + 'auth' => array( + 'email' => 'Correo electrónico', + 'keep_logged_in' => 'Mantenerme identificado <small>(%s días)</small>', + 'login' => 'Conectar', + 'logout' => 'Desconectar', + 'password' => array( + '_' => 'Contraseña', + 'format' => '<small>Mínimo de 7 caracteres</small>', + ), + 'registration' => array( + '_' => 'Nueva cuenta', + 'ask' => '¿Crear una cuenta?', + 'title' => 'Creación de cuenta', + ), + 'reset' => 'Reinicar identificación', + 'username' => array( + '_' => 'Nombre de usuario', + 'admin' => 'Nombre de usuario del Administrador', + 'format' => '<small>máximo 16 caracteres alfanuméricos</small>', + ), + ), + 'date' => array( + 'Apr' => '\\A\\b\\r\\i\\l', + 'Aug' => '\\A\\g\\o\\s\\t\\o', + 'Dec' => '\\D\\i\\c\\i\\e\\m\\b\\r\\e', + 'Feb' => '\\F\\e\\b\\r\\e\\r\\o', + 'Jan' => '\\E\\n\\e\\r\\o', + 'Jul' => '\\J\\u\\l\\i\\o', + 'Jun' => '\\J\\u\\n\\i\\o', + 'Mar' => '\\M\\a\\r\\z\\o', + 'May' => '\\M\\a\\y\\o', + 'Nov' => '\\N\\o\\v\\i\\e\\m\\b\\r\\e', + 'Oct' => '\\O\\c\\t\\u\\b\\r\\e', + 'Sep' => '\\S\\e\\p\\t\\i\\e\\m\\b\\r\\e', + 'apr' => 'abr', + 'april' => 'abril', + 'aug' => 'ago', + 'august' => 'agosto', + 'before_yesterday' => 'Anteayer', + 'dec' => 'dic', + 'december' => 'diciembre', + 'feb' => 'feb', + 'february' => 'febrero', + 'format_date' => '%s j\\<\\s\\u\\p\\>S\\<\\/\\s\\u\\p\\> Y', + 'format_date_hour' => '%s j\\<\\s\\u\\p\\>S\\<\\/\\s\\u\\p\\> Y \\a\\t H\\:i', + 'fri' => 'Vie', + 'jan' => 'ene', + 'january' => 'ene', + 'jul' => 'jul', + 'july' => 'julio', + 'jun' => 'jun', + 'june' => 'junio', + 'last_3_month' => 'Últimos tres meses', + 'last_6_month' => 'Últimos seis meses', + 'last_month' => 'Mes pasado', + 'last_week' => 'Semana pasada', + 'last_year' => 'Año pasado', + 'mar' => 'mar', + 'march' => 'marzo', + 'may' => 'mayo', + 'may_' => 'may', + 'mon' => 'Lun', + 'month' => 'meses', + 'nov' => 'nov', + 'november' => 'noviembre', + 'oct' => 'oct', + 'october' => 'octubre', + 'sat' => 'Sab', + 'sep' => 'sep', + 'september' => 'septiembre', + 'sun' => 'Dom', + 'thu' => 'Jue', + 'today' => 'Hoy', + 'tue' => 'Mar', + 'wed' => 'Mie', + 'yesterday' => 'Ayer', + ), + 'freshrss' => array( + '_' => 'FreshRSS', + 'about' => 'Acerca de FreshRSS', + ), + 'js' => array( + 'category_empty' => 'Vaciar categoría', + 'confirm_action' => '¿Seguyro que quieres hacerlo? No hay marcha atrás...', + 'confirm_action_feed_cat' => '¿Seguro que quieres hacerlo? Perderás todos los favoritos relacionados y las peticiones de usuario. ¡Y no hay marcha atrás!', + 'feedback' => array( + 'body_new_articles' => 'Hay %%d nuevos artículos para leer en FreshRSS.', + 'request_failed' => 'La petición ha fallado. Puede ser debido a problemas de conexión a internet.', + 'title_new_articles' => 'FreshRSS: ¡Nuevos artículos!', + ), + 'new_article' => 'Hay nuevos artículos disponibles. Pincha para refrescar la página.', + 'should_be_activated' => 'JavaScript debe estar activado', + ), + 'lang' => array( + 'cz' => 'Čeština', + 'de' => 'Deutsch', + 'en' => 'English', + 'es' => 'Español', + 'fr' => 'Français', + 'it' => 'Italiano', + 'kr' => '한국어', + 'nl' => 'Nederlands', + 'pt-br' => 'Português (Brasil)', + 'ru' => 'Русский', + 'tr' => 'Türkçe', + 'zh-cn' => '简体中文', + ), + 'menu' => array( + 'about' => 'Acerca de', + 'admin' => 'Administración', + 'archiving' => 'Archivo', + 'authentication' => 'Identificación', + 'check_install' => 'Verificación de instalación', + 'configuration' => 'Configuración', + 'display' => 'Visualización', + 'extensions' => 'Extensiones', + 'logs' => 'Registros', + 'queries' => 'Peticiones de usuario', + 'reading' => 'Lectura', + 'search' => 'Buscar palabras o #etiquetas', + 'sharing' => 'Compartir', + 'shortcuts' => 'Atajos', + 'stats' => 'Estadísticas', + 'system' => 'Configuración del sistema', + 'update' => 'Actualización', + 'user_management' => 'Administrar usuarios', + 'user_profile' => 'Perfil', + ), + 'pagination' => array( + 'first' => 'Primero', + 'last' => 'Último', + 'load_more' => 'Cargar más artículos', + 'mark_all_read' => 'Marcar todo como leído', + 'next' => 'Siguiente', + 'nothing_to_load' => 'No hay más artículos', + 'previous' => 'Anterior', + ), + 'share' => array( + 'Known' => 'Known based sites', + 'blogotext' => 'Blogotext', + 'diaspora' => 'Diaspora*', + 'email' => 'Email', + 'facebook' => 'Facebook', + 'g+' => 'Google+', + 'gnusocial' => 'GNU social', + 'jdh' => 'Journal du hacker', + 'mastodon' => 'Mastodon', + 'movim' => 'Movim', + 'print' => 'Print', + 'shaarli' => 'Shaarli', + 'twitter' => 'Twitter', + 'wallabag' => 'wallabag v1', + 'wallabagv2' => 'wallabag v2', + ), + 'short' => array( + 'attention' => '¡Aviso!', + 'blank_to_disable' => 'Deja en blanco para desactivar', + 'by_author' => 'Por <em>%s</em>', + 'by_default' => 'Por defecto', + 'damn' => '¡Córcholis!', + 'default_category' => 'Sin categorizar', + 'no' => 'No', + 'not_applicable' => 'No disponible', + 'ok' => '¡Vale!', + 'or' => 'o', + 'yes' => 'Sí', + ), +); diff --git a/app/i18n/es/index.php b/app/i18n/es/index.php new file mode 100755 index 000000000..03054e23a --- /dev/null +++ b/app/i18n/es/index.php @@ -0,0 +1,61 @@ +<?php + +return array( + 'about' => array( + '_' => 'Acerca de', + 'agpl3' => '<a href="https://www.gnu.org/licenses/agpl-3.0.html">AGPL 3</a>', + 'bugs_reports' => 'Informe de fallos', + 'credits' => 'Créditos', + 'credits_content' => 'Aunque FreshRSS no usa ese entorno, algunos elementos del diseño están obtenidos de <a href="http://twitter.github.io/bootstrap/">Bootstrap</a>. Los <a href="https://git.gnome.org/browse/gnome-icon-theme-symbolic">Iconos</a> han sido obtenidos del <a href="https://www.gnome.org/">proyecto GNOME</a>. La fuente <em>Open Sans</em> es una creación de <a href="https://fonts.google.com/specimen/Open+Sans">Steve Matteson</a>. FreshRSS usa el entorno PHP <a href="https://github.com/marienfressinaud/MINZ">Minz</a>.', + 'freshrss_description' => 'FreshRSS es un agregador de fuentes RSS de alojamiento privado al estilo de <a href="http://tontof.net/kriss/feed/">Kriss Feed</a> o <a href="http://projet.idleman.fr/leed/">Leed</a>. Es una herramienta potente, pero ligera y fácil de usar y configurar.', + 'github' => '<a href="https://github.com/FreshRSS/FreshRSS/issues">en Github</a>', + 'license' => 'Licencia', + 'project_website' => 'Web del proyecto', + 'title' => 'Acerca de', + 'version' => 'Versión', + 'website' => 'Web', + ), + 'feed' => array( + 'add' => 'Puedes añadir fuentes.', + 'empty' => 'No hay artículos a mostrar.', + 'rss_of' => 'Fuente RSS de %s', + 'title' => 'Tus fuentes RSS', + 'title_global' => 'Vista global', + 'title_fav' => 'Tus favoritos', + ), + 'log' => array( + '_' => 'Registros', + 'clear' => 'Limpiar registros', + 'empty' => 'El archivo de registro está vacío', + 'title' => 'Registros', + ), + 'menu' => array( + 'about' => 'Acerca de FreshRSS', + 'add_query' => 'Añadir petición', + 'before_one_day' => 'Con más de 1 día', + 'before_one_week' => 'Con más de una semana', + 'favorites' => 'Favoritos (%s)', + 'global_view' => 'Vista Global', + 'main_stream' => 'Salida Principal', + 'mark_all_read' => 'Marcar todo como leído', + 'mark_cat_read' => 'Marcar categoría como leída', + 'mark_feed_read' => 'Marcar fuente como leída', + 'newer_first' => 'Nuevos primero', + 'non-starred' => 'Mostrar todos menos los favoritos', + 'normal_view' => 'Vista normal', + 'older_first' => 'Más antiguos primero', + 'queries' => 'Peticiones de usuario', + 'read' => 'Mostrar solo los leídos', + 'reader_view' => 'Vista de lectura', + 'rss_view' => 'Fuente RSS', + 'search_short' => 'Buscar', + 'starred' => 'Mostrar solo los favoritos', + 'stats' => 'Estadísticas', + 'subscription' => 'Administración de suscripciones', + 'unread' => 'Mostar solo no leídos', + ), + 'share' => 'Compartir', + 'tag' => array( + 'related' => 'Etiquetas relacionadas', + ), +); diff --git a/app/i18n/es/install.php b/app/i18n/es/install.php new file mode 100755 index 000000000..cd6f63432 --- /dev/null +++ b/app/i18n/es/install.php @@ -0,0 +1,119 @@ +<?php + +return array( + 'action' => array( + 'finish' => 'Completar instalación', + 'fix_errors_before' => 'Por favor, soluciona los errores detectados antes de continuar con el siguiente paso.', + 'keep_install' => 'Conservar la configuración anterior', + 'next_step' => 'Ir al siguiente paso', + 'reinstall' => 'Reinstalar FreshRSS', + ), + 'auth' => array( + 'form' => 'Formulario Web (método más habitual, requiere JavaScript)', + 'http' => 'HTTP (para usuarios avanzados con HTTPS)', + 'none' => 'Ninguna (peligroso)', + 'password_form' => 'Contraseña<br /><small>(para el método de acceso mediante formulario web)</small>', + 'password_format' => 'Al menos 7 caracteres', + 'type' => 'Método de identificación', + ), + 'bdd' => array( + '_' => 'Base de datos', + 'conf' => array( + '_' => 'Configuración de la base de datos', + 'ko' => 'Verificar la información de tu base de datos.', + 'ok' => 'La configuración de la base de datos ha sido guardada.', + ), + 'host' => 'Servidor', + 'prefix' => 'Prefijo de la tabla', + 'password' => 'Contraseña de la base de datos', + 'type' => 'Tipo de base de datos', + 'username' => 'Nombre de usuario de la base de datos', + ), + 'check' => array( + '_' => 'Verificaciones', + 'already_installed' => '¡FreshRSS ya está instalado!', + 'cache' => array( + 'nok' => 'Comprueba los permisos en el directorio <em>./data/cache</em>. El servidor HTTP debe contar con permisos de escritura.', + 'ok' => 'Los permisos del directorio cache son correctos.', + ), + 'ctype' => array( + 'nok' => 'No se ha podido localizar la librería para la verificación del tipo de caracteres (php-ctype).', + 'ok' => 'Cuentas con la librería necesaria para la verificación del tipo de caracteres (ctype).', + ), + 'curl' => array( + 'nok' => 'No se ha podido localizar la librería cURL (paquete php-curl).', + 'ok' => 'Dispones de la librería cURL.', + ), + 'data' => array( + 'nok' => 'Comprueba los permisos del directorio <em>./data</em>. El servidor HTTP debe contar con permisos de escritura.', + 'ok' => 'Los permisos del directorio data son correctos.', + ), + 'dom' => array( + 'nok' => 'No se ha podido localizar la librería necesaria para explorar la DOM.', + 'ok' => 'Dispones de la librería necesaria para explorar la DOM.', + ), + 'favicons' => array( + 'nok' => 'Verifica los permisos en el directorio <em>./data/favicons</em>. El servidor HTTP debe contar con permisos de escritura.', + 'ok' => 'Los permisos del directorio favicons son correctos.', + ), + 'fileinfo' => array( + 'nok' => 'No se ha podido localizar la librería PHP fileinfo (paquete fileinfo).', + 'ok' => 'Dispones de la librería fileinfo.', + ), + 'http_referer' => array( + 'nok' => 'Por favor, comprueba que no estás alterando tu configuración HTTP REFERER.', + 'ok' => 'La configuración HTTP REFERER es conocida y se corresponde con la de tu servidor.', + ), + 'json' => array( + 'nok' => 'No se ha podido localizar la librería para procesar JSON.', + 'ok' => 'Dispones de la librería recomendada para procesar JSON.', + ), + 'minz' => array( + 'nok' => 'No se ha podido localizar el entorno Minz.', + 'ok' => 'Dispones del entorno Minz.', + ), + 'pcre' => array( + 'nok' => 'No se ha podido encontrar la librería necesaria para las expresiones regulares (php-pcre).', + 'ok' => 'Dispones de la librería necesaria para las expresiones regulares (PCRE).', + ), + 'pdo' => array( + 'nok' => 'No se ha podido localizar PDO o uno de los controladores compatibles (pdo_mysql, pdo_sqlite, pdo_pgsql).', + 'ok' => 'Dispones de PDO y al menos uno de los controladores compatibles (pdo_mysql, pdo_sqlite, pdo_pgsql).', + ), + 'php' => array( + 'nok' => 'Dispones de la versión PHP %s, pero FreshRSS necesita de, al menos, la versión %s.', + 'ok' => 'Dispones de la versión PHP %s, que es compatible con FreshRSS.', + ), + 'users' => array( + 'nok' => 'Revisa los permisos en el directorio <em>./data/users</em>. El servidor HTTP debe contar con permisos de escritura.', + 'ok' => 'Los permisos en el directorio users son correctos.', + ), + 'xml' => array( + 'nok' => 'No se ha podido localizar la librería necesaria para procesar XML.', + 'ok' => 'Dispones de la librería necesaria para procesar XML.', + ), + ), + 'conf' => array( + '_' => 'Configuración general', + 'ok' => 'La configuración general se ha guardado.', + ), + 'congratulations' => '¡Enhorabuena!', + 'default_user' => 'Nombre de usuario para el usuario por defecto <small>(máximo de 16 caracteres alfanuméricos)</small>', + 'delete_articles_after' => 'Eliminar los artículos tras', + 'fix_errors_before' => 'Por favor, soluciona los errores detectados antes de proceder con el siguiente paso.', + 'javascript_is_better' => 'FreshRSS funciona mejor con JavaScript activado', + 'js' => array( + 'confirm_reinstall' => 'Al reinstalar FreshRSS perderás cualquier configuración anterior. ¿Seguro que quieres continuar?', + ), + 'language' => array( + '_' => 'Idioma', + 'choose' => 'Selecciona el idioma para FreshRSS', + 'defined' => 'Idioma seleccionado.', + ), + 'not_deleted' => 'Parece que ha habido un error. Debes eliminar el archivo <em>%s</em> de forma manual.', + 'ok' => 'La instalación se ha completado correctamente.', + 'step' => 'paso %d', + 'steps' => 'Pasos', + 'title' => 'Instalación · FreshRSS', + 'this_is_the_end' => '¡Terminamos!', +); diff --git a/app/i18n/es/sub.php b/app/i18n/es/sub.php new file mode 100755 index 000000000..72eb06eb7 --- /dev/null +++ b/app/i18n/es/sub.php @@ -0,0 +1,66 @@ +<?php + +return array( + 'api' => array( + 'documentation' => 'Copy the following URL to use it within an external tool.',// TODO + 'title' => 'API',// TODO + ), + 'category' => array( + '_' => 'Categoría', + 'add' => 'Añadir a la categoría', + 'empty' => 'Vaciar categoría', + 'new' => 'Nueva categoría', + ), + 'feed' => array( + 'add' => 'Añadir fuente RSS', + 'advanced' => 'Avanzado', + 'archiving' => 'Archivo', + 'auth' => array( + 'configuration' => 'Identificación', + 'help' => 'Permitir acceso a fuentes RSS protegidas con HTTP', + 'http' => 'Identificación HTTP', + 'password' => 'Contraseña HTTP', + 'username' => 'Nombre de usuario HTTP', + ), + 'css_help' => 'Recibir fuentes RSS truncadas (aviso, ¡necesita más tiempo!)', + 'css_path' => 'Ruta a la CSS de los artículos en la web original', + 'description' => 'Descripción', + 'empty' => 'La fuente está vacía. Por favor, verifica que siga activa.', + 'error' => 'Hay un problema con esta fuente. Por favor, veritica que esté disponible y prueba de nuevo.', + 'in_main_stream' => 'Mostrar en salida principal', + 'informations' => 'Información', + 'keep_history' => 'Número mínimo de artículos a conservar', + 'moved_category_deleted' => 'Al borrar una categoría todas sus fuentes pasan automáticamente a la categoría <em>%s</em>.', + 'no_selected' => 'No hay funentes seleccionadas.', + 'number_entries' => '%d artículos', + 'stats' => 'Estadísticas', + 'think_to_add' => 'Puedes añadir fuentes.', + 'title' => 'Título', + 'title_add' => 'Añadir fuente RSS', + 'ttl' => 'No actualizar de forma automática con una frecuencia mayor a', + 'url' => 'URL de la fuente', + 'validator' => 'Verifica la validez de la fuente', + 'website' => 'Web de la URL', + 'pubsubhubbub' => 'Notificación inmedaiata con PubSubHubbub', + ), + 'import_export' => array( + 'export' => 'Exportar', + 'export_opml' => 'Exportar la lista de fuentes (OPML)', + 'export_starred' => 'Exportar tus favoritos', + 'feed_list' => 'Lista de %s artículos', + 'file_to_import' => 'Archivo a importar<br />(OPML, JSON o ZIP)', + 'file_to_import_no_zip' => 'Archivo a importar<br />(OPML o JSON)', + 'import' => 'Importar', + 'starred_list' => 'Lista de artículos favoritos', + 'title' => 'Importar / exportar', + ), + 'menu' => array( + 'bookmark' => 'Suscribirse (favorito FreshRSS)', + 'import_export' => 'Importar / exportar', + 'subscription_management' => 'Administración de suscripciones', + ), + 'title' => array( + '_' => 'Administración de suscripciones', + 'feed_management' => 'Administración de fuentes RSS', + ), +); diff --git a/app/i18n/fr/admin.php b/app/i18n/fr/admin.php index b740bd0d2..b2bc48209 100644 --- a/app/i18n/fr/admin.php +++ b/app/i18n/fr/admin.php @@ -8,7 +8,6 @@ return array( 'form' => 'Formulaire (traditionnel, requiert JavaScript)', 'http' => 'HTTP (pour utilisateurs avancés avec HTTPS)', 'none' => 'Aucune (dangereux)', - 'persona' => 'Mozilla Persona (moderne, requiert JavaScript)', 'title' => 'Authentification', 'title_reset' => 'Réinitialisation de l’authentification', 'token' => 'Jeton d’identification', @@ -30,12 +29,12 @@ return array( 'ok' => 'La connexion à la base de données est bonne.', ), 'ctype' => array( - 'nok' => 'Il manque une librairie pour la vérification des types de caractères (php-ctype).', - 'ok' => 'Vous disposez du nécessaire pour la vérification des types de caractères (ctype).', + 'nok' => 'Impossible de trouver une librairie pour la vérification des types de caractères (php-ctype).', + 'ok' => 'Vous disposez de la librairie pour la vérification des types de caractères (ctype).', ), 'curl' => array( - 'nok' => 'Vous ne disposez pas de cURL (paquet php5-curl).', - 'ok' => 'Vous disposez de cURL.', + 'nok' => 'Impossible de trouver la librairie cURL (paquet php-curl).', + 'ok' => 'Vous disposez de la librairie cURL.', ), 'data' => array( 'nok' => 'Veuillez vérifier les droits sur le répertoire <em>./data</em>. Le serveur HTTP doit être capable d’écrire dedans', @@ -43,8 +42,8 @@ return array( ), 'database' => 'Installation de la base de données', 'dom' => array( - 'nok' => 'Il manque une librairie pour parcourir le DOM (paquet php-xml).', - 'ok' => 'Vous disposez du nécessaire pour parcourir le DOM.', + 'nok' => 'Impossible de trouver une librairie pour parcourir le DOM (paquet php-xml).', + 'ok' => 'Vous disposez de la librairie pour parcourir le DOM.', ), 'entries' => array( 'nok' => 'La table entry est mal configurée.', @@ -58,26 +57,26 @@ return array( 'nok' => 'La table feed est mal configurée.', 'ok' => 'La table feed est bien configurée.', ), + 'fileinfo' => array( + 'nok' => 'Impossible de trouver la librairie PHP fileinfo (paquet fileinfo).', + 'ok' => 'Vous disposez de la librairie fileinfo.', + ), 'files' => 'Installation des fichiers', 'json' => array( 'nok' => 'Vous ne disposez pas de JSON (paquet php5-json).', - 'ok' => 'Vous disposez de l\'extension JSON.', + 'ok' => 'Vous disposez de l’extension JSON.', ), 'minz' => array( 'nok' => 'Vous ne disposez pas de la librairie Minz.', 'ok' => 'Vous disposez du framework Minz', ), 'pcre' => array( - 'nok' => 'Il manque une librairie pour les expressions régulières (php-pcre).', - 'ok' => 'Vous disposez du nécessaire pour les expressions régulières (PCRE).', + 'nok' => 'Impossible de trouver une librairie pour les expressions régulières (php-pcre).', + 'ok' => 'Vous disposez de la librairie pour les expressions régulières (PCRE).', ), 'pdo' => array( - 'nok' => 'Vous ne disposez pas de PDO ou d’un des drivers supportés (pdo_mysql, pdo_sqlite).', - 'ok' => 'Vous disposez de PDO et d’au moins un des drivers supportés (pdo_mysql, pdo_sqlite).', - ), - 'persona' => array( - 'nok' => 'Veuillez vérifier les droits sur le répertoire <em>./data/persona</em>. Le serveur HTTP doit être capable d’écrire dedans', - 'ok' => 'Les droits sur le répertoire de Mozilla Persona sont bons.', + 'nok' => 'Vous ne disposez pas de PDO ou d’un des drivers supportés (pdo_mysql, pdo_sqlite, pdo_pgsql).', + 'ok' => 'Vous disposez de PDO et d’au moins un des drivers supportés (pdo_mysql, pdo_sqlite, pdo_pgsql).', ), 'php' => array( '_' => 'Installation de PHP', @@ -85,7 +84,7 @@ return array( 'ok' => 'Votre version de PHP est la %s, qui est compatible avec FreshRSS.', ), 'tables' => array( - 'nok' => 'Il manque une ou plusieurs tables en base de données.', + 'nok' => 'Impossible de trouver une ou plusieurs tables en base de données.', 'ok' => 'Les tables sont bien présentes en base de données.', ), 'title' => 'Vérification de l’installation', @@ -98,21 +97,28 @@ return array( 'ok' => 'Les droits sur le répertoire des utilisateurs sont bons.', ), 'zip' => array( - 'nok' => 'Vous ne disposez pas de l\'extension ZIP (paquet php5-zip).', - 'ok' => 'Vous disposez de l\'extension ZIP.', + 'nok' => 'Vous ne disposez pas de l’extension ZIP (paquet php-zip).', + 'ok' => 'Vous disposez de l’extension ZIP.', ), ), 'extensions' => array( 'disabled' => 'Désactivée', - 'empty_list' => 'Il n’y a aucune extension installée.', + 'empty_list' => 'Aucune extension installée', 'enabled' => 'Activée', - 'no_configure_view' => 'Cette extension ne peut pas être configurée.', + 'no_configure_view' => 'Cette extension n’a pas à être configurée', 'system' => array( '_' => 'Extensions système', - 'no_rights' => 'Extension système (vous n’avez aucun droit dessus)', + 'no_rights' => 'Extensions système (contrôlées par l’administrateur)', ), 'title' => 'Extensions', 'user' => 'Extensions utilisateur', + 'community' => 'Extensions utilisateur disponibles', + 'name' => 'Nom', + 'version' => 'Version', + 'description' => 'Description', + 'author' => 'Auteur', + 'latest' => 'Installée', + 'update' => 'Mise à jour disponible', ), 'stats' => array( '_' => 'Statistiques', @@ -146,6 +152,17 @@ return array( 'title' => 'Statistiques', 'top_feed' => 'Les dix plus gros flux', ), + 'system' => array( + '_' => 'Configuration du système', + 'auto-update-url' => 'URL du service de mise à jour', + 'instance-name' => 'Nom de l’instance', + 'max-categories' => 'Limite de catégories par utilisateur', + 'max-feeds' => 'Limite de flux par utilisateur', + 'registration' => array( + 'help' => 'Un chiffre de 0 signifie que l’on peut créer un nombre infini de comptes', + 'number' => 'Nombre max de comptes', + ), + ), 'update' => array( '_' => 'Système de mise à jour', 'apply' => 'Appliquer la mise à jour', @@ -158,8 +175,9 @@ return array( 'user' => array( 'articles_and_size' => '%s articles (%s)', 'create' => 'Créer un nouvel utilisateur', - 'email_persona' => 'Adresse courriel de connexion<br /><small>(pour <a href="https://persona.org/" rel="external">Mozilla Persona</a>)</small>', 'language' => 'Langue', + 'number' => '%d compte a déjà été créé', + 'numbers' => '%d comptes ont déjà été créés', 'password_form' => 'Mot de passe<br /><small>(pour connexion par formulaire)</small>', 'password_format' => '7 caractères minimum', 'title' => 'Gestion des utilisateurs', diff --git a/app/i18n/fr/conf.php b/app/i18n/fr/conf.php index d38445b99..0c8188623 100644 --- a/app/i18n/fr/conf.php +++ b/app/i18n/fr/conf.php @@ -72,7 +72,10 @@ return array( ), 'profile' => array( '_' => 'Gestion du profil', - 'email_persona' => 'Adresse courriel de connexion<br /><small>(pour <a href="https://persona.org/" rel="external">Mozilla Persona</a>)</small>', + 'delete' => array( + '_' => 'Suppression du compte', + 'warn' => 'Le compte et toutes les données associées vont être supprimées.', + ), 'password_api' => 'Mot de passe API<br /><small>(ex. : pour applis mobiles)</small>', 'password_form' => 'Mot de passe<br /><small>(pour connexion par formulaire)</small>', 'password_format' => '7 caractères minimum', @@ -84,11 +87,13 @@ return array( 'articles_per_page' => 'Nombre d’articles par page', 'auto_load_more' => 'Charger les articles suivants en bas de page', 'auto_remove_article' => 'Cacher les articles après lecture', + 'mark_updated_article_unread' => 'Marquer les articles mis à jour comme non-lus', 'confirm_enabled' => 'Afficher une confirmation lors des actions “marquer tout comme lu”', 'display_articles_unfolded' => 'Afficher les articles dépliés par défaut', 'display_categories_unfolded' => 'Afficher les catégories pliées par défaut', 'hide_read_feeds' => 'Cacher les catégories & flux sans article non-lu (ne fonctionne pas avec la configuration “Afficher tous les articles”)', 'img_with_lazyload' => 'Utiliser le mode “chargement différé” pour les images', + 'sides_close_article' => 'Cliquer hors de la zone de texte ferme l’article', 'jump_next' => 'sauter au prochain voisin non lu (flux ou catégorie)', 'number_divided_when_reader' => 'Divisé par 2 dans la vue de lecture.', 'read' => array( diff --git a/app/i18n/fr/feedback.php b/app/i18n/fr/feedback.php index e2364a251..aa19cd02b 100644 --- a/app/i18n/fr/feedback.php +++ b/app/i18n/fr/feedback.php @@ -21,7 +21,6 @@ return array( 'success' => 'Vous avez été déconnecté', ), 'no_password_set' => 'Aucun mot de passe administrateur n’a été précisé. Cette fonctionnalité n’est pas disponible.', - 'not_persona' => 'Seul le système d’authentification Persona peut être réinitialisé.', ), 'conf' => array( 'error' => 'Une erreur est survenue durant la sauvegarde de la configuration', @@ -44,12 +43,12 @@ return array( 'not_found' => '%s n’existe pas', ), 'import_export' => array( - 'export_no_zip_extension' => 'L’extension Zip n’est pas présente sur votre serveur. Veuillez essayer d’exporter les fichiers un par un.', + 'export_no_zip_extension' => 'L’extension ZIP n’est pas présente sur votre serveur. Veuillez essayer d’exporter les fichiers un par un.', 'feeds_imported' => 'Vos flux ont été importés et vont maintenant être actualisés.', 'feeds_imported_with_errors' => 'Vos flux ont été importés mais des erreurs sont survenues.', 'file_cannot_be_uploaded' => 'Le fichier ne peut pas être téléchargé !', - 'no_zip_extension' => 'L’extension Zip n’est pas présente sur votre serveur.', - 'zip_error' => 'Une erreur est survenue durant l’import du fichier Zip.', + 'no_zip_extension' => 'L’extension ZIP n’est pas présente sur votre serveur.', + 'zip_error' => 'Une erreur est survenue durant l’import du fichier ZIP.', ), 'sub' => array( 'actualize' => 'Actualiser', @@ -88,7 +87,7 @@ return array( 'update' => array( 'can_apply' => 'FreshRSS va maintenant être mis à jour vers la <strong>version %s</strong>.', 'error' => 'La mise à jour a rencontré un problème : %s', - 'file_is_nok' => 'Veuillez vérifier les droits sur le répertoire <em>%s</em>. Le serveur HTTP doit être capable d’écrire dedans', + 'file_is_nok' => 'Nouvelle <strong>version %s</strong> disponible, mais veuillez vérifier les droits sur le répertoire <em>%s</em>. Le serveur HTTP doit être capable d’écrire dedans', 'finished' => 'La mise à jour est terminée !', 'none' => 'Aucune mise à jour à appliquer', 'server_not_found' => 'Le serveur de mise à jour n’a pas été trouvé. [%s]', diff --git a/app/i18n/fr/gen.php b/app/i18n/fr/gen.php index 92dc297c0..61a24602a 100644 --- a/app/i18n/fr/gen.php +++ b/app/i18n/fr/gen.php @@ -13,24 +13,33 @@ return array( 'filter' => 'Filtrer', 'import' => 'Importer', 'manage' => 'Gérer', - 'mark_read' => 'Marquer comme lu', 'mark_favorite' => 'Mettre en favori', + 'mark_read' => 'Marquer comme lu', 'remove' => 'Supprimer', 'see_website' => 'Voir le site', 'submit' => 'Valider', 'truncate' => 'Supprimer tous les articles', ), 'auth' => array( - 'keep_logged_in' => 'Rester connecté <small>(1 mois)</small>', + 'email' => 'Adresse courriel', + 'keep_logged_in' => 'Rester connecté <small>(%s jours)</small>', 'login' => 'Connexion', - 'login_persona' => 'Connexion avec Persona', - 'login_persona_problem' => 'Problème de connexion à Persona ?', 'logout' => 'Déconnexion', - 'password' => 'Mot de passe', + 'password' => array( + '_' => 'Mot de passe', + 'format' => '<small>7 caractères minimum</small>', + ), + 'registration' => array( + '_' => 'Nouveau compte', + 'ask' => 'Créer un compte ?', + 'title' => 'Création de compte', + ), 'reset' => 'Réinitialisation de l’authentification', - 'username' => 'Nom d’utilisateur', - 'username_admin' => 'Nom d’utilisateur administrateur', - 'will_reset' => 'Le système d’authentification va être réinitialisé : un formulaire sera utilisé à la place de Persona.', + 'username' => array( + '_' => 'Nom d’utilisateur', + 'admin' => 'Nom d’utilisateur administrateur', + 'format' => '<small>16 caractères alphanumériques maximum</small>', + ), ), 'date' => array( 'Apr' => '\\a\\v\\r\\i\\l', @@ -68,9 +77,10 @@ return array( 'last_month' => 'Depuis le mois dernier', 'last_week' => 'Depuis la semaine dernière', 'last_year' => 'Depuis l’année dernière', - 'mar' => 'mar.', + 'mar' => 'mars', 'march' => 'mars', - 'may' => 'mai.', + 'may' => 'mai', + 'may_' => 'mai', 'mon' => 'lun.', 'month' => 'mois', 'nov' => 'nov.', @@ -96,7 +106,7 @@ return array( 'confirm_action' => 'Êtes-vous sûr(e) de vouloir continuer ? Cette action ne peut être annulée !', 'confirm_action_feed_cat' => 'Êtes-vous sûr(e) de vouloir continuer ? Vous perdrez les favoris et les filtres associés. Cette action ne peut être annulée !', 'feedback' => array( - 'body_new_articles' => 'Il y a \\d nouveaux articles à lire sur FreshRSS.', + 'body_new_articles' => 'Il y a %%d nouveaux articles à lire sur FreshRSS.', 'request_failed' => 'Une requête a échoué, cela peut être dû à des problèmes de connexion à Internet.', 'title_new_articles' => 'FreshRSS : nouveaux articles !', ), @@ -104,10 +114,19 @@ return array( 'should_be_activated' => 'Le JavaScript doit être activé.', ), 'lang' => array( + 'cz' => 'Čeština', 'de' => 'Deutsch', 'en' => 'English', + 'es' => 'Español', 'fr' => 'Français', 'he' => 'עברית', + 'it' => 'Italiano', + 'kr' => '한국어', + 'nl' => 'Nederlands', + 'pt-br' => 'Português (Brasil)', + 'ru' => 'Русский', + 'tr' => 'Türkçe', + 'zh-cn' => '简体中文', ), 'menu' => array( 'about' => 'À propos', @@ -125,6 +144,7 @@ return array( 'sharing' => 'Partage', 'shortcuts' => 'Raccourcis', 'stats' => 'Statistiques', + 'system' => 'Configuration du système', 'update' => 'Mise à jour', 'user_management' => 'Gestion des utilisateurs', 'user_profile' => 'Profil', @@ -139,15 +159,21 @@ return array( 'previous' => 'Précédent', ), 'share' => array( + 'Known' => 'Sites basés sur Known', 'blogotext' => 'Blogotext', 'diaspora' => 'Diaspora*', 'email' => 'Courriel', 'facebook' => 'Facebook', 'g+' => 'Google+', + 'gnusocial' => 'GNU social', + 'jdh' => 'Journal du hacker', + 'mastodon' => 'Mastodon', + 'movim' => 'Movim', 'print' => 'Imprimer', 'shaarli' => 'Shaarli', 'twitter' => 'Twitter', - 'wallabag' => 'wallabag', + 'wallabag' => 'wallabag v1', + 'wallabagv2' => 'wallabag v2', ), 'short' => array( 'attention' => 'Attention !', @@ -157,6 +183,7 @@ return array( 'damn' => 'Arf !', 'default_category' => 'Sans catégorie', 'no' => 'Non', + 'not_applicable' => 'Non disponible', 'ok' => 'Ok !', 'or' => 'ou', 'yes' => 'Oui', diff --git a/app/i18n/fr/index.php b/app/i18n/fr/index.php index 7e028ab92..62eedc280 100644 --- a/app/i18n/fr/index.php +++ b/app/i18n/fr/index.php @@ -6,7 +6,7 @@ return array( 'agpl3' => '<a href="https://www.gnu.org/licenses/agpl-3.0.html">AGPL 3</a>', 'bugs_reports' => 'Rapports de bugs', 'credits' => 'Crédits', - 'credits_content' => 'Des éléments de design sont issus du <a href="http://twitter.github.io/bootstrap/">projet Bootstrap</a> bien que FreshRSS n’utilise pas ce framework. Les <a href="https://git.gnome.org/browse/gnome-icon-theme-symbolic">icônes</a> sont issues du <a href="https://www.gnome.org/">projet GNOME</a>. La police <em>Open Sans</em> utilisée a été créée par <a href="https://www.google.com/webfonts/specimen/Open+Sans">Steve Matteson</a>. Les favicons sont récupérés grâce au site <a href="https://getfavicon.appspot.com/">getFavicon</a>. FreshRSS repose sur <a href="https://github.com/marienfressinaud/MINZ">Minz</a>, un framework PHP.', + 'credits_content' => 'Des éléments de design sont issus du <a href="http://twitter.github.io/bootstrap/">projet Bootstrap</a> bien que FreshRSS n’utilise pas ce framework. Les <a href="https://git.gnome.org/browse/gnome-icon-theme-symbolic">icônes</a> sont issues du <a href="https://www.gnome.org/">projet GNOME</a>. La police <em>Open Sans</em> utilisée a été créée par <a href="https://fonts.google.com/specimen/Open+Sans">Steve Matteson</a>. FreshRSS repose sur <a href="https://github.com/marienfressinaud/MINZ">Minz</a>, un framework PHP.', 'freshrss_description' => 'FreshRSS est un agrégateur de flux RSS à auto-héberger à l’image de <a href="http://tontof.net/kriss/feed/">Kriss Feed</a> ou <a href="http://projet.idleman.fr/leed/">Leed</a>. Il se veut léger et facile à prendre en main tout en étant un outil puissant et paramétrable.', 'github' => '<a href="https://github.com/FreshRSS/FreshRSS/issues">sur Github</a>', 'license' => 'Licence', diff --git a/app/i18n/fr/install.php b/app/i18n/fr/install.php index 245a20c56..09625de78 100644 --- a/app/i18n/fr/install.php +++ b/app/i18n/fr/install.php @@ -4,16 +4,16 @@ return array( 'action' => array( 'finish' => 'Terminer l’installation', 'fix_errors_before' => 'Veuillez corriger les erreurs avant de passer à l’étape suivante.', + 'keep_install' => 'Garder l’ancienne configuration', 'next_step' => 'Passer à l’étape suivante', + 'reinstall' => 'Réinstaller FreshRSS', ), 'auth' => array( - 'email_persona' => 'Adresse courriel de connexion<br /><small>(pour <a href="https://persona.org/" rel="external">Mozilla Persona</a>)</small>', 'form' => 'Formulaire (traditionnel, requiert JavaScript)', 'http' => 'HTTP (pour utilisateurs avancés avec HTTPS)', 'none' => 'Aucune (dangereux)', 'password_form' => 'Mot de passe<br /><small>(pour connexion par formulaire)</small>', 'password_format' => '7 caractères minimum', - 'persona' => 'Mozilla Persona (moderne, requiert JavaScript)', 'type' => 'Méthode d’authentification', ), 'bdd' => array( @@ -24,23 +24,24 @@ return array( 'ok' => 'La configuration de la base de données a été enregistrée.', ), 'host' => 'Hôte', - 'password' => 'Mot de passe', + 'password' => 'Mot de passe pour base de données', 'prefix' => 'Préfixe des tables', 'type' => 'Type de base de données', - 'username' => 'Nom d’utilisateur', + 'username' => 'Nom d’utilisateur pour base de données', ), 'check' => array( '_' => 'Vérifications', + 'already_installed' => 'FreshRSS semble avoir déjà été installé !', 'cache' => array( 'nok' => 'Veuillez vérifier les droits sur le répertoire <em>./data/cache</em>. Le serveur HTTP doit être capable d’écrire dedans', 'ok' => 'Les droits sur le répertoire de cache sont bons.', ), 'ctype' => array( - 'nok' => 'Il manque une librairie pour la vérification des types de caractères (php-ctype).', - 'ok' => 'Vous disposez du nécessaire pour la vérification des types de caractères (ctype).', + 'nok' => 'Impossible de trouver une librairie pour la vérification des types de caractères (php-ctype).', + 'ok' => 'Vous disposez de la librairie pour la vérification des types de caractères (ctype).', ), 'curl' => array( - 'nok' => 'Vous ne disposez pas de cURL (paquet php5-curl).', + 'nok' => 'Vous ne disposez pas de cURL (paquet php-curl).', 'ok' => 'Vous disposez de cURL.', ), 'data' => array( @@ -48,32 +49,36 @@ return array( 'ok' => 'Les droits sur le répertoire de data sont bons.', ), 'dom' => array( - 'nok' => 'Il manque une librairie pour parcourir le DOM (paquet php-xml).', - 'ok' => 'Vous disposez du nécessaire pour parcourir le DOM.', + 'nok' => 'Impossible de trouver une librairie pour parcourir le DOM.', + 'ok' => 'Vous disposez de la librairie pour parcourir le DOM.', ), 'favicons' => array( 'nok' => 'Veuillez vérifier les droits sur le répertoire <em>./data/favicons</em>. Le serveur HTTP doit être capable d’écrire dedans', 'ok' => 'Les droits sur le répertoire des favicons sont bons.', ), + 'fileinfo' => array( + 'nok' => 'Vous ne disposez pas de PHP fileinfo (paquet fileinfo).', + 'ok' => 'Vous disposez de fileinfo.', + ), 'http_referer' => array( 'nok' => 'Veuillez vérifier que vous ne modifiez pas votre HTTP REFERER.', 'ok' => 'Le HTTP REFERER est connu et semble correspondre à votre serveur.', ), + 'json' => array( + 'nok' => 'Impossible de trouver une librairie recommandée pour JSON.', + 'ok' => 'Vouz disposez de la librairie recommandée pour JSON.', + ), 'minz' => array( 'nok' => 'Vous ne disposez pas de la librairie Minz.', 'ok' => 'Vous disposez du framework Minz', ), 'pcre' => array( - 'nok' => 'Il manque une librairie pour les expressions régulières (php-pcre).', - 'ok' => 'Vous disposez du nécessaire pour les expressions régulières (PCRE).', + 'nok' => 'Impossible de trouver une librairie pour les expressions régulières (php-pcre).', + 'ok' => 'Vous disposez de la librairie pour les expressions régulières (PCRE).', ), 'pdo' => array( - 'nok' => 'Vous ne disposez pas de PDO ou d’un des drivers supportés (pdo_mysql, pdo_sqlite).', - 'ok' => 'Vous disposez de PDO et d’au moins un des drivers supportés (pdo_mysql, pdo_sqlite).', - ), - 'persona' => array( - 'nok' => 'Veuillez vérifier les droits sur le répertoire <em>./data/persona</em>. Le serveur HTTP doit être capable d’écrire dedans', - 'ok' => 'Les droits sur le répertoire de Mozilla Persona sont bons.', + 'nok' => 'Vous ne disposez pas de PDO ou d’un des drivers supportés (pdo_mysql, pdo_sqlite, pdo_pgsql).', + 'ok' => 'Vous disposez de PDO et d’au moins un des drivers supportés (pdo_mysql, pdo_sqlite, pdo_pgsql).', ), 'php' => array( 'nok' => 'Votre version de PHP est la %s mais FreshRSS requiert au moins la version %s.', @@ -83,6 +88,10 @@ return array( 'nok' => 'Veuillez vérifier les droits sur le répertoire <em>./data/users</em>. Le serveur HTTP doit être capable d’écrire dedans', 'ok' => 'Les droits sur le répertoire des utilisateurs sont bons.', ), + 'xml' => array( + 'nok' => 'Impossible de trouver une librairie requise pour XML.', + 'ok' => 'Vouz disposez de la librairie requise pour XML.', + ), ), 'conf' => array( '_' => 'Configuration générale', @@ -93,6 +102,9 @@ return array( 'delete_articles_after' => 'Supprimer les articles après', 'fix_errors_before' => 'Veuillez corriger les erreurs avant de passer à l’étape suivante.', 'javascript_is_better' => 'FreshRSS est plus agréable à utiliser avec JavaScript activé', + 'js' => array( + 'confirm_reinstall' => 'Réinstaller FreshRSS vous fera perdre la configuration précédente. Êtes-vous sûr de vouloir continuer ?', + ), 'language' => array( '_' => 'Langue', 'choose' => 'Choisissez la langue pour FreshRSS', diff --git a/app/i18n/fr/sub.php b/app/i18n/fr/sub.php index a3f7c4d6d..607863c8f 100644 --- a/app/i18n/fr/sub.php +++ b/app/i18n/fr/sub.php @@ -1,6 +1,15 @@ <?php return array( + 'api' => array( + 'documentation' => 'Copier l’URL suivante dans l’outil qui utilisera l’API.', + 'title' => 'API', + ), + 'bookmarklet' => array( + 'documentation' => 'Glisser ce bouton dans la barre des favoris ou cliquer droit dessus et choisir "Enregistrer ce lien". Ensuite, cliquer sur le bouton "S’abonner" sur les pages auxquelles vous voulez vous abonner.', + 'label' => 'S’abonner', + 'title' => 'Bookmarklet', + ), 'category' => array( '_' => 'Catégorie', 'add' => 'Ajouter une catégorie', @@ -35,16 +44,21 @@ return array( 'title_add' => 'Ajouter un flux RSS', 'ttl' => 'Ne pas automatiquement rafraîchir plus souvent que', 'url' => 'URL du flux', - 'validator' => 'Vérifier la valididé du flux', + 'validator' => 'Vérifier la validité du flux', 'website' => 'URL du site', + 'pubsubhubbub' => 'Notification instantanée par PubSubHubbub', + ), + 'firefox' => array( + 'documentation' => 'Suivre les étapes décrites <a href="https://developer.mozilla.org/en-US/Firefox/Releases/2/Adding_feed_readers_to_Firefox#Adding_a_new_feed_reader_manually">ici</a> pour ajouter FreshRSS à la liste des lecteurs de flux dans Firefox.', + 'title' => 'Lecteur de flux dans Firefox', ), 'import_export' => array( 'export' => 'Exporter', 'export_opml' => 'Exporter la liste des flux (OPML)', 'export_starred' => 'Exporter les favoris', 'feed_list' => 'Liste des articles de %s', - 'file_to_import' => 'Fichier à importer<br />(OPML, Json ou Zip)', - 'file_to_import_no_zip' => 'Fichier à importer<br />(OPML ou Json)', + 'file_to_import' => 'Fichier à importer<br />(OPML, JSON ou ZIP)', + 'file_to_import_no_zip' => 'Fichier à importer<br />(OPML ou JSON)', 'import' => 'Importer', 'starred_list' => 'Liste des articles favoris', 'title' => 'Importer / exporter', @@ -53,9 +67,11 @@ return array( 'bookmark' => 'S’abonner (bookmark FreshRSS)', 'import_export' => 'Importer / exporter', 'subscription_management' => 'Gestion des abonnements', + 'subscription_tools' => 'Outils d’abonnement', ), 'title' => array( '_' => 'Gestion des abonnements', 'feed_management' => 'Gestion des flux RSS', + 'subscription_tools' => 'Outils d’abonnement', ), ); diff --git a/app/i18n/it/admin.php b/app/i18n/it/admin.php new file mode 100644 index 000000000..0248d9317 --- /dev/null +++ b/app/i18n/it/admin.php @@ -0,0 +1,188 @@ +<?php + +return array( + 'auth' => array( + 'allow_anonymous' => 'Consenti la lettura agli utenti anonimi degli articoli dell utente predefinito (%s)', + 'allow_anonymous_refresh' => 'Consenti agli utenti anonimi di aggiornare gli articoli', + 'api_enabled' => 'Consenti le <abbr>API</abbr> di accesso <small>(richiesto per le app mobili)</small>', + 'form' => 'Web form (tradizionale, richiede JavaScript)', + 'http' => 'HTTP (per gli utenti avanzati con HTTPS)', + 'none' => 'Nessuno (pericoloso)', + 'title' => 'Autenticazione', + 'title_reset' => 'Reset autenticazione', + 'token' => 'Token di autenticazione', + 'token_help' => 'Consenti accesso agli RSS dell utente predefinito senza autenticazione:', + 'type' => 'Metodo di autenticazione', + 'unsafe_autologin' => 'Consenti accesso automatico non sicuro usando il formato: ', + ), + 'check_install' => array( + 'cache' => array( + 'nok' => 'Verifica i permessi sulla cartella <em>./data/cache</em>. Il server HTTP deve avere i permessi per scriverci dentro', + 'ok' => 'I permessi sulla cartella della cache sono corretti.', + ), + 'categories' => array( + 'nok' => 'La tabella delle categorie ha una configurazione errata.', + 'ok' => 'Tabella delle categorie OK.', + ), + 'connection' => array( + 'nok' => 'La connessione al database non può essere stabilita.', + 'ok' => 'Connessione al database OK', + ), + 'ctype' => array( + 'nok' => 'Manca una libreria richiesta per il controllo dei caratteri (php-ctype).', + 'ok' => 'Libreria richiesta per il controllo dei caratteri presente (ctype).', + ), + 'curl' => array( + 'nok' => 'Manca il supporto per cURL (pacchetto php-curl).', + 'ok' => 'Estensione cURL presente.', + ), + 'data' => array( + 'nok' => 'Verifica i permessi sulla cartella <em>./data</em>. Il server HTTP deve avere i permessi per scriverci dentro', + 'ok' => 'I permessi sulla cartella data sono corretti.', + ), + 'database' => 'Installazione database', + 'dom' => array( + 'nok' => 'Manca una libreria richiesta per leggere DOM (pacchetto php-xml).', + 'ok' => 'Libreria richiesta per leggere DOM presente.', + ), + 'entries' => array( + 'nok' => 'La tabella Entry ha una configurazione errata.', + 'ok' => 'Tabella Entry OK.', + ), + 'favicons' => array( + 'nok' => 'Verifica i permessi sulla cartella <em>./data/favicons</em>. Il server HTTP deve avere i permessi per scriverci dentro', + 'ok' => 'I permessi sulla cartella favicons sono corretti.', + ), + 'feeds' => array( + 'nok' => 'La tabella Feed ha una configurazione errata.', + 'ok' => 'Tabella Feed OK.', + ), + 'fileinfo' => array( + 'nok' => 'Manca il supporto per PHP fileinfo (pacchetto fileinfo).', + 'ok' => 'Estensione fileinfo presente.', + ), + 'files' => 'Installazione files', + 'json' => array( + 'nok' => 'Manca il supoorto a JSON (pacchetto php5-json).', + 'ok' => 'Estensione JSON presente.', + ), + 'minz' => array( + 'nok' => 'Manca il framework Minz.', + 'ok' => 'Framework Minz presente.', + ), + 'pcre' => array( + 'nok' => 'Manca una libreria richiesta per le regular expressions (php-pcre).', + 'ok' => 'Libreria richiesta per le regular expressions presente (PCRE).', + ), + 'pdo' => array( + 'nok' => 'Manca PDO o uno degli altri driver supportati (pdo_mysql, pdo_sqlite, pdo_pgsql).', + 'ok' => 'PDO e altri driver supportati (pdo_mysql, pdo_sqlite, pdo_pgsql).', + ), + 'php' => array( + '_' => 'Installazione PHP', + 'nok' => 'Versione PHP %s FreshRSS richiede almeno la versione %s.', + 'ok' => 'Versione PHP %s, compatibile con FreshRSS.', + ), + 'tables' => array( + 'nok' => 'Rilevate tabelle mancanti nel database.', + 'ok' => 'Tutte le tabelle sono presenti nel database.', + ), + 'title' => 'Verifica installazione', + 'tokens' => array( + 'nok' => 'Verifica i permessi sulla cartella <em>./data/tokens</em>. Il server HTTP deve avere i permessi per scriverci dentro', + 'ok' => 'I permessi sulla cartella tokens sono corretti.', + ), + 'users' => array( + 'nok' => 'Verifica i permessi sulla cartella <em>./data/users</em>. Il server HTTP deve avere i permessi per scriverci dentro', + 'ok' => 'I permessi sulla cartella users sono corretti.', + ), + 'zip' => array( + 'nok' => 'Manca estensione ZIP (pacchetto php-zip).', + 'ok' => 'Estensione ZIP presente.', + ), + ), + 'extensions' => array( + 'disabled' => 'Disabilitata', + 'empty_list' => 'Non ci sono estensioni installate', + 'enabled' => 'Abilitata', + 'no_configure_view' => 'Questa estensioni non può essere configurata.', + 'system' => array( + '_' => 'Estensioni di sistema', + 'no_rights' => 'Estensione di sistema (non hai i permessi su questo tipo)', + ), + 'title' => 'Estensioni', + 'user' => 'Estensioni utente', + 'community' => 'Available community extensions', // @todo translate + 'name' => 'Name', // @todo translate + 'version' => 'Version', // @todo translate + 'description' => 'Description', // @todo translate + 'author' => 'Author', // @todo translate + 'latest' => 'Installed', // @todo translate + 'update' => 'Update available', // @todo translate + ), + 'stats' => array( + '_' => 'Statistiche', + 'all_feeds' => 'Tutti i feeds', + 'category' => 'Categoria', + 'entry_count' => 'Articoli', + 'entry_per_category' => 'Articoli per categoria', + 'entry_per_day' => 'Articoli per giorno (ultimi 30 giorni)', + 'entry_per_day_of_week' => 'Per giorno della settimana (media: %.2f articoli)', + 'entry_per_hour' => 'Per ora (media: %.2f articoli)', + 'entry_per_month' => 'Per mese (media: %.2f articoli)', + 'entry_repartition' => 'Ripartizione contenuti', + 'feed' => 'Feed', + 'feed_per_category' => 'Feeds per categoria', + 'idle' => 'Feeds non aggiornati', + 'main' => 'Statistiche principali', + 'main_stream' => 'Flusso principale', + 'menu' => array( + 'idle' => 'Feeds non aggiornati', + 'main' => 'Statistiche principali', + 'repartition' => 'Ripartizione articoli', + ), + 'no_idle' => 'Non ci sono feed non aggiornati', + 'number_entries' => '%d articoli', + 'percent_of_total' => '%% del totale', + 'repartition' => 'Ripartizione articoli', + 'status_favorites' => 'Preferiti', + 'status_read' => 'Letti', + 'status_total' => 'Totale', + 'status_unread' => 'Non letti', + 'title' => 'Statistiche', + 'top_feed' => 'I migliori 10 feeds', + ), + 'system' => array( + '_' => 'Configurazione di sistema', + 'auto-update-url' => 'Auto-update server URL', // @todo translate + 'instance-name' => 'Nome istanza', + 'max-categories' => 'Limite categorie per utente', + 'max-feeds' => 'Limite feeds per utente', + 'registration' => array( + 'help' => '0 significa che non esiste limite sui profili', + 'number' => 'Numero massimo di profili', + ), + ), + 'update' => array( + '_' => 'Aggiornamento sistema', + 'apply' => 'Applica', + 'check' => 'Controlla la presenza di nuovi aggiornamenti', + 'current_version' => 'FreshRSS versione %s.', + 'last' => 'Ultima verifica: %s', + 'none' => 'Nessun aggiornamento da applicare', + 'title' => 'Aggiorna sistema', + ), + 'user' => array( + 'articles_and_size' => '%s articoli (%s)', + 'create' => 'Crea nuovo utente', + 'language' => 'Lingua', + 'number' => ' %d profilo utente creato', + 'numbers' => 'Sono presenti %d profili utente', + 'password_form' => 'Password<br /><small>(per il login classico)</small>', + 'password_format' => 'Almeno 7 caratteri', + 'title' => 'Gestione utenti', + 'user_list' => 'Lista utenti', + 'username' => 'Nome utente', + 'users' => 'Utenti', + ), +); diff --git a/app/i18n/it/conf.php b/app/i18n/it/conf.php new file mode 100644 index 000000000..15837ae8a --- /dev/null +++ b/app/i18n/it/conf.php @@ -0,0 +1,174 @@ +<?php + +return array( + 'archiving' => array( + '_' => 'Archiviazione', + 'advanced' => 'Avanzate', + 'delete_after' => 'Rimuovi articoli dopo', + 'help' => 'Altre opzioni sono disponibili nelle impostazioni dei singoli feed', + 'keep_history_by_feed' => 'Numero minimo di articoli da mantenere per feed', + 'optimize' => 'Ottimizza database', + 'optimize_help' => 'Da fare occasionalmente per ridurre le dimensioni del database', + 'purge_now' => 'Cancella ora', + 'title' => 'Archiviazione', + 'ttl' => 'Non effettuare aggiornamenti per più di', + ), + 'display' => array( + '_' => 'Visualizzazione', + 'icon' => array( + 'bottom_line' => 'Barra in fondo', + 'entry' => 'Icone degli articoli', + 'publication_date' => 'Data di pubblicazione', + 'related_tags' => 'Tags correlati', + 'sharing' => 'Condivisione', + 'top_line' => 'Barra in alto', + ), + 'language' => 'Lingua', + 'notif_html5' => array( + 'seconds' => 'secondi (0 significa nessun timeout)', + 'timeout' => 'Notifica timeout HTML5', + ), + 'theme' => 'Tema', + 'title' => 'Visualizzazione', + 'width' => array( + 'content' => 'Larghezza contenuto', + 'large' => 'Largo', + 'medium' => 'Medio', + 'no_limit' => 'Nessun limite', + 'thin' => 'Stretto', + ), + ), + 'query' => array( + '_' => 'Ricerche personali', + 'deprecated' => 'Questa query non è più valida. La categoria o il feed di riferimento non stati cancellati.', + 'filter' => 'Filtro applicato:', + 'get_all' => 'Mostra tutti gli articoli', + 'get_category' => 'Mostra la categoria "%s" ', + 'get_favorite' => 'Mostra articoli preferiti', + 'get_feed' => 'Mostra feed "%s" ', + 'no_filter' => 'Nessun filtro', + 'none' => 'Non hai creato nessuna ricerca personale.', + 'number' => 'Ricerca n°%d', + 'order_asc' => 'Mostra prima gli articoli più vecchi', + 'order_desc' => 'Mostra prima gli articoli più nuovi', + 'search' => 'Cerca per "%s"', + 'state_0' => 'Mostra tutti gli articoli', + 'state_1' => 'Mostra gli articoli letti', + 'state_2' => 'Mostra gli articoli non letti', + 'state_3' => 'Mostra tutti gli articoli', + 'state_4' => 'Mostra gli articoli preferiti', + 'state_5' => 'Mostra gli articoli preferiti letti', + 'state_6' => 'Mostra gli articoli preferiti non letti', + 'state_7' => 'Mostra gli articoli preferiti', + 'state_8' => 'Non mostrare gli articoli preferiti', + 'state_9' => 'Mostra gli articoli letti non preferiti', + 'state_10' => 'Mostra gli articoli non letti e non preferiti', + 'state_11' => 'Non mostrare gli articoli preferiti', + 'state_12' => 'Mostra tutti gli articoli', + 'state_13' => 'Mostra gli articoli letti', + 'state_14' => 'Mostra gli articoli non letti', + 'state_15' => 'Mostra tutti gli articoli', + 'title' => 'Ricerche personali', + ), + 'profile' => array( + '_' => 'Gestione profili', + 'delete' => array( + '_' => 'Cancellazione account', + 'warn' => 'Il tuo account e tutti i dati associati saranno cancellati.', + ), + 'password_api' => 'Password API<br /><small>(e.g., per applicazioni mobili)</small>', + 'password_form' => 'Password<br /><small>(per il login classico)</small>', + 'password_format' => 'Almeno 7 caratteri', + 'title' => 'Profilo', + ), + 'reading' => array( + '_' => 'Lettura', + 'after_onread' => 'Dopo “segna tutto come letto”,', + 'articles_per_page' => 'Numero di articoli per pagina', + 'auto_load_more' => 'Carica articoli successivi a fondo pagina', + 'auto_remove_article' => 'Nascondi articoli dopo la lettura', + 'mark_updated_article_unread' => 'Segna articoli aggiornati come non letti', + 'confirm_enabled' => 'Mostra una conferma per “segna tutto come letto”', + 'display_articles_unfolded' => 'Mostra articoli aperti di predefinito', + 'display_categories_unfolded' => 'Mostra categorie aperte di predefinito', + 'hide_read_feeds' => 'Nascondi categorie e feeds con articoli già letti (non funziona se “Mostra tutti gli articoli” è selezionato)', + 'img_with_lazyload' => 'Usa la modalità "caricamento ritardato" per le immagini', + 'sides_close_article' => 'Clicking outside of article text area closes the article', //TODO + 'jump_next' => 'Salta al successivo feed o categoria non letto', + 'number_divided_when_reader' => 'Diviso 2 nella modalità di lettura.', + 'read' => array( + 'article_open_on_website' => 'Quando un articolo è aperto nel suo sito di origine', + 'article_viewed' => 'Quando un articolo viene letto', + 'scroll' => 'Scorrendo la pagina', + 'upon_reception' => 'Alla ricezione del contenuto', + 'when' => 'Segna articoli come letti…', + ), + 'show' => array( + '_' => 'Articoli da visualizzare', + 'adaptive' => 'Adatta visualizzazione', + 'all_articles' => 'Mostra tutti gli articoli', + 'unread' => 'Mostra solo non letti', + ), + 'sort' => array( + '_' => 'Ordinamento', + 'newer_first' => 'Prima i più recenti', + 'older_first' => 'Prima i più vecchi', + ), + 'sticky_post' => 'Blocca il contenuto a inizio pagina quando aperto', + 'title' => 'Lettura', + 'view' => array( + 'default' => 'Visualizzazione predefinita', + 'global' => 'Vista globale per categorie', + 'normal' => 'Vista elenco', + 'reader' => 'Modalità di lettura', + ), + ), + 'sharing' => array( + '_' => 'Condivisione', + 'blogotext' => 'Blogotext', + 'diaspora' => 'Diaspora*', + 'email' => 'Email', + 'facebook' => 'Facebook', + 'g+' => 'Google+', + 'more_information' => 'Ulteriori informazioni', + 'print' => 'Stampa', + 'shaarli' => 'Shaarli', + 'share_name' => 'Nome condivisione', + 'share_url' => 'URL condivisione', + 'title' => 'Condividi', + 'twitter' => 'Twitter', + 'wallabag' => 'wallabag', + ), + 'shortcut' => array( + '_' => 'Comandi tastiera', + 'article_action' => 'Azioni sugli articoli', + 'auto_share' => 'Condividi', + 'auto_share_help' => 'Se è presente un solo servizio di condivisione verrà usato quello, altrimenti usare anche il numero associato.', + 'close_dropdown' => 'Chiudi menù', + 'collapse_article' => 'Collassa articoli', + 'first_article' => 'Salta al primo articolo', + 'focus_search' => 'Modulo di ricerca', + 'help' => 'Mostra documentazione', + 'javascript' => 'JavaScript deve essere abilitato per poter usare i comandi da tastiera', + 'last_article' => 'Salta all ultimo articolo', + 'load_more' => 'Carica altri articoli', + 'mark_read' => 'Segna come letto', + 'mark_favorite' => 'Segna come preferito', + 'navigation' => 'Navigazione', + 'navigation_help' => 'Con il tasto "Shift" i comandi di navigazione verranno applicati ai feeds.<br/>Con il tasto "Alt" i comandi di navigazione verranno applicati alle categorie.', + 'next_article' => 'Salta al contenuto successivo', + 'other_action' => 'Altre azioni', + 'previous_article' => 'Salta al contenuto precedente', + 'see_on_website' => 'Vai al sito fonte', + 'shift_for_all_read' => '+ <code>shift</code> per segnare tutti gli articoli come letti', + 'title' => 'Comandi da tastiera', + 'user_filter' => 'Accedi alle ricerche personali', + 'user_filter_help' => 'Se è presente una sola ricerca personale verrà usata quella, altrimenti usare anche il numero associato.', + ), + 'user' => array( + 'articles_and_size' => '%s articoli (%s)', + 'current' => 'Utente connesso', + 'is_admin' => 'è amministratore', + 'users' => 'Utenti', + ), +); diff --git a/app/i18n/it/feedback.php b/app/i18n/it/feedback.php new file mode 100644 index 000000000..8f3cf3ed6 --- /dev/null +++ b/app/i18n/it/feedback.php @@ -0,0 +1,109 @@ +<?php + +return array( + 'admin' => array( + 'optimization_complete' => 'Ottimizzazione completata', + ), + 'access' => array( + 'denied' => 'Non hai i permessi per accedere a questa pagina', + 'not_found' => 'Pagina non disponibile', + ), + 'auth' => array( + 'form' => array( + 'not_set' => 'Si è verificato un problema alla configurazione del sistema di autenticazione. Per favore riprova più tardi.', + 'set' => 'Sistema di autenticazione tramite Form impostato come predefinito.', + ), + 'login' => array( + 'invalid' => 'Autenticazione non valida', + 'success' => 'Autenticazione effettuata', + ), + 'logout' => array( + 'success' => 'Disconnessione effettuata', + ), + 'no_password_set' => 'Password di amministrazione non impostata. Opzione non disponibile.', + ), + 'conf' => array( + 'error' => 'Si è verificato un errore durante il salvataggio della configurazione', + 'query_created' => 'Ricerca "%s" creata.', + 'shortcuts_updated' => 'Collegamenti tastiera aggiornati', + 'updated' => 'Configurazione aggiornata', + ), + 'extensions' => array( + 'already_enabled' => '%s è già abilitata', + 'disable' => array( + 'ko' => '%s non può essere disabilitata. <a href="%s">Verifica i logs</a> per dettagli.', + 'ok' => '%s è disabilitata', + ), + 'enable' => array( + 'ko' => '%s non può essere abilitata. <a href="%s">Verifica i logs</a> per dettagli.', + 'ok' => '%s è ora abilitata', + ), + 'no_access' => 'Accesso negato a %s', + 'not_enabled' => '%s non abilitato', + 'not_found' => '%s non disponibile', + ), + 'import_export' => array( + 'export_no_zip_extension' => 'Estensione ZIP non presente sul server. Per favore esporta i files singolarmente.', + 'feeds_imported' => 'I tuoi feed sono stati importati e saranno aggiornati', + 'feeds_imported_with_errors' => 'I tuoi feeds sono stati importati ma si sono verificati alcuni errori', + 'file_cannot_be_uploaded' => 'Il file non può essere caricato!', + 'no_zip_extension' => 'Estensione ZIP non presente sul server.', + 'zip_error' => 'Si è verificato un errore importando il file ZIP', + ), + 'sub' => array( + 'actualize' => 'Aggiorna', + 'category' => array( + 'created' => 'Categoria %s creata.', + 'deleted' => 'Categoria cancellata', + 'emptied' => 'Categoria svuotata', + 'error' => 'Categoria non aggiornata', + 'name_exists' => 'Categoria già esistente.', + 'no_id' => 'Categoria senza ID.', + 'no_name' => 'Il nome della categoria non può essere lasciato vuoto.', + 'not_delete_default' => 'Non puoi cancellare la categoria predefinita!', + 'not_exist' => 'La categoria non esite!', + 'over_max' => 'Hai raggiunto il numero limite di categorie (%d)', + 'updated' => 'Categoria aggiornata.', + ), + 'feed' => array( + 'actualized' => '<em>%s</em> aggiornato', + 'actualizeds' => 'RSS feeds aggiornati', + 'added' => 'RSS feed <em>%s</em> aggiunti', + 'already_subscribed' => 'Hai già sottoscritto <em>%s</em>', + 'deleted' => 'Feed cancellato', + 'error' => 'Feed non aggiornato', + 'internal_problem' => 'RSS feed non aggiunto. <a href="%s">Verifica i logs</a> per dettagli.', + 'invalid_url' => 'URL <em>%s</em> non valido', + 'marked_read' => 'Feeds segnati come letti', + 'n_actualized' => '%d feeds aggiornati', + 'n_entries_deleted' => '%d articoli cancellati', + 'no_refresh' => 'Nessun aggiornamento disponibile…', + 'not_added' => '<em>%s</em> non può essere aggiunto', + 'over_max' => 'Hai raggiunto il numero limite di feed (%d)', + 'updated' => 'Feed aggiornato', + ), + 'purge_completed' => 'Svecchiamento completato (%d articoli cancellati)', + ), + 'update' => array( + 'can_apply' => 'FreshRSS verrà aggiornato alla <strong>versione %s</strong>.', + 'error' => 'Il processo di aggiornamento ha riscontrato il seguente errore: %s', + 'file_is_nok' => 'Nuova <strong>versione %s</strong>, ma verifica i permessi della cartella <em>%s</em>. Il server HTTP deve avere i permessi per la scrittura ', + 'finished' => 'Aggiornamento completato con successo!', + 'none' => 'Nessun aggiornamento disponibile', + 'server_not_found' => 'Server per aggiornamento non disponibile. [%s]', + ), + 'user' => array( + 'created' => array( + '_' => 'Utente %s creato', + 'error' => 'Errore nella creazione utente %s ', + ), + 'deleted' => array( + '_' => 'Utente %s cancellato', + 'error' => 'Utente %s non cancellato', + ), + ), + 'profile' => array( + 'error' => 'Il tuo profilo non può essere modificato', + 'updated' => 'Il tuo profilo è stato modificato', + ), +); diff --git a/app/i18n/it/gen.php b/app/i18n/it/gen.php new file mode 100644 index 000000000..9eaabc2be --- /dev/null +++ b/app/i18n/it/gen.php @@ -0,0 +1,190 @@ +<?php + +return array( + 'action' => array( + 'actualize' => 'Aggiorna', + 'back_to_rss_feeds' => '← Indietro', + 'cancel' => 'Annulla', + 'create' => 'Crea', + 'disable' => 'Disabilita', + 'empty' => 'Vuoto', + 'enable' => 'Abilita', + 'export' => 'Esporta', + 'filter' => 'Filtra', + 'import' => 'Importa', + 'manage' => 'Gestisci', + 'mark_favorite' => 'Segna come preferito', + 'mark_read' => 'Segna come letto', + 'remove' => 'Rimuovi', + 'see_website' => 'Vai al sito', + 'submit' => 'Conferma', + 'truncate' => 'Cancella tutti gli articoli', + ), + 'auth' => array( + 'email' => 'Indirizzo email', + 'keep_logged_in' => 'Ricorda i dati <small>(%s giorni)</small>', + 'login' => 'Accedi', + 'logout' => 'Esci', + 'password' => array( + '_' => 'Password', + 'format' => '<small>almeno 7 caratteri</small>', + ), + 'registration' => array( + '_' => 'Nuovo profilo', + 'ask' => 'Vuoi creare un nuovo profilo?', + 'title' => 'Creazione profilo', + ), + 'reset' => 'Reset autenticazione', + 'username' => array( + '_' => 'Username', + 'admin' => 'Username amministratore', + 'format' => '<small>massimo 16 caratteri alfanumerici</small>', + ), + ), + 'date' => array( + 'Apr' => '\\A\\p\\r\\i\\l\\e', + 'Aug' => '\\A\\g\\o\\s\\t\\o', + 'Dec' => '\\D\\i\\c\\e\\m\\b\\r\\e', + 'Feb' => '\\F\\e\\b\\b\\r\\a\\i\\o', + 'Jan' => '\\G\\e\\n\\u\\a\\i\\o', + 'Jul' => '\\L\\u\\g\\l\\i\\o', + 'Jun' => '\\G\\i\\u\\g\\n\\o', + 'Mar' => '\\M\\a\\r\\z\\o', + 'May' => '\\M\\a\\g\\g\\i\\o', + 'Nov' => '\\N\\o\\v\\e\\m\\b\\r\\e', + 'Oct' => '\\O\\t\\t\\o\\b\\r\\e', + 'Sep' => '\\S\\e\\t\\t\\e\\m\\b\\r\\e', + 'apr' => 'apr.', + 'april' => 'aprile', + 'aug' => 'ag.', + 'august' => 'agosto', + 'before_yesterday' => 'Meno recenti', + 'dec' => 'dic.', + 'december' => 'dicembre', + 'feb' => 'febbr.', + 'february' => 'febbraio', + 'format_date' => 'j\\ %s Y', + 'format_date_hour' => 'j\\ %s Y \\o\\r\\e H\\:i', + 'fri' => 'Fri', + 'jan' => 'genn.', + 'january' => 'gennaio', + 'jul' => 'jul', + 'july' => 'luglio', + 'jun' => 'jun', + 'june' => 'giugno', + 'last_3_month' => 'Ultimi 3 mesi', + 'last_6_month' => 'Ultimi 6 mesi', + 'last_month' => 'Ultimo mese', + 'last_week' => 'Ultima settimana', + 'last_year' => 'Ultimo anno', + 'mar' => 'mar.', + 'march' => 'marzo', + 'may' => 'maggio', + 'may_' => 'May', + 'mon' => 'Mon', + 'month' => 'mesi', + 'nov' => 'nov.', + 'november' => 'novembre', + 'oct' => 'ott.', + 'october' => 'ottobre', + 'sat' => 'Sat', + 'sep' => 'sett.', + 'september' => 'settembre', + 'sun' => 'Sun', + 'thu' => 'Thu', + 'today' => 'Oggi', + 'tue' => 'Tue', + 'wed' => 'Wed', + 'yesterday' => 'Ieri', + ), + 'freshrss' => array( + '_' => 'Feed RSS Reader', + 'about' => 'Informazioni', + ), + 'js' => array( + 'category_empty' => 'Categoria vuota', + 'confirm_action' => 'Sei sicuro di voler continuare?', + 'confirm_action_feed_cat' => 'Sei sicuro di voler continuare? Verranno persi i preferiti e le ricerche utente correlate!', + 'feedback' => array( + 'body_new_articles' => 'Ci sono %%d nuovi articoli da leggere.', + 'request_failed' => 'Richiesta fallita, probabilmente a causa di problemi di connessione', + 'title_new_articles' => 'Feed RSS Reader: nuovi articoli!', + ), + 'new_article' => 'Sono disponibili nuovi articoli, clicca qui per caricarli.', + 'should_be_activated' => 'JavaScript deve essere abilitato', + ), + 'lang' => array( + 'cz' => 'Čeština', + 'de' => 'Deutsch', + 'en' => 'English', + 'es' => 'Español', + 'fr' => 'Français', + 'it' => 'Italiano', + 'kr' => '한국어', + 'nl' => 'Nederlands', + 'pt-br' => 'Português (Brasil)', + 'ru' => 'Русский', + 'tr' => 'Türkçe', + 'zh-cn' => '简体中文', + ), + 'menu' => array( + 'about' => 'Informazioni', + 'admin' => 'Amministrazione', + 'archiving' => 'Archiviazione', + 'authentication' => 'Autenticazione', + 'check_install' => 'Installazione', + 'configuration' => 'Configurazione', + 'display' => 'Visualizzazione', + 'extensions' => 'Estensioni', + 'logs' => 'Logs', + 'queries' => 'Ricerche personali', + 'reading' => 'Lettura', + 'search' => 'Ricerca parole o #tags', + 'sharing' => 'Condivisione', + 'shortcuts' => 'Comandi tastiera', + 'stats' => 'Statistiche', + 'system' => 'Configurazione sistema', + 'update' => 'Aggiornamento', + 'user_management' => 'Gestione utenti', + 'user_profile' => 'Profilo', + ), + 'pagination' => array( + 'first' => 'Prima', + 'last' => 'Ultima', + 'load_more' => 'Carica altri articoli', + 'mark_all_read' => 'Segna tutto come letto', + 'next' => 'Successiva', + 'nothing_to_load' => 'Non ci sono altri articoli', + 'previous' => 'Precedente', + ), + 'share' => array( + 'Known' => 'Siti basati su Known', + 'blogotext' => 'Blogotext', + 'diaspora' => 'Diaspora*', + 'email' => 'Email', + 'facebook' => 'Facebook', + 'g+' => 'Google+', + 'gnusocial' => 'GNU social', + 'jdh' => 'Journal du hacker', + 'mastodon' => 'Mastodon', + 'movim' => 'Movim', + 'print' => 'Stampa', + 'shaarli' => 'Shaarli', + 'twitter' => 'Twitter', + 'wallabag' => 'wallabag v1', + 'wallabagv2' => 'wallabag v2', + ), + 'short' => array( + 'attention' => 'Attenzione!', + 'blank_to_disable' => 'Lascia vuoto per disabilitare', + 'by_author' => 'di <em>%s</em>', + 'by_default' => 'predefinito', + 'damn' => 'Ops!', + 'default_category' => 'Senza categoria', + 'no' => 'No', + 'not_applicable' => 'Non disponibile', + 'ok' => 'OK!', + 'or' => 'o', + 'yes' => 'Si', + ), +); diff --git a/app/i18n/it/index.php b/app/i18n/it/index.php new file mode 100644 index 000000000..d79502c79 --- /dev/null +++ b/app/i18n/it/index.php @@ -0,0 +1,61 @@ +<?php + +return array( + 'about' => array( + '_' => 'Informazioni', + 'agpl3' => '<a href="https://www.gnu.org/licenses/agpl-3.0.html">AGPL 3</a>', + 'bugs_reports' => 'Bugs', + 'credits' => 'Crediti', + 'credits_content' => 'Alcuni elementi di design provengono da <a href="http://twitter.github.io/bootstrap/">Bootstrap</a> sebbene FreshRSS non usi questo framework. Le <a href="https://git.gnome.org/browse/gnome-icon-theme-symbolic">icone</a> provengono dal progetto <a href="https://www.gnome.org/">GNOME</a>. Il carattere <em>Open Sans</em> è stato creato da <a href="https://fonts.google.com/specimen/Open+Sans">Steve Matteson</a>. FreshRSS è basato su <a href="https://github.com/marienfressinaud/MINZ">Minz</a>, un framework PHP.', + 'freshrss_description' => 'FreshRSS è un aggregatore di feeds RSS da installare sul proprio host come <a href="http://tontof.net/kriss/feed/">Kriss Feed</a> o <a href="http://projet.idleman.fr/leed/">Leed</a>. Leggero e facile da mantenere pur essendo molto configurabile e potente.', + 'github' => '<a href="https://github.com/FreshRSS/FreshRSS/issues">su Github</a>', + 'license' => 'Licenza', + 'project_website' => 'Sito del progetto', + 'title' => 'Informazioni', + 'version' => 'Versione', + 'website' => 'Sito', + ), + 'feed' => array( + 'add' => 'Aggiungi un Feed RSS', + 'empty' => 'Non ci sono articoli da mostrare.', + 'rss_of' => 'RSS feed di %s', + 'title' => 'RSS feeds', + 'title_global' => 'Vista globale per categorie', + 'title_fav' => 'Preferiti', + ), + 'log' => array( + '_' => 'Logs', + 'clear' => 'Svuota logs', + 'empty' => 'File di log vuoto', + 'title' => 'Logs', + ), + 'menu' => array( + 'about' => 'Informazioni', + 'add_query' => 'Aggiungi ricerca', + 'before_one_day' => 'Giorno precedente', + 'before_one_week' => 'Settimana precedente', + 'favorites' => 'Preferiti (%s)', + 'global_view' => 'Vista globale per categorie', + 'main_stream' => 'Flusso principale', + 'mark_all_read' => 'Segna tutto come letto', + 'mark_cat_read' => 'Segna la categoria come letta', + 'mark_feed_read' => 'Segna il feed come letto', + 'newer_first' => 'Mostra prima i recenti', + 'non-starred' => 'Escludi preferiti', + 'normal_view' => 'Vista elenco', + 'older_first' => 'Ordina per meno recenti', + 'queries' => 'Chiavi di ricerca', + 'read' => 'Mostra solo letti', + 'reader_view' => 'Modalità di lettura', + 'rss_view' => 'RSS feed', + 'search_short' => 'Cerca', + 'starred' => 'Mostra solo preferiti', + 'stats' => 'Statistiche', + 'subscription' => 'Gestione sottoscrizioni', + 'unread' => 'Mostra solo non letti', + ), + 'share' => 'Condividi', + 'tag' => array( + 'related' => 'Tags correlati', + ), +); diff --git a/app/i18n/it/install.php b/app/i18n/it/install.php new file mode 100644 index 000000000..18f8cc337 --- /dev/null +++ b/app/i18n/it/install.php @@ -0,0 +1,120 @@ +<?php + +return array( + 'action' => array( + 'finish' => 'Installazione completata', + 'fix_errors_before' => 'Per favore correggi gli errori prima di passare al passaggio successivo.', + 'keep_install' => 'Mantieni configurazione precedente', + 'next_step' => 'Vai al prossimo passaggio', + 'reinstall' => 'Reinstalla FreshRSS', + ), + 'auth' => array( + 'form' => 'Web form (tradizionale, richiede JavaScript)', + 'http' => 'HTTP (per gli utenti avanzati con HTTPS)', + 'none' => 'Nessuno (pericoloso)', + 'password_form' => 'Password<br /><small>(per il login tramite Web-form tradizionale)</small>', + 'password_format' => 'Almeno 7 caratteri', + 'type' => 'Metodo di autenticazione', + ), + 'bdd' => array( + '_' => 'Database', + 'conf' => array( + '_' => 'Configurazione database', + 'ko' => 'Verifica le informazioni del database.', + 'ok' => 'Le configurazioni del database sono state salvate.', + ), + 'host' => 'Host', + 'prefix' => 'Prefisso tabella', + 'password' => 'Password del database', + 'type' => 'Tipo di database', + 'username' => 'Nome utente del database', + ), + 'check' => array( + '_' => 'Controlli', + 'already_installed' => 'FreshRSS risulta già installato!', + 'cache' => array( + 'nok' => 'Verifica i permessi sulla cartella <em>./data/cache</em>. Il server HTTP deve avere i permessi per scriverci dentro', + 'ok' => 'I permessi sulla cartella della cache sono corretti.', + ), + 'ctype' => array( + 'nok' => 'Manca una libreria richiesta per il controllo dei caratteri (php-ctype).', + 'ok' => 'Libreria richiesta per il controllo dei caratteri presente (ctype).', + ), + 'curl' => array( + 'nok' => 'Manca il supporto per cURL (pacchetto php-curl).', + 'ok' => 'Estensione cURL presente.', + ), + 'data' => array( + 'nok' => 'Verifica i permessi sulla cartella <em>./data</em>. Il server HTTP deve avere i permessi per scriverci dentro', + 'ok' => 'I permessi sulla cartella data sono corretti.', + ), + 'dom' => array( + 'nok' => 'Manca una libreria richiesta per leggere DOM.', + 'ok' => 'Libreria richiesta per leggere DOM presente.', + ), + 'favicons' => array( + 'nok' => 'Verifica i permessi sulla cartella <em>./data/favicons</em>. Il server HTTP deve avere i permessi per scriverci dentro', + 'ok' => 'I permessi sulla cartella favicons sono corretti.', + ), + 'fileinfo' => array( + 'nok' => 'Manca il supporto per PHP fileinfo (pacchetto fileinfo).', + 'ok' => 'Estensione fileinfo presente.', + ), + 'http_referer' => array( + 'nok' => 'Per favore verifica che non stai alterando il tuo HTTP REFERER.', + 'ok' => 'Il tuo HTTP REFERER riconosciuto corrisponde al tuo server.', + ), + 'json' => array( + 'nok' => 'You lack a recommended library to parse JSON.', + 'ok' => 'You have a recommended library to parse JSON.', + ), + 'minz' => array( + 'nok' => 'Manca il framework Minz.', + 'ok' => 'Framework Minz presente.', + ), + 'pcre' => array( + 'nok' => 'Manca una libreria richiesta per le regular expressions (php-pcre).', + 'ok' => 'Libreria richiesta per le regular expressions presente (PCRE).', + ), + 'pdo' => array( + 'nok' => 'Manca PDO o uno degli altri driver supportati (pdo_mysql, pdo_sqlite, pdo_pgsql).', + 'ok' => 'PDO e altri driver supportati (pdo_mysql, pdo_sqlite, pdo_pgsql).', + ), + 'php' => array( + '_' => 'Installazione PHP', + 'nok' => 'Versione di PHP %s FreshRSS richiede almeno la versione %s.', + 'ok' => 'Versione di PHP %s, compatibile con FreshRSS.', + ), + 'users' => array( + 'nok' => 'Verifica i permessi sulla cartella <em>./data/users</em>. Il server HTTP deve avere i permessi per scriverci dentro', + 'ok' => 'I permessi sulla cartella users sono corretti.', + ), + 'xml' => array( + 'nok' => 'You lack the required library to parse XML.', + 'ok' => 'You have the required library to parse XML.', + ), + ), + 'conf' => array( + '_' => 'Configurazioni generali', + 'ok' => 'Configurazioni generali salvate.', + ), + 'congratulations' => 'Congratulazione!', + 'default_user' => 'Username utente predefinito <small>(massimo 16 caratteri alfanumerici)</small>', + 'delete_articles_after' => 'Rimuovi articoli dopo', + 'fix_errors_before' => 'Per favore correggi gli errori prima di passare al passaggio successivo.', + 'javascript_is_better' => 'FreshRSS funziona meglio con JavaScript abilitato', + 'js' => array( + 'confirm_reinstall' => 'Reinstallando FreshRSS perderai la configurazione precedente. Sei sicuro di voler procedere?', + ), + 'language' => array( + '_' => 'Lingua', + 'choose' => 'Seleziona la lingua per FreshRSS', + 'defined' => 'Lingua impostata.', + ), + 'not_deleted' => 'Qualcosa non ha funzionato; devi cancellare il file <em>%s</em> manualmente.', + 'ok' => 'Processo di installazione terminato con successo.', + 'step' => 'Passaggio %d', + 'steps' => 'Passaggi', + 'title' => 'Installazione · FreshRSS', + 'this_is_the_end' => 'Fine', +); diff --git a/app/i18n/it/sub.php b/app/i18n/it/sub.php new file mode 100644 index 000000000..fe18855fb --- /dev/null +++ b/app/i18n/it/sub.php @@ -0,0 +1,77 @@ +<?php + +return array( + 'api' => array( + 'documentation' => 'Copy the following URL to use it within an external tool.',// TODO + 'title' => 'API',// TODO + ), + 'bookmarklet' => array( + 'documentation' => 'Drag this button to your bookmarks toolbar or right-click it and choose "Bookmark This Link". Then click "Subscribe" button in any page you want to subscribe to.',// TODO + 'label' => 'Subscribe',// TODO + 'title' => 'Bookmarklet',// TODO + ), + 'category' => array( + '_' => 'Categoria', + 'add' => 'Aggiungi una categoria', + 'empty' => 'Categoria vuota', + 'new' => 'Nuova categoria', + ), + 'feed' => array( + 'add' => 'Aggiungi un Feed RSS', + 'advanced' => 'Avanzate', + 'archiving' => 'Archiviazione', + 'auth' => array( + 'configuration' => 'Autenticazione', + 'help' => 'Accesso per feeds protetti', + 'http' => 'Autenticazione HTTP', + 'password' => 'HTTP password', + 'username' => 'HTTP username', + ), + 'css_help' => 'In caso di RSS feeds troncati (attenzione, richiede molto tempo!)', + 'css_path' => 'Percorso del foglio di stile CSS del sito di origine', + 'description' => 'Descrizione', + 'empty' => 'Questo feed non contiene articoli. Per favore verifica il sito direttamente.', + 'error' => 'Questo feed ha generato un errore. Per favore verifica se ancora disponibile.', + 'in_main_stream' => 'Mostra in homepage', + 'informations' => 'Informazioni', + 'keep_history' => 'Numero minimo di articoli da mantenere', + 'moved_category_deleted' => 'Cancellando una categoria i feed al suo interno verranno classificati automaticamente come <em>%s</em>.', + 'no_selected' => 'Nessun feed selezionato.', + 'number_entries' => '%d articoli', + 'stats' => 'Statistiche', + 'think_to_add' => 'Aggiungi feed.', + 'title' => 'Titolo', + 'title_add' => 'Aggiungi RSS feed', + 'ttl' => 'Non aggiornare automaticamente piu di', + 'url' => 'Feed URL', + 'validator' => 'Controlla la validita del feed ', + 'website' => 'URL del sito', + 'pubsubhubbub' => 'Notifica istantanea con PubSubHubbub', + ), + 'firefox' => array( + 'documentation' => 'Follow the steps described <a href="https://developer.mozilla.org/en-US/Firefox/Releases/2/Adding_feed_readers_to_Firefox#Adding_a_new_feed_reader_manually">here</a> to add FreshRSS to Firefox feed reader list.',// TODO + 'title' => 'Firefox feed reader',// TODO + ), + 'import_export' => array( + 'export' => 'Esporta', + 'export_opml' => 'Esporta tutta la lista dei feed (OPML)', + 'export_starred' => 'Esporta i tuoi preferiti', + 'feed_list' => 'Elenco di %s articoli', + 'file_to_import' => 'File da importare<br />(OPML, JSON o ZIP)', + 'file_to_import_no_zip' => 'File da importare<br />(OPML o JSON)', + 'import' => 'Importa', + 'starred_list' => 'Elenco articoli preferiti', + 'title' => 'Importa / esporta', + ), + 'menu' => array( + 'bookmark' => 'Bookmark (trascina nei preferiti)', + 'import_export' => 'Importa / esporta', + 'subscription_management' => 'Gestione sottoscrizioni', + 'subscription_tools' => 'Subscription tools',// TODO + ), + 'title' => array( + '_' => 'Gestione sottoscrizioni', + 'feed_management' => 'Gestione RSS feeds', + 'subscription_tools' => 'Subscription tools',// TODO + ), +); diff --git a/app/i18n/kr/admin.php b/app/i18n/kr/admin.php new file mode 100644 index 000000000..9781fb640 --- /dev/null +++ b/app/i18n/kr/admin.php @@ -0,0 +1,188 @@ +<?php + +return array( + 'auth' => array( + 'allow_anonymous' => '누구나 기본 사용자의 글을 읽을 수 있도록 합니다(%s)', + 'allow_anonymous_refresh' => '누구나 피드를 갱신할 수 있도록 합니다', + 'api_enabled' => '<abbr>API</abbr> 사용을 허가합니다<small>(모바일 애플리케이션을 사용할 때 필요합니다)</small>', + 'form' => '웹폼 (전통적인 방식, 자바스크립트 필요)', + 'http' => 'HTTP (HTTPS를 사용하는 고급 사용자용)', + 'none' => '사용하지 않음 (위험)', + 'title' => '인증', + 'title_reset' => '인증 초기화', + 'token' => '인증 토큰', + 'token_help' => '기본 사용자의 RSS에 인증 없이 접근할 수 있도록 합니다:', + 'type' => '인증', + 'unsafe_autologin' => '다음과 같은 안전하지 않은 방식의 로그인을 허가합니다: ', + ), + 'check_install' => array( + 'cache' => array( + 'nok' => '<em>./data/cache</em> 디렉토리의 권한을 확인하세요. HTTP 서버가 쓰기 권한을 가지고 있어야 합니다', + 'ok' => 'cache 디렉토리의 권한이 올바르게 설정되었습니다.', + ), + 'categories' => array( + 'nok' => 'category 테이블 설정이 잘못되었습니다.', + 'ok' => 'category 테이블이 올바르게 설정되었습니다.', + ), + 'connection' => array( + 'nok' => '데이터베이스에 연결할 수 없습니다.', + 'ok' => '데이터베이스와의 연결이 올바르게 설정되었습니다.', + ), + 'ctype' => array( + 'nok' => '문자열 타입 검사에 필요한 라이브러리를 찾을 수 없습니다 (php-ctype).', + 'ok' => '문자열 타입 검사에 필요한 라이브러리가 설치되어 있습니다 (ctype).', + ), + 'curl' => array( + 'nok' => 'cURL 라이브러리를 찾을 수 없습니다 (php-curl 패키지).', + 'ok' => 'cURL 라이브러리가 설치되어 있습니다.', + ), + 'data' => array( + 'nok' => '<em>./data</em> 디렉토리의 권한을 확인하세요. HTTP 서버가 쓰기 권한을 가지고 있어야 합니다', + 'ok' => 'data 디렉토리의 권한이 올바르게 설정되었습니다.', + ), + 'database' => '데이터베이스 설치 요구사항', + 'dom' => array( + 'nok' => 'DOM을 다룰 수 있는 라이브러리를 찾을 수 없습니다 (php-xml 패키지).', + 'ok' => 'DOM을 다룰 수 있는 라이브러리가 설치되어 있습니다.', + ), + 'entries' => array( + 'nok' => 'entry 테이블 설정이 잘못되었습니다.', + 'ok' => 'entry 테이블이 올바르게 설정되었습니다.', + ), + 'favicons' => array( + 'nok' => '<em>./data/favicons</em> 디렉토리의 권한을 확인하세요. HTTP 서버가 쓰기 권한을 가지고 있어야 합니다', + 'ok' => 'favicons 디렉토리의 권한이 올바르게 설정되어 있습니다.', + ), + 'feeds' => array( + 'nok' => 'feed 테이블 설정이 잘못되었습니다.', + 'ok' => 'feed 테이블이 올바르게 설정되었습니다', + ), + 'fileinfo' => array( + 'nok' => 'fileinfo 라이브러리를 찾을 수 없습니다 (fileinfo 패키지).', + 'ok' => 'fileinfo 라이브러리가 설치되어 있습니다.', + ), + 'files' => '파일 시스템 설치 요구사항', + 'json' => array( + 'nok' => 'JSON 확장 기능을 찾을 수 없습니다 (php5-json 패키지).', + 'ok' => 'JSON 확장 기능이 설치되어 있습니다.', + ), + 'minz' => array( + 'nok' => 'Minz 프레임워크를 찾을 수 없습니다.', + 'ok' => 'Minz 프레임워크가 설치되어 있습니다.', + ), + 'pcre' => array( + 'nok' => '정규표현식을 위한 라이브러리를 찾을 수 없습니다 (php-pcre).', + 'ok' => '정규표현식을 위한 라이브러리가 설치되어 있습니다 (PCRE).', + ), + 'pdo' => array( + 'nok' => '지원가능한 드라이버나 PDO를 찾을 수 없습니다 (pdo_mysql, pdo_sqlite, pdo_pgsql).', + 'ok' => '최소 하나의 지원가능한 드라이버와 PDO가 설치되어 있습니다 (pdo_mysql, pdo_sqlite, pdo_pgsql).', + ), + 'php' => array( + '_' => 'PHP 설치 요구사항', + 'nok' => 'PHP 버전은 %s 이지만, FreshRSS에는 최소 %s의 버전이 필요합니다.', + 'ok' => 'PHP 버전은 %s 이고, FreshRSS와 호환가능 합니다.', + ), + 'tables' => array( + 'nok' => '하나 이상의 테이블을 데이터베이스에서 찾을 수 없습니다.', + 'ok' => '데이터베이스에 모든 테이블이 존재합니다.', + ), + 'title' => '설치 요구사항 확인', + 'tokens' => array( + 'nok' => '<em>./data/tokens</em> 디렉토리의 권한을 확인하세요. HTTP 서버가 쓰기 권한을 가지고 있어야 합니다', + 'ok' => 'tokens 디렉토리의 권한이 올바르게 설정되어 있습니다', + ), + 'users' => array( + 'nok' => '<em>./data/users</em> 디렉토리의 권한을 확인하세요. HTTP 서버가 쓰기 권한을 가지고 있어야 합니다', + 'ok' => 'users 디렉토리의 권한이 올바르게 설정되어 있습니다.', + ), + 'zip' => array( + 'nok' => 'ZIP 확장 기능을 찾을 수 없습니다 (php-zip 패키지).', + 'ok' => 'ZIP 확장 기능이 설치되어 있습니다.', + ), + ), + 'extensions' => array( + 'disabled' => '비활성화됨', + 'empty_list' => '설치된 확장 기능이 없습니다', + 'enabled' => '활성화됨', + 'no_configure_view' => '이 확장 기능은 설정이 없습니다.', + 'system' => array( + '_' => '시스템 확장 기능', + 'no_rights' => '시스템 확장 기능 (이 확장 기능에 대한 권한이 없습니다)', + ), + 'title' => '확장 기능', + 'user' => '사용자 확장 기능', + 'community' => 'Available community extensions', // @todo translate + 'name' => 'Name', // @todo translate + 'version' => 'Version', // @todo translate + 'description' => 'Description', // @todo translate + 'author' => 'Author', // @todo translate + 'latest' => 'Installed', // @todo translate + 'update' => 'Update available', // @todo translate + ), + 'stats' => array( + '_' => '통계', + 'all_feeds' => '모든 피드', + 'category' => '카테고리', + 'entry_count' => '글 개수', + 'entry_per_category' => '카테고리별 글 개수', + 'entry_per_day' => '일일 글 개수 (최근 30 일)', + 'entry_per_day_of_week' => '요일별 (평균: %.2f 개의 글)', + 'entry_per_hour' => '시간별 (평균: %.2f 개의 글)', + 'entry_per_month' => '월별 (평균: %.2f 개의 글)', + 'entry_repartition' => '글 분류', + 'feed' => '피드', + 'feed_per_category' => '카테고리별 피드 개수', + 'idle' => '유휴 피드', + 'main' => '주요 통계', + 'main_stream' => '메인 스트림', + 'menu' => array( + 'idle' => '유휴 피드', + 'main' => '주요 통계', + 'repartition' => '글 분류', + ), + 'no_idle' => '유휴 피드가 없습니다!', + 'number_entries' => '%d 개의 글', + 'percent_of_total' => '전체에서의 비율 (%%)', + 'repartition' => '글 분류', + 'status_favorites' => '즐겨찾기', + 'status_read' => '읽음', + 'status_total' => '전체', + 'status_unread' => '읽지 않음', + 'title' => '통계', + 'top_feed' => '상위 10 개 피드', + ), + 'system' => array( + '_' => '시스템 설정', + 'auto-update-url' => '자동 업데이트 서버 URL', + 'instance-name' => '인스턴스 이름', + 'max-categories' => '사용자별 카테고리 개수 제한', + 'max-feeds' => '사용자별 피드 개수 제한', + 'registration' => array( + 'help' => '0: 제한 없음', + 'number' => '계정 최대 개수', + ), + ), + 'update' => array( + '_' => '업데이트', + 'apply' => '업데이트 적용하기', + 'check' => '새 업데이트 확인하기', + 'current_version' => '현재 FreshRSS 버전은 %s 입니다.', + 'last' => '마지막 확인: %s', + 'none' => '적용 가능한 업데이트가 없습니다', + 'title' => '업데이트', + ), + 'user' => array( + 'articles_and_size' => '%s 개의 글 (%s)', + 'create' => '새 사용자 생성', + 'language' => '언어', + 'number' => '%d 개의 계정이 생성되었습니다', + 'numbers' => '%d 개의 계정이 생성되었습니다', + 'password_form' => '암호<br /><small>(웹폼 로그인 방식 사용시)</small>', + 'password_format' => '7 글자 이상이어야 합니다', + 'title' => '사용자 관리', + 'user_list' => '사용자 목록', + 'username' => '사용자 이름', + 'users' => '전체 사용자', + ), +); diff --git a/app/i18n/kr/conf.php b/app/i18n/kr/conf.php new file mode 100644 index 000000000..35d412078 --- /dev/null +++ b/app/i18n/kr/conf.php @@ -0,0 +1,174 @@ +<?php + +return array( + 'archiving' => array( + '_' => '보관', + 'advanced' => '고급 설정', + 'delete_after' => '다음 기간보다 오래된 글 삭제', + 'help' => '더 자세한 옵션은 개별 피드 설정에 있습니다', + 'keep_history_by_feed' => '피드별 최소 유지 글 개수', + 'optimize' => '데이터베이스 최적화', + 'optimize_help' => '데이터베이스 크기를 줄이기 위해 가끔씩 수행해주세요', + 'purge_now' => '지금 삭제', + 'title' => '보관', + 'ttl' => '다음 시간이 지나기 전에 새로고침 금지', + ), + 'display' => array( + '_' => '표시', + 'icon' => array( + 'bottom_line' => '하단', + 'entry' => '문서 아이콘', + 'publication_date' => '발행일', + 'related_tags' => '관련 태그', + 'sharing' => '공유', + 'top_line' => '상단', + ), + 'language' => '언어', + 'notif_html5' => array( + 'seconds' => '초 (0: 타임아웃 없음)', + 'timeout' => 'HTML5 알림 타임아웃', + ), + 'theme' => '테마', + 'title' => '표시', + 'width' => array( + 'content' => '내용 표시 너비', + 'large' => '넓음', + 'medium' => '보통', + 'no_limit' => '제한 없음', + 'thin' => '얇음', + ), + ), + 'query' => array( + '_' => '사용자 쿼리', + 'deprecated' => '이 쿼리는 더 이상 유효하지 않습니다. 해당하는 카테고리나 피드가 삭제되었습니다.', + 'filter' => '적용된 필터:', + 'get_all' => '모든 글 표시', + 'get_category' => '"%s" 카테고리 표시', + 'get_favorite' => '즐겨찾기에 등록된 글 표시', + 'get_feed' => '"%s" 피드 표시', + 'no_filter' => '필터가 없습니다', + 'none' => '아직 사용자 쿼리를 만들지 않았습니다.', + 'number' => '쿼리 #%d', + 'order_asc' => '오래된 글 먼저 표시', + 'order_desc' => '최근 글 먼저 표시', + 'search' => '"%s"의 검색 결과', + 'state_0' => '모든 글 표시', + 'state_1' => '읽은 글 표시', + 'state_2' => '읽지 않은 글 표시', + 'state_3' => '모든 글 표시', + 'state_4' => '즐겨찾기에 등록된 글 표시', + 'state_5' => '즐겨찾기에 등록된 읽은 글 표시', + 'state_6' => '즐겨찾기에 등록된 읽지 않은 글 표시', + 'state_7' => '즐겨찾기에 등록된 글 표시', + 'state_8' => '즐겨찾기에 등록되지 않은 글 표시', + 'state_9' => '즐겨찾기에 등록되지 않고 읽은 글 표시', + 'state_10' => '즐겨찾기에 등록되지 않고 읽지 않은 글 표시', + 'state_11' => '즐겨찾기에 등록되지 않은 글 표시', + 'state_12' => '모든 글 표시', + 'state_13' => '읽은 글 표시', + 'state_14' => '읽지 않은 글 표시', + 'state_15' => '모든 글 표시', + 'title' => '사용자 쿼리', + ), + 'profile' => array( + '_' => '프로필 관리', + 'delete' => array( + '_' => '계정 삭제', + 'warn' => '당신의 계정과 관련된 모든 데이터가 삭제됩니다.', + ), + 'password_api' => 'API 암호<br /><small>(예: 모바일 애플리케이션)</small>', + 'password_form' => '암호<br /><small>(웹폼 로그인 방식 사용시)</small>', + 'password_format' => '7 글자 이상이어야 합니다', + 'title' => '프로필', + ), + 'reading' => array( + '_' => '읽기', + 'after_onread' => '“모두 읽음으로 표시” 후,', + 'articles_per_page' => '페이지당 글 수', + 'auto_load_more' => '페이지 하단에 다다르면 글 더 불러오기', + 'auto_remove_article' => '글을 읽은 후 숨기기', + 'mark_updated_article_unread' => '갱신 된 글을 읽지 않음으로 표시', + 'confirm_enabled' => '“모두 읽음으로 표시” 실행시 확인 창 표시', + 'display_articles_unfolded' => '글을 펼쳐진 상태로 보여주기', + 'display_categories_unfolded' => '카테고리를 접힌 상태로 보여주기', + 'hide_read_feeds' => '읽지 않은 글이 없는 카테고리와 피드 감추기 (“모든 글 표시”가 설정된 경우 동작하지 않습니다)', + 'img_with_lazyload' => '그림을 불러오는 데에 "lazy load" 모드 사용하기', + 'sides_close_article' => '글 영역 바깥을 클릭하면 글 접기', + 'jump_next' => '다음 읽지 않은 항목으로 이동 (피드 또는 카테고리)', + 'number_divided_when_reader' => '읽기 모드에서는 절반만 표시됩니다.', + 'read' => array( + 'article_open_on_website' => '글이 게재된 웹사이트를 방문했을 때', + 'article_viewed' => '글을 읽었을 때', + 'scroll' => '스크롤을 하며 지나갈 때', + 'upon_reception' => '글을 가져오자마자', + 'when' => '읽음으로 표시…', + ), + 'show' => array( + '_' => '글 표시 방식', + 'adaptive' => '읽지 않은 글이 없으면 모든 글 표시', + 'all_articles' => '모든 글 표시', + 'unread' => '읽지 않은 글만 표시', + ), + 'sort' => array( + '_' => '정렬 순서', + 'newer_first' => '최근 글 먼저', + 'older_first' => '오래된 글 먼저', + ), + 'sticky_post' => '글이 펼쳐진 경우 최상단에 고정하기', + 'title' => '읽기', + 'view' => array( + 'default' => '기본 보기 모드', + 'global' => '전체 모드', + 'normal' => '일반 모드', + 'reader' => '읽기 모드', + ), + ), + 'sharing' => array( + '_' => '공유', + 'blogotext' => 'Blogotext', + 'diaspora' => 'Diaspora*', + 'email' => '메일', + 'facebook' => 'Facebook', + 'g+' => 'Google+', + 'more_information' => '자세한 정보', + 'print' => '인쇄', + 'shaarli' => 'Shaarli', + 'share_name' => '표시할 이름', + 'share_url' => '사용할 공유 URL', + 'title' => '공유', + 'twitter' => 'Twitter', + 'wallabag' => 'wallabag', + ), + 'shortcut' => array( + '_' => '단축키', + 'article_action' => '글 관련 동작', + 'auto_share' => '공유', + 'auto_share_help' => '공유 옵션이 하나만 설정되어 있다면 해당 공유 옵션을 사용하고, 그렇지 않다면 공유 옵션을 번호로 선택할 수 있습니다.', + 'close_dropdown' => '메뉴 닫기', + 'collapse_article' => '접기', + 'first_article' => '첫 글 보기', + 'focus_search' => '검색창 사용하기', + 'help' => '도움말 보기', + 'javascript' => '단축키를 사용하기 위해선 자바스크립트를 사용하도록 설정하여야 합니다', + 'last_article' => '마지막 글 보기', + 'load_more' => '글 더 불러오기', + 'mark_read' => '읽음으로 표시', + 'mark_favorite' => '즐겨찾기에 등록', + 'navigation' => '탐색', + 'navigation_help' => '"Shift" 키를 누른 상태에선 탐색 단축키가 피드에 적용됩니다.<br/>"Alt" 키를 누른 상태에선 탐색 단축키가 카테고리에 적용됩니다.', + 'next_article' => '다음 글 보기', + 'other_action' => '다른 동작', + 'previous_article' => '이전 글 보기', + 'see_on_website' => '글이 게재된 웹사이트에서 보기', + 'shift_for_all_read' => '+ <code>shift</code>를 누른 상태에선 모두 읽음으로 표시', + 'title' => '단축키', + 'user_filter' => '사용자 필터 사용하기', + 'user_filter_help' => '사용자 필터가 하나만 설정되어 있다면 해당 필터를 사용하고, 그렇지 않다면 필터를 번호로 선택할 수 있습니다.', + ), + 'user' => array( + 'articles_and_size' => '%s 개의 글 (%s)', + 'current' => '현재 사용자', + 'is_admin' => '관리자입니다', + 'users' => '전체 사용자', + ), +); diff --git a/app/i18n/kr/feedback.php b/app/i18n/kr/feedback.php new file mode 100644 index 000000000..a70923761 --- /dev/null +++ b/app/i18n/kr/feedback.php @@ -0,0 +1,109 @@ +<?php + +return array( + 'admin' => array( + 'optimization_complete' => '최적화가 완료되었습니다', + ), + 'access' => array( + 'denied' => '이 페이지에 접근할 수 있는 권한이 없습니다', + 'not_found' => '이 페이지는 존재하지 않습니다', + ), + 'auth' => array( + 'form' => array( + 'not_set' => '인증 시스템을 설정하는 동안 문제가 발생했습니다. 잠시 후 다시 시도하세요.', + 'set' => '웹폼이 이제 기본 인증 시스템으로 설정되었습니다.', + ), + 'login' => array( + 'invalid' => '유효하지 않은 로그인입니다', + 'success' => '접속되었습니다', + ), + 'logout' => array( + 'success' => '접속이 해제되었습니다', + ), + 'no_password_set' => '관리자 암호가 설정되지 않았습니다. 이 기능은 사용할 수 없습니다.', + ), + 'conf' => array( + 'error' => '설정을 저장하는 동안 문제가 발생했습니다', + 'query_created' => '쿼리 "%s" 가 생성되었습니다.', + 'shortcuts_updated' => '단축키가 갱신되었습니다', + 'updated' => '설정이 저장되었습니다', + ), + 'extensions' => array( + 'already_enabled' => '%s 확장 기능은 이미 활성화되어 있습니다', + 'disable' => array( + 'ko' => '%s 확장 기능을 비활성화 할 수 없습니다. 자세한 내용은 <a href="%s">FressRSS 로그</a>를 참고하세요.', + 'ok' => '%s 확장 기능이 비활성화되었습니다', + ), + 'enable' => array( + 'ko' => '%s 확장 기능을 활성화 할 수 없습니다. 자세한 내용은 <a href="%s">FressRSS 로그</a>를 참고하세요.', + 'ok' => '%s 확장 기능이 활성화되었습니다', + ), + 'no_access' => '%s 확장 기능에 접근 권한이 없습니다', + 'not_enabled' => '%s 확장 기능이 활성화되지 않았습니다', + 'not_found' => '%s 확장 기능이 존재하지 않습니다', + ), + 'import_export' => array( + 'export_no_zip_extension' => 'ZIP 확장 기능을 서버에서 찾을 수 없습니다. 파일을 하나씩 내보내세요.', + 'feeds_imported' => '피드를 성공적으로 불러왔습니다', + 'feeds_imported_with_errors' => '피드를 불러왔지만, 문제가 발생했습니다', + 'file_cannot_be_uploaded' => '파일을 업로드할 수 없습니다!', + 'no_zip_extension' => 'ZIP 확장 기능을 서버에서 찾을 수 없습니다.', + 'zip_error' => 'ZIP 파일을 불러오는 동안 문제가 발생했습니다.', + ), + 'sub' => array( + 'actualize' => 'Updating', + 'category' => array( + 'created' => '%s 카테고리가 생성되었습니다.', + 'deleted' => '카테고리가 삭제되었습니다.', + 'emptied' => '카테고리를 비웠습니다', + 'error' => '카테고리를 변경할 수 없습니다', + 'name_exists' => '같은 카테고리 이름이 이미 존재합니다.', + 'no_id' => '카테고리 id를 명시해야 합니다.', + 'no_name' => '카테고리 이름을 명시해야 합니다.', + 'not_delete_default' => '기본 카테고리는 삭제할 수 없습니다!', + 'not_exist' => '카테고리가 존재하지 않습니다!', + 'over_max' => '카테고리 개수 제한에 다다랐습니다 (%d)', + 'updated' => '카테고리가 변경되었습니다.', + ), + 'feed' => array( + 'actualized' => '<em>%s</em> 피드에서 새 글을 가져왔습니다', + 'actualizeds' => 'RSS 피드에서 새 글을 가져왔습니다', + 'added' => '<em>%s</em> 피드가 추가되었습니다', + 'already_subscribed' => '이미 <em>%s</em> 피드를 구독 중입니다', + 'deleted' => '피드가 삭제되었습니다', + 'error' => '피드를 변경할 수 없습니다', + 'internal_problem' => 'RSS 피드를 추가할 수 없습니다. 자세한 내용은 <a href="%s">FressRSS 로그</a>를 참고하세요.', + 'invalid_url' => 'URL (<em>%s</em>)이 유효하지 않습니다', + 'marked_read' => '피드가 읽음으로 표시되었습니다', + 'n_actualized' => '%d 개의 피드에서 새 글을 가져왔습니다', + 'n_entries_deleted' => '%d 개의 글을 삭제했습니다', + 'no_refresh' => '새 글을 가져올 피드가 없습니다…', + 'not_added' => '<em>%s</em> 피드를 추가할 수 없습니다', + 'over_max' => '피드 개수 제한에 다다랐습니다 (%d)', + 'updated' => '피드가 변경되었습니다', + ), + 'purge_completed' => '삭제 완료 (%d 개의 글을 삭제했습니다)', + ), + 'update' => array( + 'can_apply' => 'FreshRSS가 <strong>%s</strong> 버전으로 업데이트됩니다.', + 'error' => '업데이트 과정에서 문제가 발생했습니다: %s', + 'file_is_nok' => '<strong>%s</strong> 버전을 사용할 수 있지만, <em>%s</em> 디렉토리의 권한을 확인하세요. HTTP 서버가 쓰기 권한을 가지고 있어야 합니다', + 'finished' => '업데이트를 완료했습니다!', + 'none' => '적용할 업데이트가 없습니다', + 'server_not_found' => '업데이트 서버를 찾을 수 없습니다. [%s]', + ), + 'user' => array( + 'created' => array( + '_' => '%s 사용자가 생성되었습니다', + 'error' => '%s 사용자를 생성할 수 없습니다', + ), + 'deleted' => array( + '_' => '%s 사용자를 삭제했습니다', + 'error' => '%s 사용자를 삭제할 수 없습니다', + ), + ), + 'profile' => array( + 'error' => '프로필을 변경할 수 없습니다', + 'updated' => '프로필을 변경했습니다', + ), +); diff --git a/app/i18n/kr/gen.php b/app/i18n/kr/gen.php new file mode 100644 index 000000000..e9b6ea9b8 --- /dev/null +++ b/app/i18n/kr/gen.php @@ -0,0 +1,190 @@ +<?php + +return array( + 'action' => array( + 'actualize' => '새 글 가져오기', + 'back_to_rss_feeds' => '← RSS 피드로 돌아가기', + 'cancel' => '취소', + 'create' => '생성', + 'disable' => '비활성화', + 'empty' => '비우기', + 'enable' => '활성화', + 'export' => '내보내기', + 'filter' => '해당하는 글 보기', + 'import' => '불러오기', + 'manage' => '관리', + 'mark_favorite' => '즐겨찾기에 등록', + 'mark_read' => '읽음으로 표시', + 'remove' => '삭제', + 'see_website' => '웹사이트 열기', + 'submit' => '설정 저장', + 'truncate' => '모든 글 삭제', + ), + 'auth' => array( + 'email' => '메일 주소', + 'keep_logged_in' => '로그인 유지 <small>(%s 일)</small>', + 'login' => '로그인', + 'logout' => '로그아웃', + 'password' => array( + '_' => '암호', + 'format' => '<small>7 글자 이상이어야 합니다</small>', + ), + 'registration' => array( + '_' => '새 계정', + 'ask' => '새 계정을 만들까요?', + 'title' => '계정 생성', + ), + 'reset' => '인증 초기화', + 'username' => array( + '_' => '사용자 이름', + 'admin' => '관리자 이름', + 'format' => '<small>알파벳과 숫자를 포함할 수 있고 최대 16 글자</small>', + ), + ), + 'date' => array( + 'Apr' => '\\A\\p\\r\\i\\l', + 'Aug' => '\\A\\u\\g\\u\\s\\t', + 'Dec' => '\\D\\e\\c\\e\\m\\b\\e\\r', + 'Feb' => '\\F\\e\\b\\r\\u\\a\\r\\y', + 'Jan' => '\\J\\a\\n\\u\\a\\r\\y', + 'Jul' => '\\J\\u\\l\\y', + 'Jun' => '\\J\\u\\n\\e', + 'Mar' => '\\M\\a\\r\\c\\h', + 'May' => '\\M\\a\\y', + 'Nov' => '\\N\\o\\v\\e\\m\\b\\e\\r', + 'Oct' => '\\O\\c\\t\\o\\b\\e\\r', + 'Sep' => '\\S\\e\\p\\t\\e\\m\\b\\e\\r', + 'apr' => '4월', + 'april' => '4월', + 'aug' => '8월', + 'august' => '8월', + 'before_yesterday' => '어제 이전', + 'dec' => '12월', + 'december' => '12월', + 'feb' => '2월', + 'february' => '2월', + 'format_date' => 'Y년 m월 d일', + 'format_date_hour' => 'Y년 m월 d일 H시 i분', + 'fri' => '금', + 'jan' => '1월', + 'january' => '1월', + 'jul' => '7월', + 'july' => '7월', + 'jun' => '6월', + 'june' => '6월', + 'last_3_month' => '최근 3 개월', + 'last_6_month' => '최근 6 개월', + 'last_month' => '최근 한 달', + 'last_week' => '최근 한 주', + 'last_year' => '최근 일 년', + 'mar' => '3월', + 'march' => '3월', + 'may' => '5월', + 'may_' => '5월', + 'mon' => '월', + 'month' => '개월', + 'nov' => '11월', + 'november' => '11월', + 'oct' => '10월', + 'october' => '10월', + 'sat' => '토', + 'sep' => '9월', + 'september' => '9월', + 'sun' => '일', + 'thu' => '목', + 'today' => '오늘', + 'tue' => '화', + 'wed' => '수', + 'yesterday' => '어제', + ), + 'freshrss' => array( + '_' => 'FreshRSS', + 'about' => '정보', + ), + 'js' => array( + 'category_empty' => '빈 카테고리', + 'confirm_action' => '정말 이 작업을 수행하시겠습니까? 이 작업은 되돌릴 수 없습니다!', + 'confirm_action_feed_cat' => '정말 이 작업을 수행하시겠습니까? 관련된 즐겨찾기와 사용자 쿼리가 삭제됩니다. 이 작업은 되돌릴 수 없습니다!!', + 'feedback' => array( + 'body_new_articles' => '%%d 개의 새 글이 FreshRSS에 있습니다.', + 'request_failed' => '요청한 작업을 수행할 수 없습니다. 인터넷 연결에 문제가 발생한 것 같습니다.', + 'title_new_articles' => 'FreshRSS: 새 글이 있습니다!', + ), + 'new_article' => '새 글이 있습니다. 여기를 클릭하면 페이지를 다시 불러옵니다.', + 'should_be_activated' => '자바스크립트를 사용하도록 설정해야합니다', + ), + 'lang' => array( + 'cz' => 'Čeština', + 'de' => 'Deutsch', + 'en' => 'English', + 'es' => 'Español', + 'fr' => 'Français', + 'it' => 'Italiano', + 'kr' => '한국어', + 'nl' => 'Nederlands', + 'pt-br' => 'Português (Brasil)', + 'ru' => 'Русский', + 'tr' => 'Türkçe', + 'zh-cn' => '简体中文', + ), + 'menu' => array( + 'about' => '정보', + 'admin' => '관리', + 'archiving' => '보관', + 'authentication' => '인증', + 'check_install' => '설치 요구사항 확인', + 'configuration' => '설정', + 'display' => '표시', + 'extensions' => '확장 기능', + 'logs' => '로그', + 'queries' => '사용자 쿼리', + 'reading' => '읽기', + 'search' => '단어 또는 #태그 검색', + 'sharing' => '공유', + 'shortcuts' => '단축키', + 'stats' => '통계', + 'system' => '시스템 설정', + 'update' => '업데이트', + 'user_management' => '사용자 관리', + 'user_profile' => '프로필', + ), + 'pagination' => array( + 'first' => 'First', + 'last' => 'Last', + 'load_more' => '글 더 불러오기', + 'mark_all_read' => '모두 읽음으로 표시', + 'next' => 'Next', + 'nothing_to_load' => '더 이상 글이 없습니다', + 'previous' => 'Previous', + ), + 'share' => array( + 'Known' => 'Known based sites', + 'blogotext' => 'Blogotext', + 'diaspora' => 'Diaspora*', + 'email' => '메일', + 'facebook' => 'Facebook', + 'g+' => 'Google+', + 'gnusocial' => 'GNU social', + 'jdh' => 'Journal du hacker', + 'mastodon' => 'Mastodon', + 'movim' => 'Movim', + 'print' => '인쇄', + 'shaarli' => 'Shaarli', + 'twitter' => 'Twitter', + 'wallabag' => 'wallabag v1', + 'wallabagv2' => 'wallabag v2', + ), + 'short' => array( + 'attention' => '경고!', + 'blank_to_disable' => '빈 칸으로 두면 비활성화', + 'by_author' => 'By <em>%s</em>', + 'by_default' => '기본값', + 'damn' => '이런!', + 'default_category' => '분류 없음', + 'no' => '아니요', + 'not_applicable' => '사용할 수 없음', + 'ok' => 'Ok!', + 'or' => '또는', + 'yes' => '네', + ), +); diff --git a/app/i18n/kr/index.php b/app/i18n/kr/index.php new file mode 100644 index 000000000..cc03f91c2 --- /dev/null +++ b/app/i18n/kr/index.php @@ -0,0 +1,61 @@ +<?php + +return array( + 'about' => array( + '_' => '정보', + 'agpl3' => '<a href="https://www.gnu.org/licenses/agpl-3.0.html">AGPL 3</a>', + 'bugs_reports' => '버그 제보하기', + 'credits' => '크레딧', + 'credits_content' => 'FreshRSS는 <a href="http://twitter.github.io/bootstrap/">Bootstrap</a> 프레임워크를 사용하진 않지만, 일부 디자인 요소를 가져왔습니다. <a href="https://git.gnome.org/browse/gnome-icon-theme-symbolic">아이콘들</a>은 <a href="https://www.gnome.org/">GNOME 프로젝트</a>에서 가져왔습니다. <em>Open Sans</em> 글꼴은 <a href="https://fonts.google.com/specimen/Open+Sans">Steve Matteson</a>가 제작하였습니다. FreshRSS는 PHP 프레임워크인 <a href="https://github.com/marienfressinaud/MINZ">Minz</a>에 기반하고 있습니다.', + 'freshrss_description' => 'FreshRSS는 <a href="http://tontof.net/kriss/feed/">Kriss Feed</a> 또는 <a href="http://projet.idleman.fr/leed/">Leed</a>와 같은 셀프 호스팅 기반의 RSS 피드 수집기입니다. FreshRSS는 강력하고 다양한 설정을 할 수 있으면서 도 가볍고 사용하기 쉽습니다.', + 'github' => '<a href="https://github.com/FreshRSS/FreshRSS/issues">Github 저장소에 제보</a>', + 'license' => '라이센스', + 'project_website' => '프로젝트 웹사이트', + 'title' => '정보', + 'version' => '버전', + 'website' => '웹사이트', + ), + 'feed' => array( + 'add' => '피드를 추가하세요.', + 'empty' => '글이 없습니다.', + 'rss_of' => '%s의 피드', + 'title' => 'RSS 피드', + 'title_global' => '전체 모드', + 'title_fav' => '즐겨찾기', + ), + 'log' => array( + '_' => '로그', + 'clear' => '로그 모두 지우기', + 'empty' => '로그 파일이 비어있습니다', + 'title' => '로그', + ), + 'menu' => array( + 'about' => 'FreshRSS 정보', + 'add_query' => '쿼리 만들기', + 'before_one_day' => '하루 이전', + 'before_one_week' => '한 주 이전', + 'favorites' => '즐겨찾기 (%s)', + 'global_view' => '전체 모드', + 'main_stream' => '메인 스트림', + 'mark_all_read' => '모두 읽음으로 표시', + 'mark_cat_read' => '카테고리를 읽음으로 표시', + 'mark_feed_read' => '피드를 읽음으로 표시', + 'newer_first' => '최근 글 먼저', + 'non-starred' => '즐겨찾기를 제외하고 표시', + 'normal_view' => '일반 모드', + 'older_first' => '오래된 글 먼저', + 'queries' => '사용자 쿼리', + 'read' => '읽은 글만 표시', + 'reader_view' => '읽기 모드', + 'rss_view' => 'RSS 피드', + 'search_short' => '검색', + 'starred' => '즐겨찾기만 표시', + 'stats' => '통계', + 'subscription' => '구독 관리', + 'unread' => '읽지 않은 글만 표시', + ), + 'share' => '공유', + 'tag' => array( + 'related' => '관련 태그', + ), +); diff --git a/app/i18n/kr/install.php b/app/i18n/kr/install.php new file mode 100644 index 000000000..2eea71ff9 --- /dev/null +++ b/app/i18n/kr/install.php @@ -0,0 +1,119 @@ +<?php + +return array( + 'action' => array( + 'finish' => '설치 완료', + 'fix_errors_before' => '다음 단계로 가기 전에 문제를 해결하세요.', + 'keep_install' => '이전 설정 유지', + 'next_step' => '다음 단계', + 'reinstall' => 'FreshRSS 다시 설치', + ), + 'auth' => array( + 'form' => '웹폼 (전통적인 방식, 자바스크립트 필요)', + 'http' => 'HTTP (HTTPS를 사용하는 고급 사용자용)', + 'none' => '사용하지 않음 (위험)', + 'password_form' => '암호<br /><small>(웹폼 로그인 방식 사용시)</small>', + 'password_format' => '7 글자 이상이어야 합니다', + 'type' => '인증 방식', + ), + 'bdd' => array( + '_' => '데이터베이스', + 'conf' => array( + '_' => '데이터베이스 설정', + 'ko' => '데이터베이스 정보를 확인하세요.', + 'ok' => '데이터베이스 설정이 저장되었습니다.', + ), + 'host' => '데이터베이스 서버', + 'prefix' => '테이블 접두어', + 'password' => '데이터베이스 암호', + 'type' => '데이터베이스 종류', + 'username' => '데이터베이스 사용자 이름', + ), + 'check' => array( + '_' => '설치 요구사항 확인', + 'already_installed' => 'FreshRSS가 이미 설치되어 있는 것을 감지했습니다!', + 'cache' => array( + 'nok' => '<em>./data/cache</em> 디렉토리의 권한을 확인하세요. HTTP 서버가 쓰기 권한을 가지고 있어야 합니다', + 'ok' => 'cache 디렉토리의 권한이 올바르게 설정되었습니다.', + ), + 'ctype' => array( + 'nok' => '문자열 타입 검사에 필요한 라이브러리를 찾을 수 없습니다 (php-ctype).', + 'ok' => '문자열 타입 검사에 필요한 라이브러리가 설치되어 있습니다 (ctype).', + ), + 'curl' => array( + 'nok' => 'cURL 라이브러리를 찾을 수 없습니다 (php-curl 패키지).', + 'ok' => 'cURL 라이브러리가 설치되어 있습니다.', + ), + 'data' => array( + 'nok' => '<em>./data</em> 디렉토리의 권한을 확인하세요. HTTP 서버가 쓰기 권한을 가지고 있어야 합니다', + 'ok' => 'data 디렉토리의 권한이 올바르게 설정되었습니다.', + ), + 'dom' => array( + 'nok' => 'DOM을 다룰 수 있는 라이브러리를 찾을 수 없습니다 (php-xml 패키지).', + 'ok' => 'DOM을 다룰 수 있는 라이브러리가 설치되어 있습니다.', + ), + 'favicons' => array( + 'nok' => '<em>./data/favicons</em> 디렉토리의 권한을 확인하세요. HTTP 서버가 쓰기 권한을 가지고 있어야 합니다', + 'ok' => 'favicons 디렉토리의 권한이 올바르게 설정되어 있습니다.', + ), + 'fileinfo' => array( + 'nok' => 'fileinfo 라이브러리를 찾을 수 없습니다 (fileinfo 패키지).', + 'ok' => 'fileinfo 라이브러리가 설치되어 있습니다.', + ), + 'http_referer' => array( + 'nok' => 'HTTP REFERER가 변경되지 않았는지 확인해주세요.', + 'ok' => 'HTTP REFERER가 서버와 일치하는 것을 확인했습니다.', + ), + 'json' => array( + 'nok' => 'JSON 확장 기능을 찾을 수 없습니다 (php5-json 패키지).', + 'ok' => 'JSON 확장 기능이 설치되어 있습니다.', + ), + 'minz' => array( + 'nok' => 'Minz 프레임워크를 찾을 수 없습니다.', + 'ok' => 'Minz 프레임워크가 설치되어 있습니다.', + ), + 'pcre' => array( + 'nok' => '정규표현식을 위한 라이브러리를 찾을 수 없습니다 (php-pcre).', + 'ok' => '정규표현식을 위한 라이브러리가 설치되어 있습니다 (PCRE).', + ), + 'pdo' => array( + 'nok' => '지원가능한 드라이버나 PDO를 찾을 수 없습니다 (pdo_mysql, pdo_sqlite, pdo_pgsql).', + 'ok' => '최소 하나의 지원가능한 드라이버와 PDO가 설치되어 있습니다 (pdo_mysql, pdo_sqlite, pdo_pgsql).', + ), + 'php' => array( + 'nok' => 'PHP 버전은 %s 이지만, FreshRSS에는 최소 %s의 버전이 필요합니다.', + 'ok' => 'PHP 버전은 %s 이고, FreshRSS와 호환가능 합니다.', + ), + 'users' => array( + 'nok' => '<em>./data/users</em> 디렉토리의 권한을 확인하세요. HTTP 서버가 쓰기 권한을 가지고 있어야 합니다', + 'ok' => 'users 디렉토리의 권한이 올바르게 설정되어 있습니다.', + ), + 'xml' => array( + 'nok' => 'XML 해석을 위한 라이브러리르 찾을 수 없습니다.', + 'ok' => 'XML 해석을 위한 라이브러리가 설치되어 있습니다.', + ), + ), + 'conf' => array( + '_' => '일반 설정', + 'ok' => '일반 설정이 저장되었습니다.', + ), + 'congratulations' => '축하합니다!', + 'default_user' => '기본 사용자 이름<small>(알파벳과 숫자를 포함할 수 있고 최대 16 글자)</small>', + 'delete_articles_after' => '다음 기간보다 오래된 글 삭제', + 'fix_errors_before' => '다음 단계로 가기 전에 문제를 해결하세요.', + 'javascript_is_better' => 'FreshRSS는 자바스크립트를 사용할 때 더욱 쾌적하고 강력합니다', + 'js' => array( + 'confirm_reinstall' => 'FreshRSS을 다시 설치하면 이전 설정이 사라집니다. 계속하시겠습니까?', + ), + 'language' => array( + '_' => '언어', + 'choose' => 'FreshRSS에서 사용할 언어를 고르세요', + 'defined' => '언어가 설정되었습니다.', + ), + 'not_deleted' => '무언가 잘못되었습니다; <em>%s</em> 파일을 직접 삭제해주세요.', + 'ok' => '설치 과정이 성공적으로 끝났습니다.', + 'step' => '단계 %d', + 'steps' => '단계', + 'title' => '설치 · FreshRSS', + 'this_is_the_end' => '마침', +); diff --git a/app/i18n/kr/sub.php b/app/i18n/kr/sub.php new file mode 100644 index 000000000..b8f2385b3 --- /dev/null +++ b/app/i18n/kr/sub.php @@ -0,0 +1,77 @@ +<?php + +return array( + 'api' => array( + 'documentation' => 'Copy the following URL to use it within an external tool.',// TODO + 'title' => 'API',// TODO + ), + 'bookmarklet' => array( + 'documentation' => '이 버튼을 즐겨찾기 막대로 끌어다 놓거나 마우스 오른쪽 클릭으로 나타나는 메뉴에서 "이 링크를 즐겨찾기에 추가"를 선택하세요. 그리고 피드를 구독하길 원하는 페이지에서 "구독하기" 버튼을 클릭하세요.', + 'label' => '구독하기', + 'title' => '북마클릿', + ), + 'category' => array( + '_' => '카테고리', + 'add' => '카테고리 추가', + 'empty' => '빈 카테고리', + 'new' => '새 카테고리', + ), + 'feed' => array( + 'add' => 'RSS 피드 추가', + 'advanced' => '고급 설정', + 'archiving' => '보관', + 'auth' => array( + 'configuration' => '로그인', + 'help' => 'HTTP 접속이 제한되는 RSS 피드에 접근합니다', + 'http' => 'HTTP 인증', + 'password' => 'HTTP 암호', + 'username' => 'HTTP 사용자 이름', + ), + 'css_help' => '글의 일부가 포함된 RSS 피드를 가져옵니다 (주의, 시간이 좀 더 걸립니다!)', + 'css_path' => '웹사이트 상의 글 본문에 해당하는 CSS 경로', + 'description' => '설명', + 'empty' => '이 피드는 비어있습니다. 피드가 계속 운영되고 있는지 확인하세요.', + 'error' => '이 피드에 문제가 발생했습니다. 이 피드에 접근 권한이 있는지 확인하세요.', + 'in_main_stream' => '메인 스트림에 표시하기', + 'informations' => '정보', + 'keep_history' => '최소 유지 글 개수', + 'moved_category_deleted' => '카테고리를 삭제하면, 해당 카테고리 아래에 있던 피드들은 자동적으로 <em>%s</em> 아래로 분류됩니다.', + 'no_selected' => '선택된 피드가 없습니다.', + 'number_entries' => '%d 개의 글', + 'stats' => '통계', + 'think_to_add' => '피드를 추가할 수 있습니다.', + 'title' => '제목', + 'title_add' => 'RSS 피드 추가', + 'ttl' => '다음 시간이 지나기 전에 새로고침 금지', + 'url' => '피드 URL', + 'validator' => '피드 유효성 검사', + 'website' => '웹사이트 URL', + 'pubsubhubbub' => 'PubSubHubbub을 사용한 즉시 알림', + ), + 'firefox' => array( + 'documentation' => 'FreshRSS를 Firefox 피드 리더에 추가하기 위해서는 <a href="https://developer.mozilla.org/en-US/Firefox/Releases/2/Adding_feed_readers_to_Firefox#Adding_a_new_feed_reader_manually">여기</a>의 설명을 따르세요.', + 'title' => 'Firefox 피드 리더', + ), + 'import_export' => array( + 'export' => '내보내기', + 'export_opml' => '피드 목록 내보내기 (OPML)', + 'export_starred' => '즐겨찾기 내보내기', + 'feed_list' => '%s 개의 글 목록', + 'file_to_import' => '불러올 파일<br />(OPML, JSON 또는 ZIP)', + 'file_to_import_no_zip' => '불러올 파일<br />(OPML 또는 JSON)', + 'import' => '불러오기', + 'starred_list' => '즐겨찾기에 등록된 글 목록', + 'title' => '불러오기 / 내보내기', + ), + 'menu' => array( + 'bookmark' => '구독하기 (FreshRSS 북마클릿)', + 'import_export' => '불러오기 / 내보내기', + 'subscription_management' => '구독 관리', + 'subscription_tools' => '구독 도구', + ), + 'title' => array( + '_' => '구독 관리', + 'feed_management' => 'RSS 피드 관리', + 'subscription_tools' => '구독 도구', + ), +); diff --git a/app/i18n/nl/admin.php b/app/i18n/nl/admin.php new file mode 100644 index 000000000..384242b4d --- /dev/null +++ b/app/i18n/nl/admin.php @@ -0,0 +1,193 @@ +<?php +/* Dutch translation by Wanabo. http://www.nieuwskop.be */ +return array( + 'auth' => array( + 'allow_anonymous' => 'Sta bezoekers toe om artikelen te lezen van de standaard gebruiker (%s)', + 'allow_anonymous_refresh' => 'Sta bezoekers toe om de artikelen te vernieuwen', + 'api_enabled' => 'Sta <abbr>API</abbr> toegang toe <small>(nodig voor mobiele apps)</small>', + 'form' => 'Web formulier (traditioneel, JavaScript vereist)', + 'http' => 'HTTP (voor gevorderde gebruikers met HTTPS)', + 'none' => 'Geen (gevaarlijk)', + 'title' => 'Authenticatie', + 'title_reset' => 'Authenticatie terugzetten', + 'token' => 'Authenticatie teken', + 'token_help' => 'Sta toegang toe tot de RSS uitvoer van de standaard gebruiker zonder authenticatie:', + 'type' => 'Authenticatie methode', + 'unsafe_autologin' => 'Sta onveilige automatische log in toe met het volgende formaat: ', + ), + 'check_install' => array( + 'cache' => array( + 'nok' => 'Controleer de permissies van de <em>./data/cache</em> map. HTTP server moet rechten hebben om hierin te schrijven', + 'ok' => 'Permissies van de cache map zijn goed.', + ), + 'categories' => array( + 'nok' => 'Categorie tabel is slecht geconfigureerd.', + 'ok' => 'Categorie tabel is ok.', + ), + 'connection' => array( + 'nok' => 'Verbinding met de database kan niet worden gemaakt.', + 'ok' => 'Verbinding met de database is ok.', + ), + 'ctype' => array( + 'nok' => 'U mist de benodigde bibliotheek voor character type checking (php-ctype).', + 'ok' => 'U hebt de benodigde bibliotheek voor character type checking (ctype).', + ), + 'curl' => array( + 'nok' => 'U mist de cURL (php-curl package).', + 'ok' => 'U hebt de cURL uitbreiding.', + ), + 'data' => array( + 'nok' => 'Controleer de permissies op de <em>./data</em> map. De HTTP server moet rechten hebben om hierin te schrijven', + 'ok' => 'Permissies op de data map zijn in orde.', + ), + 'database' => 'Database installatie', + 'dom' => array( + 'nok' => 'U mist de benodigde bibliotheek voor het bladeren van DOM (php-xml package).', + 'ok' => 'U hebt de benodigde bibliotheek voor het bladeren van DOM.', + ), + 'entries' => array( + 'nok' => 'Invoertabel is slecht geconfigureerd.', + 'ok' => 'Invoertabel is ok.', + ), + 'favicons' => array( + 'nok' => 'Controleer de permissies op de <em>./data/favicons</em> map. HTTP server moet rechten hebben om hierin te schrijven', + 'ok' => 'Permissies op de favicons map zijn goed.', + ), + 'feeds' => array( + 'nok' => 'Feedtabel is slecht geconfigureerd.', + 'ok' => 'Feedtabel is ok.', + ), + 'fileinfo' => array( + 'nok' => 'U mist de PHP fileinfo (fileinfo package).', + 'ok' => 'U hebt de fileinfo uitbreiding.', + ), + 'files' => 'Bestanden installatie', + 'json' => array( + 'nok' => 'U mist JSON (php5-json package).', + 'ok' => 'U hebt JSON uitbreiding.', + ), + 'minz' => array( + 'nok' => 'U mist Minz framework.', + 'ok' => 'U hebt Minz framework.', + ), + 'pcre' => array( + 'nok' => 'U mist de benodigde bibliotheek voor regular expressions (php-pcre).', + 'ok' => 'U hebt de benodigde bibliotheek voor regular expressions (PCRE).', + ), + 'pdo' => array( + 'nok' => 'U mist PDO of een van de ondersteunde drivers (pdo_mysql, pdo_sqlite, pdo_pgsql).', + 'ok' => 'U hebt PDO en ten minste één van de ondersteunde drivers (pdo_mysql, pdo_sqlite, pdo_pgsql).', + ), + 'php' => array( + '_' => 'PHP installatie', + 'nok' => 'Uw PHP versie is %s maar FreshRSS benodigd tenminste versie %s.', + 'ok' => 'Uw PHP versie is %s, welke compatibel is met FreshRSS.', + ), + 'tables' => array( + 'nok' => 'Er zijn één of meer ontbrekende tabellen in de database.', + 'ok' => 'Alle tabellen zijn aanwezig in de database.', + ), + 'title' => 'Installatie controle', + 'tokens' => array( + 'nok' => 'Controleer de permissies op de <em>./data/tokens</em> map. HTTP server moet rechten hebben om hierin te schrijven', + 'ok' => 'Permissies op de tokens map zijn goed.', + ), + 'users' => array( + 'nok' => 'Controleer de permissies op de <em>./data/users</em> map. HTTP server moet rechten hebben om hierin te schrijven', + 'ok' => 'Permissies op de users map zijn goed.', + ), + 'zip' => array( + 'nok' => 'U mist ZIP uitbreiding (php-zip package).', + 'ok' => 'U hebt ZIP uitbreiding.', + ), + ), + 'extensions' => array( + 'disabled' => 'Uitgeschakeld', + 'empty_list' => 'Er zijn geïnstalleerde uitbreidingen', + 'enabled' => 'Ingeschakeld', + 'no_configure_view' => 'Deze uitbreiding kan niet worden geconfigureerd.', + 'system' => array( + '_' => 'Systeemuitbreidingen', + 'no_rights' => 'Systeemuitbreidingen (U hebt hier geen rechten op)', + ), + 'title' => 'Uitbreidingen', + 'user' => 'Gebruikersuitbreidingen', + 'community' => 'Gebruikersuitbreidingen beschikbaar', + 'name' => 'Naam', + 'version' => 'Versie', + 'description' => 'Beschrijving', + 'author' => 'Auteur', + 'latest' => 'Geïnstalleerd', + 'update' => 'Update beschikbaar', + ), + 'stats' => array( + '_' => 'Statistieken', + 'all_feeds' => 'Alle feeds', + 'category' => 'Categorie', + 'entry_count' => 'Invoer aantallen', + 'entry_per_category' => 'Aantallen per categorie', + 'entry_per_day' => 'Aantallen per dag (laatste 30 dagen)', + 'entry_per_day_of_week' => 'Per dag of week (gemiddeld: %.2f berichten)', + 'entry_per_hour' => 'Per uur (gemiddeld: %.2f berichten)', + 'entry_per_month' => 'Per maand (gemiddeld: %.2f berichten)', + 'entry_repartition' => 'Invoer verdeling', + 'feed' => 'Feed', + 'feed_per_category' => 'Feeds per categorie', + 'idle' => 'Gepauzeerde feeds', + 'main' => 'Hoofd statistieken', + 'main_stream' => 'Overzicht', + 'menu' => array( + 'idle' => 'Gepauzeerde feeds', + 'main' => 'Hoofd statistieken', + 'repartition' => 'Artikelen verdeling', + ), + 'no_idle' => 'Er is geen gepauzeerde feed!', + 'number_entries' => '%d artikelen', + 'percent_of_total' => '%% van totaal', + 'repartition' => 'Artikelverdeling', + 'status_favorites' => 'Favorieten', + 'status_read' => 'Gelezen', + 'status_total' => 'Totaal', + 'status_unread' => 'Ongelezen', + 'title' => 'Statistieken', + 'top_feed' => 'Top tien feeds', + ), + 'system' => array( + '_' => 'Systeem configuratie', + 'auto-update-url' => 'Automatische update server URL', + 'instance-name' => 'Voorbeeld naam', + 'max-categories' => 'Categoriën limiet per gebruiker', + 'max-feeds' => 'Feed limiet per gebruiker', + 'registration' => array( + 'help' => '0 betekent geen account limiet', + 'number' => 'Maximum aantal accounts', + ), + ), + 'update' => array( + '_' => 'Versie controle', + 'apply' => 'Toepassen', + 'check' => 'Controleer op nieuwe versies', + 'current_version' => 'Uw huidige versie van FreshRSS is %s.', + 'last' => 'Laatste controle: %s', + 'none' => 'Geen nieuwe versie om toe te passen', + 'title' => 'Vernieuw systeem', + ), + 'user' => array( + 'articles_and_size' => '%s artikelen (%s)', + 'create' => 'Creëer nieuwe gebruiker', + 'language' => 'Taal', + 'number' => 'Er is %d accounts gemaakt', + 'numbers' => 'Er zijn %d accounts gemaakt', + 'password_form' => 'Wachtwoord<br /><small>(voor de Web-formulier loginmethode)</small>', + 'password_format' => 'Ten minste 7 tekens', + 'registration' => array( + 'allow' => 'Sta het maken van nieuwe accounts toe', + 'help' => '0 betekent dat er geen accountlimiet is', + 'number' => 'Max aantal accounts', + ), + 'title' => 'Beheer gebruikers', + 'user_list' => 'Lijst van gebruikers ', + 'username' => 'Gebruikersnaam', + 'users' => 'Gebruikers', + ), +); diff --git a/app/i18n/nl/conf.php b/app/i18n/nl/conf.php new file mode 100644 index 000000000..e4db5ec3d --- /dev/null +++ b/app/i18n/nl/conf.php @@ -0,0 +1,174 @@ +<?php +/* Dutch translation by Wanabo. http://www.nieuwskop.be */ +return array( + 'archiving' => array( + '_' => 'Archivering', + 'advanced' => 'Geavanceerd', + 'delete_after' => 'Verwijder artikelen na', + 'help' => 'Meer opties zijn beschikbaar in de persoonlijke stroom instellingen', + 'keep_history_by_feed' => 'Minimum aantal te behouden artikelen in de feed', + 'optimize' => 'Optimaliseer database', + 'optimize_help' => 'Doe dit zo af en toe om de omvang van de database te verkleinen', + 'purge_now' => 'Schoon nu op', + 'title' => 'Archivering', + 'ttl' => 'Vernieuw niet automatisch meer dan', + ), + 'display' => array( + '_' => 'Opmaak', + 'icon' => array( + 'bottom_line' => 'Onderaan', + 'entry' => 'Artikel pictogrammen', + 'publication_date' => 'Publicatie datum', + 'related_tags' => 'Gerelateerde labels', + 'sharing' => 'Delen', + 'top_line' => 'Bovenaan', + ), + 'language' => 'Taal', + 'notif_html5' => array( + 'seconds' => 'seconden (0 betekent geen stop)', + 'timeout' => 'HTML5 notificatie stop', + ), + 'theme' => 'Thema', + 'title' => 'Opmaak', + 'width' => array( + 'content' => 'Inhoud breedte', + 'large' => 'Breed', + 'medium' => 'Normaal', + 'no_limit' => 'Geen limiet', + 'thin' => 'Smal', + ), + ), + 'query' => array( + '_' => 'Gebruikers queries (informatie aanvragen)', + 'deprecated' => 'Deze query (informatie aanvraag) is niet langer geldig. De bedoelde categorie of feed is al verwijderd.', + 'filter' => 'Filter toegepast:', + 'get_all' => 'Toon alle artikelen', + 'get_category' => 'Toon "%s" categorie', + 'get_favorite' => 'Toon favoriete artikelen', + 'get_feed' => 'Toon "%s" feed', + 'no_filter' => 'Geen filter', + 'none' => 'U hebt nog geen gebruikers query aangemaakt..', + 'number' => 'Query n°%d', + 'order_asc' => 'Toon oudste artikelen eerst', + 'order_desc' => 'Toon nieuwste artikelen eerst', + 'search' => 'Zoek naar "%s"', + 'state_0' => 'Toon alle artikelen', + 'state_1' => 'Toon gelezen artikelen', + 'state_2' => 'Toon ongelezen artikelen', + 'state_3' => 'Toon alle artikelen', + 'state_4' => 'Toon favoriete artikelen', + 'state_5' => 'Toon gelezen favoriete artikelen', + 'state_6' => 'Toon ongelezen favoriete artikelen', + 'state_7' => 'Toon favoriete artikelen', + 'state_8' => 'Toon niet favoriete artikelen', + 'state_9' => 'Toon gelezen niet favoriete artikelen', + 'state_10' => 'Toon ongelezen niet favoriete artikelen', + 'state_11' => 'Toon niet favoriete artikelen', + 'state_12' => 'Toon alle artikelen', + 'state_13' => 'Toon gelezen artikelen', + 'state_14' => 'Toon ongelezen artikelen', + 'state_15' => 'Toon alle artikelen', + 'title' => 'Gebruikers queries', + ), + 'profile' => array( + '_' => 'Profiel beheer', + 'delete' => array( + '_' => 'Account verwijderen', + 'warn' => 'Uw account en alle gerelateerde gegvens worden verwijderd.', + ), + 'password_api' => 'Wachtwoord API<br /><small>(e.g., voor mobiele apps)</small>', + 'password_form' => 'Wachtwoord<br /><small>(voor de Web-formulier log in methode)</small>', + 'password_format' => 'Ten minste 7 tekens', + 'title' => 'Profiel', + ), + 'reading' => array( + '_' => 'Lezen', + 'after_onread' => 'Na “markeer alles als gelezen”,', + 'articles_per_page' => 'Aantal artikelen per pagina', + 'auto_load_more' => 'Laad volgende artikel onderaan de pagina', + 'auto_remove_article' => 'Verberg artikel na lezen', + 'confirm_enabled' => 'Toon een bevestigings dialoog op “markeer alles als gelezen” acties', + 'display_articles_unfolded' => 'Toon artikelen uitgeklapt als standaard', + 'display_categories_unfolded' => 'Toon categoriën ingeklapt als standaard', + 'hide_read_feeds' => 'Verberg categoriën en feeds zonder ongelezen artikelen (werkt niet met “Toon alle artikelen” configuratie)', + 'img_with_lazyload' => 'Gebruik "lazy load" methode om afbeeldingen te laden', + 'sides_close_article' => 'Sluit het artikel door buiten de artikeltekst te klikken', + 'jump_next' => 'Ga naar volgende ongelezen (feed of categorie)', + 'mark_updated_article_unread' => 'Markeer vernieuwd artikel als ongelezen', + 'number_divided_when_reader' => 'Gedeeld door 2 in de lees modus.', + 'read' => array( + 'article_open_on_website' => 'Als het artikel is geopend op de originele website', + 'article_viewed' => 'Als het artikel is bekeken', + 'scroll' => 'Tijdens scrollen', + 'upon_reception' => 'Tijdens ontvangst van het artikel', + 'when' => 'Markeer artikel als gelezen…', + ), + 'show' => array( + '_' => 'Artikelen om te tonen', + 'adaptive' => 'Pas weergave aan', + 'all_articles' => 'Bekijk alle artikelen', + 'unread' => 'Bekijk alleen ongelezen', + ), + 'sort' => array( + '_' => 'Sorteer volgorde', + 'newer_first' => 'Nieuwste eerst', + 'older_first' => 'Oudste eerst', + ), + 'sticky_post' => 'Koppel artikel aan de bovenkant als het geopend wordt', + 'title' => 'Lees modus', + 'view' => array( + 'default' => 'Standaard weergave', + 'global' => 'Globale weergave', + 'normal' => 'Normale weergave', + 'reader' => 'Lees weergave', + ), + ), + 'sharing' => array( + '_' => 'Delen', + 'blogotext' => 'Blogotext', + 'diaspora' => 'Diaspora*', + 'email' => 'Email', + 'facebook' => 'Facebook', + 'g+' => 'Google+', + 'more_information' => 'Meer informatie', + 'print' => 'Afdrukken', + 'shaarli' => 'Shaarli', + 'share_name' => 'Gedeelde naam om weer te geven', + 'share_url' => 'Deel URL voor gebruik', + 'title' => 'Delen', + 'twitter' => 'Twitter', + 'wallabag' => 'wallabag', + ), + 'shortcut' => array( + '_' => 'Shortcuts', + 'article_action' => 'Artikel acties', + 'auto_share' => 'Delen', + 'auto_share_help' => 'Als er slechts één deel methode i, dan wordt deze gebruikt. Anders zijn ze toegankelijk met hun nummer.', + 'close_dropdown' => 'Sluit menu', + 'collapse_article' => 'Inklappen', + 'first_article' => 'Spring naar eerste artikel', + 'focus_search' => 'Toegang zoek venster', + 'help' => 'Toon documentatie', + 'javascript' => 'JavaScript moet geactiveerd zijn om verwijzingen te gebruiken', + 'last_article' => 'Spring naar laatste artikel', + 'load_more' => 'Laad meer artikelen', + 'mark_read' => 'Markeer als gelezen', + 'mark_favorite' => 'Markeer als favoriet', + 'navigation' => 'Navigatie', + 'navigation_help' => 'Met de "Shift" toets, kunt u navigatie verwijzingen voor feeds gebruiken.<br/>Met de "Alt" toets, kunt u navigatie verwijzingen voor categoriën gebruiken.', + 'next_article' => 'Spring naar volgende artikel', + 'other_action' => 'Andere acties', + 'previous_article' => 'Spring naar vorige artikel', + 'see_on_website' => 'Bekijk op originale website', + 'shift_for_all_read' => '+ <code>shift</code> om alle artikelen als gelezen te markeren', + 'title' => 'Verwijzingen', + 'user_filter' => 'Toegang gebruikers filters', + 'user_filter_help' => 'Als er slechts één gebruikers filter s, dan wordt deze gebruikt. Anders zijn ze toegankelijk met hun nummer.', + ), + 'user' => array( + 'articles_and_size' => '%s artikelen (%s)', + 'current' => 'Huidige gebruiker', + 'is_admin' => 'is beheerder', + 'users' => 'Gebruikers', + ), +); diff --git a/app/i18n/nl/feedback.php b/app/i18n/nl/feedback.php new file mode 100644 index 000000000..cf1274767 --- /dev/null +++ b/app/i18n/nl/feedback.php @@ -0,0 +1,110 @@ +<?php +/* Dutch translation by Wanabo. http://www.nieuwskop.be */ +return array( + 'admin' => array( + 'optimization_complete' => 'Optimalisatie compleet', + ), + 'access' => array( + 'denied' => 'U hebt geen rechten om deze pagina te bekijken.', + 'not_found' => 'Deze pagina bestaat niet', + ), + 'auth' => array( + 'form' => array( + 'not_set' => 'Er is een probleem opgetreden tijdens de controle van de systeemconfiguratie. Probeer het later nog eens.', + 'set' => 'Formulier is nu uw standaard authenticatie systeem.', + ), + 'login' => array( + 'invalid' => 'Login is ongeldig', + 'success' => 'U bent ingelogd', + ), + 'logout' => array( + 'success' => 'U bent uitgelogd', + ), + 'no_password_set' => 'Beheerderswachtwoord is niet ingesteld. Deze mogelijkheid is niet beschikbaar.', + ), + 'conf' => array( + 'error' => 'Er is een fout opgetreden tijdens het opslaan van de configuratie', + 'query_created' => 'Query "%s" is gemaakt.', + 'shortcuts_updated' => 'Verwijzingen zijn vernieuwd', + 'updated' => 'Configuratie is vernieuwd', + ), + 'extensions' => array( + 'already_enabled' => '%s is al ingeschakeld', + 'disable' => array( + 'ko' => '%s kan niet worden uitgeschakeld. <a href="%s">Controleer FressRSS log bestanden</a> voor details.', + 'ok' => '%s is nu uitgeschakeld', + ), + 'enable' => array( + 'ko' => '%s kan niet worden ingeschakeld. <a href="%s">Controleer FressRSS log bestanden</a> voor details.', + 'ok' => '%s is nn ingeschakeld', + ), + 'no_access' => 'U hebt geen toegang voor %s', + 'not_enabled' => '%s is nog niet ingeschakeld', + 'not_found' => '%s bestaat niet', + ), + 'import_export' => array( + 'export_no_zip_extension' => 'ZIP uitbreiding is niet aanwezig op uw server. Exporteer a.u.b. uw bestanden één voor één.', + 'feeds_imported' => 'Uw feeds zijn geimporteerd en worden nu vernieuwd', + 'feeds_imported_with_errors' => 'Uw feeds zijn geimporteerd maar er zijn enige fouten opgetreden', + 'file_cannot_be_uploaded' => 'Bestand kan niet worden verzonden!', + 'no_zip_extension' => 'ZIP uitbreiding is niet aanwezig op uw server.', + 'zip_error' => 'Er is een fout opgetreden tijdens het imporeren van het ZIP bestand.', + ), + 'sub' => array( + 'actualize' => 'Actualiseren', + 'category' => array( + 'created' => 'Categorie %s is gemaakt.', + 'deleted' => 'Categorie is verwijderd.', + 'emptied' => 'Categorie is leeg gemaakt', + 'error' => 'Categorie kan niet worden vernieuwd', + 'name_exists' => 'Categorie naam bestaat al.', + 'no_id' => 'U moet de id specificeren of de categorie.', + 'no_name' => 'Categorie naam mag niet leeg zijn.', + 'not_delete_default' => 'U kunt de standaard categorie niet verwijderen!', + 'not_exist' => 'De categorie bestaat niet!', + 'over_max' => 'U hebt het maximale aantal categoriën bereikt (%d)', + 'updated' => 'Categorie is vernieuwd.', + ), + 'feed' => array( + 'actualized' => '<em>%s</em> is vernieuwd', + 'actualizeds' => 'RSS feeds zijn vernieuwd', + 'added' => 'RSS feed <em>%s</em> is toegevoegd', + 'already_subscribed' => 'U bent al geabonneerd op <em>%s</em>', + 'deleted' => 'Feed is verwijderd', + 'error' => 'Feed kan niet worden vernieuwd', + 'internal_problem' => 'De RSS feed kon niet worden toegevoegd. <a href="%s">Controleer FressRSS log bestanden</a> voor details.', + 'invalid_url' => 'URL <em>%s</em> is ongeldig', + 'marked_read' => 'Feeds zijn gemarkeerd als gelezen', + 'n_actualized' => '%d feeds zijn vernieuwd', + 'n_entries_deleted' => '%d artikelen zijn verwijderd', + 'no_refresh' => 'Er is geen feed om te vernieuwen…', + 'not_added' => '<em>%s</em> kon niet worden toegevoegd', + 'over_max' => 'U hebt het maximale aantal feeds bereikt(%d)', + 'updated' => 'Feed is vernieuwd', + ), + 'purge_completed' => 'Opschonen klaar (%d artikelen verwijderd)', + ), + 'update' => array( + 'can_apply' => 'FreshRSS word nu vernieud naar <strong>versie %s</strong>.', + 'error' => 'Het vernieuwingsproces kwam een fout tegen: %s', + 'file_is_nok' => '<strong>Versie %s</strong>. Controleer permissies op <em>%s</em> map. HTTP server moet rechten hebben om er in te schrijven', + 'finished' => 'Vernieuwing compleet!', + 'none' => 'Geen vernieuwing om toe te passen', + 'server_not_found' => 'Vernieuwings server kan niet worden gevonden. [%s]', + ), + 'user' => array( + 'created' => array( + '_' => 'Gebruiker %s is aangemaakt', + 'error' => 'Gebruiker %s kan niet worden aangemaakt', + ), + 'deleted' => array( + '_' => 'Gebruiker %s is verwijderd', + 'error' => 'Gebruiker %s kan niet worden verwijderd', + ), + 'set_registration' => 'Het maximale aantal accounts is vernieuwd.', + ), + 'profile' => array( + 'error' => 'Uw profiel kan niet worden aangepast', + 'updated' => 'Uw profiel is aangepast', + ), +); diff --git a/app/i18n/nl/gen.php b/app/i18n/nl/gen.php new file mode 100644 index 000000000..bccab8310 --- /dev/null +++ b/app/i18n/nl/gen.php @@ -0,0 +1,190 @@ +<?php + +return array( + 'action' => array( + 'actualize' => 'Actualiseren', + 'back_to_rss_feeds' => '← Ga terug naar je RSS feeds', + 'cancel' => 'Annuleren', + 'create' => 'Opslaan', + 'disable' => 'Uitzetten', + 'empty' => 'Leeg', + 'enable' => 'Aanzetten', + 'export' => 'Exporteren', + 'filter' => 'Filteren', + 'import' => 'Importeren', + 'manage' => 'Beheren', + 'mark_favorite' => 'Markeer als favoriet', + 'mark_read' => 'Markeer als gelezen', + 'remove' => 'Verwijder', + 'see_website' => 'Bekijk website', + 'submit' => 'Opslaan', + 'truncate' => 'Verwijder alle artikelen', + ), + 'auth' => array( + 'email' => 'Email adres', + 'keep_logged_in' => 'Ingelogd blijven voor <small>(%s dagen)</small>', + 'login' => 'Log in', + 'logout' => 'Log uit', + 'password' => array( + '_' => 'Wachtwoord', + 'format' => '<small>Ten minste 7 tekens</small>', + ), + 'registration' => array( + '_' => 'Nieuw account', + 'ask' => 'Maak een account?', + 'title' => 'Account maken', + ), + 'reset' => 'Authenticatie reset', + 'username' => array( + '_' => 'Gebruikersnaam', + 'admin' => 'Beheerdersgebruikersnaam', + 'format' => '<small>maximaal 16 alfanumerieke tekens</small>', + ), + ), + 'date' => array( + 'Apr' => '\\A\\p\\r\\i\\l', + 'Aug' => '\\A\\u\\g\\u\\s\\t\\u\\s', + 'Dec' => '\\D\\e\\c\\e\\m\\b\\e\\r', + 'Feb' => '\\F\\e\\b\\r\\u\\a\\r\\i', + 'Jan' => '\\J\\a\\n\\u\\a\\r\\i', + 'Jul' => '\\J\\u\\l\\i', + 'Jun' => '\\J\\u\\n\\i', + 'Mar' => '\\M\\a\\a\\r\\t', + 'May' => '\\M\\e\\i', + 'Nov' => '\\N\\o\\v\\e\\m\\b\\e\\r', + 'Oct' => '\\O\\k\\t\\o\\b\\e\\r', + 'Sep' => '\\S\\e\\p\\t\\e\\m\\b\\e\\r', + 'apr' => 'apr', + 'april' => 'Apr', + 'aug' => 'aug', + 'august' => 'Aug', + 'before_yesterday' => 'Ouder', + 'dec' => 'dec', + 'december' => 'Dec', + 'feb' => 'feb', + 'february' => 'Feb', + 'format_date' => 'j %s Y', + 'format_date_hour' => 'j %s Y \\o\\m H\\:i', + 'fri' => 'Vr', + 'jan' => 'jan', + 'january' => 'Jan', + 'jul' => 'jul', + 'july' => 'Jul', + 'jun' => 'jun', + 'june' => 'Jun', + 'last_3_month' => 'Laatste drie maanden', + 'last_6_month' => 'Laatste zes maanden', + 'last_month' => 'Vorige maand', + 'last_week' => 'Vorige week', + 'last_year' => 'Vorig jaar', + 'mar' => 'mrt', + 'march' => 'Mrt', + 'may' => 'Mei', + 'may_' => 'Mei', + 'mon' => 'Ma', + 'month' => 'maanden', + 'nov' => 'nov', + 'november' => 'Nov', + 'oct' => 'okt', + 'october' => 'Okt', + 'sat' => 'Za', + 'sep' => 'sep', + 'september' => 'Sep', + 'sun' => 'Zo', + 'thu' => 'Do', + 'today' => 'Vandaag', + 'tue' => 'Di', + 'wed' => 'Wo', + 'yesterday' => 'Gisteren', + ), + 'freshrss' => array( + '_' => 'FreshRSS', + 'about' => 'Over FreshRSS', + ), + 'js' => array( + 'category_empty' => 'Lege categorie', + 'confirm_action' => 'Weet u zeker dat u dit wilt doen? Het kan niet ongedaan worden gemaakt!', + 'confirm_action_feed_cat' => 'Weet u zeker dat u dit wilt doen? U verliest alle gereleteerde favorieten en gebruikers informatie. Het kan niet ongedaan worden gemaakt!', + 'feedback' => array( + 'body_new_articles' => 'Er zijn %%d nieuwe artikelen om te lezen op FreshRSS.', + 'request_failed' => 'Een opdracht is mislukt, mogelijk door Internet verbindings problemen.', + 'title_new_articles' => 'FreshRSS: nieuwe artikelen!', + ), + 'new_article' => 'Er zijn nieuwe artikelen beschikbaar. Klik om de pagina te vernieuwen.', + 'should_be_activated' => 'JavaScript moet aanstaan', + ), + 'lang' => array( + 'cz' => 'Čeština', + 'de' => 'Deutsch', + 'en' => 'English', + 'es' => 'Español', + 'fr' => 'Français', + 'it' => 'Italiano', + 'kr' => '한국어', + 'nl' => 'Nederlands', + 'pt-br' => 'Português (Brasil)', + 'ru' => 'Русский', + 'tr' => 'Türkçe', + 'zh-cn' => '简体中文', + ), + 'menu' => array( + 'about' => 'Over', + 'admin' => 'Administratie', + 'archiving' => 'Archiveren', + 'authentication' => 'Authenticatie', + 'check_install' => 'Installatiecontrole', + 'configuration' => 'Configuratie', + 'display' => 'Opmaak', + 'extensions' => 'Uitbreidingen', + 'logs' => 'Log boeken', + 'queries' => 'Gebruikers informatie', + 'reading' => 'Lezen', + 'search' => 'Zoek woorden of #labels', + 'sharing' => 'Delen', + 'shortcuts' => 'Snelle toegang', + 'stats' => 'Statistieken', + 'system' => 'Systeemconfiguratie', + 'update' => 'Versiecontrole', + 'user_management' => 'Gebruikersbeheer', + 'user_profile' => 'Profiel', + ), + 'pagination' => array( + 'first' => 'Eerste', + 'last' => 'Laatste', + 'load_more' => 'Laad meer artikelen', + 'mark_all_read' => 'Markeer alle als gelezen', + 'next' => 'Volgende', + 'nothing_to_load' => 'Er zijn geen artikelen meer', + 'previous' => 'Vorige', + ), + 'share' => array( + 'Known' => 'Known based sites', + 'blogotext' => 'Blogotext', + 'diaspora' => 'Diaspora*', + 'email' => 'Email', + 'facebook' => 'Facebook', + 'g+' => 'Google+', + 'gnusocial' => 'GNU social', + 'jdh' => 'Journal du hacker', + 'mastodon' => 'Mastodon', + 'movim' => 'Movim', + 'print' => 'Print', + 'shaarli' => 'Shaarli', + 'twitter' => 'Twitter', + 'wallabag' => 'wallabag v1', + 'wallabagv2' => 'wallabag v2', + ), + 'short' => array( + 'attention' => 'Attentie!', + 'blank_to_disable' => 'Laat leeg om uit te zetten', + 'by_author' => 'Door <em>%s</em>', + 'by_default' => 'Door standaard', + 'damn' => 'Potverdorie!', + 'default_category' => 'Niet ingedeeld', + 'no' => 'Nee', + 'not_applicable' => 'Niet aanwezig', + 'ok' => 'Ok!', + 'or' => 'of', + 'yes' => 'Ja', + ), +); diff --git a/app/i18n/nl/index.php b/app/i18n/nl/index.php new file mode 100644 index 000000000..e0184a0d0 --- /dev/null +++ b/app/i18n/nl/index.php @@ -0,0 +1,61 @@ +<?php +/* Dutch translation by Wanabo. http://www.nieuwskop.be */ +return array( + 'about' => array( + '_' => 'Over', + 'agpl3' => '<a href="https://www.gnu.org/licenses/agpl-3.0.html">AGPL 3</a>', + 'bugs_reports' => 'Rapporteer fouten', + 'credits' => 'Waarderingen', + 'credits_content' => 'Sommige ontwerp elementen komen van <a href="http://twitter.github.io/bootstrap/">Bootstrap</a> alhoewel FreshRSS dit raamwerk niet gebruikt. <a href="https://git.gnome.org/browse/gnome-icon-theme-symbolic">Pictogrammen</a> komen van het <a href="https://www.gnome.org/">GNOME project</a>. <em>De Open Sans</em> font police is gemaakt door <a href="https://fonts.google.com/specimen/Open+Sans">Steve Matteson</a>. FreshRSS is gebaseerd op <a href="https://github.com/marienfressinaud/MINZ">Minz</a>, een PHP raamwerk. Nederlandse vertaling door Wanabo, <a href="http://www.nieuwskop.be" title="NieuwsKop">NieuwsKop.be</a>. Link naar de Nederlandse vertaling, <a href="https://github.com/Wanabo/FreshRSS-Dutch-translation/tree/master">FreshRSS-Dutch-translation</a>.', + 'freshrss_description' => 'FreshRSS is een RSS feed aggregator om zelf te hosten zoals <a href="http://tontof.net/kriss/feed/">Kriss Feed</a> of <a href="http://projet.idleman.fr/leed/">Leed</a>. Het gebruikt weinig systeembronnen en is makkelijk te administreren terwijl het een krachtig en makkelijk te configureren programma is.', + 'github' => '<a href="https://github.com/FreshRSS/FreshRSS/issues">op Github</a>', + 'license' => 'License', + 'project_website' => 'Project website', + 'title' => 'Over', + 'version' => 'Versie', + 'website' => 'Website', + ), + 'feed' => array( + 'add' => 'U kunt wat feeds toevoegen.', + 'empty' => 'Er is geen artikel om te laten zien.', + 'rss_of' => 'RSS feed van %s', + 'title' => 'Overzicht RSS feeds', + 'title_global' => 'Globale weergave', + 'title_fav' => 'Uw favorieten', + ), + 'log' => array( + '_' => 'Log bestanden', + 'clear' => 'Leeg de log bestanden', + 'empty' => 'Log bestand is leeg', + 'title' => 'Log bestanden', + ), + 'menu' => array( + 'about' => 'Over FreshRSS', + 'add_query' => 'Voeg een query toe', + 'before_one_day' => 'Ouder dan een dag', + 'before_one_week' => 'Ouder dan een week', + 'favorites' => 'Favorieten (%s)', + 'global_view' => 'Globale weergave', + 'main_stream' => 'Overzicht', + 'mark_all_read' => 'Markeer alles als gelezen', + 'mark_cat_read' => 'Markeer categorie als gelezen', + 'mark_feed_read' => 'Markeer feed als gelezen', + 'newer_first' => 'Nieuwste eerst', + 'non-starred' => 'Laat alles zien behalve favorieten', + 'normal_view' => 'Normale weergave', + 'older_first' => 'Oudste eerst', + 'queries' => 'Gebruikers queries', + 'read' => 'Laat alleen gelezen zien', + 'reader_view' => 'Lees modus', + 'rss_view' => 'RSS feed', + 'search_short' => 'Zoeken', + 'starred' => 'Laat alleen favorieten zien', + 'stats' => 'Statistieken', + 'subscription' => 'Abonnementen beheer', + 'unread' => 'Laat alleen ongelezen zien', + ), + 'share' => 'Delen', + 'tag' => array( + 'related' => 'Verwante labels', + ), +); diff --git a/app/i18n/nl/install.php b/app/i18n/nl/install.php new file mode 100644 index 000000000..419ee4c9b --- /dev/null +++ b/app/i18n/nl/install.php @@ -0,0 +1,119 @@ +<?php +/* Dutch translation by Wanabo. http://www.nieuwskop.be */ +return array( + 'action' => array( + 'finish' => 'Completeer installatie', + 'fix_errors_before' => 'Repareer de fouten alvorens naar de volgende stap te gaan.', + 'keep_install' => 'Behoud de vorige installatie', + 'next_step' => 'Ga naar de volgende stap', + 'reinstall' => 'Installeer FreshRSS opnieuw', + ), + 'auth' => array( + 'form' => 'Web formulier (traditioneel, benodigd JavaScript)', + 'http' => 'HTTP (voor geavanceerde gebruikers met HTTPS)', + 'none' => 'Geen (gevaarlijk)', + 'password_form' => 'Wachtwoord<br /><small>(voor de Web-formulier log in methode)</small>', + 'password_format' => 'Tenminste 7 tekens', + 'type' => 'Authenticatiemethode', + ), + 'bdd' => array( + '_' => 'Database', + 'conf' => array( + '_' => 'Database configuratie', + 'ko' => 'Controleer uw database informatie.', + 'ok' => 'Database configuratie is opgeslagen.', + ), + 'host' => 'Host', + 'prefix' => 'Tabel voorvoegsel', + 'password' => 'Database wachtwoord', + 'type' => 'Type database', + 'username' => 'Database gebruikersnaam', + ), + 'check' => array( + '_' => 'Controles', + 'already_installed' => 'We hebben geconstateerd dat FreshRSS al is geïnstallerd!', + 'cache' => array( + 'nok' => 'Controleer permissies van de <em>./data/cache</em> map. HTTP server moet rechten hebben om er in te kunnen schrijven', + 'ok' => 'Permissies van de cache map zijn goed.', + ), + 'ctype' => array( + 'nok' => 'U mist een benodigde bibliotheek voor character type checking (php-ctype).', + 'ok' => 'U hebt de benodigde bibliotheek voor character type checking (ctype).', + ), + 'curl' => array( + 'nok' => 'U mist cURL (php-curl package).', + 'ok' => 'U hebt de cURL uitbreiding.', + ), + 'data' => array( + 'nok' => 'Controleer permissies van de <em>./data</em> map. HTTP server moet rechten hebben om er in te kunnen schrijven', + 'ok' => 'Permissies van de data map zijn goed.', + ), + 'dom' => array( + 'nok' => 'U mist een benodigde bibliotheek om te bladeren in de DOM.', + 'ok' => 'U hebt de benodigde bibliotheek om te bladeren in de DOM.', + ), + 'favicons' => array( + 'nok' => 'Controleer permissies van de <em>./data/favicons</em> map. HTTP server moet rechten hebben om er in te kunnen schrijven', + 'ok' => 'Permissies van de favicons map zijn goed.', + ), + 'fileinfo' => array( + 'nok' => 'U mist PHP fileinfo (fileinfo package).', + 'ok' => 'U hebt de fileinfo uitbreiding.', + ), + 'http_referer' => array( + 'nok' => 'Controleer a.u.b. dat u niet uw HTTP REFERER wijzigd.', + 'ok' => 'Uw HTTP REFERER is bekend en komt overeen met uw server.', + ), + 'json' => array( + 'nok' => 'U mist een benodigede bibliotheek om JSON te gebruiken.', + 'ok' => 'U hebt de benodigde bibliotheek om JSON te gebruiken.', + ), + 'minz' => array( + 'nok' => 'U mist het Minz framework.', + 'ok' => 'U hebt het Minz framework.', + ), + 'pcre' => array( + 'nok' => 'U mist een benodigde bibliotheek voor regular expressions (php-pcre).', + 'ok' => 'U hebt de benodigde bibliotheek voor regular expressions (PCRE).', + ), + 'pdo' => array( + 'nok' => 'U mist PDO of één van de ondersteunde (pdo_mysql, pdo_sqlite, pdo_pgsql).', + 'ok' => 'U hebt PDO en ten minste één van de ondersteunde drivers (pdo_mysql, pdo_sqlite, pdo_pgsql).', + ), + 'php' => array( + 'nok' => 'Uw PHP versie is %s maar FreshRSS benodigd tenminste versie %s.', + 'ok' => 'Uw PHP versie is %s, welke compatibel is met FreshRSS.', + ), + 'users' => array( + 'nok' => 'Controleer permissies van de <em>./data/users</em> map. HTTP server moet rechten hebben om er in te kunnen schrijven', + 'ok' => 'Permissies van de users map zijn goed.', + ), + 'xml' => array( + 'nok' => 'U mist de benodigde bibliotheek om XML te gebruiken.', + 'ok' => 'U hebt de benodigde bibliotheek om XML te gebruiken.', + ), + ), + 'conf' => array( + '_' => 'Algemene configuratie', + 'ok' => 'Algemene configuratie is opgeslagen.', + ), + 'congratulations' => 'Gefeliciteerd!', + 'default_user' => 'Gebruikersnaam van de standaardgebruiker <small>(maximaal 16 alfanumerieke tekens)</small>', + 'delete_articles_after' => 'Verwijder artikelen na', + 'fix_errors_before' => 'Repareer fouten alvorens U naar de volgende stap gaat.', + 'javascript_is_better' => 'FreshRSS werkt beter JavaScript ingeschakeld', + 'js' => array( + 'confirm_reinstall' => 'U zal uw vorige configuratie kwijtraken door FreshRSS opnieuw te installeren. Weet u zeker dat u verder wilt gaan?', + ), + 'language' => array( + '_' => 'Taal', + 'choose' => 'Kies een taal voor FreshRSS', + 'defined' => 'Taal is bepaald.', + ), + 'not_deleted' => 'Er ging iets fout! U moet het bestand <em>%s</em> handmatig verwijderen.', + 'ok' => 'De installatieprocedure is geslaagd.', + 'step' => 'stap %d', + 'steps' => 'Stappen', + 'title' => 'Installatie · FreshRSS', + 'this_is_the_end' => 'Dit is het einde', +); diff --git a/app/i18n/nl/sub.php b/app/i18n/nl/sub.php new file mode 100644 index 000000000..ce446778c --- /dev/null +++ b/app/i18n/nl/sub.php @@ -0,0 +1,77 @@ +<?php +/* Dutch translation by Wanabo. http://www.nieuwskop.be */ +return array( + 'api' => array( + 'documentation' => 'Kopieer de volgende URL om hem in een externe toepassing te gebruiken.', + 'title' => 'API', + ), + 'bookmarklet' => array( + 'documentation' => 'Sleep deze knop naar je bladwijzerwerkbalk of klik erop met de rechtermuisknop en kies "Deze link aan bladwijzers toevoegen."', + 'label' => 'Abonneren', + 'title' => 'Bookmarklet', + ), + 'category' => array( + '_' => 'Categorie', + 'add' => 'Voeg categorie toe', + 'empty' => 'Lege categorie', + 'new' => 'Nieuwe categorie', + ), + 'feed' => array( + 'add' => 'Voeg een RSS feed toe', + 'advanced' => 'Geavanceerd', + 'archiving' => 'Archiveren', + 'auth' => array( + 'configuration' => 'Log in', + 'help' => 'Verbinding toestaan toegang te krijgen tot HTTP beveiligde RSS feeds', + 'http' => 'HTTP Authenticatie', + 'password' => 'HTTP wachtwoord', + 'username' => 'HTTP gebruikers naam', + ), + 'css_help' => 'Haalt verstoorde RSS feeds op (attentie, heeft meer tijd nodig!)', + 'css_path' => 'Artikelen CSS pad op originele website', + 'description' => 'Omschrijving', + 'empty' => 'Deze feed is leeg. Controleer of deze nog actueel is.', + 'error' => 'Deze feed heeft problemen. Verifieer a.u.b het doeladres en actualiseer het.', + 'in_main_stream' => 'Zichtbaar in het overzicht', + 'informations' => 'Informatie', + 'keep_history' => 'Minimum aantal artikelen om te houden', + 'moved_category_deleted' => 'Als u een categorie verwijderd, worden de feeds automatisch geclassificeerd onder <em>%s</em>.', + 'no_selected' => 'Geen feed geselecteerd.', + 'number_entries' => '%d artikelen', + 'pubsubhubbub' => 'Directe notificaties met PubSubHubbub', + 'stats' => 'Statistieken', + 'think_to_add' => 'Voeg wat feeds toe.', + 'title' => 'Titel', + 'title_add' => 'Voeg een RSS feed toe', + 'ttl' => 'Vernieuw automatisch niet vaker dan', + 'url' => 'Feed URL', + 'validator' => 'Controleer de geldigheid van de feed', + 'website' => 'Website URL', + ), + 'firefox' => array( + 'documentation' => 'Volg de stappen die <a href="https://developer.mozilla.org/en-US/Firefox/Releases/2/Adding_feed_readers_to_Firefox#Adding_a_new_feed_reader_manually">hier</a> beschreven wordem om FreshRSS aan de Firefox-nieuwslezerlijst toe te voegen.', + 'title' => 'Firefox-nieuwslezer', + ), + 'import_export' => array( + 'export' => 'Exporteer', + 'export_opml' => 'Exporteer lijst van feeds (OPML)', + 'export_starred' => 'Exporteer je fovorieten', + 'feed_list' => 'Lijst van %s artikelen', + 'file_to_import' => 'Bestand om te importeren<br />(OPML, JSON of ZIP)', + 'file_to_import_no_zip' => 'Bestand om te importeren<br />(OPML of JSON)', + 'import' => 'Importeer', + 'starred_list' => 'Lijst van favoriete artikelen', + 'title' => 'Importeren / exporteren', + ), + 'menu' => array( + 'bookmark' => 'Abonneer (FreshRSS bladwijzer)', + 'import_export' => 'Importeer / exporteer', + 'subscription_management' => 'Abonnementenbeheer', + 'subscription_tools' => 'Subscription tools',// TODO + ), + 'title' => array( + '_' => 'Abonnementenbeheer', + 'feed_management' => 'RSS-feedbeheer', + 'subscription_tools' => 'Subscription tools',// TODO + ), +); diff --git a/app/i18n/pt-br/admin.php b/app/i18n/pt-br/admin.php new file mode 100644 index 000000000..e62718e80 --- /dev/null +++ b/app/i18n/pt-br/admin.php @@ -0,0 +1,188 @@ +<?php + +return array( + 'auth' => array( + 'allow_anonymous' => 'Permitir a leitura anónima dos artidos pelo usuário padrão (%s)', + 'allow_anonymous_refresh' => 'Permitir atualização anónima dos artigos', + 'api_enabled' => 'Permitir acesso à <abbr>API</abbr> <small>(Necessáiro para aplicativos móveis)</small>', + 'form' => 'Formulário Web(traditional, Necessita de JavaScript)', + 'http' => 'HTTP (Para usuários avançados com HTTPS)', + 'none' => 'Nenhum (Perigoso)', + 'title' => 'Autenticação', + 'title_reset' => 'Reset autenticação', + 'token' => 'Token de autenticação ', + 'token_help' => 'Permitir acesso a saída RSS para o usuário padrão sem autenticação', + 'type' => 'Método de autenticação', + 'unsafe_autologin' => 'Permitir login automática insegura usando o seguinte formato: ', + ), + 'check_install' => array( + 'cache' => array( + 'nok' => 'Verifique as permissões no diretório <em>./data/cache</em>. O servidor HTTP deve ter direitos para escrever dentro desta pasta.', + 'ok' => 'Permissões no diretório cache estão corretos.', + ), + 'categories' => array( + 'nok' => 'Tabela Category está configurada incorretamente.', + 'ok' => 'Tabela Category está ok.', + ), + 'connection' => array( + 'nok' => 'Conexão ao banco de dados não pode ser estabelecida.', + 'ok' => 'Conexão ao banco de dados está ok.', + ), + 'ctype' => array( + 'nok' => 'Não foi possível encontrar uma biblioteca necessária para verificação do tipo de caractere (php-ctype).', + 'ok' => 'Você tem a biblioteca necessária para verificação do tipo de caractere (ctype).', + ), + 'curl' => array( + 'nok' => 'Não foi possível encontrar a biblioteca cURL (php-curl).', + 'ok' => 'Você tem a biblioteca cURL.', + ), + 'data' => array( + 'nok' => 'Verifique as permissões no diretório <em>./data</em>. O servidor HTTP deve ter direitos para escrever dentro desta pasta.', + 'ok' => 'Permissões no diretório data estão corretos.', + ), + 'database' => 'Instalação do banco de dados', + 'dom' => array( + 'nok' => 'Não foi possível encontrar uma biblioteca necessária para navegar pelo DOM (php-xml).', + 'ok' => 'Você tem a biblioteca necessária para navegar pelo DOM.', + ), + 'entries' => array( + 'nok' => 'Tabela Entry está configurada incorretamente.', + 'ok' => 'Tabela Entry está ok.', + ), + 'favicons' => array( + 'nok' => 'Verifique as permissões no diretório <em>./data/favicons</em>. O servidor HTTP deve ter direitos para escrever dentro desta pasta.', + 'ok' => 'Permissões no diretório favicons estão corretos.', + ), + 'feeds' => array( + 'nok' => 'Tabela Feed está configurada incorretamente.', + 'ok' => 'Tabela Feed está ok.', + ), + 'fileinfo' => array( + 'nok' => 'Não foi possível encontrar a biblioteca fileinfo do PHP (fileinfo).', + 'ok' => 'Você tem a biblioteca fileinfo.', + ), + 'files' => 'Instalação de arquivos', + 'json' => array( + 'nok' => 'Não foi possível encontrar JSON (php5-json).', + 'ok' => 'Você tem a extensão JSON.', + ), + 'minz' => array( + 'nok' => 'Não foi possível encontrar o framework Minz.', + 'ok' => 'Você tem o framework Minz.', + ), + 'pcre' => array( + 'nok' => 'Não foi possível encontrar uma biblioteca necessário para expressões regulares (php-pcre).', + 'ok' => 'Você tem a biblioteca necessária para expressões regulares (php-pcre).', + ), + 'pdo' => array( + 'nok' => 'Não foi encontrado o PDO ou um dos drivers suportados (pdo_mysql, pdo_sqlite, pdo_pgsql).', + 'ok' => 'Você tem o PDO e ao menos um dos drivers suportados (pdo_mysql, pdo_sqlite, pdo_pgsql).', + ), + 'php' => array( + '_' => 'Instação do PHP', + 'nok' => 'Sua versão do PHP é %s mas FreshRSS requer ao menos a versão %s.', + 'ok' => 'Sua versão do PHP é %s, que é compatível com o FreshRSS.', + ), + 'tables' => array( + 'nok' => 'Há uma ou mais tabelas inexistentes no banco de dados.', + 'ok' => 'As tabelas apropriadas existem no banco de dados.', + ), + 'title' => 'Verificação de instalação', + 'tokens' => array( + 'nok' => 'Verifique as permissões no diretório <em>./data/tokens</em>. O servidor HTTP deve ter direitos para escrever dentro desta pasta.', + 'ok' => 'Permissões no diretório tokens estão corretos.', + ), + 'users' => array( + 'nok' => 'Verifiquei as permissões no diretório <em>./data/users</em>. O servidor HTTP deve ter direitos para escrever dentro desta pasta.', + 'ok' => 'Permissões no diretório users estão corretos.', + ), + 'zip' => array( + 'nok' => 'Não foi possível localizar a extensão ZIP (php-zip).', + 'ok' => 'Você tem a extensão ZIP.', + ), + ), + 'extensions' => array( + 'disabled' => 'Desabilitado', + 'empty_list' => 'Não há extensões instaladas', + 'enabled' => 'Habilitada', + 'no_configure_view' => 'Esta extensão não pode ser configurada.', + 'system' => array( + '_' => 'Extensões do sistema', + 'no_rights' => 'Extensões do sistema (Você não tem direitos para isto)', + ), + 'title' => 'Extensões', + 'user' => 'Extensões do usuário', + 'community' => 'Available community extensions', // @todo translate + 'name' => 'Name', // @todo translate + 'version' => 'Version', // @todo translate + 'description' => 'Description', // @todo translate + 'author' => 'Author', // @todo translate + 'latest' => 'Installed', // @todo translate + 'update' => 'Update available', // @todo translate + ), + 'stats' => array( + '_' => 'Estatísticas', + 'all_feeds' => 'Todos os feeds', + 'category' => 'Categoria', + 'entry_count' => 'Contagem de entrada', + 'entry_per_category' => 'Entradas por categoria', + 'entry_per_day' => 'Entradas por dia (últimos 30 dias)', + 'entry_per_day_of_week' => 'Por dia da semana(média: %.2f mensagens)', + 'entry_per_hour' => 'Por hora (média: %.2f mensagens)', + 'entry_per_month' => 'Por mês(média: %.2f mensagens)', + 'entry_repartition' => 'Repartição de entradas', + 'feed' => 'Feed', + 'feed_per_category' => 'Feeds por categoria', + 'idle' => 'Feeds inativos', + 'main' => 'Estatísticas principais', + 'main_stream' => 'Stream principal', + 'menu' => array( + 'idle' => 'Feeds inativos', + 'main' => 'Estatísticas principais', + 'repartition' => 'Repartição de artigos', + ), + 'no_idle' => 'Não há nenhum feed inativo!', + 'number_entries' => '%d artigos', + 'percent_of_total' => '%% do total', + 'repartition' => 'Repartição de artigos', + 'status_favorites' => 'Favoritos', + 'status_read' => 'Lido', + 'status_total' => 'Total', + 'status_unread' => 'Não lidos', + 'title' => 'Estatísticas', + 'top_feed' => 'Top10 feeds', + ), + 'system' => array( + '_' => 'Configuração do sistema', + 'auto-update-url' => 'URL do servidor para atualização automática', + 'instance-name' => 'Nome da instância', + 'max-categories' => 'Limite de categorias por usuário', + 'max-feeds' => 'Limite de Feeds por usuário', + 'registration' => array( + 'help' => '0 significa que não há limite para a conta', + 'number' => 'Máximo número de contas', + ), + ), + 'update' => array( + '_' => 'Atualização do sistema', + 'apply' => 'Aplicar', + 'check' => 'Buscar por novas atualizações', + 'current_version' => 'Sua versão do FreshRSS é %s.', + 'last' => 'Última verificação: %s', + 'none' => 'Nenhuma atualização para se aplicar', + 'title' => 'Sistema de atualização', + ), + 'user' => array( + 'articles_and_size' => '%s artigos (%s)', + 'create' => 'Criar novo usuário', + 'language' => 'Idioma', + 'number' => 'Há %d conta criada', + 'numbers' => 'Há %d contas criadas', + 'password_form' => 'Senha<br /><small>(para o login pelo método do formulário)</small>', + 'password_format' => 'Ao menos 7 caracteres', + 'title' => 'Gerenciar usuários', + 'user_list' => 'Lista de usuários', + 'username' => 'Usuário', + 'users' => 'Usuários', + ), +); diff --git a/app/i18n/pt-br/conf.php b/app/i18n/pt-br/conf.php new file mode 100644 index 000000000..4eaf599db --- /dev/null +++ b/app/i18n/pt-br/conf.php @@ -0,0 +1,174 @@ +<?php + +return array( + 'archiving' => array( + '_' => 'Arquivar', + 'advanced' => 'Avançado', + 'delete_after' => 'Remover artigos depois', + 'help' => 'Mais opções estão disponíveis nas configurações individuais do feed', + 'keep_history_by_feed' => 'Número mínimo de artigos para deixar no feed', + 'optimize' => 'Otimizar banco de dados', + 'optimize_help' => 'Faça ocasionalmente para reduzir o tamanho do banco de dados', + 'purge_now' => 'Purge agora', + 'title' => 'Arquivar', + 'ttl' => 'Não atualize automaticamente mais frequente que', + ), + 'display' => array( + '_' => 'Exibição', + 'icon' => array( + 'bottom_line' => 'Linha inferior', + 'entry' => 'Ícones de artigos', + 'publication_date' => 'Data da publicação', + 'related_tags' => 'Tags relacionadas', + 'sharing' => 'Compartilhar', + 'top_line' => 'Linha superior', + ), + 'language' => 'Ídioma', + 'notif_html5' => array( + 'seconds' => 'segundos (0 significa sem timeout)', + 'timeout' => 'Notificação em HTML5 de timeout', + ), + 'theme' => 'Tema', + 'title' => 'Exibição', + 'width' => array( + 'content' => 'Largura do conteúdo', + 'large' => 'Largo', + 'medium' => 'Médio', + 'no_limit' => 'Sem lmite', + 'thin' => 'Fino', + ), + ), + 'query' => array( + '_' => 'Queries do usuário', + 'deprecated' => 'Esta não é mais válida. A categoria ou feed relacionado foi deletado.', + 'filter' => 'Filtro aplicado:', + 'get_all' => 'Mostrar todos os artigos', + 'get_category' => 'Visualizar "%s" categoria', + 'get_favorite' => 'Visualizar artigos favoritos', + 'get_feed' => 'Visualizar "%s" feed', + 'no_filter' => 'Sem filtro', + 'none' => 'Você não criou nenhuma query de usuário ainda.', + 'number' => 'Query n°%d', + 'order_asc' => 'Exibir artigos mais antigos primeiro', + 'order_desc' => 'Exibir artigos mais novos primeiro', + 'search' => 'Busca por "%s"', + 'state_0' => 'Exibir todos os artigos', + 'state_1' => 'Exibir artigos lidos', + 'state_2' => 'Exibir artigos não lidos', + 'state_3' => 'Exibir todos os artigos', + 'state_4' => 'Exibir artigos favoritos', + 'state_5' => 'Exibir artigos favoritos lidos', + 'state_6' => 'Exibir artigos favoritos não lidos', + 'state_7' => 'Exibir artigos favoritos', + 'state_8' => 'Exibir artigos que não são favoritos', + 'state_9' => 'Exibir artigos que não são favoritos lidos', + 'state_10' => 'Exibir artigos que não são favoritos não lidos', + 'state_11' => 'Exibir artigos que não são favoritos', + 'state_12' => 'Exibir todos os artigos', + 'state_13' => 'Exibir artigos lidos', + 'state_14' => 'Exibir artigos não lidos', + 'state_15' => 'Exibir todos os artigos', + 'title' => 'Queries de usuários', + ), + 'profile' => array( + '_' => 'Gerenciamento de perfil', + 'delete' => array( + '_' => 'Remover conta', + 'warn' => 'Sua conta e todos os dados relacionados serão removidos.', + ), + 'password_api' => 'Senha da API<br /><small>(p.s., para aplicativos móveis)</small>', + 'password_form' => 'Senha<br /><small>(para o método de formulário web)</small>', + 'password_format' => 'Ao menos 7 caracteres', + 'title' => 'Perfil', + ), + 'reading' => array( + '_' => 'Leitura', + 'after_onread' => 'Depois de "marcar todos como lido",', + 'articles_per_page' => 'Número de artigos por página', + 'auto_load_more' => 'Carregar mais artigos no final da página', + 'auto_remove_article' => 'Esconder artigos depois de lidos', + 'mark_updated_article_unread' => 'Marcar artigos atualizados como não lidos', + 'confirm_enabled' => 'Exibir uma caixa de diálogo de confirmação quando acionar "marcar todos como lido"', + 'display_articles_unfolded' => 'Mostrar aritogs abertos por padrão', + 'display_categories_unfolded' => 'Mostrar artigos fechados por padrão', + 'hide_read_feeds' => 'Esconder categorias e feeds com nenhum artigo não lido (não funciona com a configuração "Mostrar todos os artigos”)', + 'img_with_lazyload' => 'Utilizar o modo "lazy load" para carregar as imagens', + 'sides_close_article' => 'Clicando fora da área do texto do artigo fecha o mesmo', + 'jump_next' => 'Vá para o próximo irmão não lido (feed ou categoria)', + 'number_divided_when_reader' => 'Dividido por 2 no modo de leitura .', + 'read' => array( + 'article_open_on_website' => 'quando o artigo é aberto no site original', + 'article_viewed' => 'Quando o artigo é visualizado', + 'scroll' => 'enquando scrolling', + 'upon_reception' => 'ao receber um artigo', + 'when' => 'Marcar artigo como lido…', + ), + 'show' => array( + '_' => 'Artigos para exibir', + 'adaptive' => 'Ajustar visualização', + 'all_articles' => 'Exibir todos os artigos', + 'unread' => 'Exibir apenas não lido', + ), + 'sort' => array( + '_' => 'Ordem de visualização', + 'newer_first' => 'Novos primeiro', + 'older_first' => 'Antigos primeiro', + ), + 'sticky_post' => 'Coloque o artigo no topo quando aberto', + 'title' => 'Lendo', + 'view' => array( + 'default' => 'Visualização padrão', + 'global' => 'Visualização global', + 'normal' => 'Visualização normal', + 'reader' => 'Visualização de leitura', + ), + ), + 'sharing' => array( + '_' => 'Compartilhando', + 'blogotext' => 'Blogotext', + 'diaspora' => 'Diaspora*', + 'email' => 'Email', + 'facebook' => 'Facebook', + 'g+' => 'Google+', + 'more_information' => 'Mais informação', + 'print' => 'Imprimir', + 'shaarli' => 'Shaarli', + 'share_name' => 'Nome de visualização para compartilhar', + 'share_url' => 'URL utilizada para compartilhar', + 'title' => 'Compartilhando', + 'twitter' => 'Twitter', + 'wallabag' => 'wallabag', + ), + 'shortcut' => array( + '_' => 'Atalhos', + 'article_action' => 'Ações no artigo', + 'auto_share' => 'Compartilhar', + 'auto_share_help' => 'Se há apenas um modo de compartilhamento, ele é usado. Caso contrário, serão acessíveis pelo seu número.', + 'close_dropdown' => 'Fechar menus', + 'collapse_article' => 'Fechar', + 'first_article' => 'Ir para o primeiro artigo', + 'focus_search' => 'Acessar a caixa de busca', + 'help' => 'Mostrar documentação', + 'javascript' => 'JavaScript deve ser habilitado para utilizar atalhos', + 'last_article' => 'Ir para o último artigo', + 'load_more' => 'Carregar mais artigos', + 'mark_read' => 'Marcar como lido', + 'mark_favorite' => 'Marcar como favorito', + 'navigation' => 'Navegação', + 'navigation_help' => 'Com o modificador "Shift", atalhos de navegação aplicam aos feeds.<br/>Com o "Alt" modificador, atalhos de navegação aplicam as categorias.', + 'next_article' => 'Pule para o próximo artigo', + 'other_action' => 'Outras ações', + 'previous_article' => 'Pule para o artigo anterior', + 'see_on_website' => 'Visualize o site original', + 'shift_for_all_read' => '+ <code>shift</code> para marcar todos os artigos como lido', + 'title' => 'Atalhos', + 'user_filter' => 'Acesse filtros de usuário', + 'user_filter_help' => 'Se há apenas um filtro, ele é utilizado. Caso contrário, os filtros serão acessíveis pelos seus números.', + ), + 'user' => array( + 'articles_and_size' => '%s artigos (%s)', + 'current' => 'Usuário atual', + 'is_admin' => 'é administrador', + 'users' => 'Usuários', + ), +); diff --git a/app/i18n/pt-br/feedback.php b/app/i18n/pt-br/feedback.php new file mode 100644 index 000000000..0959ad38e --- /dev/null +++ b/app/i18n/pt-br/feedback.php @@ -0,0 +1,109 @@ +<?php + +return array( + 'admin' => array( + 'optimization_complete' => 'Otimização Completa', + ), + 'access' => array( + 'denied' => 'Você não tem permissão para acessar esta página', + 'not_found' => 'VocÊ está buscando por uma página que não existe', + ), + 'auth' => array( + 'form' => array( + 'not_set' => 'Um problema ocorreu durante o sistema de configuração para autenticação. Por favor tente mais tarde.', + 'set' => 'Formulário é agora seu sistema de autenticação padrão.', + ), + 'login' => array( + 'invalid' => 'Login está incorreto', + 'success' => 'Vocé está conectado', + ), + 'logout' => array( + 'success' => 'Você está desconectado', + ), + 'no_password_set' => 'A senha do administrador não foi definida. Este recurso não está disponível.', + ), + 'conf' => array( + 'error' => 'Um erro ocorreu durante o salvamento das configurações', + 'query_created' => 'Query "%s" foi criada.', + 'shortcuts_updated' => 'Atalhos foram criados', + 'updated' => 'Configuração foi atualizada', + ), + 'extensions' => array( + 'already_enabled' => '%s já está habilitado', + 'disable' => array( + 'ko' => '%s não pode ser desabilitado. <a href="%s">verifique os logs do FressRSS</a> para detalhes.', + 'ok' => '%s agora está desabilitado', + ), + 'enable' => array( + 'ko' => '%s não pode ser habilitado. <a href="%s">verifique os logs do FressRSS</a> para detalhes.', + 'ok' => '%s agora está habilitado', + ), + 'no_access' => 'Você não tem acesso ao %s', + 'not_enabled' => '%s não está habilitado', + 'not_found' => '%s não existe', + ), + 'import_export' => array( + 'export_no_zip_extension' => 'extensão ZIP não está presente em seu servidor. Por favor tente exportar os arquivos um por vez.', + 'feeds_imported' => 'Seus feeds foram importados e serão atualizados agora', + 'feeds_imported_with_errors' => 'Seus feeds foram importados, mas alguns erros ocorreram', + 'file_cannot_be_uploaded' => 'Arquivo não pôde ser enviado', + 'no_zip_extension' => 'extensão ZIP não está presente em seu servidor.', + 'zip_error' => 'Um erro ocorreu durante a importação do arquivo ZIP.', + ), + 'sub' => array( + 'actualize' => 'Atualizando', + 'category' => array( + 'created' => 'Categoria %s foi criada.', + 'deleted' => 'Categoria foi deletada.', + 'emptied' => 'Categoria foi esvaziada', + 'error' => 'Categoria não pode ser atualizada', + 'name_exists' => 'Este nome de categoria já existe.', + 'no_id' => 'Você precisa especificar um id para a categoria.', + 'no_name' => 'Nome da categoria não pode ser vazio.', + 'not_delete_default' => 'Você não pode deletar uma categoria vazia!', + 'not_exist' => 'A categoria não existe!', + 'over_max' => 'Você atingiu seu limite de categorias (%d)', + 'updated' => 'Categoria foi atualizada.', + ), + 'feed' => array( + 'actualized' => '<em>%s</em> foi atualizado', + 'actualizeds' => 'RSS feeds foi atualizado', + 'added' => 'RSS feed <em>%s</em> foi adicionado', + 'already_subscribed' => 'Você já está inscrito no <em>%s</em>', + 'deleted' => 'o Feed foi deletado', + 'error' => 'O feed não pode ser atualizado', + 'internal_problem' => 'O RSS feed não pôde ser adicionado. <a href="%s">Verifique os FressRSS logs</a> para detalhes.', + 'invalid_url' => 'URL <em>%s</em> é inválida', + 'marked_read' => 'Feeds foram marcados como lidos', + 'n_actualized' => '%d feeds foram atualizados', + 'n_entries_deleted' => '%d artigos foram deletados', + 'no_refresh' => 'Não há feed para atualizar…', + 'not_added' => '<em>%s</em> não pode ser atualizado', + 'over_max' => 'Você atingiu seu limite de feeds (%d)', + 'updated' => 'Feed foram atualizados', + ), + 'purge_completed' => 'Limpeza completa (%d artigos deletados)', + ), + 'update' => array( + 'can_apply' => 'FreshRSS será atualizado para a <strong>versão %s</strong>.', + 'error' => 'O processo de atualização encontrou um erro: %s', + 'file_is_nok' => 'Nova <strong>versão %s</strong> disponível, mas verifique as permissões no diretório <em>%s</em>. Servidor HTTP deve ter direitos para escrever dentro', + 'finished' => 'Atualização completa!', + 'none' => 'Nenhuma atualização para aplicar', + 'server_not_found' => 'Servidor de atualização não pôde ser localizado. [%s]', + ), + 'user' => array( + 'created' => array( + '_' => 'Usuário %s foi criado', + 'error' => 'Usuário %s não pode ser criado', + ), + 'deleted' => array( + '_' => 'Usuário %s foi deletado', + 'error' => 'Usuário %s não pode ser deletado', + ), + ), + 'profile' => array( + 'error' => 'Your profile cannot be modified', + 'updated' => 'Your profile has been modified', + ), +); diff --git a/app/i18n/pt-br/gen.php b/app/i18n/pt-br/gen.php new file mode 100644 index 000000000..e313b0d8b --- /dev/null +++ b/app/i18n/pt-br/gen.php @@ -0,0 +1,189 @@ +<?php + +return array( + 'action' => array( + 'actualize' => 'Atualizar', + 'back_to_rss_feeds' => '← Volte para o seu feeds RSS', + 'cancel' => 'Cancelar', + 'create' => 'Criar', + 'disable' => 'Desabilitar', + 'empty' => 'Vazio', + 'enable' => 'Habilitar', + 'export' => 'Exportar', + 'filter' => 'Filtrar', + 'import' => 'Importar', + 'manage' => 'Gerenciar', + 'mark_favorite' => 'Marcar como favorito', + 'mark_read' => 'Marcar como lido', + 'remove' => 'Remover', + 'see_website' => 'Ver o site', + 'submit' => 'Enviar', + 'truncate' => 'Deletar todos os artigos', + ), + 'auth' => array( + 'email' => 'Endereço de e-mail', + 'keep_logged_in' => 'Mantenha logado por <small>(%s days)</small>', + 'login' => 'Login', + 'logout' => 'Logout', + 'password' => array( + '_' => 'Senha', + 'format' => '<small>Ao menos 7 caracteres</small>', + ), + 'registration' => array( + '_' => 'Nova conta', + 'ask' => 'Criar novoa conta?', + 'title' => 'Criação de conta', + ), + 'reset' => 'Reset autenticação', + 'username' => array( + '_' => 'Usuário', + 'admin' => 'Usuário administrador', + 'format' => '<small>máximo 16 caracteres alphanumericos</small>', + ), + ), + 'date' => array( + 'Apr' => '\\A\\b\\r\\i\\l', + 'Aug' => '\\A\\g\\o\\s\\t\\o', + 'Dec' => '\\D\\e\\z\\e\\m\\b\\r\\o', + 'Feb' => '\\F\\e\\v\\e\\r\\e\\i\\r\\o', + 'Jan' => '\\J\\a\\n\\e\\i\\r\\o', + 'Jul' => '\\J\\u\\l\\h\\o', + 'Jun' => '\\J\\u\\n\\h\\o', + 'Mar' => '\\M\\a\\r\\ç\\o', + 'May' => '\\M\\a\\i\\o', + 'Nov' => '\\N\\o\\v\\e\\m\\b\\r\\o', + 'Oct' => '\\O\\u\\t\\u\\b\\r\\o', + 'Sep' => '\\S\\e\\t\\e\\m\\b\\r\\o', + 'apr' => 'abr', + 'april' => 'Abr', + 'aug' => 'ago', + 'august' => 'Ago', + 'before_yesterday' => 'Antes de ontem', + 'dec' => 'dez', + 'december' => 'Dez', + 'feb' => 'fev', + 'february' => 'Fev', + 'format_date' => 'j \\d\\e %s \\d\\e Y', + 'format_date_hour' => 'j \\d\\e %s \\d\\e Y\\, H\\:i', + 'fri' => 'Sex', + 'jan' => 'jan', + 'january' => 'Jan', + 'jul' => 'jul', + 'july' => 'Jul', + 'jun' => 'jun', + 'june' => 'Jun', + 'last_3_month' => 'Últimos três meses', + 'last_6_month' => 'Últimos seis meses', + 'last_month' => 'Últimos mês', + 'last_week' => 'Última semana', + 'last_year' => 'Último ano', + 'mar' => 'mar', + 'march' => 'Mar', + 'may' => 'Mai', + 'mon' => 'Seg', + 'month' => 'meses', + 'nov' => 'nov', + 'november' => 'Nov', + 'oct' => 'out', + 'october' => 'Out', + 'sat' => 'Sab', + 'sep' => 'set', + 'september' => 'Set', + 'sun' => 'Dom', + 'thu' => 'Qui', + 'today' => 'Hoje', + 'tue' => 'Ter', + 'wed' => 'Qua', + 'yesterday' => 'Ontem', + ), + 'freshrss' => array( + '_' => 'FreshRSS', + 'about' => 'Sobre FreshRSS', + ), + 'js' => array( + 'category_empty' => 'Categoria vazia', + 'confirm_action' => 'Você tem certeza que deseja efetuar esta ação? Ela não poderá ser cancelada!', + 'confirm_action_feed_cat' => 'Você tem certeza que deseja efetuar esta ação ? Você irá perder favoritos e queries de usuários. Não poderá ser cancelado!', + 'feedback' => array( + 'body_new_articles' => 'Há %%d novos artigos para ler no FreshRSS.', + 'request_failed' => 'Uma solicitação falhou, isto pode ter sido causado por problemas de conexão com a internet.', + 'title_new_articles' => 'FreshRSS: novos artigos!', + ), + 'new_article' => 'Há novos artigos disponíveis, clique para atualizar a página.', + 'should_be_activated' => 'JavaScript precisa estar ativo', + ), + 'lang' => array( + 'cz' => 'Čeština', + 'de' => 'Deutsch', + 'en' => 'English', + 'es' => 'Español', + 'fr' => 'Français', + 'it' => 'Italiano', + 'kr' => '한국어', + 'nl' => 'Nederlands', + 'pt-br' => 'Português (Brasil)', + 'ru' => 'Русский', + 'tr' => 'Türkçe', + 'zh-cn' => '简体中文', + ), + 'menu' => array( + 'about' => 'Sobre', + 'admin' => 'Administração', + 'archiving' => 'Arquivar', + 'authentication' => 'Autenticação', + 'check_install' => 'Verificação de instalação', + 'configuration' => 'Configuração', + 'display' => 'Visualização', + 'extensions' => 'Extensões', + 'logs' => 'Logs', + 'queries' => 'Queries de usuário', + 'reading' => 'Leitura', + 'search' => 'Procurar por palavras ou #tags', + 'sharing' => 'Compartilhamento', + 'shortcuts' => 'Atalhos', + 'stats' => 'Estatísticas', + 'system' => 'Configuração do sistema', + 'update' => 'Atualização', + 'user_management' => 'Gerenciamento de usuários', + 'user_profile' => 'Perfil', + ), + 'pagination' => array( + 'first' => 'Primeiro', + 'last' => 'Último', + 'load_more' => 'Carregar mais artigos', + 'mark_all_read' => 'Marcar todos como lidos', + 'next' => 'Próximo', + 'nothing_to_load' => 'Não há mais artigos', + 'previous' => 'Anterior', + ), + 'share' => array( + 'Known' => 'Known based sites', + 'blogotext' => 'Blogotext', + 'diaspora' => 'Diaspora*', + 'email' => 'Email', + 'facebook' => 'Facebook', + 'g+' => 'Google+', + 'gnusocial' => 'GNU social', + 'jdh' => 'Journal du hacker', + 'mastodon' => 'Mastodon', + 'movim' => 'Movim', + 'print' => 'Imprimir', + 'shaarli' => 'Shaarli', + 'twitter' => 'Twitter', + 'wallabag' => 'wallabag v1', + 'wallabagv2' => 'wallabag v2', + ), + 'short' => array( + 'attention' => 'Atencão!', + 'blank_to_disable' => 'Deixe em branco para desativar', + 'by_author' => 'Por <em>%s</em>', + 'by_default' => 'Por padrão', + 'damn' => 'Buumm!', + 'default_category' => 'Sem categoria', + 'no' => 'Não', + 'not_applicable' => 'Não disponível', + 'ok' => 'Ok!', + 'or' => 'ou', + 'yes' => 'Sim', + ), +); diff --git a/app/i18n/pt-br/index.php b/app/i18n/pt-br/index.php new file mode 100644 index 000000000..610f00840 --- /dev/null +++ b/app/i18n/pt-br/index.php @@ -0,0 +1,61 @@ +<?php + +return array( + 'about' => array( + '_' => 'Sobre', + 'agpl3' => '<a href="https://www.gnu.org/licenses/agpl-3.0.html">AGPL 3</a>', + 'bugs_reports' => 'Reportar Bugs', + 'credits' => 'Créditos', + 'credits_content' => 'Alguns elementos de design vieram do <a href="http://twitter.github.io/bootstrap/">Bootstrap</a> Embora FreshRRS não utiliza este framework. <a href="https://git.gnome.org/browse/gnome-icon-theme-symbolic">Ícones</a> vieram do <a href="https://www.gnome.org/">GNOME project</a>. <em>Open Sans</em> font police foi criada por <a href="https://fonts.google.com/specimen/Open+Sans">Steve Matteson</a>. FreshRSS é baseado no <a href="https://github.com/marienfressinaud/MINZ">Minz</a>, um framework PHP.', + 'freshrss_description' => 'FreshRSS é um RSS feeds aggregator para um host próprio como o <a href="http://tontof.net/kriss/feed/">Kriss Feed</a> ou <a href="http://projet.idleman.fr/leed/">Leed</a>. É leve e fácil de utilizar enquanto é uma ferramenta poderosa e configurável. ', + 'github' => '<a href="https://github.com/FreshRSS/FreshRSS/issues">no Github</a>', + 'license' => 'licença', + 'project_website' => 'Site do projeto', + 'title' => 'Sobre', + 'version' => 'Versão', + 'website' => 'Site', + ), + 'feed' => array( + 'add' => 'Você pode adicionar alguns feeds.', + 'empty' => 'Não há nenhum artigo para mostrar.', + 'rss_of' => 'RSS feed do %s', + 'title' => 'Seus RSS feeds', + 'title_global' => 'Visualização Global', + 'title_fav' => 'Seus favoritos', + ), + 'log' => array( + '_' => 'Logs', + 'clear' => 'Limpar logs', + 'empty' => 'Arquivo de log está vazio', + 'title' => 'Logs', + ), + 'menu' => array( + 'about' => 'Sobre o FreshRSS', + 'add_query' => 'Adicionar uma query', + 'before_one_day' => 'Antes de um dia', + 'before_one_week' => 'Antes de uma semana', + 'favorites' => 'Favoritos (%s)', + 'global_view' => 'Visualização global', + 'main_stream' => 'Stream principal', + 'mark_all_read' => 'Marcar todos como lidos', + 'mark_cat_read' => 'Marcar categoria como lida', + 'mark_feed_read' => 'Marcar feed com lido', + 'newer_first' => 'Novos primeiro', + 'non-starred' => 'Mostrar todos, exceto favoritos', + 'normal_view' => 'visualização normal', + 'older_first' => 'Antigos primeiro', + 'queries' => 'Queries do usuário', + 'read' => 'Mostrar apenas lidos', + 'reader_view' => 'Visualização de leitura', + 'rss_view' => 'RSS feed', + 'search_short' => 'Buscar', + 'starred' => 'Mostrar apenas os favoritos', + 'stats' => 'Estatísticas', + 'subscription' => 'Gerenciamento de inscrições', + 'unread' => 'Mostrar apenas os não lidos', + ), + 'share' => 'Compartilhar', + 'tag' => array( + 'related' => 'Tags relacionadas', + ), +); diff --git a/app/i18n/pt-br/install.php b/app/i18n/pt-br/install.php new file mode 100644 index 000000000..3ca5fb854 --- /dev/null +++ b/app/i18n/pt-br/install.php @@ -0,0 +1,119 @@ +<?php + +return array( + 'action' => array( + 'finish' => 'Instalação completa', + 'fix_errors_before' => 'Por favor resolva os erros antes de ir para o próximo passo.', + 'keep_install' => 'Mantenha as configurações anteriores', + 'next_step' => 'Vá para o próximo passo', + 'reinstall' => 'Reinstale o FreshRSS', + ), + 'auth' => array( + 'form' => 'Formulário web(tradicional, necessita JavaScript)', + 'http' => 'HTTP (Para usuários avançados com HTTPS)', + 'none' => 'None (perigoso)', + 'password_form' => 'Senha<br /><small>(Para o método do login pelo formulário)</small>', + 'password_format' => 'Ao menos 7 caracteres', + 'type' => 'Método de autenticação', + ), + 'bdd' => array( + '_' => 'Banco de dados', + 'conf' => array( + '_' => 'Configuração do banco de dados', + 'ko' => 'Verifique as informações do seu banco de dados.', + 'ok' => 'Configurações do banco de dados foram salvas.', + ), + 'host' => 'Host', + 'prefix' => 'Prefixo da tabela', + 'password' => 'Senha do banco de dados', + 'type' => 'Tipo do banco de dados', + 'username' => 'Usuário do banco de dados', + ), + 'check' => array( + '_' => 'Verificações', + 'already_installed' => 'Verificamos que o FreshRSS já está instalado!', + 'cache' => array( + 'nok' => 'Verifique as permissões no diretório <em>./data/cache</em>. O servidor HTTP deve ter direitos para escrever dentro desta pasta.', + 'ok' => 'Permissões no diretório cache estão corretos.', + ), + 'ctype' => array( + 'nok' => 'Não foi possível encontrar uma biblioteca necessária para verificação do tipo de caractere (php-ctype).', + 'ok' => 'Você tem a biblioteca necessária para verificação do tipo de caractere (ctype).', + ), + 'curl' => array( + 'nok' => 'Não foi possível encontrar a biblioteca cURL (php-curl).', + 'ok' => 'Você tem a biblioteca cURL.', + ), + 'data' => array( + 'nok' => 'Verifique as permissões no diretório <em>./data</em>. O servidor HTTP deve ter direitos para escrever dentro desta pasta.', + 'ok' => 'Permissões no diretório data estão corretos.', + ), + 'dom' => array( + 'nok' => 'Não foi possível encontrar uma biblioteca necessária para navegar pelo DOM (php-xml).', + 'ok' => 'Você tem a biblioteca necessária para navegar pelo DOM.', + ), + 'favicons' => array( + 'nok' => 'Verifique as permissões no diretório <em>./data/favicons</em>. O servidor HTTP deve ter direitos para escrever dentro desta pasta.', + 'ok' => 'Permissões no diretório favicons estão corretos.', + ), + 'fileinfo' => array( + 'nok' => 'Não foi possível encontrar a biblioteca fileinfo do PHP (fileinfo).', + 'ok' => 'Você tem a biblioteca fileinfo.', + ), + 'http_referer' => array( + 'nok' => 'Por favor verifique se você não está alterando seu HTTP REFERER.', + 'ok' => 'Seu HTTP REFERER é conhecido e corresponde ao seu servidor.', + ), + 'json' => array( + 'nok' => 'Não foi possível encontrar JSON (php5-json).', + 'ok' => 'Você tem a extensão JSON.', + ), + 'minz' => array( + 'nok' => 'Não foi possível encontrar o framework Minz.', + 'ok' => 'Você tem o framework Minz.', + ), + 'pcre' => array( + 'nok' => 'Não foi possível encontrar uma biblioteca necessário para expressões regulares (php-pcre).', + 'ok' => 'Você tem a biblioteca necessária para expressões regulares (php-pcre).', + ), + 'pdo' => array( + 'nok' => 'Não foi encontrado o PDO ou um dos drivers suportados (pdo_mysql, pdo_sqlite, pdo_pgsql).', + 'ok' => 'Você tem o PDO e ao menos um dos drivers suportados (pdo_mysql, pdo_sqlite, pdo_pgsql).', + ), + 'php' => array( + 'nok' => 'Sua versão do PHP é %s mas FreshRSS requer ao menos a versão %s.', + 'ok' => 'Sua versão do PHP é %s, que é compatível com o FreshRSS.', + ), + 'users' => array( + 'nok' => 'Verifiquei as permissões no diretório <em>./data/users</em>. O servidor HTTP deve ter direitos para escrever dentro desta pasta.', + 'ok' => 'Permissões no diretório users estão corretos.', + ), + 'xml' => array( + 'nok' => 'Não foi possível encontrar a biblioteca necessária para parse o XML.', + 'ok' => 'Você tem a biblioteca necessária para parse o XML.', + ), + ), + 'conf' => array( + '_' => 'Configurações gerais', + 'ok' => 'Configurações gerais foram salvas.', + ), + 'congratulations' => 'Parabéns!', + 'default_user' => 'Usuário do usuário padrão <small>(máximo de 16 caracteres alphanumericos)</small>', + 'delete_articles_after' => 'Remover artigos depois', + 'fix_errors_before' => 'Por favor solucione os erros antes de ir para o próximo passo.', + 'javascript_is_better' => 'FreshRSS é mais agradável com o JavaScript ativo', + 'js' => array( + 'confirm_reinstall' => 'Você irá perder suas configurações anteriores ao reinstalar o FreshRSS. Você está certo que deseja continuar?', + ), + 'language' => array( + '_' => 'Idioma', + 'choose' => 'Escolhar o idioma para o FreshRSS', + 'defined' => 'Idioma foi definido.', + ), + 'not_deleted' => 'Algo deu errado; você deve deletar o arquivo <em>%s</em> manualmente.', + 'ok' => 'O processo de instalação foi um sucesso.', + 'step' => 'passo %d', + 'steps' => 'Passos', + 'title' => 'Instalação · FreshRSS', + 'this_is_the_end' => 'Este é o final', +); diff --git a/app/i18n/pt-br/sub.php b/app/i18n/pt-br/sub.php new file mode 100644 index 000000000..4249dcabf --- /dev/null +++ b/app/i18n/pt-br/sub.php @@ -0,0 +1,71 @@ +<?php + +return array( + 'api' => array( + 'documentation' => 'Copy the following URL to use it within an external tool.',// TODO + 'title' => 'API',// TODO + ), + 'bookmarklet' => array( + 'documentation' => 'Drag this button to your bookmarks toolbar or right-click it and choose "Bookmark This Link". Then click "Subscribe" button in any page you want to subscribe to.',// TODO + 'label' => 'Subscribe',// TODO + 'title' => 'Bookmarklet',// TODO + ), + 'category' => array( + '_' => 'Categoria', + 'add' => 'Adicionar uma categoria', + 'empty' => 'Categoria vazia', + 'new' => 'Nova categoria', + ), + 'feed' => array( + 'add' => 'Adicionar um RSS feed', + 'advanced' => 'Avançado', + 'archiving' => 'Arquivar', + 'auth' => array( + 'configuration' => 'Login', + 'help' => 'Permite acesso a feeds RSS protegidos por HTTP', + 'http' => 'Autenticação HTTP', + 'password' => 'Senha HTTP', + 'username' => 'Usuário HTTP', + ), + 'css_help' => 'Retorna RSS feeds truncados (atenção, requer mais tempo!)', + 'css_path' => 'Caminho do CSS do artigo no site original', + 'description' => 'Descrição', + 'empty' => 'Este feed está vazio. Por favor verifique ele ainda é mantido.', + 'error' => 'Este feed encontra-se com problema. Por favor verifique se ele ainda está disponível e atualize-o.', + 'in_main_stream' => 'Mostrar na tela principal', + 'informations' => 'Informações', + 'keep_history' => 'Número mínimo de artigos para manter', + 'moved_category_deleted' => 'Quando você deleta uma categoria, seus feeds são automaticamente classificados como <em>%s</em>.', + 'no_selected' => 'Nenhum feed selecionado.', + 'number_entries' => '%d artigos', + 'stats' => 'Estatísticas', + 'think_to_add' => 'Você deve adicionar alguns feeds.', + 'title' => 'Título', + 'title_add' => 'Adicionar o RSS feed', + 'ttl' => 'Não atualize automáticamente mais que', + 'url' => 'Feed URL', + 'validator' => 'Verifique a validade do feed', + 'website' => 'URL do site', + 'pubsubhubbub' => 'Notificação instantânea com PubSubHubbub', + ), + 'import_export' => array( + 'export' => 'Exportar', + 'export_opml' => 'Exporta a lista dos feeds (OPML)', + 'export_starred' => 'Exportar seus favoritos', + 'feed_list' => 'Lista dos %s artigos', + 'file_to_import' => 'Arquivo para importar<br />(OPML, JSON or ZIP)', + 'file_to_import_no_zip' => 'Arquivo para importar<br />(OPML or JSON)', + 'import' => 'Importar', + 'starred_list' => 'Listar artigos favoritos', + 'title' => 'Importar / exportar', + ), + 'menu' => array( + 'bookmark' => 'Inscreva-se (FreshRSS favoritos)', + 'import_export' => 'Importar / exportar', + 'subscription_management' => 'Gerenciamento de inscrições', + ), + 'title' => array( + '_' => 'Gerenciamento de inscrições', + 'feed_management' => 'Gerenciamento dos RSS feeds', + ), +); diff --git a/app/i18n/ru/admin.php b/app/i18n/ru/admin.php new file mode 100644 index 000000000..d877c5006 --- /dev/null +++ b/app/i18n/ru/admin.php @@ -0,0 +1,188 @@ +<?php + +return array( + 'auth' => array( + 'allow_anonymous' => 'Разрешить анонимное чтение статей для пользователя по умолчанию (%s)', + 'allow_anonymous_refresh' => 'Разрешить анонимное обновление статей', + 'api_enabled' => 'Включить доступ к <abbr>API</abbr> <small>(необходимо для мобильных приложений)</small>', + 'form' => 'На основе веб-формы (традиционный, необходим JavaScript)', + 'http' => 'HTTP (для продвинутых пользователей - по HTTPS)', + 'none' => 'Без аутентификации (небезопасный)', + 'title' => 'Аутентификации', + 'title_reset' => 'Сброс аутентицикации', + 'token' => 'Токен аутентификации', + 'token_help' => 'Разрешает доступ к RSS ленте пользователя по умолчанию без аутентификации:', + 'type' => 'Метод аутентификации', + 'unsafe_autologin' => 'Разрешить небезопасный автоматический вход с использованием следующего формата: ', + ), + 'check_install' => array( + 'cache' => array( + 'nok' => 'Проверьте права доступа к папке <em>./data/cache</em>. Сервер HTTP должен иметь права на запись в эту папку', + 'ok' => 'Права на <em>./data/cache</em> в порядке.', + ), + 'categories' => array( + 'nok' => 'Таблица категорий настроена неправильно.', + 'ok' => 'Таблица категорий настроена правильно.', + ), + 'connection' => array( + 'nok' => 'Подключение к базе данных не может быть установлено.', + 'ok' => 'Подключение к базе данных в порядке.', + ), + 'ctype' => array( + 'nok' => 'У вас не установлена библиотека для проверки типов символов (php-ctype).', + 'ok' => 'У вас не установлена библиотека для проверки типов символов (ctype).', + ), + 'curl' => array( + 'nok' => 'У вас не установлено расширение cURL (пакет php-curl).', + 'ok' => 'У вас установлено расширение cURL.', + ), + 'data' => array( + 'nok' => 'Проверьте права доступа к папке <em>./data</em> . Сервер HTTP должен иметь права на запись в эту папку.', + 'ok' => 'Права на <em>./data/</em> в порядке.', + ), + 'database' => 'Установка базы данных', + 'dom' => array( + 'nok' => 'У вас не установлена библиотека для просмотра DOM (пакет php-xml).', + 'ok' => 'У вас установлена библиотека для просмотра DOM.', + ), + 'entries' => array( + 'nok' => 'Таблица статей (entry) неправильно настроена.', + 'ok' => 'Таблица статей (entry) настроена правильно.', + ), + 'favicons' => array( + 'nok' => 'Проверьте права доступа к папке <em>./data/favicons</em> . Сервер HTTP должен иметь права на запись в эту папку.', + 'ok' => 'Права на папку значков в порядке.', + ), + 'feeds' => array( + 'nok' => 'Таблица подписок (feed) неправильно настроена.', + 'ok' => 'Таблица подписок (feed) настроена правильно.', + ), + 'fileinfo' => array( + 'nok' => 'У вас не установлено расширение PHP fileinfo (пакет fileinfo).', + 'ok' => 'У вас установлено расширение fileinfo.', + ), + 'files' => 'Установка файлов', + 'json' => array( + 'nok' => 'У вас не установлена библиотека для работы с JSON (пакет php5-json).', + 'ok' => 'У вас установлена библиотека для работы с JSON.', + ), + 'minz' => array( + 'nok' => 'У вас не установлен фрейворк Minz.', + 'ok' => 'У вас установлен фрейворк Minz.', + ), + 'pcre' => array( + 'nok' => 'У вас не установлена необходимая библиотека для работы с регулярными выражениями (php-pcre).', + 'ok' => 'У вас установлена необходимая библиотека для работы с регулярными выражениями (PCRE).', + ), + 'pdo' => array( + 'nok' => 'У вас не установлен PDO или один из необходимых драйверов (pdo_mysql, pdo_sqlite, pdo_pgsql).', + 'ok' => 'У вас установлен PDO и как минимум один из поддерживаемых драйверов (pdo_mysql, pdo_sqlite, pdo_pgsql).', + ), + 'php' => array( + '_' => 'PHP installation', + 'nok' => 'У вас установлен PHP версии %s, но FreshRSS необходима версия не ниже %s.', + 'ok' => 'У вас установлен PHP версии %s, который совместим с FreshRSS.', + ), + 'tables' => array( + 'nok' => 'В базе данных отсуствует одна или больше таблица.', + 'ok' => 'Все таблицы есть в базе данных.', + ), + 'title' => 'Проверка установки и настройки', + 'tokens' => array( + 'nok' => 'Проверьте права доступа к папке <em>./data/tokens</em> . Сервер HTTP должен иметь права на запись в эту папку.', + 'ok' => 'Права на папку tokens в порядке.', + ), + 'users' => array( + 'nok' => 'Проверьте права доступа к папке <em>./data/users</em> . Сервер HTTP должен иметь права на запись в эту папку.', + 'ok' => 'Права на папку users в порядке.', + ), + 'zip' => array( + 'nok' => 'You lack ZIP extension (php-zip package).', + 'ok' => 'You have ZIP extension.', + ), + ), + 'extensions' => array( + 'disabled' => 'Отключены', + 'empty_list' => 'Расширения не установлены', + 'enabled' => 'Включены', + 'no_configure_view' => 'Это расширение нельзя настроить.', + 'system' => array( + '_' => 'Системные расширения', + 'no_rights' => 'Системные расширения (у вас нет к ним доступа)', + ), + 'title' => 'Расширения', + 'user' => 'Расширения пользователя', + 'community' => 'Available community extensions', // @todo translate + 'name' => 'Name', // @todo translate + 'version' => 'Version', // @todo translate + 'description' => 'Description', // @todo translate + 'author' => 'Author', // @todo translate + 'latest' => 'Installed', // @todo translate + 'update' => 'Update available', // @todo translate + ), + 'stats' => array( + '_' => 'Статистика', + 'all_feeds' => 'Все подписки', + 'category' => 'Категория', + 'entry_count' => 'Количество статей', + 'entry_per_category' => 'Статей в категории', + 'entry_per_day' => 'Статей за день (за последние 30 дней)', + 'entry_per_day_of_week' => 'За неделю (в среднем - %.2f сообщений)', + 'entry_per_hour' => 'За час (в среднем - %.2f сообщений)', + 'entry_per_month' => 'За месяц (в среднем - %.2f сообщений)', + 'entry_repartition' => 'Перерасределение статей', + 'feed' => 'Подписка', + 'feed_per_category' => 'Подписок в категории', + 'idle' => 'Неактивные подписки', + 'main' => 'Основная статистика', + 'main_stream' => 'Основной поток', + 'menu' => array( + 'idle' => 'Неактивные подписки', + 'main' => 'Основная статистика', + 'repartition' => 'Перерасределение статей', + ), + 'no_idle' => 'Нет неактивных подписок!', + 'number_entries' => 'статей: %d', + 'percent_of_total' => '%% от всего', + 'repartition' => 'Перераспределение статей', + 'status_favorites' => 'Избранное', + 'status_read' => 'Читать', + 'status_total' => 'Всего', + 'status_unread' => 'Не прочитано', + 'title' => 'Статистика', + 'top_feed' => '10 лучших подписок', + ), + 'system' => array( + '_' => 'Системные настройки', + 'auto-update-url' => 'Адрес сервера для автоматического обновления', + 'instance-name' => 'Название этого сервера', + 'max-categories' => 'Количество категорий на пользователя', + 'max-feeds' => 'Количество статей на пользователя', + 'registration' => array( + 'help' => '0 означает неограниченное количество пользователей', + 'number' => 'Максимальное количество пользователей', + ), + ), + 'update' => array( + '_' => 'Обновление системы', + 'apply' => 'Применить', + 'check' => 'Проверить обновления', + 'current_version' => 'Ваша текущая версия FreshRSS: %s.', + 'last' => 'Последняя проверка: %s', + 'none' => 'Нечего обновлять', + 'title' => 'Обновить систему', + ), + 'user' => array( + 'articles_and_size' => '%s статей (%s)', + 'create' => 'Создать нового пользователя', + 'language' => 'Язык', + 'number' => 'На данный момент создан %d аккаунт', + 'numbers' => 'На данный момент аккаунтов создано: %d', + 'password_form' => 'Пароль<br /><small>(для входа через Веб-форму)</small>', + 'password_format' => 'Минимум 7 символов', + 'title' => 'Управление пользователями', + 'user_list' => 'Список пользователей', + 'username' => 'Имя пользователя', + 'users' => 'Пользователи', + ), +); diff --git a/app/i18n/ru/conf.php b/app/i18n/ru/conf.php new file mode 100644 index 000000000..9c61754ae --- /dev/null +++ b/app/i18n/ru/conf.php @@ -0,0 +1,174 @@ +<?php + +return array( + 'archiving' => array( + '_' => 'Архивация', + 'advanced' => 'Продвинутые настройки', + 'delete_after' => 'Удалять статьи после', + 'help' => 'Каждую подписку можно настроить более гибко', + 'keep_history_by_feed' => 'Minimum number of articles to keep by feed', + 'optimize' => 'Оптимизировать базу данных', + 'optimize_help' => 'To do occasionally to reduce the size of the database', + 'purge_now' => 'Очистить сейчас', + 'title' => 'Архивация', + 'ttl' => 'Не обновлять чаще чем', + ), + 'display' => array( + '_' => 'Display', + 'icon' => array( + 'bottom_line' => 'Bottom line', + 'entry' => 'Article icons', + 'publication_date' => 'Date of publication', + 'related_tags' => 'Related tags', + 'sharing' => 'Sharing', + 'top_line' => 'Top line', + ), + 'language' => 'Язык', + 'notif_html5' => array( + 'seconds' => 'seconds (0 means no timeout)', + 'timeout' => 'HTML5 notification timeout', + ), + 'theme' => 'Тема', + 'title' => 'Display', + 'width' => array( + 'content' => 'Content width', + 'large' => 'Large', + 'medium' => 'Medium', + 'no_limit' => 'No limit', + 'thin' => 'Thin', + ), + ), + 'query' => array( + '_' => 'User queries', + 'deprecated' => 'This query is no longer valid. The referenced category or feed has been deleted.', + 'filter' => 'Filter applied:', + 'get_all' => 'Display all articles', + 'get_category' => 'Display "%s" category', + 'get_favorite' => 'Display favorite articles', + 'get_feed' => 'Display "%s" feed', + 'no_filter' => 'No filter', + 'none' => 'You haven’t created any user query yet.', + 'number' => 'Query n°%d', + 'order_asc' => 'Display oldest articles first', + 'order_desc' => 'Display newest articles first', + 'search' => 'Search for "%s"', + 'state_0' => 'Display all articles', + 'state_1' => 'Display read articles', + 'state_2' => 'Display unread articles', + 'state_3' => 'Display all articles', + 'state_4' => 'Display favorite articles', + 'state_5' => 'Display read favorite articles', + 'state_6' => 'Display unread favorite articles', + 'state_7' => 'Display favorite articles', + 'state_8' => 'Display not favorite articles', + 'state_9' => 'Display read not favorite articles', + 'state_10' => 'Display unread not favorite articles', + 'state_11' => 'Display not favorite articles', + 'state_12' => 'Display all articles', + 'state_13' => 'Display read articles', + 'state_14' => 'Display unread articles', + 'state_15' => 'Display all articles', + 'title' => 'User queries', + ), + 'profile' => array( + '_' => 'Profile management', + 'delete' => array( + '_' => 'Account deletion', + 'warn' => 'Your account and all the related data will be deleted.', + ), + 'password_api' => 'Password API<br /><small>(e.g., for mobile apps)</small>', + 'password_form' => 'Password<br /><small>(for the Web-form login method)</small>', + 'password_format' => 'At least 7 characters', + 'title' => 'Profile', + ), + 'reading' => array( + '_' => 'Reading', + 'after_onread' => 'After “mark all as read”,', + 'articles_per_page' => 'Number of articles per page', + 'auto_load_more' => 'Load next articles at the page bottom', + 'auto_remove_article' => 'Hide articles after reading', + 'mark_updated_article_unread' => 'Mark updated articles as unread', + 'confirm_enabled' => 'Display a confirmation dialog on “mark all as read” actions', + 'display_articles_unfolded' => 'Show articles unfolded by default', + 'display_categories_unfolded' => 'Show categories folded by default', + 'hide_read_feeds' => 'Hide categories & feeds with no unread article (does not work with “Show all articles” configuration)', + 'img_with_lazyload' => 'Use "lazy load" mode to load pictures', + 'sides_close_article' => 'Clicking outside of article text area closes the article', //TODO + 'jump_next' => 'jump to next unread sibling (feed or category)', + 'number_divided_when_reader' => 'Divided by 2 in the reading view.', + 'read' => array( + 'article_open_on_website' => 'when article is opened on its original website', + 'article_viewed' => 'when article is viewed', + 'scroll' => 'while scrolling', + 'upon_reception' => 'upon reception of the article', + 'when' => 'Mark article as read…', + ), + 'show' => array( + '_' => 'Articles to display', + 'adaptive' => 'Adjust showing', + 'all_articles' => 'Show all articles', + 'unread' => 'Show only unread', + ), + 'sort' => array( + '_' => 'Sort order', + 'newer_first' => 'Newer first', + 'older_first' => 'Oldest first', + ), + 'sticky_post' => 'Stick the article to the top when opened', + 'title' => 'Reading', + 'view' => array( + 'default' => 'Default view', + 'global' => 'Global view', + 'normal' => 'Normal view', + 'reader' => 'Reading view', + ), + ), + 'sharing' => array( + '_' => 'Sharing', + 'blogotext' => 'Blogotext', + 'diaspora' => 'Diaspora*', + 'email' => 'Email', + 'facebook' => 'Facebook', + 'g+' => 'Google+', + 'more_information' => 'More information', + 'print' => 'Print', + 'shaarli' => 'Shaarli', + 'share_name' => 'Share name to display', + 'share_url' => 'Share URL to use', + 'title' => 'Sharing', + 'twitter' => 'Twitter', + 'wallabag' => 'wallabag', + ), + 'shortcut' => array( + '_' => 'Shortcuts', + 'article_action' => 'Article actions', + 'auto_share' => 'Share', + 'auto_share_help' => 'If there is only one sharing mode, it is used. Else modes are accessible by their number.', + 'close_dropdown' => 'Close menus', + 'collapse_article' => 'Collapse', + 'first_article' => 'Skip to the first article', + 'focus_search' => 'Access search box', + 'help' => 'Display documentation', + 'javascript' => 'JavaScript must be enabled in order to use shortcuts', + 'last_article' => 'Skip to the last article', + 'load_more' => 'Load more articles', + 'mark_read' => 'Mark as read', + 'mark_favorite' => 'Mark as favourite', + 'navigation' => 'Navigation', + 'navigation_help' => 'With the "Shift" modifier, navigation shortcuts apply on feeds.<br/>With the "Alt" modifier, navigation shortcuts apply on categories.', + 'next_article' => 'Skip to the next article', + 'other_action' => 'Other actions', + 'previous_article' => 'Skip to the previous article', + 'see_on_website' => 'See on original website', + 'shift_for_all_read' => '+ <code>shift</code> to mark all articles as read', + 'title' => 'Shortcuts', + 'user_filter' => 'Access user filters', + 'user_filter_help' => 'If there is only one user filter, it is used. Else filters are accessible by their number.', + ), + 'user' => array( + 'articles_and_size' => '%s articles (%s)', + 'current' => 'Current user', + 'is_admin' => 'is administrator', + 'users' => 'Users', + ), +); diff --git a/app/i18n/ru/feedback.php b/app/i18n/ru/feedback.php new file mode 100644 index 000000000..ffebd6dc9 --- /dev/null +++ b/app/i18n/ru/feedback.php @@ -0,0 +1,109 @@ +<?php + +return array( + 'admin' => array( + 'optimization_complete' => 'Optimisation complete', //TODO + ), + 'access' => array( + 'denied' => 'You don’t have permission to access this page', //TODO + 'not_found' => 'You are looking for a page which doesn’t exist', //TODO + ), + 'auth' => array( + 'form' => array( + 'not_set' => 'A problem occured during authentication system configuration. Please retry later.', //TODO + 'set' => 'Form is now your default authentication system.', //TODO + ), + 'login' => array( + 'invalid' => 'Login is invalid', //TODO + 'success' => 'You are connected', //TODO + ), + 'logout' => array( + 'success' => 'You are disconnected', //TODO + ), + 'no_password_set' => 'Administrator password hasn’t been set. This feature isn’t available.', //TODO + ), + 'conf' => array( + 'error' => 'An error occurred during configuration saving', //TODO + 'query_created' => 'Query "%s" has been created.', //TODO + 'shortcuts_updated' => 'Shortcuts have been updated', //TODO + 'updated' => 'Configuration has been updated', //TODO + ), + 'extensions' => array( + 'already_enabled' => '%s is already enabled', //TODO + 'disable' => array( + 'ko' => '%s cannot be disabled. <a href="%s">Check FressRSS logs</a> for details.', //TODO + 'ok' => '%s is now disabled', //TODO + ), + 'enable' => array( + 'ko' => '%s cannot be enabled. <a href="%s">Check FressRSS logs</a> for details.', //TODO + 'ok' => '%s is now enabled', //TODO + ), + 'no_access' => 'You have no access on %s', //TODO + 'not_enabled' => '%s is not enabled yet', //TODO + 'not_found' => '%s does not exist', //TODO + ), + 'import_export' => array( + 'export_no_zip_extension' => 'ZIP extension is not present on your server. Please try to export files one by one.', //TODO + 'feeds_imported' => 'Your feeds have been imported and will now be updated', //TODO + 'feeds_imported_with_errors' => 'Your feeds have been imported but some errors occurred', //TODO + 'file_cannot_be_uploaded' => 'File cannot be uploaded!', //TODO + 'no_zip_extension' => 'ZIP extension is not present on your server.', //TODO + 'zip_error' => 'An error occured during ZIP import.', //TODO + ), + 'sub' => array( + 'actualize' => 'Actualise', //TODO + 'category' => array( + 'created' => 'Category %s has been created.', //TODO + 'deleted' => 'Category has been deleted.', //TODO + 'emptied' => 'Category has been emptied', //TODO + 'error' => 'Category cannot be updated', //TODO + 'name_exists' => 'Category name already exists.', //TODO + 'no_id' => 'You must precise the id of the category.', //TODO + 'no_name' => 'Category name cannot be empty.', //TODO + 'not_delete_default' => 'You cannot delete the default category!', //TODO + 'not_exist' => 'The category does not exist!', //TODO + 'over_max' => 'You have reached your limit of categories (%d)', //TODO + 'updated' => 'Category has been updated.', //TODO + ), + 'feed' => array( + 'actualized' => '<em>%s</em> has been updated', //TODO + 'actualizeds' => 'RSS feeds have been updated', //TODO + 'added' => 'RSS feed <em>%s</em> has been added', //TODO + 'already_subscribed' => 'You have already subscribed to <em>%s</em>', //TODO + 'deleted' => 'Feed has been deleted', //TODO + 'error' => 'Feed cannot be updated', //TODO + 'internal_problem' => 'The RSS feed could not be added. <a href="%s">Check FressRSS logs</a> for details.', //TODO + 'invalid_url' => 'URL <em>%s</em> is invalid', //TODO + 'marked_read' => 'Feeds have been marked as read', //TODO + 'n_actualized' => '%d feeds have been updated', //TODO + 'n_entries_deleted' => '%d articles have been deleted', //TODO + 'no_refresh' => 'There is no feed to refresh…', //TODO + 'not_added' => '<em>%s</em> could not be added', //TODO + 'over_max' => 'You have reached your limit of feeds (%d)', //TODO + 'updated' => 'Feed has been updated', //TODO + ), + 'purge_completed' => 'Purge completed (%d articles deleted)', //TODO + ), + 'update' => array( + 'can_apply' => 'FreshRSS will now be updated to the <strong>version %s</strong>.', //TODO + 'error' => 'The update process has encountered an error: %s', //TODO + 'file_is_nok' => 'New <strong>version %s</strong> available, but check permissions on <em>%s</em> directory. HTTP server must have rights to write into', //TODO + 'finished' => 'Update completed!', //TODO + 'none' => 'No update to apply', //TODO + 'server_not_found' => 'Update server cannot be found. [%s]', //TODO + ), + 'user' => array( + 'created' => array( + '_' => 'User %s has been created', //TODO + 'error' => 'User %s cannot be created', //TODO + ), + 'deleted' => array( + '_' => 'User %s has been deleted', //TODO + 'error' => 'User %s cannot be deleted', //TODO + ), + ), + 'profile' => array( + 'error' => 'Your profile cannot be modified', //TODO + 'updated' => 'Your profile has been modified', //TODO + ), +); diff --git a/app/i18n/ru/gen.php b/app/i18n/ru/gen.php new file mode 100644 index 000000000..3283731df --- /dev/null +++ b/app/i18n/ru/gen.php @@ -0,0 +1,190 @@ +<?php + +return array( + 'action' => array( + 'actualize' => 'Actualize', + 'back_to_rss_feeds' => '← Go back to your RSS feeds', + 'cancel' => 'Cancel', + 'create' => 'Create', + 'disable' => 'Disable', + 'empty' => 'Empty', + 'enable' => 'Enable', + 'export' => 'Export', + 'filter' => 'Filter', + 'import' => 'Import', + 'manage' => 'Manage', + 'mark_favorite' => 'Mark as favourite', + 'mark_read' => 'Mark as read', + 'remove' => 'Remove', + 'see_website' => 'See website', + 'submit' => 'Submit', + 'truncate' => 'Delete all articles', + ), + 'auth' => array( + 'email' => 'Email address', + 'keep_logged_in' => 'Keep me logged in <small>(%s дней)</small>', + 'login' => 'Login', + 'logout' => 'Logout', + 'password' => array( + '_' => 'Password', + 'format' => '<small>At least 7 characters</small>', + ), + 'registration' => array( + '_' => 'New account', + 'ask' => 'Create an account?', + 'title' => 'Account creation', + ), + 'reset' => 'Authentication reset', + 'username' => array( + '_' => 'Username', + 'admin' => 'Administrator username', + 'format' => '<small>maximum 16 alphanumeric characters</small>', + ), + ), + 'date' => array( + 'Apr' => '\\A\\p\\r\\i\\l', + 'Aug' => '\\A\\u\\g\\u\\s\\t', + 'Dec' => '\\D\\e\\c\\e\\m\\b\\e\\r', + 'Feb' => '\\F\\e\\b\\r\\u\\a\\r\\y', + 'Jan' => '\\J\\a\\n\\u\\a\\r\\y', + 'Jul' => '\\J\\u\\l\\y', + 'Jun' => '\\J\\u\\n\\e', + 'Mar' => '\\M\\a\\r\\c\\h', + 'May' => '\\M\\a\\y', + 'Nov' => '\\N\\o\\v\\e\\m\\b\\e\\r', + 'Oct' => '\\O\\c\\t\\o\\b\\e\\r', + 'Sep' => '\\S\\e\\p\\t\\e\\m\\b\\e\\r', + 'apr' => 'apr', + 'april' => 'Apr', + 'aug' => 'aug', + 'august' => 'Aug', + 'before_yesterday' => 'Before yesterday', + 'dec' => 'dec', + 'december' => 'Dec', + 'feb' => 'feb', + 'february' => 'Feb', + 'format_date' => '%s j\\<\\s\\u\\p\\>S\\<\\/\\s\\u\\p\\> Y', + 'format_date_hour' => '%s j\\<\\s\\u\\p\\>S\\<\\/\\s\\u\\p\\> Y \\a\\t H\\:i', + 'fri' => 'Fri', + 'jan' => 'jan', + 'january' => 'Jan', + 'jul' => 'jul', + 'july' => 'Jul', + 'jun' => 'jun', + 'june' => 'Jun', + 'last_3_month' => 'Last three months', + 'last_6_month' => 'Last six months', + 'last_month' => 'Last month', + 'last_week' => 'Last week', + 'last_year' => 'Last year', + 'mar' => 'mar', + 'march' => 'Mar', + 'may' => 'May', + 'may_' => 'May', + 'mon' => 'Mon', + 'month' => 'months', + 'nov' => 'nov', + 'november' => 'Nov', + 'oct' => 'oct', + 'october' => 'Oct', + 'sat' => 'Sat', + 'sep' => 'sep', + 'september' => 'Sep', + 'sun' => 'Sun', + 'thu' => 'Thu', + 'today' => 'Today', + 'tue' => 'Tue', + 'wed' => 'Wed', + 'yesterday' => 'Yesterday', + ), + 'freshrss' => array( + '_' => 'FreshRSS', + 'about' => 'About FreshRSS', + ), + 'js' => array( + 'category_empty' => 'Empty category', + 'confirm_action' => 'Are you sure you want to perform this action? It cannot be cancelled!', + 'confirm_action_feed_cat' => 'Are you sure you want to perform this action? You will lose related favorites and user queries. It cannot be cancelled!', + 'feedback' => array( + 'body_new_articles' => 'There are %%d new articles to read on FreshRSS.', + 'request_failed' => 'A request has failed, it may have been caused by Internet connection problems.', + 'title_new_articles' => 'FreshRSS: new articles!', + ), + 'new_article' => 'There are new available articles, click to refresh the page.', + 'should_be_activated' => 'JavaScript must be enabled', + ), + 'lang' => array( + 'cz' => 'Čeština', + 'de' => 'Deutsch', + 'en' => 'English', + 'es' => 'Español', + 'fr' => 'Français', + 'it' => 'Italiano', + 'kr' => '한국어', + 'nl' => 'Nederlands', + 'pt-br' => 'Português (Brasil)', + 'ru' => 'Русский', + 'tr' => 'Türkçe', + 'zh-cn' => '简体中文', + ), + 'menu' => array( + 'about' => 'About', + 'admin' => 'Administration', + 'archiving' => 'Archiving', + 'authentication' => 'Authentication', + 'check_install' => 'Installation checking', + 'configuration' => 'Configuration', + 'display' => 'Display', + 'extensions' => 'Extensions', + 'logs' => 'Logs', + 'queries' => 'User queries', + 'reading' => 'Reading', + 'search' => 'Search words or #tags', + 'sharing' => 'Sharing', + 'shortcuts' => 'Shortcuts', + 'stats' => 'Statistics', + 'system' => 'System configuration', + 'update' => 'Update', + 'user_management' => 'Manage users', + 'user_profile' => 'Profile', + ), + 'pagination' => array( + 'first' => 'First', + 'last' => 'Last', + 'load_more' => 'Load more articles', + 'mark_all_read' => 'Mark all as read', + 'next' => 'Next', + 'nothing_to_load' => 'There are no more articles', + 'previous' => 'Previous', + ), + 'share' => array( + 'Known' => 'Known based sites', + 'blogotext' => 'Blogotext', + 'diaspora' => 'Diaspora*', + 'email' => 'Email', + 'facebook' => 'Facebook', + 'g+' => 'Google+', + 'gnusocial' => 'GNU social', + 'jdh' => 'Journal du hacker', + 'mastodon' => 'Mastodon', + 'movim' => 'Movim', + 'print' => 'Print', + 'shaarli' => 'Shaarli', + 'twitter' => 'Twitter', + 'wallabag' => 'wallabag v1', + 'wallabagv2' => 'wallabag v2', + ), + 'short' => array( + 'attention' => 'Warning!', + 'blank_to_disable' => 'Leave blank to disable', + 'by_author' => 'By <em>%s</em>', + 'by_default' => 'By default', + 'damn' => 'Damn!', + 'default_category' => 'Uncategorized', + 'no' => 'No', + 'not_applicable' => 'Not available', + 'ok' => 'Ok!', + 'or' => 'or', + 'yes' => 'Yes', + ), +); diff --git a/app/i18n/ru/index.php b/app/i18n/ru/index.php new file mode 100644 index 000000000..eb6413e3c --- /dev/null +++ b/app/i18n/ru/index.php @@ -0,0 +1,61 @@ +<?php + +return array( + 'about' => array( + '_' => 'About', + 'agpl3' => '<a href="https://www.gnu.org/licenses/agpl-3.0.html">AGPL 3</a>', + 'bugs_reports' => 'Bugs reports', + 'credits' => 'Credits', + 'credits_content' => 'Some design elements come from <a href="http://twitter.github.io/bootstrap/">Bootstrap</a> although FreshRSS doesn’t use this framework. <a href="https://git.gnome.org/browse/gnome-icon-theme-symbolic">Icons</a> come from <a href="https://www.gnome.org/">GNOME project</a>. <em>Open Sans</em> font police has been created by <a href="https://fonts.google.com/specimen/Open+Sans">Steve Matteson</a>. FreshRSS is based on <a href="https://github.com/marienfressinaud/MINZ">Minz</a>, a PHP framework.', + 'freshrss_description' => 'FreshRSS is a RSS feeds aggregator to self-host like <a href="http://tontof.net/kriss/feed/">Kriss Feed</a> or <a href="http://projet.idleman.fr/leed/">Leed</a>. It is light and easy to take in hand while being powerful and configurable tool.', + 'github' => '<a href="https://github.com/FreshRSS/FreshRSS/issues">on Github</a>', + 'license' => 'License', + 'project_website' => 'Project website', + 'title' => 'About', + 'version' => 'Version', + 'website' => 'Website', + ), + 'feed' => array( + 'add' => 'You may add some feeds.', + 'empty' => 'There is no article to show.', + 'rss_of' => 'RSS feed of %s', + 'title' => 'Your RSS feeds', + 'title_global' => 'Global view', + 'title_fav' => 'Your favourites', + ), + 'log' => array( + '_' => 'Logs', + 'clear' => 'Clear the logs', + 'empty' => 'Log file is empty', + 'title' => 'Logs', + ), + 'menu' => array( + 'about' => 'About FreshRSS', + 'add_query' => 'Add a query', + 'before_one_day' => 'Before one day', + 'before_one_week' => 'Before one week', + 'favorites' => 'Favourites (%s)', + 'global_view' => 'Global view', + 'main_stream' => 'Main stream', + 'mark_all_read' => 'Mark all as read', + 'mark_cat_read' => 'Mark category as read', + 'mark_feed_read' => 'Mark feed as read', + 'newer_first' => 'Newer first', + 'non-starred' => 'Show all but favorites', + 'normal_view' => 'Normal view', + 'older_first' => 'Oldest first', + 'queries' => 'User queries', + 'read' => 'Show only read', + 'reader_view' => 'Reading view', + 'rss_view' => 'RSS feed', + 'search_short' => 'Search', + 'starred' => 'Show only favorites', + 'stats' => 'Statistics', + 'subscription' => 'Subscriptions management', + 'unread' => 'Show only unread', + ), + 'share' => 'Share', + 'tag' => array( + 'related' => 'Related tags', + ), +); diff --git a/app/i18n/ru/install.php b/app/i18n/ru/install.php new file mode 100644 index 000000000..1dea2cd66 --- /dev/null +++ b/app/i18n/ru/install.php @@ -0,0 +1,111 @@ +<?php + +return array( + 'action' => array( + 'finish' => 'Завершить установку', + 'fix_errors_before' => 'Пожалуйста, исправьте ошибки прежде чем переходить к следующему этапу.', + 'keep_install' => 'Сохранить предыдущую установку', + 'next_step' => 'Перейти к следующему этапу', + 'reinstall' => 'Переустановить FreshRSS', + ), + 'auth' => array( + 'form' => 'Вэб-форма (традиционный, необходим JavaScript)', + 'http' => 'HTTP (для продвинутых пользователей с HTTPS)', + 'none' => 'Никакого (опасно)', + 'password_form' => 'Пароль<br /><small>(для метода аутентификации на Вэб-формах)</small>', + 'password_format' => 'Как минимум 7 букв', + 'type' => 'Метод аутентификации', + ), + 'bdd' => array( + '_' => 'База данных', + 'conf' => array( + '_' => 'Конфигурация базы данныхDatabase configuration', + 'ko' => 'Проверьте конфигурацию базы данных.', + 'ok' => 'Конфигурация базы данных сохранена.', + ), + 'host' => 'Хост', + 'prefix' => 'Префикс таблицы', + 'password' => 'Пароль базы данных', + 'type' => 'Тип базы данных', + 'username' => 'Имя пользователя базы данных', + ), + 'check' => array( + '_' => 'Проверки', + 'already_installed' => 'Обнаружена предыдущая установка FreshRSS!', + 'cache' => array( + 'nok' => 'Проверьте права доступа к папке <em>./data/cache</em> . Сервер HTTP должен иметь права на запись в эту папку.', + 'ok' => 'Права на папку кэша в порядке.', + ), + 'ctype' => array( + 'nok' => 'У вас не установлена необходимая библиотека для проверки типов символов (php-ctype).', + 'ok' => 'У вас установлена необходимая библиотека для проверки типов символов (ctype).', + ), + 'curl' => array( + 'nok' => 'У вас нет расширения cURL (пакет php-curl).', + 'ok' => 'У вас установлено расширение cURL.', + ), + 'data' => array( + 'nok' => 'Проверьте права доступа к папке <em>./data</em> . Сервер HTTP должен иметь права на запись в эту папку.', + 'ok' => 'Права на <em>./data/</em> в порядке.', + ), + 'dom' => array( + 'nok' => 'У вас не установлена необходимая библиотека для просмотра DOM (пакет php-xml).', + 'ok' => 'У вас установлена необходимая библиотека для просмотра DOM.', + ), + 'favicons' => array( + 'nok' => 'Проверьте права доступа к папке <em>./data/favicons</em> . Сервер HTTP должен иметь права на запись в эту папку.', + 'ok' => 'Права на папку значков в порядке.', + ), + 'fileinfo' => array( + 'nok' => 'У вас нет расширения PHP fileinfo (пакет fileinfo).', + 'ok' => 'У вас установлено расширение fileinfo.', + ), + 'http_referer' => array( + 'nok' => 'Убедитесь, что вы не изменяете ваш HTTP REFERER.', + 'ok' => 'Ваш HTTP REFERER известен и соотвествует вашему серверу.', + ), + 'minz' => array( + 'nok' => 'У вас не установлен фрейворк Minz.', + 'ok' => 'У вас установлен фрейворк Minz.', + ), + 'pcre' => array( + 'nok' => 'У вас не установлена необходимая библиотека для работы с регулярными выражениями (php-pcre).', + 'ok' => 'У вас установлена необходимая библиотека для работы с регулярными выражениями (PCRE).', + ), + 'pdo' => array( + 'nok' => 'У вас не установлен PDO или один из необходимых драйверов (pdo_mysql, pdo_sqlite, pdo_pgsql).', + 'ok' => 'У вас установлен PDO и как минимум один из поддерживаемых драйверов (pdo_mysql, pdo_sqlite, pdo_pgsql).', + ), + 'php' => array( + 'nok' => 'У вас установлен PHP версии %s, но FreshRSS необходима версия не ниже %s.', + 'ok' => 'У вас установлен PHP версии %s, который совместим с FreshRSS.', + ), + 'users' => array( + 'nok' => 'Проверьте права доступа к папке <em>./data/users</em> . Сервер HTTP должен иметь права на запись в эту папку.', + 'ok' => 'Права на папку users в порядке.', + ), + ), + 'conf' => array( + '_' => 'Общие настройки', + 'ok' => 'Общие настройки были сохранены.', + ), + 'congratulations' => 'Поздравляем!', + 'default_user' => 'Имя пользователя по умолчанию <small>(максимум 16 латинских букв и/или цифр)</small>', + 'delete_articles_after' => 'Удалять статьи после', + 'fix_errors_before' => 'Пожалуйста, исправьте ошибки прежде чем переходить к следующему этапу..', + 'javascript_is_better' => 'FreshRSS принесёт больше удовольствия, если включить JavaScript', + 'js' => array( + 'confirm_reinstall' => 'Переустанавливая FreshRSS, вы потеряете предыдущую конфигурацию. Вы хотите продолжить?', + ), + 'language' => array( + '_' => 'Язык', + 'choose' => 'Выберите язык для FreshRSS', + 'defined' => 'Язык выбран.', + ), + 'not_deleted' => 'Что-то пошло не так; удалите файл <em>%s</em> вручную.', + 'ok' => 'Установка успешна.', + 'step' => '%d этап', + 'steps' => 'Этапы', + 'title' => 'Установка · FreshRSS', + 'this_is_the_end' => 'Это конец', +); diff --git a/app/i18n/ru/sub.php b/app/i18n/ru/sub.php new file mode 100644 index 000000000..6a5530de0 --- /dev/null +++ b/app/i18n/ru/sub.php @@ -0,0 +1,77 @@ +<?php + +return array( + 'api' => array( + 'documentation' => 'Copy the following URL to use it within an external tool.',// TODO + 'title' => 'API',// TODO + ), + 'bookmarklet' => array( + 'documentation' => 'Drag this button to your bookmarks toolbar or right-click it and choose "Bookmark This Link". Then click "Subscribe" button in any page you want to subscribe to.',// TODO + 'label' => 'Subscribe',// TODO + 'title' => 'Bookmarklet',// TODO + ), + 'category' => array( + '_' => 'Category',// TODO + 'add' => 'Add a category',// TODO + 'empty' => 'Empty category',// TODO + 'new' => 'New category',// TODO + ), + 'feed' => array( + 'add' => 'Add a RSS feed',// TODO + 'advanced' => 'Advanced',// TODO + 'archiving' => 'Archivage',// TODO + 'auth' => array( + 'configuration' => 'Login',// TODO + 'help' => 'Connection allows to access HTTP protected RSS feeds',// TODO + 'http' => 'HTTP Authentication',// TODO + 'password' => 'HTTP password',// TODO + 'username' => 'HTTP username',// TODO + ), + 'css_help' => 'Retrieves truncated RSS feeds (caution, requires more time!)',// TODO + 'css_path' => 'Articles CSS path on original website',// TODO + 'description' => 'Description',// TODO + 'empty' => 'This feed is empty. Please verify that it is still maintained.',// TODO + 'error' => 'This feed has encountered a problem. Please verify that it is always reachable then actualize it.',// TODO + 'in_main_stream' => 'Show in main stream',// TODO + 'informations' => 'Information',// TODO + 'keep_history' => 'Minimum number of articles to keep',// TODO + 'moved_category_deleted' => 'When you delete a category, its feeds are automatically classified under <em>%s</em>.',// TODO + 'no_selected' => 'No feed selected.',// TODO + 'number_entries' => '%d articles',// TODO + 'stats' => 'Statistics',// TODO + 'think_to_add' => 'You may add some feeds.',// TODO + 'title' => 'Title',// TODO + 'title_add' => 'Add a RSS feed',// TODO + 'ttl' => 'Do not automatically refresh more often than',// TODO + 'url' => 'Feed URL',// TODO + 'validator' => 'Check the validity of the feed',// TODO + 'website' => 'Website URL',// TODO + 'pubsubhubbub' => 'Instant notification with PubSubHubbub',// TODO + ), + 'firefox' => array( + 'documentation' => 'Follow the steps described <a href="https://developer.mozilla.org/en-US/Firefox/Releases/2/Adding_feed_readers_to_Firefox#Adding_a_new_feed_reader_manually">here</a> to add FreshRSS to Firefox feed reader list.',// TODO + 'title' => 'Firefox feed reader',// TODO + ), + 'import_export' => array( + 'export' => 'Export',// TODO + 'export_opml' => 'Export list of feeds (OPML)',// TODO + 'export_starred' => 'Export your favourites',// TODO + 'feed_list' => 'List of %s articles',// TODO + 'file_to_import' => 'File to import<br />(OPML, JSON or ZIP)',// TODO + 'file_to_import_no_zip' => 'File to import<br />(OPML or JSON)',// TODO + 'import' => 'Import',// TODO + 'starred_list' => 'List of favourite articles',// TODO + 'title' => 'Import / export',// TODO + ), + 'menu' => array( + 'bookmark' => 'Subscribe (FreshRSS bookmark)',// TODO + 'import_export' => 'Import / export',// TODO + 'subscription_management' => 'Subscriptions management',// TODO + 'subscription_tools' => 'Subscription tools',// TODO + ), + 'title' => array( + '_' => 'Subscriptions management',// TODO + 'feed_management' => 'RSS feeds management',// TODO + 'subscription_tools' => 'Subscription tools',// TODO + ), +); diff --git a/app/i18n/tr/admin.php b/app/i18n/tr/admin.php new file mode 100644 index 000000000..aa3aad7b7 --- /dev/null +++ b/app/i18n/tr/admin.php @@ -0,0 +1,188 @@ +<?php + +return array( + 'auth' => array( + 'allow_anonymous' => 'Öntanımlı kullanıcının makalelerinin anonim okunmasına izin ver (%s)', + 'allow_anonymous_refresh' => 'Anonim makale yenilemesine izin ver', + 'api_enabled' => '<abbr>API</abbr> erişimine izin ver <small>(mobil uygulamalar için gerekli)</small>', + 'form' => 'Web formu (geleneksel, JavaScript gerektirir)', + 'http' => 'HTTP (ileri kullanıcılar için, HTTPS)', + 'none' => 'Hiçbiri (tehlikeli)', + 'title' => 'Kimlik doğrulama', + 'title_reset' => 'Kimlik doğrulama sıfırla', + 'token' => 'Kimlik doğrulama işareti', + 'token_help' => 'Kimlik doğrulama olmaksızın öntanımlı kullanıcının RSS çıktısına erişime izin ver:', + 'type' => 'Kimlik doğrulama yöntemi', + 'unsafe_autologin' => 'Güvensiz otomatik girişe izin ver: ', + ), + 'check_install' => array( + 'cache' => array( + 'nok' => '<em>./data/cache</em> klasör yetkisini kontrol edin. HTTP yazma yetkisi olmalı', + 'ok' => 'Önbellek klasörü yetkileri sorunsuz.', + ), + 'categories' => array( + 'nok' => 'Kategori tablosu kötü yapılandırılmış.', + 'ok' => 'Kategori tablosu sorunsuz.', + ), + 'connection' => array( + 'nok' => 'Veritabanı ile bağlantı kurulamıyor.', + 'ok' => 'Veritabanı ile bağlantı sorunsuz.', + ), + 'ctype' => array( + 'nok' => 'Karakter yazım kontrolü için kütüphane eksik (php-ctype).', + 'ok' => 'Karakter yazım kontrolü için kütüphane sorunsuz (ctype).', + ), + 'curl' => array( + 'nok' => 'cURL eksik (php-curl package).', + 'ok' => 'cURL eklentisi sorunsuz.', + ), + 'data' => array( + 'nok' => '<em>./data</em> klasör yetkisini kontrol edin. HTTP yazma yetkisi olmalı', + 'ok' => 'Veri klasörü yetkileri sorunsuz.', + ), + 'database' => 'Veritabanı kurulumu', + 'dom' => array( + 'nok' => 'DOM kütüpbanesi eksik (php-xml package).', + 'ok' => 'DOM kütüphanesi sorunsuz.', + ), + 'entries' => array( + 'nok' => 'Giriş tablosu kötü yapılandırılmış.', + 'ok' => 'Giriş tablosu sorunsuz.', + ), + 'favicons' => array( + 'nok' => '<em>./data/favicons</em> klasör yetkisini kontrol edin. HTTP yazma yetkisi olmalı', + 'ok' => 'Site ikonu klasörü yetkileri sorunsuz.', + ), + 'feeds' => array( + 'nok' => 'Akış tablosu kötü yapılandırılmış.', + 'ok' => 'Akış tablosu sorunsuz.', + ), + 'fileinfo' => array( + 'nok' => 'PHP fileinfo eksik (fileinfo package).', + 'ok' => 'fileinfo eklentisi sorunsuz.', + ), + 'files' => 'Dosya kurulumu', + 'json' => array( + 'nok' => 'JSON eklentisi eksik (php5-json package).', + 'ok' => 'JSON eklentisi sorunsuz.', + ), + 'minz' => array( + 'nok' => 'Minz framework eksik.', + 'ok' => 'Minz framework sorunsuz.', + ), + 'pcre' => array( + 'nok' => 'Düzenli ifadeler kütüphanesi eksik (php-pcre).', + 'ok' => 'Düzenli ifadeler kütüphanesi sorunsuz (PCRE).', + ), + 'pdo' => array( + 'nok' => 'PDO veya PDO destekli bir sürücü eksik (pdo_mysql, pdo_sqlite, pdo_pgsql).', + 'ok' => 'PDO sorunsuz (pdo_mysql, pdo_sqlite, pdo_pgsql).', + ), + 'php' => array( + '_' => 'PHP kurulumu', + 'nok' => 'PHP versiyonunuz %s fakat FreshRSS için gerekli olan en düşük sürüm %s.', + 'ok' => 'PHP versiyonunuz %s, FreshRSS ile tam uyumlu.', + ), + 'tables' => array( + 'nok' => 'Veritabanında bir veya daha fazla tablo eksik.', + 'ok' => 'Veritabanı tabloları sorunsuz.', + ), + 'title' => 'Kurulum kontrolü', + 'tokens' => array( + 'nok' => '<em>./data/tokens</em> klasör yetkisini kontrol edin. HTTP yazma yetkisi olmalı', + 'ok' => 'İşaretler klasörü yetkileri sorunsuz..', + ), + 'users' => array( + 'nok' => '<em>./data/users</em> klasör yetkisini kontrol edin. HTTP yazma yetkisi olmalı', + 'ok' => 'Kullanıcılar klasörü yetkileri sorunsuz.', + ), + 'zip' => array( + 'nok' => 'ZIP eklentisi eksik (php-zip package).', + 'ok' => 'ZIP eklentisi sorunsuz.', + ), + ), + 'extensions' => array( + 'disabled' => 'Pasif', + 'empty_list' => 'Yüklenmiş eklenti bulunmamaktadır', + 'enabled' => 'Aktif', + 'no_configure_view' => 'Bu eklenti yapılandırılamaz.', + 'system' => array( + '_' => 'Sistem eklentileri', + 'no_rights' => 'Sistem eklentileri (düzenleme hakkınız yok)', + ), + 'title' => 'Eklentiler', + 'user' => 'Kullanıcı eklentileri', + 'community' => 'Available community extensions', // @todo translate + 'name' => 'Name', // @todo translate + 'version' => 'Version', // @todo translate + 'description' => 'Description', // @todo translate + 'author' => 'Author', // @todo translate + 'latest' => 'Installed', // @todo translate + 'update' => 'Update available', // @todo translate + ), + 'stats' => array( + '_' => 'İstatistikler', + 'all_feeds' => 'Tüm akış', + 'category' => 'Kategori', + 'entry_count' => 'Makale sayısı', + 'entry_per_category' => 'Kategori başı makale sayısı', + 'entry_per_day' => 'Günlük makale sayısı (last 30 days)', + 'entry_per_day_of_week' => 'Haftanın günü (ortalama: %.2f makale)', + 'entry_per_hour' => 'Saatlik (ortalama: %.2f makale)', + 'entry_per_month' => 'Aylık (average: %.2f makale)', + 'entry_repartition' => 'Giriş dağılımı', + 'feed' => 'Akış', + 'feed_per_category' => 'Kategoriye göre akışlar', + 'idle' => 'Boştaki akışlar', + 'main' => 'Ana istatistikler', + 'main_stream' => 'Ana akış', + 'menu' => array( + 'idle' => 'Boştaki akışlar', + 'main' => 'Ana istatistikler', + 'repartition' => 'Makale dağılımı', + ), + 'no_idle' => 'Boşta akış yok!', + 'number_entries' => '%d makale', + 'percent_of_total' => '%% toplamın yüzdesi', + 'repartition' => 'Makale dağılımı', + 'status_favorites' => 'Favoriler', + 'status_read' => 'Okunmuş', + 'status_total' => 'Toplam', + 'status_unread' => 'Okunmamış', + 'title' => 'İstatistikler', + 'top_feed' => 'İlk 10 akış', + ), + 'system' => array( + '_' => 'Sistem yapılandırması', + 'auto-update-url' => 'Otomatik güncelleme sunucu URL', + 'instance-name' => 'Örnek isim', + 'max-categories' => 'Kullanıcı başına kategori limiti', + 'max-feeds' => 'Kullanıcı başına akış limiti', + 'registration' => array( + 'help' => '0 sınır yok anlamındadır', + 'number' => 'En fazla hesap sayısı', + ), + ), + 'update' => array( + '_' => 'Sistem güncelleme', + 'apply' => 'Uygula', + 'check' => 'Güncelleme kontrolü', + 'current_version' => 'Mevcut FreshRSS sürümünüz %s.', + 'last' => 'Son kontrol: %s', + 'none' => 'Yeni güncelleme yok', + 'title' => 'Sistem güncelleme', + ), + 'user' => array( + 'articles_and_size' => '%s makale (%s)', + 'create' => 'Yeni kullanıcı oluştur', + 'language' => 'Dil', + 'number' => 'Oluşturulmuş %d hesap var', + 'numbers' => 'Oluşturulmuş %d hesap var', + 'password_form' => 'Şifre<br /><small>(Tarayıcı girişi için)</small>', + 'password_format' => 'En az 7 karakter', + 'title' => 'Kullanıcıları yönet', + 'user_list' => 'Kullanıcı listesi', + 'username' => 'Kullanıcı adı', + 'users' => 'Kullanıcılar', + ), +); diff --git a/app/i18n/tr/conf.php b/app/i18n/tr/conf.php new file mode 100644 index 000000000..e4c094be2 --- /dev/null +++ b/app/i18n/tr/conf.php @@ -0,0 +1,174 @@ +<?php + +return array( + 'archiving' => array( + '_' => 'Arşiv', + 'advanced' => 'Gelişmiş', + 'delete_after' => 'Makelelerin tutulacağı süre', + 'help' => 'Akış ayarlarında daha çok ayar bulabilirsiniz', + 'keep_history_by_feed' => 'Akışta en az tutulacak makale sayısı', + 'optimize' => 'Veritabanı optimize et', + 'optimize_help' => 'Bu işlem bazen veritabanı boyutunu düşürmeye yardımcı olur', + 'purge_now' => 'Şimdi temizle', + 'title' => 'Arşiv', + 'ttl' => 'Şu süreden sık otomatik yenileme yapma', + ), + 'display' => array( + '_' => 'Görünüm', + 'icon' => array( + 'bottom_line' => 'Alt çizgi', + 'entry' => 'Makale ikonları', + 'publication_date' => 'Yayınlama Tarihi', + 'related_tags' => 'İlgili etiketler', + 'sharing' => 'Paylaşım', + 'top_line' => 'Üst çizgi', + ), + 'language' => 'Dil', + 'notif_html5' => array( + 'seconds' => 'saniye (0 zaman aşımı yok demektir)', + 'timeout' => 'HTML5 bildirim zaman aşımı', + ), + 'theme' => 'Tema', + 'title' => 'Görünüm', + 'width' => array( + 'content' => 'İçerik genişliği', + 'large' => 'Geniş', + 'medium' => 'Orta', + 'no_limit' => 'Sınırsız', + 'thin' => 'Zayıf', + ), + ), + 'query' => array( + '_' => 'Kullanıcı sorguları', + 'deprecated' => 'Bu sorgu artık geçerli değil. İlgili akış veya kategori silinmiş.', + 'filter' => 'Filtre uygulandı:', + 'get_all' => 'Tüm makaleleri göster', + 'get_category' => '"%s" kategorisini göster', + 'get_favorite' => 'Favori makaleleri göster', + 'get_feed' => '"%s" akışını göster', + 'no_filter' => 'Filtre yok', + 'none' => 'Henüz hiç kullanıcı sorgusu oluşturmadınız.', + 'number' => 'Sorgu n°%d', + 'order_asc' => 'Önce eski makaleleri göster', + 'order_desc' => 'Önce yeni makaleleri göster', + 'search' => '"%s" için arama', + 'state_0' => 'Tüm makaleleri göster', + 'state_1' => 'Okunmuş makaleleri göster', + 'state_2' => 'Okunmamış makaleleri göster', + 'state_3' => 'Tüm makaleleri göster', + 'state_4' => 'Favori makaleleri göster', + 'state_5' => 'Okunmuş favori makaleleri göster', + 'state_6' => 'Okunmamış favori makaleleri göster', + 'state_7' => 'Favori makaleleri göster', + 'state_8' => 'Favori olmayan makaleleri göster', + 'state_9' => 'Favori olmayan okunmuş makaleleri göster', + 'state_10' => 'Favori olmayan okunmamış makaleleri göster', + 'state_11' => 'Favori olmayan makaleleri göster', + 'state_12' => 'Tüm makaleleri göster', + 'state_13' => 'Okunmuş makaleleri göster', + 'state_14' => 'Okunmamış makaleleri göster', + 'state_15' => 'Tüm makaleleri göster', + 'title' => 'Kullanıcı sorguları', + ), + 'profile' => array( + '_' => 'Profil yönetimi', + 'delete' => array( + '_' => 'Hesap silme', + 'warn' => 'Hesabınız ve tüm verileriniz silinecek.', + ), + 'password_api' => 'API Şifresi<br /><small>(ör. mobil uygulamalar için)</small>', + 'password_form' => 'Şifre<br /><small>(Tarayıcı girişi için)</small>', + 'password_format' => 'En az 7 karakter', + 'title' => 'Profil', + ), + 'reading' => array( + '_' => 'Okuma', + 'after_onread' => '"Hepsini okundu say" dedinten sonra,', + 'articles_per_page' => 'Sayfa başına makale sayısı', + 'auto_load_more' => 'Sayfa sonunda yeni makaleleri yükle', + 'auto_remove_article' => 'Okuduktan sonra makaleleri gizle', + 'mark_updated_article_unread' => 'Güncellenen makaleleri okundu olarak işaretle', + 'confirm_enabled' => '"Hepsini okundu say" eylemi için onay iste', + 'display_articles_unfolded' => 'Show articles unfolded by default', + 'display_categories_unfolded' => 'Show categories folded by default', + 'hide_read_feeds' => 'Okunmamış makalesi olmayan kategori veya akışı gizle ("Tüm makaleleri göster" komutunda çalışmaz)', + 'img_with_lazyload' => 'Resimleri yüklemek için "tembel modu" kullan', + 'sides_close_article' => 'Clicking outside of article text area closes the article', //TODO + 'jump_next' => 'Bir sonraki benzer okunmamışa geç (akış veya kategori)', + 'number_divided_when_reader' => 'Okuma modunda ikiye bölünecek.', + 'read' => array( + 'article_open_on_website' => 'orijinal makale sitesi açıldığında', + 'article_viewed' => 'makale görüntülendiğinde', + 'scroll' => 'kaydırma yapılırken', + 'upon_reception' => 'makale üzerinde gelince', + 'when' => 'Makaleyi okundu olarak işaretle…', + ), + 'show' => array( + '_' => 'Gösterilecek makaleler', + 'adaptive' => 'Ayarlanmış gösterim', + 'all_articles' => 'Tüm makaleleri göster', + 'unread' => 'Sadece okunmamış makaleleri göster', + ), + 'sort' => array( + '_' => 'Sıralama', + 'newer_first' => 'Önce yeniler', + 'older_first' => 'Önce eskiler', + ), + 'sticky_post' => 'Makale açıldığında yukarı getir', + 'title' => 'Okuma', + 'view' => array( + 'default' => 'Öntanımlı görünüm', + 'global' => 'Global görünüm', + 'normal' => 'Normal görünüm', + 'reader' => 'Okuma görünümü', + ), + ), + 'sharing' => array( + '_' => 'Paylaşım', + 'blogotext' => 'Blogotext', + 'diaspora' => 'Diaspora*', + 'email' => 'Email', + 'facebook' => 'Facebook', + 'g+' => 'Google+', + 'more_information' => 'Daha fazla bilgi', + 'print' => 'Yazdır', + 'shaarli' => 'Shaarli', + 'share_name' => 'Paylaşım ismi', + 'share_url' => 'Paylaşım URL si', + 'title' => 'Paylaşım', + 'twitter' => 'Twitter', + 'wallabag' => 'wallabag', + ), + 'shortcut' => array( + '_' => 'Kısayollar', + 'article_action' => 'Makale eylemleri', + 'auto_share' => 'Paylaş', + 'auto_share_help' => 'Sadece 1 paylaşım modu varsa bu kullanılır. Yoksa kendi paylaşım numaraları ile kullanılır.', + 'close_dropdown' => 'Menüleri kapat', + 'collapse_article' => 'Kapat', + 'first_article' => 'İlk makaleyi atla', + 'focus_search' => 'Arama kutusuna eriş', + 'help' => 'Dokümantasyonu göster', + 'javascript' => 'Kısayolları kullanabilmek için JavaScript aktif olmalıdır', + 'last_article' => 'Son makaleyi atla', + 'load_more' => 'Daha fazla makale yükle', + 'mark_read' => 'Okundu olarak işaretle', + 'mark_favorite' => 'Favori olarak işaretle', + 'navigation' => 'Genel eylemler', + 'navigation_help' => '"Shift" tuşu ile kısayollar akışlar için geçerli olur.<br/>"Alt" tuşu ile kısayollar kategoriler için geçerli olur.', + 'next_article' => 'Sonraki makaleye geç', + 'other_action' => 'Diğer eylemler', + 'previous_article' => 'Önceki makaleye geç', + 'see_on_website' => 'Orijinal sitede göster', + 'shift_for_all_read' => '+ <code>shift</code> tuşu ile tüm makaleler okundu olarak işaretlenir', + 'title' => 'Kısayollar', + 'user_filter' => 'Kullanıcı filtrelerine eriş', + 'user_filter_help' => 'Eğer tek filtre varsa o kullanılır. Yoksa filtrelerin kendi numaralarıyla kullanılır.', + ), + 'user' => array( + 'articles_and_size' => '%s makale (%s)', + 'current' => 'Mevcut kullanıcı', + 'is_admin' => 'yöneticidir', + 'users' => 'Kullanıcılar', + ), +); diff --git a/app/i18n/tr/feedback.php b/app/i18n/tr/feedback.php new file mode 100644 index 000000000..be79630be --- /dev/null +++ b/app/i18n/tr/feedback.php @@ -0,0 +1,109 @@ +<?php + +return array( + 'admin' => array( + 'optimization_complete' => 'Optimizasyon tamamlandı', + ), + 'access' => array( + 'denied' => 'Bu sayfaya erişim yetkiniz yok', + 'not_found' => 'Varolmayan bir sayfa arıyorsunuz', + ), + 'auth' => array( + 'form' => array( + 'not_set' => 'Sistem yapılandırma kimlik doğrulaması sırasında hata oldu. Lütfen daha sonra tekrar deneyin.', + 'set' => 'Kimlik doğrulama sistemi tamamnaldı.', + ), + 'login' => array( + 'invalid' => 'Giriş geçersiz', + 'success' => 'Bağlantı kuruldu', + ), + 'logout' => array( + 'success' => 'Bağlantı koptu', + ), + 'no_password_set' => 'Yönetici şifresi ayarlanmadı. Bu özellik kullanıma uygun değil.', + ), + 'conf' => array( + 'error' => 'Yapılandırma ayarları kaydedilirken hata oluştu', + 'query_created' => 'Sorgu "%s" oluşturuldu.', + 'shortcuts_updated' => 'Kısayollar yenilendi', + 'updated' => 'Yapılandırm ayarları yenilendi', + ), + 'extensions' => array( + 'already_enabled' => '%s zaten aktif', + 'disable' => array( + 'ko' => '%s gösterilemiyor. Detaylar için <a href="%s">FressRSS log kayıtlarını</a> kontrol edin.', + 'ok' => '%s pasif', + ), + 'enable' => array( + 'ko' => '%s aktifleştirilemiyor. Detaylar için <a href="%s">FressRSS log kayıtlarını</a> kontrol edin.', + 'ok' => '%s aktif', + ), + 'no_access' => '%s de yetkiniz yok', + 'not_enabled' => '%s henüz aktif değil', + 'not_found' => '%s bulunmamaktadır', + ), + 'import_export' => array( + 'export_no_zip_extension' => 'ZIP eklentisi mevcut sunucunuzda yer almıyor. Lütfen başka dosya formatında dışarı aktarmayı deneyin.', + 'feeds_imported' => 'Akışlarınız içe aktarıldı ve şimdi güncellenecek', + 'feeds_imported_with_errors' => 'Akışlarınız içeri aktarıldı ama bazı hatalar meydana geldi', + 'file_cannot_be_uploaded' => 'Dosya yüklenemedi!', + 'no_zip_extension' => 'ZIP eklentisi mevcut sunucunuzda yer almıyor.', + 'zip_error' => 'ZIP içe aktarımı sırasında hata meydana geldi.', + ), + 'sub' => array( + 'actualize' => 'Güncelleme', + 'category' => array( + 'created' => 'Kategori %s oluşturuldu.', + 'deleted' => 'Kategori silindi.', + 'emptied' => 'Kategori boşaltıldı', + 'error' => 'Kategori güncellenemedi', + 'name_exists' => 'Kategori ismi zaten bulunmakta.', + 'no_id' => 'Kategori id sinden emin olmalısınız.', + 'no_name' => 'Kategori ismi boş olamaz.', + 'not_delete_default' => 'Öntanımlı kategoriyi silemezsiniz!', + 'not_exist' => 'Kategori bulunmamakta!', + 'over_max' => 'Kategori limitini aştınız (%d)', + 'updated' => 'Karegori güncellendi.', + ), + 'feed' => array( + 'actualized' => '<em>%s</em> güncellendi', + 'actualizeds' => 'RSS akışları güncellendi', + 'added' => '<em>%s</em> RSS akışı eklendi', + 'already_subscribed' => '<em>%s</em> için zaten aboneliğiniz bulunmakta', + 'deleted' => 'Akış silindi', + 'error' => 'Akış güncellenemiyor', + 'internal_problem' => 'RSS akışı eklenemiyor. Detaylar için <a href="%s">FressRSS log kayıtlarını</a> kontrol edin.', + 'invalid_url' => 'URL <em>%s</em> geçersiz', + 'marked_read' => 'Akışlar okundu olarak işaretlendi', + 'n_actualized' => '%d akışları güncellendi', + 'n_entries_deleted' => '%d makaleleri silindi', + 'no_refresh' => 'Yenilenecek akış yok…', + 'not_added' => '<em>%s</em> eklenemedi', + 'over_max' => 'Akış limitini aştınız (%d)', + 'updated' => 'Akış güncellendi', + ), + 'purge_completed' => 'Temizleme tamamlandı (%d makale silindi)', + ), + 'update' => array( + 'can_apply' => 'FreshRSS <strong>%s versiyonuna</strong> güncellenecek.', + 'error' => 'Güncelleme işlemi sırasında hata: %s', + 'file_is_nok' => '<strong>%s versiyonuna</strong>. <em>%s</em> klasör yetkisini kontrol edin. HTTP yazma yetkisi olmalı', + 'finished' => 'Güncelleme tamamlandı!', + 'none' => 'Güncelleme yok', + 'server_not_found' => 'Güncelleme sunucusu bulunamadı. [%s]', + ), + 'user' => array( + 'created' => array( + '_' => '%s kullanıcısı oluşturuldu', + 'error' => '%s kullanıcısı oluşturulamadı', + ), + 'deleted' => array( + '_' => '%s kullanıcısı silindi', + 'error' => '%s kullanıcısı silinemedi', + ), + ), + 'profile' => array( + 'error' => 'Profiliniz düzenlenemedi', + 'updated' => 'Profiliniz düzenlendi', + ), +); diff --git a/app/i18n/tr/gen.php b/app/i18n/tr/gen.php new file mode 100644 index 000000000..535563542 --- /dev/null +++ b/app/i18n/tr/gen.php @@ -0,0 +1,190 @@ +<?php + +return array( + 'action' => array( + 'actualize' => 'Yenile', + 'back_to_rss_feeds' => '← RSS akışlarınız için geri gidin', + 'cancel' => 'İptal', + 'create' => 'Oluştur', + 'disable' => 'Pasif', + 'empty' => 'Boş', + 'enable' => 'Aktif', + 'export' => 'Dışa Aktar', + 'filter' => 'Filtrele', + 'import' => 'İçe Aktar', + 'manage' => 'Yönet', + 'mark_favorite' => 'Favoriye ekle', + 'mark_read' => 'Okundu olarak işaretle', + 'remove' => 'Sil', + 'see_website' => 'Siteyi gör', + 'submit' => 'Onayla', + 'truncate' => 'Tüm makaleleri sil', + ), + 'auth' => array( + 'email' => 'Email adresleri', + 'keep_logged_in' => '<small>(%s günler)</small> oturumu açık tut', + 'login' => 'Giriş', + 'logout' => 'Çıkış', + 'password' => array( + '_' => 'Şifre', + 'format' => '<small>En az 7 karakter</small>', + ), + 'registration' => array( + '_' => 'Yeni hesap', + 'ask' => 'Yeni bir hesap oluştur', + 'title' => 'Hesap oluşturma', + ), + 'reset' => 'Kimlik doğrulama sıfırla', + 'username' => array( + '_' => 'Kullancı adı', + 'admin' => 'Yönetici kullanıcı adı', + 'format' => '<small>en fazla 16 alfanümerik karakter</small>', + ), + ), + 'date' => array( + 'Apr' => '\\N\\i\\s\\a\\n', + 'Aug' => '\\A\\ğ\\u\\s\\t\\o\\s', + 'Dec' => '\\A\\r\\a\\l\\ı\\k', + 'Feb' => '\\Ş\\u\\b\\a\\t', + 'Jan' => '\\O\\c\\a\\k', + 'Jul' => '\\T\\e\\m\\m\\u\\z', + 'Jun' => '\\H\\a\\z\\i\\r\\a\\n', + 'Mar' => '\\M\\a\\r\\t', + 'May' => '\\M\\a\\y\\ı\\s', + 'Nov' => '\\K\\a\\s\\ı\\m', + 'Oct' => '\\E\\k\\i\\m', + 'Sep' => '\\E\\y\\l\\ü\\l', + 'apr' => 'nis', + 'april' => 'Nis', + 'aug' => 'ağu', + 'august' => 'Ağu', + 'before_yesterday' => 'Dünden önceki gün', + 'dec' => 'ara', + 'december' => 'Ara', + 'feb' => 'şub', + 'february' => 'Şub', + 'format_date' => '%s j\\<\\s\\u\\p\\>S\\<\\/\\s\\u\\p\\> Y', + 'format_date_hour' => '%s j\\<\\s\\u\\p\\>S\\<\\/\\s\\u\\p\\> Y \\a\\t H\\:i', + 'fri' => 'Cum', + 'jan' => 'oca', + 'january' => 'Oca', + 'jul' => 'tem', + 'july' => 'Tem', + 'jun' => 'haz', + 'june' => 'Haz', + 'last_3_month' => 'Son 3 ay', + 'last_6_month' => 'Son 6 ay', + 'last_month' => 'Geçen ay', + 'last_week' => 'Geçen hafta', + 'last_year' => 'Geçen yıl', + 'mar' => 'mar', + 'march' => 'Mar', + 'may' => 'Mayıs', + 'may_' => 'May', + 'mon' => 'Pzt', + 'month' => 'ay', + 'nov' => 'kas', + 'november' => 'Kas', + 'oct' => 'ekm', + 'october' => 'Ekm', + 'sat' => 'Cts', + 'sep' => 'eyl', + 'september' => 'Eyl', + 'sun' => 'Pzr', + 'thu' => 'Per', + 'today' => 'Bugün', + 'tue' => 'Sal', + 'wed' => 'Çar', + 'yesterday' => 'Dün', + ), + 'freshrss' => array( + '_' => 'FreshRSS', + 'about' => 'FreshRSS hakkında', + ), + 'js' => array( + 'category_empty' => 'Boş kategori', + 'confirm_action' => 'Bunu yapmak istediğinize emin misiniz ? Daha sonra iptal edilemez!', + 'confirm_action_feed_cat' => 'Bunu yapmak istediğinize emin misiniz ? Favorileriniz ve sorgularınız silinecek. Daha sonra iptal edilemez!', + 'feedback' => array( + 'body_new_articles' => 'FreshRSS de okunmaz üzere %%d yeni makale var.', + 'request_failed' => 'Hata. İnternet bağlantınızı kontrol edin.', + 'title_new_articles' => 'FreshRSS: yeni makaleler!', + ), + 'new_article' => 'Yeni makaleler mevcut. Sayfayı yenilemek için tıklayın.', + 'should_be_activated' => 'JavaScript aktif olmalıdır.', + ), + 'lang' => array( + 'cz' => 'Čeština', + 'de' => 'Deutsch', + 'en' => 'English', + 'es' => 'Español', + 'fr' => 'Français', + 'it' => 'Italiano', + 'kr' => '한국어', + 'nl' => 'Nederlands', + 'pt-br' => 'Português (Brasil)', + 'ru' => 'Русский', + 'tr' => 'Türkçe', + 'zh-cn' => '简体中文', + ), + 'menu' => array( + 'about' => 'Hakkında', + 'admin' => 'Yönetim', + 'archiving' => 'Arşiv', + 'authentication' => 'Kimlik doğrulama', + 'check_install' => 'Kurulum kontrolü', + 'configuration' => 'Yapılandırma', + 'display' => 'Görünüm', + 'extensions' => 'Eklentiler', + 'logs' => 'Log kayıtları', + 'queries' => 'Kullanıcı sorguları', + 'reading' => 'Okuma', + 'search' => 'Kelime veya #etiket ara', + 'sharing' => 'Paylaşım', + 'shortcuts' => 'Kısayollar', + 'stats' => 'İstatistikler', + 'system' => 'Sistem yapılandırması', + 'update' => 'Güncelleme', + 'user_management' => 'Kullanıcıları yönet', + 'user_profile' => 'Profil', + ), + 'pagination' => array( + 'first' => 'İlk', + 'last' => 'Son', + 'load_more' => 'Daha fazla makale yükle', + 'mark_all_read' => 'Tümünü okundu say', + 'next' => 'Sonraki', + 'nothing_to_load' => 'Başka makale yok', + 'previous' => 'Önceki', + ), + 'share' => array( + 'Known' => 'Known based sites', + 'blogotext' => 'Blogotext', + 'diaspora' => 'Diaspora*', + 'email' => 'Email', + 'facebook' => 'Facebook', + 'g+' => 'Google+', + 'gnusocial' => 'GNU social', + 'jdh' => 'Journal du hacker', + 'mastodon' => 'Mastodon', + 'movim' => 'Movim', + 'print' => 'Print', + 'shaarli' => 'Shaarli', + 'twitter' => 'Twitter', + 'wallabag' => 'wallabag v1', + 'wallabagv2' => 'wallabag v2', + ), + 'short' => array( + 'attention' => 'Tehlike!', + 'blank_to_disable' => 'Devredışı bırakmak için boş bırakın', + 'by_author' => '<em>%s</em> tarafından', + 'by_default' => 'Öntanımlı', + 'damn' => 'Hay aksi!', + 'default_category' => 'Kategorisiz', + 'no' => 'Hayır', + 'not_applicable' => 'Uygun değil', + 'ok' => 'Tamam!', + 'or' => 'ya da', + 'yes' => 'Evet', + ), +); diff --git a/app/i18n/tr/index.php b/app/i18n/tr/index.php new file mode 100644 index 000000000..cb36d6717 --- /dev/null +++ b/app/i18n/tr/index.php @@ -0,0 +1,61 @@ +<?php + +return array( + 'about' => array( + '_' => 'Hakkında', + 'agpl3' => '<a href="https://www.gnu.org/licenses/agpl-3.0.html">AGPL 3</a>', + 'bugs_reports' => 'Hata raporu', + 'credits' => 'Tanıtım', + 'credits_content' => 'Bu frameworkü kullanmamasına rağmen FreshRSS bazı tasarım ögelerini <a href="http://twitter.github.io/bootstrap/">Bootstrap</a> dan almıştır. <a href="https://git.gnome.org/browse/gnome-icon-theme-symbolic">İkonlar</a> <a href="https://www.gnome.org/">GNOME projesinden</a> alınmıştır. <em>Open Sans</em> yazı tipi <a href="https://fonts.google.com/specimen/Open+Sans">Steve Matteson</a> tarafından oluşturulmuştur. FreshRSS bir PHP framework olan <a href="https://github.com/marienfressinaud/MINZ">Minz</a> i temel alır.', + 'freshrss_description' => 'FreshRSS <a href="http://tontof.net/kriss/feed/">Kriss Feed</a> veya <a href="http://projet.idleman.fr/leed/">Leed</a> gibi kendi hostunuzda çalışan bir RSS akış toplayıcısıdır. Güçlü ve yapılandırılabilir araçlarıyla basit ve kullanımı kolay bir uygulamadır.', + 'github' => '<a href="https://github.com/FreshRSS/FreshRSS/issues">Github sayfası</a>', + 'license' => 'Lisans', + 'project_website' => 'Proje sayfası', + 'title' => 'Hakkında', + 'version' => 'Versiyon', + 'website' => 'Website', + ), + 'feed' => array( + 'add' => 'Akış ekleyebilirsin.', + 'empty' => 'Gösterilecek makale yok.', + 'rss_of' => 'RSS feed of %s', + 'title' => 'RSS akışlarınız', + 'title_global' => 'Global görünüm', + 'title_fav' => 'Favorilerin', + ), + 'log' => array( + '_' => 'Log Kayıtları', + 'clear' => 'Log kayıt dosyasını temizle', + 'empty' => 'Log kayır dosyası boş', + 'title' => 'Log Kayıtları', + ), + 'menu' => array( + 'about' => 'FreshRSS hakkında', + 'add_query' => 'Sorgu ekle', + 'before_one_day' => 'Bir gün önce', + 'before_one_week' => 'Bir hafta önce', + 'favorites' => 'Favoriler (%s)', + 'global_view' => 'Global görünüm', + 'main_stream' => 'Ana akış', + 'mark_all_read' => 'Hepsini okundu olarak işaretle', + 'mark_cat_read' => 'Kategoriyi okundu olarak işaretle', + 'mark_feed_read' => 'Akışı okundu olarak işaretle', + 'newer_first' => 'Önce yeniler', + 'non-starred' => 'Favori dışındakileri göster', + 'normal_view' => 'Normal görünüm', + 'older_first' => 'Önce eskiler', + 'queries' => 'Kullanıcı sorguları', + 'read' => 'Okunmuşları göster', + 'reader_view' => 'Okuma görünümü', + 'rss_view' => 'RSS akışı', + 'search_short' => 'Ara', + 'starred' => 'Favorileri göster', + 'stats' => 'İstatistikler', + 'subscription' => 'Abonelik yönetimi', + 'unread' => 'Okunmamışları göster', + ), + 'share' => 'Share', + 'tag' => array( + 'related' => 'İlgili etiketler', + ), +); diff --git a/app/i18n/tr/install.php b/app/i18n/tr/install.php new file mode 100644 index 000000000..d5564297b --- /dev/null +++ b/app/i18n/tr/install.php @@ -0,0 +1,119 @@ +<?php + +return array( + 'action' => array( + 'finish' => 'Kurulumu tamamla', + 'fix_errors_before' => 'Lütfen sonraki adıma geçmek için hataları düzeltin.', + 'keep_install' => 'Önceki kuruluma devam et', + 'next_step' => 'Sonraki adım', + 'reinstall' => 'FreshRSS i yeniden yükle', + ), + 'auth' => array( + 'form' => 'Web formu (geleneksel, JavaScript gerektirir)', + 'http' => 'HTTP (ileri kullanıcılar için, HTTPS)', + 'none' => 'Hiçbiri (tehlikeli)', + 'password_form' => 'Şifre<br /><small>(Tarayıcı girişi için)</small>', + 'password_format' => 'En az 7 karakter', + 'type' => 'Kimlik doğrulama yöntemi', + ), + 'bdd' => array( + '_' => 'Veritabanı', + 'conf' => array( + '_' => 'Veritabanı yapılandırılması', + 'ko' => 'Veritabanı bilginizi doğrulayın.', + 'ok' => 'Veritabanı yapılandırılması kayıt edildi.', + ), + 'host' => 'Sunucu', + 'prefix' => 'Tablo ön eki', + 'password' => 'Veritabanı şifresi', + 'type' => 'Veritabanı türü', + 'username' => 'Veritabanı kullanıcı adı', + ), + 'check' => array( + '_' => 'Kontroller', + 'already_installed' => 'FreshRSS zaten yüklü!', + 'cache' => array( + 'nok' => '<em>./data/cache</em> klasör yetkisini kontrol edin. HTTP yazma yetkisi olmalı', + 'ok' => 'Önbellek klasörü yetkileri sorunsuz.', + ), + 'ctype' => array( + 'nok' => 'Karakter yazım kontrolü için kütüphane eksik (php-ctype).', + 'ok' => 'Karakter yazım kontrolü için kütüphane sorunsuz (ctype).', + ), + 'curl' => array( + 'nok' => 'cURL eksik (php-curl package).', + 'ok' => 'cURL eklentisi sorunsuz.', + ), + 'data' => array( + 'nok' => '<em>./data</em> klasör yetkisini kontrol edin. HTTP yazma yetkisi olmalı', + 'ok' => 'Veri klasörü yetkileri sorunsuz.', + ), + 'dom' => array( + 'nok' => 'DOM kütüpbanesi eksik.', + 'ok' => 'DOM kütüphanesi sorunsuz.', + ), + 'favicons' => array( + 'nok' => '<em>./data/favicons</em> klasör yetkisini kontrol edin. HTTP yazma yetkisi olmalı', + 'ok' => 'Site ikonu klasörü yetkileri sorunsuz.', + ), + 'fileinfo' => array( + 'nok' => 'PHP fileinfo eksik (fileinfo package).', + 'ok' => 'fileinfo eklentisi sorunsuz.', + ), + 'http_referer' => array( + 'nok' => 'Lütfen HTTP REFERER değiştirmediğinize emin olun.', + 'ok' => 'HTTP REFERER ve sunucunuz arası iletişim sorunsuz.', + ), + 'json' => array( + 'nok' => 'Tavsiye edilen JSON çözümleme kütüphanesi eksik.', + 'ok' => 'Tavsiye edilen JSON çözümleme kütüphanesi sorunsuz.', + ), + 'minz' => array( + 'nok' => 'Minz framework eksik.', + 'ok' => 'Minz framework sorunsuz.', + ), + 'pcre' => array( + 'nok' => 'Düzenli ifadeler kütüphanesi eksik (php-pcre).', + 'ok' => 'Düzenli ifadeler kütüphanesi sorunsuz (PCRE).', + ), + 'pdo' => array( + 'nok' => 'PDO veya PDO destekli bir sürücü eksik (pdo_mysql, pdo_sqlite, pdo_pgsql).', + 'ok' => 'PDO sorunsuz (pdo_mysql, pdo_sqlite, pdo_pgsql).', + ), + 'php' => array( + 'nok' => 'PHP versiyonunuz %s fakat FreshRSS için gerekli olan en düşük sürüm %s.', + 'ok' => 'PHP versiyonunuz %s, FreshRSS ile tam uyumlu.', + ), + 'users' => array( + 'nok' => '<em>./data/users</em> klasör yetkisini kontrol edin. HTTP yazma yetkisi olmalı', + 'ok' => 'Kullanıcılar klasörü yetkileri sorunsuz.', + ), + 'xml' => array( + 'nok' => 'You lack the required library to parse XML.', + 'ok' => 'You have the required library to parse XML.', + ), + ), + 'conf' => array( + '_' => 'Genel yapılandırma', + 'ok' => 'Genel yapılandırma ayarları kayıt edildi.', + ), + 'congratulations' => 'Tebrikler!', + 'default_user' => 'Öntanımlı kullanıcı adı <small>(en fazla 16 alfanümerik karakter)</small>', + 'delete_articles_after' => 'Makaleleri şu süre sonunda sil', + 'fix_errors_before' => 'Lütfen sonraki adıma geçmek için hataları düzeltin.', + 'javascript_is_better' => 'FreshRSS JavaScript ile daha işlevseldir', + 'js' => array( + 'confirm_reinstall' => 'FressRSS i yeniden kurarak önceki yapılandırma ayarlarınızı kaybedeceksiniz. Devam etmek istiyor musunuz ?', + ), + 'language' => array( + '_' => 'Dil', + 'choose' => 'FreshRSS için bir dil seçin', + 'defined' => 'Dil belirlendi.', + ), + 'not_deleted' => 'Hata meydana geldi; <em>%s</em> dosyasını elle silmelisiniz.', + 'ok' => 'Kurulum başarıyla tamamlandı.', + 'step' => 'adım %d', + 'steps' => 'Adımlar', + 'title' => 'Kurulum · FreshRSS', + 'this_is_the_end' => 'Son Adım', +); diff --git a/app/i18n/tr/sub.php b/app/i18n/tr/sub.php new file mode 100644 index 000000000..0bbaeec5b --- /dev/null +++ b/app/i18n/tr/sub.php @@ -0,0 +1,77 @@ +<?php + +return array( + 'api' => array( + 'documentation' => 'Copy the following URL to use it within an external tool.',// TODO + 'title' => 'API',// TODO + ), + 'bookmarklet' => array( + 'documentation' => 'Drag this button to your bookmarks toolbar or right-click it and choose "Bookmark This Link". Then click "Subscribe" button in any page you want to subscribe to.',// TODO + 'label' => 'Subscribe',// TODO + 'title' => 'Bookmarklet',// TODO + ), + 'category' => array( + '_' => 'Kategori', + 'add' => 'Kategori ekle', + 'empty' => 'Boş kategori', + 'new' => 'Yeni kategori', + ), + 'feed' => array( + 'add' => 'RSS akışı ekle', + 'advanced' => 'Gelişmiş', + 'archiving' => 'Arşiv', + 'auth' => array( + 'configuration' => 'Giriş', + 'help' => 'HTTP korumalı RSS akışlarına bağlantı izni sağlar', + 'http' => 'HTTP Kimlik Doğrulama', + 'password' => 'HTTP şifre', + 'username' => 'HTTP kullanıcı adı', + ), + 'css_help' => 'Dikkat, daha çok zaman gerekir!', + 'css_path' => 'Makaleleri kendi CSS görünümü ile göster', + 'description' => 'Tanım', + 'empty' => 'Bu akış boş. Lütfen akışın aktif olduğuna emin olun.', + 'error' => 'Bu akışda bir hatayla karşılaşıldı. Lütfen akışın sürekli ulaşılabilir olduğuna emin olun.', + 'in_main_stream' => 'Ana akışda göster', + 'informations' => 'Bilgi', + 'keep_history' => 'En az tutulacak makale sayısı', + 'moved_category_deleted' => 'Bir kategoriyi silerseniz, içerisindeki akışlar <em>%s</em> içerisine yerleşir.', + 'no_selected' => 'Hiçbir akış seçilmedi.', + 'number_entries' => '%d makale', + 'stats' => 'İstatistikler', + 'think_to_add' => 'Akış ekleyebilirsiniz.', + 'title' => 'Başlık', + 'title_add' => 'RSS akışı ekle', + 'ttl' => 'Şu kadar süreden fazla otomatik yenileme yapma', + 'url' => 'Akış URL', + 'validator' => 'Akış geçerliliğini kontrol edin', + 'website' => 'Site URL', + 'pubsubhubbub' => 'PubSubHubbub ile anlık bildirim', + ), + 'firefox' => array( + 'documentation' => 'Follow the steps described <a href="https://developer.mozilla.org/en-US/Firefox/Releases/2/Adding_feed_readers_to_Firefox#Adding_a_new_feed_reader_manually">here</a> to add FreshRSS to Firefox feed reader list.',// TODO + 'title' => 'Firefox feed reader',// TODO + ), + 'import_export' => array( + 'export' => 'Dışa aktar', + 'export_opml' => 'Akış listesini dışarı aktar (OPML)', + 'export_starred' => 'Favorileri dışarı aktar', + 'feed_list' => '%s makalenin listesi', + 'file_to_import' => 'Dosyadan içe aktar<br />(OPML, JSON or ZIP)', + 'file_to_import_no_zip' => 'Dosyadan içe aktar<br />(OPML or JSON)', + 'import' => 'İçe aktar', + 'starred_list' => 'Favori makaleleirn listesi', + 'title' => 'İçe / dışa aktar', + ), + 'menu' => array( + 'bookmark' => 'Abonelik (FreshRSS yer imleri)', + 'import_export' => 'İçe / dışa aktar', + 'subscription_management' => 'Abonelik yönetimi', + 'subscription_tools' => 'Subscription tools',// TODO + ), + 'title' => array( + '_' => 'Abonelik yönetimi', + 'feed_management' => 'RSS akış yönetimi', + 'subscription_tools' => 'Subscription tools',// TODO + ), +); diff --git a/app/i18n/zh-cn/admin.php b/app/i18n/zh-cn/admin.php new file mode 100644 index 000000000..ca18bf63d --- /dev/null +++ b/app/i18n/zh-cn/admin.php @@ -0,0 +1,188 @@ +<?php + +return array( + 'auth' => array( + 'allow_anonymous' => '允许匿名阅读默认用户 (%s) 的文章', + 'allow_anonymous_refresh' => '允许匿名刷新文章', + 'api_enabled' => '允许 <abbr>API</abbr> 访问 <small>(用于手机 APP)</small>', + 'form' => 'Web form (传统方式, 需要 JavaScript)', + 'http' => 'HTTP (面向启用 HTTPS 的高级用户)', + 'none' => '无 (危险)', + 'title' => '认证', + 'title_reset' => '密码重置', + 'token' => '认证口令', + 'token_help' => '用于不经认证访问默认用户的 RSS 输出:', + 'type' => '认证方式', + 'unsafe_autologin' => '允许不安全的自动登陆方式:', + ), + 'check_install' => array( + 'cache' => array( + 'nok' => '请检查 <em>./data/cache</em> 目录权限。HTTP 服务器必须有其写入权限。', + 'ok' => 'cache 目录权限正常。', + ), + 'categories' => array( + 'nok' => 'Category 表配置错误。', + 'ok' => 'Category 表正常。', + ), + 'connection' => array( + 'nok' => '数据库连接失败。', + 'ok' => '数据库连接正常。', + ), + 'ctype' => array( + 'nok' => '找不到字符类型检测库 (php-ctype) 。', + 'ok' => '已找到字符类型检测库 (ctype) 。', + ), + 'curl' => array( + 'nok' => '找不到 cURL 库 (php-curl package) 。', + 'ok' => '已找到 cURL 库。', + ), + 'data' => array( + 'nok' => '请检查 <em>./data</em> 目录权限。HTTP 服务器必须有其写入权限。', + 'ok' => 'data 目录权限正常。', + ), + 'database' => '数据库相关', + 'dom' => array( + 'nok' => '找不到用于浏览 DOM 的库 (php-xml) 。', + 'ok' => '已找到用于浏览 DOM 的库。', + ), + 'entries' => array( + 'nok' => 'Entry 表配置错误。', + 'ok' => 'Entry 表正常。', + ), + 'favicons' => array( + 'nok' => '请检查 <em>./data/favicons</em> 目录权限。HTTP 服务器必须有其写入权限。', + 'ok' => 'favicons 目录权限正常。', + ), + 'feeds' => array( + 'nok' => 'Feed 表配置错误。', + 'ok' => 'Feed 表正常。', + ), + 'fileinfo' => array( + 'nok' => '找不到 PHP fileinfo 库 (fileinfo) 。', + 'ok' => '已找到 fileinfo 库。', + ), + 'files' => '文件相关', + 'json' => array( + 'nok' => '找不到 JSON 扩展 (php5-json ) 。', + 'ok' => '已找到 JSON 扩展', + ), + 'minz' => array( + 'nok' => '找不到 Minz 框架。', + 'ok' => '已找到 Minz 框架。', + ), + 'pcre' => array( + 'nok' => '找不到正则表达式解析库 (php-pcre) 。', + 'ok' => '已找到正则表达式解析库 (PCRE) 。', + ), + 'pdo' => array( + 'nok' => '找不到 PDO 或支持的驱动 (pdo_mysql, pdo_sqlite, pdo_pgsql) 。', + 'ok' => '已找到 PDO 和支持的至少一种驱动 (pdo_mysql, pdo_sqlite, pdo_pgsql) 。', + ), + 'php' => array( + '_' => 'PHP 相关', + 'nok' => '你的 PHP 版本为 %s,但 FreshRSS 最低需要 %s。', + 'ok' => '你的 PHP 版本为 %s,与 FreshRSS 兼容。', + ), + 'tables' => array( + 'nok' => '数据库中缺少一个或多个表。', + 'ok' => '数据库中相关表存在。', + ), + 'title' => '环境检查', + 'tokens' => array( + 'nok' => '请检查 <em>./data/tokens</em> 目录权限。HTTP 服务器必须有其写入权限。', + 'ok' => 'tokens 目录权限正常。', + ), + 'users' => array( + 'nok' => '请检查 <em>./data/users</em> 目录权限。HTTP 服务器必须有其写入权限。', + 'ok' => 'users 目录权限正常。', + ), + 'zip' => array( + 'nok' => '找不到 ZIP 扩展 (php-zip) 。', + 'ok' => '已找到 ZIP 扩展。', + ), + ), + 'extensions' => array( + 'disabled' => '已禁用', + 'empty_list' => '没有已安装的扩展', + 'enabled' => '已启用', + 'no_configure_view' => '此扩展不能配置。', + 'system' => array( + '_' => '系统扩展', + 'no_rights' => '系统扩展 (你不能修改它)', + ), + 'title' => '扩展', + 'user' => '用户扩展', + 'community' => 'Available community extensions', // @todo translate + 'name' => 'Name', // @todo translate + 'version' => 'Version', // @todo translate + 'description' => 'Description', // @todo translate + 'author' => 'Author', // @todo translate + 'latest' => 'Installed', // @todo translate + 'update' => 'Update available', // @todo translate + ), + 'stats' => array( + '_' => '统计', + 'all_feeds' => '所有 RSS 源', + 'category' => '分类', + 'entry_count' => '条目数', + 'entry_per_category' => '每分类条目数', + 'entry_per_day' => '每天条目数 (最近 30 天)', + 'entry_per_day_of_week' => '周内每天 (平均: %.2f 条消息)', + 'entry_per_hour' => '每小时 (平均: %.2f 条消息)', + 'entry_per_month' => '每月 (平均: %.2f 条消息)', + 'entry_repartition' => '条目分布', + 'feed' => 'RSS 源', + 'feed_per_category' => '每分类 RSS 源', + 'idle' => '闲置 RSS 源', + 'main' => '主要统计', + 'main_stream' => '首页', + 'menu' => array( + 'idle' => '闲置 RSS 源', + 'main' => '主要统计', + 'repartition' => '文章分布', + ), + 'no_idle' => '无闲置 RSS 源!', + 'number_entries' => '%d 篇文章', + 'percent_of_total' => '%%', + 'repartition' => '文章分布', + 'status_favorites' => '收藏', + 'status_read' => '已读', + 'status_total' => '总计', + 'status_unread' => '未读', + 'title' => '统计', + 'top_feed' => '前十 RSS 源', + ), + 'system' => array( + '_' => '系统配置', + 'auto-update-url' => '自动升级服务器 URL', + 'instance-name' => '实例名称', + 'max-categories' => '每用户分类限制', + 'max-feeds' => '每用户 RSS 源限制', + 'registration' => array( + 'help' => '0 表示无账户数限制', + 'number' => '最大账户数', + ), + ), + 'update' => array( + '_' => '更新系统', + 'apply' => '应用', + 'check' => '检查更新', + 'current_version' => '当前 FreshRSS 版本为 %s.', + 'last' => '上一次检查: %s', + 'none' => '没有可用更新', + 'title' => '更新系统', + ), + 'user' => array( + 'articles_and_size' => '%s 篇文章 (%s)', + 'create' => '创建新用户', + 'language' => '语言', + 'number' => '已有 %d 个帐户', + 'numbers' => '已有 %d 个帐户', + 'password_form' => '密码<br /><small>(用于 Web-form 登录方式)</small>', + 'password_format' => '至少 7 个字符', + 'title' => '用户管理', + 'user_list' => '用户列表', + 'username' => '用户名', + 'users' => '用户', + ), +); diff --git a/app/i18n/zh-cn/conf.php b/app/i18n/zh-cn/conf.php new file mode 100644 index 000000000..1b52ac38f --- /dev/null +++ b/app/i18n/zh-cn/conf.php @@ -0,0 +1,174 @@ +<?php + +return array( + 'archiving' => array( + '_' => '存档', + 'advanced' => '高级', + 'delete_after' => '文章保留', + 'help' => '详细选项位于单独的 RSS 源设置', + 'keep_history_by_feed' => '至少保存的文章数', + 'optimize' => '优化数据库', + 'optimize_help' => '偶尔执行优化可以减少数据库大小', + 'purge_now' => '立即清除', + 'title' => '存档', + 'ttl' => '最小自动更新时间', + ), + 'display' => array( + '_' => '显示', + 'icon' => array( + 'bottom_line' => '底栏', + 'entry' => '文章图标', + 'publication_date' => '更新日期', + 'related_tags' => '相关标签', + 'sharing' => '分享', + 'top_line' => '顶栏', + ), + 'language' => '语言', + 'notif_html5' => array( + 'seconds' => '秒 (0 表示不超时)', + 'timeout' => 'HTML5 通知超时时间', + ), + 'theme' => '主题', + 'title' => '显示', + 'width' => array( + 'content' => '内容宽度', + 'large' => '大', + 'medium' => '中', + 'no_limit' => '无限制', + 'thin' => '小', + ), + ), + 'query' => array( + '_' => '自定义查询', + 'deprecated' => '此查询不再有效。相关的分类或 RSS 源已被删除。', + 'filter' => '生效的过滤器:', + 'get_all' => '显示所有文章', + 'get_category' => '显示分类 "%s"', + 'get_favorite' => '显示收藏文章', + 'get_feed' => '显示RSS 源 "%s"', + 'no_filter' => '无过滤器', + 'none' => '你未创建任何自定义查询。', + 'number' => '查询 n°%d', + 'order_asc' => '由旧到新显示文章', + 'order_desc' => '由新到旧显示文章', + 'search' => '搜索 "%s"', + 'state_0' => '显示所有文章', + 'state_1' => '显示已读文章', + 'state_2' => '显示未读文章', + 'state_3' => '显示所有文章', + 'state_4' => '显示收藏文章', + 'state_5' => '显示已读的收藏文章', + 'state_6' => '显示未读的收藏文章', + 'state_7' => '显示收藏文章', + 'state_8' => '显示未收藏文章', + 'state_9' => '显示已读的未收藏文章', + 'state_10' => '显示未读的未收藏文章', + 'state_11' => '显示未收藏文章', + 'state_12' => '显示所有文章', + 'state_13' => '显示已读文章', + 'state_14' => '显示未读文章', + 'state_15' => '显示所有文章', + 'title' => '自定义查询', + ), + 'profile' => array( + '_' => '帐户管理', + 'delete' => array( + '_' => '账户删除', + 'warn' => '你的帐户和所有相关数据都将被删除。', + ), + 'password_api' => 'API 密码<br /><small>(例如,用于手机 APP)</small>', + 'password_form' => '密码<br /><small>(用于 Web-form 登录方式)</small>', + 'password_format' => '至少 7 个字符', + 'title' => '用户帐户', + ), + 'reading' => array( + '_' => '阅读', + 'after_onread' => '“全部设为已读”后,', + 'articles_per_page' => '每页文章数', + 'auto_load_more' => '在页面底部载入下一篇文章', + 'auto_remove_article' => '阅读后隐藏文章', + 'mark_updated_article_unread' => '有更新的文章设为未读', + 'confirm_enabled' => '“全部设为已读”时显示确认对话框', + 'display_articles_unfolded' => '默认展开文章', + 'display_categories_unfolded' => '默认展开分类', + 'hide_read_feeds' => '隐藏没有未读文章的分类或 RSS 源 (启用“显示所有文章”时不生效))', + 'img_with_lazyload' => '延迟加载图片', + 'sides_close_article' => '点击文章外区域以关闭文章', + 'jump_next' => '跳转到下一未读项 (RSS 源或分类)', + 'number_divided_when_reader' => '阅读视图中显示一半', + 'read' => array( + 'article_open_on_website' => '在打开原文章后', + 'article_viewed' => '在文章被浏览后', + 'scroll' => '在滚动浏览后', + 'upon_reception' => '在接收文章后', + 'when' => '将文章设为已读…', + ), + 'show' => array( + '_' => '文章显示', + 'adaptive' => '智能显示', + 'all_articles' => '显示所有文章', + 'unread' => '只显示未读', + ), + 'sort' => array( + '_' => '排列顺序', + 'newer_first' => '由新到旧', + 'older_first' => '由旧到新', + ), + 'sticky_post' => '打开文章时将其置顶', + 'title' => '阅读', + 'view' => array( + 'default' => '默认视图', + 'global' => '全屏视图', + 'normal' => '普通视图', + 'reader' => '阅读视图', + ), + ), + 'sharing' => array( + '_' => '分享', + 'blogotext' => 'Blogotext', + 'diaspora' => 'Diaspora*', + 'email' => 'Email', + 'facebook' => 'Facebook', + 'g+' => 'Google+', + 'more_information' => '更多信息', + 'print' => '打印', + 'shaarli' => 'Shaarli', + 'share_name' => '名称', + 'share_url' => '地址', + 'title' => '分享', + 'twitter' => 'Twitter', + 'wallabag' => 'wallabag', + ), + 'shortcut' => array( + '_' => '快捷键', + 'article_action' => '文章操作', + 'auto_share' => '分享', + 'auto_share_help' => '如果有多种分享模式,则会按照它们的编号依次访问。', + 'close_dropdown' => '关闭菜单', + 'collapse_article' => '收起文章', + 'first_article' => '跳转到第一篇文章', + 'focus_search' => '聚焦到搜索框', + 'help' => '显示帮助文档', + 'javascript' => '若要使用快捷键,必须启用 JavaScript', + 'last_article' => '跳转到最后一篇文章', + 'load_more' => '载入更多文章', + 'mark_read' => '设为已读', + 'mark_favorite' => '加入收藏', + 'navigation' => '浏览', + 'navigation_help' => '搭配 "Shift" 键,浏览快捷键将生效于 RSS 源。<br/>搭配 "Alt" 键,浏览快捷键将生效于分类。', + 'next_article' => '跳转到下一篇文章', + 'other_action' => '其他操作', + 'previous_article' => '跳转到上一篇文章', + 'see_on_website' => '在原网站上查看', + 'shift_for_all_read' => '+ <code>shift</code> 可以将全部文章设为已读', + 'title' => '快捷键', + 'user_filter' => '显示自定义查询', + 'user_filter_help' => '如果有多个自定义过滤器,则会按照它们的编号依次访问。', + ), + 'user' => array( + 'articles_and_size' => '%s 篇文章 (%s)', + 'current' => '当前用户', + 'is_admin' => '此用户为管理员', + 'users' => '用户', + ), +); diff --git a/app/i18n/zh-cn/feedback.php b/app/i18n/zh-cn/feedback.php new file mode 100644 index 000000000..4ec833668 --- /dev/null +++ b/app/i18n/zh-cn/feedback.php @@ -0,0 +1,109 @@ +<?php + +return array( + 'admin' => array( + 'optimization_complete' => '优化完成', + ), + 'access' => array( + 'denied' => '你无权访问此页面', + 'not_found' => '你寻找的页面不存在', + ), + 'auth' => array( + 'form' => array( + 'not_set' => '配置认证方式时出错。请稍后重试。', + 'set' => 'Form 是你当前默认的认证方式。', + ), + 'login' => array( + 'invalid' => '用户名或密码无效', + 'success' => '登录成功', + ), + 'logout' => array( + 'success' => '登出成功', + ), + 'no_password_set' => '管理员密码尚未设置。此特性不可用。', + ), + 'conf' => array( + 'error' => '保存配置时出错', + 'query_created' => '查询 "%s" 已创建。', + 'shortcuts_updated' => '快捷键已更新', + 'updated' => '配置已更新', + ), + 'extensions' => array( + 'already_enabled' => '%s 已启用', + 'disable' => array( + 'ko' => '%s 禁用失败。<a href="%s">检查 FressRSS 日志</a> 查看详情。', + 'ok' => '%s 现已禁用', + ), + 'enable' => array( + 'ko' => '%s 启用失败。<a href="%s">检查 FressRSS 日志</a> 查看详情。', + 'ok' => '%s 现已禁用', + ), + 'no_access' => '你无权访问 %s', + 'not_enabled' => '%s 未启用', + 'not_found' => '%s 不存在', + ), + 'import_export' => array( + 'export_no_zip_extension' => '服务器未启用 ZIP 扩展。请尝试逐个导出文件。', + 'feeds_imported' => '你的 RSS 源已导入,即将更新', + 'feeds_imported_with_errors' => '你的 RSS 源已导入,但发生错误', + 'file_cannot_be_uploaded' => '文件未能上传!', + 'no_zip_extension' => '服务器未启用 ZIP 扩展。', + 'zip_error' => '导入 ZIP 文件时出错', + ), + 'sub' => array( + 'actualize' => '获取', + 'category' => array( + 'created' => '分类 %s 已创建。', + 'deleted' => '分类已删除。', + 'emptied' => '分类已清空。', + 'error' => '分类更新失败。', + 'name_exists' => '分类名已存在。', + 'no_id' => '你必须明确分类 ID', + 'no_name' => '分类名不能为空。', + 'not_delete_default' => '你不能删除默认分类!', + 'not_exist' => '分类不存在!', + 'over_max' => '你已达到分类数限制 (%d)', + 'updated' => '分类已更新。', + ), + 'feed' => array( + 'actualized' => '<em>%s</em> 已更新', + 'actualizeds' => 'RSS 源已更新', + 'added' => 'RSS 源 <em>%s</em> 已添加', + 'already_subscribed' => '你已订阅 <em>%s</em>', + 'deleted' => 'RSS 源已删除', + 'error' => 'RSS 源更新失败', + 'internal_problem' => 'RSS 源添加失败。<a href="%s">检查 FressRSS 日志</a> 查看详情。', + 'invalid_url' => 'URL <em>%s</em> 无效', + 'marked_read' => 'RSS 源已被设为已读', + 'n_actualized' => '%d 个 RSS 源已更新', + 'n_entries_deleted' => '%d 篇文章已删除', + 'no_refresh' => '没有可刷新的 RSS 源…', + 'not_added' => '<em>%s</em> 添加失败', + 'over_max' => '你已达到 RSS 源数限制 (%d)', + 'updated' => 'RSS 源已更新', + ), + 'purge_completed' => '清除完成 (%d 篇文章已删除)', + ), + 'update' => array( + 'can_apply' => 'FreshRSS 将更新到 <strong>版本 %s</strong>.', + 'error' => '更新出错:%s', + 'file_is_nok' => '请检查 <em>%s</em> 目录权限。HTTP 服务器必须有其写入权限。', + 'finished' => '更新完成!', + 'none' => '没有可用更新', + 'server_not_found' => '找不到更新服务器 [%s]', + ), + 'user' => array( + 'created' => array( + '_' => '用户 %s 已创建', + 'error' => '用户 %s 创建失败', + ), + 'deleted' => array( + '_' => '用户 %s 已删除', + 'error' => '用户 %s 删除失败', + ), + ), + 'profile' => array( + 'error' => '你的帐户修改失败', + 'updated' => '你的帐户已修改', + ), +); diff --git a/app/i18n/zh-cn/gen.php b/app/i18n/zh-cn/gen.php new file mode 100644 index 000000000..84be9f4ba --- /dev/null +++ b/app/i18n/zh-cn/gen.php @@ -0,0 +1,190 @@ +<?php + +return array( + 'action' => array( + 'actualize' => '获取', + 'back_to_rss_feeds' => '← 返回', + 'cancel' => '取消', + 'create' => '创建', + 'disable' => '禁用', + 'empty' => '清空', + 'enable' => '启用', + 'export' => '导出', + 'filter' => '过滤器', + 'import' => '导入', + 'manage' => '管理', + 'mark_favorite' => '加入收藏', + 'mark_read' => '设为已读', + 'remove' => '删除', + 'see_website' => '查看网站', + 'submit' => '提交', + 'truncate' => '删除所有文章', + ), + 'auth' => array( + 'email' => 'Email 地址', + 'keep_logged_in' => '自动登录<small>(%s 天)</small>', + 'login' => '登录', + 'logout' => '登出', + 'password' => array( + '_' => '密码', + 'format' => '<small>至少 7 个字符</small>', + ), + 'registration' => array( + '_' => '新账户', + 'ask' => '创建新账户?', + 'title' => '账户创建', + ), + 'reset' => '密码重置', + 'username' => array( + '_' => '用户名', + 'admin' => '管理员用户名', + 'format' => '<small>最大 16 个数字或字母</small>', + ), + ), + 'date' => array( + 'Apr' => '\\A\\p\\r\\i\\l', + 'Aug' => '\\A\\u\\g\\u\\s\\t', + 'Dec' => '\\D\\e\\c\\e\\m\\b\\e\\r', + 'Feb' => '\\F\\e\\b\\r\\u\\a\\r\\y', + 'Jan' => '\\J\\a\\n\\u\\a\\r\\y', + 'Jul' => '\\J\\u\\l\\y', + 'Jun' => '\\J\\u\\n\\e', + 'Mar' => '\\M\\a\\r\\c\\h', + 'May' => '\\M\\a\\y', + 'Nov' => '\\N\\o\\v\\e\\m\\b\\e\\r', + 'Oct' => '\\O\\c\\t\\o\\b\\e\\r', + 'Sep' => '\\S\\e\\p\\t\\e\\m\\b\\e\\r', + 'apr' => '四月', + 'april' => '四月', + 'aug' => '八月', + 'august' => '八月', + 'before_yesterday' => '昨天以前', + 'dec' => '十二月', + 'december' => '十二月', + 'feb' => '二月', + 'february' => '二月', + 'format_date' => 'Y\\年n\\月j\\日', + 'format_date_hour' => 'Y\\年n\\月j\\日 H\\:i', + 'fri' => '周五', + 'jan' => '一月', + 'january' => '一月', + 'jul' => '七月', + 'july' => '七月', + 'jun' => '六月', + 'june' => '六月', + 'last_3_month' => '最近三个月', + 'last_6_month' => '最近六个月', + 'last_month' => '上月', + 'last_week' => '上周', + 'last_year' => '去年', + 'mar' => '三月', + 'march' => '三月', + 'may' => '五月', + 'may_' => '五月', + 'mon' => '周一', + 'month' => '个月', + 'nov' => '十一月', + 'november' => '十一月', + 'oct' => '十月', + 'october' => '十月', + 'sat' => '周日', + 'sep' => '九月', + 'september' => '九月', + 'sun' => '周日', + 'thu' => '周四', + 'today' => '今天', + 'tue' => '周二', + 'wed' => '周三', + 'yesterday' => '昨天', + ), + 'freshrss' => array( + '_' => 'FreshRSS', + 'about' => '关于 FreshRSS', + ), + 'js' => array( + 'category_empty' => '清空分类', + 'confirm_action' => '你确定要执行此操作吗?这将不可撤销!', + 'confirm_action_feed_cat' => '你确定要执行此操作吗?你将丢失相关的收藏和自定义查询。这将不可撤销!', + 'feedback' => array( + 'body_new_articles' => 'FreshRSS 中有 %%d 篇文章等待阅读。', + 'request_failed' => '请求失败,这可能是因为网络连接问题。', + 'title_new_articles' => 'FreshRSS: 新文章!', + ), + 'new_article' => '发现新文章,点击刷新页面。', + 'should_be_activated' => 'JavaScript 必须启用', + ), + 'lang' => array( + 'cz' => 'Čeština', + 'de' => 'Deutsch', + 'en' => 'English', + 'es' => 'Español', + 'fr' => 'Français', + 'it' => 'Italiano', + 'kr' => '한국어', + 'nl' => 'Nederlands', + 'pt-br' => 'Português (Brasil)', + 'ru' => 'Русский', + 'tr' => 'Türkçe', + 'zh-cn' => '简体中文', + ), + 'menu' => array( + 'about' => '关于', + 'admin' => '管理', + 'archiving' => '存档', + 'authentication' => '认证', + 'check_install' => '环境检查', + 'configuration' => '配置', + 'display' => '显示', + 'extensions' => '扩展', + 'logs' => '日志', + 'queries' => '自定义查询', + 'reading' => '阅读', + 'search' => '搜索内容或#标签', + 'sharing' => '分享', + 'shortcuts' => '快捷键', + 'stats' => '统计', + 'system' => '系统配置', + 'update' => '更新', + 'user_management' => '用户管理', + 'user_profile' => '用户帐户', + ), + 'pagination' => array( + 'first' => '第一页', + 'last' => '最后一页', + 'load_more' => '载入更多文章', + 'mark_all_read' => '全部设为已读', + 'next' => '下一页', + 'nothing_to_load' => '没有更多文章了', + 'previous' => '上一页', + ), + 'share' => array( + 'Known' => 'Known based sites', + 'blogotext' => 'Blogotext', + 'diaspora' => 'Diaspora*', + 'email' => 'Email', + 'facebook' => 'Facebook', + 'g+' => 'Google+', + 'gnusocial' => 'GNU social', + 'jdh' => 'Journal du hacker', + 'mastodon' => 'Mastodon', + 'movim' => 'Movim', + 'print' => 'Print', + 'shaarli' => 'Shaarli', + 'twitter' => 'Twitter', + 'wallabag' => 'wallabag v1', + 'wallabagv2' => 'wallabag v2', + ), + 'short' => array( + 'attention' => '警告!', + 'blank_to_disable' => '留空以禁用', + 'by_author' => '作者 <em>%s</em>', + 'by_default' => '默认', + 'damn' => '错误!', + 'default_category' => '未分类', + 'no' => '否', + 'not_applicable' => '不可用', + 'ok' => '正常!', + 'or' => '或', + 'yes' => '是', + ), +); diff --git a/app/i18n/zh-cn/index.php b/app/i18n/zh-cn/index.php new file mode 100644 index 000000000..0d6e8e82d --- /dev/null +++ b/app/i18n/zh-cn/index.php @@ -0,0 +1,61 @@ +<?php + +return array( + 'about' => array( + '_' => '关于', + 'agpl3' => '<a href="https://www.gnu.org/licenses/agpl-3.0.html">AGPL 3</a>', + 'bugs_reports' => 'Bug 报告', + 'credits' => '致谢', + 'credits_content' => '某些设计元素来自于 <a href="http://twitter.github.io/bootstrap/">Bootstrap</a> ,尽管 FreshRSS 并没有使用此框架。<a href="https://git.gnome.org/browse/gnome-icon-theme-symbolic">图标</a> 来自于 <a href="https://www.gnome.org/">GNOME 项目</a>。<em>Open Sans</em> 字体出自 <a href="https://fonts.google.com/specimen/Open+Sans">Steve Matteson</a> 之手。FreshRSS 基于 PHP 框架 <a href="https://github.com/marienfressinaud/MINZ">Minz</a>。', + 'freshrss_description' => 'FreshRSS 是一个自托管的 RSS 聚合服务,类似于 <a href="http://tontof.net/kriss/feed/">Kriss Feed</a> 或 <a href="http://projet.idleman.fr/leed/">Leed</a>。 它不仅轻快又易用,而且强大又易于配置。', + 'github' => '<a href="https://github.com/FreshRSS/FreshRSS/issues">Github Issues</a>', + 'license' => '授权', + 'project_website' => '项目网站', + 'title' => '关于', + 'version' => '版本', + 'website' => '网站', + ), + 'feed' => array( + 'add' => '你可以添加一些 RSS 源。', + 'empty' => '暂时没有文章可显示。', + 'rss_of' => '%s 的 RSS 源', + 'title' => '首页', + 'title_global' => '全屏视图', + 'title_fav' => '收藏', + ), + 'log' => array( + '_' => '日志', + 'clear' => '清除日志', + 'empty' => '日志文件为空', + 'title' => '日志', + ), + 'menu' => array( + 'about' => '关于 FreshRSS', + 'add_query' => '添加查询', + 'before_one_day' => '一天前', + 'before_one_week' => '一周前', + 'favorites' => '收藏 (%s)', + 'global_view' => '全屏视图', + 'main_stream' => '首页', + 'mark_all_read' => '全部设为已读', + 'mark_cat_read' => '此分类设为已读', + 'mark_feed_read' => '此源设为已读', + 'newer_first' => '由新到旧', + 'non-starred' => '不显示收藏', + 'normal_view' => '普通视图', + 'older_first' => '由旧到新', + 'queries' => '自定义查询', + 'read' => '只显示已读', + 'reader_view' => '阅读视图', + 'rss_view' => 'RSS 源', + 'search_short' => '搜索', + 'starred' => '只显示收藏', + 'stats' => '统计', + 'subscription' => '订阅管理', + 'unread' => '只显示未读', + ), + 'share' => '分享', + 'tag' => array( + 'related' => '相关标签', + ), +); diff --git a/app/i18n/zh-cn/install.php b/app/i18n/zh-cn/install.php new file mode 100644 index 000000000..1e172f0d5 --- /dev/null +++ b/app/i18n/zh-cn/install.php @@ -0,0 +1,119 @@ +<?php + +return array( + 'action' => array( + 'finish' => '完成安装', + 'fix_errors_before' => '请在继续下一步前修复错误。', + 'keep_install' => '保留以前配置', + 'next_step' => '下一步', + 'reinstall' => '重新安装 FreshRSS', + ), + 'auth' => array( + 'form' => 'Web form (传统方式, 需要 JavaScript)', + 'http' => 'HTTP (面向启用 HTTPS 的高级用户)', + 'none' => '无 (危险)', + 'password_form' => '密码<br /><small>(用于 Web-form 登录方式)</small>', + 'password_format' => '至少 7 个字符', + 'type' => '认证方式', + ), + 'bdd' => array( + '_' => '数据库', + 'conf' => array( + '_' => '数据库配置', + 'ko' => '请验证你的数据库信息。', + 'ok' => '数据库配置已保存。', + ), + 'host' => '主机', + 'prefix' => '表前缀', + 'password' => '密码', + 'type' => '数据库类型', + 'username' => '用户名', + ), + 'check' => array( + '_' => '检查', + 'already_installed' => '我们检测到 FreshRSS 已经安装!', + 'cache' => array( + 'nok' => '请检查 <em>./data/cache</em> 目录权限。HTTP 服务器必须有其写入权限。', + 'ok' => 'cache 目录权限正常。', + ), + 'ctype' => array( + 'nok' => '找不到字符类型检测库 (php-ctype) 。', + 'ok' => '已找到字符类型检测库 (ctype) 。', + ), + 'curl' => array( + 'nok' => '找不到 cURL 库 (php-curl package) 。', + 'ok' => '已找到 cURL 库。', + ), + 'data' => array( + 'nok' => '请检查 <em>./data</em> 目录权限。HTTP 服务器必须有其写入权限。', + 'ok' => 'data 目录权限正常。', + ), + 'dom' => array( + 'nok' => '找不到用于浏览 DOM 的库 (php-xml) 。', + 'ok' => '已找到用于浏览 DOM 的库。', + ), + 'favicons' => array( + 'nok' => '请检查 <em>./data/favicons</em> 目录权限。HTTP 服务器必须有其写入权限。', + 'ok' => 'favicons 目录权限正常。', + ), + 'fileinfo' => array( + 'nok' => '找不到 PHP fileinfo 库 (fileinfo) 。', + 'ok' => '已找到 fileinfo 库。', + ), + 'http_referer' => array( + 'nok' => '请检查你是否修改了 HTTP REFERER。', + 'ok' => '你的 HTTP REFERER 已知且与服务器一致。', + ), + 'json' => array( + 'nok' => '找不到推荐的 JSON 解析库。', + 'ok' => '已找到推荐的 JSON 解析库。', + ), + 'minz' => array( + 'nok' => '找不到 Minz 框架。', + 'ok' => '已找到 Minz 框架。', + ), + 'pcre' => array( + 'nok' => '找不到正则表达式解析库 (php-pcre) 。', + 'ok' => '已找到正则表达式解析库 (PCRE) 。', + ), + 'pdo' => array( + 'nok' => '找不到 PDO 或支持的驱动 (pdo_mysql, pdo_sqlite, pdo_pgsql) 。', + 'ok' => '已找到 PDO 和支持的至少一种驱动 (pdo_mysql, pdo_sqlite, pdo_pgsql) 。', + ), + 'php' => array( + 'nok' => '你的 PHP 版本为 %s,但 FreshRSS 最低需要 %s。', + 'ok' => '你的 PHP 版本为 %s,与 FreshRSS 兼容。', + ), + 'users' => array( + 'nok' => '请检查 <em>./data/users</em> 目录权限。HTTP 服务器必须有其写入权限。', + 'ok' => 'users 目录权限正常。', + ), + 'xml' => array( + 'nok' => '找不到用于 XML 解析库。', + 'ok' => '已找到 XML 解析库。', + ), + ), + 'conf' => array( + '_' => '常规配置', + 'ok' => '常规配置已保存。', + ), + 'congratulations' => '恭喜!', + 'default_user' => '默认用户名 <small>(最大 16 个数字或字母)</small>', + 'delete_articles_after' => '保留文章', + 'fix_errors_before' => '请在继续下一步前修复错误。', + 'javascript_is_better' => '启用 JavaScript 会使 FreshRSS 工作得更好', + 'js' => array( + 'confirm_reinstall' => '重新安装 FreshRSS 将会重置之前的配置。你确定要继续吗?', + ), + 'language' => array( + '_' => '语言', + 'choose' => '为 FreshRSS 选择语言', + 'defined' => '语言已指定。', + ), + 'not_deleted' => '出错!你必须手动删除文件 <em>%s</em>。', + 'ok' => '安装成功。', + 'step' => '步骤 %d', + 'steps' => '步骤', + 'title' => '安装 FreshRSS', + 'this_is_the_end' => '最后一步', +); diff --git a/app/i18n/zh-cn/sub.php b/app/i18n/zh-cn/sub.php new file mode 100644 index 000000000..026f436d7 --- /dev/null +++ b/app/i18n/zh-cn/sub.php @@ -0,0 +1,77 @@ +<?php + +return array( + 'api' => array( + 'documentation' => '复制以下地址,可供外部工具使用', + 'title' => 'API', + ), + 'bookmarklet' => array( + 'documentation' => '拖动此书签到你的书签栏或者右键选择“收藏此链接”,然后在你想要订阅的页面上点击“订阅”按钮', + 'label' => '订阅', + 'title' => '书签应用', + ), + 'category' => array( + '_' => '分类', + 'add' => '添加分类', + 'empty' => '空分类', + 'new' => '新分类', + ), + 'feed' => array( + 'add' => '添加 RSS 源', + 'advanced' => '高级', + 'archiving' => '存档', + 'auth' => array( + 'configuration' => '认证', + 'help' => '用于连接启用 HTTP 认证的 RSS 源', + 'http' => 'HTTP 认证', + 'password' => 'HTTP 密码', + 'username' => 'HTTP 用户名', + ), + 'css_help' => '用于获取全文(注意,这将耗费更多时间!)', + 'css_path' => '原文的 CSS 选择器', + 'description' => '描述', + 'empty' => '此源为空。请确认它是否正常更新。', + 'error' => '此源遇到一些问题。请在确认是否能正常访问后重试。', + 'in_main_stream' => '在首页中显示', + 'informations' => '信息', + 'keep_history' => '至少保存的文章数', + 'moved_category_deleted' => '删除分类时,其中的 RSS 源会自动归类到 <em>%s</em>', + 'no_selected' => '未选择 RSS 源。', + 'number_entries' => '%d 篇文章', + 'stats' => '统计', + 'think_to_add' => '你可以添加一些 RSS 源。', + 'title' => '标题', + 'title_add' => '添加 RSS 源', + 'ttl' => '最小自动更新时间', + 'url' => '源 URL', + 'validator' => '检查 RSS 源有效性', + 'website' => '网站 URL', + 'pubsubhubbub' => 'PubSubHubbub 即时通知', + ), + 'firefox' => array( + 'documentation' => '按照 <a href="https://developer.mozilla.org/en-US/Firefox/Releases/2/Adding_feed_readers_to_Firefox#Adding_a_new_feed_reader_manually">这里</a> 描述的步骤可将 FreshRSS 添加到 Firefox 阅读器列表', + 'title' => 'Firefox RSS 阅读器', + ), + 'import_export' => array( + 'export' => '导出', + 'export_opml' => '导出 RSS 源列表 (OPML)', + 'export_starred' => '导出你的收藏', + 'feed_list' => '%s 文章列表', + 'file_to_import' => '需要导入的文件<br />(OPML, JSON 或 ZIP)', + 'file_to_import_no_zip' => '需要导入的文件<br />(OPML 或 JSON)', + 'import' => '导入', + 'starred_list' => '收藏文章列表', + 'title' => '导入/导出', + ), + 'menu' => array( + 'bookmark' => '订阅 (FreshRSS 书签)', + 'import_export' => '导入/导出', + 'subscription_management' => '订阅管理', + 'subscription_tools' => '订阅工具', + ), + 'title' => array( + '_' => '订阅管理', + 'feed_management' => 'RSS 源管理', + 'subscription_tools' => '订阅工具', + ), +); |
