使用trans_default_domain进行Symfony2翻译

Ajo*_*uve 4 php translation symfony

我想翻译我的枝条模板的一部分,而不是我的 trans_default_domain

举个例子:

{% trans_default_domain 'FOSUserBundle' %}
{{ 'test.trans'|trans({}, 'ProjectMainBundle') }}
Run Code Online (Sandbox Code Playgroud)

所以test.trans在ProjectMainBundle中翻译,但我总是test.trans在我的文本中.

编辑:

test.trans 在... src/Project/MainBundle/Resources/translations/messages.en

它可以在任何地方工作,但是当我试图让我的trans用a时它不起作用 trans_default_domain

Nic*_*ich 7

您将翻译存储在一个文件中,该文件messages.en.yml根据翻译命名约定意味着这些翻译具有域messages而不是ProjectMainBundle.

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

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

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

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