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 : ...