Sommaire

La Variable localevariable locale

La variable d’environnement locale par défaut est définie dans le fichier de configuration config/packages/translation.yaml :

framework: 
    default_locale: en 
    translator: 
        default_path: ’%kernel.project_dir%/translations’ 
        fallbacks: 
            - en 

Ici, par défaut, la locale est « en ». C’est l’anglais qui sera utilisé. Les différents codes des langues sont définis par la norme ISO 639ISO 639. Vous trouverez leurs valeurs sur le site de Wikipedia : https://fr.wikipedia.org/wiki/Liste_des_codes_ISO_639-1

Cette variable locale peut être dynamiquement modifiée dans les routes.

Imaginons que vous souhaitiez utiliser des routes différentes pour chaque langue, vous pouvez définir la locale utilisée pour la page en la mettant en paramètre dans la route.

Syntaxe :

 @Route("/langue/{_locale}/"

Le paramètre _locale détermine la variable locale utilisée dans la route. La valeur sera automatiquement affectée à la variable locale de votre application.

Prenons un exemple. Dans le contrôleur TestController que nous avons créé au début des chapitres sur Symfony, créons une nouvelle action ...