1、写一个对i18n消息的调用:在 actionIndex 函数中写入
2、手工创建 i18n 配置文件存放目录
Yii2已经发布一段时间了,现在最新的版本号是2.0.6。由于准备新开发一个支持多语言的网站(之前一直采用的是Yii1.1.x),因此来研究一下Yii2的i18n的用法。
借助Yii2带的basic模版,在 commands 中的 HelloController 来写示例代码,步骤如下:
1、写一个对i18n消息的调用语句:在 actionIndex 函数中写入
实际应用中在项目所有的文件中编写 yii::t('','');
1
|
echo
\Yii::t(
'app'
,
'zcg'
);
|
此时,执行 yii hello,将会直接输出:zcg
2、手工创建 i18n 配置文件存放目录
1
|
在应用目录下,手工创建 messages 目录
|
3、创建 i18n 配置文件
从yii2解压文件根目录下复制yii, yii.bat,执行如下命令
1
|
yii message
/config
messages
/config
.php
|
打开新生成的 config.php,里面的默认语言是 de,修改成 zh-CN
4、创建 message 文件
1
|
yii message messages
/config
.php
|
这样,会在 messages 目录下自动创建 zh-CN 目录,下面有两个新建的文件,分别是 app.php 和 yii.php
5、修改 app.php 文件中的 zcg 项
从空字符串'',改为 '张成钢'
6、language 设置
到目前为止,重新运行 yii hello,发现输出还是 zcg,这是因为我们还没有配置 language 属性。在 config/console.php 中加入 'language' => 'zh-CN',再运行 yii hello,会发现屏幕上显示的是'张成钢'了。
同理,如果是用在页面上,需要配置 config/web.php 的 language 属性。
7、新增的资源字符串
新增资源字符串后,再重新执行 步骤4 和 步骤5 进行配置