Bonjour,
voila je cherche à faire une traduction des page d'une application,
voici un extrait de routing.yml:
et le lien de changement de langue:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 isea_choisir_langue: pattern: /{_locale}/choisir-langue/{langue} defaults: { _controller: IseaAgtsBundle:Default:choisirLangue} isea_dossierTransport_lister: pattern: /{_locale}/dossierTransport/ defaults: { _controller: IseaAgtsBundle:DossierTransport:lister} isea_dossierTransport_ajouter: pattern: /{_locale}/dossierTransport/ajouter defaults: { _controller: IseaAgtsBundle:DossierTransport:editer}
et la fonction de choisirLangue():
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <div id="choisir_langue">Choisir la langue : <a href="{{ path('isea_choisir_langue', {'langue' : 'fr'}) }}">FR</a> | <a href="{{ path('isea_choisir_langue', {'langue' : 'en'}) }}">EN</a> </div>
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 choisirLangueAction($langue = null) { if($langue != null) { // On enregistre la langue en session $this->container->get('request')->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('isea_dossierTransport_lister'); } return new RedirectResponse($url); }
avec ce code si je clique sur le lien pour passer de Français à Anglais, le rechargement de la même page passe bien mais avec la même langue.
Si je tape directement l'url : http://localhost/Symfony2/web/app_de...sierTransport/
ou
http://localhost/Symfony2/web/app_de...sierTransport/
ça marche.
Je me demande devient l'erreur?
Merci.
Partager