我已经在app / Resources / TwigBundle / views / Exception中为错误页面创建了模板。但我在这些页面上的翻译存在问题,即
<h3>{{ 'error_page.404.header'|trans({}, 'ProjCoreBundle') }}</h3>
不工作。我的翻译在src / Proj / CoreBundle / Resources / translations / ProjCoreBundle。%lang%.yml,其中%lang%表示区域设置(即&#34; en&#34;),它们在其他页面上正常工作。什么可能导致问题。
答案 0 :(得分:0)
您需要在正确的目录中进行必要的覆盖。在这种情况下,在顶级目录app/Resources/TwigBundle/translations
或app/Resources/translations
文件夹中(请参阅http://symfony.com/doc/current/book/translation.html#translation-resource-file-names-and-locations)。
Symfony在下面查找消息文件(即翻译) 位置:
app / Resources / translations目录;
app / Resources //翻译目录
任何包内的Resources / translations /目录。
此处列出的位置最高 优先考虑。也就是说,您可以覆盖翻译消息 前两个目录中的任何一个包。
要在自己的内部使用另一个包的覆盖部分,您需要从第二个包继承您的包: 见http://symfony.com/doc/current/cookbook/bundles/inheritance.html
class AcmeUserBundle extends Bundle
{
public function getParent()
{
return 'FOSUserBundle';
}
}
通过进行这种简单的更改,您现在可以覆盖其中的几个部分 FOSUserBundle只需创建一个具有相同名称的文件即可。
此外,如果您正在使用Symfony 2.5,请参阅此版本中引入的调试机制。