Перевести локаль Symfony 4 шаблон ветки - PullRequest
0 голосов
/ 28 октября 2018

У меня есть вопрос по поводу перевода шаблона ветки.

Это реальный способ перевода.

{% trans into 'en_EN' %}Hello{% endtrans %}!,

Могу ли я напрямую загрузить значение '' из базы данных, напримерthis ?, (это возвращает ошибку =.

{% trans into {{ app.user.lang }} %}Hello{% endtrans %}!,

или я должен использовать контроллер для этого?

РЕДАКТИРОВАТЬ: кстати, теперь я использую следующую функцию дляперевод:

{% with %}
{% set lang = app.user.lang %}
<button class="btn btn-outline-primary" type="button" data-toggle="dropdown">{% trans into lang %}Hello{% endtrans %}!, {{ app.user.username }}<i class="material-icons">arrow_drop_down</i></button>
{% endwith %}

Но я не уверен, является ли это хорошей практикой или нет.

Спасибо.

С уважением.

Ответы [ 2 ]

0 голосов
/ 28 октября 2018

Вам не нужно использовать into, если вы хотите, чтобы переводы основывались на предпочтениях пользователя, вы добавляете его через прослушиватель или включаете локаль в URL-адреса, тогда все, что вам нужно сделать в шаблонах веток.{{ 'Hello' | trans }}

См .: https://symfony.com/doc/current/translation/locale.html

0 голосов
/ 28 октября 2018

Я думаю, что ваш вопрос не совсем ясен.Обычно вы можете определить язык по умолчанию в вашем файле конфигурации, а затем изменить его с помощью переключателя языка или чего-то еще.

Тогда вам это не нужно into.

Symfony 4 Как изменить язык Шаг за шагом

Вот хороший пример того, как создать переключатель языка, и некоторые учебные пособия.Вы должны прочитать документацию для перевода, где объясняется большинство вещей.

https://symfony.com/doc/current/translation.html

Если вы действительно хотите сохранить свои переводы в своей базе данных, вам нужно использовать загрузчик переводов и расширять их, чтобы вы могли зарегистрировать новую услугу и загрузить свои переводы из своегобаза данных.

Загрузчик переводов базы данных Symfony2 не выполняется

Но я не знаю, был ли это именно ваш вопрос.

...