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

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

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

时间: 2024-08-08 12:04:57

yii2 api接口 实现国际化多语言设置的相关文章

iOS 国际化多语言设置 xcode7

iOS 国际化多语言设置 方式一: 1. 在storyboard中创建好UI,然后在 project 里面  Localizables 栏目里面,添加你需要的语言:默认是Englist; 比如这里我添加了 简体中文 2.添加完之后,原来的Main.storyboard 就会多了一个国际化的语言配置文件 3. 点击 Main.strings 文件,就可以在这里配置中文的语言:里面自动添加现在storyboard上面创建好的UI控件的代码,直接在这里修改即可:此时sotyboard上设计的理解为 英

iOS国际化多语言设置

一.创建工程.添加语言 二.将文本从代码中分离: 目前,应用展示的所有文本都是以硬编码字符串存在于Main.storyboard 和 ViewController里.为了本地化这些字符串,你需要把它们放在一个单独的文件中.他将会在包中简单地引用这些字符串,而不是在你的方法中进行硬编码.Xcode使用带有 .strings 扩展名的文件来存储和检索app中使用的所有字符串,以支持每种语言.根据iOS 设备当前使用的语言,代码中一个简单的方法调用将会查找并返回要求的字符串. 创建一个.strings

极兔快递单号查询快递鸟API接口-极兔速递

前言 看完快递鸟api极兔快递对接教程这篇文章,然后把源码复制到你的项目上,就能快速完成极兔快递接口对接.更适合刚入门的菜鸟,调用快递鸟的极兔快递查询API接口,能查询到极兔快递单号从收件.运输,到转运中心,派送到签收等各个环节的物流发货状态.快递鸟api接口不区分开发语言,支持Java,C#,PHP,Python,ObjectC等开发语言的程序调用.下面具体讲解实现过程. 目录 1.完成前期准备工作 2.API接口 3.请求参数(Headers) 4.请求参数(Body) 5.返回参数(Ret

[label][转载][paypal]paypal在线支付接口的WEB语言设置

http://stephen830.iteye.com/blog/274072 ★★★ 本篇为原创,需要引用转载的朋友请注明:< http://stephen830.iteye.com/blog/274072 > ,谢谢支持!★★★ 以前曾经写过一篇关于<paypal在线支付的通信接口 http://stephen830.iteye.com/blog/254565 >的文章.对以前文章的一个补充: 自从国际paypal增加了繁体中文的WEB版本后,许多早先集成paypal接口的系统

yii2多语言设置

yii2的多语言切换功能 1.页面添加语言切换按钮,如下图: 代码如下: <ul>       <li>           <a href="javascript:;" onclick="changeLanguage('en_US');">               <span><?php echo \Yii::t('app','English')?></span>           &l

Yii2 基于RESTful架构的 advanced版API接口开发 配置、实现、测试

环境配置: 开启服务器伪静态 本处以apache为例,查看apache的conf目录下httpd.conf,找到下面的代码 LoadModule rewrite_module modules/mod_rewrite.so 将其前面的#去掉,如果没有找到则添加进去. 找到一下代码 <Directory "C:/phpStudy/Apache/cgi-bin"> AllowOverride All Options None Require all granted </Di

yii2语言设置

1.父配置文件在yii2/base/Application中的$language="en-US", 修改项目的语言可以修改项目的配置文件main.php中加'language'=>'zh-cn',最好还是也加上'sourceLanguage'=>'zh-cn' yii2语言设置

基于http协议的api接口对于客户端的身份认证方式以及安全措施[转]

基于http协议的api接口对于客户端的身份认证方式以及安全措施 由于http是无状态的,所以正常情况下在浏览器浏览网页,服务器都是通过访问者的cookie(cookie中存储的jsessionid)来辨别客户端的身份的,当客户端进行登录服务器也会将登录信息存放在服务器并与客户端的cookie中的jsessionid关联起来,这样客户端再次访问我们就可以识别用户身份了. 但是对于api服务器,我们不能让访问者先登录再进行访问这样不安全,也不友好.所以一般情况我们都是需要客户端提供一个key(每个

api接口对于客户端的身份认证方式以及安全措施

转载 基于http协议的api接口对于客户端的身份认证方式以及安全措施 由于http是无状态的,所以正常情况下在浏览器浏览网页,服务器都是通过访问者的cookie(cookie中存储的jsessionid)来辨别客户端的身份的,当客户端进行登录服务器也会将登录信息存放在服务器并与客户端的cookie中的jsessionid关联起来,这样客户端再次访问我们就可以识别用户身份了. 但是对于api服务器,我们不能让访问者先登录再进行访问这样不安全,也不友好.所以一般情况我们都是需要客户端提供一个key