Как обрабатывать перевод в файл ветки с помощью переменных?

У меня есть файл ветки и YML, в котором я определяю переменные для перевода, например.:

Файл YML -
variable.for.translation: Disponible, para tí

Содержимое Twig File -

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

Я хотел сделать переменную для

Hola, Follow {{ variableName }} en Twitter

в файле перевода (т.е. мой файл yml).
В настоящее время я делаю это так:
В YML -

follow.us.twitter: Hola, Follow 

follow.us.twitter1: en Twitter 

В ветке -

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

Это работает нормально, но проблема в том, что у меня теперь есть 3 переменные в ветке, которые слишком много:

 1. follow.us.twitter
 2. follow.us.twitter1
 3. {{ variableName }}

Я пытался сделать это с 1 переменной, как:

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

но это не сработало, проблема в переменной, т.е. {{ variableName }}, которую я использую.
Есть ли способ сделать обработать предопределенную переменную и определить ее в файле перевода?
Спасибо за ваше время.

1 ответ

Решение

Вы шли по правильному пути, что вы пропустили, просто передали variableName в качестве параметра функции trans() в вашем файле Twig как:

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

Теперь ваше сообщение в Yml-файле должно быть следующим:

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

Это должно работать. Для получения более подробной информации и ясности вы можете обратиться к следующим: Symfony Book

Удачи.

Другие вопросы по тегам