Yii2 国际化使用详解

jerry Yii2 2015年11月15日 收藏

1.配置文件修改:

$config = [
    'id' => 'basic',
    'language' => 'en-US',   //加这一句默认语言
    'basePath' => dirname(__DIR__),

2.在components中加载i18n组件

'components' => [
    // ...
    'i18n' => [
        'translations' => [
            'app*' => [
                'class' => 'yii\i18n\PhpMessageSource',   //使用php文件保存信息
                'basePath' => '@app/messages',  //php文件保存位置
                //'sourceLanguage' => 'en',
                'fileMap' => [
                    'app' => 'app.php',
                    'app/error' => 'error.php',
                ],
            ],
        ],
    ],
],

3.新建目录及文件:

这里写图片描述

20150515075403495.png

示例app.php内容:

<?php
return [
        'Hello'=>'你好'
];

4.使用:

变更当前语言:

\Yii::$app->language = 'zh-CN';

格式是 ll-CC ,其中 ll 是语言的两个或三个小写字母代码,根据ISO-639分配确定,而 CC 是国家代码,根据ISO-3166分配确定。

基本翻译功能的使用:

$username = 'Alexander';
echo \Yii::t('app', 'Hello, {username}!', [
    'username' => $username,
]);

注意这里{}内的是占位符。更多占位符的使用可以参考文章最下面的链接。