我创建了一个Symfony应用程序&我正在申请中翻译文本。
我的一个捆绑包中的翻译会覆盖所有其他捆绑包,而翻译是特定于捆绑包的。我没有使用app
级别!
例如,我有两个名为MessagingBundle
&的捆绑包。 CongratBundle
& Title
键在这两个键中定义如下:
src/ITW/CongratBundle/Resources/translations/messages.en.yml:
...
Title: Congrat Title
...
src/ITW/MessagingBundle/Resources/translations/messages.en.yml:
...
Title: Message Title
...
然而,MessagingBundle
和{ CongratBundle
当我使用Congrat Title
!!
{{ "Title"|trans }}
我正在使用Symfony 2.5.6
有什么问题?
答案 0 :(得分:2)
Symfony在下面查找消息文件(即翻译) 位置:
app / Resources / translations目录;
app / Resources //翻译目录;
任何捆绑包内的Resources / translations /目录。
此处列出的位置优先级最高。那 是的,你可以覆盖任何一个包的翻译消息 前2个目录。
我认为这里的重要部分是选项三的任意捆绑。看起来Symfony正在从第一个捆绑中获取翻译(两个中的一个)。
我会试试这个:
app/Resources/CongratBundle/translations
目录并添加其messages.en.yml
app/Resources/MessagingBundle/translations
目录并添加其messages.en.yml
重要:即使您处于开发环境中,也不要忘记清除缓存:
php app/console cache:clear
希望这能解决问题。