我把它放到我的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。
答案 0 :(得分:1)
我要在core.php
the time this file is included,aren't built yet,应用the locale path is yet unknown的正确路径,以及因此绑定textdomain将失败为{{3}}。 / p>
只需将涉及调用__()
(这是触发textdomain绑定的内容)的所有内容从您的core.php
移动到您的bootstrap.php
文件中,您应该做得很好。