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英文,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

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

  1. iOS 国际化多语言设置 xcode7

    iOS 国际化多语言设置 方式一: 1. 在storyboard中创建好UI,然后在 project 里面  Localizables 栏目里面,添加你需要的语言:默认是Englist; 比如这里我添 ...

  2. Unity 国际化 多语言设置

    很多游戏中都有语言设置选项,NGUI插件中自带了国际化脚本,但是灵活性较低,而且目前项目是UGUI,以下是修改后,以便记录. Localization和NGUI中用法一样,挂在在一个不销毁的游戏物体上 ...

  3. iOS国际化多语言设置

    一.创建工程.添加语言

  4. MxNet+R︱用R语言实现深度学习(单CPU/API接口,一)

    MxNet有了亚马逊站台之后,声势大涨,加之接口多样化,又支持R语言所以一定要学一下.而且作为R语言的fans,为啥咱们R语言就不能上深度学习嘞~ -------------------------- ...

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

    http://stephen830.iteye.com/blog/274072 ★★★ 本篇为原创,需要引用转载的朋友请注明:< http://stephen830.iteye.com/blog ...

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

    环境配置: 开启服务器伪静态 本处以apache为例,查看apache的conf目录下httpd.conf,找到下面的代码 LoadModule rewrite_module modules/mod_ ...

  7. yii2多语言设置

    yii2的多语言切换功能 1.页面添加语言切换按钮,如下图: 代码如下: <ul>       <li>           <a href="javascri ...

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

    环境配置: 开启服务器伪静态 本处以apache为例,查看apache的conf目录下httpd.conf,找到下面的代码 LoadModule rewrite_module modules/mod_ ...

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

    环境配置: 开启服务器伪静态 本处以apache为例,查看apache的conf目录下httpd.conf,找到下面的代码 LoadModule rewrite_module modules/mod_ ...

随机推荐

  1. 样条插值法(Java)--在本地执行

    该程序主要实现样条插值的目的,为本地执行java文件 该程序包含:样条插值法.读取文件,写入文件,字符型转double型方法等: 适合初学Java的人学习: 首次使用eclipse打jar包,中间很曲 ...

  2. 创建型模式(三) 抽象工厂模式(Abstract Factory)

    一.动机(Motivation) 在软件系统中,经常面临着“一系列相互依赖的对象”的创建工作:同时,由于需求的变化,往往存在更多系列对象的创建工作. 如何应对这种变化?如何绕过常规的对象创建方法(ne ...

  3. HDFS内存配置

    下图是HDFS的架构: 从上图中可以知道,HDFS包含了NameNode.DataNode以及Client三个角色,当我们的HDFS没有配置HA的时候,那还有一个角色就是SecondaryNameNo ...

  4. asp.net使用WebUploader做大文件的分块和断点续传

    HTML部分 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="index.a ...

  5. asp.net+ueditor word粘贴上传

    最近公司做项目需要实现一个功能,在网页富文本编辑器中实现粘贴Word图文的功能. 我们在网站中使用的Web编辑器比较多,都是根据用户需求来选择的.目前还没有固定哪一个编辑器 有时候用的是UEditor ...

  6. learning java Random 和 ThreadLocalRandom类

    var rand = new Random(); System.out.println(rand.nextBoolean()); System.out.println(rand.nextInt()); ...

  7. sudo与用户权限

    sudo,以root的身份另起新进程 注意:cd是shell内置的,不会另起新进程,故sudo cd会提示找不到命令 sudo使用当前用户密码,su使用切换用户的密码,默认切换为root sudo通常 ...

  8. flutter踩坑小记:The number of method references in a .dex file cannot exceed 64K.

    The number of method references in a .dex file cannot exceed 64K. 这句话的意思翻译出来是:.dex文件中的方法引用数不能超过64K. ...

  9. Java SpringBoot全局错误处理类,返回标准结果

    package demo.utils; import com.alibaba.fastjson.JSON; import demo.controller.ProductController; impo ...

  10. 【CSP模拟赛】避难向导(倍增lca&树的直径)

    耐力OIer,一天7篇博客 题目描述 “特大新闻,特大新闻!全国爆发了一种极其可怕的病毒,已经开始在各个城市 中传播开来!全国陷入了巨大的危机!大量居民陷入恐慌,想要逃到其它城市以 避难!经调查显示, ...