Домен Symfony 'trans' внутри шаблона Twig Я хотел бы сделать это: $this->get('translator')->trans('notice.unregistered', array(), 'index'); Внутри шаблона Twig, поэтому мне не нужно передавать это как аргумент. Как? Ответ 1 Решение: {% trans from "domain" %}text{% endtrans %} Ответ 2 Вы также можете использовать транс-фильтр: {{ 'translationkey'|trans({},'domain') }} Ответ 3 Вы можете добавлять пользовательские функции для изменения доменов внутри ваших шаблонов. Добавьте свои функции: $getTextdomain = new Twig_SimpleFunction('get_textdomain', function () { return textdomain(NULL); }); $setTextdomain = new Twig_SimpleFunction('set_textdomain', function ($domain) { textdomain($domain); }); $twig->addFunction($getTextdomain); $twig->addFunction($setTextdomain); Затем используйте его: {% set originalDomain = get_textdomain() %} {{ set_textdomain('errors') }} {% trans "My error message" %} {{ set_textdomain(originalDomain) }}
Ответ 3 Вы можете добавлять пользовательские функции для изменения доменов внутри ваших шаблонов. Добавьте свои функции: $getTextdomain = new Twig_SimpleFunction('get_textdomain', function () { return textdomain(NULL); }); $setTextdomain = new Twig_SimpleFunction('set_textdomain', function ($domain) { textdomain($domain); }); $twig->addFunction($getTextdomain); $twig->addFunction($setTextdomain); Затем используйте его: {% set originalDomain = get_textdomain() %} {{ set_textdomain('errors') }} {% trans "My error message" %} {{ set_textdomain(originalDomain) }}