zoukankan      html  css  js  c++  java
  • yii2 api接口 实现国际化多语言设置

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

    'components' => [
            'language' => 'zh-CN',
            'i18n' => [
                'translations' => [
                    '*' => [
                        'class' => 'yiii18nPhpMessageSource',     
                        '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英文,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;

    实现目录:

    实现效果:

    中文:

    英文:

    php源文件和exe程序下载地址:https://download.csdn.net/download/a724008158/11216861 

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

  • 相关阅读:
    Android TTS
    观察者模式(C++实现)
    android 8未知来源app安装
    NotificationChannel
    java底层知识
    Java14
    数据库分区、分库分表
    二叉搜索树的第k大节点
    从上到下按层打印二叉树
    springcloud面试知识点
  • 原文地址:https://www.cnblogs.com/-mrl/p/10955652.html
Copyright © 2011-2022 走看看