web-dev-qa-db-fra.com

Comment gérer la traduction dans le fichier twig en utilisant des variables?

J'ai un fichier twig et un yml dans lequel je définis les variables à traduire, par exemple:

Fichier YML -
variable.for.translation: Disponible, para tí

Contenu de Twig File -

<h2>"Hola, Follow {{ variableName }} en Twitter</h2>  

Je voulais faire une variable pour

Hola, Follow {{ variableName }} en Twitter

dans le fichier de traduction (c'est-à-dire mon fichier yml).
Actuellement, je le fais comme ceci:
En YML -

follow.us.Twitter: Hola, Follow 

follow.us.Twitter1: en Twitter 

Dans Twig -

<h2>{{ "follow.us.Twitter"|trans([], "workend") }} {{ variableName }} {{ "follow.us.Twitter1"|trans([], "workend") }}</h2> 

Cela fonctionne bien, mais le problème est que j'ai maintenant 3 variables dans un twig qui sont trop:

 1. follow.us.Twitter
 2. follow.us.Twitter1
 3. {{ variableName }}

J'ai essayé de le faire avec 1 variable comme:

follow.us.in.Twitter : Hola, Follow {{ variableName }} en Twitter 
and  
<h2>{{ "follow.us.in.Twitter"|trans([], "workend") }}</h2>

mais cela n'a pas fonctionné le problème est la variable c'est-à-dire {{variableName}} que j'utilise.
Existe-t-il un moyen de gérer une variable prédéfinie et de la définir dans le fichier de traduction ??
Merci pour votre temps.

40
Arpit Rawat

Vous alliez sur la bonne voie, ce que vous avez manqué est juste de passer variableName comme paramètre à trans () dans votre Fichier Twig comme:

<h2>{{ "follow.us.in.Twitter"|trans({'%variableName%': variableName}, "workend") }}</h2>

Maintenant, votre message dans le fichier Yml devrait être comme:

follow.us.in.Twitter: Hola, Follow %variableName% en Twitter

Cela devrait fonctionner. Pour plus de détails et de clarté, vous pouvez consulter les informations suivantes: Symfony Book

Bonne chance.

72
user1037069