语言包配置:
为了代码更加规范,配置一个项目语言包是必不可少的事,那么下面我们就开始来给我们的网站配置中文包
语言包的配置可以根据开发需求,前台(frontend)和后台(backend)分开配置
第一步:
创建目录(frontend为例),如下图在/frontend/messages/zh-CN(这里的“CN”最好大写,Windows无影响,linux区分大小写),创建两个语言包文件 common.php和power.php
第二步:添加语言包配置/frontend/config/main.php
return [ 'language'=>'zh-CN', //这个配置别漏了,选择中文语言包 ... 'components' => [ ... 'i18n' => [ 'translations' => [ 'common' => [ 'class' => 'yii\i18n\PhpMessageSource', //'basePath' => '/messages', 'fileMap' => [ 'common' => 'common.php', ], ], 'power' => [ 'class' => 'yii\i18n\PhpMessageSource', //'basePath' => '/messages', 'fileMap' => [ 'power' => 'power.php', ], ], ], ], ] ]
添加language和i18n配置
那么好了,语言包的配置基本是完成了,接下来我们验证一下
在common.php中添加数据,格式如下
输出:在/frontend/views/layouts/main.php 把网站名My Company改成Yii::t('common','Yii China');
打开首页查看效果
附:Yii语言包的调用方法
Yii:t()调用语言包的具体用法如下: 首先,假设我们有一个语言包文件:/protected/message/zh_cn/lang.php 文件内容如下: <?php return array( 'My Name'=>'我的名字', ); ?> 我们可以在view中这样调用: <?php echo Yii::t('lang','My Name'); ?> 在config/main.php 里加上 :‘language’=>'zh_cn', 显示结果就是:汉字:我的名字。 如果我们的语言包文件为:/protected/message/zh_cn/admin/lang.php 文件内容如下: <?php return array( 'My Name'=>'我的名字', 'desc'=>array( 'title'=>'我的测试站', 'keywords'=>'测试,网站', ), ); ?> 在view中调用: 1、调用My Name : <?php echo Yii::t('admin/lang','My Name'); ?> 2、调用数组desc: <?php $desc= Yii::t('admin/lang','desc'); ?>
注:官方说明如下:http://www.yiiframework.com/doc/guide/1.1/en/topics.i18n