Translate Traitement des notifications

This commit is contained in:
Fred Tempez 2022-10-11 10:33:44 +02:00
parent b3c4a335e5
commit 084ee771bb
12 changed files with 165 additions and 110 deletions

View File

@ -607,7 +607,7 @@ class config extends common
} }
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'title' => helper::translate('Éditeur de script'. ' ' . ucfirst($this->geturl(2))), 'title' => sprintf( helper::translate('Éditeur de script %s'), ucfirst($this->geturl(2))),
'vendor' => [ 'vendor' => [
'codemirror' 'codemirror'
], ],

View File

@ -222,7 +222,7 @@ class install extends common
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl(false), 'redirect' => helper::baseUrl(false),
'notification' => $sent === true ? 'Installation terminée' : $sent, 'notification' => $sent === true ? helper::translate('Installation terminée') : $sent,
'state' => ($sent === true && $success === true) ? true : null 'state' => ($sent === true && $success === true) ? true : null
]); ]);
} }

View File

@ -84,13 +84,13 @@ class page extends common
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . 'page/edit/' . $url[0], 'redirect' => helper::baseUrl() . 'page/edit/' . $url[0],
'notification' => 'Jeton invalide' 'notification' => helper::translate('Jeton invalide')
]); ]);
} elseif ($_GET['csrf'] !== $_SESSION['csrf']) { } elseif ($_GET['csrf'] !== $_SESSION['csrf']) {
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . 'page/edit/' . $url[0], 'redirect' => helper::baseUrl() . 'page/edit/' . $url[0],
'notification' => 'Suppression non autorisée' 'notification' => helper::translate('Suppression interdite')
]); ]);
} }
// Duplication de la page // Duplication de la page
@ -104,7 +104,7 @@ class page extends common
]); ]);
// Ecriture // Ecriture
$this->setData(['page', $pageId, $data]); $this->setData(['page', $pageId, $data]);
$notification = 'La page a été dupliquée'; $notification = helper::translate('Page dupliquée');
// Duplication du module présent // Duplication du module présent
if ($this->getData(['page', $url[0], 'moduleId'])) { if ($this->getData(['page', $url[0], 'moduleId'])) {
$data = $this->getData([ $data = $this->getData([
@ -113,7 +113,7 @@ class page extends common
]); ]);
// Ecriture // Ecriture
$this->setData(['module', $pageId, $data]); $this->setData(['module', $pageId, $data]);
$notification = 'La page et son module ont été dupliqués'; $notification = helper::translate('Page et module dupliqués');
} }
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
@ -175,7 +175,7 @@ class page extends common
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . $pageId, 'redirect' => helper::baseUrl() . $pageId,
'notification' => 'Nouvelle page créée', 'notification' => helper::translate('Nouvelle page créée'),
'state' => true 'state' => true
]); ]);
} }
@ -198,13 +198,13 @@ class page extends common
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . 'page/edit/' . $url[0], 'redirect' => helper::baseUrl() . 'page/edit/' . $url[0],
'notification' => 'Jeton invalide' 'notification' => helper::translate('Jeton invalide')
]); ]);
} elseif ($_GET['csrf'] !== $_SESSION['csrf']) { } elseif ($_GET['csrf'] !== $_SESSION['csrf']) {
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . 'page/edit/' . $url[0], 'redirect' => helper::baseUrl() . 'page/edit/' . $url[0],
'notification' => 'Suppression non autorisée' 'notification' => helper::translate('Suppression interdite')
]); ]);
} }
// Impossible de supprimer la page d'accueil // Impossible de supprimer la page d'accueil
@ -212,7 +212,7 @@ class page extends common
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . 'config', 'redirect' => helper::baseUrl() . 'config',
'notification' => 'Désactiver la page dans la configuration avant de la supprimer' 'notification' => helper::translate('Suppression interdite, page active dans la configuration du site')
]); ]);
} }
// Impossible de supprimer la page de recherche affectée // Impossible de supprimer la page de recherche affectée
@ -220,7 +220,7 @@ class page extends common
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . 'config', 'redirect' => helper::baseUrl() . 'config',
'notification' => 'Désactiver la page dans la configuration avant de la supprimer' 'notification' => helper::translate('Suppression interdite, page active dans la configuration du site')
]); ]);
} }
// Impossible de supprimer la page des mentions légales affectée // Impossible de supprimer la page des mentions légales affectée
@ -228,7 +228,7 @@ class page extends common
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . 'config', 'redirect' => helper::baseUrl() . 'config',
'notification' => 'Désactiver la page dans la configuration avant de la supprimer' 'notification' => helper::translate('Suppression interdite, page active dans la configuration du site')
]); ]);
} }
// Impossible de supprimer la page des mentions légales affectée // Impossible de supprimer la page des mentions légales affectée
@ -236,7 +236,7 @@ class page extends common
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . 'config', 'redirect' => helper::baseUrl() . 'config',
'notification' => 'Désactiver la page dans la configuration avant de la supprimer' 'notification' => helper::translate('Suppression interdite, page active dans la configuration du site')
]); ]);
} }
// Impossible de supprimer la page des mentions légales affectée // Impossible de supprimer la page des mentions légales affectée
@ -244,7 +244,7 @@ class page extends common
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . 'config', 'redirect' => helper::baseUrl() . 'config',
'notification' => 'Désactiver la page dans la configuration avant de la supprimer' 'notification' => helper::translate('Suppression interdite, page active dans la configuration du site')
]); ]);
} }
// Impossible de supprimer la page des mentions légales affectée // Impossible de supprimer la page des mentions légales affectée
@ -252,7 +252,7 @@ class page extends common
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . 'config', 'redirect' => helper::baseUrl() . 'config',
'notification' => 'Désactiver la page dans la configuration avant de la supprimer' 'notification' => helper::translate('Suppression interdite, page active dans la configuration du site')
]); ]);
} }
// Jeton incorrect // Jeton incorrect
@ -260,13 +260,13 @@ class page extends common
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . 'page/edit/' . $url[0], 'redirect' => helper::baseUrl() . 'page/edit/' . $url[0],
'notification' => 'Jeton invalide' 'notification' => helper::translate('Jeton invalide')
]); ]);
} elseif ($_GET['csrf'] !== $_SESSION['csrf']) { } elseif ($_GET['csrf'] !== $_SESSION['csrf']) {
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . 'page/edit/' . $url[0], 'redirect' => helper::baseUrl() . 'page/edit/' . $url[0],
'notification' => 'Suppression non autorisée' 'notification' => helper::translate('Suppression interdite')
]); ]);
} }
// Impossible de supprimer une page contenant des enfants // Impossible de supprimer une page contenant des enfants
@ -274,7 +274,7 @@ class page extends common
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . 'page/edit/' . $url[0], 'redirect' => helper::baseUrl() . 'page/edit/' . $url[0],
'notification' => 'Impossible de supprimer une page contenant des enfants' 'notification' => helper::translate('Impossible de supprimer une page contenant des pages enfants')
]); ]);
} }
// Suppression // Suppression
@ -302,7 +302,7 @@ class page extends common
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl(false), 'redirect' => helper::baseUrl(false),
'notification' => 'Page supprimée', 'notification' => helper::translate('Page supprimée'),
'state' => true 'state' => true
]); ]);
} }
@ -522,7 +522,7 @@ class page extends common
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . $pageId, 'redirect' => helper::baseUrl() . $pageId,
'notification' => 'Modifications enregistrées', 'notification' => helper::translate('Modifications enregistrées'),
'state' => true 'state' => true
]); ]);
} }
@ -568,7 +568,7 @@ class page extends common
]); ]);
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'notification' => 'Modifications enregistrées', 'notification' => helper::translate('Modifications enregistrées'),
'redirect' => helper::baseUrl() . 'page/edit/' . $this->getUrl(2), 'redirect' => helper::baseUrl() . 'page/edit/' . $this->getUrl(2),
'state' => true 'state' => true
]); ]);
@ -597,7 +597,7 @@ class page extends common
]); ]);
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'notification' => 'Modifications enregistrées', 'notification' => helper::translate('Modifications enregistrées'),
'redirect' => helper::baseUrl() . 'page/edit/' . $this->getUrl(2), 'redirect' => helper::baseUrl() . 'page/edit/' . $this->getUrl(2),
'state' => true 'state' => true
]); ]);

View File

@ -62,7 +62,7 @@ class plugin extends common
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . 'plugin', 'redirect' => helper::baseUrl() . 'plugin',
'state' => false, 'state' => false,
'notification' => 'Action non autorisée' 'notification' => helper::translate('Action interdite')
]); ]);
} else { } else {
// Suppression des dossiers // Suppression des dossiers
@ -77,12 +77,12 @@ class plugin extends common
is_dir($infoModules[$this->getUrl(2)]['dataDirectory']) is_dir($infoModules[$this->getUrl(2)]['dataDirectory'])
&& !$this->removeDir($infoModules[$this->getUrl(2)]['dataDirectory']) && !$this->removeDir($infoModules[$this->getUrl(2)]['dataDirectory'])
) { ) {
$notification = 'Module ' . $module . ' désinstallé, il reste des données dans ' . $infoModules[$this->getUrl(2)]['dataDirectory']; $notification = sprintf( helper::translate('Le module %s est désinstallé, il reste peut-être des données dans %s'), $module, $infoModules[$this->getUrl(2)]['dataDirectory']);
} }
} }
} else { } else {
$success = false; $success = false;
$notification = 'La suppression a échouée'; $notification = helper::translate('La suppression a échoué');
} }
// Valeurs en sortie // Valeurs en sortie
@ -136,7 +136,7 @@ class plugin extends common
$zip->close(); $zip->close();
return ([ return ([
'success' => false, 'success' => false,
'notification' => 'Archive invalide, le descripteur est absent.' 'notification' => helper::translate('Archive invalide, le descripteur est absent')
]); ]);
} }
@ -151,7 +151,7 @@ class plugin extends common
$zip->close(); $zip->close();
return ([ return ([
'success' => false, 'success' => false,
'notification' => 'Archive invalide, les dossiers ne correspondent pas au descripteur.' 'notification' => helper::translate('Archive invalide, les dossiers ne correspondent pas au descripteur')
]); ]);
} }
// Interdire l'écriture dans le dossier core // Interdire l'écriture dans le dossier core
@ -161,7 +161,7 @@ class plugin extends common
$zip->close(); $zip->close();
return ([ return ([
'success' => false, 'success' => false,
'notification' => 'Archive invalide, l\'écriture dans le dossier core est interdite' 'notification' => helper::translate('Archive invalide, l\'écriture dans le dossier core est interdite')
]); ]);
} }
} }
@ -175,7 +175,7 @@ class plugin extends common
$zip->close(); $zip->close();
return ([ return ([
'success' => false, 'success' => false,
'notification' => 'Cette archive est invalide, le fichier de classe est absent.' 'notification' => helper::translate('Archive invalide, le fichier de classe est absent')
]); ]);
} }
@ -208,7 +208,7 @@ class plugin extends common
$zip->close(); $zip->close();
return ([ return ([
'success' => false, 'success' => false,
'notification' => 'La version installée est plus récente.' 'notification' => helper::translate('La version installée est plus récente')
]); ]);
} }
} }
@ -224,18 +224,18 @@ class plugin extends common
$success = $this->copyDir(self::TEMP_DIR . $tempFolder . $src, $dest); $success = $this->copyDir(self::TEMP_DIR . $tempFolder . $src, $dest);
} }
// Message de retour // Message de retour
$t = isset($versionInstalled) ? ' actualisé' : 'installé'; $t = isset($versionInstalled) ? helper::translate('actualisé') : helper::translate('installé');
$this->removeDir(self::TEMP_DIR . $tempFolder); $this->removeDir(self::TEMP_DIR . $tempFolder);
$zip->close(); $zip->close();
return ([ return ([
'success' => $success, 'success' => $success,
'notification' => $success ? 'Le module ' . $module['name'] . ' a été ' . $t 'notification' => $success ? sprintf( helper::translate('Le module %s a été %s'), $module['name'], $t)
: 'Erreur inconnue, le module n\'est pas installé' : helper::translate('Erreur inconnue, le module n\'est pas installé')
]); ]);
} else { } else {
return ([ return ([
'success' => false, 'success' => false,
'notification' => 'Une erreur inconnue s\est produite !' 'notification' => helper::translate('Erreur inconnue, le module n\'est pas installé')
]); ]);
// Supprimer le dossier temporaire // Supprimer le dossier temporaire
$this->removeDir(self::TEMP_DIR . $tempFolder); $this->removeDir(self::TEMP_DIR . $tempFolder);
@ -245,7 +245,7 @@ class plugin extends common
// Message de retour // Message de retour
return ([ return ([
'success' => false, 'success' => false,
'notification' => 'Impossible d\'ouvrir l\'archive' 'notification' => helper::translate('Impossible d\'ouvrir l\'archive')
]); ]);
} }
} }
@ -291,7 +291,7 @@ class plugin extends common
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . 'store', 'redirect' => helper::baseUrl() . 'store',
'state' => false, 'state' => false,
'notification' => 'Action non autorisée' 'notification' => helper::translate('Action interdite')
]); ]);
} else { } else {
// Récupérer le module en ligne // Récupérer le module en ligne
@ -316,7 +316,7 @@ class plugin extends common
if (file_exists(self::FILE_DIR . 'source/modules/' . $moduleFile)) { if (file_exists(self::FILE_DIR . 'source/modules/' . $moduleFile)) {
$r = $this->install(self::FILE_DIR . 'source/modules/' . $moduleFile, false); $r = $this->install(self::FILE_DIR . 'source/modules/' . $moduleFile, false);
} else { } else {
$r['notification'] = 'Un problème est survenu, le module n\'est pas installé'; $r['notification'] =helper::translate('Erreur inconnue, le module n\'est pas installé');
$r['success'] = false; $r['success'] = false;
} }
// Valeurs en sortie // Valeurs en sortie
@ -559,7 +559,7 @@ class plugin extends common
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . 'plugin', 'redirect' => helper::baseUrl() . 'plugin',
'state' => false, 'state' => false,
'notification' => 'Action non autorisée' 'notification' => helper::translate('Action interdite')
]); ]);
} else { } else {
@ -583,7 +583,7 @@ class plugin extends common
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . 'plugin', 'redirect' => helper::baseUrl() . 'plugin',
'notification' => $success ? $this->getUrl(3) . '.zip copié dans le dossier Module du gestionnaire de fichier' : 'Erreur de copie', 'notification' => $success ? $this->getUrl(3) . helper::translate('Archive copiée dans le dossier Module du gestionnaire de fichier') : helper::translate('Erreur de copie'),
'state' => $success 'state' => $success
]); ]);
break; break;
@ -620,7 +620,7 @@ class plugin extends common
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . 'plugin', 'redirect' => helper::baseUrl() . 'plugin',
'state' => false, 'state' => false,
'notification' => 'Action non autorisée' 'notification' => helper::translate('Action interdite')
]); ]);
} else { } else {
$this->setData(['page', $this->getUrl(4), 'moduleId', '']); $this->setData(['page', $this->getUrl(4), 'moduleId', '']);
@ -628,7 +628,7 @@ class plugin extends common
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . 'plugin', 'redirect' => helper::baseUrl() . 'plugin',
'notification' => 'Le module ' . $this->getUrl(3) . ' de la page ' . $this->getUrl(4) . ' a été supprimé.', 'notification' => strintf( helper::translate('Le module %s de la page %s a été supprimé'), $this->getUrl(3), $this->getUrl(4) ),
'state' => true 'state' => true
]); ]);
} }
@ -651,7 +651,7 @@ class plugin extends common
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . 'plugin', 'redirect' => helper::baseUrl() . 'plugin',
'state' => false, 'state' => false,
'notification' => 'Action non autorisée' 'notification' => helper::translate('Action interdite')
]); ]);
} else { } else {
@ -698,7 +698,7 @@ class plugin extends common
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . 'plugin', 'redirect' => helper::baseUrl() . 'plugin',
'notification' => 'Quelque chose s\'est mal passé', 'notification' => helper::translate('Erreur inconnue'),
'state' => false 'state' => false
]); ]);
} }
@ -745,7 +745,7 @@ class plugin extends common
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . 'plugin', 'redirect' => helper::baseUrl() . 'plugin',
'state' => true, 'state' => true,
'notification' => 'Import des données effectué' 'notification' => helper::translate('Données importées')
]); ]);
} }
// Bouton d'importation des données d'un module spécifique // Bouton d'importation des données d'un module spécifique
@ -756,7 +756,7 @@ class plugin extends common
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . 'plugin', 'redirect' => helper::baseUrl() . 'plugin',
'state' => false, 'state' => false,
'notification' => 'Action non autorisée' 'notification' => helper::translate('Action interdite')
]); ]);
} }
@ -766,7 +766,7 @@ class plugin extends common
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . 'plugin', 'redirect' => helper::baseUrl() . 'plugin',
'state' => true, 'state' => true,
'notification' => 'Okay' 'notification' => helper::translate('Données importées')
]); ]);
} }

View File

@ -267,7 +267,7 @@ class theme extends common
]]); ]]);
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'notification' => 'Modifications enregistrées', 'notification' => helper::translate('Modifications enregistrées'),
'redirect' => helper::baseUrl() . 'theme/admin', 'redirect' => helper::baseUrl() . 'theme/admin',
'state' => true 'state' => true
]); ]);
@ -297,7 +297,7 @@ class theme extends common
file_put_contents(self::DATA_DIR . 'custom.css', $this->getInput('themeAdvancedCss', null)); file_put_contents(self::DATA_DIR . 'custom.css', $this->getInput('themeAdvancedCss', null));
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'notification' => 'Modifications enregistrées', 'notification' => helper::translate('Modifications enregistrées'),
'redirect' => helper::baseUrl() . 'theme/advanced', 'redirect' => helper::baseUrl() . 'theme/advanced',
'state' => true 'state' => true
]); ]);
@ -331,7 +331,7 @@ class theme extends common
]]); ]]);
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'notification' => 'Modifications enregistrées', 'notification' => helper::translate('Modifications enregistrées'),
'redirect' => helper::baseUrl() . 'theme', 'redirect' => helper::baseUrl() . 'theme',
'state' => true 'state' => true
]); ]);
@ -360,7 +360,7 @@ class theme extends common
) { ) {
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'notification' => 'Sélectionnez au moins un contenu à afficher', 'notification' => helper::translate('Sélectionnez au moins un contenu à afficher'),
'redirect' => helper::baseUrl() . 'theme/footer', 'redirect' => helper::baseUrl() . 'theme/footer',
'state' => false 'state' => false
]); ]);
@ -400,7 +400,7 @@ class theme extends common
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'notification' => 'Modifications enregistrées', 'notification' => helper::translate('Modifications enregistrées'),
'redirect' => helper::baseUrl() . 'theme', 'redirect' => helper::baseUrl() . 'theme',
'state' => true 'state' => true
]); ]);
@ -493,7 +493,7 @@ class theme extends common
} }
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'notification' => 'Modifications enregistrées', 'notification' => helper::translate('Modifications enregistrées'),
'redirect' => helper::baseUrl() . 'theme', 'redirect' => helper::baseUrl() . 'theme',
'state' => true 'state' => true
]); ]);
@ -562,7 +562,7 @@ class theme extends common
]]); ]]);
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'notification' => 'Modifications enregistrées', 'notification' => helper::translate('Modifications enregistrées'),
'redirect' => helper::baseUrl() . 'theme', 'redirect' => helper::baseUrl() . 'theme',
'state' => true 'state' => true
]); ]);
@ -695,14 +695,14 @@ class theme extends common
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'notification' => 'La fonte a été créée', 'notification' => helper::translate('Fonte créée'),
'redirect' => helper::baseUrl() . 'theme/fonts', 'redirect' => helper::baseUrl() . 'theme/fonts',
'state' => true 'state' => true
]); ]);
} else { } else {
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'notification' => 'Fonte non créée, la ressource est manquante !', 'notification' => helper::translate('Fonte non créée, ressource absente !'),
'redirect' => helper::baseUrl() . 'theme/fontAdd', 'redirect' => helper::baseUrl() . 'theme/fontAdd',
'state' => false 'state' => false
]); ]);
@ -758,7 +758,7 @@ class theme extends common
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'notification' => 'La fonte a été actualisée', 'notification' => helper::translate('Fonte actualisée'),
'redirect' => helper::baseUrl() . 'theme/fonts', 'redirect' => helper::baseUrl() . 'theme/fonts',
'state' => true 'state' => true
]); ]);
@ -780,7 +780,7 @@ class theme extends common
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . 'theme/fonts', 'redirect' => helper::baseUrl() . 'theme/fonts',
'notification' => 'Action non autorisée' 'notification' => helper::translate('Action interdite')
]); ]);
} }
// Suppression // Suppression
@ -800,7 +800,7 @@ class theme extends common
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . 'theme/fonts', 'redirect' => helper::baseUrl() . 'theme/fonts',
'notification' => 'La fonte a été supprimée', 'notification' => helper::translate('Fonte supprimée'),
'state' => true 'state' => true
]); ]);
} }
@ -840,14 +840,14 @@ class theme extends common
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'notification' => 'Réinitialisation effectuée', 'notification' => helper::translate('Thème réinitialisé'),
'redirect' => $redirect, 'redirect' => $redirect,
'state' => true 'state' => true
]); ]);
} else { } else {
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'notification' => 'Jeton incorrect' 'notification' => helper::translate('Jeton incorrect')
]); ]);
} }
} }
@ -888,7 +888,7 @@ class theme extends common
]]); ]]);
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'notification' => 'Modifications enregistrées', 'notification' => helper::translate('Modifications enregistrées'),
'redirect' => helper::baseUrl() . 'theme', 'redirect' => helper::baseUrl() . 'theme',
'state' => true 'state' => true
]); ]);
@ -1001,11 +1001,11 @@ class theme extends common
} }
// traitement d'erreur // traitement d'erreur
$notification = $success ? 'Le thème a été importé' : 'Erreur lors de l\'extraction, vérifiez les permissions.'; $notification = $success ? helper::translate('Thème importé') : helper::translate('Erreur lors de l\'extraction, vérifiez les permissions');
} else { } else {
// pas une archive de thème // pas une archive de thème
$success = false; $success = false;
$notification = 'Ce n\'est pas l\'archive d\'un thème !'; $notification = helper::translate('Archive de thème invalide');
} }
// Supprimer le dossier temporaire même si le thème est invalide // Supprimer le dossier temporaire même si le thème est invalide
$this->removeDir(self::TEMP_DIR . $tempFolder); $this->removeDir(self::TEMP_DIR . $tempFolder);
@ -1013,12 +1013,12 @@ class theme extends common
} else { } else {
// erreur à l'ouverture // erreur à l'ouverture
$success = false; $success = false;
$notification = 'Impossible d\'ouvrir l\'archive'; $notification = helper::translate('Impossible d\'ouvrir l\'archive');
} }
return (['success' => $success, 'notification' => $notification]); return (['success' => $success, 'notification' => $notification]);
} }
return (['success' => false, 'notification' => 'Archive non spécifiée ou introuvable']); return (['success' => false, 'notification' => helper::translate('Archive non spécifiée ou introuvable')]);
} }
@ -1058,7 +1058,7 @@ class theme extends common
unlink(self::TEMP_DIR . $zipFilename); unlink(self::TEMP_DIR . $zipFilename);
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'notification' => 'Archive <b>' . $zipFilename . '</b> sauvegardée avec succès', 'notification' => '<b>' . $zipFilename . '</b>'. helper::translate('sauvegardé avec succès'),
'redirect' => helper::baseUrl() . 'theme/manage', 'redirect' => helper::baseUrl() . 'theme/manage',
'state' => true 'state' => true
]); ]);

View File

@ -71,13 +71,13 @@ class translate extends common
// Enregistrer la langue // Enregistrer la langue
if ($success) { if ($success) {
$this->setData(['config', 'i18n', $toCreate, 'site']); $this->setData(['config', 'i18n', $toCreate, 'site']);
$notification = 'Données ' . self::$languages[$copyFrom] . ' copiées vers ' . self::$languages[$toCreate]; $notification = sprintf(helper::translate('Données %s copiées vers %s'), self::$languages[$copyFrom], self::$languages[$toCreate]);
} else { } else {
$notification = "Quelque chose n\'a pas fonctionné, vérifiez les permissions."; $notification = helper::translate('Erreur de copie, vérifiez les permissions');
} }
} else { } else {
$success = false; $success = false;
$notification = 'Les langues doivent être différentes.'; $notification = helper::translate('Les langues sélectionnées sont identiques');
} }
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
@ -121,7 +121,7 @@ class translate extends common
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . $this->getUrl(), 'redirect' => helper::baseUrl() . $this->getUrl(),
'notification' => 'Modifications enregistrées', 'notification' => helper::translate('Modifications enregistrées'),
'state' => true 'state' => true
]); ]);
} }
@ -218,7 +218,7 @@ class translate extends common
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . 'translate', 'redirect' => helper::baseUrl() . 'translate',
'notification' => 'Modifications enregistrées', 'notification' => helper::translate('Modifications enregistrées'),
'state' => true 'state' => true
]); ]);
} }
@ -252,7 +252,7 @@ class translate extends common
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . 'translate', 'redirect' => helper::baseUrl() . 'translate',
'state' => false, 'state' => false,
'notification' => 'Action non autorisée' 'notification' => helper::translate('Action interdite')
]); ]);
} }
@ -299,7 +299,7 @@ class translate extends common
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . $this->getUrl(), 'redirect' => helper::baseUrl() . $this->getUrl(),
'notification' => 'Modifications enregistrées', 'notification' => helper::translate('Modifications enregistrées'),
'state' => true 'state' => true
]); ]);
} }
@ -315,7 +315,7 @@ class translate extends common
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . 'translate', 'redirect' => helper::baseUrl() . 'translate',
'notification' => 'URL incorrecte', 'notification' => helper::translate('Erreur d\'URL'),
'state' => false 'state' => false
]); ]);
} }
@ -371,7 +371,7 @@ class translate extends common
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . 'translate', 'redirect' => helper::baseUrl() . 'translate',
'state' => false, 'state' => false,
'notification' => 'Action non autorisée' 'notification' => helper::translate('Action interdite')
]); ]);
} }
@ -382,7 +382,7 @@ class translate extends common
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . 'translate', 'redirect' => helper::baseUrl() . 'translate',
'notification' => $success ? 'La traduction a été supprimée' : 'Une erreur s\'est produite', 'notification' => $success ? helper::translate('Traduction supprimée') : helper::translate('Erreur inconnue'),
'state' => $success 'state' => $success
]); ]);
} }

View File

@ -110,7 +110,7 @@ class user extends common
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . 'user', 'redirect' => helper::baseUrl() . 'user',
'notification' => $sent === true ? 'Utilisateur créé' : $sent, 'notification' => $sent === true ? helper::translate('Utilisateur créé') : $sent,
'state' => $sent === true ? true : null 'state' => $sent === true ? true : null
]); ]);
} }
@ -143,7 +143,7 @@ class user extends common
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . 'user', 'redirect' => helper::baseUrl() . 'user',
'notification' => 'Action non autorisée' 'notification' => helper::translate('Action interdite')
]); ]);
} }
// Bloque la suppression de son propre compte // Bloque la suppression de son propre compte
@ -151,7 +151,7 @@ class user extends common
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . 'user', 'redirect' => helper::baseUrl() . 'user',
'notification' => 'Impossible de supprimer votre propre compte' 'notification' => helper::translate('Impossible de supprimer votre propre compte')
]); ]);
} }
// Suppression // Suppression
@ -160,7 +160,7 @@ class user extends common
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . 'user', 'redirect' => helper::baseUrl() . 'user',
'notification' => 'Utilisateur supprimé', 'notification' => helper::translate('Utilisateur supprimé'),
'state' => true 'state' => true
]); ]);
} }
@ -178,7 +178,7 @@ class user extends common
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . 'user', 'redirect' => helper::baseUrl() . 'user',
'notification' => 'Action non autorisée' 'notification' => helper::translate('Action interdite')
]); ]);
} }
// Accès refusé // Accès refusé
@ -218,10 +218,10 @@ class user extends common
helper::deleteCookie('ZWII_USER_PASSWORD'); helper::deleteCookie('ZWII_USER_PASSWORD');
} }
} else { } else {
self::$inputNotices['userEditConfirmPassword'] = 'Incorrect'; self::$inputNotices['userEditConfirmPassword'] = helper::translate('Incorrect');
} }
} else { } else {
self::$inputNotices['userEditOldPassword'] = 'Incorrect'; self::$inputNotices['userEditOldPassword'] = helper::translate('Incorrect');
} }
} }
// Modification du groupe // Modification du groupe
@ -277,7 +277,7 @@ class user extends common
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => $redirect, 'redirect' => $redirect,
'notification' => 'Modifications enregistrées', 'notification' => helper::translate('Modifications enregistrées'),
'state' => true 'state' => true
]); ]);
} }
@ -314,7 +314,7 @@ class user extends common
); );
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'notification' => ($sent === true ? 'Un mail vous a été envoyé afin de continuer la réinitialisation' : $sent), 'notification' => ($sent === true ? helper::translate('Un mail a été envoyé pour confirmer la réinitialisation') : $sent),
'state' => ($sent === true ? true : null) 'state' => ($sent === true ? true : null)
]); ]);
} }
@ -322,7 +322,7 @@ class user extends common
else { else {
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'notification' => 'Cet utilisateur n\'existe pas' 'notification' => helper::translate('Utilisateur inexistant')
]); ]);
} }
} }
@ -391,7 +391,7 @@ class user extends common
* Aucun compte existant * Aucun compte existant
*/ */
if (!$this->getData(['user', $userId])) { if (!$this->getData(['user', $userId])) {
$logStatus = 'Compte inconnu'; $logStatus ='Compte inconnu';
//Stockage de l'IP //Stockage de l'IP
$this->setData([ $this->setData([
'blacklist', 'blacklist',
@ -411,14 +411,14 @@ class user extends common
$logStatus = 'Compte inconnu verrouillé'; $logStatus = 'Compte inconnu verrouillé';
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'notification' => 'Compte verrouillé', 'notification' => helper::translate('Compte verrouillé'),
'redirect' => helper::baseUrl(), 'redirect' => helper::baseUrl(),
'state' => false 'state' => false
]); ]);
} else { } else {
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'notification' => 'Captcha, identifiant ou mot de passe incorrects' 'notification' => helper::translate('Captcha, identifiant ou mot de passe incorrects')
]); ]);
} }
/** /**
@ -457,7 +457,7 @@ class user extends common
and $this->getData(['user', $userId, 'group']) < self::GROUP_ADMIN and $this->getData(['user', $userId, 'group']) < self::GROUP_ADMIN
) { ) {
$this->addOutput([ $this->addOutput([
'notification' => 'Seul un administrateur peut se connecter lors d\'une maintenance', 'notification' => helper::translate('Seul un administrateur peut se connecter lors d\'une maintenance'),
'redirect' => helper::baseUrl(), 'redirect' => helper::baseUrl(),
'state' => false 'state' => false
]); ]);
@ -465,14 +465,14 @@ class user extends common
$logStatus = 'Connexion réussie'; $logStatus = 'Connexion réussie';
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'notification' => 'Bienvenue ' . $this->getData(['user', $userId, 'firstname']) . ' ' . $this->getData(['user', $userId, 'lastname']), 'notification' => sprintf(helper::translate('Bienvenue %s %s'), $this->getData(['user', $userId, 'firstname']), $this->getData(['user', $userId, 'lastname'])),
'redirect' => helper::baseUrl() . str_replace('_', '/', str_replace('__', '#', $this->getUrl(2))), 'redirect' => helper::baseUrl() . str_replace('_', '/', str_replace('__', '#', $this->getUrl(2))),
'state' => true 'state' => true
]); ]);
} }
// Sinon notification d'échec // Sinon notification d'échec
} else { } else {
$notification = 'Captcha, identifiant ou mot de passe incorrects'; $notification = helper::translate('Captcha, identifiant ou mot de passe incorrects');
$logStatus = $captcha === true ? 'Erreur de mot de passe' : 'Erreur de captcha'; $logStatus = $captcha === true ? 'Erreur de mot de passe' : 'Erreur de captcha';
// Cas 1 le nombre de connexions est inférieur aux tentatives autorisées : incrément compteur d'échec // Cas 1 le nombre de connexions est inférieur aux tentatives autorisées : incrément compteur d'échec
if ($this->getData(['user', $userId, 'connectFail']) < $this->getData(['config', 'connect', 'attempt'])) { if ($this->getData(['user', $userId, 'connectFail']) < $this->getData(['config', 'connect', 'attempt'])) {
@ -484,7 +484,7 @@ class user extends common
} }
// Cas 3 le délai de bloquage court // Cas 3 le délai de bloquage court
if ($this->getData(['user', $userId, 'connectTimeout']) + $this->getData(['config', 'connect', 'timeout']) > time()) { if ($this->getData(['user', $userId, 'connectTimeout']) + $this->getData(['config', 'connect', 'timeout']) > time()) {
$notification = 'Accès bloqué ' . ($this->getData(['config', 'connect', 'timeout']) / 60) . ' minutes.'; $notification = sprintf(helper::translate('Accès bloqué %d minutes', ($this->getData(['config', 'connect', 'timeout']) / 60) ));
} }
// Valeurs en sortie // Valeurs en sortie
@ -526,7 +526,7 @@ class user extends common
session_destroy(); session_destroy();
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'notification' => 'Vous avez été déconnecté', 'notification' =>helper::translate('Déconnexion !'),
'redirect' => helper::baseUrl(false), 'redirect' => helper::baseUrl(false),
'state' => true 'state' => true
]); ]);
@ -573,7 +573,7 @@ class user extends common
$this->setData(['user', $this->getUrl(2), 'connectTimeout', 0]); $this->setData(['user', $this->getUrl(2), 'connectTimeout', 0]);
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'notification' => 'Nouveau mot de passe enregistré', 'notification' => helper::translate('Nouveau mot de passe enregistré'),
//'redirect' => helper::baseUrl() . 'user/login/' . str_replace('/', '_', $this->getUrl()), //'redirect' => helper::baseUrl() . 'user/login/' . str_replace('/', '_', $this->getUrl()),
'redirect' => helper::baseUrl(), 'redirect' => helper::baseUrl(),
'state' => true 'state' => true
@ -702,14 +702,14 @@ class user extends common
} }
} }
if (empty(self::$users)) { if (empty(self::$users)) {
$notification = 'Rien à importer, erreur de format ou fichier incorrect'; $notification = helper::translate('Rien à importer, erreur de format ou fichier incorrect');
$success = false; $success = false;
} else { } else {
$notification = 'Importation effectuée'; $notification = helper::translate('Importation effectuée');
$success = true; $success = true;
} }
} else { } else {
$notification = 'Erreur de lecture, vérifiez les permissions'; $notification = helper::translate('Erreur de lecture, vérifiez les permissions');
$success = false; $success = false;
} }
} }

View File

@ -342,7 +342,7 @@ class blog extends common {
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . $this->getUrl(0) . '/config', 'redirect' => helper::baseUrl() . $this->getUrl(0) . '/config',
'notification' => 'Action non autorisée' 'notification' => 'Action interdite'
]); ]);
} }
// Suppression // Suppression
@ -366,7 +366,7 @@ class blog extends common {
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . $this->getUrl(0) . '/config', 'redirect' => helper::baseUrl() . $this->getUrl(0) . '/config',
'notification' => 'Action non autorisée' 'notification' => 'Action interdite'
]); ]);
} }
// Suppression // Suppression
@ -397,7 +397,7 @@ class blog extends common {
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . $this->getUrl(0) . '/config', 'redirect' => helper::baseUrl() . $this->getUrl(0) . '/config',
'notification' => 'Action non autorisée' 'notification' => 'Action interdite'
]); ]);
} }
// Inversion du statut // Inversion du statut
@ -543,7 +543,7 @@ class blog extends common {
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . $this->getUrl(0) . '/config', 'redirect' => helper::baseUrl() . $this->getUrl(0) . '/config',
'notification' => 'Action non autorisée' 'notification' => 'Action interdite'
]); ]);
} }
// Suppression // Suppression

View File

@ -276,7 +276,7 @@ class form extends common {
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . $this->getUrl(0) . '/data', 'redirect' => helper::baseUrl() . $this->getUrl(0) . '/data',
'notification' => 'Action non autorisée' 'notification' => 'Action interdite'
]); ]);
} else { } else {
$data = $this->getData(['module', $this->getUrl(0), 'data']); $data = $this->getData(['module', $this->getUrl(0), 'data']);
@ -316,7 +316,7 @@ class form extends common {
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . $this->getUrl(0) . '/data', 'redirect' => helper::baseUrl() . $this->getUrl(0) . '/data',
'notification' => 'Action non autorisée' 'notification' => 'Action interdite'
]); ]);
} else { } else {
$data = ($this->getData(['module', $this->getUrl(0), 'data'])); $data = ($this->getData(['module', $this->getUrl(0), 'data']));
@ -351,7 +351,7 @@ class form extends common {
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . $this->getUrl(0) . '/data', 'redirect' => helper::baseUrl() . $this->getUrl(0) . '/data',
'notification' => 'Action non autorisée' 'notification' => 'Action interdite'
]); ]);
} else { } else {
// La donnée n'existe pas // La donnée n'existe pas

View File

@ -331,7 +331,7 @@ class news extends common {
// Valeurs en sortie // Valeurs en sortie
$this->addOutput([ $this->addOutput([
'redirect' => helper::baseUrl() . $this->getUrl(0) . '/config', 'redirect' => helper::baseUrl() . $this->getUrl(0) . '/config',
'notification' => 'Action non autorisée' 'notification' => 'Action interdite'
]); ]);
} }
// Suppression // Suppression

View File

@ -323,7 +323,7 @@
"Sélectionnez la langue à copier vers une langue cible": "Seleccione el idioma para copiar hacia oyto idioma", "Sélectionnez la langue à copier vers une langue cible": "Seleccione el idioma para copiar hacia oyto idioma",
"De": "De", "De": "De",
"vers": "Hacia", "vers": "Hacia",
"Action non autorisée": "Acción no permitida", "Action interdite": "Acción no permitida",
"Modifications enregistrées": "Cambios guardados", "Modifications enregistrées": "Cambios guardados",
"URL incorrecte": "URL incorrecta", "URL incorrecte": "URL incorrecta",
"Paramètres de la localisation": "Configuración de la ubicación", "Paramètres de la localisation": "Configuración de la ubicación",

View File

@ -323,9 +323,9 @@
"Sélectionnez la langue à copier vers une langue cible": "", "Sélectionnez la langue à copier vers une langue cible": "",
"De": "", "De": "",
"vers": "", "vers": "",
"Action non autorisée": "", "Action interdite": "",
"Modifications enregistrées": "", "Modifications enregistrées": "",
"Éditeur de script": "", "Éditeur de script %s": "",
"Journal réinitialisé avec succès": "", "Journal réinitialisé avec succès": "",
"Aucun journal à effacer": "", "Aucun journal à effacer": "",
"Aucun fichier journal à télécharger": "", "Aucun fichier journal à télécharger": "",
@ -398,5 +398,60 @@
"Affectation": "", "Affectation": "",
"Origine": "", "Origine": "",
"Bouton Standard": "", "Bouton Standard": "",
"Configuration du module": "" "Configuration du module": "",
"Installation terminée": "",
"Jeton invalide": "",
"Suppression interdite": "",
"Page dupliquée": "",
"Page et module dupliqués": "",
"Nouvelle page créée": "",
"Suppression interdite, page active dans la configuration du site": "",
"Impossible de supprimer une page contenant des pages enfants": "",
"Page supprimée": "",
"La suppression a échoué": "",
"Le module %s est désinstallé, il reste peut-être des données dans %s": "",
"Archive invalide, le descripteur est absent": "",
"Archive invalide, les dossiers ne correspondent pas au descripteur": "",
"Archive invalide, l'écriture dans le dossier core est interdite": "",
"Archive invalide, le fichier de classe est absent": "",
"La version installée est plus récente": "",
"actualisé": "",
"installé": "",
"Erreur inconnue, le module n'est pas installé": "",
"Impossible d'ouvrir l'archive": "",
"Archive copiée dans le dossier Module du gestionnaire de fichier": "",
"Erreur de copie": "",
"Le module %s de la page %s a été supprimé": "",
"Le module %s a été %s": "",
"Données importées": "",
"Sélectionnez au moins un contenu à afficher": "",
"Fonte créée": "",
"Fonte non créée, ressource absente !": "",
"Fonte actualisée": "",
"Fonte supprimée": "" ,
"Thème importé": "",
"Erreur d'extraction, vérifiez les permissions": "",
"Archive de thème invalide": "",
"Archive non spécifiée ou introuvable": "",
"sauvegardé avec succès": "",
"Données %s copiées vers %s": "",
"Erreur de copie, vérifiez les permissions": "",
"Les langues sélectionnées sont identiques": "",
"Erreur d'URL": "",
"Traduction supprimée": "",
"Impossible de supprimer votre propre compte": "",
"Utilisateur supprimé": "",
"Incorrect": "",
"Un mail a été envoyé pour confirmer la réinitialisation": "",
"Utilisateur inexistant": "",
"Compte verrouillé": "",
"Captcha, identifiant ou mot de passe incorrects": "",
"Seul un administrateur peut se connecter lors d'une maintenance": "",
"Bienvenue %s %s": "",
"Accès bloqué %d minutes": "",
"Déconnexion !": "",
"Nouveau mot de passe enregistré": "",
"'Rien à importer, erreur de format ou fichier incorrect": "",
"Importation effectuée": "",
"Erreur de lecture, vérifiez les permissions": ""
} }