【发布时间】:2011-03-14 22:04:24
【问题描述】:
我使用带有集成翻译行为的 CakePHP 1.3.2。
我将我的几个模型保存在每个表中的翻译。示例:
class Page extends AppModel {
var $name = 'Page';
var $actsAs = array(
'Translate' => array('title', 'subtitle', 'menu')
);
var $translateModel = 'PageI18n';
...
}
现在在插入一些数据行之后。 Cake 不再检索 index-action 中的 i18n-data。 SQL 转储如下所示:
... WHERE I18n__title.locale = 'de_de' ...
但在“page_i18ns”表中,区域设置字段填充了“deu”
为什么 Cake 混合了 locale 属性?我应该在哪里设置语言环境属性?在 Model 类的某个地方?
在我的 AppController 中,我在 beforeFilter() 函数中使用 Configure::write('Config.language', $lang); 设置语言 .... 'eng', 'deu', 'chi'
【问题讨论】:
-
我知道 Cake 和语言环境,但没有使用翻译行为。我只是想提一下,区域设置标识符确实看起来像 en_en、de_de 等,而不像 eng 或 deu。
标签: cakephp internationalization