modifier les paramètres régionaux de symfony 2.3
Je viens de commencé avec symfony
Je suis en train de construire un multilang site mais j'ai un problème pour modifier les paramètres régionaux
J'ai lu quelques posts et j'ai lu la documentation à ce sujet, mais les paramètres régionaux ne pas changer, j'essaie:
public function indexAction()
{
$this->get('session')->set('_locale', 'fr');
$request = $this->getRequest();
$locale = $request->getLocale();
return $this->render('PhoneMainBundle:Default:index.html.twig',array('locale'=>$locale));
}
mais la valeur en $locale est toujours 'en' (mes paramètres régionaux par défaut)
J'ai aussi essayer de
public function indexAction()
{
$this->get('session')->set('_locale', 'fr');
$request = $this->getRequest();
$request->setLocale('fr');
$locale = $request->getLocale();
return $this->render('PhoneMainBundle:Default:index.html.twig',array('locale'=>$locale));
}
Dans ce cas, $locale est fr mais les traductions sont toujours des messages.fr.yml
J'aimerais dans un premier temps de détecter les paramètres régionaux de l'utilisateur à l'aide de la variable $_SERVER['HTTP_ACCEPT_LANGUAGE'], peut-être l'aide d'un listner sur chaque page de l'actualisation ?
et après je vais créer un itinéraire pour modifier les paramètres régionaux
Mais j'aimerai trouver un moyen pour modifier les paramètres régionaux.
Merci pour votre aide
OriginalL'auteur Ajouve | 2013-06-21
Vous devez vous connecter pour publier un commentaire.
Basé sur cette et cette réponses.
LanguageListener.php:
services.yml:
Sur les mauvais paramètres régionaux de détection dans twig, il pourrait y avoir beaucoup de causes différentes. Recherche par le biais de la SORTE, vous aurez certainement trouver une réponse. Assurez-vous que votre _local' var est définie droite, assurez-vous de mettre vos fichiers de langues dans le bon endroit, etc. Enfin, lisez à nouveau la dernière version de la documentation: http://symfony.com/doc/current/book/translation.html
Quelle est la fonction
setSession
ici ?OriginalL'auteur Hast
J'ai ajouté ceci à la rendre plus dynamique
services.yml
LanguageListener.php:
Juste pour être en mesure d'obtenir les paramètres et les valeurs de config.yml.
Ce qui concerne,
Mèche
OriginalL'auteur WickStargazer
Si par exemple votre langue par défaut est le français, sauf pour un contrôleur, vous voulez avoir les paramètres régionaux par défaut définie à l'anglais peut le faire:
de routage.yml
plus d'infos : Doc de Symfony
OriginalL'auteur Remy Mellet