Перевести языковой стандарт symfony 4 twig template

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

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

{% 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 %}

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Symfony Station Communiqué - 17 февраля 2023 г
Symfony Station Communiqué - 17 февраля 2023 г
Это коммюнике первоначально появилось на Symfony Station , вашем источнике передовых новостей Symfony, PHP и кибербезопасности.
Управление ответами api для исключений на Symfony с помощью KernelEvents
Управление ответами api для исключений на Symfony с помощью KernelEvents
Много раз при создании api нам нужно возвращать клиентам разные ответы в зависимости от возникшего исключения.
1
0
2 685
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

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

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

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

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

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

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

Загрузчик перевода базы данных Symfony2 не запущен

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

Привет, Стони, спасибо за ответ, я только что отредактировал свой первый пост несколько секунд назад.

CitizenG1 28.10.2018 11:47
Ответ принят как подходящий

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

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

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