我们有一个由承包商开发的Cake应用程序。它设置为多种语言(显然)。我可以在/ locale下看到语言子目录 - 但是,如果我们将新的翻译.po文件添加到例如法语的/ LC_MESSAGE子目录中(包括该语言的default.po),则语言更改中不会显示法语下拉列表。
我已经检查了Cake文档,而Cake似乎建议locale子目录都是两个字符名称(例如,上面的例子,法语为“fr”),开发人员使用“fra”来设置它。我不确定这是一个问题,还是只是Cake的灵活性的一个标志。
另一件事是我们拥有的工作翻译(西班牙语)在其文件夹中显示重复的.mo文件以及我们原始的.po文件。我已将default.po文件转换为默认.mo文件用于fra语言环境并上传,清除浏览器缓存,然后重新加载,语言选择器中仍然没有法语语言可用。
理想情况下,我们希望能够在新语言可用时添加和更新,而不必每次都转向开发人员(不幸的是,他们允许垃圾邮件发送者进入主机)。每次添加区域设置语言时,Cake应用程序都必须重新绑定吗?我是否需要在主机上的Cake应用程序中删除缓存文件以启用新语言?任何指导都将不胜感激。
答案 0 :(得分:0)
法语
的/ LC_MESSAGE子目录
该文件夹应为LC_MESSAGES
,复数。
开发人员使用“fra”来设置它。我不确定这是一个问题,还是只是Cake的灵活性的一个标志。
3个字母的语言代码也可以。虽然我不记得它应该是fra
还是fre
。
我已将默认.po文件转换为默认情况.m文件为fra语言环境并上传
拥有.mo文件并非绝对必要。 Cake也可以读取.po文件。
每次添加区域设置语言时,Cake应用程序都必须进行重新绑定吗?
除非开发人员做了一些非常奇怪的事,否则没有。
我是否需要在主机上的Cake应用程序中删除缓存文件以启用新语言?
是。添加新语言后,您需要清除应用程序缓存。对于您的情况,清除/app/tmp/persistent
文件夹中的所有文件。