我在CakePHP 1.3中遇到了一些区域代码问题(但也适用于2.0)
我使用的是3个字母代码的语言,但有些代码不可用。例如,我想为澳大利亚设置aus
。正如文档所说
三字符区域设置代码符合ISO 639-2标准,但如果您创建区域区域设置(en_US,en_GB等),则蛋糕将在适当时使用它们。
aus
中存在ISO 639-2
,但与CakePHP不兼容。它保存了i18n记录,但在显示内容时需要英文版。在放置ISO标准中没有的代码时也会发生同样的情况。我也尝试过基于位置的代码en_AU
,结果是一样的。
我是否能够使任何代码工作,无论它是否符合ISO标准。这是因为网站管理员可以访问网站中的语言,我希望允许他使用任何字母组合作为语言代码。
如何获取澳大利亚的设置代码
答案 0 :(得分:1)
您需要告诉蛋糕您的翻译使用的是哪种语言。 您可以使用一般的3字母代码(如eng)或更多特定位置的代码(如en-US)。
在你的情况下:
Configure::write('Config.language', 'en-au')
记下短划线(https://github.com/cakephp/cakephp/blob/2.3/lib/Cake/I18n/L10n.php)。
然后该文件夹将在/APP/Locale/