From b8fd3caf8306e8616fcb2f2c0add95b74c2ec024 Mon Sep 17 00:00:00 2001 From: Alexis Degrugillier Date: Sat, 14 Feb 2015 11:00:26 -0500 Subject: Harmonize share configuration view. Before, for shares that don't need options, only a button to remove it was visible. It was source of confusion for users. I changed the look of those shares by using the same layout as others (minus the help). As there is no configuration possible for the url, the field is disabled but it is possible to change the name of the share. See #787 --- app/i18n/fr/gen.php | 1 + 1 file changed, 1 insertion(+) (limited to 'app/i18n/fr/gen.php') diff --git a/app/i18n/fr/gen.php b/app/i18n/fr/gen.php index 1cfec6969..ae946ce0c 100644 --- a/app/i18n/fr/gen.php +++ b/app/i18n/fr/gen.php @@ -156,6 +156,7 @@ return array( 'damn' => 'Arf !', 'default_category' => 'Sans catégorie', 'no' => 'Non', + 'not_applicable' => 'N/A', 'ok' => 'Ok !', 'or' => 'ou', 'yes' => 'Oui', -- cgit v1.2.3 From 58bf976f6923b5ad9c6e8e57a0daa06ec05462f4 Mon Sep 17 00:00:00 2001 From: Alexis Degrugillier Date: Tue, 17 Feb 2015 21:05:28 -0500 Subject: Change translation I change the translation for the 3 languages. German has to be checked since I used Google translate to get the translation. --- app/i18n/de/gen.php | 2 +- app/i18n/en/gen.php | 2 +- app/i18n/fr/gen.php | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'app/i18n/fr/gen.php') diff --git a/app/i18n/de/gen.php b/app/i18n/de/gen.php index 3170b29c2..1b30a5be4 100644 --- a/app/i18n/de/gen.php +++ b/app/i18n/de/gen.php @@ -156,7 +156,7 @@ return array( 'damn' => 'Verdammt!', 'default_category' => 'Unkategorisiert', 'no' => 'Nein', - 'not_applicable' => 'N/A', + 'not_applicable' => 'Nicht verfügbar', 'ok' => 'OK!', 'or' => 'oder', 'yes' => 'Ja', diff --git a/app/i18n/en/gen.php b/app/i18n/en/gen.php index 420e73f36..fdca01a43 100644 --- a/app/i18n/en/gen.php +++ b/app/i18n/en/gen.php @@ -156,7 +156,7 @@ return array( 'damn' => 'Damn!', 'default_category' => 'Uncategorized', 'no' => 'No', - 'not_applicable' => 'N/A', + 'not_applicable' => 'Not available', 'ok' => 'Ok!', 'or' => 'or', 'yes' => 'Yes', diff --git a/app/i18n/fr/gen.php b/app/i18n/fr/gen.php index ae946ce0c..48fc4a7e9 100644 --- a/app/i18n/fr/gen.php +++ b/app/i18n/fr/gen.php @@ -156,7 +156,7 @@ return array( 'damn' => 'Arf !', 'default_category' => 'Sans catégorie', 'no' => 'Non', - 'not_applicable' => 'N/A', + 'not_applicable' => 'Non disponible', 'ok' => 'Ok !', 'or' => 'ou', 'yes' => 'Oui', -- cgit v1.2.3 From 6283fe99b2ded06d05d01c595a1d067010b4b886 Mon Sep 17 00:00:00 2001 From: Tets Date: Fri, 27 Mar 2015 08:13:34 +0100 Subject: Added Czech to the list in other languages in gen.php --- app/i18n/de/gen.php | 1 + app/i18n/en/gen.php | 1 + app/i18n/fr/gen.php | 1 + 3 files changed, 3 insertions(+) (limited to 'app/i18n/fr/gen.php') diff --git a/app/i18n/de/gen.php b/app/i18n/de/gen.php index 1b30a5be4..8970d5003 100644 --- a/app/i18n/de/gen.php +++ b/app/i18n/de/gen.php @@ -104,6 +104,7 @@ return array( 'should_be_activated' => 'JavaScript muss aktiviert sein', ), 'lang' => array( + 'cz' => 'Čeština', 'de' => 'Deutsch', 'en' => 'English', 'fr' => 'Français', diff --git a/app/i18n/en/gen.php b/app/i18n/en/gen.php index fdca01a43..b02b9f0f2 100644 --- a/app/i18n/en/gen.php +++ b/app/i18n/en/gen.php @@ -104,6 +104,7 @@ return array( 'should_be_activated' => 'JavaScript must be enabled', ), 'lang' => array( + 'cz' => 'Čeština', 'de' => 'Deutsch', 'en' => 'English', 'fr' => 'Français', diff --git a/app/i18n/fr/gen.php b/app/i18n/fr/gen.php index 48fc4a7e9..c81e57bf7 100644 --- a/app/i18n/fr/gen.php +++ b/app/i18n/fr/gen.php @@ -104,6 +104,7 @@ return array( 'should_be_activated' => 'Le JavaScript doit être activé.', ), 'lang' => array( + 'cz' => 'Čeština', 'de' => 'Deutsch', 'en' => 'English', 'fr' => 'Français', -- cgit v1.2.3 From de2e221aca0639c45cfe30f049ec71a493b17a5c Mon Sep 17 00:00:00 2001 From: Marien Fressinaud Date: Wed, 22 Jul 2015 22:04:33 +0200 Subject: Fix translations See https://github.com/FreshRSS/FreshRSS/issues/679 --- app/i18n/cz/admin.php | 7 +++++++ app/i18n/cz/conf.php | 4 ++++ app/i18n/cz/gen.php | 5 +++++ app/i18n/de/admin.php | 7 +++++++ app/i18n/de/conf.php | 4 ++++ app/i18n/de/gen.php | 5 +++++ app/i18n/en/admin.php | 7 +++++++ app/i18n/en/conf.php | 4 ++++ app/i18n/en/gen.php | 5 +++++ app/i18n/fr/admin.php | 7 +++++++ app/i18n/fr/conf.php | 4 ++++ app/i18n/fr/gen.php | 5 +++++ app/views/auth/formLogin.phtml | 2 +- app/views/auth/personaLogin.phtml | 2 +- app/views/auth/register.phtml | 4 +--- app/views/user/manage.phtml | 5 ++++- 16 files changed, 71 insertions(+), 6 deletions(-) (limited to 'app/i18n/fr/gen.php') diff --git a/app/i18n/cz/admin.php b/app/i18n/cz/admin.php index b9ef707cf..bfa67573e 100644 --- a/app/i18n/cz/admin.php +++ b/app/i18n/cz/admin.php @@ -160,8 +160,15 @@ return array( 'create' => 'Vytvořit nového uživatele', 'email_persona' => 'Email pro přihlášení
(pro Mozilla Persona)', 'language' => 'Jazyk', + 'number' => 'There is %d account created yet', // TODO: translate + 'numbers' => 'There are %d accounts created yet', // TODO: translate 'password_form' => 'Heslo
(pro přihlášení webovým formulářem)', 'password_format' => 'Alespoň 7 znaků', + 'registration' => array( + 'allow' => 'Allow account creation', // TODO: translate + 'help' => '0 means that there is no account limit', // TODO: translate + 'number' => 'Max number of accounts', // TODO: translate + ), 'title' => 'Správa uživatelů', 'user_list' => 'Seznam uživatelů', 'username' => 'Přihlašovací jméno', diff --git a/app/i18n/cz/conf.php b/app/i18n/cz/conf.php index 9518df66d..859eeac89 100644 --- a/app/i18n/cz/conf.php +++ b/app/i18n/cz/conf.php @@ -72,6 +72,10 @@ return array( ), 'profile' => array( '_' => 'Správa profilu', + 'delete' => array( + '_' => 'Account deletion', // TODO: translate + 'warn' => 'Your account and all the related data will be deleted.', // TODO: translate + ), 'email_persona' => 'Email pro přihlášení
(pro Mozilla Persona)', 'password_api' => 'Password API
(tzn. pro mobilní aplikace)', 'password_form' => 'Heslo
(pro přihlášení webovým formulářem)', diff --git a/app/i18n/cz/gen.php b/app/i18n/cz/gen.php index 7c333a9c8..13e0db261 100644 --- a/app/i18n/cz/gen.php +++ b/app/i18n/cz/gen.php @@ -21,12 +21,17 @@ return array( 'truncate' => 'Smazat všechny články', ), 'auth' => array( + 'email' => 'Email', 'keep_logged_in' => 'Zapamatovat přihlášení (1 měsíc)', 'login' => 'Login', 'login_persona' => 'Přihlášení pomocí Persona', 'login_persona_problem' => 'Problém s připojením k Persona?', 'logout' => 'Odhlášení', 'password' => 'Heslo', + 'registration' => array( + '_' => 'New account', // TODO: translate + 'ask' => 'Create an account?', // TODO: translate + ), 'reset' => 'Reset přihlášení', 'username' => 'Uživatel', 'username_admin' => 'Název administrátorského účtu', diff --git a/app/i18n/de/admin.php b/app/i18n/de/admin.php index c0cbf6787..667f7af8d 100644 --- a/app/i18n/de/admin.php +++ b/app/i18n/de/admin.php @@ -160,8 +160,15 @@ return array( 'create' => 'Neuen Benutzer erstellen', 'email_persona' => 'Anmelde-E-Mail-Adresse
(für Mozilla Persona)', 'language' => 'Sprache', + 'number' => 'There is %d account created yet', // TODO: translate + 'numbers' => 'There are %d accounts created yet', // TODO: translate 'password_form' => 'Passwort
(für die Anmeldemethode per Webformular)', 'password_format' => 'mindestens 7 Zeichen', + 'registration' => array( + 'allow' => 'Allow account creation', // TODO: translate + 'help' => '0 means that there is no account limit', // TODO: translate + 'number' => 'Max number of accounts', // TODO: translate + ), 'title' => 'Benutzer verwalten', 'user_list' => 'Liste der Benutzer', 'username' => 'Nutzername', diff --git a/app/i18n/de/conf.php b/app/i18n/de/conf.php index 4a0a77ddd..5313ec3fd 100644 --- a/app/i18n/de/conf.php +++ b/app/i18n/de/conf.php @@ -72,6 +72,10 @@ return array( ), 'profile' => array( '_' => 'Profil-Verwaltung', + 'delete' => array( + '_' => 'Account deletion', // TODO: translate + 'warn' => 'Your account and all the related data will be deleted.', // TODO: translate + ), 'email_persona' => 'Anmelde-E-Mail-Adresse
(für Mozilla Persona)', 'password_api' => 'Passwort-API
(z. B. für mobile Anwendungen)', 'password_form' => 'Passwort
(für die Anmeldemethode per Webformular)', diff --git a/app/i18n/de/gen.php b/app/i18n/de/gen.php index f24a52c2e..9682a4a21 100644 --- a/app/i18n/de/gen.php +++ b/app/i18n/de/gen.php @@ -21,12 +21,17 @@ return array( 'truncate' => 'Alle Artikel löschen', ), 'auth' => array( + 'email' => 'E-Mail-Adresse', 'keep_logged_in' => 'Eingeloggt bleiben (1 Monat)', 'login' => 'Anmelden', 'login_persona' => 'Anmelden mit Persona', 'login_persona_problem' => 'Verbindungsproblem mit Persona?', 'logout' => 'Abmelden', 'password' => 'Passwort', + 'registration' => array( + '_' => 'New account', // TODO: translate + 'ask' => 'Create an account?', // TODO: translate + ), 'reset' => 'Zurücksetzen der Authentifizierung', 'username' => 'Nutzername', 'username_admin' => 'Administrator-Nutzername', diff --git a/app/i18n/en/admin.php b/app/i18n/en/admin.php index 155384afd..aeea61631 100644 --- a/app/i18n/en/admin.php +++ b/app/i18n/en/admin.php @@ -160,8 +160,15 @@ return array( 'create' => 'Create new user', 'email_persona' => 'Login mail address
(for Mozilla Persona)', 'language' => 'Language', + 'number' => 'There is %d account created yet', + 'numbers' => 'There are %d accounts created yet', 'password_form' => 'Password
(for the Web-form login method)', 'password_format' => 'At least 7 characters', + 'registration' => array( + 'allow' => 'Allow account creation', + 'help' => '0 means that there is no account limit', + 'number' => 'Max number of accounts', + ), 'title' => 'Manage users', 'user_list' => 'List of users', 'username' => 'Username', diff --git a/app/i18n/en/conf.php b/app/i18n/en/conf.php index 42a06906d..69162932f 100644 --- a/app/i18n/en/conf.php +++ b/app/i18n/en/conf.php @@ -72,6 +72,10 @@ return array( ), 'profile' => array( '_' => 'Profile management', + 'delete' => array( + '_' => 'Account deletion', + 'warn' => 'Your account and all the related data will be deleted.', + ), 'email_persona' => 'Login email address
(for Mozilla Persona)', 'password_api' => 'Password API
(e.g., for mobile apps)', 'password_form' => 'Password
(for the Web-form login method)', diff --git a/app/i18n/en/gen.php b/app/i18n/en/gen.php index 6e47e0921..ac55a1a3b 100644 --- a/app/i18n/en/gen.php +++ b/app/i18n/en/gen.php @@ -21,12 +21,17 @@ return array( 'truncate' => 'Delete all articles', ), 'auth' => array( + 'email' => 'Email address', 'keep_logged_in' => 'Keep me logged in (1 month)', 'login' => 'Login', 'login_persona' => 'Login with Persona', 'login_persona_problem' => 'Connection problem with Persona?', 'logout' => 'Logout', 'password' => 'Password', + 'registration' => array( + '_' => 'New account', + 'ask' => 'Create an account?', + ), 'reset' => 'Authentication reset', 'username' => 'Username', 'username_admin' => 'Administrator username', diff --git a/app/i18n/fr/admin.php b/app/i18n/fr/admin.php index b740bd0d2..01e0cb3c7 100644 --- a/app/i18n/fr/admin.php +++ b/app/i18n/fr/admin.php @@ -160,8 +160,15 @@ return array( 'create' => 'Créer un nouvel utilisateur', 'email_persona' => 'Adresse courriel de connexion
(pour Mozilla Persona)', 'language' => 'Langue', + 'number' => '%d compte a déjà été créé', + 'numbers' => '%d comptes ont déjà été créés', 'password_form' => 'Mot de passe
(pour connexion par formulaire)', 'password_format' => '7 caractères minimum', + 'registration' => array( + 'allow' => 'Autoriser la création de comptes', + 'help' => 'Un chiffre de 0 signifie que l’on peut créer un nombre infini de comptes', + 'number' => 'Nombre max de comptes', + ), 'title' => 'Gestion des utilisateurs', 'user_list' => 'Liste des utilisateurs', 'username' => 'Nom d’utilisateur', diff --git a/app/i18n/fr/conf.php b/app/i18n/fr/conf.php index 87f9be290..6193b7a01 100644 --- a/app/i18n/fr/conf.php +++ b/app/i18n/fr/conf.php @@ -72,6 +72,10 @@ return array( ), 'profile' => array( '_' => 'Gestion du profil', + 'delete' => array( + '_' => 'Suppression du compte', + 'warn' => 'Le compte et toutes les données associées vont être supprimées.', + ), 'email_persona' => 'Adresse courriel de connexion
(pour Mozilla Persona)', 'password_api' => 'Mot de passe API
(ex. : pour applis mobiles)', 'password_form' => 'Mot de passe
(pour connexion par formulaire)', diff --git a/app/i18n/fr/gen.php b/app/i18n/fr/gen.php index c81e57bf7..3336b6a03 100644 --- a/app/i18n/fr/gen.php +++ b/app/i18n/fr/gen.php @@ -21,12 +21,17 @@ return array( 'truncate' => 'Supprimer tous les articles', ), 'auth' => array( + 'email' => 'Adresse courriel', 'keep_logged_in' => 'Rester connecté (1 mois)', 'login' => 'Connexion', 'login_persona' => 'Connexion avec Persona', 'login_persona_problem' => 'Problème de connexion à Persona ?', 'logout' => 'Déconnexion', 'password' => 'Mot de passe', + 'registration' => array( + '_' => 'Nouveau compte', + 'ask' => 'Créer un compte ?', + ), 'reset' => 'Réinitialisation de l’authentification', 'username' => 'Nom d’utilisateur', 'username_admin' => 'Nom d’utilisateur administrateur', diff --git a/app/views/auth/formLogin.phtml b/app/views/auth/formLogin.phtml index 3a6053065..b0083944f 100644 --- a/app/views/auth/formLogin.phtml +++ b/app/views/auth/formLogin.phtml @@ -2,7 +2,7 @@

- +
diff --git a/app/views/auth/personaLogin.phtml b/app/views/auth/personaLogin.phtml index 91349a67e..c6d738bf6 100644 --- a/app/views/auth/personaLogin.phtml +++ b/app/views/auth/personaLogin.phtml @@ -3,7 +3,7 @@

- +

diff --git a/app/views/auth/register.phtml b/app/views/auth/register.phtml index 96c91f411..ada654b15 100644 --- a/app/views/auth/register.phtml +++ b/app/views/auth/register.phtml @@ -1,12 +1,10 @@

-

+

diff --git a/app/views/user/manage.phtml b/app/views/user/manage.phtml index 61b296528..3d3bc3ddf 100644 --- a/app/views/user/manage.phtml +++ b/app/views/user/manage.phtml @@ -16,7 +16,10 @@
- + 1 ? 'admin.user.numbers' : 'admin.user.number', $number); + ?>
-- cgit v1.2.3 From 669c41114f60a5a31253bed766f52e1840e00599 Mon Sep 17 00:00:00 2001 From: Marien Fressinaud Date: Wed, 22 Jul 2015 22:28:21 +0200 Subject: Show indications for username and password formats See https://github.com/FreshRSS/FreshRSS/issues/679 --- app/i18n/cz/gen.php | 12 +++++++++--- app/i18n/de/gen.php | 12 +++++++++--- app/i18n/en/gen.php | 12 +++++++++--- app/i18n/fr/gen.php | 12 +++++++++--- app/views/auth/register.phtml | 9 ++------- app/views/auth/reset.phtml | 2 +- 6 files changed, 39 insertions(+), 20 deletions(-) (limited to 'app/i18n/fr/gen.php') diff --git a/app/i18n/cz/gen.php b/app/i18n/cz/gen.php index 13e0db261..a89bf6b49 100644 --- a/app/i18n/cz/gen.php +++ b/app/i18n/cz/gen.php @@ -27,14 +27,20 @@ return array( 'login_persona' => 'Přihlášení pomocí Persona', 'login_persona_problem' => 'Problém s připojením k Persona?', 'logout' => 'Odhlášení', - 'password' => 'Heslo', + 'password' => array( + '_' => 'Heslo', + 'format' => 'Alespoň 7 znaků', + ), 'registration' => array( '_' => 'New account', // TODO: translate 'ask' => 'Create an account?', // TODO: translate ), 'reset' => 'Reset přihlášení', - 'username' => 'Uživatel', - 'username_admin' => 'Název administrátorského účtu', + 'username' => array( + '_' => 'Uživatel', + 'admin' => 'Název administrátorského účtu', + 'format' => 'maximálně 16 alfanumerických znaků', + ), 'will_reset' => 'Přihlašovací systém bude vyresetován: místo sytému Persona bude použito přihlášení formulářem.', ), 'date' => array( diff --git a/app/i18n/de/gen.php b/app/i18n/de/gen.php index 9682a4a21..d6fcfe1e4 100644 --- a/app/i18n/de/gen.php +++ b/app/i18n/de/gen.php @@ -27,14 +27,20 @@ return array( 'login_persona' => 'Anmelden mit Persona', 'login_persona_problem' => 'Verbindungsproblem mit Persona?', 'logout' => 'Abmelden', - 'password' => 'Passwort', + 'password' => array( + '_' => 'Passwort', + 'format' => 'mindestens 7 Zeichen', + ), 'registration' => array( '_' => 'New account', // TODO: translate 'ask' => 'Create an account?', // TODO: translate ), 'reset' => 'Zurücksetzen der Authentifizierung', - 'username' => 'Nutzername', - 'username_admin' => 'Administrator-Nutzername', + 'username' => array( + '_' => 'Nutzername', + 'admin' => 'Administrator-Nutzername', + 'format' => 'maximal 16 alphanumerische Zeichen', + ), 'will_reset' => 'Authentifikationssystem wird zurückgesetzt: ein Formular wird anstelle von Persona benutzt.', ), 'date' => array( diff --git a/app/i18n/en/gen.php b/app/i18n/en/gen.php index ac55a1a3b..063322cbf 100644 --- a/app/i18n/en/gen.php +++ b/app/i18n/en/gen.php @@ -27,14 +27,20 @@ return array( 'login_persona' => 'Login with Persona', 'login_persona_problem' => 'Connection problem with Persona?', 'logout' => 'Logout', - 'password' => 'Password', + 'password' => array( + '_' => 'Password', + 'format' => 'At least 7 characters', + ), 'registration' => array( '_' => 'New account', 'ask' => 'Create an account?', ), 'reset' => 'Authentication reset', - 'username' => 'Username', - 'username_admin' => 'Administrator username', + 'username' => array( + '_' => 'Username', + 'admin' => 'Administrator username', + 'format' => 'maximum 16 alphanumeric characters', + ), 'will_reset' => 'Authentication system will be reset: a form will be used instead of Persona.', ), 'date' => array( diff --git a/app/i18n/fr/gen.php b/app/i18n/fr/gen.php index 3336b6a03..5abc7a27b 100644 --- a/app/i18n/fr/gen.php +++ b/app/i18n/fr/gen.php @@ -27,14 +27,20 @@ return array( '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' => '7 caractères minimum', + ), 'registration' => array( '_' => 'Nouveau compte', 'ask' => 'Créer un compte ?', ), 'reset' => 'Réinitialisation de l’authentification', - 'username' => 'Nom d’utilisateur', - 'username_admin' => 'Nom d’utilisateur administrateur', + 'username' => array( + '_' => 'Nom d’utilisateur', + 'admin' => 'Nom d’utilisateur administrateur', + 'format' => '16 caractères alphanumériques maximum', + ), 'will_reset' => 'Le système d’authentification va être réinitialisé : un formulaire sera utilisé à la place de Persona.', ), 'date' => array( diff --git a/app/views/auth/register.phtml b/app/views/auth/register.phtml index ada654b15..306679601 100644 --- a/app/views/auth/register.phtml +++ b/app/views/auth/register.phtml @@ -1,19 +1,14 @@ -

- +
- +
diff --git a/app/views/auth/reset.phtml b/app/views/auth/reset.phtml index 6e9816ad3..9c820c7c8 100644 --- a/app/views/auth/reset.phtml +++ b/app/views/auth/reset.phtml @@ -16,7 +16,7 @@

- +
-- cgit v1.2.3 From f0a1b26584787e173c8c9cd1a5fea27bb3044f1c Mon Sep 17 00:00:00 2001 From: Marien Fressinaud Date: Wed, 22 Jul 2015 23:06:46 +0200 Subject: Add title to the account creation page See https://github.com/FreshRSS/FreshRSS/issues/679 --- app/Controllers/authController.php | 2 ++ app/i18n/cz/gen.php | 1 + app/i18n/de/gen.php | 1 + app/i18n/en/gen.php | 1 + app/i18n/fr/gen.php | 1 + 5 files changed, 6 insertions(+) (limited to 'app/i18n/fr/gen.php') diff --git a/app/Controllers/authController.php b/app/Controllers/authController.php index 223282afb..aff184263 100644 --- a/app/Controllers/authController.php +++ b/app/Controllers/authController.php @@ -354,5 +354,7 @@ class FreshRSS_auth_Controller extends Minz_ActionController { if (max_registrations_reached()) { Minz_Error::error(403); } + + Minz_View::prependTitle(_t('gen.auth.registration.title') . ' · '); } } diff --git a/app/i18n/cz/gen.php b/app/i18n/cz/gen.php index a89bf6b49..53127998f 100644 --- a/app/i18n/cz/gen.php +++ b/app/i18n/cz/gen.php @@ -34,6 +34,7 @@ return array( 'registration' => array( '_' => 'New account', // TODO: translate 'ask' => 'Create an account?', // TODO: translate + 'title' => 'Account creation', // TODO: translate ), 'reset' => 'Reset přihlášení', 'username' => array( diff --git a/app/i18n/de/gen.php b/app/i18n/de/gen.php index d6fcfe1e4..f8f4823a6 100644 --- a/app/i18n/de/gen.php +++ b/app/i18n/de/gen.php @@ -34,6 +34,7 @@ return array( 'registration' => array( '_' => 'New account', // TODO: translate 'ask' => 'Create an account?', // TODO: translate + 'title' => 'Account creation', // TODO: translate ), 'reset' => 'Zurücksetzen der Authentifizierung', 'username' => array( diff --git a/app/i18n/en/gen.php b/app/i18n/en/gen.php index 063322cbf..1feb8d6ac 100644 --- a/app/i18n/en/gen.php +++ b/app/i18n/en/gen.php @@ -34,6 +34,7 @@ return array( 'registration' => array( '_' => 'New account', 'ask' => 'Create an account?', + 'title' => 'Account creation', ), 'reset' => 'Authentication reset', 'username' => array( diff --git a/app/i18n/fr/gen.php b/app/i18n/fr/gen.php index 5abc7a27b..67d278be4 100644 --- a/app/i18n/fr/gen.php +++ b/app/i18n/fr/gen.php @@ -34,6 +34,7 @@ return array( 'registration' => array( '_' => 'Nouveau compte', 'ask' => 'Créer un compte ?', + 'title' => 'Création de compte', ), 'reset' => 'Réinitialisation de l’authentification', 'username' => array( -- cgit v1.2.3 From 501e3312101893b147767c9f3a36c947869d6580 Mon Sep 17 00:00:00 2001 From: Alexandre Alapetite Date: Fri, 21 Aug 2015 13:35:46 +0200 Subject: Reference other languages https://github.com/FreshRSS/FreshRSS/issues/949 https://github.com/FreshRSS/FreshRSS/pull/950 --- app/i18n/cz/gen.php | 3 ++- app/i18n/de/gen.php | 1 + app/i18n/en/gen.php | 1 + app/i18n/fr/gen.php | 1 + app/i18n/nl/gen.php | 1 + 5 files changed, 6 insertions(+), 1 deletion(-) (limited to 'app/i18n/fr/gen.php') diff --git a/app/i18n/cz/gen.php b/app/i18n/cz/gen.php index 53127998f..2094d6a60 100644 --- a/app/i18n/cz/gen.php +++ b/app/i18n/cz/gen.php @@ -116,10 +116,11 @@ return array( 'should_be_activated' => 'JavaScript musí být povolen', ), 'lang' => array( + 'cz' => 'Čeština', 'de' => 'Deutsch', 'en' => 'English', 'fr' => 'Français', - 'cz' => 'Čeština', + 'nl' => 'Nederlands', ), 'menu' => array( 'about' => 'O aplikaci', diff --git a/app/i18n/de/gen.php b/app/i18n/de/gen.php index f8f4823a6..fd9ee3f62 100644 --- a/app/i18n/de/gen.php +++ b/app/i18n/de/gen.php @@ -120,6 +120,7 @@ return array( 'de' => 'Deutsch', 'en' => 'English', 'fr' => 'Français', + 'nl' => 'Nederlands', ), 'menu' => array( 'about' => 'Über', diff --git a/app/i18n/en/gen.php b/app/i18n/en/gen.php index 1feb8d6ac..484911444 100644 --- a/app/i18n/en/gen.php +++ b/app/i18n/en/gen.php @@ -120,6 +120,7 @@ return array( 'de' => 'Deutsch', 'en' => 'English', 'fr' => 'Français', + 'nl' => 'Nederlands', ), 'menu' => array( 'about' => 'About', diff --git a/app/i18n/fr/gen.php b/app/i18n/fr/gen.php index 67d278be4..2a2fffe3e 100644 --- a/app/i18n/fr/gen.php +++ b/app/i18n/fr/gen.php @@ -120,6 +120,7 @@ return array( 'de' => 'Deutsch', 'en' => 'English', 'fr' => 'Français', + 'nl' => 'Nederlands', ), 'menu' => array( 'about' => 'À propos', diff --git a/app/i18n/nl/gen.php b/app/i18n/nl/gen.php index 9d7a868dd..8680bef11 100644 --- a/app/i18n/nl/gen.php +++ b/app/i18n/nl/gen.php @@ -106,6 +106,7 @@ return array( 'should_be_activated' => 'JavaScript moet aan staan', ), 'lang' => array( + 'cz' => 'Čeština', 'de' => 'Deutsch', 'en' => 'English', 'fr' => 'Français', -- cgit v1.2.3 From 269c6b88c4486a0ae1a92df65578ee6ab6f0bbca Mon Sep 17 00:00:00 2001 From: Alexis Degrugillier Date: Sat, 22 Aug 2015 09:33:58 -0400 Subject: Add a system configuration page It allows to modify system configuration from the interface. At the moment, only limits are modifiable. The user limit was removed from the user page and added here along with categories and feeds limits. --- app/Controllers/configureController.php | 33 +++++++++++++++++++++++ app/Controllers/userController.php | 24 ----------------- app/i18n/cz/admin.php | 14 ++++++---- app/i18n/cz/feedback.php | 1 - app/i18n/cz/gen.php | 1 + app/i18n/de/admin.php | 14 ++++++---- app/i18n/de/feedback.php | 1 - app/i18n/de/gen.php | 1 + app/i18n/en/admin.php | 14 ++++++---- app/i18n/en/feedback.php | 1 - app/i18n/en/gen.php | 1 + app/i18n/fr/admin.php | 14 ++++++---- app/i18n/fr/feedback.php | 1 - app/i18n/fr/gen.php | 1 + app/layout/aside_configure.phtml | 3 +++ app/layout/header.phtml | 1 + app/views/configure/system.phtml | 47 +++++++++++++++++++++++++++++++++ app/views/user/manage.phtml | 28 -------------------- 18 files changed, 124 insertions(+), 76 deletions(-) create mode 100644 app/views/configure/system.phtml (limited to 'app/i18n/fr/gen.php') diff --git a/app/Controllers/configureController.php b/app/Controllers/configureController.php index 248a3edcc..7a4d0ecd7 100755 --- a/app/Controllers/configureController.php +++ b/app/Controllers/configureController.php @@ -293,4 +293,37 @@ class FreshRSS_configure_Controller extends Minz_ActionController { Minz_Request::good(_t('feedback.conf.query_created', $query['name']), array('c' => 'configure', 'a' => 'queries')); } + + /** + * This action handles the system configuration page. + * + * It displays the system configuration page. + * If this action is reach through a POST request, it stores all new + * configuration values then sends a notification to the user. + * + * The options available on the page are: + * - user limit (default: 1) + * - user category limit (default: 16384) + * - user feed limit (default: 16384) + */ + public function systemAction() { + if (!FreshRSS_Auth::hasAccess('admin')) { + Minz_Error::error(403); + } + if (Minz_Request::isPost()) { + $limits = FreshRSS_Context::$system_conf->limits; + $limits['max_registrations'] = Minz_Request::param('max-registrations', 1); + $limits['max_feeds'] = Minz_Request::param('max-feeds', 16384); + $limits['max_categories'] = Minz_Request::param('max-categories', 16384); + FreshRSS_Context::$system_conf->limits = $limits; + FreshRSS_Context::$system_conf->save(); + + invalidateHttpCache(); + + Minz_Session::_param('notification', array( + 'type' => 'good', + 'content' => _t('feedback.conf.updated') + )); + } + } } diff --git a/app/Controllers/userController.php b/app/Controllers/userController.php index 428cd145d..1c7d621f1 100644 --- a/app/Controllers/userController.php +++ b/app/Controllers/userController.php @@ -272,28 +272,4 @@ class FreshRSS_user_Controller extends Minz_ActionController { Minz_Request::forward($redirect_url, true); } - - /** - * This action updates the max number of registrations. - * - * Request parameter is: - * - max-registrations (int >= 0) - */ - public function setRegistrationAction() { - if (Minz_Request::isPost() && FreshRSS_Auth::hasAccess('admin')) { - $limits = FreshRSS_Context::$system_conf->limits; - $limits['max_registrations'] = Minz_Request::param('max-registrations', 1); - FreshRSS_Context::$system_conf->limits = $limits; - FreshRSS_Context::$system_conf->save(); - - invalidateHttpCache(); - - Minz_Session::_param('notification', array( - 'type' => 'good', - 'content' => _t('feedback.user.set_registration') - )); - } - - Minz_Request::forward(array('c' => 'user', 'a' => 'manage'), true); - } } diff --git a/app/i18n/cz/admin.php b/app/i18n/cz/admin.php index 4ca56cc37..92c300709 100644 --- a/app/i18n/cz/admin.php +++ b/app/i18n/cz/admin.php @@ -146,6 +146,15 @@ return array( 'title' => 'Statistika', 'top_feed' => 'Top ten kanálů', ), + 'system' => array( + '_' => 'System configuration', + 'max-categories' => 'Categories per user limit', + 'max-feeds' => 'Feeds per user limit', + 'registration' => array( + 'help' => '0 znamená žádná omezení účtu', + 'number' => 'Maximální počet účtů', + ), + ), 'update' => array( '_' => 'Aktualizace systému', 'apply' => 'Použít', @@ -164,11 +173,6 @@ return array( 'numbers' => 'Zatím je vytvořeno %d účtů', 'password_form' => 'Heslo
(pro přihlášení webovým formulářem)', 'password_format' => 'Alespoň 7 znaků', - 'registration' => array( - 'allow' => 'Povolit vytváření účtů', - 'help' => '0 znamená žádná omezení účtu', - 'number' => 'Maximální počet účtů', - ), 'title' => 'Správa uživatelů', 'user_list' => 'Seznam uživatelů', 'username' => 'Přihlašovací jméno', diff --git a/app/i18n/cz/feedback.php b/app/i18n/cz/feedback.php index 5ba64b938..b75a4a15a 100644 --- a/app/i18n/cz/feedback.php +++ b/app/i18n/cz/feedback.php @@ -102,7 +102,6 @@ return array( '_' => 'Uživatel %s byl smazán', 'error' => 'Uživatele %s nelze smazat', ), - 'set_registration' => 'Maximální počet účtů byl změněn', ), 'profile' => array( 'error' => 'Váš profil nelze změnit', diff --git a/app/i18n/cz/gen.php b/app/i18n/cz/gen.php index 138def772..436e4f0c2 100644 --- a/app/i18n/cz/gen.php +++ b/app/i18n/cz/gen.php @@ -137,6 +137,7 @@ return array( 'sharing' => 'Sdílení', 'shortcuts' => 'Zkratky', 'stats' => 'Statistika', + 'system' => 'System configuration', 'update' => 'Aktualizace', 'user_management' => 'Správa uživatelů', 'user_profile' => 'Profil', diff --git a/app/i18n/de/admin.php b/app/i18n/de/admin.php index 68dcc2ebf..365f065af 100644 --- a/app/i18n/de/admin.php +++ b/app/i18n/de/admin.php @@ -146,6 +146,15 @@ return array( 'title' => 'Statistiken', 'top_feed' => 'Top 10-Feeds', ), + 'system' => array( + '_' => 'System configuration', + 'max-categories' => 'Categories per user limit', + 'max-feeds' => 'Feeds per user limit', + 'registration' => array( + 'help' => '0 meint, dass es kein Account Limit gibt', + 'number' => 'Maximale Anzahl von Accounts', + ), + ), 'update' => array( '_' => 'System aktualisieren', 'apply' => 'Anwenden', @@ -164,11 +173,6 @@ return array( 'numbers' => 'Es wurden bis jetzt %d Accounts erstellt', 'password_form' => 'Passwort
(für die Anmeldemethode per Webformular)', 'password_format' => 'mindestens 7 Zeichen', - 'registration' => array( - 'allow' => 'Erlaube die Accounterstellung', - 'help' => '0 meint, dass es kein Account Limit gibt', - 'number' => 'Maximale Anzahl von Accounts', - ), 'title' => 'Benutzer verwalten', 'user_list' => 'Liste der Benutzer', 'username' => 'Nutzername', diff --git a/app/i18n/de/feedback.php b/app/i18n/de/feedback.php index e92dacfe9..4c15aadc3 100644 --- a/app/i18n/de/feedback.php +++ b/app/i18n/de/feedback.php @@ -102,7 +102,6 @@ return array( '_' => 'Der Benutzer %s ist gelöscht worden', 'error' => 'Der Benutzer %s kann nicht gelöscht werden', ), - 'set_registration' => 'Die maximale Anzahl von Accounts wurde aktualisiert.', ), 'profile' => array( 'error' => 'Ihr Profil kann nicht geändert werden', diff --git a/app/i18n/de/gen.php b/app/i18n/de/gen.php index de2d846c5..f3450abc0 100644 --- a/app/i18n/de/gen.php +++ b/app/i18n/de/gen.php @@ -137,6 +137,7 @@ return array( 'sharing' => 'Teilen', 'shortcuts' => 'Tastaturkürzel', 'stats' => 'Statistiken', + 'system' => 'System configuration', 'update' => 'Aktualisieren', 'user_management' => 'Benutzer verwalten', 'user_profile' => 'Profil', diff --git a/app/i18n/en/admin.php b/app/i18n/en/admin.php index aeea61631..ad9038203 100644 --- a/app/i18n/en/admin.php +++ b/app/i18n/en/admin.php @@ -146,6 +146,15 @@ return array( 'title' => 'Statistics', 'top_feed' => 'Top ten feeds', ), + 'system' => array( + '_' => 'System configuration', + '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', @@ -164,11 +173,6 @@ return array( 'numbers' => 'There are %d accounts created yet', 'password_form' => 'Password
(for the Web-form login method)', 'password_format' => 'At least 7 characters', - 'registration' => array( - 'allow' => 'Allow account creation', - 'help' => '0 means that there is no account limit', - 'number' => 'Max number of accounts', - ), 'title' => 'Manage users', 'user_list' => 'List of users', 'username' => 'Username', diff --git a/app/i18n/en/feedback.php b/app/i18n/en/feedback.php index c9f73dc1d..c9189c0d0 100644 --- a/app/i18n/en/feedback.php +++ b/app/i18n/en/feedback.php @@ -102,7 +102,6 @@ return array( '_' => 'User %s has been deleted', 'error' => 'User %s cannot be deleted', ), - 'set_registration' => 'The maximum amount of accounts has been updated.', ), 'profile' => array( 'error' => 'Your profile cannot be modified', diff --git a/app/i18n/en/gen.php b/app/i18n/en/gen.php index 1feb8d6ac..9aef45768 100644 --- a/app/i18n/en/gen.php +++ b/app/i18n/en/gen.php @@ -137,6 +137,7 @@ return array( 'sharing' => 'Sharing', 'shortcuts' => 'Shortcuts', 'stats' => 'Statistics', + 'system' => 'System configuration', 'update' => 'Update', 'user_management' => 'Manage users', 'user_profile' => 'Profile', diff --git a/app/i18n/fr/admin.php b/app/i18n/fr/admin.php index 01e0cb3c7..44e013c2f 100644 --- a/app/i18n/fr/admin.php +++ b/app/i18n/fr/admin.php @@ -146,6 +146,15 @@ return array( 'title' => 'Statistiques', 'top_feed' => 'Les dix plus gros flux', ), + 'system' => array( + '_' => 'Configuration du système', + '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', @@ -164,11 +173,6 @@ return array( 'numbers' => '%d comptes ont déjà été créés', 'password_form' => 'Mot de passe
(pour connexion par formulaire)', 'password_format' => '7 caractères minimum', - 'registration' => array( - 'allow' => 'Autoriser la création de comptes', - 'help' => 'Un chiffre de 0 signifie que l’on peut créer un nombre infini de comptes', - 'number' => 'Nombre max de comptes', - ), 'title' => 'Gestion des utilisateurs', 'user_list' => 'Liste des utilisateurs', 'username' => 'Nom d’utilisateur', diff --git a/app/i18n/fr/feedback.php b/app/i18n/fr/feedback.php index 99c193d28..e2364a251 100644 --- a/app/i18n/fr/feedback.php +++ b/app/i18n/fr/feedback.php @@ -102,7 +102,6 @@ return array( '_' => 'L’utilisateur %s a été supprimé.', 'error' => 'L’utilisateur %s ne peut pas être supprimé.', ), - 'set_registration' => 'Le nombre maximal de comptes a été mis à jour.', ), 'profile' => array( 'error' => 'Votre profil n’a pas pu être mis à jour', diff --git a/app/i18n/fr/gen.php b/app/i18n/fr/gen.php index 67d278be4..9df5b6f05 100644 --- a/app/i18n/fr/gen.php +++ b/app/i18n/fr/gen.php @@ -137,6 +137,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', diff --git a/app/layout/aside_configure.phtml b/app/layout/aside_configure.phtml index 7567a8206..d956ec21f 100644 --- a/app/layout/aside_configure.phtml +++ b/app/layout/aside_configure.phtml @@ -27,6 +27,9 @@ +
  • + +
  • diff --git a/app/layout/header.phtml b/app/layout/header.phtml index 41a63a565..238c664b0 100644 --- a/app/layout/header.phtml +++ b/app/layout/header.phtml @@ -67,6 +67,7 @@ if (FreshRSS_Auth::accessNeedsAction()) {
  • +
  • diff --git a/app/views/configure/system.phtml b/app/views/configure/system.phtml new file mode 100644 index 000000000..cbedc511b --- /dev/null +++ b/app/views/configure/system.phtml @@ -0,0 +1,47 @@ +partial('aside_configure'); ?> + +
    + + + + + +
    + +
    + + +
    +
    + +
    +
    + 1 ? 'admin.user.numbers' : 'admin.user.number', $number); + ?> +
    +
    + +
    + +
    + +
    +
    + +
    + +
    + +
    +
    + +
    +
    + + +
    +
    + +
    \ No newline at end of file diff --git a/app/views/user/manage.phtml b/app/views/user/manage.phtml index 3d3bc3ddf..fe1b6618b 100644 --- a/app/views/user/manage.phtml +++ b/app/views/user/manage.phtml @@ -3,34 +3,6 @@
    -
    - - -
    - -
    - - -
    -
    - -
    -
    - 1 ? 'admin.user.numbers' : 'admin.user.number', $number); - ?> -
    -
    - -
    -
    - - -
    -
    -
    -
    -- cgit v1.2.3 From 468015dad6a76700f1e3e304c497e08e6636d1a2 Mon Sep 17 00:00:00 2001 From: Alexis Degrugillier Date: Wed, 14 Oct 2015 01:11:31 -0400 Subject: Add Movim share See #992 --- app/i18n/cz/gen.php | 1 + app/i18n/de/gen.php | 1 + app/i18n/en/gen.php | 1 + app/i18n/fr/gen.php | 1 + app/i18n/nl/gen.php | 1 + data/shares.php | 6 ++++++ 6 files changed, 11 insertions(+) (limited to 'app/i18n/fr/gen.php') diff --git a/app/i18n/cz/gen.php b/app/i18n/cz/gen.php index d3e93c0a1..cbcc1f8fa 100644 --- a/app/i18n/cz/gen.php +++ b/app/i18n/cz/gen.php @@ -158,6 +158,7 @@ return array( 'email' => 'Email', 'facebook' => 'Facebook', 'g+' => 'Google+', + 'movim' => 'Movim', 'print' => 'Tisk', 'shaarli' => 'Shaarli', 'twitter' => 'Twitter', diff --git a/app/i18n/de/gen.php b/app/i18n/de/gen.php index 38beb5016..d2d8e78e6 100644 --- a/app/i18n/de/gen.php +++ b/app/i18n/de/gen.php @@ -158,6 +158,7 @@ return array( 'email' => 'E-Mail', 'facebook' => 'Facebook', 'g+' => 'Google+', + 'movim' => 'Movim', 'print' => 'Drucken', 'shaarli' => 'Shaarli', 'twitter' => 'Twitter', diff --git a/app/i18n/en/gen.php b/app/i18n/en/gen.php index b71af91f1..1ae9c60a2 100644 --- a/app/i18n/en/gen.php +++ b/app/i18n/en/gen.php @@ -158,6 +158,7 @@ return array( 'email' => 'Email', 'facebook' => 'Facebook', 'g+' => 'Google+', + 'movim' => 'Movim', 'print' => 'Print', 'shaarli' => 'Shaarli', 'twitter' => 'Twitter', diff --git a/app/i18n/fr/gen.php b/app/i18n/fr/gen.php index f09c73ca1..b2d36c9d6 100644 --- a/app/i18n/fr/gen.php +++ b/app/i18n/fr/gen.php @@ -158,6 +158,7 @@ return array( 'email' => 'Courriel', 'facebook' => 'Facebook', 'g+' => 'Google+', + 'movim' => 'Movim', 'print' => 'Imprimer', 'shaarli' => 'Shaarli', 'twitter' => 'Twitter', diff --git a/app/i18n/nl/gen.php b/app/i18n/nl/gen.php index ed57669a1..10b665791 100644 --- a/app/i18n/nl/gen.php +++ b/app/i18n/nl/gen.php @@ -157,6 +157,7 @@ return array( 'email' => 'Email', 'facebook' => 'Facebook', 'g+' => 'Google+', + 'movim' => 'Movim', 'print' => 'Print', 'shaarli' => 'Shaarli', 'twitter' => 'Twitter', diff --git a/data/shares.php b/data/shares.php index 6e0e9ea0c..b3df54188 100644 --- a/data/shares.php +++ b/data/shares.php @@ -44,6 +44,12 @@ return array( 'help' => 'https://diasporafoundation.org/', 'form' => 'advanced', ), + 'movim' => array( + 'url' => '~URL~/index.php/share?url=~LINK~', + 'transform' => array('rawurlencode'), + 'help' => 'https://github.com/edhelas/movim', + 'form' => 'advanced', + ), 'twitter' => array( 'url' => 'https://twitter.com/share?url=~LINK~&text=~TITLE~', 'transform' => array('rawurlencode'), -- cgit v1.2.3 From b4f80f96119fd8c3e8ab8f70c2ad55224bad2a59 Mon Sep 17 00:00:00 2001 From: Marco Date: Sat, 24 Oct 2015 15:37:21 +0200 Subject: Update gen.php --- app/i18n/fr/gen.php | 1 + 1 file changed, 1 insertion(+) (limited to 'app/i18n/fr/gen.php') diff --git a/app/i18n/fr/gen.php b/app/i18n/fr/gen.php index f09c73ca1..2a83a14dd 100644 --- a/app/i18n/fr/gen.php +++ b/app/i18n/fr/gen.php @@ -120,6 +120,7 @@ return array( 'de' => 'Deutsch', 'en' => 'English', 'fr' => 'Français', + 'it' => 'Italian', 'nl' => 'Nederlands', ), 'menu' => array( -- cgit v1.2.3 From f4a0bb25e20552fae109689cfab13e2c09c3f48a Mon Sep 17 00:00:00 2001 From: Alexandre Alapetite Date: Sat, 24 Oct 2015 21:48:29 +0200 Subject: i18n: Italiano https://github.com/FreshRSS/FreshRSS/issues/1003 --- app/i18n/cz/gen.php | 2 +- app/i18n/de/gen.php | 2 +- app/i18n/en/gen.php | 2 +- app/i18n/fr/gen.php | 2 +- app/i18n/nl/gen.php | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) (limited to 'app/i18n/fr/gen.php') diff --git a/app/i18n/cz/gen.php b/app/i18n/cz/gen.php index 6b89cf627..ffc138abb 100644 --- a/app/i18n/cz/gen.php +++ b/app/i18n/cz/gen.php @@ -120,7 +120,7 @@ return array( 'de' => 'Deutsch', 'en' => 'English', 'fr' => 'Français', - 'it' => 'Italian', + 'it' => 'Italiano', 'nl' => 'Nederlands', ), 'menu' => array( diff --git a/app/i18n/de/gen.php b/app/i18n/de/gen.php index 6e5dc7c3f..842383498 100644 --- a/app/i18n/de/gen.php +++ b/app/i18n/de/gen.php @@ -120,7 +120,7 @@ return array( 'de' => 'Deutsch', 'en' => 'English', 'fr' => 'Français', - 'it' => 'Italian', + 'it' => 'Italiano', 'nl' => 'Nederlands', ), 'menu' => array( diff --git a/app/i18n/en/gen.php b/app/i18n/en/gen.php index c9a7e2d4e..d23b12f95 100644 --- a/app/i18n/en/gen.php +++ b/app/i18n/en/gen.php @@ -120,7 +120,7 @@ return array( 'de' => 'Deutsch', 'en' => 'English', 'fr' => 'Français', - 'it' => 'Italian', + 'it' => 'Italiano', 'nl' => 'Nederlands', ), 'menu' => array( diff --git a/app/i18n/fr/gen.php b/app/i18n/fr/gen.php index fc16c74ab..2f16f09b9 100644 --- a/app/i18n/fr/gen.php +++ b/app/i18n/fr/gen.php @@ -120,7 +120,7 @@ return array( 'de' => 'Deutsch', 'en' => 'English', 'fr' => 'Français', - 'it' => 'Italian', + 'it' => 'Italiano', 'nl' => 'Nederlands', ), 'menu' => array( diff --git a/app/i18n/nl/gen.php b/app/i18n/nl/gen.php index f61cb638b..b8467f92f 100644 --- a/app/i18n/nl/gen.php +++ b/app/i18n/nl/gen.php @@ -120,7 +120,7 @@ return array( 'de' => 'Deutsch', 'en' => 'English', 'fr' => 'Français', - 'it' => 'Italian', + 'it' => 'Italiano', 'nl' => 'Nederlands', ), 'menu' => array( -- cgit v1.2.3 From b596d569f3048d3539d1a372eea269462a7a5f82 Mon Sep 17 00:00:00 2001 From: danc Date: Sun, 24 Jan 2016 20:20:52 +0100 Subject: Translation for Journal du hacker --- app/i18n/fr/gen.php | 1 + 1 file changed, 1 insertion(+) (limited to 'app/i18n/fr/gen.php') diff --git a/app/i18n/fr/gen.php b/app/i18n/fr/gen.php index 2f16f09b9..1e738e949 100644 --- a/app/i18n/fr/gen.php +++ b/app/i18n/fr/gen.php @@ -164,6 +164,7 @@ return array( 'shaarli' => 'Shaarli', 'twitter' => 'Twitter', 'wallabag' => 'wallabag', + 'jdh' => 'Journal du hacker', ), 'short' => array( 'attention' => 'Attention !', -- cgit v1.2.3 From eeb7fd99090d530f3fe0af39436c714c7a3914b3 Mon Sep 17 00:00:00 2001 From: hckweb Date: Tue, 9 Feb 2016 20:36:42 +0200 Subject: Adding Turkish language --- app/i18n/fr/gen.php | 1 + 1 file changed, 1 insertion(+) (limited to 'app/i18n/fr/gen.php') diff --git a/app/i18n/fr/gen.php b/app/i18n/fr/gen.php index 1e738e949..f8e4ac7ee 100644 --- a/app/i18n/fr/gen.php +++ b/app/i18n/fr/gen.php @@ -122,6 +122,7 @@ return array( 'fr' => 'Français', 'it' => 'Italiano', 'nl' => 'Nederlands', + 'tr' => 'Türkçe', ), 'menu' => array( 'about' => 'À propos', -- cgit v1.2.3 From cc1390fe9454166ee5d638aa01948f791ad7c4fe Mon Sep 17 00:00:00 2001 From: Alexandre Alapetite Date: Sun, 21 Feb 2016 00:58:51 +0100 Subject: JavaScript popup number bug A backslash caused problem. https://github.com/FreshRSS/FreshRSS/issues/1075 https://github.com/FreshRSS/FreshRSS/pull/1078 --- app/i18n/cz/gen.php | 2 +- app/i18n/de/gen.php | 2 +- app/i18n/en/gen.php | 2 +- app/i18n/fr/gen.php | 2 +- app/i18n/it/gen.php | 2 +- app/i18n/nl/gen.php | 2 +- app/i18n/tr/gen.php | 2 +- p/scripts/main.js | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) (limited to 'app/i18n/fr/gen.php') diff --git a/app/i18n/cz/gen.php b/app/i18n/cz/gen.php index ca90cff0c..c30310bf3 100644 --- a/app/i18n/cz/gen.php +++ b/app/i18n/cz/gen.php @@ -108,7 +108,7 @@ return array( '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.', + '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!', ), diff --git a/app/i18n/de/gen.php b/app/i18n/de/gen.php index fb09e8598..47bdee4ee 100644 --- a/app/i18n/de/gen.php +++ b/app/i18n/de/gen.php @@ -108,7 +108,7 @@ return array( '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!', ), diff --git a/app/i18n/en/gen.php b/app/i18n/en/gen.php index f71684688..3af7850b8 100644 --- a/app/i18n/en/gen.php +++ b/app/i18n/en/gen.php @@ -108,7 +108,7 @@ return array( '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.', + '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!', ), diff --git a/app/i18n/fr/gen.php b/app/i18n/fr/gen.php index f8e4ac7ee..4cda84c8d 100644 --- a/app/i18n/fr/gen.php +++ b/app/i18n/fr/gen.php @@ -108,7 +108,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 !', ), diff --git a/app/i18n/it/gen.php b/app/i18n/it/gen.php index bd311aa12..8598ec8a7 100644 --- a/app/i18n/it/gen.php +++ b/app/i18n/it/gen.php @@ -108,7 +108,7 @@ return array( '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.', + '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!', ), diff --git a/app/i18n/nl/gen.php b/app/i18n/nl/gen.php index bc4fd9201..56f8424d1 100644 --- a/app/i18n/nl/gen.php +++ b/app/i18n/nl/gen.php @@ -108,7 +108,7 @@ return array( '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.', + '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!', ), diff --git a/app/i18n/tr/gen.php b/app/i18n/tr/gen.php index 7284f132b..65a20ed7a 100644 --- a/app/i18n/tr/gen.php +++ b/app/i18n/tr/gen.php @@ -108,7 +108,7 @@ return array( '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.', + '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!', ), diff --git a/p/scripts/main.js b/p/scripts/main.js index 32a2ca913..b7522df6a 100644 --- a/p/scripts/main.js +++ b/p/scripts/main.js @@ -863,7 +863,7 @@ function notifs_html5_show(nb) { var notification = new window.Notification(i18n['notif_title_articles'], { icon: "../themes/icons/favicon-256.png", - body: i18n['notif_body_articles'].replace("\d", nb), + body: i18n['notif_body_articles'].replace('%d', nb), tag: "freshRssNewArticles" }); -- cgit v1.2.3 From e3105f2135552701a4986873491a964b4e44c82e Mon Sep 17 00:00:00 2001 From: Alexandre Alapetite Date: Sun, 21 Feb 2016 01:46:27 +0100 Subject: JavaScript popup number bug (percent escaping) https://github.com/FreshRSS/FreshRSS/pull/1078 https://github.com/Alkarex/FreshRSS/commit/cc1390fe9454166ee5d638aa01948f791ad7c4fe --- app/i18n/cz/gen.php | 2 +- app/i18n/de/gen.php | 2 +- app/i18n/en/gen.php | 2 +- app/i18n/fr/gen.php | 2 +- app/i18n/it/gen.php | 2 +- app/i18n/nl/gen.php | 2 +- app/i18n/tr/gen.php | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) (limited to 'app/i18n/fr/gen.php') diff --git a/app/i18n/cz/gen.php b/app/i18n/cz/gen.php index c30310bf3..78ec80f68 100644 --- a/app/i18n/cz/gen.php +++ b/app/i18n/cz/gen.php @@ -108,7 +108,7 @@ return array( '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.', + '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!', ), diff --git a/app/i18n/de/gen.php b/app/i18n/de/gen.php index 47bdee4ee..bd0ba08cc 100644 --- a/app/i18n/de/gen.php +++ b/app/i18n/de/gen.php @@ -108,7 +108,7 @@ return array( '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!', ), diff --git a/app/i18n/en/gen.php b/app/i18n/en/gen.php index 3af7850b8..6fb33a4db 100644 --- a/app/i18n/en/gen.php +++ b/app/i18n/en/gen.php @@ -108,7 +108,7 @@ return array( '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.', + '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!', ), diff --git a/app/i18n/fr/gen.php b/app/i18n/fr/gen.php index 4cda84c8d..6b7056f92 100644 --- a/app/i18n/fr/gen.php +++ b/app/i18n/fr/gen.php @@ -108,7 +108,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 !', ), diff --git a/app/i18n/it/gen.php b/app/i18n/it/gen.php index 8598ec8a7..2efbef167 100644 --- a/app/i18n/it/gen.php +++ b/app/i18n/it/gen.php @@ -108,7 +108,7 @@ return array( '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.', + '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!', ), diff --git a/app/i18n/nl/gen.php b/app/i18n/nl/gen.php index 56f8424d1..bc2137c22 100644 --- a/app/i18n/nl/gen.php +++ b/app/i18n/nl/gen.php @@ -108,7 +108,7 @@ return array( '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.', + '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!', ), diff --git a/app/i18n/tr/gen.php b/app/i18n/tr/gen.php index 65a20ed7a..f987a8e6c 100644 --- a/app/i18n/tr/gen.php +++ b/app/i18n/tr/gen.php @@ -108,7 +108,7 @@ return array( '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.', + '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!', ), -- cgit v1.2.3 From 138bbedac6a21b74b289c0b7f9d396f9e4f0f6b2 Mon Sep 17 00:00:00 2001 From: Amaury Carrade Date: Tue, 3 May 2016 14:42:16 +0200 Subject: Added a share for Wallabag v2 The new version of Wallabag (2) was rewrote completly, and the sharer changed. This keeps the old Wallabag v1 sharer, for people still using it, and adds a new one for Wallabag v2. The old sharer for wallabag v1 is renamed to 'wallabag v1' (instead of 'wallabag'). --- app/i18n/de/gen.php | 3 ++- app/i18n/en/gen.php | 3 ++- app/i18n/fr/gen.php | 3 ++- app/i18n/it/gen.php | 3 ++- app/i18n/nl/gen.php | 3 ++- app/i18n/tr/gen.php | 3 ++- data/shares.php | 9 +++++++++ 7 files changed, 21 insertions(+), 6 deletions(-) (limited to 'app/i18n/fr/gen.php') diff --git a/app/i18n/de/gen.php b/app/i18n/de/gen.php index bd0ba08cc..9b460d08d 100644 --- a/app/i18n/de/gen.php +++ b/app/i18n/de/gen.php @@ -164,7 +164,8 @@ return array( 'print' => 'Drucken', 'shaarli' => 'Shaarli', 'twitter' => 'Twitter', - 'wallabag' => 'wallabag', + 'wallabag' => 'wallabag v1', + 'wallabagv2' => 'wallabag v2', 'jdh' => 'Journal du hacker', ), 'short' => array( diff --git a/app/i18n/en/gen.php b/app/i18n/en/gen.php index 6fb33a4db..685a7d1a9 100644 --- a/app/i18n/en/gen.php +++ b/app/i18n/en/gen.php @@ -164,7 +164,8 @@ return array( 'print' => 'Print', 'shaarli' => 'Shaarli', 'twitter' => 'Twitter', - 'wallabag' => 'wallabag', + 'wallabag' => 'wallabag v1', + 'wallabagv2' => 'wallabag v2', 'jdh' => 'Journal du hacker', ), 'short' => array( diff --git a/app/i18n/fr/gen.php b/app/i18n/fr/gen.php index 6b7056f92..f6695d887 100644 --- a/app/i18n/fr/gen.php +++ b/app/i18n/fr/gen.php @@ -164,7 +164,8 @@ return array( 'print' => 'Imprimer', 'shaarli' => 'Shaarli', 'twitter' => 'Twitter', - 'wallabag' => 'wallabag', + 'wallabag' => 'wallabag v1', + 'wallabagv2' => 'wallabag v2', 'jdh' => 'Journal du hacker', ), 'short' => array( diff --git a/app/i18n/it/gen.php b/app/i18n/it/gen.php index 2efbef167..b3b4bd78e 100644 --- a/app/i18n/it/gen.php +++ b/app/i18n/it/gen.php @@ -163,7 +163,8 @@ return array( 'print' => 'Stampa', 'shaarli' => 'Shaarli', 'twitter' => 'Twitter', - 'wallabag' => 'wallabag', + 'wallabag' => 'wallabag v1', + 'wallabagv2' => 'wallabag v2', 'jdh' => 'Journal du hacker', ), 'short' => array( diff --git a/app/i18n/nl/gen.php b/app/i18n/nl/gen.php index 1cafaf82a..7bd8bbb09 100644 --- a/app/i18n/nl/gen.php +++ b/app/i18n/nl/gen.php @@ -164,7 +164,8 @@ return array( 'print' => 'Print', 'shaarli' => 'Shaarli', 'twitter' => 'Twitter', - 'wallabag' => 'wallabag', + 'wallabag' => 'wallabag v1', + 'wallabagv2' => 'wallabag v2', 'jdh' => 'Journal du hacker', ), 'short' => array( diff --git a/app/i18n/tr/gen.php b/app/i18n/tr/gen.php index f987a8e6c..092c19752 100644 --- a/app/i18n/tr/gen.php +++ b/app/i18n/tr/gen.php @@ -164,7 +164,8 @@ return array( 'print' => 'Print', 'shaarli' => 'Shaarli', 'twitter' => 'Twitter', - 'wallabag' => 'wallabag', + 'wallabag' => 'wallabag v1', + 'wallabagv2' => 'wallabag v2', 'jdh' => 'Journal du hacker', ), 'short' => array( diff --git a/data/shares.php b/data/shares.php index 264c8fed7..1295a26ac 100644 --- a/data/shares.php +++ b/data/shares.php @@ -38,6 +38,15 @@ return array( 'help' => 'http://www.wallabag.org/', 'form' => 'advanced', ), + 'wallabagv2' => array( + 'url' => '~URL~/bookmarklet?url=~LINK~', + 'transform' => array( + 'link' => array('rawurlencode'), + 'title' => array(), + ), + 'help' => 'http://www.wallabag.org/', + 'form' => 'advanced', + ), 'diaspora' => array( 'url' => '~URL~/bookmarklet?url=~LINK~&title=~TITLE~', 'transform' => array('rawurlencode'), -- cgit v1.2.3 From 6144413022f3d812528a6124072ac6606ca975ff Mon Sep 17 00:00:00 2001 From: Alexandre Alapetite Date: Sun, 12 Jun 2016 12:16:42 +0200 Subject: i18n RU finalize draft https://github.com/FreshRSS/FreshRSS/pull/1085 --- CHANGELOG.md | 3 +- app/i18n/cz/gen.php | 1 + app/i18n/de/gen.php | 1 + app/i18n/en/gen.php | 1 + app/i18n/fr/gen.php | 1 + app/i18n/it/gen.php | 1 + app/i18n/nl/gen.php | 1 + app/i18n/ru/admin.php | 183 +++++++++++++++++++++++++++++++++++++++++++ app/i18n/ru/conf.php | 174 +++++++++++++++++++++++++++++++++++++++++ app/i18n/ru/feedback.php | 110 ++++++++++++++++++++++++++ app/i18n/ru/gen.php | 185 ++++++++++++++++++++++++++++++++++++++++++++ app/i18n/ru/index.php | 61 +++++++++++++++ app/i18n/ru/install.php | 113 +++++++++++++++++++++++++++ app/i18n/ru/sub.php | 62 +++++++++++++++ app/i18n/ru_RU/admin.php | 183 ------------------------------------------- app/i18n/ru_RU/conf.php | 174 ----------------------------------------- app/i18n/ru_RU/feedback.php | 110 -------------------------- app/i18n/ru_RU/gen.php | 182 ------------------------------------------- app/i18n/ru_RU/index.php | 61 --------------- app/i18n/ru_RU/install.php | 113 --------------------------- app/i18n/ru_RU/sub.php | 62 --------------- app/i18n/tr/gen.php | 1 + 22 files changed, 897 insertions(+), 886 deletions(-) create mode 100644 app/i18n/ru/admin.php create mode 100644 app/i18n/ru/conf.php create mode 100644 app/i18n/ru/feedback.php create mode 100644 app/i18n/ru/gen.php create mode 100644 app/i18n/ru/index.php create mode 100644 app/i18n/ru/install.php create mode 100644 app/i18n/ru/sub.php delete mode 100644 app/i18n/ru_RU/admin.php delete mode 100644 app/i18n/ru_RU/conf.php delete mode 100644 app/i18n/ru_RU/feedback.php delete mode 100644 app/i18n/ru_RU/gen.php delete mode 100644 app/i18n/ru_RU/index.php delete mode 100644 app/i18n/ru_RU/install.php delete mode 100644 app/i18n/ru_RU/sub.php (limited to 'app/i18n/fr/gen.php') diff --git a/CHANGELOG.md b/CHANGELOG.md index 112d487b8..fcd5127f1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,8 @@ ## 2016-XX-YY FreshRSS 1.3.2-beta -Nothing for the moment +* I18n + * Draft of Russian [#1085](https://github.com/FreshRSS/FreshRSS/pull/1085) ## 2016-03-11 FreshRSS 1.3.1-beta diff --git a/app/i18n/cz/gen.php b/app/i18n/cz/gen.php index 78ec80f68..af10967a7 100644 --- a/app/i18n/cz/gen.php +++ b/app/i18n/cz/gen.php @@ -122,6 +122,7 @@ return array( 'fr' => 'Français', 'it' => 'Italiano', 'nl' => 'Nederlands', + 'ru' => 'Русский', 'tr' => 'Türkçe', ), 'menu' => array( diff --git a/app/i18n/de/gen.php b/app/i18n/de/gen.php index 9b460d08d..4b85c722a 100644 --- a/app/i18n/de/gen.php +++ b/app/i18n/de/gen.php @@ -122,6 +122,7 @@ return array( 'fr' => 'Français', 'it' => 'Italiano', 'nl' => 'Nederlands', + 'ru' => 'Русский', 'tr' => 'Türkçe', ), 'menu' => array( diff --git a/app/i18n/en/gen.php b/app/i18n/en/gen.php index 685a7d1a9..ba4e2f86c 100644 --- a/app/i18n/en/gen.php +++ b/app/i18n/en/gen.php @@ -122,6 +122,7 @@ return array( 'fr' => 'Français', 'it' => 'Italiano', 'nl' => 'Nederlands', + 'ru' => 'Русский', 'tr' => 'Türkçe', ), 'menu' => array( diff --git a/app/i18n/fr/gen.php b/app/i18n/fr/gen.php index f6695d887..031098aa2 100644 --- a/app/i18n/fr/gen.php +++ b/app/i18n/fr/gen.php @@ -122,6 +122,7 @@ return array( 'fr' => 'Français', 'it' => 'Italiano', 'nl' => 'Nederlands', + 'ru' => 'Русский', 'tr' => 'Türkçe', ), 'menu' => array( diff --git a/app/i18n/it/gen.php b/app/i18n/it/gen.php index b3b4bd78e..bf817d8c2 100644 --- a/app/i18n/it/gen.php +++ b/app/i18n/it/gen.php @@ -122,6 +122,7 @@ return array( 'fr' => 'Français', 'it' => 'Italiano', 'nl' => 'Nederlands', + 'ru' => 'Русский', 'tr' => 'Türkçe', ), 'menu' => array( diff --git a/app/i18n/nl/gen.php b/app/i18n/nl/gen.php index 7bd8bbb09..24cba574e 100644 --- a/app/i18n/nl/gen.php +++ b/app/i18n/nl/gen.php @@ -122,6 +122,7 @@ return array( 'fr' => 'Français', 'it' => 'Italiano', 'nl' => 'Nederlands', + 'ru' => 'Русский', 'tr' => 'Türkçe', ), 'menu' => array( diff --git a/app/i18n/ru/admin.php b/app/i18n/ru/admin.php new file mode 100644 index 000000000..dfea5b3cb --- /dev/null +++ b/app/i18n/ru/admin.php @@ -0,0 +1,183 @@ + array( + 'allow_anonymous' => 'Разрешить анонимное чтение статей для пользователя по умолчанию (%s)', + 'allow_anonymous_refresh' => 'Разрешить анонимное обновление статей', + 'api_enabled' => 'Включить доступ к API (необходимо для мобильных приложений)', + 'form' => 'На основе веб-формы (традиционный, необходим JavaScript)', + 'http' => 'HTTP (для продвинутых пользователей - по HTTPS)', + 'none' => 'Без аутентификации (небезопасный)', + 'persona' => 'Mozilla Persona (новый, необходим JavaScript)', + 'title' => 'Аутентификации', + 'title_reset' => 'Сброс аутентицикации', + 'token' => 'Токен аутентификации', + 'token_help' => 'Разрешает доступ к RSS ленте пользователя по умолчанию без аутентификации:', + 'type' => 'Метод аутентификации', + 'unsafe_autologin' => 'Разрешить небезопасный автоматический вход с использованием следующего формата: ', + ), + 'check_install' => array( + 'cache' => array( + 'nok' => 'Проверьте права доступа к папке ./data/cache. Сервер HTTP должен иметь права на запись в эту папку', + 'ok' => 'Права на ./data/cache в порядке.', + ), + 'categories' => array( + 'nok' => 'Таблица категорий настроена неправильно.', + 'ok' => 'Таблица категорий настроена правильно.', + ), + 'connection' => array( + 'nok' => 'Подключение к базе данных не может быть установлено.', + 'ok' => 'Подключение к базе данных в порядке.', + ), + 'ctype' => array( + 'nok' => 'У вас не установлена библиотека для проверки типов символов (php-ctype).', + 'ok' => 'У вас не установлена библиотека для проверки типов символов (ctype).', + ), + 'curl' => array( + 'nok' => 'У вас не установлено расширение cURL (пакет php5-curl).', + 'ok' => 'У вас установлено расширение cURL.', + ), + 'data' => array( + 'nok' => 'Проверьте права доступа к папке ./data . Сервер HTTP должен иметь права на запись в эту папку.', + 'ok' => 'Права на ./data/ в порядке.', + ), + 'database' => 'Установка базы данных', + 'dom' => array( + 'nok' => 'У вас не установлена библиотека для просмотра DOM (пакет php-xml).', + 'ok' => 'У вас установлена библиотека для просмотра DOM.', + ), + 'entries' => array( + 'nok' => 'Таблица статей (entry) неправильно настроена.', + 'ok' => 'Таблица статей (entry) настроена правильно.', + ), + 'favicons' => array( + 'nok' => 'Проверьте права доступа к папке ./data/favicons . Сервер HTTP должен иметь права на запись в эту папку.', + 'ok' => 'Права на папку значков в порядке.', + ), + 'feeds' => array( + 'nok' => 'Таблица подписок (feed) неправильно настроена.', + 'ok' => 'Таблица подписок (feed) настроена правильно.', + ), + '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).', + 'ok' => 'У вас установлен PDO и как минимум один из поддерживаемых драйверов (pdo_mysql, pdo_sqlite).', + ), + 'persona' => array( + 'nok' => 'Проверьте права доступа к папке ./data/persona . Сервер HTTP должен иметь права на запись в эту папку.', + 'ok' => 'Права на папку Mozilla Persona в порядке.', + ), + 'php' => array( + '_' => 'PHP installation', + 'nok' => 'У вас установлен PHP версии %s, но FreshRSS необходима версия не ниже %s.', + 'ok' => 'У вас установлен PHP версии %s, который совместим с FreshRSS.', + ), + 'tables' => array( + 'nok' => 'В базе данных отсуствует одна или больше таблица.', + 'ok' => 'Все таблицы есть в базе данных.', + ), + 'title' => 'Проверка установки и настройки', + 'tokens' => array( + 'nok' => 'Проверьте права доступа к папке ./data/tokens . Сервер HTTP должен иметь права на запись в эту папку.', + 'ok' => 'Права на папку tokens в порядке.', + ), + 'users' => array( + 'nok' => 'Проверьте права доступа к папке ./data/users . Сервер HTTP должен иметь права на запись в эту папку.', + 'ok' => 'Права на папку users в порядке.', + ), + 'zip' => array( + 'nok' => 'You lack ZIP extension (php5-zip package).', + 'ok' => 'You have ZIP extension.', + ), + ), + 'extensions' => array( + 'disabled' => 'Отключены', + 'empty_list' => 'Расширения не установлены', + 'enabled' => 'Включены', + 'no_configure_view' => 'Это расширение нельзя настроить.', + 'system' => array( + '_' => 'Системные расширения', + 'no_rights' => 'Системные расширения (у вас нет к ним доступа)', + ), + 'title' => 'Расширения', + 'user' => 'Расширения пользователя', + ), + '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' => 'Создать нового пользователя', + 'email_persona' => 'Адрес электронной почты для входа
    (for Mozilla Persona)', + 'language' => 'Язык', + 'number' => 'На данный момент создан %d аккаунт', + 'numbers' => 'На данный момент аккаунтов создано: %d', + 'password_form' => 'Пароль
    (для входа через Веб-форму)', + '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..e502e9a43 --- /dev/null +++ b/app/i18n/ru/conf.php @@ -0,0 +1,174 @@ + 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.', + ), + 'email_persona' => 'Login email address
    (for Mozilla Persona)', + 'password_api' => 'Password API
    (e.g., for mobile apps)', + 'password_form' => 'Password
    (for the Web-form login method)', + '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', + '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.
    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' => '+ shift 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..c9189c0d0 --- /dev/null +++ b/app/i18n/ru/feedback.php @@ -0,0 +1,110 @@ + array( + 'optimization_complete' => 'Optimisation complete', + ), + 'access' => array( + 'denied' => 'You don’t have permission to access this page', + 'not_found' => 'You are looking for a page which doesn’t exist', + ), + 'auth' => array( + 'form' => array( + 'not_set' => 'A problem occured during authentication system configuration. Please retry later.', + 'set' => 'Form is now your default authentication system.', + ), + 'login' => array( + 'invalid' => 'Login is invalid', + 'success' => 'You are connected', + ), + 'logout' => 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', + 'query_created' => 'Query "%s" has been created.', + 'shortcuts_updated' => 'Shortcuts have been updated', + 'updated' => 'Configuration has been updated', + ), + 'extensions' => array( + 'already_enabled' => '%s is already enabled', + 'disable' => array( + 'ko' => '%s cannot be disabled. Check FressRSS logs for details.', + 'ok' => '%s is now disabled', + ), + 'enable' => array( + 'ko' => '%s cannot be enabled. Check FressRSS logs for details.', + 'ok' => '%s is now enabled', + ), + 'no_access' => 'You have no access on %s', + 'not_enabled' => '%s is not enabled yet', + '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.', + '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', + '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.', + ), + 'sub' => array( + 'actualize' => 'Actualise', + '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_name' => 'Category name cannot be empty.', + 'not_delete_default' => 'You cannot delete the default category!', + 'not_exist' => 'The category does not exist!', + 'over_max' => 'You have reached your limit of categories (%d)', + 'updated' => 'Category has been updated.', + ), + 'feed' => array( + 'actualized' => '%s has been updated', + 'actualizeds' => 'RSS feeds have been updated', + 'added' => 'RSS feed %s has been added', + 'already_subscribed' => 'You have already subscribed to %s', + 'deleted' => 'Feed has been deleted', + 'error' => 'Feed cannot be updated', + 'internal_problem' => 'The RSS feed could not be added. Check FressRSS logs for details.', + 'invalid_url' => 'URL %s is invalid', + 'marked_read' => 'Feeds have been marked as read', + 'n_actualized' => '%d feeds have been updated', + 'n_entries_deleted' => '%d articles have been deleted', + 'no_refresh' => 'There is no feed to refresh…', + 'not_added' => '%s could not be added', + 'over_max' => 'You have reached your limit of feeds (%d)', + 'updated' => 'Feed has been updated', + ), + 'purge_completed' => 'Purge completed (%d articles deleted)', + ), + 'update' => array( + 'can_apply' => 'FreshRSS will now be updated to the version %s.', + 'error' => 'The update process has encountered an error: %s', + 'file_is_nok' => 'Check permissions on %s 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]', + ), + 'user' => array( + 'created' => array( + '_' => 'User %s has been created', + 'error' => 'User %s cannot be created', + ), + 'deleted' => array( + '_' => 'User %s has been deleted', + 'error' => 'User %s cannot be deleted', + ), + ), + 'profile' => array( + 'error' => 'Your profile cannot be modified', + 'updated' => 'Your profile has been modified', + ), +); diff --git a/app/i18n/ru/gen.php b/app/i18n/ru/gen.php new file mode 100644 index 000000000..b8e8511d9 --- /dev/null +++ b/app/i18n/ru/gen.php @@ -0,0 +1,185 @@ + 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_read' => 'Mark as read', + 'mark_favorite' => 'Mark as favourite', + 'remove' => 'Remove', + 'see_website' => 'See website', + 'submit' => 'Submit', + 'truncate' => 'Delete all articles', + ), + 'auth' => array( + 'email' => 'Email address', + 'keep_logged_in' => 'Keep me logged in (1 month)', + 'login' => 'Login', + 'login_persona' => 'Login with Persona', + 'login_persona_problem' => 'Connection problem with Persona?', + 'logout' => 'Logout', + 'password' => array( + '_' => 'Password', + 'format' => 'At least 7 characters', + ), + 'registration' => array( + '_' => 'New account', + 'ask' => 'Create an account?', + 'title' => 'Account creation', + ), + 'reset' => 'Authentication reset', + 'username' => array( + '_' => 'Username', + 'admin' => 'Administrator username', + 'format' => 'maximum 16 alphanumeric characters', + ), + 'will_reset' => 'Authentication system will be reset: a form will be used instead of Persona.', + ), + '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', + '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', + 'fr' => 'Français', + 'it' => 'Italiano', + 'nl' => 'Nederlands', + 'ru' => 'Русский', + 'tr' => 'Türkçe', + ), + '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( + 'blogotext' => 'Blogotext', + 'diaspora' => 'Diaspora*', + 'email' => 'Email', + 'facebook' => 'Facebook', + 'g+' => 'Google+', + 'jdh' => 'Journal du hacker', + '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 %s', + '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..80fa3d950 --- /dev/null +++ b/app/i18n/ru/index.php @@ -0,0 +1,61 @@ + array( + '_' => 'About', + 'agpl3' => 'AGPL 3', + 'bugs_reports' => 'Bugs reports', + 'credits' => 'Credits', + 'credits_content' => 'Some design elements come from Bootstrap although FreshRSS doesn’t use this framework. Icons come from GNOME project. Open Sans font police has been created by Steve Matteson. Favicons are collected with getFavicon API. FreshRSS is based on Minz, a PHP framework.', + 'freshrss_description' => 'FreshRSS is a RSS feeds aggregator to self-host like Kriss Feed or Leed. It is light and easy to take in hand while being powerful and configurable tool.', + 'github' => 'on Github', + '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..c838b2eba --- /dev/null +++ b/app/i18n/ru/install.php @@ -0,0 +1,113 @@ + array( + 'finish' => 'Завершить установку', + 'fix_errors_before' => 'Пожалуйста, исправьте ошибки прежде чем переходить к следующему этапу.', + 'keep_install' => 'Сохранить предыдущую установку', + 'next_step' => 'Перейти к следующему этапу', + 'reinstall' => 'Переустановить FreshRSS', + ), + 'auth' => array( + 'email_persona' => 'Почта (логин) для
    (for Mozilla Persona)', + 'form' => 'Вэб-форма (традиционный, необходим JavaScript)', + 'http' => 'HTTP (для продвинутых пользователей с HTTPS)', + 'none' => 'Никакого (опасно)', + 'password_form' => 'Пароль
    (для метода аутентификации на Вэб-формах)', + 'password_format' => 'Как минимум 7 букв', + 'persona' => 'Mozilla Persona (современный, необходим JavaScript)', + 'type' => 'Метод аутентификации', + ), + 'bdd' => array( + '_' => 'База данных', + 'conf' => array( + '_' => 'Конфигурация базы данныхDatabase configuration', + 'ko' => 'Проверьте конфигурацию базы данных.', + 'ok' => 'Конфигурация базы данных сохранена.', + ), + 'host' => 'Хост', + 'prefix' => 'Префикс таблицы', + 'password' => 'Пароль HTTP', + 'type' => 'Тип базы данных', + 'username' => 'Имя пользователя HTTP', + ), + 'check' => array( + '_' => 'Проверки', + 'already_installed' => 'Обнаружена предыдущая установка FreshRSS!', + 'cache' => array( + 'nok' => 'Проверьте права доступа к папке ./data/cache . Сервер HTTP должен иметь права на запись в эту папку.', + 'ok' => 'Права на папку кэша в порядке.', + ), + 'ctype' => array( + 'nok' => 'У вас не установлена необходимая библиотека для проверки типов символов (php-ctype).', + 'ok' => 'У вас установлена необходимая библиотека для проверки типов символов (ctype).', + ), + 'curl' => array( + 'nok' => 'У вас нет расширения cURL (пакет php5-curl).', + 'ok' => 'У вас установлено расширение cURL.', + ), + 'data' => array( + 'nok' => 'Проверьте права доступа к папке ./data . Сервер HTTP должен иметь права на запись в эту папку.', + 'ok' => 'Права на ./data/ в порядке.', + ), + 'dom' => array( + 'nok' => 'У вас не установлена необходимая библиотека для просмотра DOM (пакет php-xml).', + 'ok' => 'У вас установлена необходимая библиотека для просмотра DOM.', + ), + 'favicons' => array( + 'nok' => 'Проверьте права доступа к папке ./data/favicons . Сервер HTTP должен иметь права на запись в эту папку.', + 'ok' => 'Права на папку значков в порядке.', + ), + '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).', + 'ok' => 'У вас установлен PDO и как минимум один из поддерживаемых драйверов (pdo_mysql, pdo_sqlite).', + ), + 'persona' => array( + 'nok' => 'Проверьте права доступа к папке ./data/persona . Сервер HTTP должен иметь права на запись в эту папку.', + 'ok' => 'Права на папку Mozilla Persona в порядке.', + ), + 'php' => array( + 'nok' => 'У вас установлен PHP версии %s, но FreshRSS необходима версия не ниже %s.', + 'ok' => 'У вас установлен PHP версии %s, который совместим с FreshRSS.', + ), + 'users' => array( + 'nok' => 'Проверьте права доступа к папке ./data/users . Сервер HTTP должен иметь права на запись в эту папку.', + 'ok' => 'Права на папку users в порядке.', + ), + ), + 'conf' => array( + '_' => 'Общие настройки', + 'ok' => 'Общие настройки были сохранены.', + ), + 'congratulations' => 'Поздравляем!', + 'default_user' => 'Имя пользователя по умолчанию (максимум 16 латинских букв и/или цифр)', + 'delete_articles_after' => 'Удалять статьи после', + 'fix_errors_before' => 'Пожалуйста, исправьте ошибки прежде чем переходить к следующему этапу..', + 'javascript_is_better' => 'FreshRSS принесёт больше удовольствия, если включить JavaScript', + 'js' => array( + 'confirm_reinstall' => 'Переустанавливая FreshRSS, вы потеряете предыдущую конфигурацию. Вы хотите продолжить?', + ), + 'language' => array( + '_' => 'Язык', + 'choose' => 'Выберите язык для FreshRSS', + 'defined' => 'Язык выбран.', + ), + 'not_deleted' => 'Что-то пошло не так; удалите файл %s вручную.', + '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..aaaa02827 --- /dev/null +++ b/app/i18n/ru/sub.php @@ -0,0 +1,62 @@ + array( + '_' => 'Category', + 'add' => 'Add a category', + 'empty' => 'Empty category', + 'new' => 'New category', + ), + 'feed' => array( + 'add' => 'Add a RSS feed', + 'advanced' => 'Advanced', + 'archiving' => 'Archivage', + 'auth' => array( + 'configuration' => 'Login', + 'help' => 'Connection allows to access HTTP protected RSS feeds', + 'http' => 'HTTP Authentication', + 'password' => 'HTTP password', + 'username' => 'HTTP username', + ), + '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.', + '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, its feeds are automatically classified under %s.', + 'no_selected' => 'No feed selected.', + 'number_entries' => '%d articles', + 'stats' => 'Statistics', + 'think_to_add' => 'You may add some feeds.', + 'title' => 'Title', + 'title_add' => 'Add a RSS feed', + 'ttl' => 'Do not automatically refresh more often than', + 'url' => 'Feed URL', + 'validator' => 'Check the validity of the feed', + 'website' => 'Website URL', + 'pubsubhubbub' => 'Instant notification with PubSubHubbub', + ), + '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
    (OPML, Json or Zip)', + 'file_to_import_no_zip' => 'File to import
    (OPML or Json)', + 'import' => 'Import', + 'starred_list' => 'List of favourite articles', + 'title' => 'Import / export', + ), + 'menu' => array( + 'bookmark' => 'Subscribe (FreshRSS bookmark)', + 'import_export' => 'Import / export', + 'subscription_management' => 'Subscriptions management', + ), + 'title' => array( + '_' => 'Subscriptions management', + 'feed_management' => 'RSS feeds management', + ), +); diff --git a/app/i18n/ru_RU/admin.php b/app/i18n/ru_RU/admin.php deleted file mode 100644 index dfea5b3cb..000000000 --- a/app/i18n/ru_RU/admin.php +++ /dev/null @@ -1,183 +0,0 @@ - array( - 'allow_anonymous' => 'Разрешить анонимное чтение статей для пользователя по умолчанию (%s)', - 'allow_anonymous_refresh' => 'Разрешить анонимное обновление статей', - 'api_enabled' => 'Включить доступ к API (необходимо для мобильных приложений)', - 'form' => 'На основе веб-формы (традиционный, необходим JavaScript)', - 'http' => 'HTTP (для продвинутых пользователей - по HTTPS)', - 'none' => 'Без аутентификации (небезопасный)', - 'persona' => 'Mozilla Persona (новый, необходим JavaScript)', - 'title' => 'Аутентификации', - 'title_reset' => 'Сброс аутентицикации', - 'token' => 'Токен аутентификации', - 'token_help' => 'Разрешает доступ к RSS ленте пользователя по умолчанию без аутентификации:', - 'type' => 'Метод аутентификации', - 'unsafe_autologin' => 'Разрешить небезопасный автоматический вход с использованием следующего формата: ', - ), - 'check_install' => array( - 'cache' => array( - 'nok' => 'Проверьте права доступа к папке ./data/cache. Сервер HTTP должен иметь права на запись в эту папку', - 'ok' => 'Права на ./data/cache в порядке.', - ), - 'categories' => array( - 'nok' => 'Таблица категорий настроена неправильно.', - 'ok' => 'Таблица категорий настроена правильно.', - ), - 'connection' => array( - 'nok' => 'Подключение к базе данных не может быть установлено.', - 'ok' => 'Подключение к базе данных в порядке.', - ), - 'ctype' => array( - 'nok' => 'У вас не установлена библиотека для проверки типов символов (php-ctype).', - 'ok' => 'У вас не установлена библиотека для проверки типов символов (ctype).', - ), - 'curl' => array( - 'nok' => 'У вас не установлено расширение cURL (пакет php5-curl).', - 'ok' => 'У вас установлено расширение cURL.', - ), - 'data' => array( - 'nok' => 'Проверьте права доступа к папке ./data . Сервер HTTP должен иметь права на запись в эту папку.', - 'ok' => 'Права на ./data/ в порядке.', - ), - 'database' => 'Установка базы данных', - 'dom' => array( - 'nok' => 'У вас не установлена библиотека для просмотра DOM (пакет php-xml).', - 'ok' => 'У вас установлена библиотека для просмотра DOM.', - ), - 'entries' => array( - 'nok' => 'Таблица статей (entry) неправильно настроена.', - 'ok' => 'Таблица статей (entry) настроена правильно.', - ), - 'favicons' => array( - 'nok' => 'Проверьте права доступа к папке ./data/favicons . Сервер HTTP должен иметь права на запись в эту папку.', - 'ok' => 'Права на папку значков в порядке.', - ), - 'feeds' => array( - 'nok' => 'Таблица подписок (feed) неправильно настроена.', - 'ok' => 'Таблица подписок (feed) настроена правильно.', - ), - '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).', - 'ok' => 'У вас установлен PDO и как минимум один из поддерживаемых драйверов (pdo_mysql, pdo_sqlite).', - ), - 'persona' => array( - 'nok' => 'Проверьте права доступа к папке ./data/persona . Сервер HTTP должен иметь права на запись в эту папку.', - 'ok' => 'Права на папку Mozilla Persona в порядке.', - ), - 'php' => array( - '_' => 'PHP installation', - 'nok' => 'У вас установлен PHP версии %s, но FreshRSS необходима версия не ниже %s.', - 'ok' => 'У вас установлен PHP версии %s, который совместим с FreshRSS.', - ), - 'tables' => array( - 'nok' => 'В базе данных отсуствует одна или больше таблица.', - 'ok' => 'Все таблицы есть в базе данных.', - ), - 'title' => 'Проверка установки и настройки', - 'tokens' => array( - 'nok' => 'Проверьте права доступа к папке ./data/tokens . Сервер HTTP должен иметь права на запись в эту папку.', - 'ok' => 'Права на папку tokens в порядке.', - ), - 'users' => array( - 'nok' => 'Проверьте права доступа к папке ./data/users . Сервер HTTP должен иметь права на запись в эту папку.', - 'ok' => 'Права на папку users в порядке.', - ), - 'zip' => array( - 'nok' => 'You lack ZIP extension (php5-zip package).', - 'ok' => 'You have ZIP extension.', - ), - ), - 'extensions' => array( - 'disabled' => 'Отключены', - 'empty_list' => 'Расширения не установлены', - 'enabled' => 'Включены', - 'no_configure_view' => 'Это расширение нельзя настроить.', - 'system' => array( - '_' => 'Системные расширения', - 'no_rights' => 'Системные расширения (у вас нет к ним доступа)', - ), - 'title' => 'Расширения', - 'user' => 'Расширения пользователя', - ), - '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' => 'Создать нового пользователя', - 'email_persona' => 'Адрес электронной почты для входа
    (for Mozilla Persona)', - 'language' => 'Язык', - 'number' => 'На данный момент создан %d аккаунт', - 'numbers' => 'На данный момент аккаунтов создано: %d', - 'password_form' => 'Пароль
    (для входа через Веб-форму)', - 'password_format' => 'Минимум 7 символов', - 'title' => 'Управление пользователями', - 'user_list' => 'Список пользователей', - 'username' => 'Имя пользователя', - 'users' => 'Пользователи', - ), -); diff --git a/app/i18n/ru_RU/conf.php b/app/i18n/ru_RU/conf.php deleted file mode 100644 index e502e9a43..000000000 --- a/app/i18n/ru_RU/conf.php +++ /dev/null @@ -1,174 +0,0 @@ - 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.', - ), - 'email_persona' => 'Login email address
    (for Mozilla Persona)', - 'password_api' => 'Password API
    (e.g., for mobile apps)', - 'password_form' => 'Password
    (for the Web-form login method)', - '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', - '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.
    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' => '+ shift 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_RU/feedback.php b/app/i18n/ru_RU/feedback.php deleted file mode 100644 index c9189c0d0..000000000 --- a/app/i18n/ru_RU/feedback.php +++ /dev/null @@ -1,110 +0,0 @@ - array( - 'optimization_complete' => 'Optimisation complete', - ), - 'access' => array( - 'denied' => 'You don’t have permission to access this page', - 'not_found' => 'You are looking for a page which doesn’t exist', - ), - 'auth' => array( - 'form' => array( - 'not_set' => 'A problem occured during authentication system configuration. Please retry later.', - 'set' => 'Form is now your default authentication system.', - ), - 'login' => array( - 'invalid' => 'Login is invalid', - 'success' => 'You are connected', - ), - 'logout' => 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', - 'query_created' => 'Query "%s" has been created.', - 'shortcuts_updated' => 'Shortcuts have been updated', - 'updated' => 'Configuration has been updated', - ), - 'extensions' => array( - 'already_enabled' => '%s is already enabled', - 'disable' => array( - 'ko' => '%s cannot be disabled. Check FressRSS logs for details.', - 'ok' => '%s is now disabled', - ), - 'enable' => array( - 'ko' => '%s cannot be enabled. Check FressRSS logs for details.', - 'ok' => '%s is now enabled', - ), - 'no_access' => 'You have no access on %s', - 'not_enabled' => '%s is not enabled yet', - '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.', - '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', - '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.', - ), - 'sub' => array( - 'actualize' => 'Actualise', - '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_name' => 'Category name cannot be empty.', - 'not_delete_default' => 'You cannot delete the default category!', - 'not_exist' => 'The category does not exist!', - 'over_max' => 'You have reached your limit of categories (%d)', - 'updated' => 'Category has been updated.', - ), - 'feed' => array( - 'actualized' => '%s has been updated', - 'actualizeds' => 'RSS feeds have been updated', - 'added' => 'RSS feed %s has been added', - 'already_subscribed' => 'You have already subscribed to %s', - 'deleted' => 'Feed has been deleted', - 'error' => 'Feed cannot be updated', - 'internal_problem' => 'The RSS feed could not be added. Check FressRSS logs for details.', - 'invalid_url' => 'URL %s is invalid', - 'marked_read' => 'Feeds have been marked as read', - 'n_actualized' => '%d feeds have been updated', - 'n_entries_deleted' => '%d articles have been deleted', - 'no_refresh' => 'There is no feed to refresh…', - 'not_added' => '%s could not be added', - 'over_max' => 'You have reached your limit of feeds (%d)', - 'updated' => 'Feed has been updated', - ), - 'purge_completed' => 'Purge completed (%d articles deleted)', - ), - 'update' => array( - 'can_apply' => 'FreshRSS will now be updated to the version %s.', - 'error' => 'The update process has encountered an error: %s', - 'file_is_nok' => 'Check permissions on %s 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]', - ), - 'user' => array( - 'created' => array( - '_' => 'User %s has been created', - 'error' => 'User %s cannot be created', - ), - 'deleted' => array( - '_' => 'User %s has been deleted', - 'error' => 'User %s cannot be deleted', - ), - ), - 'profile' => array( - 'error' => 'Your profile cannot be modified', - 'updated' => 'Your profile has been modified', - ), -); diff --git a/app/i18n/ru_RU/gen.php b/app/i18n/ru_RU/gen.php deleted file mode 100644 index 6511311a1..000000000 --- a/app/i18n/ru_RU/gen.php +++ /dev/null @@ -1,182 +0,0 @@ - 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_read' => 'Mark as read', - 'mark_favorite' => 'Mark as favourite', - 'remove' => 'Remove', - 'see_website' => 'See website', - 'submit' => 'Submit', - 'truncate' => 'Delete all articles', - ), - 'auth' => array( - 'email' => 'Email address', - 'keep_logged_in' => 'Keep me logged in (1 month)', - 'login' => 'Login', - 'login_persona' => 'Login with Persona', - 'login_persona_problem' => 'Connection problem with Persona?', - 'logout' => 'Logout', - 'password' => array( - '_' => 'Password', - 'format' => 'At least 7 characters', - ), - 'registration' => array( - '_' => 'New account', - 'ask' => 'Create an account?', - 'title' => 'Account creation', - ), - 'reset' => 'Authentication reset', - 'username' => array( - '_' => 'Username', - 'admin' => 'Administrator username', - 'format' => 'maximum 16 alphanumeric characters', - ), - 'will_reset' => 'Authentication system will be reset: a form will be used instead of Persona.', - ), - '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', - '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', - 'fr' => 'Français', - 'it' => 'Italiano', - 'nl' => 'Nederlands', - ), - '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( - 'blogotext' => 'Blogotext', - 'diaspora' => 'Diaspora*', - 'email' => 'Email', - 'facebook' => 'Facebook', - 'g+' => 'Google+', - '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 %s', - '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_RU/index.php b/app/i18n/ru_RU/index.php deleted file mode 100644 index 80fa3d950..000000000 --- a/app/i18n/ru_RU/index.php +++ /dev/null @@ -1,61 +0,0 @@ - array( - '_' => 'About', - 'agpl3' => 'AGPL 3', - 'bugs_reports' => 'Bugs reports', - 'credits' => 'Credits', - 'credits_content' => 'Some design elements come from Bootstrap although FreshRSS doesn’t use this framework. Icons come from GNOME project. Open Sans font police has been created by Steve Matteson. Favicons are collected with getFavicon API. FreshRSS is based on Minz, a PHP framework.', - 'freshrss_description' => 'FreshRSS is a RSS feeds aggregator to self-host like Kriss Feed or Leed. It is light and easy to take in hand while being powerful and configurable tool.', - 'github' => 'on Github', - '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_RU/install.php b/app/i18n/ru_RU/install.php deleted file mode 100644 index c838b2eba..000000000 --- a/app/i18n/ru_RU/install.php +++ /dev/null @@ -1,113 +0,0 @@ - array( - 'finish' => 'Завершить установку', - 'fix_errors_before' => 'Пожалуйста, исправьте ошибки прежде чем переходить к следующему этапу.', - 'keep_install' => 'Сохранить предыдущую установку', - 'next_step' => 'Перейти к следующему этапу', - 'reinstall' => 'Переустановить FreshRSS', - ), - 'auth' => array( - 'email_persona' => 'Почта (логин) для
    (for Mozilla Persona)', - 'form' => 'Вэб-форма (традиционный, необходим JavaScript)', - 'http' => 'HTTP (для продвинутых пользователей с HTTPS)', - 'none' => 'Никакого (опасно)', - 'password_form' => 'Пароль
    (для метода аутентификации на Вэб-формах)', - 'password_format' => 'Как минимум 7 букв', - 'persona' => 'Mozilla Persona (современный, необходим JavaScript)', - 'type' => 'Метод аутентификации', - ), - 'bdd' => array( - '_' => 'База данных', - 'conf' => array( - '_' => 'Конфигурация базы данныхDatabase configuration', - 'ko' => 'Проверьте конфигурацию базы данных.', - 'ok' => 'Конфигурация базы данных сохранена.', - ), - 'host' => 'Хост', - 'prefix' => 'Префикс таблицы', - 'password' => 'Пароль HTTP', - 'type' => 'Тип базы данных', - 'username' => 'Имя пользователя HTTP', - ), - 'check' => array( - '_' => 'Проверки', - 'already_installed' => 'Обнаружена предыдущая установка FreshRSS!', - 'cache' => array( - 'nok' => 'Проверьте права доступа к папке ./data/cache . Сервер HTTP должен иметь права на запись в эту папку.', - 'ok' => 'Права на папку кэша в порядке.', - ), - 'ctype' => array( - 'nok' => 'У вас не установлена необходимая библиотека для проверки типов символов (php-ctype).', - 'ok' => 'У вас установлена необходимая библиотека для проверки типов символов (ctype).', - ), - 'curl' => array( - 'nok' => 'У вас нет расширения cURL (пакет php5-curl).', - 'ok' => 'У вас установлено расширение cURL.', - ), - 'data' => array( - 'nok' => 'Проверьте права доступа к папке ./data . Сервер HTTP должен иметь права на запись в эту папку.', - 'ok' => 'Права на ./data/ в порядке.', - ), - 'dom' => array( - 'nok' => 'У вас не установлена необходимая библиотека для просмотра DOM (пакет php-xml).', - 'ok' => 'У вас установлена необходимая библиотека для просмотра DOM.', - ), - 'favicons' => array( - 'nok' => 'Проверьте права доступа к папке ./data/favicons . Сервер HTTP должен иметь права на запись в эту папку.', - 'ok' => 'Права на папку значков в порядке.', - ), - '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).', - 'ok' => 'У вас установлен PDO и как минимум один из поддерживаемых драйверов (pdo_mysql, pdo_sqlite).', - ), - 'persona' => array( - 'nok' => 'Проверьте права доступа к папке ./data/persona . Сервер HTTP должен иметь права на запись в эту папку.', - 'ok' => 'Права на папку Mozilla Persona в порядке.', - ), - 'php' => array( - 'nok' => 'У вас установлен PHP версии %s, но FreshRSS необходима версия не ниже %s.', - 'ok' => 'У вас установлен PHP версии %s, который совместим с FreshRSS.', - ), - 'users' => array( - 'nok' => 'Проверьте права доступа к папке ./data/users . Сервер HTTP должен иметь права на запись в эту папку.', - 'ok' => 'Права на папку users в порядке.', - ), - ), - 'conf' => array( - '_' => 'Общие настройки', - 'ok' => 'Общие настройки были сохранены.', - ), - 'congratulations' => 'Поздравляем!', - 'default_user' => 'Имя пользователя по умолчанию (максимум 16 латинских букв и/или цифр)', - 'delete_articles_after' => 'Удалять статьи после', - 'fix_errors_before' => 'Пожалуйста, исправьте ошибки прежде чем переходить к следующему этапу..', - 'javascript_is_better' => 'FreshRSS принесёт больше удовольствия, если включить JavaScript', - 'js' => array( - 'confirm_reinstall' => 'Переустанавливая FreshRSS, вы потеряете предыдущую конфигурацию. Вы хотите продолжить?', - ), - 'language' => array( - '_' => 'Язык', - 'choose' => 'Выберите язык для FreshRSS', - 'defined' => 'Язык выбран.', - ), - 'not_deleted' => 'Что-то пошло не так; удалите файл %s вручную.', - 'ok' => 'Установка успешна.', - 'step' => '%d этап', - 'steps' => 'Этапы', - 'title' => 'Установка · FreshRSS', - 'this_is_the_end' => 'Это конец', -); diff --git a/app/i18n/ru_RU/sub.php b/app/i18n/ru_RU/sub.php deleted file mode 100644 index aaaa02827..000000000 --- a/app/i18n/ru_RU/sub.php +++ /dev/null @@ -1,62 +0,0 @@ - array( - '_' => 'Category', - 'add' => 'Add a category', - 'empty' => 'Empty category', - 'new' => 'New category', - ), - 'feed' => array( - 'add' => 'Add a RSS feed', - 'advanced' => 'Advanced', - 'archiving' => 'Archivage', - 'auth' => array( - 'configuration' => 'Login', - 'help' => 'Connection allows to access HTTP protected RSS feeds', - 'http' => 'HTTP Authentication', - 'password' => 'HTTP password', - 'username' => 'HTTP username', - ), - '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.', - '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, its feeds are automatically classified under %s.', - 'no_selected' => 'No feed selected.', - 'number_entries' => '%d articles', - 'stats' => 'Statistics', - 'think_to_add' => 'You may add some feeds.', - 'title' => 'Title', - 'title_add' => 'Add a RSS feed', - 'ttl' => 'Do not automatically refresh more often than', - 'url' => 'Feed URL', - 'validator' => 'Check the validity of the feed', - 'website' => 'Website URL', - 'pubsubhubbub' => 'Instant notification with PubSubHubbub', - ), - '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
    (OPML, Json or Zip)', - 'file_to_import_no_zip' => 'File to import
    (OPML or Json)', - 'import' => 'Import', - 'starred_list' => 'List of favourite articles', - 'title' => 'Import / export', - ), - 'menu' => array( - 'bookmark' => 'Subscribe (FreshRSS bookmark)', - 'import_export' => 'Import / export', - 'subscription_management' => 'Subscriptions management', - ), - 'title' => array( - '_' => 'Subscriptions management', - 'feed_management' => 'RSS feeds management', - ), -); diff --git a/app/i18n/tr/gen.php b/app/i18n/tr/gen.php index 092c19752..492e2cb9b 100644 --- a/app/i18n/tr/gen.php +++ b/app/i18n/tr/gen.php @@ -122,6 +122,7 @@ return array( 'fr' => 'Français', 'it' => 'Italiano', 'nl' => 'Nederlands', + 'ru' => 'Русский', 'tr' => 'Türkçe', ), 'menu' => array( -- cgit v1.2.3 From c1548e732d7472c40473b3d99858059333a05eae Mon Sep 17 00:00:00 2001 From: Alexandre Alapetite Date: Sun, 31 Jul 2016 14:58:19 +0200 Subject: Remove Mozilla Persona login https://github.com/FreshRSS/FreshRSS/issues/1052 --- README.fr.md | 3 +- README.md | 3 +- app/Controllers/authController.php | 152 +------------------------------- app/Controllers/userController.php | 25 ------ app/FreshRSS.php | 8 -- app/Models/Auth.php | 18 +--- app/Models/ConfigurationSetter.php | 7 +- app/i18n/cz/admin.php | 6 -- app/i18n/cz/conf.php | 1 - app/i18n/cz/feedback.php | 1 - app/i18n/cz/gen.php | 3 - app/i18n/cz/install.php | 6 -- app/i18n/de/admin.php | 6 -- app/i18n/de/conf.php | 1 - app/i18n/de/feedback.php | 1 - app/i18n/de/gen.php | 3 - app/i18n/de/install.php | 6 -- app/i18n/en/admin.php | 6 -- app/i18n/en/conf.php | 1 - app/i18n/en/feedback.php | 1 - app/i18n/en/gen.php | 3 - app/i18n/en/install.php | 6 -- app/i18n/fr/admin.php | 6 -- app/i18n/fr/conf.php | 1 - app/i18n/fr/feedback.php | 1 - app/i18n/fr/gen.php | 3 - app/i18n/fr/install.php | 6 -- app/i18n/it/admin.php | 6 -- app/i18n/it/conf.php | 1 - app/i18n/it/feedback.php | 1 - app/i18n/it/gen.php | 3 - app/i18n/it/install.php | 6 -- app/i18n/nl/admin.php | 6 -- app/i18n/nl/conf.php | 1 - app/i18n/nl/feedback.php | 1 - app/i18n/nl/gen.php | 3 - app/i18n/nl/install.php | 6 -- app/i18n/ru/admin.php | 6 -- app/i18n/ru/conf.php | 1 - app/i18n/ru/feedback.php | 1 - app/i18n/ru/gen.php | 3 - app/i18n/ru/install.php | 6 -- app/i18n/tr/admin.php | 6 -- app/i18n/tr/conf.php | 1 - app/i18n/tr/feedback.php | 1 - app/i18n/tr/gen.php | 3 - app/i18n/tr/install.php | 6 -- app/install.php | 45 +--------- app/views/auth/index.phtml | 3 +- app/views/auth/personaLogin.phtml | 28 ------ app/views/auth/register.phtml | 5 -- app/views/auth/reset.phtml | 33 ------- app/views/helpers/javascript_vars.phtml | 2 - app/views/user/manage.phtml | 8 -- app/views/user/profile.phtml | 9 -- data/config.default.php | 1 - data/users/_/config.default.php | 1 - lib/lib_rss.php | 1 - p/scripts/install.js | 8 +- p/scripts/persona.js | 76 ---------------- 60 files changed, 11 insertions(+), 561 deletions(-) delete mode 100644 app/views/auth/personaLogin.phtml delete mode 100644 app/views/auth/reset.phtml delete mode 100644 p/scripts/persona.js (limited to 'app/i18n/fr/gen.php') diff --git a/README.fr.md b/README.fr.md index fd01a507b..067d6d1a1 100644 --- a/README.fr.md +++ b/README.fr.md @@ -89,7 +89,6 @@ sudo chmod -R g+w ./data/ # Contrôle d’accès Il est requis pour le mode multi-utilisateur, et recommandé dans tous les cas, de limiter l’accès à votre FreshRSS. Au choix : * En utilisant l’identification par formulaire (requiert JavaScript, et PHP 5.3.7+ recommandé – fonctionne avec certaines versions de PHP 5.3.3+) -* En utilisant l’identification par [Mozilla Persona](https://login.persona.org/about) incluse dans FreshRSS * En utilisant un contrôle d’accès HTTP défini par votre serveur Web * Voir par exemple la [documentation d’Apache sur l’authentification](http://httpd.apache.org/docs/trunk/howto/auth.html) * Créer dans ce cas un fichier `./p/i/.htaccess` avec un fichier `.htpasswd` correspondant. @@ -111,7 +110,7 @@ Par exemple, pour exécuter le script toutes les heures : * En cas de problème, les logs peuvent être utile à lire, soit depuis l’interface de FreshRSS, soit manuellement depuis `./data/log/*.log`. # Sauvegarde -* Il faut conserver vos fichiers `./data/config.php` ainsi que `./data/*_user.php` et éventuellement `./data/persona/` +* Il faut conserver vos fichiers `./data/config.php` ainsi que `./data/*_user.php` * Vous pouvez exporter votre liste de flux depuis FreshRSS au format OPML * Pour sauvegarder les articles eux-mêmes, vous pouvez utiliser [phpMyAdmin](http://www.phpmyadmin.net) ou les outils de MySQL : diff --git a/README.md b/README.md index a0d22a75c..76975adbd 100644 --- a/README.md +++ b/README.md @@ -89,7 +89,6 @@ sudo chmod -R g+w ./data/ # Access control It is needed for the multi-user mode to limit access to FreshRSS. You can: * use form authentication (need JavaScript and PHP 5.3.7+, works with some PHP 5.3.3+) -* use [Mozilla Persona](https://login.persona.org/about) authentication included in FreshRSS * use HTTP authentication supported by your web server * See [Apache documentation](http://httpd.apache.org/docs/trunk/howto/auth.html) * In that case, create a `./p/i/.htaccess` file with a matching `.htpasswd` file. @@ -111,7 +110,7 @@ For example, if you want to run the script every hour: * If you encounter any problem, logs are accessible from the interface or manually in `./data/log/*.log` files. # Backup -* You need to keep `./data/config.php`, `./data/*_user.php` and `./data/persona/` files +* You need to keep `./data/config.php`, and `./data/*_user.php` files * You can export your feed list in OPML format from FreshRSS * To save articles, you can use [phpMyAdmin](http://www.phpmyadmin.net) or MySQL tools: diff --git a/app/Controllers/authController.php b/app/Controllers/authController.php index f58b008de..9decba431 100644 --- a/app/Controllers/authController.php +++ b/app/Controllers/authController.php @@ -70,7 +70,7 @@ class FreshRSS_auth_Controller extends Minz_ActionController { /** * This action handles the login page. * - * It forwards to the correct login page (form or Persona) or main page if + * It forwards to the correct login page (form) or main page if * the user is already connected. */ public function loginAction() { @@ -83,9 +83,6 @@ class FreshRSS_auth_Controller extends Minz_ActionController { case 'form': Minz_Request::forward(array('c' => 'auth', 'a' => 'formLogin')); break; - case 'persona': - Minz_Request::forward(array('c' => 'auth', 'a' => 'personaLogin')); - break; case 'http_auth': case 'none': // It should not happened! @@ -188,81 +185,6 @@ class FreshRSS_auth_Controller extends Minz_ActionController { } } - /** - * This action handles Persona login page. - * - * If this action is reached through a POST request, assertion from Persona - * is verificated and user connected if all is ok. - * - * Parameter is: - * - assertion (default: false) - * - * @todo: Persona system should be moved to a plugin - */ - public function personaLoginAction() { - $this->view->res = false; - - if (Minz_Request::isPost()) { - $this->view->_useLayout(false); - - $assert = Minz_Request::param('assertion'); - $url = 'https://verifier.login.persona.org/verify'; - $params = 'assertion=' . $assert . '&audience=' . - urlencode(Minz_Url::display(null, 'php', true)); - $ch = curl_init(); - $options = array( - CURLOPT_URL => $url, - CURLOPT_RETURNTRANSFER => TRUE, - CURLOPT_POST => 2, - CURLOPT_POSTFIELDS => $params - ); - curl_setopt_array($ch, $options); - $result = curl_exec($ch); - curl_close($ch); - - $res = json_decode($result, true); - - $login_ok = false; - $reason = ''; - if ($res['status'] === 'okay') { - $email = filter_var($res['email'], FILTER_VALIDATE_EMAIL); - if ($email != '') { - $persona_file = DATA_PATH . '/persona/' . $email . '.txt'; - if (($current_user = @file_get_contents($persona_file)) !== false) { - $current_user = trim($current_user); - $conf = get_user_configuration($current_user); - if (!is_null($conf)) { - $login_ok = strcasecmp($email, $conf->mail_login) === 0; - } else { - $reason = 'Invalid configuration for user ' . - '[' . $current_user . ']'; - } - } - } else { - $reason = 'Invalid email format [' . $res['email'] . ']'; - } - } else { - $reason = $res['reason']; - } - - if ($login_ok) { - Minz_Session::_param('currentUser', $current_user); - Minz_Session::_param('mail', $email); - FreshRSS_Auth::giveAccess(); - invalidateHttpCache(); - } else { - Minz_Log::warning($reason); - - $res = array(); - $res['status'] = 'failure'; - $res['reason'] = _t('feedback.auth.login.invalid'); - } - - header('Content-Type: application/json; charset=UTF-8'); - $this->view->res = $res; - } - } - /** * This action removes all accesses of the current user. */ @@ -273,78 +195,6 @@ class FreshRSS_auth_Controller extends Minz_ActionController { array('c' => 'index', 'a' => 'index')); } - /** - * This action resets the authentication system. - * - * After reseting, form auth is set by default. - */ - public function resetAction() { - Minz_View::prependTitle(_t('admin.auth.title_reset') . ' · '); - - Minz_View::appendScript(Minz_Url::display( - '/scripts/bcrypt.min.js?' . @filemtime(PUBLIC_PATH . '/scripts/bcrypt.min.js') - )); - - $this->view->no_form = false; - // Enable changement of auth only if Persona! - if (FreshRSS_Context::$system_conf->auth_type != 'persona') { - $this->view->message = array( - 'status' => 'bad', - 'title' => _t('gen.short.damn'), - 'body' => _t('feedback.auth.not_persona') - ); - $this->view->no_form = true; - return; - } - - $conf = get_user_configuration(FreshRSS_Context::$system_conf->default_user); - if (is_null($conf)) { - return; - } - - // Admin user must have set its master password. - if (!$conf->passwordHash) { - $this->view->message = array( - 'status' => 'bad', - 'title' => _t('gen.short.damn'), - 'body' => _t('feedback.auth.no_password_set') - ); - $this->view->no_form = true; - return; - } - - invalidateHttpCache(); - - if (Minz_Request::isPost()) { - $nonce = Minz_Session::param('nonce'); - $username = Minz_Request::param('username', ''); - $challenge = Minz_Request::param('challenge', ''); - - $ok = FreshRSS_FormAuth::checkCredentials( - $username, $conf->passwordHash, $nonce, $challenge - ); - - if ($ok) { - FreshRSS_Context::$system_conf->auth_type = 'form'; - $ok = FreshRSS_Context::$system_conf->save(); - - if ($ok) { - Minz_Request::good(_t('feedback.auth.form.set')); - } else { - Minz_Request::bad(_t('feedback.auth.form.not_set'), - array('c' => 'auth', 'a' => 'reset')); - } - } else { - Minz_Log::warning('Password mismatch for' . - ' user=' . $username . - ', nonce=' . $nonce . - ', c=' . $challenge); - Minz_Request::bad(_t('feedback.auth.login.invalid'), - array('c' => 'auth', 'a' => 'reset')); - } - } - } - /** * This action gives possibility to a user to create an account. */ diff --git a/app/Controllers/userController.php b/app/Controllers/userController.php index 1c7d621f1..0521bc008 100644 --- a/app/Controllers/userController.php +++ b/app/Controllers/userController.php @@ -64,21 +64,8 @@ class FreshRSS_user_Controller extends Minz_ActionController { FreshRSS_Context::$user_conf->apiPasswordHash = $passwordHash; } - // TODO: why do we need of hasAccess here? - if (FreshRSS_Auth::hasAccess('admin')) { - FreshRSS_Context::$user_conf->mail_login = Minz_Request::param('mail_login', '', true); - } - $email = FreshRSS_Context::$user_conf->mail_login; - Minz_Session::_param('mail', $email); - $ok &= FreshRSS_Context::$user_conf->save(); - if ($email != '') { - $personaFile = DATA_PATH . '/persona/' . $email . '.txt'; - @unlink($personaFile); - $ok &= (file_put_contents($personaFile, Minz_Session::param('currentUser', '_')) !== false); - } - if ($ok) { Minz_Request::good(_t('feedback.profile.updated'), array('c' => 'user', 'a' => 'profile')); @@ -119,7 +106,6 @@ class FreshRSS_user_Controller extends Minz_ActionController { * - new_user_language * - new_user_name * - new_user_passwordPlain - * - new_user_email * - r (i.e. a redirection url, optional) * * @todo clean up this method. Idea: write a method to init a user with basic information. @@ -168,22 +154,12 @@ class FreshRSS_user_Controller extends Minz_ActionController { if (empty($passwordHash)) { $passwordHash = ''; } - - $new_user_email = filter_var($_POST['new_user_email'], FILTER_VALIDATE_EMAIL); - if (empty($new_user_email)) { - $new_user_email = ''; - } else { - $personaFile = join_path(DATA_PATH, 'persona', $new_user_email . '.txt'); - @unlink($personaFile); - $ok &= (file_put_contents($personaFile, $new_user_name) !== false); - } } if ($ok) { mkdir(join_path(DATA_PATH, 'users', $new_user_name)); $config_array = array( 'language' => $new_user_language, 'passwordHash' => $passwordHash, - 'mail_login' => $new_user_email, ); $ok &= (file_put_contents($configPath, "deleteUser($username); $ok &= recursive_unlink($user_data); - //TODO: delete Persona file } if ($ok && $self_deletion) { FreshRSS_Auth::removeAccess(); diff --git a/app/FreshRSS.php b/app/FreshRSS.php index 4933892bc..20640266e 100644 --- a/app/FreshRSS.php +++ b/app/FreshRSS.php @@ -98,14 +98,6 @@ class FreshRSS extends Minz_FrontController { Minz_View::appendScript(Minz_Url::display('/scripts/jquery.min.js?' . @filemtime(PUBLIC_PATH . '/scripts/jquery.min.js'))); Minz_View::appendScript(Minz_Url::display('/scripts/shortcut.js?' . @filemtime(PUBLIC_PATH . '/scripts/shortcut.js'))); Minz_View::appendScript(Minz_Url::display('/scripts/main.js?' . @filemtime(PUBLIC_PATH . '/scripts/main.js'))); - - if (FreshRSS_Context::$system_conf->auth_type === 'persona') { - // TODO move it in a plugin - // Needed for login AND logout with Persona. - Minz_View::appendScript('https://login.persona.org/include.js'); - $file_mtime = @filemtime(PUBLIC_PATH . '/scripts/persona.js'); - Minz_View::appendScript(Minz_Url::display('/scripts/persona.js?' . $file_mtime)); - } } private static function loadNotifications() { diff --git a/app/Models/Auth.php b/app/Models/Auth.php index 4e7a71947..d689f7cdb 100644 --- a/app/Models/Auth.php +++ b/app/Models/Auth.php @@ -60,16 +60,6 @@ class FreshRSS_Auth { Minz_Session::_param('currentUser', $current_user); } return $login_ok; - case 'persona': - $email = filter_var(Minz_Session::param('mail'), FILTER_VALIDATE_EMAIL); - $persona_file = DATA_PATH . '/persona/' . $email . '.txt'; - if (($current_user = @file_get_contents($persona_file)) !== false) { - $current_user = trim($current_user); - Minz_Session::_param('currentUser', $current_user); - Minz_Session::_param('mail', $email); - return true; - } - return false; case 'none': return true; default: @@ -93,9 +83,6 @@ class FreshRSS_Auth { case 'http_auth': self::$login_ok = strcasecmp($current_user, httpAuthUser()) === 0; break; - case 'persona': - self::$login_ok = strcasecmp(Minz_Session::param('mail'), $user_conf->mail_login) === 0; - break; case 'none': self::$login_ok = true; break; @@ -143,9 +130,6 @@ class FreshRSS_Auth { Minz_Session::_param('passwordHash'); FreshRSS_FormAuth::deleteCookie(); break; - case 'persona': - Minz_Session::_param('mail'); - break; case 'http_auth': case 'none': // Nothing to do... @@ -170,7 +154,7 @@ class FreshRSS_Auth { public static function accessNeedsAction() { $conf = Minz_Configuration::get('system'); $auth_type = $conf->auth_type; - return $auth_type === 'form' || $auth_type === 'persona'; + return $auth_type === 'form'; } } diff --git a/app/Models/ConfigurationSetter.php b/app/Models/ConfigurationSetter.php index 250c14c39..e472b1e7f 100644 --- a/app/Models/ConfigurationSetter.php +++ b/app/Models/ConfigurationSetter.php @@ -95,11 +95,6 @@ class FreshRSS_ConfigurationSetter { $data['language'] = $value; } - private function _mail_login(&$data, $value) { - $value = filter_var($value, FILTER_VALIDATE_EMAIL); - $data['mail_login'] = $value ? $value : ''; - } - private function _old_entries(&$data, $value) { $value = intval($value); $data['old_entries'] = $value > 0 ? $value : 3; @@ -278,7 +273,7 @@ class FreshRSS_ConfigurationSetter { private function _auth_type(&$data, $value) { $value = strtolower($value); - if (!in_array($value, array('form', 'http_auth', 'persona', 'none'))) { + if (!in_array($value, array('form', 'http_auth', 'none'))) { $value = 'none'; } $data['auth_type'] = $value; diff --git a/app/i18n/cz/admin.php b/app/i18n/cz/admin.php index 342ac7ccd..881c02fc6 100644 --- a/app/i18n/cz/admin.php +++ b/app/i18n/cz/admin.php @@ -8,7 +8,6 @@ return array( 'form' => 'Webový formulář (tradiční, vyžaduje JavaScript)', 'http' => 'HTTP (pro pokročilé uživatele s HTTPS)', 'none' => 'Žádný (nebezpečné)', - 'persona' => 'Mozilla Persona (moderní, vyžaduje JavaScript)', 'title' => 'Přihlášení', 'title_reset' => 'Reset přihlášení', 'token' => 'Authentizační token', @@ -75,10 +74,6 @@ return array( 'nok' => 'Nemáte PDO nebo některý z podporovaných ovladačů (pdo_mysql, pdo_sqlite).', 'ok' => 'Máte PDO a alespoň jeden z podporovaných ovladačů (pdo_mysql, pdo_sqlite).', ), - 'persona' => array( - 'nok' => 'Zkontrolujte oprávnění adresáře ./data/persona. HTTP server musí mít do tohoto adresáře práva zápisu', - 'ok' => 'Oprávnění adresáře Mozilla Persona jsou v pořádku.', - ), 'php' => array( '_' => 'PHP instalace', 'nok' => 'Vaše verze PHP je %s, ale FreshRSS vyžaduje alespoň verzi %s.', @@ -169,7 +164,6 @@ return array( 'user' => array( 'articles_and_size' => '%s článků (%s)', 'create' => 'Vytvořit nového uživatele', - 'email_persona' => 'Email pro přihlášení
    (pro Mozilla Persona)', 'language' => 'Jazyk', 'number' => 'Zatím je vytvořen %d účet', 'numbers' => 'Zatím je vytvořeno %d účtů', diff --git a/app/i18n/cz/conf.php b/app/i18n/cz/conf.php index 823ab1ea3..ec25f988c 100644 --- a/app/i18n/cz/conf.php +++ b/app/i18n/cz/conf.php @@ -76,7 +76,6 @@ return array( '_' => 'Smazání účtu', 'warn' => 'Váš účet bude smazán spolu se všemi souvisejícími daty', ), - 'email_persona' => 'Email pro přihlášení
    (pro Mozilla Persona)', 'password_api' => 'Password API
    (tzn. pro mobilní aplikace)', 'password_form' => 'Heslo
    (pro přihlášení webovým formulářem)', 'password_format' => 'Alespoň 7 znaků', diff --git a/app/i18n/cz/feedback.php b/app/i18n/cz/feedback.php index b75a4a15a..81302afca 100644 --- a/app/i18n/cz/feedback.php +++ b/app/i18n/cz/feedback.php @@ -21,7 +21,6 @@ return array( 'success' => 'Jste odhlášen', ), 'no_password_set' => 'Heslo administrátora nebylo nastaveno. Tato funkce není k dispozici.', - 'not_persona' => 'Resetovat lze pouze systém Persona.', ), 'conf' => array( 'error' => 'Během ukládání nastavení došlo k chybě', diff --git a/app/i18n/cz/gen.php b/app/i18n/cz/gen.php index 5e15ae6f9..e73325c55 100644 --- a/app/i18n/cz/gen.php +++ b/app/i18n/cz/gen.php @@ -24,8 +24,6 @@ return array( 'email' => 'Email', 'keep_logged_in' => 'Zapamatovat přihlášení (1 měsíc)', 'login' => 'Login', - 'login_persona' => 'Přihlášení pomocí Persona', - 'login_persona_problem' => 'Problém s připojením k Persona?', 'logout' => 'Odhlášení', 'password' => array( '_' => 'Heslo', @@ -42,7 +40,6 @@ return array( 'admin' => 'Název administrátorského účtu', 'format' => 'maximálně 16 alfanumerických znaků', ), - 'will_reset' => 'Přihlašovací systém bude vyresetován: místo sytému Persona bude použito přihlášení formulářem.', ), 'date' => array( 'Apr' => '\\D\\u\\b\\e\\n', diff --git a/app/i18n/cz/install.php b/app/i18n/cz/install.php index bc3e01992..6b94c0d4b 100644 --- a/app/i18n/cz/install.php +++ b/app/i18n/cz/install.php @@ -9,13 +9,11 @@ return array( 'reinstall' => 'Reinstalovat FreshRSS', ), 'auth' => array( - 'email_persona' => 'Email pro přihlášení
    (pro Mozilla Persona)', 'form' => 'Webový formulář (tradiční, vyžaduje JavaScript)', 'http' => 'HTTP (pro pokročilé uživatele s HTTPS)', 'none' => 'Žádný (nebezpečné)', 'password_form' => 'Heslo
    (pro přihlášení webovým formulářem)', 'password_format' => 'Alespoň 7 znaků', - 'persona' => 'Mozilla Persona (moderní, vyžaduje JavaScript)', 'type' => 'Způsob přihlášení', ), 'bdd' => array( @@ -78,10 +76,6 @@ return array( 'nok' => 'Nemáte PDO nebo některý z podporovaných ovladačů (pdo_mysql, pdo_sqlite).', 'ok' => 'Máte PDO a alespoň jeden z podporovaných ovladačů (pdo_mysql, pdo_sqlite).', ), - 'persona' => array( - 'nok' => 'Zkontrolujte oprávnění adresáře ./data/persona. HTTP server musí mít do tohoto adresáře práva zápisu', - 'ok' => 'Oprávnění adresáře Mozilla Persona jsou v pořádku.', - ), '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.', diff --git a/app/i18n/de/admin.php b/app/i18n/de/admin.php index 6e6cc0956..7b75fe5f4 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', @@ -75,10 +74,6 @@ return 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 ./data/persona. Der HTTP-Server muss Schreibrechte besitzen.', - 'ok' => 'Die Berechtigungen des Verzeichnisses ./data/persona sind in Ordnung.', - ), 'php' => array( '_' => 'PHP-Installation', 'nok' => 'Ihre PHP-Version ist %s aber FreshRSS benötigt mindestens Version %s.', @@ -169,7 +164,6 @@ return array( 'user' => array( 'articles_and_size' => '%s Artikel (%s)', 'create' => 'Neuen Benutzer erstellen', - 'email_persona' => 'Anmelde-E-Mail-Adresse
    (für Mozilla Persona)', 'language' => 'Sprache', 'number' => 'Es wurde bis jetzt %d Account erstellt', 'numbers' => 'Es wurden bis jetzt %d Accounts erstellt', diff --git a/app/i18n/de/conf.php b/app/i18n/de/conf.php index c1a762f12..7c57d5655 100644 --- a/app/i18n/de/conf.php +++ b/app/i18n/de/conf.php @@ -76,7 +76,6 @@ return array( '_' => 'Accountlöschung', 'warn' => 'Dein Account und alle damit bezogenen Daten werden gelöscht.', ), - 'email_persona' => 'Anmelde-E-Mail-Adresse
    (für Mozilla Persona)', 'password_api' => 'Passwort-API
    (z. B. für mobile Anwendungen)', 'password_form' => 'Passwort
    (für die Anmeldemethode per Webformular)', 'password_format' => 'mindestens 7 Zeichen', diff --git a/app/i18n/de/feedback.php b/app/i18n/de/feedback.php index 4c15aadc3..f93992982 100644 --- a/app/i18n/de/feedback.php +++ b/app/i18n/de/feedback.php @@ -21,7 +21,6 @@ return array( '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 der Speicherung der Konfiguration trat ein Fehler auf', diff --git a/app/i18n/de/gen.php b/app/i18n/de/gen.php index 4b85c722a..c6e7f1ef3 100644 --- a/app/i18n/de/gen.php +++ b/app/i18n/de/gen.php @@ -24,8 +24,6 @@ return array( 'email' => 'E-Mail-Adresse', 'keep_logged_in' => 'Eingeloggt bleiben (1 Monat)', 'login' => 'Anmelden', - 'login_persona' => 'Anmelden mit Persona', - 'login_persona_problem' => 'Verbindungsproblem mit Persona?', 'logout' => 'Abmelden', 'password' => array( '_' => 'Passwort', @@ -42,7 +40,6 @@ return array( 'admin' => 'Administrator-Nutzername', 'format' => 'maximal 16 alphanumerische Zeichen', ), - 'will_reset' => 'Authentifikationssystem wird zurückgesetzt: ein Formular wird anstelle von Persona benutzt.', ), 'date' => array( 'Apr' => '\\A\\p\\r\\i\\l', diff --git a/app/i18n/de/install.php b/app/i18n/de/install.php index d16496818..a77822e7b 100644 --- a/app/i18n/de/install.php +++ b/app/i18n/de/install.php @@ -9,13 +9,11 @@ return array( 'reinstall' => 'Neuinstallation von FreshRSS', ), 'auth' => array( - 'email_persona' => 'Anmelde-E-Mail-Adresse
    (für Mozilla Persona)', 'form' => 'Webformular (traditionell, benötigt JavaScript)', 'http' => 'HTTP (HTTPS für erfahrene Benutzer)', 'none' => 'Keine (gefährlich)', 'password_form' => 'Passwort
    (für die Anmeldemethode per Webformular)', 'password_format' => 'mindestens 7 Zeichen', - 'persona' => 'Mozilla Persona (modern, benötigt JavaScript)', 'type' => 'Authentifizierungsmethode', ), 'bdd' => array( @@ -78,10 +76,6 @@ return 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 ./data/persona. Der HTTP-Server muss Schreibrechte besitzen.', - 'ok' => 'Die Berechtigungen des Verzeichnisses ./data/persona sind in Ordnung.', - ), 'php' => array( 'nok' => 'Ihre PHP-Version ist %s aber FreshRSS benötigt mindestens Version %s.', 'ok' => 'Ihre PHP-Version ist %s, welche kompatibel mit FreshRSS ist.', diff --git a/app/i18n/en/admin.php b/app/i18n/en/admin.php index a58771edf..a88552087 100644 --- a/app/i18n/en/admin.php +++ b/app/i18n/en/admin.php @@ -8,7 +8,6 @@ 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', @@ -75,10 +74,6 @@ return 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 ./data/persona directory. HTTP server must have rights to write into', - 'ok' => 'Permissions on Mozilla Persona directory are good.', - ), 'php' => array( '_' => 'PHP installation', 'nok' => 'Your PHP version is %s but FreshRSS requires at least version %s.', @@ -169,7 +164,6 @@ return array( 'user' => array( 'articles_and_size' => '%s articles (%s)', 'create' => 'Create new user', - 'email_persona' => 'Login mail address
    (for Mozilla Persona)', 'language' => 'Language', 'number' => 'There is %d account created yet', 'numbers' => 'There are %d accounts created yet', diff --git a/app/i18n/en/conf.php b/app/i18n/en/conf.php index 38e9197e9..b5ab73510 100644 --- a/app/i18n/en/conf.php +++ b/app/i18n/en/conf.php @@ -76,7 +76,6 @@ return array( '_' => 'Account deletion', 'warn' => 'Your account and all the related data will be deleted.', ), - 'email_persona' => 'Login email address
    (for Mozilla Persona)', 'password_api' => 'API password
    (e.g., for mobile apps)', 'password_form' => 'Password
    (for the Web-form login method)', 'password_format' => 'At least 7 characters', diff --git a/app/i18n/en/feedback.php b/app/i18n/en/feedback.php index c9189c0d0..7ce2ae9cf 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', diff --git a/app/i18n/en/gen.php b/app/i18n/en/gen.php index ba4e2f86c..17b47ba2f 100644 --- a/app/i18n/en/gen.php +++ b/app/i18n/en/gen.php @@ -24,8 +24,6 @@ return array( 'email' => 'Email address', 'keep_logged_in' => 'Keep me logged in (1 month)', 'login' => 'Login', - 'login_persona' => 'Login with Persona', - 'login_persona_problem' => 'Connection problem with Persona?', 'logout' => 'Logout', 'password' => array( '_' => 'Password', @@ -42,7 +40,6 @@ return array( 'admin' => 'Administrator username', 'format' => 'maximum 16 alphanumeric characters', ), - 'will_reset' => 'Authentication system will be reset: a form will be used instead of Persona.', ), 'date' => array( 'Apr' => '\\A\\p\\r\\i\\l', diff --git a/app/i18n/en/install.php b/app/i18n/en/install.php index 4b5bbc62e..d1c5f37c8 100644 --- a/app/i18n/en/install.php +++ b/app/i18n/en/install.php @@ -9,13 +9,11 @@ return array( 'reinstall' => 'Reinstall FreshRSS', ), 'auth' => array( - 'email_persona' => 'Login email address
    (for Mozilla Persona)', 'form' => 'Web form (traditional, requires JavaScript)', 'http' => 'HTTP (for advanced users with HTTPS)', 'none' => 'None (dangerous)', 'password_form' => 'Password
    (for the Web-form login method)', 'password_format' => 'At least 7 characters', - 'persona' => 'Mozilla Persona (modern, requires JavaScript)', 'type' => 'Authentication method', ), 'bdd' => array( @@ -78,10 +76,6 @@ return 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 ./data/persona directory. HTTP server must have rights to write into', - 'ok' => 'Permissions on Mozilla Persona directory are good.', - ), 'php' => array( 'nok' => 'Your PHP version is %s but FreshRSS requires at least version %s.', 'ok' => 'Your PHP version is %s, which is compatible with FreshRSS.', diff --git a/app/i18n/fr/admin.php b/app/i18n/fr/admin.php index f4f267306..c359e9d24 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', @@ -75,10 +74,6 @@ return 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 ./data/persona. Le serveur HTTP doit être capable d’écrire dedans', - 'ok' => 'Les droits sur le répertoire de Mozilla Persona sont bons.', - ), 'php' => array( '_' => 'Installation de PHP', 'nok' => 'Votre version de PHP est la %s mais FreshRSS requiert au moins la version %s.', @@ -169,7 +164,6 @@ return array( 'user' => array( 'articles_and_size' => '%s articles (%s)', 'create' => 'Créer un nouvel utilisateur', - 'email_persona' => 'Adresse courriel de connexion
    (pour Mozilla Persona)', 'language' => 'Langue', 'number' => '%d compte a déjà été créé', 'numbers' => '%d comptes ont déjà été créés', diff --git a/app/i18n/fr/conf.php b/app/i18n/fr/conf.php index 6193b7a01..7a6d12e17 100644 --- a/app/i18n/fr/conf.php +++ b/app/i18n/fr/conf.php @@ -76,7 +76,6 @@ return array( '_' => 'Suppression du compte', 'warn' => 'Le compte et toutes les données associées vont être supprimées.', ), - 'email_persona' => 'Adresse courriel de connexion
    (pour Mozilla Persona)', 'password_api' => 'Mot de passe API
    (ex. : pour applis mobiles)', 'password_form' => 'Mot de passe
    (pour connexion par formulaire)', 'password_format' => '7 caractères minimum', diff --git a/app/i18n/fr/feedback.php b/app/i18n/fr/feedback.php index e2364a251..15f3ab859 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', diff --git a/app/i18n/fr/gen.php b/app/i18n/fr/gen.php index 031098aa2..d61a716a7 100644 --- a/app/i18n/fr/gen.php +++ b/app/i18n/fr/gen.php @@ -24,8 +24,6 @@ return array( 'email' => 'Adresse courriel', 'keep_logged_in' => 'Rester connecté (1 mois)', 'login' => 'Connexion', - 'login_persona' => 'Connexion avec Persona', - 'login_persona_problem' => 'Problème de connexion à Persona ?', 'logout' => 'Déconnexion', 'password' => array( '_' => 'Mot de passe', @@ -42,7 +40,6 @@ return array( 'admin' => 'Nom d’utilisateur administrateur', 'format' => '16 caractères alphanumériques maximum', ), - 'will_reset' => 'Le système d’authentification va être réinitialisé : un formulaire sera utilisé à la place de Persona.', ), 'date' => array( 'Apr' => '\\a\\v\\r\\i\\l', diff --git a/app/i18n/fr/install.php b/app/i18n/fr/install.php index 91dfbbb09..946a210ee 100644 --- a/app/i18n/fr/install.php +++ b/app/i18n/fr/install.php @@ -9,13 +9,11 @@ return array( 'reinstall' => 'Réinstaller FreshRSS', ), 'auth' => array( - 'email_persona' => 'Adresse courriel de connexion
    (pour Mozilla Persona)', 'form' => 'Formulaire (traditionnel, requiert JavaScript)', 'http' => 'HTTP (pour utilisateurs avancés avec HTTPS)', 'none' => 'Aucune (dangereux)', 'password_form' => 'Mot de passe
    (pour connexion par formulaire)', 'password_format' => '7 caractères minimum', - 'persona' => 'Mozilla Persona (moderne, requiert JavaScript)', 'type' => 'Méthode d’authentification', ), 'bdd' => array( @@ -78,10 +76,6 @@ return 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 ./data/persona. Le serveur HTTP doit être capable d’écrire dedans', - 'ok' => 'Les droits sur le répertoire de Mozilla Persona sont bons.', - ), 'php' => array( 'nok' => 'Votre version de PHP est la %s mais FreshRSS requiert au moins la version %s.', 'ok' => 'Votre version de PHP est la %s, qui est compatible avec FreshRSS.', diff --git a/app/i18n/it/admin.php b/app/i18n/it/admin.php index 94b2d6762..4eea158f6 100644 --- a/app/i18n/it/admin.php +++ b/app/i18n/it/admin.php @@ -8,7 +8,6 @@ return array( 'form' => 'Web form (tradizionale, richiede JavaScript)', 'http' => 'HTTP (per gli utenti avanzati con HTTPS)', 'none' => 'Nessuno (pericoloso)', - 'persona' => 'Mozilla Persona (moderno, richiede JavaScript)', 'title' => 'Autenticazione', 'title_reset' => 'Reset autenticazione', 'token' => 'Token di autenticazione', @@ -75,10 +74,6 @@ return array( 'nok' => 'Manca PDO o uno degli altri driver supportati (pdo_mysql, pdo_sqlite).', 'ok' => 'PDO e altri driver supportati (pdo_mysql, pdo_sqlite).', ), - 'persona' => array( - 'nok' => 'Verifica i permessi sulla cartella ./data/persona. Il server HTTP deve avere i permessi per scriverci dentro', - 'ok' => 'I permessi sulla cartella Mozilla Persona sono corretti.', - ), 'php' => array( '_' => 'Installazione PHP', 'nok' => 'Versione PHP %s FreshRSS richiede almeno la versione %s.', @@ -169,7 +164,6 @@ return array( 'user' => array( 'articles_and_size' => '%s articoli (%s)', 'create' => 'Crea nuovo utente', - 'email_persona' => 'Indirizzo mail
    (Login Mozilla Persona)', 'language' => 'Lingua', 'number' => ' %d profilo utente creato', 'numbers' => 'Sono presenti %d profili utente', diff --git a/app/i18n/it/conf.php b/app/i18n/it/conf.php index b757b3210..19b62c9a7 100644 --- a/app/i18n/it/conf.php +++ b/app/i18n/it/conf.php @@ -76,7 +76,6 @@ return array( '_' => 'Cancellazione account', 'warn' => 'Il tuo account e tutti i dati associati saranno cancellati.', ), - 'email_persona' => 'Indirizzo email
    (Login Mozilla Persona)', 'password_api' => 'Password API
    (e.g., per applicazioni mobili)', 'password_form' => 'Password
    (per il login classico)', 'password_format' => 'Almeno 7 caratteri', diff --git a/app/i18n/it/feedback.php b/app/i18n/it/feedback.php index caf1cd2b4..f217586b0 100644 --- a/app/i18n/it/feedback.php +++ b/app/i18n/it/feedback.php @@ -21,7 +21,6 @@ return array( 'success' => 'Disconnessione effettuata', ), 'no_password_set' => 'Password di amministrazione non impostata. Opzione non disponibile.', - 'not_persona' => 'Solo il sistema Mozilla Persona può essere resettato.', ), 'conf' => array( 'error' => 'Si è verificato un errore durante il salvataggio della configurazione', diff --git a/app/i18n/it/gen.php b/app/i18n/it/gen.php index d24377593..c02ddd13a 100644 --- a/app/i18n/it/gen.php +++ b/app/i18n/it/gen.php @@ -24,8 +24,6 @@ return array( 'email' => 'Indirizzo email', 'keep_logged_in' => 'Ricorda i dati (1 mese)', 'login' => 'Accedi', - 'login_persona' => 'Accedi con Mozilla Persona', - 'login_persona_problem' => 'Problemi di connessione con Mozilla Persona?', 'logout' => 'Esci', 'password' => array( '_' => 'Password', @@ -42,7 +40,6 @@ return array( 'admin' => 'Username amministratore', 'format' => 'massimo 16 caratteri alfanumerici', ), - 'will_reset' => 'Il sistema di autenticazione verrà resettato: un form verrà usato per Mozilla Persona.', ), 'date' => array( 'Apr' => '\\A\\p\\r\\i\\l\\e', diff --git a/app/i18n/it/install.php b/app/i18n/it/install.php index 8f5300bd5..a60dd4523 100644 --- a/app/i18n/it/install.php +++ b/app/i18n/it/install.php @@ -9,13 +9,11 @@ return array( 'reinstall' => 'Reinstalla FreshRSS', ), 'auth' => array( - 'email_persona' => 'Indirizzo mail
    (per Mozilla Persona)', 'form' => 'Web form (tradizionale, richiede JavaScript)', 'http' => 'HTTP (per gli utenti avanzati con HTTPS)', 'none' => 'Nessuno (pericoloso)', 'password_form' => 'Password
    (per il login tramite Web-form tradizionale)', 'password_format' => 'Almeno 7 caratteri', - 'persona' => 'Mozilla Persona (moderno, richiede JavaScript)', 'type' => 'Metodo di autenticazione', ), 'bdd' => array( @@ -78,10 +76,6 @@ return array( 'nok' => 'Manca PDO o uno degli altri driver supportati (pdo_mysql, pdo_sqlite).', 'ok' => 'PDO e altri driver supportati (pdo_mysql, pdo_sqlite).', ), - 'persona' => array( - 'nok' => 'Verifica i permessi sulla cartella ./data/persona. Il server HTTP deve avere i permessi per scriverci dentro', - 'ok' => 'I permessi sulla cartella Mozilla Persona sono corretti.', - ), 'php' => array( '_' => 'Installazione PHP', 'nok' => 'Versione di PHP %s FreshRSS richiede almeno la versione %s.', diff --git a/app/i18n/nl/admin.php b/app/i18n/nl/admin.php index bd7d63b6a..9f05d69b1 100644 --- a/app/i18n/nl/admin.php +++ b/app/i18n/nl/admin.php @@ -8,7 +8,6 @@ return array( 'form' => 'Web formulier (traditioneel, benodigd JavaScript)', 'http' => 'HTTP (voor geavanceerde gebruikers met HTTPS)', 'none' => 'Geen (gevaarlijk)', - 'persona' => 'Mozilla Persona (modern, benodigd JavaScript)', 'title' => 'Authenticatie', 'title_reset' => 'Authenticatie terugzetten', 'token' => 'Authenticatie teken', @@ -75,10 +74,6 @@ return array( 'nok' => 'U mist PDO of een van de ondersteunde drivers (pdo_mysql, pdo_sqlite).', 'ok' => 'U hebt PDO en ten minste één van de ondersteunde drivers (pdo_mysql, pdo_sqlite).', ), - 'persona' => array( - 'nok' => 'Controleer de permissies op de ./data/persona map. HTTP server moet rechten hebben om hierin te schrijven', - 'ok' => 'Permissies op de Mozilla Persona map zijn goed.', - ), 'php' => array( '_' => 'PHP installatie', 'nok' => 'Uw PHP versie is %s maar FreshRSS benodigd tenminste versie %s.', @@ -169,7 +164,6 @@ return array( 'user' => array( 'articles_and_size' => '%s artikelen (%s)', 'create' => 'Creëer nieuwe gebruiker', - 'email_persona' => 'Log in mail adres
    (voor Mozilla Persona)', 'language' => 'Taal', 'number' => 'Er is %d accounts gemaakt', 'numbers' => 'Er zijn %d accounts gemaakt', diff --git a/app/i18n/nl/conf.php b/app/i18n/nl/conf.php index 9b0aff793..573dabf45 100644 --- a/app/i18n/nl/conf.php +++ b/app/i18n/nl/conf.php @@ -76,7 +76,6 @@ return array( '_' => 'Account verwijderen', 'warn' => 'Uw account en alle gerelateerde gegvens worden verwijderd.', ), - 'email_persona' => 'Log in mail adres
    (voor Mozilla Persona)', 'password_api' => 'Wachtwoord API
    (e.g., voor mobiele apps)', 'password_form' => 'Wachtwoord
    (voor de Web-formulier log in methode)', 'password_format' => 'Ten minste 7 tekens', diff --git a/app/i18n/nl/feedback.php b/app/i18n/nl/feedback.php index 54d84f7d6..b703c43cf 100644 --- a/app/i18n/nl/feedback.php +++ b/app/i18n/nl/feedback.php @@ -21,7 +21,6 @@ return array( 'success' => 'U bent uitgelogd', ), 'no_password_set' => 'Administrateur wachtwoord is niet ingesteld. Deze mogelijkheid is niet beschikbaar.', - 'not_persona' => 'Alleen Persona systeem kan worden gereset.', ), 'conf' => array( 'error' => 'Er is een fout opgetreden tijdens het opslaan van de configuratie', diff --git a/app/i18n/nl/gen.php b/app/i18n/nl/gen.php index 24cba574e..7e03229c9 100644 --- a/app/i18n/nl/gen.php +++ b/app/i18n/nl/gen.php @@ -24,8 +24,6 @@ return array( 'email' => 'Email adres', 'keep_logged_in' => 'Ingelogd blijven voor (1 maand)', 'login' => 'Log in', - 'login_persona' => 'Login met Persona', - 'login_persona_problem' => 'Connectiviteits problemen met Persona', 'logout' => 'Log uit', 'password' => array( '_' => 'Wachtwoord', @@ -42,7 +40,6 @@ return array( 'admin' => 'Administrator gebruikersnaam', 'format' => 'maximaal 16 alphanumerieke tekens', ), - 'will_reset' => 'Het authenticatie system zal worden gereset: een formulier zal worden gebruikt in plaats van Persona.', ), 'date' => array( 'Apr' => '\\A\\p\\r\\i\\l', diff --git a/app/i18n/nl/install.php b/app/i18n/nl/install.php index d16dda4ca..77783cd48 100644 --- a/app/i18n/nl/install.php +++ b/app/i18n/nl/install.php @@ -9,13 +9,11 @@ return array( 'reinstall' => 'Installeer FreshRSS opnieuw', ), 'auth' => array( - 'email_persona' => 'Log in mail adres
    (voor Mozilla Persona)', 'form' => 'Web formulier (traditioneel, benodigd JavaScript)', 'http' => 'HTTP (voor geavanceerde gebruikers met HTTPS)', 'none' => 'Geen (gevaarlijk)', 'password_form' => 'Wachtwoord
    (voor de Web-formulier log in methode)', 'password_format' => 'Tenminste 7 tekens', - 'persona' => 'Mozilla Persona (modern, benodigd JavaScript)', 'type' => 'Authenticatie methode', ), 'bdd' => array( @@ -78,10 +76,6 @@ return array( 'nok' => 'U mist PDO of één van de ondersteunde (pdo_mysql, pdo_sqlite).', 'ok' => 'U hebt PDO en ten minste één van de ondersteunde drivers (pdo_mysql, pdo_sqlite).', ), - 'persona' => array( - 'nok' => 'Controleer permissies van de ./data/persona map. HTTP server moet rechten hebben om er in te kunnen schrijven', - 'ok' => 'Permissies van de Mozilla Persona map zijn goed.', - ), '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.', diff --git a/app/i18n/ru/admin.php b/app/i18n/ru/admin.php index dfea5b3cb..caea627f3 100644 --- a/app/i18n/ru/admin.php +++ b/app/i18n/ru/admin.php @@ -8,7 +8,6 @@ return array( 'form' => 'На основе веб-формы (традиционный, необходим JavaScript)', 'http' => 'HTTP (для продвинутых пользователей - по HTTPS)', 'none' => 'Без аутентификации (небезопасный)', - 'persona' => 'Mozilla Persona (новый, необходим JavaScript)', 'title' => 'Аутентификации', 'title_reset' => 'Сброс аутентицикации', 'token' => 'Токен аутентификации', @@ -75,10 +74,6 @@ return array( 'nok' => 'У вас не установлен PDO или один из необходимых драйверов (pdo_mysql, pdo_sqlite).', 'ok' => 'У вас установлен PDO и как минимум один из поддерживаемых драйверов (pdo_mysql, pdo_sqlite).', ), - 'persona' => array( - 'nok' => 'Проверьте права доступа к папке ./data/persona . Сервер HTTP должен иметь права на запись в эту папку.', - 'ok' => 'Права на папку Mozilla Persona в порядке.', - ), 'php' => array( '_' => 'PHP installation', 'nok' => 'У вас установлен PHP версии %s, но FreshRSS необходима версия не ниже %s.', @@ -169,7 +164,6 @@ return array( 'user' => array( 'articles_and_size' => '%s статей (%s)', 'create' => 'Создать нового пользователя', - 'email_persona' => 'Адрес электронной почты для входа
    (for Mozilla Persona)', 'language' => 'Язык', 'number' => 'На данный момент создан %d аккаунт', 'numbers' => 'На данный момент аккаунтов создано: %d', diff --git a/app/i18n/ru/conf.php b/app/i18n/ru/conf.php index e502e9a43..557fbe369 100644 --- a/app/i18n/ru/conf.php +++ b/app/i18n/ru/conf.php @@ -76,7 +76,6 @@ return array( '_' => 'Account deletion', 'warn' => 'Your account and all the related data will be deleted.', ), - 'email_persona' => 'Login email address
    (for Mozilla Persona)', 'password_api' => 'Password API
    (e.g., for mobile apps)', 'password_form' => 'Password
    (for the Web-form login method)', 'password_format' => 'At least 7 characters', diff --git a/app/i18n/ru/feedback.php b/app/i18n/ru/feedback.php index c9189c0d0..7ce2ae9cf 100644 --- a/app/i18n/ru/feedback.php +++ b/app/i18n/ru/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', diff --git a/app/i18n/ru/gen.php b/app/i18n/ru/gen.php index b8e8511d9..eecd72749 100644 --- a/app/i18n/ru/gen.php +++ b/app/i18n/ru/gen.php @@ -24,8 +24,6 @@ return array( 'email' => 'Email address', 'keep_logged_in' => 'Keep me logged in (1 month)', 'login' => 'Login', - 'login_persona' => 'Login with Persona', - 'login_persona_problem' => 'Connection problem with Persona?', 'logout' => 'Logout', 'password' => array( '_' => 'Password', @@ -42,7 +40,6 @@ return array( 'admin' => 'Administrator username', 'format' => 'maximum 16 alphanumeric characters', ), - 'will_reset' => 'Authentication system will be reset: a form will be used instead of Persona.', ), 'date' => array( 'Apr' => '\\A\\p\\r\\i\\l', diff --git a/app/i18n/ru/install.php b/app/i18n/ru/install.php index c838b2eba..a52e2959b 100644 --- a/app/i18n/ru/install.php +++ b/app/i18n/ru/install.php @@ -9,13 +9,11 @@ return array( 'reinstall' => 'Переустановить FreshRSS', ), 'auth' => array( - 'email_persona' => 'Почта (логин) для
    (for Mozilla Persona)', 'form' => 'Вэб-форма (традиционный, необходим JavaScript)', 'http' => 'HTTP (для продвинутых пользователей с HTTPS)', 'none' => 'Никакого (опасно)', 'password_form' => 'Пароль
    (для метода аутентификации на Вэб-формах)', 'password_format' => 'Как минимум 7 букв', - 'persona' => 'Mozilla Persona (современный, необходим JavaScript)', 'type' => 'Метод аутентификации', ), 'bdd' => array( @@ -74,10 +72,6 @@ return array( 'nok' => 'У вас не установлен PDO или один из необходимых драйверов (pdo_mysql, pdo_sqlite).', 'ok' => 'У вас установлен PDO и как минимум один из поддерживаемых драйверов (pdo_mysql, pdo_sqlite).', ), - 'persona' => array( - 'nok' => 'Проверьте права доступа к папке ./data/persona . Сервер HTTP должен иметь права на запись в эту папку.', - 'ok' => 'Права на папку Mozilla Persona в порядке.', - ), 'php' => array( 'nok' => 'У вас установлен PHP версии %s, но FreshRSS необходима версия не ниже %s.', 'ok' => 'У вас установлен PHP версии %s, который совместим с FreshRSS.', diff --git a/app/i18n/tr/admin.php b/app/i18n/tr/admin.php index 3a6f8118e..43f8e23c5 100644 --- a/app/i18n/tr/admin.php +++ b/app/i18n/tr/admin.php @@ -8,7 +8,6 @@ return array( 'form' => 'Web formu (geleneksel, JavaScript gerektirir)', 'http' => 'HTTP (ileri kullanıcılar için, HTTPS)', 'none' => 'Hiçbiri (tehlikeli)', - 'persona' => 'Mozilla Persona (modern, JavaScript gerektirir)', 'title' => 'Kimlik doğrulama', 'title_reset' => 'Kimlik doğrulama sıfırla', 'token' => 'Kimlik doğrulama işareti', @@ -75,10 +74,6 @@ return array( 'nok' => 'PDO veya PDO destekli bir sürücü eksik (pdo_mysql, pdo_sqlite).', 'ok' => 'PDO sorunsuz (pdo_mysql, pdo_sqlite).', ), - 'persona' => array( - 'nok' => './data/persona klasör yetkisini kontrol edin. HTTP yazma yetkisi olmalı', - 'ok' => 'Mozilla Persona klasörü yetkileri sorunsuz.', - ), 'php' => array( '_' => 'PHP kurulumu', 'nok' => 'PHP versiyonunuz %s fakat FreshRSS için gerekli olan en düşük sürüm %s.', @@ -169,7 +164,6 @@ return array( 'user' => array( 'articles_and_size' => '%s makale (%s)', 'create' => 'Yeni kullanıcı oluştur', - 'email_persona' => 'Giriş email adresi
    (Mozilla Persona için)', 'language' => 'Dil', 'number' => 'Oluşturulmuş %d hesap var', 'numbers' => 'Oluşturulmuş %d hesap var', diff --git a/app/i18n/tr/conf.php b/app/i18n/tr/conf.php index d9e275b21..2fdc248e4 100644 --- a/app/i18n/tr/conf.php +++ b/app/i18n/tr/conf.php @@ -76,7 +76,6 @@ return array( '_' => 'Hesap silme', 'warn' => 'Hesabınız ve tüm verileriniz silinecek.', ), - 'email_persona' => 'Giriş email adresi
    (Mozilla Persona için)', 'password_api' => 'API Şifresi
    (ör. mobil uygulamalar için)', 'password_form' => 'Şifre
    (Tarayıcı girişi için)', 'password_format' => 'En az 7 karakter', diff --git a/app/i18n/tr/feedback.php b/app/i18n/tr/feedback.php index 0572c6da1..a53316206 100644 --- a/app/i18n/tr/feedback.php +++ b/app/i18n/tr/feedback.php @@ -21,7 +21,6 @@ return array( 'success' => 'Bağlantı koptu', ), 'no_password_set' => 'Yönetici şifresi ayarlanmadı. Bu özellik kullanıma uygun değil.', - 'not_persona' => 'Sadece Persona sistem sıfırlanabilir.', ), 'conf' => array( 'error' => 'Yapılandırma ayarları kaydedilirken hata oluştu', diff --git a/app/i18n/tr/gen.php b/app/i18n/tr/gen.php index 492e2cb9b..865dbd4e2 100644 --- a/app/i18n/tr/gen.php +++ b/app/i18n/tr/gen.php @@ -24,8 +24,6 @@ return array( 'email' => 'Email adresleri', 'keep_logged_in' => '(1 ay) oturumu açık tut', 'login' => 'Giriş', - 'login_persona' => 'Persona ile giriş yap', - 'login_persona_problem' => 'Persona ile bağlantı sorununuz mu var ?', 'logout' => 'Çıkış', 'password' => array( '_' => 'Şifre', @@ -42,7 +40,6 @@ return array( 'admin' => 'Yönetici kullanıcı adı', 'format' => 'en fazla 16 alfanümerik karakter', ), - 'will_reset' => 'Kimlik doğrulama sistemi sıfırlanacak: Persone yerine bir form kullanılacak.', ), 'date' => array( 'Apr' => '\\N\\i\\s\\a\\n', diff --git a/app/i18n/tr/install.php b/app/i18n/tr/install.php index 85134845b..951a7c5fd 100644 --- a/app/i18n/tr/install.php +++ b/app/i18n/tr/install.php @@ -9,13 +9,11 @@ return array( 'reinstall' => 'FreshRSS i yeniden yükle', ), 'auth' => array( - 'email_persona' => 'Giriş email adresi
    (Mozilla Persona için)', 'form' => 'Web formu (geleneksel, JavaScript gerektirir)', 'http' => 'HTTP (ileri kullanıcılar için, HTTPS)', 'none' => 'Hiçbiri (tehlikeli)', 'password_form' => 'Şifre
    (Tarayıcı girişi için)', 'password_format' => 'En az 7 karakter', - 'persona' => 'Mozilla Persona (modern, JavaScript gerektirir)', 'type' => 'Kimlik doğrulama yöntemi', ), 'bdd' => array( @@ -78,10 +76,6 @@ return array( 'nok' => 'PDO veya PDO destekli bir sürücü eksik (pdo_mysql, pdo_sqlite).', 'ok' => 'PDO sorunsuz (pdo_mysql, pdo_sqlite).', ), - 'persona' => array( - 'nok' => './data/persona klasör yetkisini kontrol edin. HTTP yazma yetkisi olmalı', - 'ok' => 'Mozilla Persona klasörü yetkileri sorunsuz.', - ), '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.', diff --git a/app/install.php b/app/install.php index 062f66814..e73bc9972 100644 --- a/app/install.php +++ b/app/install.php @@ -103,7 +103,6 @@ function saveStep1() { $_SESSION['title'] = $system_conf->title; $_SESSION['auth_type'] = $system_conf->auth_type; $_SESSION['old_entries'] = $user_conf->old_entries; - $_SESSION['mail_login'] = $user_conf->mail_login; $_SESSION['default_user'] = $current_user; $_SESSION['passwordHash'] = $user_conf->passwordHash; @@ -128,7 +127,6 @@ function saveStep2() { $_SESSION['old_entries'] = param('old_entries', $user_default_config->old_entries); $_SESSION['auth_type'] = param('auth_type', 'form'); $_SESSION['default_user'] = substr(preg_replace('/[^a-zA-Z0-9]/', '', param('default_user', '')), 0, 16); - $_SESSION['mail_login'] = filter_var(param('mail_login', ''), FILTER_VALIDATE_EMAIL); $password_plain = param('passwordPlain', false); if ($password_plain !== false && cryptAvailable()) { @@ -146,8 +144,7 @@ function saveStep2() { return false; } - if (($_SESSION['auth_type'] === 'form' && empty($_SESSION['passwordHash'])) || - ($_SESSION['auth_type'] === 'persona' && empty($_SESSION['mail_login']))) { + if ($_SESSION['auth_type'] === 'form' && empty($_SESSION['passwordHash'])) { return false; } @@ -157,15 +154,11 @@ function saveStep2() { } $token = ''; - if ($_SESSION['mail_login']) { - $token = sha1($_SESSION['salt'] . $_SESSION['mail_login']); - } $config_array = array( 'language' => $_SESSION['language'], 'theme' => $user_default_config->theme, 'old_entries' => $_SESSION['old_entries'], - 'mail_login' => $_SESSION['mail_login'], 'passwordHash' => $_SESSION['passwordHash'], 'token' => $token, ); @@ -179,12 +172,6 @@ function saveStep2() { mkdir($user_dir); file_put_contents($user_config_path, " $cache ? 'ok' : 'ko', 'users' => $users ? 'ok' : 'ko', 'favicons' => $favicons ? 'ok' : 'ko', - 'persona' => $persona ? 'ok' : 'ko', 'http_referer' => $http_referer ? 'ok' : 'ko', 'all' => $php && $minz && $curl && $pdo && $pcre && $ctype && $dom && $xml && - $data && $cache && $users && $favicons && $persona && $http_referer ? + $data && $cache && $users && $favicons && $http_referer ? 'ok' : 'ko' ); } @@ -380,7 +365,6 @@ function freshrss_already_installed() { function checkStep2() { $conf = !empty($_SESSION['old_entries']) && - isset($_SESSION['mail_login']) && !empty($_SESSION['default_user']); $form = ( @@ -388,11 +372,6 @@ function checkStep2() { ($_SESSION['auth_type'] != 'form' || !empty($_SESSION['passwordHash'])) ); - $persona = ( - isset($_SESSION['auth_type']) && - ($_SESSION['auth_type'] != 'persona' || !empty($_SESSION['mail_login'])) - ); - $defaultUser = empty($_POST['default_user']) ? null : $_POST['default_user']; if ($defaultUser === null) { $defaultUser = empty($_SESSION['default_user']) ? '' : $_SESSION['default_user']; @@ -402,9 +381,8 @@ function checkStep2() { return array( 'conf' => $conf ? 'ok' : 'ko', 'form' => $form ? 'ok' : 'ko', - 'persona' => $persona ? 'ok' : 'ko', 'data' => $data ? 'ok' : 'ko', - 'all' => $conf && $form && $persona && $data ? 'ok' : 'ko' + 'all' => $conf && $form && $data ? 'ok' : 'ko' ); } @@ -612,12 +590,6 @@ function printStep1() {

    - -

    - -

    - -

    @@ -673,12 +645,11 @@ function printStep2() { @@ -697,14 +668,6 @@ function printStep2() {
    -
    - -
    - tabindex="6"/> - -
    -
    -
    diff --git a/app/views/auth/index.phtml b/app/views/auth/index.phtml index 8e4df8c2c..8f81ac856 100644 --- a/app/views/auth/index.phtml +++ b/app/views/auth/index.phtml @@ -10,11 +10,10 @@
    diff --git a/app/views/auth/personaLogin.phtml b/app/views/auth/personaLogin.phtml deleted file mode 100644 index c6d738bf6..000000000 --- a/app/views/auth/personaLogin.phtml +++ /dev/null @@ -1,28 +0,0 @@ -res === false) { ?> -
    -

    - - - - - -

    - - -

    - - - - - -

    - -

    -
    -res); -} -?> diff --git a/app/views/auth/register.phtml b/app/views/auth/register.phtml index 306679601..0c261319a 100644 --- a/app/views/auth/register.phtml +++ b/app/views/auth/register.phtml @@ -16,11 +16,6 @@
    -
    - - -
    -
    -

    - - message)) { ?> -

    - message['title']; ?>
    - message['body']; ?> -

    - - - no_form) { ?> - -

    -
    - -

    - -
    - - -
    -
    - - -
    - -
    -
    - -
    - - -
    diff --git a/app/views/helpers/javascript_vars.phtml b/app/views/helpers/javascript_vars.phtml index 6178cacf2..1aa43a207 100644 --- a/app/views/helpers/javascript_vars.phtml +++ b/app/views/helpers/javascript_vars.phtml @@ -1,6 +1,5 @@ mark_when; -$mail = Minz_Session::param('mail', false); $s = FreshRSS_Context::$user_conf->shortcuts; echo htmlspecialchars(json_encode(array( 'context' => array( @@ -16,7 +15,6 @@ echo htmlspecialchars(json_encode(array( 'sticky_post' => !!FreshRSS_Context::isStickyPostEnabled(), 'html5_notif_timeout' => FreshRSS_Context::$user_conf->html5_notif_timeout, 'auth_type' => FreshRSS_Context::$system_conf->auth_type, - 'current_user_mail' => $mail ? ('"' . $mail . '"') : null, 'current_view' => Minz_Request::actionName(), ), 'shortcuts' => array( diff --git a/app/views/user/manage.phtml b/app/views/user/manage.phtml index fe1b6618b..e48841d9b 100644 --- a/app/views/user/manage.phtml +++ b/app/views/user/manage.phtml @@ -37,14 +37,6 @@
    -
    - - mail_login; ?> -
    - -
    -
    -
    diff --git a/app/views/user/profile.phtml b/app/views/user/profile.phtml index 7ae2c7ede..e96b5aa32 100644 --- a/app/views/user/profile.phtml +++ b/app/views/user/profile.phtml @@ -41,15 +41,6 @@
    -
    - - mail_login; ?> -
    - placeholder="alice@example.net" /> - -
    -
    -
    diff --git a/data/config.default.php b/data/config.default.php index cae15330f..be3fa8ae2 100644 --- a/data/config.default.php +++ b/data/config.default.php @@ -40,7 +40,6 @@ return array( # Login method: # `none` is without password and shows only the default user; # `form` is a conventional Web login form; - # `persona` is the email-based login by Mozilla; # `http_auth` is an access controled by the HTTP Web server (e.g. `/FreshRSS/p/i/.htaccess` for Apache) # if you use `http_auth`, remember to protect only `/FreshRSS/p/i/`, # and in particular not protect `/FreshRSS/p/api/` if you would like to use the API (different login system). diff --git a/data/users/_/config.default.php b/data/users/_/config.default.php index 8f8ff528c..4a3403453 100644 --- a/data/users/_/config.default.php +++ b/data/users/_/config.default.php @@ -5,7 +5,6 @@ return array ( 'old_entries' => 3, 'keep_history_default' => 0, 'ttl_default' => 3600, - 'mail_login' => '', 'token' => '', 'passwordHash' => '', 'apiPasswordHash' => '', diff --git a/lib/lib_rss.php b/lib/lib_rss.php index f89baf9b1..8196f7847 100644 --- a/lib/lib_rss.php +++ b/lib/lib_rss.php @@ -440,7 +440,6 @@ function check_install_files() { 'cache' => CACHE_PATH && is_writable(CACHE_PATH), 'users' => USERS_PATH && is_writable(USERS_PATH), 'favicons' => is_writable(DATA_PATH . '/favicons'), - 'persona' => is_writable(DATA_PATH . '/persona'), 'tokens' => is_writable(DATA_PATH . '/tokens'), ); } diff --git a/p/scripts/install.js b/p/scripts/install.js index 9a49e6031..57fc2450a 100644 --- a/p/scripts/install.js +++ b/p/scripts/install.js @@ -24,18 +24,12 @@ function auth_type_change() { var auth_type = document.getElementById('auth_type'); if (auth_type) { var auth_value = auth_type.value, - password_input = document.getElementById('passwordPlain'), - mail_input = document.getElementById('mail_login'); + password_input = document.getElementById('passwordPlain'); if (auth_value === 'form') { password_input.required = true; - mail_input.required = false; - } else if (auth_value === 'persona') { - password_input.required = false; - mail_input.required = true; } else { password_input.required = false; - mail_input.required = false; } } } diff --git a/p/scripts/persona.js b/p/scripts/persona.js deleted file mode 100644 index 63ab43795..000000000 --- a/p/scripts/persona.js +++ /dev/null @@ -1,76 +0,0 @@ -"use strict"; - -function init_persona() { - if (!(navigator.id && window.$ && window.url)) { - if (window.console) { - console.log('FreshRSS (Persona) waiting for JS…'); - } - window.setTimeout(init_persona, 100); - return; - } - - $('a.signin').click(function() { - navigator.id.request(); - return false; - }); - - $('a.signout').click(function() { - navigator.id.logout(); - return false; - }); - - navigator.id.watch({ - loggedInUser: context['current_user_mail'], - - onlogin: function(assertion) { - // A user has logged in! Here you need to: - // 1. Send the assertion to your backend for verification and to create a session. - // 2. Update your UI. - $.ajax ({ - type: 'POST', - url: url['login'], - data: {assertion: assertion}, - success: function(res, status, xhr) { - if (res.status === 'failure') { - openNotification(res.reason, 'bad'); - } else if (res.status === 'okay') { - location.href = url['index']; - } - }, - error: function(res, status, xhr) { - // alert(res); - } - }); - }, - onlogout: function() { - // A user has logged out! Here you need to: - // Tear down the user's session by redirecting the user or making a call to your backend. - // Also, make sure loggedInUser will get set to null on the next page load. - // (That's a literal JavaScript null. Not false, 0, or undefined. null.) - $.ajax ({ - type: 'POST', - url: url['logout'], - success: function(res, status, xhr) { - location.href = url['index']; - }, - error: function(res, status, xhr) { - // alert(res); - } - }); - } - }); -} - -if (document.readyState && document.readyState !== 'loading') { - if (window.console) { - console.log('FreshRSS (Persona) immediate init…'); - } - init_persona(); -} else if (document.addEventListener) { - document.addEventListener('DOMContentLoaded', function () { - if (window.console) { - console.log('FreshRSS (Persona) waiting for DOMContentLoaded…'); - } - init_persona(); - }, false); -} -- cgit v1.2.3 From 332a4dec8690b658bcb878a20056aea33c673f69 Mon Sep 17 00:00:00 2001 From: Alexandre Alapetite Date: Sat, 24 Dec 2016 16:33:28 +0100 Subject: Option for cookie duration https://github.com/FreshRSS/FreshRSS/issues/1384 --- app/Controllers/authController.php | 4 ++++ app/Models/Auth.php | 11 ++++++++--- app/i18n/cz/gen.php | 2 +- app/i18n/de/gen.php | 2 +- app/i18n/en/gen.php | 2 +- app/i18n/fr/gen.php | 2 +- app/i18n/it/gen.php | 2 +- app/i18n/nl/gen.php | 2 +- app/i18n/ru/gen.php | 2 +- app/i18n/tr/gen.php | 2 +- app/views/auth/formLogin.phtml | 2 +- data/config.default.php | 3 +++ 12 files changed, 24 insertions(+), 12 deletions(-) (limited to 'app/i18n/fr/gen.php') diff --git a/app/Controllers/authController.php b/app/Controllers/authController.php index 9decba431..1398e4e49 100644 --- a/app/Controllers/authController.php +++ b/app/Controllers/authController.php @@ -113,6 +113,10 @@ class FreshRSS_auth_Controller extends Minz_ActionController { $file_mtime = @filemtime(PUBLIC_PATH . '/scripts/bcrypt.min.js'); Minz_View::appendScript(Minz_Url::display('/scripts/bcrypt.min.js?' . $file_mtime)); + $conf = Minz_Configuration::get('system'); + $limits = $conf->limits; + $this->view->cookie_days = round($limits['cookie_duration'] / 86400, 1); + if (Minz_Request::isPost()) { $nonce = Minz_Session::param('nonce'); $username = Minz_Request::param('username', ''); diff --git a/app/Models/Auth.php b/app/Models/Auth.php index 3313fdf3f..042210eaf 100644 --- a/app/Models/Auth.php +++ b/app/Models/Auth.php @@ -219,8 +219,8 @@ class FreshRSS_FormAuth { } public static function makeCookie($username, $password_hash) { + $conf = Minz_Configuration::get('system'); do { - $conf = Minz_Configuration::get('system'); $token = sha1($conf->salt . $username . uniqid(mt_rand(), true)); $token_file = DATA_PATH . '/tokens/' . $token . '.txt'; } while (file_exists($token_file)); @@ -229,7 +229,9 @@ class FreshRSS_FormAuth { return false; } - $expire = time() + 2629744; //1 month //TODO: Use a configuration instead + $limits = $conf->limits; + $cookie_duration = empty($limits['cookie_duration']) ? 2629744 : $limits['cookie_duration']; + $expire = time() + $cookie_duration; Minz_Session::setLongTermCookie('FreshRSS_login', $token, $expire); return $token; } @@ -247,7 +249,10 @@ class FreshRSS_FormAuth { } public static function purgeTokens() { - $oldest = time() - 2629744; // 1 month // TODO: Use a configuration instead + $conf = Minz_Configuration::get('system'); + $limits = $conf->limits; + $cookie_duration = empty($limits['cookie_duration']) ? 2629744 : $limits['cookie_duration']; + $oldest = time() - $cookie_duration; foreach (new DirectoryIterator(DATA_PATH . '/tokens/') as $file_info) { // $extension = $file_info->getExtension(); doesn't work in PHP < 5.3.7 $extension = pathinfo($file_info->getFilename(), PATHINFO_EXTENSION); diff --git a/app/i18n/cz/gen.php b/app/i18n/cz/gen.php index e73325c55..6722a02e5 100644 --- a/app/i18n/cz/gen.php +++ b/app/i18n/cz/gen.php @@ -22,7 +22,7 @@ return array( ), 'auth' => array( 'email' => 'Email', - 'keep_logged_in' => 'Zapamatovat přihlášení (1 měsíc)', + 'keep_logged_in' => 'Zapamatovat přihlášení (%s dny)', 'login' => 'Login', 'logout' => 'Odhlášení', 'password' => array( diff --git a/app/i18n/de/gen.php b/app/i18n/de/gen.php index c6e7f1ef3..3f1238edc 100644 --- a/app/i18n/de/gen.php +++ b/app/i18n/de/gen.php @@ -22,7 +22,7 @@ return array( ), 'auth' => array( 'email' => 'E-Mail-Adresse', - 'keep_logged_in' => 'Eingeloggt bleiben (1 Monat)', + 'keep_logged_in' => 'Eingeloggt bleiben (%s Tage)', 'login' => 'Anmelden', 'logout' => 'Abmelden', 'password' => array( diff --git a/app/i18n/en/gen.php b/app/i18n/en/gen.php index 17b47ba2f..c68a0f07b 100644 --- a/app/i18n/en/gen.php +++ b/app/i18n/en/gen.php @@ -22,7 +22,7 @@ return array( ), 'auth' => array( 'email' => 'Email address', - 'keep_logged_in' => 'Keep me logged in (1 month)', + 'keep_logged_in' => 'Keep me logged in (%s days)', 'login' => 'Login', 'logout' => 'Logout', 'password' => array( diff --git a/app/i18n/fr/gen.php b/app/i18n/fr/gen.php index d61a716a7..b5dc098ae 100644 --- a/app/i18n/fr/gen.php +++ b/app/i18n/fr/gen.php @@ -22,7 +22,7 @@ return array( ), 'auth' => array( 'email' => 'Adresse courriel', - 'keep_logged_in' => 'Rester connecté (1 mois)', + 'keep_logged_in' => 'Rester connecté (%s jours)', 'login' => 'Connexion', 'logout' => 'Déconnexion', 'password' => array( diff --git a/app/i18n/it/gen.php b/app/i18n/it/gen.php index c02ddd13a..01c0afba8 100644 --- a/app/i18n/it/gen.php +++ b/app/i18n/it/gen.php @@ -22,7 +22,7 @@ return array( ), 'auth' => array( 'email' => 'Indirizzo email', - 'keep_logged_in' => 'Ricorda i dati (1 mese)', + 'keep_logged_in' => 'Ricorda i dati (%s giorni)', 'login' => 'Accedi', 'logout' => 'Esci', 'password' => array( diff --git a/app/i18n/nl/gen.php b/app/i18n/nl/gen.php index 7e03229c9..a156697d5 100644 --- a/app/i18n/nl/gen.php +++ b/app/i18n/nl/gen.php @@ -22,7 +22,7 @@ return array( ), 'auth' => array( 'email' => 'Email adres', - 'keep_logged_in' => 'Ingelogd blijven voor (1 maand)', + 'keep_logged_in' => 'Ingelogd blijven voor (%s dagen)', 'login' => 'Log in', 'logout' => 'Log uit', 'password' => array( diff --git a/app/i18n/ru/gen.php b/app/i18n/ru/gen.php index eecd72749..130fac4ed 100644 --- a/app/i18n/ru/gen.php +++ b/app/i18n/ru/gen.php @@ -22,7 +22,7 @@ return array( ), 'auth' => array( 'email' => 'Email address', - 'keep_logged_in' => 'Keep me logged in (1 month)', + 'keep_logged_in' => 'Keep me logged in (%s дней)', 'login' => 'Login', 'logout' => 'Logout', 'password' => array( diff --git a/app/i18n/tr/gen.php b/app/i18n/tr/gen.php index 865dbd4e2..7f9d3d8e0 100644 --- a/app/i18n/tr/gen.php +++ b/app/i18n/tr/gen.php @@ -22,7 +22,7 @@ return array( ), 'auth' => array( 'email' => 'Email adresleri', - 'keep_logged_in' => '(1 ay) oturumu açık tut', + 'keep_logged_in' => '(%s günler) oturumu açık tut', 'login' => 'Giriş', 'logout' => 'Çıkış', 'password' => array( diff --git a/app/views/auth/formLogin.phtml b/app/views/auth/formLogin.phtml index 4bbc8ed55..a8213b7ae 100644 --- a/app/views/auth/formLogin.phtml +++ b/app/views/auth/formLogin.phtml @@ -20,7 +20,7 @@

    diff --git a/data/config.default.php b/data/config.default.php index 8b07b85cd..433207a9c 100644 --- a/data/config.default.php +++ b/data/config.default.php @@ -74,6 +74,9 @@ return array( 'limits' => array( + # Duration in seconds of the login cookie. + 'cookie_duration' => 2592000, + # Duration in seconds of the SimplePie cache, # during which a query to the RSS feed will return the local cached version. # Especially important for multi-user setups. -- cgit v1.2.3 From fcc9229fb772be6f99512021454e4a14760301a5 Mon Sep 17 00:00:00 2001 From: tintouli Date: Sat, 4 Feb 2017 13:20:25 +0100 Subject: Share to sites based on Known (http://withknown.com) --- app/i18n/cz/gen.php | 1 + app/i18n/de/gen.php | 1 + app/i18n/en/gen.php | 1 + app/i18n/fr/gen.php | 1 + app/i18n/it/gen.php | 1 + app/i18n/nl/gen.php | 3 ++- app/i18n/ru/gen.php | 1 + app/i18n/tr/gen.php | 1 + data/shares.php | 6 ++++++ 9 files changed, 15 insertions(+), 1 deletion(-) (limited to 'app/i18n/fr/gen.php') diff --git a/app/i18n/cz/gen.php b/app/i18n/cz/gen.php index 3db3a31da..b98ee0a64 100644 --- a/app/i18n/cz/gen.php +++ b/app/i18n/cz/gen.php @@ -165,6 +165,7 @@ return array( 'wallabag' => 'wallabag v1', 'wallabagv2' => 'wallabag v2', 'jdh' => 'Journal du hacker', + 'Known' => 'Known based sites', ), 'short' => array( 'attention' => 'Upozornění!', diff --git a/app/i18n/de/gen.php b/app/i18n/de/gen.php index c73aedbfe..9747ec1b8 100644 --- a/app/i18n/de/gen.php +++ b/app/i18n/de/gen.php @@ -165,6 +165,7 @@ return array( 'wallabag' => 'wallabag v1', 'wallabagv2' => 'wallabag v2', 'jdh' => 'Journal du hacker', + 'Known' => 'Known based sites', ), 'short' => array( 'attention' => 'Achtung!', diff --git a/app/i18n/en/gen.php b/app/i18n/en/gen.php index 3f86cfd19..2a098209f 100644 --- a/app/i18n/en/gen.php +++ b/app/i18n/en/gen.php @@ -165,6 +165,7 @@ return array( 'wallabag' => 'wallabag v1', 'wallabagv2' => 'wallabag v2', 'jdh' => 'Journal du hacker', + 'Known' => 'Known based sites', ), 'short' => array( 'attention' => 'Warning!', diff --git a/app/i18n/fr/gen.php b/app/i18n/fr/gen.php index b5dc098ae..688e6878e 100644 --- a/app/i18n/fr/gen.php +++ b/app/i18n/fr/gen.php @@ -165,6 +165,7 @@ return array( 'wallabag' => 'wallabag v1', 'wallabagv2' => 'wallabag v2', 'jdh' => 'Journal du hacker', + 'Known' => 'Sites basés sur Known', ), 'short' => array( 'attention' => 'Attention !', diff --git a/app/i18n/it/gen.php b/app/i18n/it/gen.php index a9a8709d3..bc4b82c09 100644 --- a/app/i18n/it/gen.php +++ b/app/i18n/it/gen.php @@ -165,6 +165,7 @@ return array( 'wallabag' => 'wallabag v1', 'wallabagv2' => 'wallabag v2', 'jdh' => 'Journal du hacker', + 'Known' => 'Siti basati su Known', ), 'short' => array( 'attention' => 'Attenzione!', diff --git a/app/i18n/nl/gen.php b/app/i18n/nl/gen.php index 83811ce68..a5e793a2b 100644 --- a/app/i18n/nl/gen.php +++ b/app/i18n/nl/gen.php @@ -163,8 +163,9 @@ return array( 'shaarli' => 'Shaarli', 'twitter' => 'Twitter', 'wallabag' => 'wallabag v1', - 'wallabagv2' => 'wallabag v2', + 'wallabagv2' => 'wallabag v2', 'jdh' => 'Journal du hacker', + 'Known' => 'Known based sites', ), 'short' => array( 'attention' => 'Attentie!', diff --git a/app/i18n/ru/gen.php b/app/i18n/ru/gen.php index bc42afaa8..47d2993a3 100644 --- a/app/i18n/ru/gen.php +++ b/app/i18n/ru/gen.php @@ -165,6 +165,7 @@ return array( 'twitter' => 'Twitter', 'wallabag' => 'wallabag v1', 'wallabagv2' => 'wallabag v2', + 'Known' => 'Known based sites', ), 'short' => array( 'attention' => 'Warning!', diff --git a/app/i18n/tr/gen.php b/app/i18n/tr/gen.php index bcc839daf..fa7dfc135 100644 --- a/app/i18n/tr/gen.php +++ b/app/i18n/tr/gen.php @@ -165,6 +165,7 @@ return array( 'wallabag' => 'wallabag v1', 'wallabagv2' => 'wallabag v2', 'jdh' => 'Journal du hacker', + 'Known' => 'Known based sites', ), 'short' => array( 'attention' => 'Tehlike!', diff --git a/data/shares.php b/data/shares.php index 1295a26ac..4db0d36f0 100644 --- a/data/shares.php +++ b/data/shares.php @@ -89,4 +89,10 @@ return array( 'transform' => array('rawurlencode'), 'form' => 'simple', ), + 'Known' => array( + 'url' => '~URL~/share?share_url=~LINK~&share_title=~TITLE~', + 'transform' => array('rawurlencode'), + 'help' => 'https://withknown.com/', + 'form' => 'advanced', + ), ); -- cgit v1.2.3 From 5d78a7a0344ce73ae0a60b163461efabefb2571f Mon Sep 17 00:00:00 2001 From: postblue Date: Sat, 18 Feb 2017 11:20:48 +0100 Subject: Adding locales --- app/i18n/cz/gen.php | 1 + app/i18n/de/gen.php | 1 + app/i18n/en/gen.php | 1 + app/i18n/fr/gen.php | 1 + app/i18n/it/gen.php | 1 + app/i18n/nl/gen.php | 1 + app/i18n/ru/gen.php | 1 + app/i18n/tr/gen.php | 1 + 8 files changed, 8 insertions(+) (limited to 'app/i18n/fr/gen.php') diff --git a/app/i18n/cz/gen.php b/app/i18n/cz/gen.php index b98ee0a64..e6aadfc02 100644 --- a/app/i18n/cz/gen.php +++ b/app/i18n/cz/gen.php @@ -166,6 +166,7 @@ return array( 'wallabagv2' => 'wallabag v2', 'jdh' => 'Journal du hacker', 'Known' => 'Known based sites', + 'gnusocial' => 'GNU social', ), 'short' => array( 'attention' => 'Upozornění!', diff --git a/app/i18n/de/gen.php b/app/i18n/de/gen.php index 9747ec1b8..4b171a04d 100644 --- a/app/i18n/de/gen.php +++ b/app/i18n/de/gen.php @@ -166,6 +166,7 @@ return array( 'wallabagv2' => 'wallabag v2', 'jdh' => 'Journal du hacker', 'Known' => 'Known based sites', + 'gnusocial' => 'GNU social', ), 'short' => array( 'attention' => 'Achtung!', diff --git a/app/i18n/en/gen.php b/app/i18n/en/gen.php index 2a098209f..1ee5336bd 100644 --- a/app/i18n/en/gen.php +++ b/app/i18n/en/gen.php @@ -166,6 +166,7 @@ return array( 'wallabagv2' => 'wallabag v2', 'jdh' => 'Journal du hacker', 'Known' => 'Known based sites', + 'gnusocial' => 'GNU social', ), 'short' => array( 'attention' => 'Warning!', diff --git a/app/i18n/fr/gen.php b/app/i18n/fr/gen.php index 688e6878e..43825f798 100644 --- a/app/i18n/fr/gen.php +++ b/app/i18n/fr/gen.php @@ -166,6 +166,7 @@ return array( 'wallabagv2' => 'wallabag v2', 'jdh' => 'Journal du hacker', 'Known' => 'Sites basés sur Known', + 'gnusocial' => 'GNU social', ), 'short' => array( 'attention' => 'Attention !', diff --git a/app/i18n/it/gen.php b/app/i18n/it/gen.php index bc4b82c09..ec6de84de 100644 --- a/app/i18n/it/gen.php +++ b/app/i18n/it/gen.php @@ -166,6 +166,7 @@ return array( 'wallabagv2' => 'wallabag v2', 'jdh' => 'Journal du hacker', 'Known' => 'Siti basati su Known', + 'gnusocial' => 'GNU social', ), 'short' => array( 'attention' => 'Attenzione!', diff --git a/app/i18n/nl/gen.php b/app/i18n/nl/gen.php index a5e793a2b..11e82cb4d 100644 --- a/app/i18n/nl/gen.php +++ b/app/i18n/nl/gen.php @@ -166,6 +166,7 @@ return array( 'wallabagv2' => 'wallabag v2', 'jdh' => 'Journal du hacker', 'Known' => 'Known based sites', + 'gnusocial' => 'GNU social', ), 'short' => array( 'attention' => 'Attentie!', diff --git a/app/i18n/ru/gen.php b/app/i18n/ru/gen.php index 47d2993a3..c913b8720 100644 --- a/app/i18n/ru/gen.php +++ b/app/i18n/ru/gen.php @@ -166,6 +166,7 @@ return array( 'wallabag' => 'wallabag v1', 'wallabagv2' => 'wallabag v2', 'Known' => 'Known based sites', + 'gnusocial' => 'GNU social', ), 'short' => array( 'attention' => 'Warning!', diff --git a/app/i18n/tr/gen.php b/app/i18n/tr/gen.php index fa7dfc135..4da0206ec 100644 --- a/app/i18n/tr/gen.php +++ b/app/i18n/tr/gen.php @@ -166,6 +166,7 @@ return array( 'wallabagv2' => 'wallabag v2', 'jdh' => 'Journal du hacker', 'Known' => 'Known based sites', + 'gnusocial' => 'GNU social', ), 'short' => array( 'attention' => 'Tehlike!', -- cgit v1.2.3 From f5619e66deb83bf43d1aa063b0cff5caa04104ca Mon Sep 17 00:00:00 2001 From: Seokseong Jeon Date: Thu, 8 Jun 2017 03:36:28 +0900 Subject: Working on i18n/kr --- app/i18n/cz/gen.php | 1 + app/i18n/de/gen.php | 1 + app/i18n/en/gen.php | 3 +- app/i18n/fr/gen.php | 1 + app/i18n/it/gen.php | 1 + app/i18n/kr/admin.php | 181 +++++++++++++++++++++++++++++++++++++++++++++ app/i18n/kr/conf.php | 174 ++++++++++++++++++++++++++++++++++++++++++++ app/i18n/kr/feedback.php | 109 +++++++++++++++++++++++++++ app/i18n/kr/gen.php | 186 +++++++++++++++++++++++++++++++++++++++++++++++ app/i18n/kr/index.php | 61 ++++++++++++++++ app/i18n/kr/install.php | 119 ++++++++++++++++++++++++++++++ app/i18n/kr/sub.php | 62 ++++++++++++++++ app/i18n/nl/gen.php | 1 + app/i18n/ru/gen.php | 1 + app/i18n/tr/gen.php | 1 + app/i18n/zh-cn/gen.php | 3 +- 16 files changed, 903 insertions(+), 2 deletions(-) create mode 100644 app/i18n/kr/admin.php create mode 100644 app/i18n/kr/conf.php create mode 100644 app/i18n/kr/feedback.php create mode 100644 app/i18n/kr/gen.php create mode 100644 app/i18n/kr/index.php create mode 100644 app/i18n/kr/install.php create mode 100644 app/i18n/kr/sub.php (limited to 'app/i18n/fr/gen.php') diff --git a/app/i18n/cz/gen.php b/app/i18n/cz/gen.php index e6aadfc02..0e1e25ddd 100644 --- a/app/i18n/cz/gen.php +++ b/app/i18n/cz/gen.php @@ -121,6 +121,7 @@ return array( 'nl' => 'Nederlands', 'ru' => 'Русский', 'tr' => 'Türkçe', + 'kr' => '한국어', ), 'menu' => array( 'about' => 'O aplikaci', diff --git a/app/i18n/de/gen.php b/app/i18n/de/gen.php index 4b171a04d..032ff20bf 100644 --- a/app/i18n/de/gen.php +++ b/app/i18n/de/gen.php @@ -121,6 +121,7 @@ return array( 'nl' => 'Nederlands', 'ru' => 'Русский', 'tr' => 'Türkçe', + 'kr' => '한국어', ), 'menu' => array( 'about' => 'Über', diff --git a/app/i18n/en/gen.php b/app/i18n/en/gen.php index 05281769f..d386711db 100644 --- a/app/i18n/en/gen.php +++ b/app/i18n/en/gen.php @@ -121,7 +121,8 @@ return array( 'nl' => 'Nederlands', 'ru' => 'Русский', 'tr' => 'Türkçe', - 'zh-cn' => '简体中文' + 'zh-cn' => '简体中文', + 'kr' => '한국어', ), 'menu' => array( 'about' => 'About', diff --git a/app/i18n/fr/gen.php b/app/i18n/fr/gen.php index 43825f798..52a454564 100644 --- a/app/i18n/fr/gen.php +++ b/app/i18n/fr/gen.php @@ -121,6 +121,7 @@ return array( 'nl' => 'Nederlands', 'ru' => 'Русский', 'tr' => 'Türkçe', + 'kr' => '한국어', ), 'menu' => array( 'about' => 'À propos', diff --git a/app/i18n/it/gen.php b/app/i18n/it/gen.php index ec6de84de..6169891bb 100644 --- a/app/i18n/it/gen.php +++ b/app/i18n/it/gen.php @@ -121,6 +121,7 @@ return array( 'nl' => 'Nederlands', 'ru' => 'Русский', 'tr' => 'Türkçe', + 'kr' => '한국어', ), 'menu' => array( 'about' => 'Informazioni', diff --git a/app/i18n/kr/admin.php b/app/i18n/kr/admin.php new file mode 100644 index 000000000..da207053f --- /dev/null +++ b/app/i18n/kr/admin.php @@ -0,0 +1,181 @@ + array( + 'allow_anonymous' => '누구나 기본 사용자의 글을 읽을 수 있도록 합니다(%s)', + 'allow_anonymous_refresh' => '누구나 피드를 갱신할 수 있도록 합니다', + 'api_enabled' => 'API 사용을 허가합니다(모바일 애플리케이션을 사용할 때 필요합니다)', + 'form' => '웹폼 (전통적인 방식, 자바스크립트 필요)', + 'http' => 'HTTP (HTTPS를 사용하는 고급 사용자용)', + 'none' => '사용하지 않음 (위험)', + 'title' => '인증', + 'title_reset' => 'Authentication reset', + 'token' => '인증 토큰', + 'token_help' => '기본 사용자의 RSS에 인증 없이 접근할 수 있도록 합니다:', + 'type' => '인증', + 'unsafe_autologin' => '다음과 같은 안전하지 않은 방식의 로그인을 허가합니다: ', + ), + 'check_install' => array( + 'cache' => array( + 'nok' => './data/cache 디렉토리의 권한을 확인하세요. HTTP 서버가 쓰기 권한을 가지고 있어야 합니다', + 'ok' => '캐시 디렉토리의 권한이 올바르게 설정되었습니다.', + ), + 'categories' => array( + 'nok' => 'Category table is improperly configured.', + 'ok' => 'Category table is ok.', + ), + 'connection' => array( + 'nok' => 'Connection to the database cannot be established.', + 'ok' => 'Connection to the database is ok.', + ), + 'ctype' => array( + 'nok' => 'Cannot find a required library for character type checking (php-ctype).', + 'ok' => '문자열 타입 검사에 필요한 라이브러리가 설치되어 있습니다 (ctype).', + ), + 'curl' => array( + 'nok' => 'cURL 라이브러리를 찾을 수 없습니다 (php-curl package).', + 'ok' => 'cURL 라이브러리가 설치되어 있습니다.', + ), + 'data' => array( + 'nok' => './data 디렉토리의 권한을 확인하세요. HTTP 서버가 쓰기 권한을 가지고 있어야 합니다', + 'ok' => '데이터 디렉토리의 권한이 올바르게 설정되었습니다.', + ), + 'database' => '데이터베이스 설치 요구사항', + 'dom' => array( + 'nok' => 'DOM을 다룰 수 있는 라이브러리를 찾을 수 없습니다 (php-xml package).', + 'ok' => 'DOM을 다룰 수 있는 라이브러리가 설치되어 있습니다.', + ), + 'entries' => array( + 'nok' => 'Entry table is improperly configured.', + 'ok' => 'Entry table is ok.', + ), + 'favicons' => array( + 'nok' => './data/favicons 디렉토리의 권한을 확인하세요. HTTP 서버가 쓰기 권한을 가지고 있어야 합니다', + 'ok' => 'favicon 디렉토리의 권한이 올바르게 설정되어 있습니다.', + ), + 'feeds' => array( + 'nok' => 'Feed table is improperly configured.', + 'ok' => 'Feed table is ok.', + ), + 'fileinfo' => array( + 'nok' => 'fileinfo 라이브러리를 찾을 수 없습니다 (fileinfo package).', + 'ok' => 'fileinfo 라이브러리가 설치되어 있습니다.', + ), + 'files' => '파일 시스템 설치 요구사항', + 'json' => array( + 'nok' => 'JSON 확장 기능을 찾을 수 없습니다 (php5-json package).', + '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' => 'There are one or more missing tables in the database.', + 'ok' => 'The appropriate tables exist in the database.', + ), + 'title' => '설치 요구사항 확인', + 'tokens' => array( + 'nok' => './data/tokens 디렉토리의 권한을 확인하세요. HTTP 서버가 쓰기 권한을 가지고 있어야 합니다', + 'ok' => '토큰 디렉토리의 권한이 올바르게 설정되어 있습니다', + ), + 'users' => array( + 'nok' => './data/users 디렉토리의 권한을 확인하세요. HTTP 서버가 쓰기 권한을 가지고 있어야 합니다', + 'ok' => '사용자 디렉토리의 권한이 올바르게 설정되어 있습니다.', + ), + 'zip' => array( + 'nok' => 'ZIP 확장 기능을 찾을 수 없습니다 (php-zip package).', + 'ok' => 'ZIP 확장 기능이 설치되어 있습니다.', + ), + ), + 'extensions' => array( + 'disabled' => '비활성화됨', + 'empty_list' => '설치된 확장 기능이 없습니다', + 'enabled' => '활성화됨', + 'no_configure_view' => '이 확장 기능은 설정이 없습니다.', + 'system' => array( + '_' => '시스템 확장 기능', + 'no_rights' => '시스템 확장 기능 (이 확장 기능에 대한 권한이 없습니다)', + ), + 'title' => '확장 기능', + 'user' => '사용자 확장 기능', + ), + 'stats' => array( + '_' => '통계', + 'all_feeds' => '모든 피드', + 'category' => '카테고리', + 'entry_count' => '글 개수', + 'entry_per_category' => '카테고리별 글 개수', + 'entry_per_day' => '일일 글 개수 (최근 30 일)', + 'entry_per_day_of_week' => 'Per day of week (average: %.2f messages)', + 'entry_per_hour' => 'Per hour (average: %.2f messages)', + 'entry_per_month' => 'Per month (average: %.2f messages)', + 'entry_repartition' => '글 분류', + 'feed' => '피드', + 'feed_per_category' => '카테고리별 피드 개수', + 'idle' => 'Idle feeds', + 'main' => 'Main statistics', + 'main_stream' => 'Main stream', + 'menu' => array( + 'idle' => 'Idle feeds', + 'main' => 'Main statistics', + 'repartition' => 'Articles repartition', + ), + 'no_idle' => 'There is no idle feed!', + 'number_entries' => '%d articles', + 'percent_of_total' => '전체에서의 비율 (%%)', + 'repartition' => 'Articles 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' => '암호
    (웹폼 로그인 방식 사용시)', + '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..e1139875d --- /dev/null +++ b/app/i18n/kr/conf.php @@ -0,0 +1,174 @@ + 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' => '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 favourite articles', + 'get_feed' => 'Display "%s" feed', + 'no_filter' => 'No filter', + 'none' => '아직 사용자 쿼리를 만들지 않았습니다.', + '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 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', + 'state_15' => 'Display all articles', + 'title' => 'User queries', + ), + 'profile' => array( + '_' => '프로필 관리', + 'delete' => array( + '_' => 'Account deletion', + 'warn' => 'Your account and all related data will be deleted.', + ), + 'password_api' => 'API 암호
    (예: 모바일 애플리케이션)', + 'password_form' => '암호
    (웹폼 로그인 방식 사용시)', + 'password_format' => '7 글자 이상이어야 합니다', + 'title' => '프로필', + ), + 'reading' => array( + '_' => '읽기', + 'after_onread' => '“모두 읽음으로 표시” 후,', + 'articles_per_page' => '페이지당 글 수', + 'auto_load_more' => '페이지 하단에 다다르면 글 더 불러오기', + 'auto_remove_article' => '글을 읽은 후 숨기기', + 'mark_updated_article_unread' => 'Mark updated articles as unread', + 'confirm_enabled' => '“모두 읽음으로 표시” 실행시 확인 창 표시', + 'display_articles_unfolded' => '글을 펼쳐진 상태로 보여주기', + 'display_categories_unfolded' => '카테고리를 접힌 상태로 보여주기', + 'hide_read_feeds' => '읽지 않은 글이 없는 카테고리와 피드 감추기 (“모든 글 보이기”가 설정된 경우 동작하지 않습니다)', + 'img_with_lazyload' => 'Use "lazy load" mode to load pictures', + 'sides_close_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' => '글이 게재된 웹사이트를 방문했을 때', + 'article_viewed' => '글을 읽었을 때', + 'scroll' => 'while scrolling', + 'upon_reception' => 'upon receiving the article', + 'when' => '읽음으로 표시…', + ), + 'show' => array( + '_' => 'Articles to display', + 'adaptive' => 'Adjust showing', + 'all_articles' => 'Show all articles', + 'unread' => 'Show only unread', + ), + 'sort' => array( + '_' => '정렬 순서', + 'newer_first' => '최근 글 먼저', + 'older_first' => '오래된 글 먼저', + ), + 'sticky_post' => '글이 펼쳐진 경우 최상단에 고정하기', + 'title' => '읽기', + 'view' => array( + 'default' => 'Default view', + 'global' => 'Global view', + 'normal' => 'Normal view', + 'reader' => 'Reading view', + ), + ), + 'sharing' => array( + '_' => '공유', + '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' => '공유', + 'twitter' => 'Twitter', + 'wallabag' => 'wallabag', + ), + 'shortcut' => array( + '_' => '단축키', + 'article_action' => 'Article actions', + '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" 키를 누른 상태에선 탐색 단축키가 피드에 적용됩니다.
    "Alt" 키를 누른 상태에선 탐색 단축키가 카테고리에 적용됩니다.', + 'next_article' => '다음 글 보기', + 'other_action' => 'Other actions', + 'previous_article' => '이전 글 보기', + 'see_on_website' => '글이 게재된 웹사이트에서 보기', + 'shift_for_all_read' => '+ shift를 누른 상태에선 모두 읽음으로 표시', + 'title' => '단축키', + 'user_filter' => '사용자 필터 사용하기', + 'user_filter_help' => '사용자 필터가 하나만 설정되어 있다면 해당 필터를 사용하고, 그렇지 않다면 필터를 번호로 선택할 수 있습니다.', + ), + 'user' => array( + 'articles_and_size' => '%s articles (%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..b25791024 --- /dev/null +++ b/app/i18n/kr/feedback.php @@ -0,0 +1,109 @@ + array( + 'optimization_complete' => 'Optimization complete', + ), + 'access' => array( + 'denied' => 'You don’t have permission to access this page', + 'not_found' => 'You are looking for a page which doesn’t exist', + ), + 'auth' => array( + 'form' => array( + 'not_set' => 'A problem occured during authentication system configuration. Please retry later.', + 'set' => 'Form is now your default authentication system.', + ), + 'login' => array( + 'invalid' => 'Login is invalid', + 'success' => 'You are connected', + ), + 'logout' => array( + 'success' => 'You are disconnected', + ), + 'no_password_set' => 'Administrator password hasn’t been set. This feature isn’t available.', + ), + 'conf' => array( + 'error' => 'An error occurred during configuration saving', + 'query_created' => 'Query "%s" has been created.', + 'shortcuts_updated' => 'Shortcuts have been updated', + 'updated' => '설정이 저장되었습니다', + ), + 'extensions' => array( + 'already_enabled' => '%s is already enabled', + 'disable' => array( + 'ko' => '%s cannot be disabled. Check FressRSS logs for details.', + 'ok' => '%s is now disabled', + ), + 'enable' => array( + 'ko' => '%s cannot be enabled. Check FressRSS logs for details.', + 'ok' => '%s is now enabled', + ), + 'no_access' => 'You have no access on %s', + '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.', + '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', + '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.', + ), + 'sub' => array( + '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 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!', + 'over_max' => 'You have reached your limit of categories (%d)', + 'updated' => 'Category has been updated.', + ), + 'feed' => array( + 'actualized' => '%s has been updated', + 'actualizeds' => 'RSS feeds have been updated', + 'added' => 'RSS feed %s has been added', + 'already_subscribed' => 'You have already subscribed to %s', + 'deleted' => 'Feed has been deleted', + 'error' => 'Feed cannot be updated', + 'internal_problem' => 'The RSS feed could not be added. Check FressRSS logs for details.', + 'invalid_url' => 'URL %s is invalid', + 'marked_read' => 'Feeds have been marked as read', + 'n_actualized' => '%d feeds have been updated', + 'n_entries_deleted' => '%d articles have been deleted', + 'no_refresh' => 'There is no feed to refresh…', + 'not_added' => '%s could not be added', + 'over_max' => 'You have reached your limit of feeds (%d)', + 'updated' => 'Feed has been updated', + ), + 'purge_completed' => 'Purge completed (%d articles deleted)', + ), + 'update' => array( + 'can_apply' => 'FreshRSS will now be updated to the version %s.', + 'error' => 'The update process has encountered an error: %s', + 'file_is_nok' => 'New version %s available, but check permissions on %s 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]', + ), + 'user' => array( + 'created' => array( + '_' => 'User %s has been created', + 'error' => 'User %s cannot be created', + ), + 'deleted' => array( + '_' => 'User %s has been deleted', + 'error' => 'User %s cannot be deleted', + ), + ), + 'profile' => array( + 'error' => 'Your profile cannot be modified', + 'updated' => 'Your profile has been modified', + ), +); diff --git a/app/i18n/kr/gen.php b/app/i18n/kr/gen.php new file mode 100644 index 000000000..a54a7f7f3 --- /dev/null +++ b/app/i18n/kr/gen.php @@ -0,0 +1,186 @@ + array( + 'actualize' => 'Actualize', + 'back_to_rss_feeds' => '← RSS 피드로 돌아가기', + 'cancel' => '취소', + 'create' => '생성', + 'disable' => 'Disable', + 'empty' => 'Empty', + 'enable' => 'Enable', + 'export' => '내보내기', + 'filter' => 'Filter', + 'import' => '불러오기', + 'manage' => 'Manage', + 'mark_read' => 'Mark as read', + 'mark_favorite' => 'Mark as favourite', + 'remove' => '삭제', + 'see_website' => 'See website', + 'submit' => '설정 저장', + 'truncate' => 'Delete all articles', + ), + 'auth' => array( + 'email' => 'Email address', + 'keep_logged_in' => 'Keep me logged in (%s days)', + 'login' => '로그인', + 'logout' => '로그아웃', + 'password' => array( + '_' => 'Password', + 'format' => 'At least 7 characters', + ), + 'registration' => array( + '_' => 'New account', + 'ask' => 'Create an account?', + 'title' => 'Account creation', + ), + 'reset' => 'Authentication reset', + 'username' => array( + '_' => 'Username', + 'admin' => 'Administrator username', + 'format' => 'maximum 16 alphanumeric characters', + ), + ), + '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' => '어제 이전', + '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', + 'mon' => 'Mon', + 'month' => '개월', + '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 favourites 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', + 'fr' => 'Français', + 'it' => 'Italiano', + 'nl' => 'Nederlands', + 'ru' => 'Русский', + 'tr' => 'Türkçe', + 'zh-cn' => '简体中文', + 'kr' => '한국어', + ), + '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' => 'Load more articles', + 'mark_all_read' => 'Mark all as read', + 'next' => 'Next', + 'nothing_to_load' => 'There are no more articles', + 'previous' => 'Previous', + ), + 'share' => array( + 'blogotext' => 'Blogotext', + 'diaspora' => 'Diaspora*', + 'email' => 'Email', + 'facebook' => 'Facebook', + 'g+' => 'Google+', + 'movim' => 'Movim', + 'print' => 'Print', + 'shaarli' => 'Shaarli', + 'twitter' => 'Twitter', + 'wallabag' => 'wallabag v1', + 'wallabagv2' => 'wallabag v2', + 'jdh' => 'Journal du hacker', + 'Known' => 'Known based sites', + 'gnusocial' => 'GNU social', + ), + 'short' => array( + 'attention' => 'Warning!', + 'blank_to_disable' => 'Leave blank to disable', + 'by_author' => 'By %s', + 'by_default' => '기본값', + 'damn' => 'Blast!', + 'default_category' => '분류 없음', + 'no' => 'No', + 'not_applicable' => '사용할 수 없음', + 'ok' => 'Ok!', + 'or' => 'or', + 'yes' => 'Yes', + ), +); diff --git a/app/i18n/kr/index.php b/app/i18n/kr/index.php new file mode 100644 index 000000000..622455bc0 --- /dev/null +++ b/app/i18n/kr/index.php @@ -0,0 +1,61 @@ + array( + '_' => 'About', + 'agpl3' => 'AGPL 3', + 'bugs_reports' => 'Bugs reports', + 'credits' => 'Credits', + 'credits_content' => 'Some design elements come from Bootstrap although FreshRSS doesn’t use this framework. Icons come from GNOME project. Open Sans font police has been created by Steve Matteson. FreshRSS is based on Minz, a PHP framework.', + 'freshrss_description' => 'FreshRSS is a RSS feeds aggregator to self-host like Kriss Feed or Leed. It is light and easy to take in hand while being powerful and configurable tool.', + 'github' => 'on Github', + '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( + '_' => '로그', + 'clear' => '로그 모두 지우기', + 'empty' => '로그 파일이 비어있습니다', + 'title' => '로그', + ), + 'menu' => array( + 'about' => 'About FreshRSS', + 'add_query' => 'Add a query', + 'before_one_day' => 'Before one day', + 'before_one_week' => 'Before one week', + 'favorites' => '즐겨찾기 (%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 favourites', + '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 favourites', + 'stats' => 'Statistics', + 'subscription' => '구독 관리', + 'unread' => 'Show only unread', + ), + 'share' => 'Share', + 'tag' => array( + 'related' => 'Related tags', + ), +); diff --git a/app/i18n/kr/install.php b/app/i18n/kr/install.php new file mode 100644 index 000000000..40fff37dd --- /dev/null +++ b/app/i18n/kr/install.php @@ -0,0 +1,119 @@ + array( + 'finish' => 'Complete installation', + '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( + 'form' => 'Web form (traditional, requires JavaScript)', + 'http' => 'HTTP (for advanced users with HTTPS)', + 'none' => 'None (dangerous)', + 'password_form' => 'Password
    (for the Web-form login method)', + 'password_format' => 'At least 7 characters', + 'type' => 'Authentication method', + ), + 'bdd' => array( + '_' => 'Database', + 'conf' => array( + '_' => 'Database configuration', + 'ko' => 'Verify your database information.', + 'ok' => 'Database configuration has been saved.', + ), + 'host' => 'Host', + 'prefix' => 'Table prefix', + 'password' => 'Database password', + 'type' => 'Type of database', + 'username' => 'Database username', + ), + 'check' => array( + '_' => 'Checks', + 'already_installed' => 'We have detected that FreshRSS is already installed!', + 'cache' => array( + 'nok' => 'Check permissions on ./data/cache directory. HTTP server must have rights to write into', + 'ok' => 'Permissions on cache directory are good.', + ), + 'ctype' => array( + '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' => 'Cannot find the cURL library (php-curl package).', + 'ok' => 'You have the cURL library.', + ), + 'data' => array( + 'nok' => 'Check permissions on ./data directory. HTTP server must have rights to write into', + 'ok' => 'Permissions on data directory are good.', + ), + 'dom' => array( + '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 ./data/favicons 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' => 'Cannot find the Minz framework.', + 'ok' => 'You have the Minz framework.', + ), + 'pcre' => array( + 'nok' => 'Cannot find a required library for regular expressions (php-pcre).', + 'ok' => 'You have the required library for regular expressions (PCRE).', + ), + 'pdo' => array( + '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.', + 'ok' => 'Your PHP version is %s, which is compatible with FreshRSS.', + ), + 'users' => array( + 'nok' => 'Check permissions on ./data/users 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', + 'ok' => 'General configuration has been saved.', + ), + 'congratulations' => 'Congratulations!', + 'default_user' => 'Username of the default user (maximum 16 alphanumeric characters)', + 'delete_articles_after' => 'Remove articles after', + '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', + 'defined' => 'Language has been defined.', + ), + 'not_deleted' => 'Something went wrong; you must delete the file %s manually.', + 'ok' => 'The installation process was successful.', + 'step' => 'step %d', + 'steps' => 'Steps', + 'title' => 'Installation · FreshRSS', + 'this_is_the_end' => 'This is the end', +); diff --git a/app/i18n/kr/sub.php b/app/i18n/kr/sub.php new file mode 100644 index 000000000..882d7d4ae --- /dev/null +++ b/app/i18n/kr/sub.php @@ -0,0 +1,62 @@ + array( + '_' => 'Category', + 'add' => '카테고리 추가', + 'empty' => '빈 카테고리', + 'new' => '새 카테고리', + ), + 'feed' => array( + 'add' => 'RSS 피드 추가', + 'advanced' => 'Advanced', + 'archiving' => 'Archiving', + 'auth' => array( + 'configuration' => 'Login', + 'help' => 'Allows access to HTTP protected RSS feeds', + 'http' => 'HTTP Authentication', + 'password' => 'HTTP password', + 'username' => 'HTTP username', + ), + '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 update it.', + 'in_main_stream' => 'Show in main stream', + 'informations' => 'Information', + 'keep_history' => 'Minimum number of articles to keep', + 'moved_category_deleted' => '카테고리를 삭제하면, 해당 카테고리 아래에 있던 피드들은 자동적으로 %s 아래로 분류됩니다.', + 'no_selected' => 'No feed selected.', + 'number_entries' => '%d articles', + 'stats' => 'Statistics', + 'think_to_add' => 'You may add some feeds.', + 'title' => 'Title', + 'title_add' => 'Add a RSS feed', + 'ttl' => 'Do not automatically refresh more often than', + 'url' => 'Feed URL', + 'validator' => 'Check the validity of the feed', + 'website' => 'Website URL', + 'pubsubhubbub' => 'Instant notification with PubSubHubbub', + ), + 'import_export' => array( + 'export' => '내보내기', + 'export_opml' => '피드 목록 내보내기 (OPML)', + 'export_starred' => '즐겨찾기 내보내기', + 'feed_list' => 'List of %s articles', + 'file_to_import' => '불러올 파일
    (OPML, JSON 또는 ZIP)', + 'file_to_import_no_zip' => '불러올 파일
    (OPML 또는 JSON)', + 'import' => '불러오기', + 'starred_list' => 'List of favourite articles', + 'title' => '불러오기 / 내보내기', + ), + 'menu' => array( + 'bookmark' => 'Subscribe (FreshRSS bookmark)', + 'import_export' => '불러오기 / 내보내기', + 'subscription_management' => '구독 관리', + ), + 'title' => array( + '_' => '구독 관리', + 'feed_management' => 'RSS 피드 관리', + ), +); diff --git a/app/i18n/nl/gen.php b/app/i18n/nl/gen.php index 07d444ec3..56582447f 100644 --- a/app/i18n/nl/gen.php +++ b/app/i18n/nl/gen.php @@ -121,6 +121,7 @@ return array( 'nl' => 'Nederlands', 'ru' => 'Русский', 'tr' => 'Türkçe', + 'kr' => '한국어', ), 'menu' => array( 'about' => 'Over', diff --git a/app/i18n/ru/gen.php b/app/i18n/ru/gen.php index c913b8720..7f8c77b59 100644 --- a/app/i18n/ru/gen.php +++ b/app/i18n/ru/gen.php @@ -121,6 +121,7 @@ return array( 'nl' => 'Nederlands', 'ru' => 'Русский', 'tr' => 'Türkçe', + 'kr' => '한국어', ), 'menu' => array( 'about' => 'About', diff --git a/app/i18n/tr/gen.php b/app/i18n/tr/gen.php index 4da0206ec..04fc5485f 100644 --- a/app/i18n/tr/gen.php +++ b/app/i18n/tr/gen.php @@ -121,6 +121,7 @@ return array( 'nl' => 'Nederlands', 'ru' => 'Русский', 'tr' => 'Türkçe', + 'kr' => '한국어', ), 'menu' => array( 'about' => 'Hakkında', diff --git a/app/i18n/zh-cn/gen.php b/app/i18n/zh-cn/gen.php index a4ef03bc9..8c74e67ee 100644 --- a/app/i18n/zh-cn/gen.php +++ b/app/i18n/zh-cn/gen.php @@ -121,7 +121,8 @@ return array( 'nl' => 'Nederlands', 'ru' => 'Русский', 'tr' => 'Türkçe', - 'zh-cn' => '简体中文' + 'zh-cn' => '简体中文', + 'kr' => '한국어', ), 'menu' => array( 'about' => '关于', -- cgit v1.2.3 From da1708ccf7702c83db0d3519ae1b3ecf8f01bd3a Mon Sep 17 00:00:00 2001 From: Seokseong Jeon Date: Sun, 11 Jun 2017 00:23:13 +0900 Subject: Reorder alphabetically --- app/i18n/cz/gen.php | 2 +- app/i18n/de/gen.php | 2 +- app/i18n/en/gen.php | 2 +- app/i18n/fr/gen.php | 2 +- app/i18n/it/gen.php | 2 +- app/i18n/kr/gen.php | 2 +- app/i18n/nl/gen.php | 2 +- app/i18n/ru/gen.php | 2 +- app/i18n/tr/gen.php | 2 +- app/i18n/zh-cn/gen.php | 2 +- 10 files changed, 10 insertions(+), 10 deletions(-) (limited to 'app/i18n/fr/gen.php') diff --git a/app/i18n/cz/gen.php b/app/i18n/cz/gen.php index 0e1e25ddd..475cca29c 100644 --- a/app/i18n/cz/gen.php +++ b/app/i18n/cz/gen.php @@ -118,10 +118,10 @@ return array( 'en' => 'English', 'fr' => 'Français', 'it' => 'Italiano', + 'kr' => '한국어', 'nl' => 'Nederlands', 'ru' => 'Русский', 'tr' => 'Türkçe', - 'kr' => '한국어', ), 'menu' => array( 'about' => 'O aplikaci', diff --git a/app/i18n/de/gen.php b/app/i18n/de/gen.php index 032ff20bf..ff58ea64b 100644 --- a/app/i18n/de/gen.php +++ b/app/i18n/de/gen.php @@ -118,10 +118,10 @@ return array( 'en' => 'English', 'fr' => 'Français', 'it' => 'Italiano', + 'kr' => '한국어', 'nl' => 'Nederlands', 'ru' => 'Русский', 'tr' => 'Türkçe', - 'kr' => '한국어', ), 'menu' => array( 'about' => 'Über', diff --git a/app/i18n/en/gen.php b/app/i18n/en/gen.php index d386711db..541ff394b 100644 --- a/app/i18n/en/gen.php +++ b/app/i18n/en/gen.php @@ -118,11 +118,11 @@ return array( 'en' => 'English', 'fr' => 'Français', 'it' => 'Italiano', + 'kr' => '한국어', 'nl' => 'Nederlands', 'ru' => 'Русский', 'tr' => 'Türkçe', 'zh-cn' => '简体中文', - 'kr' => '한국어', ), 'menu' => array( 'about' => 'About', diff --git a/app/i18n/fr/gen.php b/app/i18n/fr/gen.php index 52a454564..6f4099cf9 100644 --- a/app/i18n/fr/gen.php +++ b/app/i18n/fr/gen.php @@ -118,10 +118,10 @@ return array( 'en' => 'English', 'fr' => 'Français', 'it' => 'Italiano', + 'kr' => '한국어', 'nl' => 'Nederlands', 'ru' => 'Русский', 'tr' => 'Türkçe', - 'kr' => '한국어', ), 'menu' => array( 'about' => 'À propos', diff --git a/app/i18n/it/gen.php b/app/i18n/it/gen.php index 6169891bb..3e9bbbf23 100644 --- a/app/i18n/it/gen.php +++ b/app/i18n/it/gen.php @@ -118,10 +118,10 @@ return array( 'en' => 'English', 'fr' => 'Français', 'it' => 'Italiano', + 'kr' => '한국어', 'nl' => 'Nederlands', 'ru' => 'Русский', 'tr' => 'Türkçe', - 'kr' => '한국어', ), 'menu' => array( 'about' => 'Informazioni', diff --git a/app/i18n/kr/gen.php b/app/i18n/kr/gen.php index f5ff3bebd..381f81910 100644 --- a/app/i18n/kr/gen.php +++ b/app/i18n/kr/gen.php @@ -118,11 +118,11 @@ return array( 'en' => 'English', 'fr' => 'Français', 'it' => 'Italiano', + 'kr' => '한국어', 'nl' => 'Nederlands', 'ru' => 'Русский', 'tr' => 'Türkçe', 'zh-cn' => '简体中文', - 'kr' => '한국어', ), 'menu' => array( 'about' => '정보', diff --git a/app/i18n/nl/gen.php b/app/i18n/nl/gen.php index 56582447f..7547b190a 100644 --- a/app/i18n/nl/gen.php +++ b/app/i18n/nl/gen.php @@ -118,10 +118,10 @@ return array( 'en' => 'English', 'fr' => 'Français', 'it' => 'Italiano', + 'kr' => '한국어', 'nl' => 'Nederlands', 'ru' => 'Русский', 'tr' => 'Türkçe', - 'kr' => '한국어', ), 'menu' => array( 'about' => 'Over', diff --git a/app/i18n/ru/gen.php b/app/i18n/ru/gen.php index 7f8c77b59..2723b3340 100644 --- a/app/i18n/ru/gen.php +++ b/app/i18n/ru/gen.php @@ -118,10 +118,10 @@ return array( 'en' => 'English', 'fr' => 'Français', 'it' => 'Italiano', + 'kr' => '한국어', 'nl' => 'Nederlands', 'ru' => 'Русский', 'tr' => 'Türkçe', - 'kr' => '한국어', ), 'menu' => array( 'about' => 'About', diff --git a/app/i18n/tr/gen.php b/app/i18n/tr/gen.php index 04fc5485f..d4a3245b1 100644 --- a/app/i18n/tr/gen.php +++ b/app/i18n/tr/gen.php @@ -118,10 +118,10 @@ return array( 'en' => 'English', 'fr' => 'Français', 'it' => 'Italiano', + 'kr' => '한국어', 'nl' => 'Nederlands', 'ru' => 'Русский', 'tr' => 'Türkçe', - 'kr' => '한국어', ), 'menu' => array( 'about' => 'Hakkında', diff --git a/app/i18n/zh-cn/gen.php b/app/i18n/zh-cn/gen.php index 8c74e67ee..a74afa226 100644 --- a/app/i18n/zh-cn/gen.php +++ b/app/i18n/zh-cn/gen.php @@ -118,11 +118,11 @@ return array( 'en' => 'English1', 'fr' => 'Français', 'it' => 'Italiano1', + 'kr' => '한국어', 'nl' => 'Nederlands', 'ru' => 'Русский', 'tr' => 'Türkçe', 'zh-cn' => '简体中文', - 'kr' => '한국어', ), 'menu' => array( 'about' => '关于', -- cgit v1.2.3 From 4f74193b4a020c1ba9e329ff5d9a6841062a498b Mon Sep 17 00:00:00 2001 From: Alexandre Alapetite Date: Sun, 20 Aug 2017 11:02:00 +0200 Subject: May abbreviation https://github.com/FreshRSS/FreshRSS/issues/1560 --- app/Models/StatsDAO.php | 2 +- app/i18n/cz/gen.php | 3 ++- app/i18n/de/gen.php | 1 + app/i18n/en/gen.php | 1 + app/i18n/fr/gen.php | 3 ++- app/i18n/it/gen.php | 43 ++++++++++++++++++++++--------------------- app/i18n/kr/gen.php | 1 + app/i18n/nl/gen.php | 1 + app/i18n/ru/gen.php | 1 + app/i18n/tr/gen.php | 3 ++- app/i18n/zh-cn/gen.php | 1 + 11 files changed, 35 insertions(+), 25 deletions(-) (limited to 'app/i18n/fr/gen.php') diff --git a/app/Models/StatsDAO.php b/app/Models/StatsDAO.php index 2ce4f2944..da57b7c03 100644 --- a/app/Models/StatsDAO.php +++ b/app/Models/StatsDAO.php @@ -364,7 +364,7 @@ SQL; 'feb', 'mar', 'apr', - 'may', + 'may.', 'jun', 'jul', 'aug', diff --git a/app/i18n/cz/gen.php b/app/i18n/cz/gen.php index 475cca29c..517a92198 100644 --- a/app/i18n/cz/gen.php +++ b/app/i18n/cz/gen.php @@ -79,7 +79,8 @@ return array( 'last_year' => 'Minulý rok', 'mar' => 'bře', 'march' => 'Bře', - 'may' => 'Kvě', + 'may.' => 'Kvě', + 'may' => 'Květen', 'mon' => 'Po', 'month' => 'měsíce', 'nov' => 'lis', diff --git a/app/i18n/de/gen.php b/app/i18n/de/gen.php index ff58ea64b..8fd73cac3 100644 --- a/app/i18n/de/gen.php +++ b/app/i18n/de/gen.php @@ -79,6 +79,7 @@ return array( 'last_year' => 'Letztes Jahr', 'mar' => 'Mär', 'march' => 'März', + 'may.' => 'Mai', 'may' => 'Mai', 'mon' => 'Mo', 'month' => 'Monat(en)', diff --git a/app/i18n/en/gen.php b/app/i18n/en/gen.php index 541ff394b..226403ab9 100644 --- a/app/i18n/en/gen.php +++ b/app/i18n/en/gen.php @@ -79,6 +79,7 @@ return array( 'last_year' => 'Last year', 'mar' => 'mar', 'march' => 'Mar', + 'may.' => 'May', 'may' => 'May', 'mon' => 'Mon', 'month' => 'months', diff --git a/app/i18n/fr/gen.php b/app/i18n/fr/gen.php index 6f4099cf9..a22ffff38 100644 --- a/app/i18n/fr/gen.php +++ b/app/i18n/fr/gen.php @@ -79,7 +79,8 @@ return array( 'last_year' => 'Depuis l’année dernière', 'mar' => 'mar.', 'march' => 'mars', - 'may' => 'mai.', + 'may.' => 'mai.', + 'may' => 'mai', 'mon' => 'lun.', 'month' => 'mois', 'nov' => 'nov.', diff --git a/app/i18n/it/gen.php b/app/i18n/it/gen.php index 3e9bbbf23..c748af85d 100644 --- a/app/i18n/it/gen.php +++ b/app/i18n/it/gen.php @@ -54,41 +54,42 @@ return array( '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' => 'Apr', - 'aug' => 'aug', - 'august' => 'Aug', + 'apr' => 'apr.', + 'april' => 'aprile', + 'aug' => 'ag.', + 'august' => 'agosto', 'before_yesterday' => 'Meno recenti', - 'dec' => 'dec', - 'december' => 'Dec', - 'feb' => 'feb', - 'february' => 'Feb', + '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' => 'jan', - 'january' => 'Jan', + 'jan' => 'genn.', + 'january' => 'gennaio', 'jul' => 'jul', - 'july' => 'Jul', + 'july' => 'luglio', 'jun' => 'jun', - 'june' => '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' => 'Mar', - 'may' => 'May', + 'mar' => 'mar.', + 'march' => 'marzo', + 'may.' => 'May', + 'may' => 'maggio', 'mon' => 'Mon', 'month' => 'mesi', - 'nov' => 'nov', - 'november' => 'Nov', - 'oct' => 'oct', - 'october' => 'Oct', + 'nov' => 'nov.', + 'november' => 'novembre', + 'oct' => 'ott.', + 'october' => 'ottobre', 'sat' => 'Sat', - 'sep' => 'sep', - 'september' => 'Sep', + 'sep' => 'sett.', + 'september' => 'settembre', 'sun' => 'Sun', 'thu' => 'Thu', 'today' => 'Oggi', diff --git a/app/i18n/kr/gen.php b/app/i18n/kr/gen.php index 381f81910..92bea7d46 100644 --- a/app/i18n/kr/gen.php +++ b/app/i18n/kr/gen.php @@ -79,6 +79,7 @@ return array( 'last_year' => '최근 일 년', 'mar' => '3월', 'march' => '3월', + 'may.' => '5월', 'may' => '5월', 'mon' => '월', 'month' => '개월', diff --git a/app/i18n/nl/gen.php b/app/i18n/nl/gen.php index 7547b190a..13bae36ba 100644 --- a/app/i18n/nl/gen.php +++ b/app/i18n/nl/gen.php @@ -79,6 +79,7 @@ return array( 'last_year' => 'Vorig jaar', 'mar' => 'mar', 'march' => 'Mar', + 'may.' => 'Mei', 'may' => 'Mei', 'mon' => 'Ma', 'month' => 'maanden', diff --git a/app/i18n/ru/gen.php b/app/i18n/ru/gen.php index 2723b3340..1e14c52c1 100644 --- a/app/i18n/ru/gen.php +++ b/app/i18n/ru/gen.php @@ -79,6 +79,7 @@ return array( 'last_year' => 'Last year', 'mar' => 'mar', 'march' => 'Mar', + 'may.' => 'May', 'may' => 'May', 'mon' => 'Mon', 'month' => 'months', diff --git a/app/i18n/tr/gen.php b/app/i18n/tr/gen.php index d4a3245b1..09c0b646f 100644 --- a/app/i18n/tr/gen.php +++ b/app/i18n/tr/gen.php @@ -79,7 +79,8 @@ return array( 'last_year' => 'Geçen yıl', 'mar' => 'mar', 'march' => 'Mar', - 'may' => 'May', + 'may.' => 'May', + 'may' => 'Mayıs', 'mon' => 'Pzt', 'month' => 'ay', 'nov' => 'kas', diff --git a/app/i18n/zh-cn/gen.php b/app/i18n/zh-cn/gen.php index a74afa226..c7d3ff10a 100644 --- a/app/i18n/zh-cn/gen.php +++ b/app/i18n/zh-cn/gen.php @@ -79,6 +79,7 @@ return array( 'last_year' => '去年', 'mar' => '三月', 'march' => '三月', + 'may.' => '五月', 'may' => '五月', 'mon' => '周一', 'month' => '个月', -- cgit v1.2.3 From 07cce02ad3f116095ad152423d63e4e4d43b9142 Mon Sep 17 00:00:00 2001 From: Alexandre Alapetite Date: Sun, 20 Aug 2017 11:10:22 +0200 Subject: May abbreviation conflict --- app/Models/StatsDAO.php | 2 +- app/i18n/cz/gen.php | 2 +- app/i18n/de/gen.php | 2 +- app/i18n/en/gen.php | 2 +- app/i18n/fr/gen.php | 4 ++-- app/i18n/it/gen.php | 2 +- app/i18n/kr/gen.php | 2 +- app/i18n/nl/gen.php | 2 +- app/i18n/ru/gen.php | 2 +- app/i18n/tr/gen.php | 2 +- app/i18n/zh-cn/gen.php | 2 +- 11 files changed, 12 insertions(+), 12 deletions(-) (limited to 'app/i18n/fr/gen.php') diff --git a/app/Models/StatsDAO.php b/app/Models/StatsDAO.php index da57b7c03..67ada73f7 100644 --- a/app/Models/StatsDAO.php +++ b/app/Models/StatsDAO.php @@ -364,7 +364,7 @@ SQL; 'feb', 'mar', 'apr', - 'may.', + 'may_', 'jun', 'jul', 'aug', diff --git a/app/i18n/cz/gen.php b/app/i18n/cz/gen.php index 517a92198..f891f3f1d 100644 --- a/app/i18n/cz/gen.php +++ b/app/i18n/cz/gen.php @@ -79,7 +79,7 @@ return array( 'last_year' => 'Minulý rok', 'mar' => 'bře', 'march' => 'Bře', - 'may.' => 'Kvě', + 'may_' => 'Kvě', 'may' => 'Květen', 'mon' => 'Po', 'month' => 'měsíce', diff --git a/app/i18n/de/gen.php b/app/i18n/de/gen.php index 8fd73cac3..dccf38383 100644 --- a/app/i18n/de/gen.php +++ b/app/i18n/de/gen.php @@ -79,7 +79,7 @@ return array( 'last_year' => 'Letztes Jahr', 'mar' => 'Mär', 'march' => 'März', - 'may.' => 'Mai', + 'may_' => 'Mai', 'may' => 'Mai', 'mon' => 'Mo', 'month' => 'Monat(en)', diff --git a/app/i18n/en/gen.php b/app/i18n/en/gen.php index 226403ab9..d8421b16d 100644 --- a/app/i18n/en/gen.php +++ b/app/i18n/en/gen.php @@ -79,7 +79,7 @@ return array( 'last_year' => 'Last year', 'mar' => 'mar', 'march' => 'Mar', - 'may.' => 'May', + 'may_' => 'May', 'may' => 'May', 'mon' => 'Mon', 'month' => 'months', diff --git a/app/i18n/fr/gen.php b/app/i18n/fr/gen.php index a22ffff38..705cbd4ea 100644 --- a/app/i18n/fr/gen.php +++ b/app/i18n/fr/gen.php @@ -77,9 +77,9 @@ 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', diff --git a/app/i18n/it/gen.php b/app/i18n/it/gen.php index c748af85d..e7403b603 100644 --- a/app/i18n/it/gen.php +++ b/app/i18n/it/gen.php @@ -79,7 +79,7 @@ return array( 'last_year' => 'Ultimo anno', 'mar' => 'mar.', 'march' => 'marzo', - 'may.' => 'May', + 'may_' => 'May', 'may' => 'maggio', 'mon' => 'Mon', 'month' => 'mesi', diff --git a/app/i18n/kr/gen.php b/app/i18n/kr/gen.php index 92bea7d46..0c19b5871 100644 --- a/app/i18n/kr/gen.php +++ b/app/i18n/kr/gen.php @@ -79,7 +79,7 @@ return array( 'last_year' => '최근 일 년', 'mar' => '3월', 'march' => '3월', - 'may.' => '5월', + 'may_' => '5월', 'may' => '5월', 'mon' => '월', 'month' => '개월', diff --git a/app/i18n/nl/gen.php b/app/i18n/nl/gen.php index 13bae36ba..921a782d9 100644 --- a/app/i18n/nl/gen.php +++ b/app/i18n/nl/gen.php @@ -79,7 +79,7 @@ return array( 'last_year' => 'Vorig jaar', 'mar' => 'mar', 'march' => 'Mar', - 'may.' => 'Mei', + 'may_' => 'Mei', 'may' => 'Mei', 'mon' => 'Ma', 'month' => 'maanden', diff --git a/app/i18n/ru/gen.php b/app/i18n/ru/gen.php index 1e14c52c1..2518e0d0e 100644 --- a/app/i18n/ru/gen.php +++ b/app/i18n/ru/gen.php @@ -79,7 +79,7 @@ return array( 'last_year' => 'Last year', 'mar' => 'mar', 'march' => 'Mar', - 'may.' => 'May', + 'may_' => 'May', 'may' => 'May', 'mon' => 'Mon', 'month' => 'months', diff --git a/app/i18n/tr/gen.php b/app/i18n/tr/gen.php index 09c0b646f..a6dda7478 100644 --- a/app/i18n/tr/gen.php +++ b/app/i18n/tr/gen.php @@ -79,7 +79,7 @@ return array( 'last_year' => 'Geçen yıl', 'mar' => 'mar', 'march' => 'Mar', - 'may.' => 'May', + 'may_' => 'May', 'may' => 'Mayıs', 'mon' => 'Pzt', 'month' => 'ay', diff --git a/app/i18n/zh-cn/gen.php b/app/i18n/zh-cn/gen.php index c7d3ff10a..936f7d6ee 100644 --- a/app/i18n/zh-cn/gen.php +++ b/app/i18n/zh-cn/gen.php @@ -79,7 +79,7 @@ return array( 'last_year' => '去年', 'mar' => '三月', 'march' => '三月', - 'may.' => '五月', + 'may_' => '五月', 'may' => '五月', 'mon' => '周一', 'month' => '个月', -- cgit v1.2.3 From 3fa63217cdf339b894c29ffe7f9af8c477c724fb Mon Sep 17 00:00:00 2001 From: Alexandre Alapetite Date: Fri, 22 Sep 2017 16:21:37 +0200 Subject: Quick fix i18n es and zh (#1636) https://github.com/FreshRSS/FreshRSS/pull/1631 --- app/i18n/cz/gen.php | 2 ++ app/i18n/de/gen.php | 2 ++ app/i18n/en/gen.php | 1 + app/i18n/es/gen.php | 30 ++++++++++++++++-------------- app/i18n/fr/gen.php | 2 ++ app/i18n/it/gen.php | 2 ++ app/i18n/kr/gen.php | 1 + app/i18n/nl/gen.php | 2 ++ app/i18n/ru/gen.php | 2 ++ app/i18n/tr/gen.php | 2 ++ app/i18n/zh-cn/gen.php | 5 +++-- 11 files changed, 35 insertions(+), 16 deletions(-) (limited to 'app/i18n/fr/gen.php') diff --git a/app/i18n/cz/gen.php b/app/i18n/cz/gen.php index 405c05de9..f243745d0 100644 --- a/app/i18n/cz/gen.php +++ b/app/i18n/cz/gen.php @@ -117,12 +117,14 @@ return array( 'cz' => 'Čeština', 'de' => 'Deutsch', 'en' => 'English', + 'es' => 'Español', 'fr' => 'Français', 'it' => 'Italiano', 'kr' => '한국어', 'nl' => 'Nederlands', 'ru' => 'Русский', 'tr' => 'Türkçe', + 'zh-cn' => '简体中文', ), 'menu' => array( 'about' => 'O aplikaci', diff --git a/app/i18n/de/gen.php b/app/i18n/de/gen.php index dccf38383..c6b659f27 100644 --- a/app/i18n/de/gen.php +++ b/app/i18n/de/gen.php @@ -117,12 +117,14 @@ return array( 'cz' => 'Čeština', 'de' => 'Deutsch', 'en' => 'English', + 'es' => 'Español', 'fr' => 'Français', 'it' => 'Italiano', 'kr' => '한국어', 'nl' => 'Nederlands', 'ru' => 'Русский', 'tr' => 'Türkçe', + 'zh-cn' => '简体中文', ), 'menu' => array( 'about' => 'Über', diff --git a/app/i18n/en/gen.php b/app/i18n/en/gen.php index 0173b832f..29acfaf3c 100644 --- a/app/i18n/en/gen.php +++ b/app/i18n/en/gen.php @@ -117,6 +117,7 @@ return array( 'cz' => 'Čeština', 'de' => 'Deutsch', 'en' => 'English', + 'es' => 'Español', 'fr' => 'Français', 'it' => 'Italiano', 'kr' => '한국어', diff --git a/app/i18n/es/gen.php b/app/i18n/es/gen.php index 41c591e1c..e2ce7e8a1 100755 --- a/app/i18n/es/gen.php +++ b/app/i18n/es/gen.php @@ -55,40 +55,41 @@ return array( 'Oct' => '\\O\\c\\t\\u\\b\\r\\e', 'Sep' => '\\S\\e\\p\\t\\i\\e\\m\\b\\r\\e', 'apr' => 'abr', - 'april' => 'Abr', + 'april' => 'abril', 'aug' => 'ago', - 'august' => 'Ago', + 'august' => 'agosto', 'before_yesterday' => 'Anteayer', 'dec' => 'dic', - 'december' => 'Dic', + 'december' => 'diciembre', 'feb' => 'feb', - 'february' => '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', + 'january' => 'ene', 'jul' => 'jul', - 'july' => 'Jul', + 'july' => 'julio', 'jun' => 'jun', - 'june' => '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' => 'Mar', - 'may' => 'May', + 'march' => 'marzo', + 'may_' => 'may', + 'may' => 'mayo', 'mon' => 'Lun', 'month' => 'meses', 'nov' => 'nov', - 'november' => 'Nov', + 'november' => 'noviembre', 'oct' => 'oct', - 'october' => 'Oct', + 'october' => 'octubre', 'sat' => 'Sab', 'sep' => 'sep', - 'september' => 'Sep', + 'september' => 'septiembre', 'sun' => 'Dom', 'thu' => 'Jue', 'today' => 'Hoy', @@ -116,13 +117,14 @@ return array( 'cz' => 'Čeština', 'de' => 'Deutsch', 'en' => 'English', + 'es' => 'Español', 'fr' => 'Français', 'it' => 'Italiano', + 'kr' => '한국어', 'nl' => 'Nederlands', 'ru' => 'Русский', 'tr' => 'Türkçe', - 'zh-cn' => '简体中文' - 'es' => 'Español' + 'zh-cn' => '简体中文', ), 'menu' => array( 'about' => 'Acerca de', diff --git a/app/i18n/fr/gen.php b/app/i18n/fr/gen.php index 705cbd4ea..759ceb16b 100644 --- a/app/i18n/fr/gen.php +++ b/app/i18n/fr/gen.php @@ -117,12 +117,14 @@ return array( 'cz' => 'Čeština', 'de' => 'Deutsch', 'en' => 'English', + 'es' => 'Español', 'fr' => 'Français', 'it' => 'Italiano', 'kr' => '한국어', 'nl' => 'Nederlands', 'ru' => 'Русский', 'tr' => 'Türkçe', + 'zh-cn' => '简体中文', ), 'menu' => array( 'about' => 'À propos', diff --git a/app/i18n/it/gen.php b/app/i18n/it/gen.php index e7403b603..d795a5e08 100644 --- a/app/i18n/it/gen.php +++ b/app/i18n/it/gen.php @@ -117,12 +117,14 @@ return array( 'cz' => 'Čeština', 'de' => 'Deutsch', 'en' => 'English', + 'es' => 'Español', 'fr' => 'Français', 'it' => 'Italiano', 'kr' => '한국어', 'nl' => 'Nederlands', 'ru' => 'Русский', 'tr' => 'Türkçe', + 'zh-cn' => '简体中文', ), 'menu' => array( 'about' => 'Informazioni', diff --git a/app/i18n/kr/gen.php b/app/i18n/kr/gen.php index 0c19b5871..161b80894 100644 --- a/app/i18n/kr/gen.php +++ b/app/i18n/kr/gen.php @@ -117,6 +117,7 @@ return array( 'cz' => 'Čeština', 'de' => 'Deutsch', 'en' => 'English', + 'es' => 'Español', 'fr' => 'Français', 'it' => 'Italiano', 'kr' => '한국어', diff --git a/app/i18n/nl/gen.php b/app/i18n/nl/gen.php index 2a1d40e7e..df62620a0 100644 --- a/app/i18n/nl/gen.php +++ b/app/i18n/nl/gen.php @@ -117,12 +117,14 @@ return array( 'cz' => 'Čeština', 'de' => 'Deutsch', 'en' => 'English', + 'es' => 'Español', 'fr' => 'Français', 'it' => 'Italiano', 'kr' => '한국어', 'nl' => 'Nederlands', 'ru' => 'Русский', 'tr' => 'Türkçe', + 'zh-cn' => '简体中文', ), 'menu' => array( 'about' => 'Over', diff --git a/app/i18n/ru/gen.php b/app/i18n/ru/gen.php index 2518e0d0e..b67da4861 100644 --- a/app/i18n/ru/gen.php +++ b/app/i18n/ru/gen.php @@ -117,12 +117,14 @@ return array( 'cz' => 'Čeština', 'de' => 'Deutsch', 'en' => 'English', + 'es' => 'Español', 'fr' => 'Français', 'it' => 'Italiano', 'kr' => '한국어', 'nl' => 'Nederlands', 'ru' => 'Русский', 'tr' => 'Türkçe', + 'zh-cn' => '简体中文', ), 'menu' => array( 'about' => 'About', diff --git a/app/i18n/tr/gen.php b/app/i18n/tr/gen.php index a6dda7478..ad0c72f9f 100644 --- a/app/i18n/tr/gen.php +++ b/app/i18n/tr/gen.php @@ -117,12 +117,14 @@ return array( 'cz' => 'Čeština', 'de' => 'Deutsch', 'en' => 'English', + 'es' => 'Español', 'fr' => 'Français', 'it' => 'Italiano', 'kr' => '한국어', 'nl' => 'Nederlands', 'ru' => 'Русский', 'tr' => 'Türkçe', + 'zh-cn' => '简体中文', ), 'menu' => array( 'about' => 'Hakkında', diff --git a/app/i18n/zh-cn/gen.php b/app/i18n/zh-cn/gen.php index 936f7d6ee..1cfc4ddff 100644 --- a/app/i18n/zh-cn/gen.php +++ b/app/i18n/zh-cn/gen.php @@ -116,9 +116,10 @@ return array( 'lang' => array( 'cz' => 'Čeština', 'de' => 'Deutsch', - 'en' => 'English1', + 'en' => 'English', + 'es' => 'Español', 'fr' => 'Français', - 'it' => 'Italiano1', + 'it' => 'Italiano', 'kr' => '한국어', 'nl' => 'Nederlands', 'ru' => 'Русский', -- cgit v1.2.3 From ac3c24dd83cd60bea50008ecf990900433c729ca Mon Sep 17 00:00:00 2001 From: David souza Date: Sat, 30 Sep 2017 04:26:09 -0300 Subject: Language portugue (#1648) * Create folder pt-br to translate to portuguese-brazil; Translate file admin.php; Trnaslate file index.php; * Translate the files: - conf.php - feedback.php - gen.php * Translate sub.php e install.php; add pt-br in file gen.php inside another languages * fix bug * Configure display date * Add pt-br to es, kr, zh, and fix whitespace https://github.com/FreshRSS/FreshRSS/pull/1648 * Changelog 1648 https://github.com/FreshRSS/FreshRSS/pull/1648 * Fix whitespace (caught by Travis) --- CHANGELOG.md | 1 + CREDITS.md | 3 +- app/i18n/cz/gen.php | 1 + app/i18n/de/gen.php | 1 + app/i18n/en/gen.php | 1 + app/i18n/es/gen.php | 1 + app/i18n/fr/gen.php | 1 + app/i18n/it/gen.php | 1 + app/i18n/kr/gen.php | 1 + app/i18n/nl/gen.php | 1 + app/i18n/pt-br/admin.php | 181 ++++++++++++++++++++++++++++++++++++++++++ app/i18n/pt-br/conf.php | 174 +++++++++++++++++++++++++++++++++++++++++ app/i18n/pt-br/feedback.php | 109 ++++++++++++++++++++++++++ app/i18n/pt-br/gen.php | 186 ++++++++++++++++++++++++++++++++++++++++++++ app/i18n/pt-br/index.php | 61 +++++++++++++++ app/i18n/pt-br/install.php | 119 ++++++++++++++++++++++++++++ app/i18n/pt-br/sub.php | 62 +++++++++++++++ app/i18n/ru/gen.php | 1 + app/i18n/tr/gen.php | 1 + app/i18n/zh-cn/gen.php | 1 + 20 files changed, 906 insertions(+), 1 deletion(-) create mode 100644 app/i18n/pt-br/admin.php create mode 100644 app/i18n/pt-br/conf.php create mode 100644 app/i18n/pt-br/feedback.php create mode 100644 app/i18n/pt-br/gen.php create mode 100644 app/i18n/pt-br/index.php create mode 100644 app/i18n/pt-br/install.php create mode 100644 app/i18n/pt-br/sub.php (limited to 'app/i18n/fr/gen.php') diff --git a/CHANGELOG.md b/CHANGELOG.md index 6f126373c..804631b7f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ * New command `./cli/update-user` to update user settings [#1600](https://github.com/FreshRSS/FreshRSS/issues/1600) * I18n * Korean [#1578](https://github.com/FreshRSS/FreshRSS/pull/1578) + * Portuguese (Brazilian) [#1648](https://github.com/FreshRSS/FreshRSS/pull/1648) * Fix month abbreviations [#1560](https://github.com/FreshRSS/FreshRSS/issues/1560) * Bug fixing * Fix API compatibility bug between PostgreSQL and EasyRSS [#1603](https://github.com/FreshRSS/FreshRSS/pull/1603) diff --git a/CREDITS.md b/CREDITS.md index 17fc490ab..cbbef73d6 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -16,6 +16,7 @@ People are sorted by name so please keep this order. * [Crupuk](https://github.com/Crupuk): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:Crupuk) * [Damstre](https://github.com/Damstre): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:Damstre) * [danc](https://github.com/danc): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=danc), [Web](http://tintouli.free.fr/) +* [David Souza](https://github.com/araujo0205): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:araujo0205), [Web](http://davidsouza.tech/) * [dswd](https://github.com/dswd): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:dswd) * [ealdraed](https://github.com/ealdraed): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=ealdraed) * [Frans de Jonge](https://github.com/Frenzie): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=Frenzie), [Web](http://fransdejonge.com/) @@ -34,6 +35,7 @@ People are sorted by name so please keep this order. * [Marcus Rohrmoser](https://github.com/mro): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=mro), [Web](http://mro.name/~me) * [Marien Fressinaud](https://github.com/marienfressinaud): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=marienfressinaud), [Web](https://marienfressinaud.fr/) * [Melvyn Laïly](https://github.com/yaurthek): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=yaurthek), [Web](http://x2a.yt/) +* [MSZ](https://github.com/mszkb): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=mszkb) * [Nicolas Elie](https://github.com/nicolaselie): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=nicolaselie) * [Nicolas Lœuillet](https://github.com/nicosomb): [contributions](https://github.com/FreshRSS/documentation/commits?author=nicosomb), [Web](http://www.loeuillet.org/) * [plopoyop](https://github.com/plopoyop): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=plopoyop) @@ -47,4 +49,3 @@ People are sorted by name so please keep this order. * [Thomas Citharel](https://github.com/tcitworld): [contributions](https://github.com/FreshRSS/FreshRSS/pulls?q=is:pr+author:tomgue), [Web](https://www.tcit.fr/) * [tomgue](https://github.com/tomgue): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=tomgue) * [Wanabo](https://github.com/Wanabo): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=Wanabo) -* [mszkb](https://github.com/mszkb): [contributions](https://github.com/FreshRSS/FreshRSS/commits?author=mszkb) diff --git a/app/i18n/cz/gen.php b/app/i18n/cz/gen.php index f243745d0..a9c7dc875 100644 --- a/app/i18n/cz/gen.php +++ b/app/i18n/cz/gen.php @@ -122,6 +122,7 @@ return array( 'it' => 'Italiano', 'kr' => '한국어', 'nl' => 'Nederlands', + 'pt-br' => 'Português (Brasil)', 'ru' => 'Русский', 'tr' => 'Türkçe', 'zh-cn' => '简体中文', diff --git a/app/i18n/de/gen.php b/app/i18n/de/gen.php index c6b659f27..43d0a2c05 100644 --- a/app/i18n/de/gen.php +++ b/app/i18n/de/gen.php @@ -122,6 +122,7 @@ return array( 'it' => 'Italiano', 'kr' => '한국어', 'nl' => 'Nederlands', + 'pt-br' => 'Português (Brasil)', 'ru' => 'Русский', 'tr' => 'Türkçe', 'zh-cn' => '简体中文', diff --git a/app/i18n/en/gen.php b/app/i18n/en/gen.php index 29acfaf3c..095eb17d3 100644 --- a/app/i18n/en/gen.php +++ b/app/i18n/en/gen.php @@ -122,6 +122,7 @@ return array( 'it' => 'Italiano', 'kr' => '한국어', 'nl' => 'Nederlands', + 'pt-br' => 'Português (Brasil)', 'ru' => 'Русский', 'tr' => 'Türkçe', 'zh-cn' => '简体中文', diff --git a/app/i18n/es/gen.php b/app/i18n/es/gen.php index e2ce7e8a1..68fdaf429 100755 --- a/app/i18n/es/gen.php +++ b/app/i18n/es/gen.php @@ -122,6 +122,7 @@ return array( 'it' => 'Italiano', 'kr' => '한국어', 'nl' => 'Nederlands', + 'pt-br' => 'Português (Brasil)', 'ru' => 'Русский', 'tr' => 'Türkçe', 'zh-cn' => '简体中文', diff --git a/app/i18n/fr/gen.php b/app/i18n/fr/gen.php index 759ceb16b..16935c3c4 100644 --- a/app/i18n/fr/gen.php +++ b/app/i18n/fr/gen.php @@ -122,6 +122,7 @@ return array( 'it' => 'Italiano', 'kr' => '한국어', 'nl' => 'Nederlands', + 'pt-br' => 'Português (Brasil)', 'ru' => 'Русский', 'tr' => 'Türkçe', 'zh-cn' => '简体中文', diff --git a/app/i18n/it/gen.php b/app/i18n/it/gen.php index d795a5e08..ae39d7324 100644 --- a/app/i18n/it/gen.php +++ b/app/i18n/it/gen.php @@ -122,6 +122,7 @@ return array( 'it' => 'Italiano', 'kr' => '한국어', 'nl' => 'Nederlands', + 'pt-br' => 'Português (Brasil)', 'ru' => 'Русский', 'tr' => 'Türkçe', 'zh-cn' => '简体中文', diff --git a/app/i18n/kr/gen.php b/app/i18n/kr/gen.php index 161b80894..35d5e8143 100644 --- a/app/i18n/kr/gen.php +++ b/app/i18n/kr/gen.php @@ -122,6 +122,7 @@ return array( 'it' => 'Italiano', 'kr' => '한국어', 'nl' => 'Nederlands', + 'pt-br' => 'Português (Brasil)', 'ru' => 'Русский', 'tr' => 'Türkçe', 'zh-cn' => '简体中文', diff --git a/app/i18n/nl/gen.php b/app/i18n/nl/gen.php index df62620a0..1617936ab 100644 --- a/app/i18n/nl/gen.php +++ b/app/i18n/nl/gen.php @@ -122,6 +122,7 @@ return array( 'it' => 'Italiano', 'kr' => '한국어', 'nl' => 'Nederlands', + 'pt-br' => 'Português (Brasil)', 'ru' => 'Русский', 'tr' => 'Türkçe', 'zh-cn' => '简体中文', diff --git a/app/i18n/pt-br/admin.php b/app/i18n/pt-br/admin.php new file mode 100644 index 000000000..1076534b2 --- /dev/null +++ b/app/i18n/pt-br/admin.php @@ -0,0 +1,181 @@ + 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 à API (Necessáiro para aplicativos móveis)', + '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 ./data/cache. 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 ./data. 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 ./data/favicons. 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 ./data/tokens. 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 ./data/users. 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', + ), + '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
    (para o login pelo método do formulário)', + '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 @@ + 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
    (p.s., para aplicativos móveis)', + 'password_form' => 'Senha
    (para o método de formulário web)', + '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.
    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' => '+ shift 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 @@ + 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. verifique os logs do FressRSS para detalhes.', + 'ok' => '%s agora está desabilitado', + ), + 'enable' => array( + 'ko' => '%s não pode ser habilitado. verifique os logs do FressRSS 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' => '%s foi atualizado', + 'actualizeds' => 'RSS feeds foi atualizado', + 'added' => 'RSS feed %s foi adicionado', + 'already_subscribed' => 'Você já está inscrito no %s', + 'deleted' => 'o Feed foi deletado', + 'error' => 'O feed não pode ser atualizado', + 'internal_problem' => 'O RSS feed não pôde ser adicionado. Verifique os FressRSS logs para detalhes.', + 'invalid_url' => 'URL %s é 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' => '%s 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 versão %s.', + 'error' => 'O processo de atualização encontrou um erro: %s', + 'file_is_nok' => 'Nova versão %s disponível, mas verifique as permissões no diretório %s. 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..18562deeb --- /dev/null +++ b/app/i18n/pt-br/gen.php @@ -0,0 +1,186 @@ + 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_read' => 'Marcar como lido', + 'mark_favorite' => 'Marcar como favorito', + '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 (%s days)', + 'login' => 'Login', + 'logout' => 'Logout', + 'password' => array( + '_' => 'Senha', + 'format' => 'Ao menos 7 caracteres', + ), + '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' => 'máximo 16 caracteres alphanumericos', + ), + ), + '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', + 'fr' => 'Français', + 'it' => 'Italiano', + '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( + 'blogotext' => 'Blogotext', + 'diaspora' => 'Diaspora*', + 'email' => 'Email', + 'facebook' => 'Facebook', + 'g+' => 'Google+', + 'movim' => 'Movim', + 'print' => 'Imprimir', + 'shaarli' => 'Shaarli', + 'twitter' => 'Twitter', + 'wallabag' => 'wallabag v1', + 'wallabagv2' => 'wallabag v2', + 'jdh' => 'Journal du hacker', + 'Known' => 'Known based sites', + 'gnusocial' => 'GNU social', + ), + 'short' => array( + 'attention' => 'Atencão!', + 'blank_to_disable' => 'Deixe em branco para desativar', + 'by_author' => 'Por %s', + '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 @@ + array( + '_' => 'Sobre', + 'agpl3' => 'AGPL 3', + 'bugs_reports' => 'Reportar Bugs', + 'credits' => 'Créditos', + 'credits_content' => 'Alguns elementos de design vieram do Bootstrap Embora FreshRRS não utiliza este framework. Ícones vieram do GNOME project. Open Sans font police foi criada por Steve Matteson. FreshRSS é baseado no Minz, um framework PHP.', + 'freshrss_description' => 'FreshRSS é um RSS feeds aggregator para um host próprio como o Kriss Feed ou Leed. É leve e fácil de utilizar enquanto é uma ferramenta poderosa e configurável. ', + 'github' => 'no Github', + '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 @@ + 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
    (Para o método do login pelo formulário)', + '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 ./data/cache. 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 ./data. 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 ./data/favicons. 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 ./data/users. 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 (máximo de 16 caracteres alphanumericos)', + '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 %s 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..61a80d41e --- /dev/null +++ b/app/i18n/pt-br/sub.php @@ -0,0 +1,62 @@ + 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 %s.', + '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
    (OPML, JSON or ZIP)', + 'file_to_import_no_zip' => 'Arquivo para importar
    (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/gen.php b/app/i18n/ru/gen.php index b67da4861..3a728016d 100644 --- a/app/i18n/ru/gen.php +++ b/app/i18n/ru/gen.php @@ -122,6 +122,7 @@ return array( 'it' => 'Italiano', 'kr' => '한국어', 'nl' => 'Nederlands', + 'pt-br' => 'Português (Brasil)', 'ru' => 'Русский', 'tr' => 'Türkçe', 'zh-cn' => '简体中文', diff --git a/app/i18n/tr/gen.php b/app/i18n/tr/gen.php index ad0c72f9f..81f926840 100644 --- a/app/i18n/tr/gen.php +++ b/app/i18n/tr/gen.php @@ -122,6 +122,7 @@ return array( 'it' => 'Italiano', 'kr' => '한국어', 'nl' => 'Nederlands', + 'pt-br' => 'Português (Brasil)', 'ru' => 'Русский', 'tr' => 'Türkçe', 'zh-cn' => '简体中文', diff --git a/app/i18n/zh-cn/gen.php b/app/i18n/zh-cn/gen.php index 1cfc4ddff..a69f02b3f 100644 --- a/app/i18n/zh-cn/gen.php +++ b/app/i18n/zh-cn/gen.php @@ -122,6 +122,7 @@ return array( 'it' => 'Italiano', 'kr' => '한국어', 'nl' => 'Nederlands', + 'pt-br' => 'Português (Brasil)', 'ru' => 'Русский', 'tr' => 'Türkçe', 'zh-cn' => '简体中文', -- cgit v1.2.3 From afffbfce0758391a52c8c0c5b9766643a49065e8 Mon Sep 17 00:00:00 2001 From: Alexis Degrugillier Date: Sat, 4 Nov 2017 21:19:51 +0100 Subject: Add a Mastodon share (#1674) See #1521 --- app/FreshRSS.php | 8 +++++- app/Models/Share.php | 31 +++++++++++++++++++++-- app/i18n/cz/gen.php | 13 +++++----- app/i18n/de/gen.php | 10 ++++---- app/i18n/en/gen.php | 10 ++++---- app/i18n/es/gen.php | 11 ++++---- app/i18n/fr/gen.php | 11 ++++---- app/i18n/it/gen.php | 11 ++++---- app/i18n/kr/gen.php | 11 ++++---- app/i18n/nl/gen.php | 17 +++++++------ app/i18n/pt-br/gen.php | 11 ++++---- app/i18n/ru/gen.php | 9 ++++--- app/i18n/tr/gen.php | 11 ++++---- app/i18n/zh-cn/gen.php | 11 ++++---- app/views/configure/sharing.phtml | 6 ++++- app/views/helpers/index/normal/entry_bottom.phtml | 9 ++++++- data/shares.php | 25 ++++++++++++++++++ p/scripts/main.js | 11 ++++++++ 18 files changed, 158 insertions(+), 68 deletions(-) (limited to 'app/i18n/fr/gen.php') diff --git a/app/FreshRSS.php b/app/FreshRSS.php index 90d6fae06..8f4ee334c 100644 --- a/app/FreshRSS.php +++ b/app/FreshRSS.php @@ -111,7 +111,13 @@ class FreshRSS extends Minz_FrontController { public static function preLayout() { switch (Minz_Request::controllerName()) { case 'index': - header("Content-Security-Policy: default-src 'self'; child-src *; frame-src *; img-src * data:; media-src *"); + $urlToAuthorize = array_filter(array_map(function($a) { + if ('POST' === $a['method']) { + return $a['url']; + } + }, FreshRSS_Context::$user_conf->sharing)); + $connectSrc = count($urlToAuthorize) ? sprintf("; connect-src 'self' %s", implode(' ', $urlToAuthorize)) : ''; + header(sprintf("Content-Security-Policy: default-src 'self'; child-src *; frame-src *; img-src * data:; media-src *%s", $connectSrc)); break; case 'stats': header("Content-Security-Policy: default-src 'self'; style-src 'self' 'unsafe-inline'"); diff --git a/app/Models/Share.php b/app/Models/Share.php index 86b1b9ed9..7378b30df 100644 --- a/app/Models/Share.php +++ b/app/Models/Share.php @@ -21,9 +21,11 @@ class FreshRSS_Share { } $help_url = isset($share_options['help']) ? $share_options['help'] : ''; + $field = isset($share_options['field']) ? $share_options['field'] : null; self::$list_sharing[$type] = new FreshRSS_Share( $type, $share_options['url'], $share_options['transform'], - $share_options['form'], $help_url + $share_options['form'], $help_url, $share_options['method'], + $field ); } @@ -76,6 +78,8 @@ class FreshRSS_Share { private $base_url = null; private $title = null; private $link = null; + private $method = 'GET'; + private $field; /** * Create a FreshRSS_Share object. @@ -86,9 +90,10 @@ class FreshRSS_Share { * is typically for a centralized service while "advanced" is for * decentralized ones. * @param $help_url is an optional url to give help on this option. + * @param $method defines the sharing method (GET or POST) */ private function __construct($type, $url_transform, $transform, - $form_type, $help_url = '') { + $form_type, $help_url, $method, $field) { $this->type = $type; $this->name = _t('gen.share.' . $type); $this->url_transform = $url_transform; @@ -103,6 +108,11 @@ class FreshRSS_Share { $form_type = 'simple'; } $this->form_type = $form_type; + if (!in_array($method, array('GET', 'POST'))) { + $method = 'GET'; + } + $this->method = $method; + $this->field = $field; } /** @@ -116,6 +126,8 @@ class FreshRSS_Share { 'url' => 'base_url', 'title' => 'title', 'link' => 'link', + 'method' => 'method', + 'field' => 'field', ); foreach ($options as $key => $value) { @@ -132,6 +144,21 @@ class FreshRSS_Share { return $this->type; } + /** + * Return the current method of the share option. + */ + public function method() { + return $this->method; + } + + /** + * Return the current field of the share option. It's null for shares + * using the GET method. + */ + public function field() { + return $this->field; + } + /** * Return the current form type of the share option. */ diff --git a/app/i18n/cz/gen.php b/app/i18n/cz/gen.php index a9c7dc875..e43355f64 100644 --- a/app/i18n/cz/gen.php +++ b/app/i18n/cz/gen.php @@ -13,8 +13,8 @@ return array( 'filter' => 'Filtrovat', 'import' => 'Import', 'manage' => 'Spravovat', - 'mark_read' => 'Označit jako přečtené', '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', @@ -79,8 +79,8 @@ return array( 'last_year' => 'Minulý rok', 'mar' => 'bře', 'march' => 'Bře', - 'may_' => 'Kvě', 'may' => 'Květen', + 'may_' => 'Kvě', 'mon' => 'Po', 'month' => 'měsíce', 'nov' => 'lis', @@ -143,7 +143,7 @@ return array( 'sharing' => 'Sdílení', 'shortcuts' => 'Zkratky', 'stats' => 'Statistika', - 'system' => 'System configuration',// @todo translate + 'system' => 'System configuration', // @todo translate 'update' => 'Aktualizace', 'user_management' => 'Správa uživatelů', 'user_profile' => 'Profil', @@ -158,20 +158,21 @@ return array( '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', - 'jdh' => 'Journal du hacker', - 'Known' => 'Known based sites', - 'gnusocial' => 'GNU social', ), 'short' => array( 'attention' => 'Upozornění!', diff --git a/app/i18n/de/gen.php b/app/i18n/de/gen.php index 43d0a2c05..b42081324 100644 --- a/app/i18n/de/gen.php +++ b/app/i18n/de/gen.php @@ -13,8 +13,8 @@ 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', @@ -79,8 +79,8 @@ return array( 'last_year' => 'Letztes Jahr', 'mar' => 'Mär', 'march' => 'März', - 'may_' => 'Mai', 'may' => 'Mai', + 'may_' => 'Mai', 'mon' => 'Mo', 'month' => 'Monat(en)', 'nov' => 'Nov', @@ -163,15 +163,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 v1', 'wallabagv2' => 'wallabag v2', - 'jdh' => 'Journal du hacker', - 'Known' => 'Known based sites', - 'gnusocial' => 'GNU social', ), 'short' => array( 'attention' => 'Achtung!', diff --git a/app/i18n/en/gen.php b/app/i18n/en/gen.php index 095eb17d3..ef1993dbc 100644 --- a/app/i18n/en/gen.php +++ b/app/i18n/en/gen.php @@ -13,8 +13,8 @@ return array( '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', @@ -79,8 +79,8 @@ return array( 'last_year' => 'Last year', 'mar' => 'Mar.', 'march' => 'March', - 'may_' => 'May', 'may' => 'May', + 'may_' => 'May', 'mon' => 'Mon', 'month' => 'months', 'nov' => 'Nov.', @@ -163,15 +163,15 @@ 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 v1', 'wallabagv2' => 'wallabag v2', - 'jdh' => 'Journal du hacker', - 'Known' => 'Known based sites', - 'gnusocial' => 'GNU social', ), 'short' => array( 'attention' => 'Warning!', diff --git a/app/i18n/es/gen.php b/app/i18n/es/gen.php index 68fdaf429..0f113e073 100755 --- a/app/i18n/es/gen.php +++ b/app/i18n/es/gen.php @@ -13,8 +13,8 @@ return array( 'filter' => 'Filtrar', 'import' => 'Importar', 'manage' => 'Administrar', - 'mark_read' => 'Marcar como leído', 'mark_favorite' => 'Marcar como favorita', + 'mark_read' => 'Marcar como leído', 'remove' => 'Borrar', 'see_website' => 'Ver web', 'submit' => 'Enviar', @@ -79,8 +79,8 @@ return array( 'last_year' => 'Año pasado', 'mar' => 'mar', 'march' => 'marzo', - 'may_' => 'may', 'may' => 'mayo', + 'may_' => 'may', 'mon' => 'Lun', 'month' => 'meses', 'nov' => 'nov', @@ -158,20 +158,21 @@ return array( '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', - 'jdh' => 'Journal du hacker', - 'Known' => 'Known based sites', - 'gnusocial' => 'GNU social', ), 'short' => array( 'attention' => '¡Aviso!', diff --git a/app/i18n/fr/gen.php b/app/i18n/fr/gen.php index 16935c3c4..29b7f8e4a 100644 --- a/app/i18n/fr/gen.php +++ b/app/i18n/fr/gen.php @@ -13,8 +13,8 @@ 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', @@ -79,8 +79,8 @@ return array( 'last_year' => 'Depuis l’année dernière', 'mar' => 'mars', 'march' => 'mars', - 'may_' => 'mai', 'may' => 'mai', + 'may_' => 'mai', 'mon' => 'lun.', 'month' => 'mois', 'nov' => 'nov.', @@ -158,20 +158,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 v1', 'wallabagv2' => 'wallabag v2', - 'jdh' => 'Journal du hacker', - 'Known' => 'Sites basés sur Known', - 'gnusocial' => 'GNU social', ), 'short' => array( 'attention' => 'Attention !', diff --git a/app/i18n/it/gen.php b/app/i18n/it/gen.php index ae39d7324..9eaabc2be 100644 --- a/app/i18n/it/gen.php +++ b/app/i18n/it/gen.php @@ -13,8 +13,8 @@ return array( 'filter' => 'Filtra', 'import' => 'Importa', 'manage' => 'Gestisci', - 'mark_read' => 'Segna come letto', 'mark_favorite' => 'Segna come preferito', + 'mark_read' => 'Segna come letto', 'remove' => 'Rimuovi', 'see_website' => 'Vai al sito', 'submit' => 'Conferma', @@ -79,8 +79,8 @@ return array( 'last_year' => 'Ultimo anno', 'mar' => 'mar.', 'march' => 'marzo', - 'may_' => 'May', 'may' => 'maggio', + 'may_' => 'May', 'mon' => 'Mon', 'month' => 'mesi', 'nov' => 'nov.', @@ -158,20 +158,21 @@ return array( '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', - 'jdh' => 'Journal du hacker', - 'Known' => 'Siti basati su Known', - 'gnusocial' => 'GNU social', ), 'short' => array( 'attention' => 'Attenzione!', diff --git a/app/i18n/kr/gen.php b/app/i18n/kr/gen.php index 35d5e8143..e9b6ea9b8 100644 --- a/app/i18n/kr/gen.php +++ b/app/i18n/kr/gen.php @@ -13,8 +13,8 @@ return array( 'filter' => '해당하는 글 보기', 'import' => '불러오기', 'manage' => '관리', - 'mark_read' => '읽음으로 표시', 'mark_favorite' => '즐겨찾기에 등록', + 'mark_read' => '읽음으로 표시', 'remove' => '삭제', 'see_website' => '웹사이트 열기', 'submit' => '설정 저장', @@ -79,8 +79,8 @@ return array( 'last_year' => '최근 일 년', 'mar' => '3월', 'march' => '3월', - 'may_' => '5월', 'may' => '5월', + 'may_' => '5월', 'mon' => '월', 'month' => '개월', 'nov' => '11월', @@ -158,20 +158,21 @@ return array( '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', - 'jdh' => 'Journal du hacker', - 'Known' => 'Known based sites', - 'gnusocial' => 'GNU social', ), 'short' => array( 'attention' => '경고!', diff --git a/app/i18n/nl/gen.php b/app/i18n/nl/gen.php index 1617936ab..bccab8310 100644 --- a/app/i18n/nl/gen.php +++ b/app/i18n/nl/gen.php @@ -1,5 +1,5 @@ array( 'actualize' => 'Actualiseren', @@ -13,8 +13,8 @@ return array( 'filter' => 'Filteren', 'import' => 'Importeren', 'manage' => 'Beheren', - 'mark_read' => 'Markeer als gelezen', 'mark_favorite' => 'Markeer als favoriet', + 'mark_read' => 'Markeer als gelezen', 'remove' => 'Verwijder', 'see_website' => 'Bekijk website', 'submit' => 'Opslaan', @@ -63,8 +63,8 @@ return array( 'december' => 'Dec', 'feb' => 'feb', 'february' => 'Feb', - 'format_date' => 'j %s Y', //<-- European date format // 'format_date' => '%s j\\<\\s\\u\\p\\>S\\<\\/\\s\\u\\p\\> Y', - 'format_date_hour' => 'j %s Y \\o\\m H\\:i', //<-- European date format // 'format_date_hour' => '%s j\\<\\s\\u\\p\\>S\\<\\/\\s\\u\\p\\> Y \\a\\t H\\:i', + 'format_date' => 'j %s Y', + 'format_date_hour' => 'j %s Y \\o\\m H\\:i', 'fri' => 'Vr', 'jan' => 'jan', 'january' => 'Jan', @@ -79,8 +79,8 @@ return array( 'last_year' => 'Vorig jaar', 'mar' => 'mrt', 'march' => 'Mrt', - 'may_' => 'Mei', 'may' => 'Mei', + 'may_' => 'Mei', 'mon' => 'Ma', 'month' => 'maanden', 'nov' => 'nov', @@ -158,20 +158,21 @@ return array( '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', - 'jdh' => 'Journal du hacker', - 'Known' => 'Known based sites', - 'gnusocial' => 'GNU social', ), 'short' => array( 'attention' => 'Attentie!', diff --git a/app/i18n/pt-br/gen.php b/app/i18n/pt-br/gen.php index 1a74e1437..e313b0d8b 100644 --- a/app/i18n/pt-br/gen.php +++ b/app/i18n/pt-br/gen.php @@ -13,8 +13,8 @@ return array( 'filter' => 'Filtrar', 'import' => 'Importar', 'manage' => 'Gerenciar', - 'mark_read' => 'Marcar como lido', 'mark_favorite' => 'Marcar como favorito', + 'mark_read' => 'Marcar como lido', 'remove' => 'Remover', 'see_website' => 'Ver o site', 'submit' => 'Enviar', @@ -124,7 +124,7 @@ return array( 'pt-br' => 'Português (Brasil)', 'ru' => 'Русский', 'tr' => 'Türkçe', - 'zh-cn' => '简体中文' + 'zh-cn' => '简体中文', ), 'menu' => array( 'about' => 'Sobre', @@ -157,20 +157,21 @@ return array( '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', - 'jdh' => 'Journal du hacker', - 'Known' => 'Known based sites', - 'gnusocial' => 'GNU social', ), 'short' => array( 'attention' => 'Atencão!', diff --git a/app/i18n/ru/gen.php b/app/i18n/ru/gen.php index 3a728016d..3283731df 100644 --- a/app/i18n/ru/gen.php +++ b/app/i18n/ru/gen.php @@ -13,8 +13,8 @@ return array( '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', @@ -79,8 +79,8 @@ return array( 'last_year' => 'Last year', 'mar' => 'mar', 'march' => 'Mar', - 'may_' => 'May', 'may' => 'May', + 'may_' => 'May', 'mon' => 'Mon', 'month' => 'months', 'nov' => 'nov', @@ -158,20 +158,21 @@ return array( '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', - 'Known' => 'Known based sites', - 'gnusocial' => 'GNU social', ), 'short' => array( 'attention' => 'Warning!', diff --git a/app/i18n/tr/gen.php b/app/i18n/tr/gen.php index 81f926840..535563542 100644 --- a/app/i18n/tr/gen.php +++ b/app/i18n/tr/gen.php @@ -13,8 +13,8 @@ return array( 'filter' => 'Filtrele', 'import' => 'İçe Aktar', 'manage' => 'Yönet', - 'mark_read' => 'Okundu olarak işaretle', 'mark_favorite' => 'Favoriye ekle', + 'mark_read' => 'Okundu olarak işaretle', 'remove' => 'Sil', 'see_website' => 'Siteyi gör', 'submit' => 'Onayla', @@ -79,8 +79,8 @@ return array( 'last_year' => 'Geçen yıl', 'mar' => 'mar', 'march' => 'Mar', - 'may_' => 'May', 'may' => 'Mayıs', + 'may_' => 'May', 'mon' => 'Pzt', 'month' => 'ay', 'nov' => 'kas', @@ -158,20 +158,21 @@ return array( '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', - 'jdh' => 'Journal du hacker', - 'Known' => 'Known based sites', - 'gnusocial' => 'GNU social', ), 'short' => array( 'attention' => 'Tehlike!', diff --git a/app/i18n/zh-cn/gen.php b/app/i18n/zh-cn/gen.php index 3fd2abef6..84be9f4ba 100644 --- a/app/i18n/zh-cn/gen.php +++ b/app/i18n/zh-cn/gen.php @@ -13,8 +13,8 @@ return array( 'filter' => '过滤器', 'import' => '导入', 'manage' => '管理', - 'mark_read' => '设为已读', 'mark_favorite' => '加入收藏', + 'mark_read' => '设为已读', 'remove' => '删除', 'see_website' => '查看网站', 'submit' => '提交', @@ -79,8 +79,8 @@ return array( 'last_year' => '去年', 'mar' => '三月', 'march' => '三月', - 'may_' => '五月', 'may' => '五月', + 'may_' => '五月', 'mon' => '周一', 'month' => '个月', 'nov' => '十一月', @@ -158,20 +158,21 @@ return array( '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', - 'jdh' => 'Journal du hacker', - 'Known' => 'Known based sites', - 'gnusocial' => 'GNU social', ), 'short' => array( 'attention' => '警告!', diff --git a/app/views/configure/sharing.phtml b/app/views/configure/sharing.phtml index ffcfb8b29..b0e6618fa 100644 --- a/app/views/configure/sharing.phtml +++ b/app/views/configure/sharing.phtml @@ -9,6 +9,8 @@
    ' data-advanced='
    + +
    @@ -28,6 +30,8 @@
    + +
    formType() === 'advanced') { ?> @@ -48,7 +52,7 @@
    + + diff --git a/data/shares.php b/data/shares.php index d73ae3826..5403fd48c 100644 --- a/data/shares.php +++ b/data/shares.php @@ -14,6 +14,10 @@ * The ~TITLE~ placeholder represents the title of the shared article. * - transform is an array of transformation to apply on links and titles * - help is a URL to a help page + * - form is the type of form to display during configuration. It's either + * 'simple' or 'advanced'. 'simple' is used when only the name is configurable, + * 'advanced' is used when the name and the location are configurable. + * - method is the HTTP method (POST or GET) used to share a link. */ return array( @@ -22,12 +26,14 @@ return array( 'transform' => array('rawurlencode'), 'help' => 'http://sebsauvage.net/wiki/doku.php?id=php:shaarli', 'form' => 'advanced', + 'method' => 'GET', ), 'blogotext' => array( 'url' => '~URL~/admin/links.php?url=~LINK~', 'transform' => array(), 'help' => 'http://lehollandaisvolant.net/blogotext/fr/', 'form' => 'advanced', + 'method' => 'GET', ), 'wallabag' => array( 'url' => '~URL~?action=add&url=~LINK~', @@ -37,6 +43,7 @@ return array( ), 'help' => 'http://www.wallabag.org/', 'form' => 'advanced', + 'method' => 'GET', ), 'wallabagv2' => array( 'url' => '~URL~/bookmarklet?url=~LINK~', @@ -46,59 +53,77 @@ return array( ), 'help' => 'http://www.wallabag.org/', 'form' => 'advanced', + 'method' => 'GET', ), 'diaspora' => array( 'url' => '~URL~/bookmarklet?url=~LINK~&title=~TITLE~', 'transform' => array('rawurlencode'), 'help' => 'https://diasporafoundation.org/', 'form' => 'advanced', + 'method' => 'GET', ), 'movim' => array( 'url' => '~URL~/?share/~LINK~', 'transform' => array('rawurlencode', 'urlencode'), 'help' => 'https://github.com/edhelas/movim', 'form' => 'advanced', + 'method' => 'GET', ), 'twitter' => array( 'url' => 'https://twitter.com/share?url=~LINK~&text=~TITLE~', 'transform' => array('rawurlencode'), 'form' => 'simple', + 'method' => 'GET', ), 'g+' => array( 'url' => 'https://plus.google.com/share?url=~LINK~', 'transform' => array('rawurlencode'), 'form' => 'simple', + 'method' => 'GET', ), 'facebook' => array( 'url' => 'https://www.facebook.com/sharer.php?u=~LINK~&t=~TITLE~', 'transform' => array('rawurlencode'), 'form' => 'simple', + 'method' => 'GET', ), 'email' => array( 'url' => 'mailto:?subject=~TITLE~&body=~LINK~', 'transform' => array('rawurlencode'), 'form' => 'simple', + 'method' => 'GET', ), 'print' => array( 'url' => '#', 'transform' => array(), 'form' => 'simple', + 'method' => 'GET', ), 'jdh' => array( 'url' => 'https://www.journalduhacker.net/stories/new?url=~LINK~&title=~TITLE~', 'transform' => array('rawurlencode'), 'form' => 'simple', + 'method' => 'GET', ), 'Known' => array( 'url' => '~URL~/share?share_url=~LINK~&share_title=~TITLE~', 'transform' => array('rawurlencode'), 'help' => 'https://withknown.com/', 'form' => 'advanced', + 'method' => 'GET', ), 'gnusocial' => array( 'url' => '~URL~/notice/new?content=~TITLE~%20~LINK~', 'transform' => array('urlencode'), 'help' => 'https://gnu.io/social/', 'form' => 'advanced', + 'method' => 'GET', + ), + 'mastodon' => array( + 'url' => '~URL~/api/v1/statuses', + 'transform' => array(), + 'form' => 'advanced', + 'method' => 'POST', + 'field' => 'status', ), ); diff --git a/p/scripts/main.js b/p/scripts/main.js index 278ecfee9..ce8070008 100644 --- a/p/scripts/main.js +++ b/p/scripts/main.js @@ -1172,6 +1172,14 @@ function init_print_action() { }); } +function init_post_action() { + $('.item.share > a[href="POST"]').click(function (event) { + event.preventDefault(); + var form = $(this).next('form'); + $.post(form.data('url'), form.serialize()); + }); +} + function init_share_observers() { shares = $('.group-share').length; @@ -1182,6 +1190,8 @@ function init_share_observers() { row = row.replace(/##type##/g, opt.val()); row = row.replace(/##help##/g, opt.data('help')); row = row.replace(/##key##/g, shares); + row = row.replace(/##method##/g, opt.data('method')); + row = row.replace(/##field##/g, opt.data('field')); $(this).parents('.form-group').before(row); shares++; @@ -1398,6 +1408,7 @@ function init_afterDOM() { init_posts(); init_nav_entries(); init_print_action(); + init_post_action(); init_notifs_html5(); window.setInterval(refreshUnreads, 120000); } else { -- cgit v1.2.3