2013-02-05 2 views
3

J'ai installé le bundle: https://github.com/lunetics/LocaleBundle qui permet de basculer entre les langues. Tout fonctionne bien, dans la brindille, la traduction fonctionne bien. Mais quand je veux traduire n'importe quel message dans le contrôleur, j'obtiens le français (fr) au lieu de la langue définie (par exemple).Comment obtenir les paramètres régionaux dans le contrôleur Symfony 2.1?

S'il vous plaît comment puis-je obtenir les paramètres régionaux sélectionnés dans le contrôleur?

j'utilise: $this->getRequest()->getLocale() mais ça ne marche pas, ça me donne FR pour chaque culture.

ma langue de réglage par défaut dans parameter.ini est FR

Répondre

0

Après avoir regardé à l'intérieur du code de LuneticsLocaleBundle et Symfony 2.1 Documentation, je discovred que, symfony2.1 passe en version localisée de route. Le problème existe lors du rendu d'une action à partir du modèle twig, où symfony crée une requête nes. Donc, pour résoudre cela, je remplace le code de LuneticsLocaleBundle et j'ai ajouté $this->get('session')->set('_locale', $_locale); dans le switchAction de LocaleController de l'ensemble. Ainsi, les paramètres régionaux seront stockés en session. Par conséquent, les paramètres régionaux seront stockés en session.

J'espère que cela peut vous aider aussi.

Questions connexes