SpringBoot国际化(中英文转换)
1.在resource下的i18n目录下新建一个Resource Bundle
2.
在上面的base name中输入messages后会生成三个文件
3.配置拦截器
设置默认语言类型是中文
并且在拦截时,如果请求中有key为lang的参数,则拦截下这个请求,如果lang的值是zh_CN,则是中文,lang的值是en_US,则转换为英文。
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {/*** 注册拦截器**/@Overridepublic void addInterceptors(InterceptorRegistry registry){registry.addInterceptor(getLocaleChangeInterceptor());}/*** Locale拦截器*/public LocaleChangeInterceptor getLocaleChangeInterceptor(){// 定义一个拦截器LocaleChangeInterceptor interceptor =new LocaleChangeInterceptor();// 拦截请求中key为long的参数interceptor.setParamName("lang");return interceptor;}/*** 默认解析器,其中locale为默认语言*locale*/@BeanLocaleResolver localeResolver(){// 替换掉默认的 AcceptHeaderLocaleResolverSessionLocaleResolver localeResolver =new SessionLocaleResolver();
// 设置默认语言为简体中文localeResolver.setDefaultLocale(Locale.SIMPLIFIED_CHINESE);return localeResolver;}}
4.测试:
@RestController
@RequestMapping(value = "/test/exception",produces = {"application/json;charset=UTF-8"})
public class TestExceptionController {/*** 测试国际化* 传入参数lang决定中英文环境* */@GetMapping("/i8n")public String test18n(){return MessageUtils.message("user.login.submit");}
}
工具类:
MessageUtils:
public class MessageUtils
{/*** 根据消息键和参数 获取消息 委托给spring messageSource** @param code 消息键* @param args 参数* @return 获取国际化翻译值*/public static String message(String code, Object... args){MessageSource messageSource = SpringUtils.getBean(MessageSource.class);return messageSource.getMessage(code, args, LocaleContextHolder.getLocale());}
}
yml配置文件中:
# Spring配置
spring:# 资源信息messages:# 国际化资源文件路径basename: i18n/messages
结果显示:
可能遇到的问题:
如果中文显示为乱码,则
注意:如果properties文件中的内容如果是在修改File Encoding之前编写的话,修改完File Encoding之后需要重写编写properties中的内容,因为它的中文可能会变成了乱码。
SpringBoot国际化(中英文转换)相关推荐
- springboot国际化实现中英文转换
国际化即支持中英文转换功能,按照下面流程实现! 此时点击text切换就可以看到三份文件,默认语言,英文语言,中文语言. 在配置文件中添加上路径. 写一个国际化组件 package com.demo1. ...
- springboot国际化配置中英文切换
1.新建项目 第一步新建springboot项目,勾选web依赖,或者后面进入在pom.xml中加入也可以. 2.项目结构 项目pom.xml <?xml version="1.0&q ...
- java国际化转换_java 实现国际化 中英文语言切换
[实例简介] java实现国际化中英文语言切换 java语言切换JSP国际化 [实例截图] [核心代码] JAVA国际化实现 └── struts01 ├── src │ ├── com │ ...
- LocalResolver国际化语言转换
LocalResolver国际化语言转换 需求:页面实现中英文切换 需求分析: 1.创建i18n目录,在目录下我们需要几种语言切换就需要创建几种语言的配置文件 2.编写我们自定义的MyLocalRes ...
- ASP.NET网站实现中英文转换(本地化资源)
ASP.NET网站实现中英文转换(本地化资源) 摘要:随着计算机网络的发展,一些商业机构也开始向国际市场迈进.因此这些商业的机构的网站 也开始面向全世界的用户,要求网站具有多语言的选择,实现本地化.在 ...
- springboot国际化i18n
springboot国际化 支持多国语言展示 1.自动式国际化:通过浏览器发送请求头携带的信息自动使用国际化 2.手动式国际化:通过点击按钮,动态更改国际化 由于springboot自动配置中已集成国 ...
- 页面 切换 中英文 怎么实现_【完美解决】AE CC2018表达式错误 ae cc2018如何进行中英文转换?...
久病成医,这句话说的绝对有道理!终于解决ae cc2018中英文转换问题了!!! 因为安装了AE CC2018,打开一些ae模板,总是提示表达式错误,在网上搜索,总是找不到问题的完美解决办法!很多教程 ...
- springboot+jsp中文乱码_【spring 国际化】springMVC、springboot国际化处理详解
在web开发中我们常常会遇到国际化语言处理问题,那么如何来做到国际化呢? 你能get的知识点? 使用springgmvc与thymeleaf进行国际化处理. 使用springgmvc与jsp进行国际化 ...
- springboot国际化04
springboot国际化 1 文件结构 2 messages.properties 3 优先级 4 在application.yml中配置 5 其他文件使用 6 浏览器渲染乱码 1 文件结构 Res ...
- uni-app使用vue-i18n实现国际化(中英文切换)
uni-app使用vue-i18n实现国际化(中英文切换) 1.导入vue-i18n(npm install vue-i18n) 2.创建common文件夹 --> lang.js export ...
最新文章
- mysql 索引分析工具_Mysql:性能分析以及Explain工具的使用
- yii mysql 2002_YII 错误 SQLSTATE[HY000] [2002] No such file or directory
- 线段树杭电1754 I hate it
- Android USB 开发详解
- Web Broadcast Channel
- D3 二次方曲线与切线
- iOS Unable to install “XXX“(编译成功,但跑到真机上弹出这个提示框)
- Java排序算法-桶排序
- 前端好用的素材网站分享
- android 反色 java_安卓实现图片反色,改色-ColorMatrixColorFilter
- 如何自制daplink_DAPLINK功能介绍
- 《团队领导力》培训笔记
- 阿里云CDN介绍以及如何配合OSS使用
- Android 10 SystemUI 如何隐藏状态栏输入法图标
- 主板声卡坏了会不会有电流声_不要小瞧十几块钱的USB声卡!
- iOS截屏后仿今日头条实现一键分享
- 计算机原理与应用第六章——总线技术
- Maven的seting配置及命令
- 苹果手机html吊起拍照,苹果手机照相技巧
- 关于服务器的使用——深度学习菜鸡入门(1)