У меня есть это в мой Config/core.phpCakePHP - Использование функция локализации (__()) в основные файлы
Configure::write('Product', array(
...
'Colors' => array(
'black' => __('Black'),
'brown' => __('Brown'),
'grey' => __('Grey'),
'white' => __('White'),
'blue' => __('Blue')
),
...
));
В файле представление (.ctp), я рендеринг этого массив в виде JSON:
$config = array(
...
'colors' => Configure::read('Product.Colors'),
...
);
echo '(function(){window.AppCfg=' . json_encode($config) . '}).call(this);';
Если теперь я изменяю текущий язык, цвета остаются на английском языке. Если я вставляю массив из core.php прямо в мой .ctp, тогда он отлично работает - почему? Я уверен, что раньше использовал __() в core.php.
И где, когда и как именно вы меняете язык? – ndm
Он жестко запрограммирован в начале core.php: 'Configure :: write ('Config.language', 'deu');' –