码迷,mamicode.com
首页 > 编程语言 > 详细

yii2 api接口 实现国际化多语言设置

时间:2019-05-31 16:43:01      阅读:492      评论:0      收藏:0      [点我收藏+]

标签:mic   翻译   test   request   修改   php   path   sep   语言   

 

1) 在 /config/main.php 下添加如下代码:

‘components‘ => [
        ‘language‘ => ‘zh-CN‘,
        ‘i18n‘ => [
            ‘translations‘ => [
                ‘*‘ => [
                    ‘class‘ => ‘yii\i18n\PhpMessageSource‘,     
                    ‘basePath‘ => ‘@application/messages‘,    //application根据自身项目进行修改
                    ‘fileMap‘ =>[
                        ‘exception‘ => ‘exception.php‘,
                    ],
                ],
            ],
        ],
    ],

 

2)创建/messages/en/exception.php 英文翻译文件 :

<?php
/**
 * i18n翻译文件
 * 英文
 */
return [
    //系统异常
    ‘10001‘ => ‘Illegal access‘,
    ‘10002‘ => ‘Parametric null anomaly‘,
];

创建 /messages/zh-CN/exception.php 中文翻译文件

<?php
/**
 * i18n翻译文件
 * 中文
 */
return [
    //系统异常
    ‘10001‘ => ‘非法访问‘,
    ‘10002‘ => ‘参数为空异常‘,
];

3)在TestController.php下,代码如下:

$header = Yii::$app->request->headers;
        $Acceptlanuage = $header->get(‘accept-language‘);   //通过头部的accept-language获取接口语言
        //国际化多语言,zh-CN中国中文,en-US英文,id-ID印尼
        if($Acceptlanuage == ‘zh-CN‘){
            Yii::$app->language = ‘zh-CN‘;
        }elseif($Acceptlanuage == ‘en‘){
            Yii::$app->language = ‘en‘;
        }elseif($Acceptlanuage == ‘id-ID‘){
            Yii::$app->language = ‘id-ID‘;
        }else{
            Yii::$app->language = ‘zh-CN‘;
        }
        echo Yii::t(‘exception‘, ‘10001‘);
        echo ‘<br>‘;
        ECHO Yii::$app->language;

 

实现目录:

技术图片

实现效果:

中文:

技术图片

英文:

技术图片

 

附送各国语言简写代码: https://www.cnblogs.com/-mrl/p/10955676.html

yii2 api接口 实现国际化多语言设置

标签:mic   翻译   test   request   修改   php   path   sep   语言   

原文地址:https://www.cnblogs.com/-mrl/p/10955652.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!