Я использую внутри моих представлений для отображения текста на нескольких языках. Я создал каталог .po-file для немецкого языка:
=> app/Locale/ger/LC_MESSAGES/default.po
msgid "this is my string"
msgstr "dies ist meine zeichenkette"
Когда я добавляю Configure::write('Config.language','ger');
для моего AppController.php перед функциейFilter текст по-прежнему остается «это моя строка». Даже если я создам .po для английского языка с другой msgstr, текст все равно останется прежним.
Нужно ли мне изменять определенные настройки для активации перевода?
У меня есть последующая проблема: я добавил Configure::write('Config.language','eng');
до ядро.phpдля установки языка по умолчанию, но теперь я не могу изменить значение, даже если я попытаюсь переопределить его в AppController.phpbeforeFilter с:
Configure::write('Config.language', 'deu'); //'de' also doesn't work
CakeSession::write('Config.language', 'deu'); //'de' also doesn't work
Если я изменю значение в ядре.php оно работает отлично, но после установки в ядро.php я не могу его изменить.
решено:, я забыл добавить parent::beforeFilter();
внутри функции beforeFilter всех контроллеров.
Дополнительная информация:
Configure::write('Config.language', 'eng');
к ядру.php