После еще одного исследования я обнаружил, что хотя фильтр компиляции перевода был добавлен несколько месяцев назад в JMSTwigJsBundle, необходимые функции были добавлены в Assetic только недавно.Использование выпущенных версий библиотек не будет работать.На данный момент должен использоваться мастер из git.
Использование файла deps ...
[assetic]
git=http://github.com/kriswallsmith/assetic.git
[AsseticBundle]
git=http://github.com/symfony/AsseticBundle.git
target=/bundles/Symfony/Bundle/AsseticBundle
Языки, поддерживаемые сайтом, должны быть указаны в качестве параметра.Я добавил его в свой файл config.yml.
parameters:
assetic.variables:
locale: ['en', 'fr']
Наконец, набор файлов должен указывать, что он зависит от локали.
{% javascripts vars=["locale"]
'@AcmeBundle/Resources/views/Default/some_template.html.twig'
filter="twig_js"
%}
Вот пример шаблона для полноты:
{% twig_js name="some_template" %}
<b>{{'test.say.hello' | trans({"%name%": name|default("World")})}}</b>
Файл начальной загрузки twig.js также должен быть загружен до определения шаблона.Вызов шаблона, как и ожидалось:
Twig.render(some_template, {name: 'CoBaLt2760'})