CakePHP国际化语言环境代码

时间:2013-01-09 12:25:39

标签: cakephp localization internationalization multilingual

我在CakePHP 1.3中遇到了一些区域代码问题(但也适用于2.0)

我使用的是3个字母代码的语言,但有些代码不可用。例如,我想为澳大利亚设置aus。正如文档所说

  

三字符区域设置代码符合ISO 639-2标准,但如果您创建区域区域设置(en_US,en_GB等),则蛋糕将在适当时使用它们。

aus中存在ISO 639-2,但与CakePHP不兼容。它保存了i18n记录,但在显示内容时需要英文版。在放置ISO标准中没有的代码时也会发生同样的情况。我也尝试过基于位置的代码en_AU,结果是一样的。

我是否能够使任何代码工作,无论它是否符合ISO标准。这是因为网站管理员可以访问网站中的语言,我希望允许他使用任何字母组合作为语言代码。

如何获取澳大利亚的设置代码

1 个答案:

答案 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/

中为“en_au”