2014-01-11 79 views
5

我在config.yml中啓用了翻譯服務,使用命令行界面清除了緩存和已安裝的資產。Symfony FOSUserBundle翻譯未顯示

我的登錄頁面仍然顯示「security.login.submit」。我使用的是自定義模板,它位於:app/Resources/FOSUserBundle/views/Security/login.html.twig,包含(從FOS複製提供的模板):

{{ 'security.login.submit'|trans }} 

我config.yml:

framework: 
    translator:  { fallback: "%locale%" } 
    default_locale: "%locale%" 

parameters.yml:

parameters: 
    locale: en 

回答

10

這是您自己的login.html.twig的副本嗎?

如果是的話你有包括trans_default_domain ..

{% trans_default_domain 'FOSUserBundle' %} 

如果沒有翻譯將尋找在默認的翻譯「信息」的文件。

+0

* headdesk *謝謝,就是這樣:)我會在幾分鐘內接受。 – Jessica

+0

確實,{%trans_default_domain'FOSUserBundle'%}'必須位於'{%block fos_user_content%}'內部,這取決於它發生的情況。 – geoB

+1

我不確定是否誠實。我認爲它只適用於模板中的所有翻譯(所有塊但不是必需的),但我可能是錯的。即使如此,我認爲可以通過使用'{{'security.login.submit'| trans({},'CUSTOM_DOMAIN | messages | validation | etc}}'來更改域。 – qooplmao