在YII中更改语言

Roh*_*edi 2 php yii

在使用YII创建新站点后,我在protected/messages中添加了一个文件夹'fr',并添加了一个文件'site.php',其中包含:

return array('hello'=>'bonjour');

在view/layout/main.php中,我添加了以下代码:

<?php 
    // I change the language to english and french using session. 
    //  This is just for example.
    Yii::app()->language = 'fr'; 

    // I also used Yii::app()->setLanguage('fr');
    echo Yii::t('site','hello');
?>
Run Code Online (Sandbox Code Playgroud)

但语言没有翻译.我错在哪里.请建议

Mar*_*o D 8

如果希望翻译在所有视图中正常工作,则应在控制器中设置语言.

为了将语言应用于所有控制器,在组件文件夹中创建扩展的新Controller.php文件,然后所有控制器都应该扩展类.在类覆盖方法(不要忘记调用)并在那里设置语言.例如:class ControllerCControllerControllerControllerinit()parent::init()

class Controller extends CController
{
    public $layout='//layouts/column1';

    function init()
    {
        parent::init();
        Yii::app()->language = 'fr';
    }
 }
Run Code Online (Sandbox Code Playgroud)

这样,您可以在一个位置添加应该应用于所有控制器的其他内容