使用trans_default_domain进行Symfony2翻译

时间:2013-10-09 20:30:37

标签: php symfony translation

我想翻译我的trans_default_domain

中不属于我的树枝模板的一部分

例如:

{% trans_default_domain 'FOSUserBundle' %}
{{ 'test.trans'|trans({}, 'ProjectMainBundle') }}

所以test.trans已在ProjectMainBundle中翻译,但我的文字中始终有test.trans

修改

test.trans位于src/Project/MainBundle/Resources/translations/messages.en

它可以在任何地方使用但是当我试图通过trans_default_domain

来获取我的trans时它不起作用

1 个答案:

答案 0 :(得分:6)

您正在将翻译存储在名为messages.en.yml的文件中,这意味着根据naming conventions for translations这些翻译具有域messages而非ProjectMainBundle

因此,如果您尝试使用域ProjectMainBundle并且返回字符串本身,则翻译器不会找到翻译。

  

必须根据以下路径命名每个消息文件:   domain.locale.loader

您的翻译应存储在@AcmeYourBundle/Resources/translations/<domain>.<locale>.yml(或php,xliff,...)。

请记住在重命名后清除缓存。