我目前正致力于eZPublish5网站的翻译工作,该网站将包含4种语言:法语,英语,俄语和中文,法语为原始语言和语言环境后备。
后端内容的翻译工作正常,但我正在努力翻译模板部分,我已将其封装在{% trans %}
过滤器中。我不认为它与区域设置问题直接相关,因为{% trans %}
标签使用的是法语,英语和俄语,但不是中文。
这样做我用过
php ezpublish/console translation:update --output-format=xlf locale bundle --force
生成了 messages.fr.xlf , messages.en.xlf 和 messages.ru.xlf 。
使用中文时,如果我使用{{ app.request.locale }}
将语言环境转储到树枝中,我会得到 zh_TW 作为结果,所以我生成了一个 messages.zh_TW.xlf ,没有任何结果。
在关于所有类型语言代码的loooong网络搜索之后,我开始失去耐心并产生:
无济于事。 这个项目是我第一次使用eZpublish,我是Twig / Symfony逻辑下的第一个多语言。
显示语言声明的一些代码:
//ezpublish/config/ezpublish.yml
ezpublish:
system:
chi:
languages:
- chi-TW
- fre-FR
session:
name: eZSESSID
知道我做错了什么吗?
答案 0 :(得分:1)
SOOOO。 我找到了解决问题的解决方案,我很惭愧在这里分享。
-------巨大的启示!-------
$php app/console cache:clear
前三个语言文件已经创建了很久以来,缓存已经被清除了很多,所以这就是为什么这些trans文件正常工作。我清除了缓存,现在一切正常。 顺便说一下,我自己的问题的答案是: messages.zh_TW.xlf
现在我要隐藏自己一段时间。