Процесс интернационализации не работает.
Я cake i18n export
. После этого я помещаю переводы в файл «.po» в папку app/locale/por/LC_MESSAGES/default.po.
,
Я вызвал метод beforeFilter()
в AppController Configure::write('Config.language', 'por');
,
Но перевод не показан в __()
-методах.
Вот несколько возможных предложений:
• Очистите кеш Cake в PATH_YOUR_APP/tmp/cache
. Удалите файлы в models
и persistent
, но не сами каталоги. Я считаю, что постоянным является то, где локализованные строки сохраняются, но пустые, чтобы быть уверенными.
• Вы переопределяете beforeFilter
в любом из ваших контроллеров, кроме AppController
? Если это так, вызовите parent::beforeFilter();
в методе beforeFilter
контроллера, перед обработкой другого материала, например:
public function beforeFilter() { parent:beforeFilter(); //Do stuff here }
• Как вы создали файлы перевода? Есть ли файл .mo
в каталоге .po
? Я считаю, что прямое редактирование файлов .po
и .pot
не рекомендуется из-за проблем с кодировкой символов (но я мог ошибаться). Poedit – хороший инструмент для манипулирования файлами .po
, хотя он может быть более надежным.
Еще кое-что, что нужно проверить