yii2api接口实现国际化多语言设置(代码片段)

-mrl -mrl     2022-12-15     717

关键词:

 

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

android产品研发-->实现国际化(多语言)(代码片段)

简介最近工作中突然要求要项目进行国际化,之前没遇到过。但是也很简单呀,只需要把添加一个相应语言的的strings.xml的资源文件就好了,不是吗?这样只要切换系统语言就能切换app的文字语言了。效果图实现1.... 查看详情

react项目多语言国际化:react-i18next插件实现——本地数据篇(代码片段)

如何理解多语言国际化?图片中下拉部分已经清楚的说明了多语言国际化是什么了。个人理解:它就是我们在网站上可以通过切换语言类型来实现同一功能的不同语言展示效果。react-i18next介绍react-i18next是一个强大的React/ReactNativ... 查看详情

国际化intlflutter国际化多语言实践(代码片段)

目标:实现flutter国际化提示:这里参考一下几个链接例如:https://github.com/ThinkerWing/languagehttps://juejin.cn/post/6844903823119482888这篇也很详细,还有包括兼容中文的繁体简体…可以看看feat/use-Flutter-Intl该分支对应的提交... 查看详情

ios国际化(多语言)(代码片段)

一、应用程序国际化包括app名称和各种权限的提示文字。1.1创建工程,再在“PROJECT”的“Info”里面,添加所需语言。1.2从代码中分离出文本创建一个“.strings”扩展名的文件来本地化字符串,需要把这些字符串全部... 查看详情

django国际化(多语言)(代码片段)

1settings.pyMIDDLEWARE=(‘django.contrib.sessions.middleware.SessionMiddleware‘,#‘corsheaders.middleware.CorsMiddleware‘,‘django.middleware.locale.LocaleMiddleware‘,#中间件加上Django国际化中间件‘django.middleware 查看详情

android国际化多语言切换(代码片段)

关于App国际化,之前有讲到国际化资源、字符换、布局相关,想要了解的猛戳用力抱一下APP国际化。借着本次重构多语言想跟大家聊一下多语言切换,多语言切换对于一款国际化App来讲是重中之重,并非难事,... 查看详情

javafx:多语言适配(代码片段)

JavaFX:多语言适配JDK国际化:ResourceBundle.html其他资源:TornadoFX编程指南,第10章,FXML和国际化、JavaFX的ResourceBundle使用创建ResourceBundle资源ResourceBundle获取资源publicclassResourceBundleUtilprivatestati 查看详情

#前后端国际化多语言配置(代码片段)

前后端国际化多语言配置前端(VueElementUI)项目前端使用Vue+Elementui编写i18n.js在这个js中引入ElementUI的多语言资源,引入本地的多语言资源//I18nimportVueI18nfrom'vue-i18n'importVuefrom'vue'importlocalefrom'element-ui/l... 查看详情

多语言国际化(代码片段)

国际化多语言支持是现在系统通常都要具备的功能,Vue对国际化提供了很好的支持。1.安装依赖首先需要安装国际化组件,执行yarnaddvue-i18n命令,安装i18n依赖。2.添加配置在src下新建i18n目录,并创建一个index.js.importVuefrom‘vue‘im... 查看详情

qt系列文章之三十九(qt多语言国际化程序实例设计实现)

关注我的公众号,可免费看全本Qt系列文章~文章目录概述tr()函数的使用生成语言翻译文件使用QtLinguist翻译ts文件调用翻译文件改变界面语言生成qm文件项目启动时设置界面语言动态切换语言效果图demo获取概述  有些软件需要... 查看详情

qt系列文章之三十九(qt多语言国际化程序实例设计实现)

关注我的公众号,可免费看全本Qt系列文章~文章目录概述tr()函数的使用生成语言翻译文件使用QtLinguist翻译ts文件调用翻译文件改变界面语言生成qm文件项目启动时设置界面语言动态切换语言效果图demo获取概述  有些软件需要... 查看详情

android:应用多语言切换,国际化实现

参考技术A生成多种语言的string.xml,里面放置对应的语言,修改配置(Configuration),重启之后就会加载对应语言的string.xml。1:在res目录下,生成对应的语言包,比如英语:在res目录下生成了可看到生成了:<stringname="hello&q... 查看详情

为程序设置多语言界面——c#

考虑到程序的国际化需求,需要为程序设置多语言界面。1,新建一个资源文件,名字可以是对应界面+语言代码(MainForm.zh-CN)。这样资源文件就会自动添加到对应界面下面。2,更改界面属性Localizable为Ture3,调用相关的资源文件... 查看详情

ios多语言本地化(国际化)设置

讨论的iOS应用中的多语言设置,Ok一般是两种情况:1.根据当前设备语言自动切换显示2.在应用中可进行语言设定至今,我个人做过的项目中有6个是涉及到多语言的,其中全部都是需要在应用中可进行设置。其实也... 查看详情

ios多语言本地化(国际化)设置

...f0c;切换下)—>Info—>Localizations—>设置多语言环境2.国际化应用名称(1)创建InfoPlist.string,并进行Localization配置:在项目中点击New 查看详情

ios-国际化(多语言设置)

参考技术A如上点击“+”号会弹出所提供的语言,选择所需要的语言就可以了第二步:创建Localizable.strings(注意:文件名最好不要随意更改,以免带来不必要的麻烦)作为多语言对应的词典,存储多重语言。(1)点击Localizable.stri... 查看详情

纸壳cms可视化建站系统搭建多语言网站(代码片段)

纸壳CMS是可视化建站系统,现已经从架构上支持多语言。但是多语言功能默认是没有开启的。您可以从设置中开启多语言,或者随时关闭它,您可以随时进行切换。开启多语言如果您没有在系统设置中看到多语言设置菜单,首先... 查看详情

springboot多语言

springboot-参数验证提示语言动态变化的实现https://www.jianshu.com/p/dbf0400b2175SpringBoot整合国际化I18nhttps://www.2cto.com/kf/201905/808080.html我们公司的springboot国际化(多语言)解决方案,有demohttps://blog.csdn.net/pangdongh/article/de 查看详情