Yii文件翻译自动开启$ _SERVER ['HTTP_ACCEPT_LANGUAGE']

时间:2011-11-19 20:05:42

标签: translation yii

我想在我的protected/views/layouts/main.php

中进行yii文件翻译和设置
<?php
  if(preg_match('/de/', $_SERVER['HTTP_ACCEPT_LANGUAGE']))
    Yii::app()->language='de';
?>

protected/config/main.php我设置'sourceLanguage'=>'en_us''language' => 'en'

我有两个语言文件夹views/site/deviews/site/en

Yii::app()->language='de';视图中调用layout/main时,从不加载de目录中的文件。但是,当我设置'language' => 'de'时,在配置文件中它被加载。

有没有办法解决它,以便根据用户的浏览器语言使用语言文件夹?

1 个答案:

答案 0 :(得分:0)

但为什么要将Yii::app()->language设置到视图中?我认为,问题可能出在其中 - 因为此时所有已翻译的消息都会被加载。因此,尝试在控制器(或过滤器)中执行此操作。