yii 双语实现

模版页面增加语言连接

<ul class="grid_2 right">
  <li >
  <?php echo CHtml::link('简体中文',array('site/index','hl'=>'cn')); ?>
  </li>
  <li><?php echo CHtml::link('English',array('site/index','hl'=>'en')); ?></li>
</ul>

修改 components/Controller.php 重载 init动作

public function init() {
if(@$_GET['hl']){
if (@$_GET['hl'] === 'en'){
Yii::app()->language = 'zh_cn';
$_SESSION['language'] = 'zh_cn';
}elseif(@$_GET['hl'] === 'cn'){
Yii::app()->language = 'us_en';
$_SESSION['language'] = 'us_en';
}
}else{
if(@!$_SESSION['language']){
Yii::app()->language = 'us_en';
$_SESSION['language'] = 'us_en';
}else{
Yii::app()->language = $_SESSION['language'];
}

}

}

我是用的session保存当前语言

config/main.php 

'params' => array(
  // this is used in contact page
  'adminEmail' => 'webmaster@example.com',
  'sourceLanguage' => 'zh_cn',
  'language' => 'en_us',
),


创建 /messages/zh_cn/app.php

return array(
'好享拍'=>'hxpa',
'test'=>'测试',
   '留言'=>'Comment',
);


在页面调用

<?php
  echo Yii::t('app','test');
?>

就可以了,yii太牛了

posted on 2012-03-31 19:46  我叫王鹏飞  阅读(366)  评论(0编辑  收藏  举报

导航