Я создаю многоязычный сайт в соответствии с руководством: http://nuts -and-bolts-of-cakephp.com / 2008/11/28 / cakephp-url-based-переключение языков i18n-и-l10n-интернационализация и локализация /
Однако в учебнике используются трехбуквенные обозначения для разных языков (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
, которые я получил от запуска 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'
),
)
);
Чего мне не хватает?