wgc1221
- wgc1221 回答了问题 yii2中文化的问题
靠,怎么回事,越来越乱了,就这样了,大家明白就好了
- wgc1221 回答了问题 yii2中文化的问题
上边的排版错了,重新来下:
(basic 模版):修改config目录下的web.php文件,添加return [ ... 'language'=>'zh-CN', ... ]
这样可以把yii2定义的英文翻译成中文,但是页头需要自己修改 views/layouts/main.php文件自己修改。 那么,如果用gii自动生成数据库CURD操作的话,数据库的显示怎么改成汉字呢? 需要在model类中定义attributeLabels()方法:
public function attributeLabels() { return [ 'id' => Yii::t('app', 'ID'), 'xitong' => Yii::t('app', '应用系统名称'), ]; }
但是这样定义是死的,不灵活,浪费了Yii::t()函数的强大功能,翻译成其他语言还得修改源程序。以上述代码为例,修改代码为:
'xitong' => Yii::t('app', 'SystemName'),
在config目录下的web.php文件,添加以下内容:
'i18n' => [ 'translations' => [ 'app' => [ 'class' => 'yii\i18n\PhpMessageSource', //'basePath' => '@app/messages', //'sourceLanguage' => 'en-US', 'fileMap' => [ 'app' => 'app.php', ], ], ], ],
在basic目录下创建messages目录,在messages目录下创建zh-CN目录,在zh-CN目录下创建app.php文件,输入以下内容:
return [ 'SystemName'=>'系统名称', ... ];
如果需要更改程其他语言,需要在messages目录下建立相应的语言目录,再在语言目录下建立app.php文件并写上翻译信息,最后修改web.php配置文件中的'language'=>''项成相依的语言代码就可以了
- wgc1221 回答了问题 yii2中文化的问题
今天有时间研究了下,和大家共享(basic 模版):
修改config目录下的web.php文件,添加return [ ... 'language'=>'zh-CN', ... ]
这样可以把yii2定义的英文翻译成中文,但是页头需要自己修改 views/layouts/main.php文件自己修改。
那么,如果用gii自动生成数据库CURD操作的话,数据库的显示怎么改成汉字呢?
需要在model类中定义attributeLabels()方法:public function attributeLabels() { return [ 'id' => Yii::t('app', 'ID'), 'xitong' => Yii::t('app', '应用系统名称'), ]; }
但是这样定义是死的,不灵活,浪费了Yii::t()函数的强大功能,翻译成其他语言还得修改源程序。
以上述代码为例,修改代码为:'xitong' => Yii::t('app', 'SystemName'),
在config目录下的web.php文件,添加以下内容
return [ ...
'i18n' => ['translations' => [ 'app*' => [ 'class' => 'yii\i18n\PhpMessageSource', //'basePath' => '@app/messages', //'sourceLanguage' => 'en-US', 'fileMap' => [ 'app' => 'app.php', ], ], ], ],
... ]
在basic目录下创建messages目录,在messages目录下创建zh-CN目录,在zh-CN目录下创建app.php文件,输入以下内容:
return [
'SystemName'=>'系统名称', ...
];
如果需要更改程其他语言,需要在messages目录下建立相应的语言目录,再在语言目录下建立app.php文件并写上翻译信息,最后修改web.php配置文件中的'language'=>''项成相依的语言代码就可以了
- wgc1221 提出了问题yii2中文化的问题