(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'=>''项成相依的语言代码就可以了