【发布时间】:2011-07-18 15:09:11
【问题描述】:
我正在按照教程整理一个多语言网站:http://nuts-and-bolts-of-cakephp.com/2008/11/28/cakephp-url-based-language-switching-for-i18n-and-l10n-internationalization-and-localization/
但是,本教程使用三个字母表示不同的语言(eng、rus),我只想使用两个字母。
我换了config/core.php
Configure::write('Config.language', 'en');
还有config/routes.php
Router::connect('/:language/:controller/:action/*', array(), array('language' => '[a-z]{2}'));
还有以下路径:
locale/en/LC_MESSAGES/default.po
locale/ru/LC_MESSAGES/default.po
但它仍然无法正常工作。字符串作为它们的默认值而不是从.po 文件中读取。
.po 文件,我从运行 cake i18n 得到一个单独的 .pot 文件,然后我将其重命名为 .po 并复制到每种语言的每个目录中。
.po 文件是 utf-8 编码的。
我的config/bootstrap.php也有:
Configure::write('Config.languages', array(
'en' => array(
'language' => 'English',
'locale' => 'en',
'localeFallback' => 'en',
'charset' => 'utf-8'
),
'bg' => array(
'language' => 'Bulgarian',
'locale' => 'bg',
'localeFallback' => 'bg',
'charset' => 'utf-8'
),
)
);
我错过了什么?
【问题讨论】:
标签: cakephp internationalization multilingual