Как обрабатывать перевод в файл ветки с помощью переменных?
У меня есть файл ветки и 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
Удачи.