Intereting Posts
Могу ли я полагаться на обходное решение PHP php.ini для проблемы с плавающей точкой Может ли PHP сказать, если сервер 64-битный? Самый быстрый способ удаления значения в списке, разделенном запятыми Php конвертировать ipv6 в число Как перейти на статическую папку в Laravel как я могу добавить новый шаблон цены в magento Как скачать rar-файл с помощью php Неустранимая ошибка: допустимый размер памяти 268435456 байт исчерпан (пытался выделить 71 байт) Преобразование строки PHP в массив JSON Symfony 1.4 с TCPDF: как получить данные из базы данных и показать их как .pdf-файл? PDO: «Недопустимый номер параметра» при подстановке нескольких параметров с одинаковым значением PHP 5.4: Получение Полноценного имени класса переменной экземпляра Типичные ошибки PHP Как реализовать «Режим обслуживания» на уже созданном веб-сайте Какой простой способ выполнять полномочия в PHP?

Проблемы с интернационализацией на CakePHP 2.0

Процесс интернационализации не работает.

Я 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 , хотя он может быть более надежным.

Еще кое-что, что нужно проверить

  1. Проверьте, правильно ли выбран язык вашего браузера, португальский, как первый язык выбора
  2. Являются ли ваши ключи от msgid и msgstr в отдельных строках и правильно заключают текст в двойные кавычки?
  3. Я не эксперт CakePHP, но попробуйте переместить конфигурацию в bootstrap.php. Ваш код кажется логичным.