diff options
| author | 2022-01-08 08:00:26 -0500 | |
|---|---|---|
| committer | 2022-01-08 14:00:26 +0100 | |
| commit | 127b7f0a3aad7012055c058e8aba0d27192a8cbc (patch) | |
| tree | 8ec9a5948672e702c944c202f78294b81104582f /app/i18n/fr | |
| parent | ed19445f74c30854c60873cd1df1c38e15fc316b (diff) | |
Change i18n process (#4131)
Before, the ignore info were stored in a different file which was a bit cumbersome
for new comers. Now, this info is stored directly in the translation file as a
comment.
Before, there was no way of telling translators that a previously translated string
was in need of a new translation. Now, the dirty information is there to convey that
info.
Diffstat (limited to 'app/i18n/fr')
| -rw-r--r-- | app/i18n/fr/admin.php | 20 | ||||
| -rw-r--r-- | app/i18n/fr/conf.php | 40 | ||||
| -rw-r--r-- | app/i18n/fr/feedback.php | 10 | ||||
| -rw-r--r-- | app/i18n/fr/gen.php | 94 | ||||
| -rw-r--r-- | app/i18n/fr/index.php | 18 | ||||
| -rw-r--r-- | app/i18n/fr/install.php | 14 | ||||
| -rw-r--r-- | app/i18n/fr/sub.php | 20 | ||||
| -rw-r--r-- | app/i18n/fr/user.php | 10 |
8 files changed, 153 insertions, 73 deletions
diff --git a/app/i18n/fr/admin.php b/app/i18n/fr/admin.php index a6bb90bf8..3789453e0 100644 --- a/app/i18n/fr/admin.php +++ b/app/i18n/fr/admin.php @@ -1,5 +1,15 @@ <?php +/******************************************************************************/ +/* Each entry of that file can be associated with a comment to indicate its */ +/* state. When there is no comment, it means the entry is fully translated. */ +/* The recognized comments are (comment matching is case-insensitive): */ +/* + TODO: the entry has never been translated. */ +/* + DIRTY: the entry has been translated but needs to be updated. */ +/* + IGNORE: the entry does not need to be translated. */ +/* When a comment is not recognized, it is discarded. */ +/******************************************************************************/ + return array( 'auth' => array( 'allow_anonymous' => 'Autoriser la lecture anonyme des articles de l’utilisateur par défaut (%s)', @@ -103,7 +113,7 @@ return array( 'extensions' => array( 'author' => 'Auteur', 'community' => 'Extensions utilisateur disponibles', - 'description' => 'Description', + 'description' => 'Description', // IGNORE 'disabled' => 'Désactivée', 'empty_list' => 'Aucune extension installée', 'enabled' => 'Activée', @@ -114,10 +124,10 @@ return array( '_' => 'Extensions système', 'no_rights' => 'Extensions système (contrôlées par l’administrateur)', ), - 'title' => 'Extensions', + 'title' => 'Extensions', // IGNORE 'update' => 'Mise à jour disponible', 'user' => 'Extensions utilisateur', - 'version' => 'Version', + 'version' => 'Version', // IGNORE ), 'stats' => array( '_' => 'Statistiques', @@ -136,7 +146,7 @@ return array( 'main' => 'Statistiques principales', 'main_stream' => 'Flux principal', 'no_idle' => 'Il n’y a aucun flux inactif !', - 'number_entries' => '%d articles', + 'number_entries' => '%d articles', // IGNORE 'percent_of_total' => '%% du total', 'repartition' => 'Répartition des articles', 'status_favorites' => 'favoris', @@ -173,7 +183,7 @@ return array( ), 'user' => array( 'admin' => 'Administrateur', - 'article_count' => 'Articles', + 'article_count' => 'Articles', // IGNORE 'back_to_manage' => '← Revenir à la liste des utilisateurs', 'create' => 'Créer un nouvel utilisateur', 'database_size' => 'Volumétrie', diff --git a/app/i18n/fr/conf.php b/app/i18n/fr/conf.php index ca3f1bbd6..7ef87d343 100644 --- a/app/i18n/fr/conf.php +++ b/app/i18n/fr/conf.php @@ -1,5 +1,15 @@ <?php +/******************************************************************************/ +/* Each entry of that file can be associated with a comment to indicate its */ +/* state. When there is no comment, it means the entry is fully translated. */ +/* The recognized comments are (comment matching is case-insensitive): */ +/* + TODO: the entry has never been translated. */ +/* + DIRTY: the entry has been translated but needs to be updated. */ +/* + IGNORE: the entry does not need to be translated. */ +/* When a comment is not recognized, it is discarded. */ +/******************************************************************************/ + return array( 'archiving' => array( '_' => 'Archivage', @@ -11,7 +21,7 @@ return array( 'keep_min_by_feed' => 'Nombre minimum d’articles à conserver par flux', 'keep_period' => 'Âge maximum des articles à conserver', 'keep_unreads' => 'Ne jamais supprimer les articles non lus', - 'maintenance' => 'Maintenance', + 'maintenance' => 'Maintenance', // IGNORE 'optimize' => 'Optimiser la base de données', 'optimize_help' => 'À faire de temps en temps pour réduire la taille de la BDD', 'policy' => 'Politique de nettoyage', @@ -44,13 +54,13 @@ return array( 'label' => 'Miniature', 'landscape' => 'Paysage', 'none' => 'Sans', - 'portrait' => 'Portrait', + 'portrait' => 'Portrait', // IGNORE 'square' => 'Carrée', ), 'title' => 'Affichage', 'width' => array( 'content' => 'Largeur du contenu', - 'large' => 'Large', + 'large' => 'Large', // IGNORE 'medium' => 'Moyenne', 'no_limit' => 'Pas de limite', 'thin' => 'Fine', @@ -77,10 +87,10 @@ return array( 'categories' => 'Afficher par catégorie', 'feeds' => 'Afficher par flux', 'order' => 'Tri par date', - 'search' => 'Expression', + 'search' => 'Expression', // IGNORE 'state' => 'État', 'tags' => 'Afficher par étiquette', - 'type' => 'Type', + 'type' => 'Type', // IGNORE ), 'get_all' => 'Afficher tous les articles', 'get_category' => 'Afficher la catégorie "%s"', @@ -163,20 +173,20 @@ return array( 'sharing' => array( '_' => 'Partage', 'add' => 'Ajouter une méthode de partage', - 'blogotext' => 'Blogotext', - 'diaspora' => 'Diaspora*', + 'blogotext' => 'Blogotext', // IGNORE + 'diaspora' => 'Diaspora*', // IGNORE 'email' => 'Courriel', - 'facebook' => 'Facebook', + 'facebook' => 'Facebook', // IGNORE 'more_information' => 'Plus d’informations', - 'print' => 'Print', - 'raindrop' => 'Raindrop.io', + 'print' => 'Print', // IGNORE + 'raindrop' => 'Raindrop.io', // IGNORE 'remove' => 'Supprimer la méthode de partage', - 'shaarli' => 'Shaarli', + 'shaarli' => 'Shaarli', // IGNORE 'share_name' => 'Nom du partage à afficher', 'share_url' => 'URL du partage à utiliser', 'title' => 'Partage', - 'twitter' => 'Twitter', - 'wallabag' => 'wallabag', + 'twitter' => 'Twitter', // IGNORE + 'wallabag' => 'wallabag', // IGNORE ), 'shortcut' => array( '_' => 'Raccourcis', @@ -194,7 +204,7 @@ return array( 'load_more' => 'Charger plus d’articles', 'mark_favorite' => 'Basculer l’indicateur de favori', 'mark_read' => 'Basculer l’indicateur de lecture', - 'navigation' => 'Navigation', + 'navigation' => 'Navigation', // IGNORE 'navigation_help' => 'Avec le modificateur <kbd>⇧ Maj</kbd>, les raccourcis de navigation s’appliquent aux flux.<br/>Avec le modificateur <kbd>Alt ⎇</kbd>, les raccourcis de navigation s’appliquent aux catégories.', 'navigation_no_mod_help' => 'Les raccourcis suivant ne supportent pas les modificateurs.', 'next_article' => 'Passer à l’article suivant', @@ -216,7 +226,7 @@ return array( 'views' => 'Vues', ), 'user' => array( - 'articles_and_size' => '%s articles (%s)', + 'articles_and_size' => '%s articles (%s)', // IGNORE 'current' => 'Utilisateur actuel', 'is_admin' => 'est administrateur', 'users' => 'Utilisateurs', diff --git a/app/i18n/fr/feedback.php b/app/i18n/fr/feedback.php index fa5c87966..e48c806fd 100644 --- a/app/i18n/fr/feedback.php +++ b/app/i18n/fr/feedback.php @@ -1,5 +1,15 @@ <?php +/******************************************************************************/ +/* Each entry of that file can be associated with a comment to indicate its */ +/* state. When there is no comment, it means the entry is fully translated. */ +/* The recognized comments are (comment matching is case-insensitive): */ +/* + TODO: the entry has never been translated. */ +/* + DIRTY: the entry has been translated but needs to be updated. */ +/* + IGNORE: the entry does not need to be translated. */ +/* When a comment is not recognized, it is discarded. */ +/******************************************************************************/ + return array( 'access' => array( 'denied' => 'Vous n’avez pas le droit d’accéder à cette page !', diff --git a/app/i18n/fr/gen.php b/app/i18n/fr/gen.php index 9471d8639..cf11cba84 100644 --- a/app/i18n/fr/gen.php +++ b/app/i18n/fr/gen.php @@ -1,5 +1,15 @@ <?php +/******************************************************************************/ +/* Each entry of that file can be associated with a comment to indicate its */ +/* state. When there is no comment, it means the entry is fully translated. */ +/* The recognized comments are (comment matching is case-insensitive): */ +/* + TODO: the entry has never been translated. */ +/* + DIRTY: the entry has been translated but needs to be updated. */ +/* + IGNORE: the entry does not need to be translated. */ +/* When a comment is not recognized, it is discarded. */ +/******************************************************************************/ + return array( 'action' => array( 'actualize' => 'Actualiser flux', @@ -69,8 +79,8 @@ return array( 'december' => 'décembre', 'feb' => 'fév.', 'february' => 'février', - 'format_date' => 'j %s Y', - 'format_date_hour' => 'j %s Y \\à H\\:i', + 'format_date' => 'j %s Y', // IGNORE + 'format_date_hour' => 'j %s Y \\à H\\:i', // IGNORE 'fri' => 'ven.', 'jan' => 'jan.', 'january' => 'janvier', @@ -106,9 +116,9 @@ return array( 'wed' => 'mer.', 'yesterday' => 'Hier', ), - 'dir' => 'ltr', + 'dir' => 'ltr', // IGNORE 'freshrss' => array( - '_' => 'FreshRSS', + '_' => 'FreshRSS', // IGNORE 'about' => 'À propos de FreshRSS', ), 'js' => array( @@ -124,36 +134,36 @@ return array( 'should_be_activated' => 'Le JavaScript doit être activé.', ), 'lang' => array( - 'cz' => 'Čeština', - 'de' => 'Deutsch', - 'en' => 'English', - 'en-us' => 'English (United States)', - 'es' => 'Español', - 'fr' => 'Français', - 'he' => 'עברית', - 'it' => 'Italiano', - 'ja' => '日本語', - 'ko' => '한국어', - 'nl' => 'Nederlands', - 'oc' => 'Occitan', - 'pl' => 'Polski', - 'pt-br' => 'Português (Brasil)', - 'ru' => 'Русский', - 'sk' => 'Slovenčina', - 'tr' => 'Türkçe', - 'zh-cn' => '简体中文', + 'cz' => 'Čeština', // IGNORE + 'de' => 'Deutsch', // IGNORE + 'en' => 'English', // IGNORE + 'en-us' => 'English (United States)', // IGNORE + 'es' => 'Español', // IGNORE + 'fr' => 'Français', // IGNORE + 'he' => 'עברית', // IGNORE + 'it' => 'Italiano', // IGNORE + 'ja' => '日本語', // IGNORE + 'ko' => '한국어', // IGNORE + 'nl' => 'Nederlands', // IGNORE + 'oc' => 'Occitan', // IGNORE + 'pl' => 'Polski', // IGNORE + 'pt-br' => 'Português (Brasil)', // IGNORE + 'ru' => 'Русский', // IGNORE + 'sk' => 'Slovenčina', // IGNORE + 'tr' => 'Türkçe', // IGNORE + 'zh-cn' => '简体中文', // IGNORE ), 'menu' => array( 'about' => 'À propos', 'account' => 'Compte', - 'admin' => 'Administration', + 'admin' => 'Administration', // IGNORE 'archiving' => 'Archivage', 'authentication' => 'Authentification', 'check_install' => 'Vérification de l’installation', - 'configuration' => 'Configuration', + 'configuration' => 'Configuration', // IGNORE 'display' => 'Affichage', - 'extensions' => 'Extensions', - 'logs' => 'Logs', + 'extensions' => 'Extensions', // IGNORE + 'logs' => 'Logs', // IGNORE 'queries' => 'Filtres utilisateurs', 'reading' => 'Lecture', 'search' => 'Rechercher des mots ou des #tags', @@ -183,25 +193,25 @@ return array( ), 'share' => array( 'Known' => 'Sites basés sur Known', - 'blogotext' => 'Blogotext', + 'blogotext' => 'Blogotext', // IGNORE 'clipboard' => 'Presse-papier', - 'diaspora' => 'Diaspora*', + 'diaspora' => 'Diaspora*', // IGNORE 'email' => 'Courriel', - 'facebook' => 'Facebook', - 'gnusocial' => 'GNU social', - 'jdh' => 'Journal du hacker', - 'lemmy' => 'Lemmy', - 'linkedin' => 'LinkedIn', - 'mastodon' => 'Mastodon', - 'movim' => 'Movim', - 'pinboard' => 'Pinboard', - 'pocket' => 'Pocket', + 'facebook' => 'Facebook', // IGNORE + 'gnusocial' => 'GNU social', // IGNORE + 'jdh' => 'Journal du hacker', // IGNORE + 'lemmy' => 'Lemmy', // IGNORE + 'linkedin' => 'LinkedIn', // IGNORE + 'mastodon' => 'Mastodon', // IGNORE + 'movim' => 'Movim', // IGNORE + 'pinboard' => 'Pinboard', // IGNORE + 'pocket' => 'Pocket', // IGNORE 'print' => 'Imprimer', - 'raindrop' => 'Raindrop.io', - 'shaarli' => 'Shaarli', - 'twitter' => 'Twitter', - 'wallabag' => 'wallabag v1', - 'wallabagv2' => 'wallabag v2', + 'raindrop' => 'Raindrop.io', // IGNORE + 'shaarli' => 'Shaarli', // IGNORE + 'twitter' => 'Twitter', // IGNORE + 'wallabag' => 'wallabag v1', // IGNORE + 'wallabagv2' => 'wallabag v2', // IGNORE ), 'short' => array( 'attention' => 'Attention !', diff --git a/app/i18n/fr/index.php b/app/i18n/fr/index.php index 3a8d1f4cc..bc1aa70c1 100644 --- a/app/i18n/fr/index.php +++ b/app/i18n/fr/index.php @@ -1,9 +1,19 @@ <?php +/******************************************************************************/ +/* Each entry of that file can be associated with a comment to indicate its */ +/* state. When there is no comment, it means the entry is fully translated. */ +/* The recognized comments are (comment matching is case-insensitive): */ +/* + TODO: the entry has never been translated. */ +/* + DIRTY: the entry has been translated but needs to be updated. */ +/* + IGNORE: the entry does not need to be translated. */ +/* When a comment is not recognized, it is discarded. */ +/******************************************************************************/ + return array( 'about' => array( '_' => 'À propos', - 'agpl3' => '<a href="https://www.gnu.org/licenses/agpl-3.0.html">AGPL 3</a>', + 'agpl3' => '<a href="https://www.gnu.org/licenses/agpl-3.0.html">AGPL 3</a>', // IGNORE 'bugs_reports' => 'Rapports de bugs', 'credits' => 'Crédits', 'credits_content' => 'Des éléments de design sont issus du <a href="http://twitter.github.io/bootstrap/">projet Bootstrap</a> bien que FreshRSS n’utilise pas ce framework. Les <a href="https://git.gnome.org/browse/gnome-icon-theme-symbolic">icônes</a> sont issues du <a href="https://www.gnome.org/">projet GNOME</a>. La police <em>Open Sans</em> utilisée a été créée par <a href="https://fonts.google.com/specimen/Open+Sans">Steve Matteson</a>. FreshRSS repose sur <a href="https://github.com/marienfressinaud/MINZ">Minz</a>, un framework PHP.', @@ -12,7 +22,7 @@ return array( 'license' => 'Licence', 'project_website' => 'Site du projet', 'title' => 'À propos', - 'version' => 'Version', + 'version' => 'Version', // IGNORE ), 'feed' => array( 'add' => 'Vous pouvez ajouter des flux.', @@ -23,10 +33,10 @@ return array( 'title_global' => 'Vue globale', ), 'log' => array( - '_' => 'Logs', + '_' => 'Logs', // IGNORE 'clear' => 'Effacer les logs', 'empty' => 'Les logs sont vides.', - 'title' => 'Logs', + 'title' => 'Logs', // IGNORE ), 'menu' => array( 'about' => 'À propos de FreshRSS', diff --git a/app/i18n/fr/install.php b/app/i18n/fr/install.php index 9fc0c6456..b9157ff53 100644 --- a/app/i18n/fr/install.php +++ b/app/i18n/fr/install.php @@ -1,5 +1,15 @@ <?php +/******************************************************************************/ +/* Each entry of that file can be associated with a comment to indicate its */ +/* state. When there is no comment, it means the entry is fully translated. */ +/* The recognized comments are (comment matching is case-insensitive): */ +/* + TODO: the entry has never been translated. */ +/* + DIRTY: the entry has been translated but needs to be updated. */ +/* + IGNORE: the entry does not need to be translated. */ +/* When a comment is not recognized, it is discarded. */ +/******************************************************************************/ + return array( 'action' => array( 'finish' => 'Terminer l’installation', @@ -118,6 +128,6 @@ return array( ), 'step' => 'étape %d', 'steps' => 'Étapes', - 'this_is_the_end' => 'This is the end', - 'title' => 'Installation · FreshRSS', + 'this_is_the_end' => 'This is the end', // IGNORE + 'title' => 'Installation · FreshRSS', // IGNORE ); diff --git a/app/i18n/fr/sub.php b/app/i18n/fr/sub.php index 4e11351e2..710d75918 100644 --- a/app/i18n/fr/sub.php +++ b/app/i18n/fr/sub.php @@ -1,14 +1,24 @@ <?php +/******************************************************************************/ +/* Each entry of that file can be associated with a comment to indicate its */ +/* state. When there is no comment, it means the entry is fully translated. */ +/* The recognized comments are (comment matching is case-insensitive): */ +/* + TODO: the entry has never been translated. */ +/* + DIRTY: the entry has been translated but needs to be updated. */ +/* + IGNORE: the entry does not need to be translated. */ +/* When a comment is not recognized, it is discarded. */ +/******************************************************************************/ + return array( 'api' => array( 'documentation' => 'Copier l’URL suivante dans l’outil qui utilisera l’API.', - 'title' => 'API', + 'title' => 'API', // IGNORE ), 'bookmarklet' => array( 'documentation' => 'Glisser ce bouton dans la barre des favoris ou cliquer droit dessus et choisir "Enregistrer ce lien". Ensuite, cliquer sur le bouton "S’abonner" sur les pages auxquelles vous voulez vous abonner.', 'label' => 'S’abonner', - 'title' => 'Bookmarklet', + 'title' => 'Bookmarklet', // IGNORE ), 'category' => array( '_' => 'Catégorie', @@ -42,7 +52,7 @@ return array( 'css_cookie_help' => 'Exemple : <kbd>foo=bar; gdpr_consent=true; cookie=value</kbd>', 'css_help' => 'Permet de récupérer les flux tronqués (attention, demande plus de temps !)', 'css_path' => 'Sélecteur CSS des articles sur le site d’origine', - 'description' => 'Description', + 'description' => 'Description', // IGNORE 'empty' => 'Ce flux est vide. Veuillez vérifier qu’il est toujours maintenu.', 'error' => 'Ce flux a rencontré un problème. Veuillez vérifier qu’il est toujours accessible puis actualisez-le.', 'filteractions' => array( @@ -56,12 +66,12 @@ return array( 'clear_cache_help' => 'Supprime le cache de ce flux.', 'reload_articles' => 'Recharger les articles', 'reload_articles_help' => 'Recharge les articles et récupère le contenu complet si un sélecteur est défini.', - 'title' => 'Maintenance', + 'title' => 'Maintenance', // IGNORE ), 'moved_category_deleted' => 'Lors de la suppression d’une catégorie, ses flux seront automatiquement classés dans <em>%s</em>.', 'mute' => 'muet', 'no_selected' => 'Aucun flux sélectionné.', - 'number_entries' => '%d articles', + 'number_entries' => '%d articles', // IGNORE 'priority' => array( '_' => 'Visibilité', 'archived' => 'Ne pas afficher (archivé)', diff --git a/app/i18n/fr/user.php b/app/i18n/fr/user.php index dfd132552..e51c2910b 100644 --- a/app/i18n/fr/user.php +++ b/app/i18n/fr/user.php @@ -1,5 +1,15 @@ <?php +/******************************************************************************/ +/* Each entry of that file can be associated with a comment to indicate its */ +/* state. When there is no comment, it means the entry is fully translated. */ +/* The recognized comments are (comment matching is case-insensitive): */ +/* + TODO: the entry has never been translated. */ +/* + DIRTY: the entry has been translated but needs to be updated. */ +/* + IGNORE: the entry does not need to be translated. */ +/* When a comment is not recognized, it is discarded. */ +/******************************************************************************/ + return array( 'email' => array( 'feedback' => array( |
