Yii多語言

views/layouts/main.php

<?php echo CHtml:: link ( ' 中文 ' , array ( 'site/index' , 'lang' => 'zh_cn' )) . ' | ' . CHtml:: link ( '繁體' , array ( 'site/index' , 'lang' => 'zh_tw' )) .' | '. CHtml:: link ( 'English' , array ( 'site/index' , 'lang' => 'en_us' ));?>
        

Controller.php 

public function init()
    
    {

        if(isset($_GET['lang'])&&$_GET['lang']!=""){                    //當點擊轉換語言時
            Yii::app()->user->setState("yuyan",$_GET['lang']);            //相當於與設置一個cookie
            Yii::app()->language = Yii::app()->user->getState("yuyan");    //轉換成相應的記錄語言
        }
        
        if(Yii::app()->user->getState("yuyan")){                        //如果設置了有cookie記錄
            Yii::app()->language = Yii::app()->user->getState("yuyan");    //轉換成相應的記錄語言
        }else{
            Yii::app()->user->setState("yuyan","en_us");                //沒有cookie則設置一個cookie.默認語言為en_us
            Yii::app()->language = Yii::app()->user->getState("yuyan");    //轉換成相應的記錄語言
        }
    }

messages/zh_cn/default.php

<?php
return array ( 'username' => '用戶名', 'password' => '用戶密碼', } ?>

site/index

<?php

echo "username =>".Yii::t('default','username')."<br>";    
echo "password =>".Yii::t('default', 'password');

?>

output:

username =>用戶名
password =>用戶密碼

 

 

 

 

 

posted @ 2013-01-10 16:37  Resory  阅读(260)  评论(0)    收藏  举报