Я использую symfony assets для управления ресурсами javascript и css (минимизация и объединение все в 1 файл)
{% javascripts
'@CmsBundle/Resources/public/js/translations/en.js'
'@TempBundle/Resources/public/js/jquery.js'
'@AppBundle/Resources/public/js/functions.js'
filter='?uglifyjs2'
output='@HomeBundle/Resources/public/js/all.min.js'
%}
<script src="{{ asset_url }}"></script>
{% endjavascripts %}
Этот код работает отлично и выводит 1 файл в каталоге:
@HomeBundle/Resources/public/js/all.min.js
Я хочу добавить больше файлов перевода javascript на основе запрошенной локали
@CmsBundle/Resources/public/js/translations/en.js
@CmsBundle/Resources/public/js/translations/de.js
@CmsBundle/Resources/public/js/translations/fr.js
Ожидаемые выходные файлы с содержимым, основанным на входной локали:
@HomeBundle/Resources/public/js/all_en.min.js
@HomeBundle/Resources/public/js/all_de.min.js
@HomeBundle/Resources/public/js/all_fr.min.js
Я попытался использовать переменные для создания локализованных файлов с содержимым, основанным на входном файле локали:
{% javascripts
'@CmsBundle/Resources/public/js/translations/*'
'@TempBundle/Resources/public/js/jquery.js'
'@AppBundle/Resources/public/js/functions.js'
filter='?uglifyjs2'
output='@HomeBundle/Resources/public/js/all_{locale}.min.js'
vars= ['locale']
%}
<script src="{{ asset_url }}"></script>
{% endjavascripts %}
Актив конфигурации:
assetic:
variables:
locale: [ en,de,fr ]
Были сгенерированы 3 файла локалей, но с одинаковым содержимым, и все файлы локалей были объединены в 3 выходных файла.
Я хочу, чтобы файл all_en.min.js
содержал только содержимое en.js
и других файлов javascript, не относящихся к локали.