cakephp在飞行中改变语言

时间:2012-04-26 12:07:17

标签: cakephp multilingual cakephp-2.1 cakephp-appmodel

我的网站有两种语言(英语和意大利语)

我的SiteMessagesController.php控制器代码:

public function index() {
    $this->SiteMessage->locale = 'it';
    $this->SiteMessage->recursive = 0;
    $this->set('siteMessages', $this->paginate());
}

以上代码显示了意大利语language from database中的所有邮件。如果我comment第一行代码,那么它将以英语显示消息。

如果我在整个网站中使用此功能,我必须在$this->SiteMessage->locale = 'it';之前在每个控制器的每个操作中编写$this->ModelName->find();行。

有没有办法为每个模型设置$locale'it'

2 个答案:

答案 0 :(得分:1)

如果你问的是我认为你在问什么,那就可以了:

Configure::write('Config.language', 'ita');

如果你把它放在像AppController::beforeFilter()这样的地方,它应该适用于整个应用程序,而不是单个模型或查询。有关详细信息,请参阅I18n and L10n上的图书。

答案 1 :(得分:0)

将语言环境放在AppModel中。

例如:这个是英语的   public $locale = 'en_us';