Bonjour à tous et à toutes.
Comme le titre l'indique je veux effectuer des traductions dans mes twig sur Symfony 2.4.2. J'ai regardé longuement la documentation et je n'arrive toujours pas à arriver à mes fins. Voici ma situation:
J'ai tout d'abord établit deux fichiers de traduction messages.en.yml et messages.fr.yml (assez succinct pour le test) comme il est conseillé dans la documentation dans le répertoire Resources/translations de mon Bundle
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 distances.semantiques: Semantic distancesJ'ai vérifié s'ils étaient bien pris en compte en changeant ma locale dans le fichier parameters.yml et c'est le cas. Ensuite dans mon contrôleur DefaultController j'ai mis le code suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 distances.semantiques: Distances sémantiques
Dans la documentation il est écrit que:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 public function changeLanguageAction($langue=null){ $request = $this->getRequest(); if($langue != null){ //\Doctrine\Common\Util\Debug::dump($langue); $request->setLocale($langue); $request->setDefaultLocale($langue); $this->get('translator')->setLocale($langue); } // on tente de rediriger vers la page d'origine $url = $this->container->get('request')->headers->get('referer'); if(empty($url)) { $url = $this->container->get('router')->generate('acme_biomedical_homepage'); } return new RedirectResponse($url); }
et queLa locale de l'utilisateur actuel, qui est stockée dans la requête (ou stockée comme_locale en session), est déterminée
Alors je me suis dit que le fait de faire un "setLocale" et "setDefaultLocale" suffirai à la traduction (je n'ai pas voulu mettre en place le système suivant:/{_locale}/contact ). Or je constate que ce n'est pas le cas. Alors ma question est: Es-t-on obligé de mettre en place ce fameux système de rajout de locale dans l'url ou alors est-ce qu'il manque quelque-chose que j'ai oublié de faire (j'ai bien fait le cache:clear recommandé)?New in version 2.1: Le paramètre default_locale était à la base défini dans la clé session, cependant cela a changé dans la version 2.1. C'est parce que la locale est maintenant définie dans la requête et non plus dans la session
Merci de vos réponses.
Partager