Процесс интернационализации не работает.
Я 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 , хотя он может быть более надежным.
Еще кое-что, что нужно проверить