Bonjour.
Mon problème est le suivant: je ne parviens pas à changer la langue qui a été définie dans le bootstrap.
Ce que je fais: par défaut j'affiche mes pages en anglais et lors de l'identification d'un membre, je récupère sa langue en base de donnée et je modifie le Zend_Locale avant de le réattribuer à Zend_Translation.
Le code dans mon bootstrap:
Le code dans mon Helper de vue (pour récupérer mon translator):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $locale = new Zend_Locale("en"); // Chargement du fichier de traduction $translator = new Zend_Translate('tmx', '../application/translation/translations.tmx', $locale); Zend_Registry::set('translator', $translator);
Le code dans ma vérification de connexion:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 // On cherche le translator dans le registre $view->translator = Zend_Registry::get('translator');
Et paf... ça ne change pas la langue et ça fait encore moins des Chocapic...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 // Authentification réussie ; l'identité est stockée dans la session $userData = $authAdapter->getResultRowObject(null, 'sPassword'); $auth->getStorage()->write($userData); $this->view->title = $auth->getIdentity()->sFirstName; // On charge la langue du membre. $translator = $this->view->translator; //unset($translator); $locale = new Zend_Locale($auth->getIdentity()->userLanguage); $translator = new Zend_Translate('tmx', '../application/translation/translations.tmx', $locale); Zend_Registry::set('translator', $translator); // On redirige vers la page sécurisée. $this->_redirector->gotoUrl('/secure');
(Bien entendu je suis certain d'avoir mis 'fr' pour le membre qui se connecte ^^)
Merci d'avance pour votre réponse
Partager