У меня вопрос по переводу шаблона веточки.
Это актуальный способ перевода.
{% trans into 'en_EN' %}Hello{% endtrans %}!,
Могу ли я напрямую загрузить значение '' из такой базы данных? (это возвращает ошибку).
{% 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 %}
Но я не уверен, хорошая это практика или нет.




Я думаю, что ваш вопрос непонятен. Обычно вы можете определить язык по умолчанию в своем файле конфигурации, а затем изменить его с помощью селектора языка или чего-то еще.
Тогда вам не нужен этот into.
Symfony 4 Как изменить язык Шаг за шагом
Вот хороший пример того, как создать переключатель языка, и несколько руководств. Вам следует прочитать документацию по переводу, где объясняется большинство вещей.
https://symfony.com/doc/current/translation.html
Если вы действительно хотите сохранить свои переводы в своей базе данных, вам нужно использовать загрузчик переводов и расширить их, поэтому вам нужно зарегистрировать новую службу и загрузить свои переводы из своей базы данных.
Загрузчик перевода базы данных Symfony2 не запущен
Но я не знаю, был ли это именно ваш вопрос.
Вам не нужно использовать into, если вы хотите иметь переводы на основе предпочтений пользователя, вы добавляете его через прослушиватель или включаете языковой стандарт в URL-адреса, тогда все, что вам нужно сделать в ваших шаблонах веточек, это {{ 'Hello' | trans }}
См .: https://symfony.com/doc/current/translation/locale.html
Привет, Стони, спасибо за ответ, я только что отредактировал свой первый пост несколько секунд назад.