Bonjour,

Je suis entrain de mettre en place un système multilingue dans l'application que j'ai crée et Symfony2 ne charge pas la lange.

J'ai configuré mon fichier config.yml comme suit pour qu'il ai une langue par défaut :

framework:
translator: { fallback: fr }

Ensuite, j'ai créer une fonction qui permet de stocker la langue dans une session :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
public function choiceLangAction(Request $request, $lang = null) {
    if ($lang != null) {            
        $this->get('session')->set('_locale', $lang);
    }
 
    // 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('homepage');
    }
    return new RedirectResponse($url);
}
Voici les liens se trouvant dans un template permettant de changer de langue :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
<li><a href="{{ path('syslang', {'lang' : 'fr_FR'}) }}">FR</a></li>
<li><a href="{{ path('syslang', {'lang' : 'en_US'}) }}">EN</a></li>
Pour terminé, j'ai créé mes fichiers de traductions messages.en.yml et messages.fr.yml dans le repertoire translations. J'ai également mis en place les traductions dans mes templates et vérifié que dans la session il y a bien la langue sélectionné par l'utilisateur.

Merci de votre aide