我的翻译文件位于app/Resources/translations
。现在我想更好地管理它们并创建一些子文件夹,但似乎文件未加载:
{% trans_default_domain 'sub/messages' %}
{{ 'message'|trans }} #does not work
重新排序后我也调用了php bin/console cache:clear
答案 0 :(得分:2)
我已经测试了这个,这是我的结论:
如果你有:
翻译:
| - sub:
| | - messages.en.xlf(message ='message in sub')
| - messages.en.xlf(带有message ='翻译中的消息')
{{ 'message'|trans }} // echo 'message in sub'
{% trans_default_domain 'messages' %}
{{ 'message'|trans }} // echo 'message in sub'
{% trans_default_domain 'sub/messages' %}
{{ 'message'|trans }} // echo 'message' -> don't translate (it's your problem)
要解决您的问题,您可以重命名子目录中的文件
翻译:
| - sub:
| | - submessages .en.xlf(在sub'中带有message ='message) | - messages.en.xlf(带有message ='翻译中的消息')
{% trans_default_domain 'submessages' %}
{{ 'message'|trans }} // echo 'message in sub'
答案 1 :(得分:1)
我不确定用于存储翻译文件的子文件夹。 Translation Resource Symfony文档部分没有提及子文件夹。
但是,您可以将翻译消息组织到组(域)中。在这种情况下,必须根据以下路径命名每个消息文件:domain.locale.loader
,因此您可以使用以下路径: 管理员组的文件admin.en.yml
或用户组的user.en.yml
。
答案 2 :(得分:1)