我想在我的protected/views/layouts/main.php
:
<?php
if(preg_match('/de/', $_SERVER['HTTP_ACCEPT_LANGUAGE']))
Yii::app()->language='de';
?>
在protected/config/main.php
我设置'sourceLanguage'=>'en_us'
,'language' => 'en'
我有两个语言文件夹views/site/de
和views/site/en
。
在Yii::app()->language='de';
视图中调用layout/main
时,从不加载de目录中的文件。但是,当我设置'language' => 'de'
时,在配置文件中它被加载。
有没有办法解决它,以便根据用户的浏览器语言使用语言文件夹?
答案 0 :(得分:0)
但为什么要将Yii::app()->language
设置到视图中?我认为,问题可能出在其中 - 因为此时所有已翻译的消息都会被加载。因此,尝试在控制器(或过滤器)中执行此操作。