首页 > 活着 > Yii 国际化的实现

Yii 国际化的实现

全局配置

第一在 main.php 配置文件里加上’language’=>’zh_cn’ 或’sourceLanguage’=>’zh_cn’ , 告诉程序这是中文的,你去找中文包去(zh_cn).

第二在你对应的 model 里面加上以下代码,例如 Post model,

Java代码
1.public function rules()
2.{
3. return array(
4. array(‘password’,’compare’, ‘message’=>Yii::t(‘models/Post’,’content’)),
5. );
6.}
7.public function attributeLabels()
8.{
9. return array(
10. ‘p_id’ => Yii::t(‘models/Post’,’id’),
11. ‘p_title’ => Yii::t(‘models/Post’,’title’),
12. ‘p_content’ => Yii::t(‘models/Post’,’content’),
13. ‘p_addtime’ => ‘PAddtime’,
14. );
15.}
public function rules()
{
return array(
array(‘password’,’compare’, ‘message’=>Yii::t(‘models/Post’,’content’)),
);
}
public function attributeLabels()
{
return array(
‘p_id’ => Yii::t(‘models/Post’,’id’),
‘p_title’ => Yii::t(‘models/Post’,’title’),
‘p_content’ => Yii::t(‘models/Post’,’content’),
‘p_addtime’ => ‘PAddtime’,
);
}得到某一个

Java代码
1.$model->getAttributeLabel(‘p_content’);
$model->getAttributeLabel(‘p_content’);

Yii::t() 就是自动去找你的资源文件。参数第一个是路径,不用加.php, 后面是对应的名字

第三在 messages/ 下面新建 zh_cn/models/Post.php,内容是如下 不要命名成系统默认的YII,Zii

Java代码
1. 2.return array(
3. 'Post' => ‘y1_post’,
4. ‘id’ => ‘编号’,
5. ‘title’ => ‘标题’,
6. ‘content’=>’内容’
7.);
return array(
'Post' => ‘y1_post’,
‘id’ => ‘编号’,
‘title’ => ‘标题’,
‘content’=>’内容’
);之后就好了。如果你还有英文以及其它语道理是一样的。

To get current language:
$lang = Yii::app()->language;

To set current language:
Yii::app()->language = ‘en';

部分配置

我们可以在应用程序配置文件进行设置,这样该设置将会对整个网站起作用 。但是我们只想翻译登录表单 ,所以我们只需要在SiteController::actionLogin()方法内进行设置,所以该设置只会在渲染登录表单时有效。所以打开该文件,在方法的开头按照如下形式设置目标语言

Java代码
1.public function init() {
2. if (Yii::app()->getRequest()->getServerName()==’cn.domain.com’) {
3. Yii::app()->language=’zh_cn';
4. }
5.}
public function init() {
if (Yii::app()->getRequest()->getServerName()==’cn.domain.com’) {
Yii::app()->language=’zh_cn';
}
}
Java代码
1.public function actionLogin()
2.{
3. Yii::app()->language = ‘zh_cn';
public function actionLogin()
{
Yii::app()->language = ‘zh_cn';

全局配置 第一在 main.php 配置文件里加上’language’=>&#8217 […]

  1. 还没有评论
评论提交中, 请稍候...

留言

(Spamcheck Enabled)

Trackbacks & Pingbacks ( 0 )
  1. 还没有 trackbacks