Bonjour à tous,
Je suis en train de développer une application multilingue avec CakePHP 3 (français et anglais).
Dans la fonction initialize() de mon UsersController, j'ai :
'authError' => __('Vous devez vous identifier pour accéder à cette zone.')
Dans le fichier en_US/default.po (generé avec poedit) j'ai :
#: Controller/SavsController.php:35 Controller/UsersController.php:29
msgid "Vous devez vous identifier pour accéder à cette zone."
msgstr "Login to access this area."
Mais la traduction ne fonctionne pas ... Le message s'affiche toujours en français, pourquoi ? Quelqu'un à déjà eu ce problème ?
J'ai bien configuré la langue par défaut à 'fr_FR', toutes mes "variables" de traduction sont en français, j'ai bien généré mon .pot et le fichier .po pour la langue 'en_US'.
Quand je change de langue sur mon appli, tout fonctionne bien sauf ce message flash...
Merci d'avance ;)
Les autres messages se traduisent correctement? Ils ont aussi des accents dans leur version originale ?
Oui, tout est parfait pour les autres sauf ce message flash. Oui certains ont aussi des accents.
Ex :
#: Template/Pages/home.ctp:44
msgid "Accès Espace Client"
msgstr "Customer Area Access"
Voici le code de ma fonction initialize, si ça peut aider.
parent::initialize();
$this->loadComponent(
'Auth', [
'loginRedirect' => [
'controller' => 'Users', 'action' => 'home'
], 'logoutRedirect' => [
'controller' => 'Users', 'action' => 'logout'
], 'loginAction' => [
'controller' => 'Users', 'action' => 'login'
], 'logoutAction' => [
'controller' => 'Users', 'action' => 'logout'
],
'authError' => __('Vous devez vous identifier pour accéder à cette zone.'),
'authenticate' => [
'Cotral' => [
'fields' => [
'email' => 'email', 'password' => 'password'
]
],
],
]
);