Sommaire

Les éléments à traduire

Comment dire à Symfony : « traduis moi ceci » ?

Il est possible, par exemple, d’effectuer des traductions dans un contrôleur : il suffit d’injecter le service $translator de l’interface TranslatorInterfaceTranslatorInterface dans la méthode désirée.

Syntaxe :

use Symfony\Contracts\Translation\TranslatorInterface; 
public function methode(TranslatorInterface $translator) 
{ 
    ...$translator->trans(’texte à traduire’); 
}

Prenons un exemple. Dans notre méthode langue() dans le contrôleur TestController, insérez ce code :

use Symfony\Contracts\Translation\TranslatorInterface; 
... 
class TestController extends AbstractController 
{ 
    /** 
     * @Route("/langue/{_locale}", name="langue", 
 
    requirements={"_locale"="en|fr|de"}) 
    */ 
    public function langue(Request $request,TranslatorInterface 
$translator) 
    { 
        $texteTraduit = $translator->trans(’Welcome to Symfony’); 
        return new Response( $texteTraduit); 
 
    } 
} 

Si vous essayez d’exécuter cette requête : ...