2016-07-01 47 views
2

翻譯文件我已經在我的app/Resources/translations翻譯文件。現在,我想更好地管理它們,並創建一些子文件夾,但隨後似乎文件未加載:的Symfony 2中未找到的子文件夾

{% trans_default_domain 'sub/messages' %} 
{{ 'message'|trans }} #does not work 

我也叫php bin/console cache:clear重新排序

回答

1

後,我不知道有關的子文件夾,用於存儲翻譯文件。 Translation Resource Symfony文檔部分沒有提到子文件夾。

但是,你可以組織翻譯的消息成組(域)。在這種情況下,每個消息文件必須按照以下路徑命名:domain.locale.loader,因此你可以有例如文件admin.en.yml爲您管理組或user.en.yml用戶組。

+0

對不起,這沒有幫助。當然,我可以創建不同的文件(域),但所有的域/文件都在一個文件夾中 – Asara

2

我測試過這一點,這裏是我的結論:

如果您有:

翻譯:
| - sub:
|             | - messages.en.xlf(message ='message in sub')
| - messages.en.xlf(有消息= '翻譯消息')

{{ '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:
|             | - 子消息 .en.xlf(具有消息= '在副信息')
| - messages.en.xlf(有消息=「翻譯消息」)

{% trans_default_domain 'submessages' %} 
{{ 'message'|trans }} // echo 'message in sub' 
+0

正確,現在我記得,如果你設置子文件夾爲locales(en,nl,de等),symfony也會識別這個 – Nickolaus