Forráskód Böngészése

Fix i18n for normal view

Marien Fressinaud 11 éve
szülő
commit
d455837c6d

+ 1 - 1
app/Controllers/indexController.php

@@ -217,7 +217,7 @@ class FreshRSS_index_Controller extends Minz_ActionController {
 			Minz_Error::error(403);
 		}
 
-		Minz_View::prependTitle(_t('index.logs.title') . ' · ');
+		Minz_View::prependTitle(_t('index.log.title') . ' · ');
 
 		if (Minz_Request::isPost()) {
 			FreshRSS_LogDAO::truncate();

+ 2 - 2
app/Models/Context.php

@@ -138,12 +138,12 @@ class FreshRSS_Context {
 		switch($type) {
 		case 'a':
 			self::$current_get['all'] = true;
-			self::$name = _t('your_rss_feeds');
+			self::$name = _t('index.feed.title');
 			self::$get_unread = self::$total_unread;
 			break;
 		case 's':
 			self::$current_get['starred'] = true;
-			self::$name = _t('your_favorites');
+			self::$name = _t('index.feed.title_fav');
 			self::$get_unread = self::$total_starred['unread'];
 
 			// Update state if favorite is not yet enabled.

+ 25 - 37
app/i18n/en/gen.php

@@ -12,10 +12,30 @@ return array(
 		'login' => 'Login',
 		'logout' => 'Logout',
 	),
+	'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',
+		'before_yesterday' => 'Before yesterday',
+		'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',
+		'today' => 'Today',
+		'yesterday' => 'Yesterday',
+	),
 	'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!',
+		'new_article' => 'There are new available articles, click to refresh the page.',
 		'notif_body_new_articles' => 'There are \\d new articles to read on FreshRSS.',
 		'notif_title_new_articles' => 'FreshRSS: new articles!',
 	),
@@ -30,6 +50,7 @@ return array(
 		'logs' => 'Logs',
 		'queries' => 'User queries',
 		'reading' => 'Reading',
+		'search' => 'Search words or #tags',
 		'sharing' => 'Sharing',
 		'shortcuts' => 'Shortcuts',
 		'stats' => 'Statistics',
@@ -40,7 +61,10 @@ return array(
 	'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',
 	),
 	'title' => array(
@@ -51,18 +75,7 @@ return array(
 		'user_management' => 'Manage users',
 		'user_profile' => 'Profile',
 	),
-	'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',
+	'freshrss' => 'FreshRSS',
 	'access_denied' => 'You don’t have permission to access this page',
 	'access_protected_feeds' => 'Connection allows to access HTTP protected RSS feeds',
 	'activate_sharing' => 'Activate sharing',
@@ -117,13 +130,10 @@ return array(
 	'bdd_conf_is_ok' => 'Database configuration has been saved.',
 	'bdd_configuration' => 'Database configuration',
 	'bdd_type' => 'Type of database',
-	'before_yesterday' => 'Before yesterday',
 	'blank_to_disable' => 'Leave blank to disable',
-	'blogotext' => 'Blogotext',
 	'bottom_line' => 'Bottom line',
 	'bugs_reports' => 'Bugs reports',
 	'by' => 'by',
-	'by_author' => 'By <em>%s</em>',
 	'by_default' => 'By default',
 	'by_email' => 'By email',
 	'by_feed' => 'by feed',
@@ -171,14 +181,12 @@ return array(
 	'default_view' => 'Default view',
 	'delete' => 'Delete',
 	'delete_articles_every' => 'Remove articles after',
-	'diaspora' => 'Diaspora*',
 	'display_articles_unfolded' => 'Show articles unfolded by default',
 	'display_categories_unfolded' => 'Show categories folded by default',
 	'display_configuration' => 'Display',
 	'do_not_change_if_doubt' => 'Don’t change if you doubt about it',
 	'dom_is_nok' => 'You lack a required library to browse the DOM (php-xml package)',
 	'dom_is_ok' => 'You have the required library to browse the DOM',
-	'email' => 'Email',
 	'error_occurred' => 'An error occurred',
 	'error_occurred_update' => 'Nothing was changed',
 	'explain_token' => 'Allows to access RSS output of the default user without authentication.<br /><kbd>%s?output=rss&token=%s</kbd>',
@@ -186,7 +194,6 @@ return array(
 	'export_no_zip_extension' => 'Zip extension is not present on your server. Please try to export files one by one.',
 	'export_opml' => 'Export list of feeds (OPML)',
 	'export_starred' => 'Export your favourites',
-	'facebook' => 'Facebook',
 	'favicons_is_ok' => 'Permissions on favicons directory are good',
 	'feb' => 'feb',
 	'february' => 'Feb',
@@ -216,13 +223,9 @@ return array(
 	'first_article' => 'Skip to the first article',
 	'fix_errors_before' => 'Fix errors before skip to the next step.',
 	'focus_search' => 'Access search box',
-	'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',
-	'freshrss' => 'FreshRSS',
 	'freshrss_description' => 'FreshRSS is a RSS feeds aggregator to self-host like <a href="http://tontof.net/kriss/feed/">Kriss Feed</a> or <a href="http://projet.idleman.fr/leed/">Leed</a>. It is light and easy to take in hand while being powerful and configurable tool.',
 	'freshrss_installation' => 'Installation · FreshRSS',
 	'fri' => 'Fri',
-	'g+' => 'Google+',
 	'general_conf_is_ok' => 'General configuration has been saved.',
 	'general_configuration' => 'General configuration',
 	'github_or_email' => '<a href="https://github.com/marienfressinaud/FreshRSS/issues">on Github</a> or <a href="mailto:dev@marienfressinaud.fr">by mail</a>',
@@ -268,7 +271,6 @@ return array(
 	'last_year' => 'Last year',
 	'lead_developer' => 'Lead developer',
 	'license' => 'License',
-	'load_more' => 'Load more articles',
 	'log_is_ok' => 'Permissions on logs directory are good',
 	'login_configuration' => 'Login',
 	'login_persona_problem' => 'Connection problem with Persona?',
@@ -287,7 +289,6 @@ return array(
 	'more_information' => 'More information',
 	'n_entries_deleted' => '%d articles have been deleted',
 	'n_feeds_actualized' => '%d feeds have been updated',
-	'new_article' => 'There are new available articles, click to refresh the page.',
 	'new_category' => 'New category',
 	'next_article' => 'Skip to the next article',
 	'next_page' => 'Skip to the next page',
@@ -305,7 +306,6 @@ return array(
 	'not_read' => '%d unread',
 	'not_reads' => '%d unread',
 	'not_yet_implemented' => 'Not yet implemented',
-	'nothing_to_load' => 'There are no more articles',
 	'nov' => 'nov',
 	'november' => 'Nov',
 	'number_articles' => '%d articles',
@@ -334,7 +334,6 @@ return array(
 	'prefix' => 'Table prefix',
 	'previous_article' => 'Skip to the previous article',
 	'previous_page' => 'Skip to the previous page',
-	'print' => 'Print',
 	'project_website' => 'Project website',
 	'public' => 'Public',
 	'publication_date' => 'Date of publication',
@@ -370,21 +369,16 @@ return array(
 	'random_string' => 'Random string',
 	'reading_confirm' => 'Display a confirmation dialog on “mark all as read” actions',
 	'refresh' => 'Refresh',
-	'related_tags' => 'Related tags',
 	'retrieve_truncated_feeds' => 'Retrieves truncated RSS feeds (attention, requires more time!)',
 	'rss_feed_management' => 'RSS feeds management',
 	'rss_feeds_of' => 'RSS feed of %s',
 	'sat' => 'Sat',
 	'save' => 'Save',
 	'scroll' => 'while scrolling',
-	'search' => 'Search words or #tags',
-	'search_short' => 'Search',
 	'seconds_(0_means_no_timeout)' => 'seconds (0 means no timeout)',
 	'see_on_website' => 'See on original website',
 	'sep' => 'sep',
 	'september' => 'Sep',
-	'shaarli' => 'Shaarli',
-	'share' => 'Share',
 	'share_name' => 'Share name to display',
 	'share_url' => 'Share URL to use',
 	'sharing_management' => 'Sharing options management',
@@ -422,12 +416,10 @@ return array(
 	'think_to_add' => 'You may add some feeds.',
 	'this_is_the_end' => 'This is the end',
 	'thu' => 'Thu',
-	'today' => 'Today',
 	'top_line' => 'Top line',
 	'truncate' => 'Delete all articles',
 	'ttl' => 'Do not automatically refresh more often than',
 	'tue' => 'Tue',
-	'twitter' => 'Twitter',
 	'unsafe_autologin' => 'Allow unsafe automatic login using the format: ',
 	'update_apply' => 'Apply',
 	'update_can_apply' => 'An update is available.',
@@ -452,7 +444,6 @@ return array(
 	'users_list' => 'List of users',
 	'version' => 'Version',
 	'version_update' => 'Update',
-	'wallabag' => 'wallabag',
 	'website' => 'Website',
 	'website_url' => 'Website URL',
 	'wed' => 'Wed',
@@ -461,10 +452,7 @@ return array(
 	'width_no_limit' => 'No limit',
 	'width_thin' => 'Thin',
 	'yes' => 'Yes',
-	'yesterday' => 'Yesterday',
 	'your_diaspora_pod' => 'Your Diaspora* pod',
-	'your_favorites' => 'Your favourites',
-	'your_rss_feeds' => 'Your RSS feeds',
 	'your_shaarli' => 'Your Shaarli',
 	'your_wallabag' => 'Your wallabag',
 	'zip_error' => 'An error occured during Zip import.',

+ 24 - 1
app/i18n/en/index.php

@@ -1,7 +1,14 @@
 <?php
 
 return array(
-	'logs' => array(
+	'entry' => array(
+		'by_author' => 'By <em>%s</em>',
+	),
+	'feed' => array(
+		'title' => 'Your RSS feeds',
+		'title_fav' => 'Your favourites',
+	),
+	'log' => array(
 		'_' => 'Logs',
 		'clear' => 'Clear the logs',
 		'empty' => 'Log file is empty',
@@ -28,10 +35,26 @@ return array(
 		'read' => 'Show only unread',
 		'reader_view' => 'Reading view',
 		'rss_view' => 'RSS feed',
+		'search_short' => 'Search',
 		'see_website' => 'See website',
 		'starred' => 'Show only favorites',
 		'stats' => 'Statistics',
 		'subscription' => 'Subscriptions management',
 		'unread' => 'Show only read',
 	),
+	'share' => array(
+		'_' => 'Share',
+		'blogotext' => 'Blogotext',
+		'diaspora' => 'Diaspora*',
+		'email' => 'Email',
+		'facebook' => 'Facebook',
+		'g+' => 'Google+',
+		'print' => 'Print',
+		'shaarli' => 'Shaarli',
+		'twitter' => 'Twitter',
+		'wallabag' => 'wallabag',
+	),
+	'tag' => array(
+		'related' => 'Related tags',
+	),
 );

+ 25 - 37
app/i18n/fr/gen.php

@@ -12,10 +12,30 @@ return array(
 		'login' => 'Connexion',
 		'logout' => 'Déconnexion',
 	),
+	'date' => array(
+		'Apr' => '\\a\\v\\r\\i\\l',
+		'Aug' => '\\a\\o\\û\\t',
+		'Dec' => '\\d\\é\\c\\e\\m\\b\\r\\e',
+		'Feb' => '\\f\\é\\v\\r\\i\\e\\r',
+		'Jan' => '\\j\\a\\n\\v\\i\\e\\r',
+		'Jul' => '\\j\\u\\i\\l\\l\\e\\t',
+		'Jun' => '\\j\\u\\i\\n',
+		'Mar' => '\\m\\a\\r\\s',
+		'May' => '\\m\\a\\i',
+		'Nov' => '\\n\\o\\v\\e\\m\\b\\r\\e',
+		'Oct' => '\\o\\c\\t\\o\\b\\r\\e',
+		'Sep' => '\\s\\e\\p\\t\\e\\m\\b\\r\\e',
+		'before_yesterday' => 'À partir d’avant-hier',
+		'format_date' => 'j %s Y',
+		'format_date_hour' => 'j %s Y \\à H\\:i',
+		'today' => 'Aujourd’hui',
+		'yesterday' => 'Hier',
+	),
 	'js' => array(
 		'category_empty' => 'Catégorie vide',
 		'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 !',
+		'new_article' => 'Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.',
 		'notif_body_new_articles' => 'Il y a \\d nouveaux articles à lire sur FreshRSS.',
 		'notif_title_new_articles' => 'FreshRSS : nouveaux articles !',
 	),
@@ -30,6 +50,7 @@ return array(
 		'logs' => 'Logs',
 		'queries' => 'Filtres utilisateurs',
 		'reading' => 'Lecture',
+		'search' => 'Rechercher des mots ou des #tags',
 		'sharing' => 'Partage',
 		'shortcuts' => 'Raccourcis',
 		'stats' => 'Statistiques',
@@ -40,7 +61,10 @@ return array(
 	'pagination' => array(
 		'first' => 'Début',
 		'last' => 'Fin',
+		'load_more' => 'Charger plus d’articles',
+		'mark_all_read' => 'Tout marquer comme lu',
 		'next' => 'Suivant',
+		'nothing_to_load' => 'Fin des articles',
 		'previous' => 'Précédent',
 	),
 	'title' => array(
@@ -51,18 +75,7 @@ return array(
 		'user_management' => 'Gestion des utilisateurs',
 		'user_profile' => 'Profil',
 	),
-	'Apr' => '\\a\\v\\r\\i\\l',
-	'Aug' => '\\a\\o\\û\\t',
-	'Dec' => '\\d\\é\\c\\e\\m\\b\\r\\e',
-	'Feb' => '\\f\\é\\v\\r\\i\\e\\r',
-	'Jan' => '\\j\\a\\n\\v\\i\\e\\r',
-	'Jul' => '\\j\\u\\i\\l\\l\\e\\t',
-	'Jun' => '\\j\\u\\i\\n',
-	'Mar' => '\\m\\a\\r\\s',
-	'May' => '\\m\\a\\i',
-	'Nov' => '\\n\\o\\v\\e\\m\\b\\r\\e',
-	'Oct' => '\\o\\c\\t\\o\\b\\r\\e',
-	'Sep' => '\\s\\e\\p\\t\\e\\m\\b\\r\\e',
+	'freshrss' => 'FreshRSS',
 	'access_denied' => 'Vous n’avez pas le droit d’accéder à cette page !',
 	'access_protected_feeds' => 'La connexion permet d’accéder aux flux protégés par une authentification HTTP.',
 	'activate_sharing' => 'Activer le partage',
@@ -117,13 +130,10 @@ return array(
 	'bdd_conf_is_ok' => 'La configuration de la base de données a été enregistrée.',
 	'bdd_configuration' => 'Base de données',
 	'bdd_type' => 'Type de base de données',
-	'before_yesterday' => 'À partir d’avant-hier',
 	'blank_to_disable' => 'Laissez vide pour désactiver',
-	'blogotext' => 'Blogotext',
 	'bottom_line' => 'Ligne du bas',
 	'bugs_reports' => 'Rapports de bugs',
 	'by' => 'par',
-	'by_author' => 'Par <em>%s</em>',
 	'by_default' => 'Par défaut',
 	'by_email' => 'Par courriel',
 	'by_feed' => 'par flux',
@@ -171,14 +181,12 @@ return array(
 	'default_view' => 'Vue par défaut',
 	'delete' => 'Supprimer',
 	'delete_articles_every' => 'Supprimer les articles après',
-	'diaspora' => 'Diaspora*',
 	'display' => 'Affichage',
 	'display_articles_unfolded' => 'Afficher les articles dépliés par défaut',
 	'display_categories_unfolded' => 'Afficher les catégories pliées par défaut',
 	'do_not_change_if_doubt' => 'Laissez tel quel dans le doute',
 	'dom_is_nok' => 'Il manque une librairie pour parcourir le DOM (paquet php-xml)',
 	'dom_is_ok' => 'Vous disposez du nécessaire pour parcourir le DOM',
-	'email' => 'Courriel',
 	'error_occurred' => 'Une erreur est survenue !',
 	'error_occurred_update' => 'Rien n’a été modifié !',
 	'explain_token' => 'Permet d’accéder à la sortie RSS de l’utilisateur par défaut sans besoin de s’authentifier.<br /><kbd>%s?output=rss&token=%s</kbd>',
@@ -186,7 +194,6 @@ return array(
 	'export_no_zip_extension' => 'L’extension Zip n’est pas présente sur votre serveur. Veuillez essayer d’exporter les fichiers un par un.',
 	'export_opml' => 'Exporter la liste des flux (OPML)',
 	'export_starred' => 'Exporter les favoris',
-	'facebook' => 'Facebook',
 	'favicons_is_ok' => 'Les droits sur le répertoire des favicons sont bons',
 	'feb' => 'fév.',
 	'february' => 'février',
@@ -216,13 +223,9 @@ return array(
 	'first_article' => 'Passer au premier article',
 	'fix_errors_before' => 'Veuillez corriger les erreurs avant de passer à l’étape suivante.',
 	'focus_search' => 'Accéder à la recherche',
-	'format_date' => 'j %s Y',
-	'format_date_hour' => 'j %s Y \\à H\\:i',
-	'freshrss' => 'FreshRSS',
 	'freshrss_description' => 'FreshRSS est un agrégateur de flux RSS à auto-héberger à l’image de <a href="http://tontof.net/kriss/feed/">Kriss Feed</a> ou <a href="http://projet.idleman.fr/leed/">Leed</a>. Il se veut léger et facile à prendre en main tout en étant un outil puissant et paramétrable.',
 	'freshrss_installation' => 'Installation · FreshRSS',
 	'fri' => 'ven.',
-	'g+' => 'Google+',
 	'general_conf_is_ok' => 'La configuration générale a été enregistrée.',
 	'general_configuration' => 'Configuration générale',
 	'github_or_email' => '<a href="https://github.com/marienfressinaud/FreshRSS/issues">sur Github</a> ou <a href="mailto:dev@marienfressinaud.fr">par courriel</a>',
@@ -268,7 +271,6 @@ return array(
 	'last_year' => 'Depuis l’année dernière',
 	'lead_developer' => 'Développeur principal',
 	'license' => 'Licence',
-	'load_more' => 'Charger plus d’articles',
 	'log_is_ok' => 'Les droits sur le répertoire des logs sont bons',
 	'login_configuration' => 'Identification',
 	'login_persona_problem' => 'Problème de connexion à Persona ?',
@@ -287,7 +289,6 @@ return array(
 	'more_information' => 'Plus d’informations',
 	'n_entries_deleted' => '%d articles ont été supprimés.',
 	'n_feeds_actualized' => '%d flux ont été mis à jour.',
-	'new_article' => 'Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.',
 	'new_category' => 'Nouvelle catégorie',
 	'next_article' => 'Passer à l’article suivant',
 	'next_page' => 'Passer à la page suivante',
@@ -305,7 +306,6 @@ return array(
 	'not_read' => '%d non lu',
 	'not_reads' => '%d non lus',
 	'not_yet_implemented' => 'Pas encore implémenté',
-	'nothing_to_load' => 'Fin des articles',
 	'nov' => 'nov.',
 	'november' => 'novembre',
 	'number_articles' => '%d articles',
@@ -334,7 +334,6 @@ return array(
 	'prefix' => 'Préfixe des tables',
 	'previous_article' => 'Passer à l’article précédent',
 	'previous_page' => 'Passer à la page précédente',
-	'print' => 'Imprimer',
 	'project_website' => 'Site du projet',
 	'public' => 'Public',
 	'publication_date' => 'Date de publication',
@@ -370,21 +369,16 @@ return array(
 	'random_string' => 'Chaîne aléatoire',
 	'reading_confirm' => 'Afficher une confirmation lors des actions “marquer tout comme lu”',
 	'refresh' => 'Actualisation',
-	'related_tags' => 'Tags associés',
 	'retrieve_truncated_feeds' => 'Permet de récupérer les flux tronqués (attention, demande plus de temps !)',
 	'rss_feed_management' => 'Gestion des flux RSS',
 	'rss_feeds_of' => 'Flux RSS de %s',
 	'sat' => 'sam.',
 	'save' => 'Enregistrer',
 	'scroll' => 'au défilement de la page',
-	'search' => 'Rechercher des mots ou des #tags',
-	'search_short' => 'Rechercher',
 	'seconds_(0_means_no_timeout)' => 'secondes (0 signifie aucun timeout ) ',
 	'see_on_website' => 'Voir sur le site d’origine',
 	'sep' => 'sep.',
 	'september' => 'septembre',
-	'shaarli' => 'Shaarli',
-	'share' => 'Partager',
 	'share_name' => 'Nom du partage à afficher',
 	'share_url' => 'URL du partage à utiliser',
 	'sharing_management' => 'Gestion des options de partage',
@@ -422,12 +416,10 @@ return array(
 	'think_to_add' => 'Vous pouvez ajouter des flux.',
 	'this_is_the_end' => 'This is the end',
 	'thu' => 'jeu.',
-	'today' => 'Aujourd’hui',
 	'top_line' => 'Ligne du haut',
 	'truncate' => 'Supprimer tous les articles',
 	'ttl' => 'Ne pas automatiquement rafraîchir plus souvent que',
 	'tue' => 'mar.',
-	'twitter' => 'Twitter',
 	'unsafe_autologin' => 'Autoriser les connexions automatiques non-sûres au format : ',
 	'update_apply' => 'Appliquer la mise à jour',
 	'update_can_apply' => 'Une mise à jour est disponible.',
@@ -452,7 +444,6 @@ return array(
 	'users_list' => 'Liste des utilisateurs',
 	'version' => 'Version',
 	'version_update' => 'Mise à jour',
-	'wallabag' => 'wallabag',
 	'website' => 'Site Internet',
 	'website_url' => 'URL du site',
 	'wed' => 'mer.',
@@ -461,10 +452,7 @@ return array(
 	'width_no_limit' => 'Pas de limite',
 	'width_thin' => 'Fine',
 	'yes' => 'Oui',
-	'yesterday' => 'Hier',
 	'your_diaspora_pod' => 'Votre pod Diaspora*',
-	'your_favorites' => 'Vos favoris',
-	'your_rss_feeds' => 'Vos flux RSS',
 	'your_shaarli' => 'Votre Shaarli',
 	'your_wallabag' => 'Votre wallabag',
 	'zip_error' => 'Une erreur est survenue durant l’import du fichier Zip.',

+ 24 - 1
app/i18n/fr/index.php

@@ -1,7 +1,14 @@
 <?php
 
 return array(
-	'logs' => array(
+	'entry' => array(
+		'by_author' => 'Par <em>%s</em>',
+	),
+	'feed' => array(
+		'title' => 'Vos flux RSS',
+		'title_fav' => 'Vos favoris',
+	),
+	'log' => array(
 		'_' => 'Logs',
 		'clear' => 'Effacer les logs',
 		'empty' => 'Les logs sont vides.',
@@ -28,10 +35,26 @@ return array(
 		'read' => 'Afficher les non lus',
 		'reader_view' => 'Vue lecture',
 		'rss_view' => 'Flux RSS',
+		'search_short' => 'Rechercher',
 		'see_website' => 'Voir le site',
 		'starred' => 'Afficher les favoris',
 		'stats' => 'Statistiques',
 		'subscription' => 'Gestion des abonnements',
 		'unread' => 'Afficher les lus',
 	),
+	'share' => array(
+		'_' => 'Partager',
+		'blogotext' => 'Blogotext',
+		'diaspora' => 'Diaspora*',
+		'email' => 'Courriel',
+		'facebook' => 'Facebook',
+		'g+' => 'Google+',
+		'print' => 'Imprimer',
+		'shaarli' => 'Shaarli',
+		'twitter' => 'Twitter',
+		'wallabag' => 'wallabag',
+	),
+	'tag' => array(
+		'related' => 'Tags associés',
+	),
 );

+ 1 - 1
app/layout/header.phtml

@@ -25,7 +25,7 @@ if (Minz_Configuration::canLogIn()) {
 		<form action="<?php echo _url('index', 'index'); ?>" method="get">
 			<div class="stick">
 				<?php $search = Minz_Request::param('search', ''); ?>
-				<input type="search" name="search" id="search" class="extend" value="<?php echo $search; ?>" placeholder="<?php echo _t('gen.search'); ?>" />
+				<input type="search" name="search" id="search" class="extend" value="<?php echo $search; ?>" placeholder="<?php echo _t('gen.menu.search'); ?>" />
 
 				<?php $get = Minz_Request::param('get', ''); ?>
 				<?php if ($get != '') { ?>

+ 4 - 4
app/views/helpers/pagination.phtml

@@ -20,7 +20,7 @@
 	<li class="item pager-next">
 	<?php if (FreshRSS_Context::$next_id) { ?>
 		<a id="load_more" href="<?php echo Minz_Url::display($url_next); ?>">
-			<?php echo _t('load_more'); ?>
+			<?php echo _t('gen.pagination.load_more'); ?>
 		</a>
 	<?php } elseif ($url_mark_read) { ?>
 		<button id="bigMarkAsRead"
@@ -28,13 +28,13 @@
 		        form="mark-read-pagination"
 		        formaction="<?php echo Minz_Url::display($url_mark_read); ?>"
 		        type="submit">
-			<?php echo _t('nothing_to_load'); ?><br />
+			<?php echo _t('gen.pagination.nothing_to_load'); ?><br />
 			<span class="bigTick">✓</span><br />
-			<?php echo _t('mark_all_read'); ?>
+			<?php echo _t('gen.pagination.mark_all_read'); ?>
 		</button>
 	<?php } else { ?>
 		<a id="bigMarkAsRead" href=".">
-			<?php echo _t('nothing_to_load'); ?><br />
+			<?php echo _t('gen.pagination.nothing_to_load'); ?><br />
 		</a>
 	<?php } ?>
 	</li>

+ 3 - 3
app/views/index/logs.phtml

@@ -1,10 +1,10 @@
 <div class="post content">
 	<a href="<?php echo _url('index', 'index'); ?>"><?php echo _t('gen.action.back_to_rss_feeds'); ?></a>
 
-	<h1><?php echo _t('index.logs'); ?></h1>
+	<h1><?php echo _t('index.log'); ?></h1>
 	<form method="post" action="<?php echo _url('index', 'logs'); ?>"><p>
 		<input type="hidden" name="clearLogs" />
-		<button type="submit" class="btn"><?php echo _t('index.logs.clear'); ?></button>
+		<button type="submit" class="btn"><?php echo _t('index.log.clear'); ?></button>
 	</p></form>
 
 	<?php $items = $this->logsPaginator->items(); ?>
@@ -20,6 +20,6 @@
 		<?php $this->logsPaginator->render('logs_pagination.phtml','page'); ?>
 	</div>
 	<?php } else { ?>
-	<p class="alert alert-warn"><?php echo _t('index.logs.empty'); ?></p>
+	<p class="alert alert-warn"><?php echo _t('index.log.empty'); ?></p>
 	<?php } ?>
 </div>

+ 8 - 8
app/views/index/normal.phtml

@@ -32,12 +32,12 @@ if (!empty($this->entries)) {
 
 <div id="stream" class="normal<?php echo $hidePosts ? ' hide_posts' : ''; ?>"><?php
 	?><div id="new-article">
-		<a href="<?php echo Minz_Url::display(Minz_Request::currentRequest()); ?>"><?php echo _t('new_article'); ?></a>
+		<a href="<?php echo Minz_Url::display(Minz_Request::currentRequest()); ?>"><?php echo _t('gen.js.new_article'); /* TODO: move string in JS*/ ?></a>
 	</div><?php
 	foreach ($this->entries as $item) {
 		if ($display_today && $item->isDay(FreshRSS_Days::TODAY, $today)) {
 			?><div class="day" id="day_today"><?php
-				echo _t('today');
+				echo _t('gen.date.today');
 				?><span class="date"> — <?php echo timestamptodate(time(), false); ?></span><?php
 				?><span class="name"><?php echo FreshRSS_Context::$name; ?></span><?php
 			?></div><?php
@@ -45,7 +45,7 @@ if (!empty($this->entries)) {
 		}
 		if ($display_yesterday && $item->isDay(FreshRSS_Days::YESTERDAY, $today)) {
 			?><div class="day" id="day_yesterday"><?php
-				echo _t('yesterday');
+				echo _t('gen.date.yesterday');
 				?><span class="date"> — <?php echo timestamptodate(time() - 86400, false); ?></span><?php
 				?><span class="name"><?php echo FreshRSS_Context::$name; ?></span><?php
 			?></div><?php
@@ -53,7 +53,7 @@ if (!empty($this->entries)) {
 		}
 		if ($display_others && $item->isDay(FreshRSS_Days::BEFORE_YESTERDAY, $today)) {
 			?><div class="day" id="day_before_yesterday"><?php
-				echo _t('before_yesterday');
+				echo _t('gen.date.before_yesterday');
 				?><span class="name"><?php echo FreshRSS_Context::$name; ?></span><?php
 			?></div><?php
 			$display_others = false;
@@ -100,7 +100,7 @@ if (!empty($this->entries)) {
 				<h1 class="title"><a target="_blank" href="<?php echo $item->link(); ?>"><?php echo $item->title(); ?></a></h1>
 				<?php
 					$author = $item->author();
-					echo $author != '' ? '<div class="author">' . _t('by_author', $author) . '</div>' : '',
+					echo $author != '' ? '<div class="author">' . _t('index.entry.by_author', $author) . '</div>' : '',
 						$lazyload && $hidePosts ? lazyimg($item->content()) : $item->content();
 				?>
 			</div>
@@ -135,7 +135,7 @@ if (!empty($this->entries)) {
 						<div id="dropdown-share-<?php echo $item->id();?>" class="dropdown-target"></div>
 						<a class="dropdown-toggle" href="#dropdown-share-<?php echo $item->id();?>">
 							<?php echo _i('share'); ?>
-							<?php echo _t('share'); ?>
+							<?php echo _t('index.share'); ?>
 						</a>
 
 						<ul class="dropdown-menu">
@@ -143,7 +143,7 @@ if (!empty($this->entries)) {
 							<?php foreach ($sharing as $share) :?>
 								<li class="item share">
 									<a target="_blank" href="<?php echo FreshRSS_Share::generateUrl(FreshRSS_Context::$conf->shares, $share, $item->link(), $item->title() . ' . ' . $feed->name())?>">
-										<?php echo _t($share['name']);?>
+										<?php echo _t('index.share.' . $share['name']);?>
 									</a>
 								</li>
 							<?php endforeach;?>
@@ -158,7 +158,7 @@ if (!empty($this->entries)) {
 						<div id="dropdown-tags-<?php echo $item->id();?>" class="dropdown-target"></div>
 						<?php echo _i('tag'); ?>
 						<a class="dropdown-toggle" href="#dropdown-tags-<?php echo $item->id();?>"><?php
-							echo _t('related_tags');
+							echo _t('index.tag.related');
 						?></a>
 						<ul class="dropdown-menu">
 							<li class="dropdown-close"><a href="#close">❌</a></li><?php

+ 4 - 4
lib/lib_rss.php

@@ -79,11 +79,11 @@ function format_bytes($bytes, $precision = 2, $system = 'IEC') {
 }
 
 function timestamptodate ($t, $hour = true) {
-	$month = _t(date('M', $t));
+	$month = _t('gen.date.' . date('M', $t));
 	if ($hour) {
-		$date = _t('format_date_hour', $month);
+		$date = _t('gen.date.format_date_hour', $month);
 	} else {
-		$date = _t('format_date', $month);
+		$date = _t('gen.date.format_date', $month);
 	}
 
 	return @date ($date, $t);
@@ -110,7 +110,7 @@ function html_only_entity_decode($text) {
 function customSimplePie() {
 	$limits = Minz_Configuration::limits();
 	$simplePie = new SimplePie();
-	$simplePie->set_useragent(_t('freshrss') . '/' . FRESHRSS_VERSION . ' (' . PHP_OS . '; ' . FRESHRSS_WEBSITE . ') ' . SIMPLEPIE_NAME . '/' . SIMPLEPIE_VERSION);
+	$simplePie->set_useragent(_t('gen.freshrss') . '/' . FRESHRSS_VERSION . ' (' . PHP_OS . '; ' . FRESHRSS_WEBSITE . ') ' . SIMPLEPIE_NAME . '/' . SIMPLEPIE_VERSION);
 	$simplePie->set_cache_location(CACHE_PATH);
 	$simplePie->set_cache_duration($limits['cache_duration']);
 	$simplePie->set_timeout($limits['timeout']);