我有这个到我的 Config/core.php
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 中使用过 __() 。