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. 神经网络(12)--具体实现:如何对back propagation的正确性进行验证

    我们在进行back propagation时难免会出现各种各样的问题,当出现问题的时候,我们的cost function仍然是随着迭代的次数下降的,但是这中间会有一些问题存在,那么我们如何来检查我们的 ...

  2. spring+mybatis通用dao层、service层的实现

    个人理解: 1.mybatis-spring.jar 提供了SqlSessionTemplate类该类可以对数据库进行CRUD操作(底层其实还是SqlSession) 2.我们可以集成SqlSessi ...

  3. Spring框架的核心功能之AOP技术

     技术分析之Spring框架的核心功能之AOP技术 AOP的概述        1. 什么是AOP的技术?        * 在软件业,AOP为Aspect Oriented Programming的 ...

  4. [Angular] How to show global loading spinner for application between page navigation

    app.component.ts: import { Component, OnInit } from "@angular/core"; import { select, Stor ...

  5. mysql 8.0.17 安装配置方法图文教程

    1.URL:https://www.jb51.net/article/167782.htm 2.装好之后需要使用add user中的用户名和密码登录(之前安装数据库时出现的) 使用navicat连接时 ...

  6. 【CSS】知识笔记

    一.CSS文件 1.引用css文件,放在Head里面,可以减少repaint和reflow. 浏览器渲染页面大概是这样的,当浏览器从上到下一边下载html生成DOM tree一边根据浏览器默认及现有C ...

  7. word 插入表格,位置不在最左边

    首先想到的是 样式的问题.

  8. 如何把ANSYS模型输出为CDB文件并导入FLUENT  【转载】

    转载自: http://linziok99.blog.163.com/blog/static/100157302009320134826/ 在main menu中选择Archive Model ,再点 ...

  9. React.createElement 与 JSX

    DOM 向JSX的演进 网页由 DOM 元素构成.React DOM 并不是浏览器的 DOM,而React DOM 只是用来告诉浏览器如何创建 DOM 的方法.通常情况下,我们并不需要 React 就 ...

  10. mysql数据库出现无法登录(ERROR 1045 ),预防和解决及系列问题解决方法。

      一 .当在windows下使用mysql数据库时,出现无法登录的现象,需要修改mysql数据库的roo密码时,我们可以使用一下两种方法. 1. (1)关闭mysql服务.然后在bin目录下使用cm ...