Как лучше печатать и объединять переведенные переменные в ветке? - PullRequest
0 голосов
/ 16 октября 2018

Допустим, у меня есть установка, подобная этой, переведенные строки, переменные и разделители (пробел) смешаны в одном отпечатке.

{{ "app.user.welcometxt"|trans ~" "~ app.user.name ~" "~ app.user.lastname }}

Это хорошая практика?Или я должен поместить переменные в отдельные операторы и печатать одну за другой?

{{ "app.user.welcometext"|trans }} {{ app.user.name }} {{ app.user.lastname }}

Как лучше всего это сделать?Какой самый быстрый или лучший по производительности?

1 Ответ

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

Хотя я лично считаю, что явная форма гораздо более читабельна, удобочитаемость различных стилей кода - вещь очень самоуверенная.

С точки зрения производительности явная форма ...

{{ "app.user.welcometext"|trans }} {{ app.user.name }} {{ app.user.lastname }}

... определенно лучше, потому что Twig не нужно объединять 3 строки перед их заменой.Я настоятельно рекомендую вам разрешить Twig внутренне обрабатывать этот тип «оптимизации».

Более гибкий способ вывода приветствия пользователя с помощью Twig будет следующим:

{% trans with {'%name%': user.name, '%lastname%': user.lastname} from 'app' %}
  {{- app.user.welcometext -}}
{% endtrans %}

Тогдаустановите для текста приветствия что-то вроде Hello %name% %lastname%.

Это позволит вам легко добавить больше текста (например, с помощью приветствия, например Hello %name% %lastname%. How are you feeling today?) без необходимости менять шаблон.

...