Yii2已经发布一段时间了,如今最新的版本号是2.0.6。因为准备新开发一个支持多语言的网站(以前一直采用的是Yii1.1.x),所以来研究一下Yii2的i18n的用法。php
借助Yii2带的basic模版,在 commands 中的 HelloController 来写示例代码,步骤以下:
web
echo \Yii::t('app', 'zcg');
此时,执行 yii hello,将会直接输出:zcgshell
在应用目录下,手工建立 messages 目录
yii message/config messages/config.php
打开新生成的 config.php,里面的默认语言是 de,修改为 zh-CN
app
yii message messages/config.php
这样,会在 messages 目录下自动建立 zh-CN 目录,下面有两个新建的文件,分别是 app.php 和 yii.phpyii
从空字符串'',改成 '张成钢'函数
到目前为止,从新运行 yii hello,发现输出仍是 zcg,这是由于咱们尚未配置 language 属性。在 config/console.php 中加入 'language' => 'zh-CN',再运行 yii hello,会发现屏幕上显示的是'张成钢'了。
网站
同理,若是是用在页面上,须要配置 config/web.php 的 language 属性。spa
新增资源字符串后,再从新执行 步骤4 和 步骤5 进行配置就能够了code