Skip to content

国际化

国际化(I18N)是指在设计软件时,使它可以无需做大的改变就能够适应不同的语言和地区的需要。对于 Web 应用程序, 这有着特别重要的意义,因为潜在的用户可能会在全球范围内。 Yii 提供的国际化功能支持全方位信息翻译, 视图翻译,日期和数字格式化。可以点击这里进行了解。

区域和语言

区域设置是一组参数以定义用户希望能在他们的用户界面所看到用户的语言, 国家和任何特殊的偏好。 它通常是由语言 ID 和区域 ID 组成。

例如,ID “zh-CN” 代表中国和中文简体语言环境。为了保持一致性, Yii 应用程序中使用的所有区域 ID 应该规范化为 ll-CC, 其中 ll 是根据两个或三个字母的小写字母语言代码 ISO-639 和 CC 是两个字母的国别代码 ISO-3166 (如果不能访问,可能你需要一个伸缩自如的梯子)。

国际化配置

静态配置

可以在config/common/main.php中修改'language'项。

对于源语言'sourceLanguage'项来说,建议仍然使用en-US。

动态配置

可以在代码中加入以下来改变目标语言:

php
// 改变目标语言为中文
Yii::$app->language = 'zh-CN';

如何使用

你可以使用以下代码来输出一个国际化文字:

php
echo Yii::t('sys', 'This is a test'); //会输出中文:这是一个测试

自动生成国际化文件

DZ-SHOP的国际化文件保存在common/messages中。在开发过程中,可以使用Yii::t()而无须考虑国际化文件是否存在。在开发完成以后,使用如下控制台命令扫描全部代码并自动生成国际化文件,然后去common/messages中统一更改内容:

bash
php yii message/extract @root/config/common/i18n.php

广州大舟信息科技 版权所有