Browse Source

Fix i18n for auth and category controllers

Marien Fressinaud 11 years ago
parent
commit
c1a3412b97

+ 18 - 18
app/Controllers/authController.php

@@ -22,7 +22,7 @@ class FreshRSS_auth_Controller extends Minz_ActionController {
 			Minz_Error::error(403);
 		}
 
-		Minz_View::prependTitle(_t('gen.title.authentication') . ' · ');
+		Minz_View::prependTitle(_t('gen.auth.title') . ' · ');
 
 		if (Minz_Request::isPost()) {
 			$ok = true;
@@ -56,10 +56,10 @@ class FreshRSS_auth_Controller extends Minz_ActionController {
 			invalidateHttpCache();
 
 			if ($ok) {
-				Minz_Request::good(_t('configuration_updated'),
+				Minz_Request::good(_t('feedback.configuration.updated'),
 				                   array('c' => 'auth', 'a' => 'index'));
 			} else {
-				Minz_Request::bad(_t('error_occurred'),
+				Minz_Request::bad(_t('feedback.configuration.error'),
 				                  array('c' => 'auth', 'a' => 'index'));
 			}
 		}
@@ -123,7 +123,7 @@ class FreshRSS_auth_Controller extends Minz_ActionController {
 			} catch(Minz_Exception $e) {
 				// $username is not a valid user, nor the configuration file!
 				Minz_Log::warning('Login failure: ' . $e->getMessage());
-				Minz_Request::bad(_t('invalid_login'),
+				Minz_Request::bad(_t('feedback.auth.login.invalid'),
 				                  array('c' => 'auth', 'a' => 'login'));
 			}
 
@@ -144,14 +144,14 @@ class FreshRSS_auth_Controller extends Minz_ActionController {
 				}
 
 				// All is good, go back to the index.
-				Minz_Request::good(_t('feedback.login.success'),
+				Minz_Request::good(_t('feedback.auth.login.success'),
 				                   array('c' => 'index', 'a' => 'index'));
 			} else {
 				Minz_Log::warning('Password mismatch for' .
 				                  ' user=' . $username .
 				                  ', nonce=' . $nonce .
 				                  ', c=' . $challenge);
-				Minz_Request::bad(_t('invalid_login'),
+				Minz_Request::bad(_t('feedback.auth.login.invalid'),
 				                  array('c' => 'auth', 'a' => 'login'));
 			}
 		} elseif (Minz_Configuration::unsafeAutologinEnabled()) {
@@ -183,11 +183,11 @@ class FreshRSS_auth_Controller extends Minz_ActionController {
 				Minz_Session::_param('passwordHash', $s);
 				FreshRSS_Auth::giveAccess();
 
-				Minz_Request::good(_t('feedback.login.success'),
+				Minz_Request::good(_t('feedback.auth.login.success'),
 				                   array('c' => 'index', 'a' => 'index'));
 			} else {
 				Minz_Log::warning('Unsafe password mismatch for user ' . $username);
-				Minz_Request::bad(_t('invalid_login'),
+				Minz_Request::bad(_t('feedback.auth.login.invalid'),
 				                  array('c' => 'auth', 'a' => 'login'));
 			}
 		}
@@ -261,7 +261,7 @@ class FreshRSS_auth_Controller extends Minz_ActionController {
 
 				$res = array();
 				$res['status'] = 'failure';
-				$res['reason'] = _t('invalid_login');
+				$res['reason'] = _t('feedback.auth.login.invalid');
 			}
 
 			header('Content-Type: application/json; charset=UTF-8');
@@ -275,7 +275,7 @@ class FreshRSS_auth_Controller extends Minz_ActionController {
 	public function logoutAction() {
 		invalidateHttpCache();
 		FreshRSS_Auth::removeAccess();
-		Minz_Request::good(_t('feedback.logout.success'),
+		Minz_Request::good(_t('feedback.auth.logout.success'),
 		                   array('c' => 'index', 'a' => 'index'));
 	}
 
@@ -285,7 +285,7 @@ class FreshRSS_auth_Controller extends Minz_ActionController {
 	 * After reseting, form auth is set by default.
 	 */
 	public function resetAction() {
-		Minz_View::prependTitle(_t('auth_reset') . ' · ');
+		Minz_View::prependTitle(_t('feedback.auth.title_reset') . ' · ');
 
 		Minz_View::appendScript(Minz_Url::display(
 			'/scripts/bcrypt.min.js?' . @filemtime(PUBLIC_PATH . '/scripts/bcrypt.min.js')
@@ -296,8 +296,8 @@ class FreshRSS_auth_Controller extends Minz_ActionController {
 		if (Minz_Configuration::authType() != 'persona') {
 			$this->view->message = array(
 				'status' => 'bad',
-				'title' => _t('damn'),
-				'body' => _t('auth_not_persona')
+				'title' => _t('gen.short.damn'),
+				'body' => _t('feedback.auth.not_persona')
 			);
 			$this->view->no_form = true;
 			return;
@@ -308,8 +308,8 @@ class FreshRSS_auth_Controller extends Minz_ActionController {
 		if (!$conf->passwordHash) {
 			$this->view->message = array(
 				'status' => 'bad',
-				'title' => _t('damn'),
-				'body' => _t('auth_no_password_set')
+				'title' => _t('gen.short.damn'),
+				'body' => _t('feedback.auth.no_password_set')
 			);
 			$this->view->no_form = true;
 			return;
@@ -331,9 +331,9 @@ class FreshRSS_auth_Controller extends Minz_ActionController {
 				$ok = Minz_Configuration::writeFile();
 
 				if ($ok) {
-					Minz_Request::good(_t('auth_form_set'));
+					Minz_Request::good(_t('feedback.auth.form.set'));
 				} else {
-					Minz_Request::bad(_t('auth_form_not_set'),
+					Minz_Request::bad(_t('feedback.auth.form.not_set'),
 				                      array('c' => 'auth', 'a' => 'reset'));
 				}
 			} else {
@@ -341,7 +341,7 @@ class FreshRSS_auth_Controller extends Minz_ActionController {
 				                  ' user=' . $username .
 				                  ', nonce=' . $nonce .
 				                  ', c=' . $challenge);
-				Minz_Request::bad(_t('invalid_login'),
+				Minz_Request::bad(_t('feedback.auth.login.invalid'),
 				                  array('c' => 'auth', 'a' => 'reset'));
 			}
 		}

+ 17 - 17
app/Controllers/categoryController.php

@@ -34,7 +34,7 @@ class FreshRSS_category_Controller extends Minz_ActionController {
 		$this->view->categories = $catDAO->listCategories(false);
 
 		if (count($this->view->categories) >= $limits['max_categories']) {
-			Minz_Request::bad(_t('sub.categories.over_max', $limits['max_categories']),
+			Minz_Request::bad(_t('feedback.sub.category.over_max', $limits['max_categories']),
 			                  $url_redirect);
 		}
 
@@ -43,13 +43,13 @@ class FreshRSS_category_Controller extends Minz_ActionController {
 
 			$cat_name = Minz_Request::param('new-category');
 			if (!$cat_name) {
-				Minz_Request::bad(_t('category_no_name'), $url_redirect);
+				Minz_Request::bad(_t('feedback.sub.category.no_name'), $url_redirect);
 			}
 
 			$cat = new FreshRSS_Category($cat_name);
 
 			if ($catDAO->searchByName($cat->name()) != null) {
-				Minz_Request::bad(_t('category_name_exists'), $url_redirect);
+				Minz_Request::bad(_t('feedback.sub.category.name_exists'), $url_redirect);
 			}
 
 			$values = array(
@@ -58,9 +58,9 @@ class FreshRSS_category_Controller extends Minz_ActionController {
 			);
 
 			if ($catDAO->addCategory($values)) {
-				Minz_Request::good(_t('category_created', $cat->name()), $url_redirect);
+				Minz_Request::good(_t('feedback.sub.category.created', $cat->name()), $url_redirect);
 			} else {
-				Minz_Request::bad(_t('error_occurred'), $url_redirect);
+				Minz_Request::bad(_t('feedback.sub.category.error'), $url_redirect);
 			}
 		}
 
@@ -84,11 +84,11 @@ class FreshRSS_category_Controller extends Minz_ActionController {
 			$id = Minz_Request::param('id');
 			$name = Minz_Request::param('name', '');
 			if (strlen($name) <= 0) {
-				Minz_Request::bad(_t('category_no_name'), $url_redirect);
+				Minz_Request::bad(_t('feedback.sub.category.no_name'), $url_redirect);
 			}
 
 			if ($catDAO->searchById($id) == null) {
-				Minz_Request::bad(_t('category_not_exist'), $url_redirect);
+				Minz_Request::bad(_t('feedback.sub.category.not_exist'), $url_redirect);
 			}
 
 			$cat = new FreshRSS_Category($name);
@@ -97,9 +97,9 @@ class FreshRSS_category_Controller extends Minz_ActionController {
 			);
 
 			if ($catDAO->updateCategory($id, $values)) {
-				Minz_Request::good(_t('category_updated'), $url_redirect);
+				Minz_Request::good(_t('feedback.sub.category.updated'), $url_redirect);
 			} else {
-				Minz_Request::bad(_t('error_occurred'), $url_redirect);
+				Minz_Request::bad(_t('feedback.sub.category.error'), $url_redirect);
 			}
 		}
 
@@ -125,26 +125,26 @@ class FreshRSS_category_Controller extends Minz_ActionController {
 
 			$id = Minz_Request::param('id');
 			if (!$id) {
-				Minz_Request::bad(_t('category_no_id'), $url_redirect);
+				Minz_Request::bad(_t('feedback.sub.category.no_id'), $url_redirect);
 			}
 
 			if ($id === $default_category->id()) {
-				Minz_Request::bad(_t('category_not_delete_default'), $url_redirect);
+				Minz_Request::bad(_t('feedback.sub.category.not_delete_default'), $url_redirect);
 			}
 
 			if ($feedDAO->changeCategory($id, $default_category->id()) === false) {
-				Minz_Request::bad(_t('error_occurred'), $url_redirect);
+				Minz_Request::bad(_t('feedback.sub.category.error'), $url_redirect);
 			}
 
 			if ($catDAO->deleteCategory($id) === false) {
-				Minz_Request::bad(_t('error_occurred'), $url_redirect);
+				Minz_Request::bad(_t('feedback.sub.category.error'), $url_redirect);
 			}
 
 			// Remove related queries.
 			FreshRSS_Context::$conf->remove_query_by_get('c_' . $id);
 			FreshRSS_Context::$conf->save();
 
-			Minz_Request::good(_t('category_deleted'), $url_redirect);
+			Minz_Request::good(_t('feedback.sub.category.deleted'), $url_redirect);
 		}
 
 		Minz_Request::forward($url_redirect, true);
@@ -166,7 +166,7 @@ class FreshRSS_category_Controller extends Minz_ActionController {
 
 			$id = Minz_Request::param('id');
 			if (!$id) {
-				Minz_Request::bad(_t('category_no_id'), $url_redirect);
+				Minz_Request::bad(_t('feedback.sub.category.no_id'), $url_redirect);
 			}
 
 			// List feeds to remove then related user queries.
@@ -181,9 +181,9 @@ class FreshRSS_category_Controller extends Minz_ActionController {
 				}
 				FreshRSS_Context::$conf->save();
 
-				Minz_Request::good(_t('category_emptied'), $url_redirect);
+				Minz_Request::good(_t('feedback.sub.category.emptied'), $url_redirect);
 			} else {
-				Minz_Request::bad(_t('error_occurred'), $url_redirect);
+				Minz_Request::bad(_t('feedback.sub.category.error'), $url_redirect);
 			}
 		}
 

+ 3 - 3
app/Controllers/importExportController.php

@@ -183,7 +183,7 @@ class FreshRSS_importExport_Controller extends Minz_ActionController {
 			if (isset($elt['xmlUrl'])) {
 				// If xmlUrl exists, it means it is a feed
 				if ($nb_feeds >= $limits['max_feeds']) {
-					Minz_Log::warning(_t('sub.feed.over_max',
+					Minz_Log::warning(_t('feedback.sub.feed.over_max',
 					                  $limits['max_feeds']));
 					$is_error = true;
 					continue;
@@ -197,7 +197,7 @@ class FreshRSS_importExport_Controller extends Minz_ActionController {
 				// No xmlUrl? It should be a category!
 				$limit_reached = ($nb_cats >= $limits['max_categories']);
 				if ($limit_reached) {
-					Minz_Log::warning(_t('sub.category.over_max',
+					Minz_Log::warning(_t('feedback.sub.category.over_max',
 					                  $limits['max_categories']));
 				}
 
@@ -337,7 +337,7 @@ class FreshRSS_importExport_Controller extends Minz_ActionController {
 				// Feed does not exist in DB,we should to try to add it.
 				if ($nb_feeds >= $limits['max_feeds']) {
 					// Oops, no more place!
-					Minz_Log::warning(_t('sub.feed.over_max', $limits['max_feeds']));
+					Minz_Log::warning(_t('feedback.sub.feed.over_max', $limits['max_feeds']));
 				} else {
 					$feed = $this->addFeedJson($item['origin'], $google_compliant);
 				}

+ 37 - 9
app/i18n/en/feedback.php

@@ -1,6 +1,25 @@
 <?php
 
 return array(
+	'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.',
+	),
+	'configuration' => array(
+		'updated' => 'Configuration has been updated',
+		'error' => 'An error occurred during configuration saving',
+	),
 	'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',
@@ -9,16 +28,25 @@ return array(
 		'no_zip_extension' => 'Zip extension is not present on your server.',
 		'zip_error' => 'An error occured during Zip import.',
 	),
-	'login' => array(
-		'error' => 'Login is invalid',
-		'success' => 'You are connected',
-	),
-	'logout' => array(
-		'success' => 'You are disconnected',
-	),
 	'sub' => array(
-		'error_occurred' => 'Feed cannot be updated',
-		'feed_updated' => 'Feed has been updated',
+		'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(
+			'error' => 'Feed cannot be updated',
+			'over_max' => 'You have reached your limit of feeds (%d)',
+			'updated' => 'Feed has been updated',
+		),
 	),
 	'user_profile' => array(
 		'updated' => 'Your profile has been modified',

+ 0 - 16
app/i18n/en/gen.php

@@ -148,11 +148,7 @@ return array(
 	'articles_per_page' => 'Number of articles per page',
 	'articles_to_display' => 'Articles to display',
 	'auth_form' => 'Web form (traditional, requires JavaScript)',
-	'auth_form_not_set' => 'A problem occured during authentication system configuration. Please retry later.',
-	'auth_form_set' => 'Form is now your default authentication system.',
-	'auth_no_password_set' => 'Administrator password hasn’t been set. This feature isn’t available.',
 	'auth_none' => 'None (dangerous)',
-	'auth_not_persona' => 'Only Persona system can be reset.',
 	'auth_persona' => 'Mozilla Persona (modern, requires JavaScript)',
 	'auth_reset' => 'Authentication reset',
 	'auth_token' => 'Authentication token',
@@ -181,21 +177,11 @@ return array(
 	'categories_management' => 'Categories management',
 	'categories_updated' => 'Categories have been updated',
 	'categorize' => 'Store in a category',
-	'category_created' => 'Category %s has been created.',
-	'category_deleted' => 'Category has been deleted.',
-	'category_emptied' => 'Category has been emptied',
-	'category_name_exists' => 'Category name already exists.',
-	'category_no_id' => 'You must precise the id of the category.',
-	'category_no_name' => 'Category name cannot be empty.',
-	'category_not_delete_default' => 'You cannot delete the default category!',
-	'category_not_exist' => 'The category does not exist!',
 	'category_number' => 'Category n°%d',
-	'category_updated' => 'Category has been updated.',
 	'change_value' => 'You should change this value by any other',
 	'checks' => 'Checks',
 	'choose_language' => 'Choose a language for FreshRSS',
 	'collapse_article' => 'Collapse',
-	'configuration_updated' => 'Configuration has been updated',
 	'congratulations' => 'Congratulations!',
 	'content_width' => 'Content width',
 	'create' => 'Create',
@@ -216,7 +202,6 @@ return array(
 	'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',
-	'error_occurred' => 'An error occurred',
 	'explain_token' => 'Allows to access RSS output of the default user without authentication.<br /><kbd>%s?output=rss&token=%s</kbd>',
 	'favicons_is_ok' => 'Permissions on favicons directory are good',
 	'feed' => 'Feed',
@@ -247,7 +232,6 @@ return array(
 	'installation_is_ok' => 'The installation process was successful.<br />The final step will now attempt to delete any file and database backup created during the update process.<br />You may choose to skip this step by deleting <kbd>./data/do-install.txt</kbd> manually.',
 	'installation_step' => 'Installation — step %d · FreshRSS',
 	'internal_problem_feed' => 'The RSS feed could not be added. <a href="%s">Check FressRSS logs</a> for details.',
-	'invalid_login' => 'Login is invalid',
 	'invalid_url' => 'URL <em>%s</em> is invalid',
 	'is_admin' => 'is administrator',
 	'javascript_for_shortcuts' => 'JavaScript must be enabled in order to use shortcuts',

+ 0 - 2
app/i18n/en/sub.php

@@ -6,7 +6,6 @@ return array(
 		'add' => 'Add a category',
 		'empty' => 'Empty category',
 		'new' => 'New category',
-		'over_max' => 'You have reached your limit of categories (%d)',
 	),
 	'feed' => array(
 		'add' => 'Add a RSS feed',
@@ -29,7 +28,6 @@ return array(
 		'keep_history' => 'Minimum number of articles to keep',
 		'moved_category_deleted' => 'When you delete a category, their feeds are automatically classified under <em>%s</em>.',
 		'number_entries' => '%d articles',
-		'over_max' => 'You have reached your limit of feeds (%d)',
 		'stats' => 'Statistics',
 		'title' => 'Title',
 		'ttl' => 'Do not automatically refresh more often than',

+ 37 - 9
app/i18n/fr/feedback.php

@@ -1,6 +1,25 @@
 <?php
 
 return array(
+	'auth' => array(
+		'form' => array(
+			'not_set' => 'Un problème est survenu lors de la configuration de votre système d’authentification. Veuillez réessayer plus tard.',
+			'set' => 'Le formulaire est désormais votre système d’authentification.',
+		),
+		'login' => array(
+			'invalid' => 'L’identifiant est invalide',
+			'success' => 'Vous êtes désormais connecté',
+		),
+		'logout' => 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é.',
+	),
+	'configuration' => array(
+		'updated' => 'La configuration a été mise à jour',
+		'error' => 'Une erreur est survenue en sauvegardant la configuration',
+	),
 	'import_export' => array(
 		'export_no_zip_extension' => 'L’extension Zip n’est pas présente sur votre serveur. Veuillez essayer d’exporter les fichiers un par un.',
 		'feeds_imported' => 'Vos flux ont été importés et vont maintenant être actualisés.',
@@ -9,16 +28,25 @@ return array(
 		'no_zip_extension' => 'L’extension Zip n’est pas présente sur votre serveur.',
 		'zip_error' => 'Une erreur est survenue durant l’import du fichier Zip.',
 	),
-	'login' => array(
-		'error' => 'L’identifiant est invalide',
-		'success' => 'Vous êtes désormais connecté',
-	),
-	'logout' => array(
-		'success' => 'Vous avez été déconnecté',
-	),
 	'sub' => array(
-		'error_occurred' => 'Le flux n’a pas pu être modifié',
-		'feed_updated' => 'Le flux a été mis à jour',
+		'category' => array(
+			'created' => 'La catégorie %s a été créée.',
+			'deleted' => 'La catégorie a été supprimée.',
+			'emptied' => 'La catégorie a été vidée.',
+			'error' => 'La catégorie n’a pas pu être modifiée',
+			'name_exists' => 'Une catégorie possède déjà ce nom.',
+			'no_id' => 'Vous devez préciser l’id de la catégorie.',
+			'no_name' => 'Vous devez préciser un nom pour la catégorie.',
+			'not_delete_default' => 'Vous ne pouvez pas supprimer la catégorie par défaut !',
+			'not_exist' => 'Cette catégorie n’existe pas !',
+			'over_max' => 'Vous avez atteint votre limite de catégories (%d)',
+			'updated' => 'La catégorie a été mise à jour.',
+		),
+		'feed' => array(
+			'error' => 'Le flux n’a pas pu être modifié',
+			'over_max' => 'Vous avez atteint votre limite de flux (%d)',
+			'updated' => 'Le flux a été mis à jour',
+		),
 	),
 	'user_profile' => array(
 		'updated' => 'Votre profil a été mis à jour',

+ 2 - 18
app/i18n/fr/gen.php

@@ -21,6 +21,8 @@ return array(
 	'auth' => array(
 		'login' => 'Connexion',
 		'logout' => 'Déconnexion',
+		'title' => 'Authentification',
+		'title_reset' => 'Réinitialisation de l’authentification',
 	),
 	'date' => array(
 		'Apr' => '\\a\\v\\r\\i\\l',
@@ -124,7 +126,6 @@ return array(
 		'yes' => 'Oui',
 	),
 	'title' => array(
-		'authentication' => 'Authentification',
 		'check_install' => 'Vérification de l’installation',
 		'user_management' => 'Gestion des utilisateurs',
 		'user_profile' => 'Profil',
@@ -148,13 +149,8 @@ return array(
 	'articles_per_page' => 'Nombre d’articles par page',
 	'articles_to_display' => 'Articles à afficher',
 	'auth_form' => 'Formulaire (traditionnel, requiert JavaScript)',
-	'auth_form_not_set' => 'Un problème est survenu lors de la configuration de votre système d’authentification. Veuillez réessayer plus tard.',
-	'auth_form_set' => 'Le formulaire est désormais votre système d’authentification.',
-	'auth_no_password_set' => 'Aucun mot de passe administrateur n’a été précisé. Cette fonctionnalité n’est pas disponible.',
 	'auth_none' => 'Aucune (dangereux)',
-	'auth_not_persona' => 'Seul le système d’authentification Persona peut être réinitialisé.',
 	'auth_persona' => 'Mozilla Persona (moderne, requiert JavaScript)',
-	'auth_reset' => 'Réinitialisation de l’authentification',
 	'auth_token' => 'Jeton d’identification',
 	'auth_type' => 'Méthode d’authentification',
 	'auth_will_reset' => 'Le système d’authentification va être réinitialisé : un formulaire sera utilisé à la place de Persona.',
@@ -181,21 +177,11 @@ return array(
 	'categories_management' => 'Gestion des catégories',
 	'categories_updated' => 'Les catégories ont été mises à jour.',
 	'categorize' => 'Ranger dans une catégorie',
-	'category_created' => 'La catégorie %s a été créée.',
-	'category_deleted' => 'La catégorie a été supprimée.',
-	'category_emptied' => 'La catégorie a été vidée.',
-	'category_name_exists' => 'Une catégorie possède déjà ce nom.',
-	'category_no_id' => 'Vous devez préciser l’id de la catégorie.',
-	'category_no_name' => 'Vous devez préciser un nom pour la catégorie.',
-	'category_not_delete_default' => 'Vous ne pouvez pas supprimer la catégorie par défaut !',
-	'category_not_exist' => 'Cette catégorie n’existe pas !',
 	'category_number' => 'Catégorie n°%d',
-	'category_updated' => 'La catégorie a été mise à jour.',
 	'change_value' => 'Vous devriez changer cette valeur par n’importe quelle autre',
 	'checks' => 'Vérifications',
 	'choose_language' => 'Choisissez la langue pour FreshRSS',
 	'collapse_article' => 'Refermer',
-	'configuration_updated' => 'La configuration a été mise à jour.',
 	'congratulations' => 'Félicitations !',
 	'content_width' => 'Largeur du contenu',
 	'create' => 'Créer',
@@ -216,7 +202,6 @@ return array(
 	'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',
-	'error_occurred' => 'Une erreur est survenue !',
 	'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>',
 	'favicons_is_ok' => 'Les droits sur le répertoire des favicons sont bons',
 	'feed' => 'Flux',
@@ -247,7 +232,6 @@ return array(
 	'installation_is_ok' => 'L’installation s’est bien passée.<br />La dernière étape va maintenant tenter de supprimer les fichiers ainsi que d’éventuelles copies de base de données créés durant le processus de mise à jour.<br />Vous pouvez choisir de sauter cette étape en supprimant <kbd>./data/do-install.txt</kbd> manuellement.',
 	'installation_step' => 'Installation — étape %d · FreshRSS',
 	'internal_problem_feed' => 'Le flux ne peut pas être ajouté. <a href="%s">Consulter les logs de FreshRSS</a> pour plus de détails.',
-	'invalid_login' => 'L’identifiant est invalide !',
 	'invalid_url' => 'L’url <em>%s</em> est invalide.',
 	'is_admin' => 'est administrateur',
 	'javascript_for_shortcuts' => 'Le JavaScript doit être activé pour pouvoir profiter des raccourcis.',

+ 0 - 2
app/i18n/fr/sub.php

@@ -6,7 +6,6 @@ return array(
 		'add' => 'Ajouter une catégorie',
 		'empty' => 'Catégorie vide',
 		'new' => 'Nouvelle catégorie',
-		'over_max' => 'Vous avez atteint votre limite de catégories (%d)',
 	),
 	'feed' => array(
 		'add' => 'Ajouter un flux RSS',
@@ -29,7 +28,6 @@ return array(
 		'keep_history' => 'Nombre minimum d’articles à conserver',
 		'moved_category_deleted' => 'Lors de la suppression d’une catégorie, ses flux seront automatiquement classés dans <em>%s</em>.',
 		'number_entries' => '%d articles',
-		'over_max' => 'Vous avez atteint votre limite de flux (%d)',
 		'stats' => 'Statistiques',
 		'title' => 'Titre',
 		'ttl' => 'Ne pas automatiquement rafraîchir plus souvent que',