yii2中文化的问题 [ 未指定版本 ]
yii2的英文我看不太懂,试了好多次都没成功
我想弱弱的问下,到底应该怎么做。
有人说要加'language' => 'zh_CN',那么加到哪个文件
如果不是,到底要怎么做,
谢谢各位高手相告
今天有时间研究了下,和大家共享(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'=>''项成相依的语言代码就可以了
上边的排版错了,重新来下:
(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'=>''项成相依的语言代码就可以了
靠,怎么回事,越来越乱了,就这样了,大家明白就好了
最佳答案
-
今天有时间研究了下,和大家共享(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'=>''项成相依的语言代码就可以了
其他 0 个回答
-
nswindlights 回答于 2014-11-10 10:15 举报
config/maim.php
return [
...'language'=>'zh-CN',
...
]
wgc1221
最后登录:2015-01-30
在线时长:4小时27分
- 粉丝0
- 金钱0
- 威望10
- 积分140