博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SpringBoot整合国际化I18n
阅读量:6413 次
发布时间:2019-06-23

本文共 1471 字,大约阅读时间需要 4 分钟。

本文主要实现的功能:

  • 从文件夹中直接加载多个国际化文件
  • 后台设置前端页面显示国际化信息的文件

实现

国际化项目初始化,简单看下项目的目录和文件

i1H0b.png

在resource下创建国际化文件

  • messages.properties
  • messages_en_US.properties
  • messages_zh_CN.properties

配置引用国际化文件

spring.messages.basename=messages

如果是多个源的话,用","相隔即可。

spring.messages.basename=messages,xxx,xxxx,xxxx

创建常量类

public class I18nConstant {    /**     * 一个例子     */    public static final String TEXT = "DeviceSummary.device.type.name";}

对应分别在三个国际化(默认、中文、英文)中加入DeviceSummary.device.type.name对应转换的语言

使用

  • 代码中使用
@Autowired  private MessageSource messageSource;    String msg = messageSource.getMessage(I18nConstant.TEXT, null, locale);
  • 获取request的Locale
Locale locale1 = LocaleContextHolder.getLocale(); // 当前requestLocale locale2 = RequestContextUtils.getLocale(request); // 指定requestlocale.getLanguage() //获取当前语言
  • 默认根据浏览器的语言设置来决定显示语言。一般应用多采用会话级别的语言设置SessionLocaleResolver。
@Beanpublic LocaleResolver localeResolver() {    SessionLocaleResolver sessionLocaleResolver = new SessionLocaleResolver();    sessionLocaleResolver.setDefaultLocale(Locale.CHINA);    return sessionLocaleResolver;}
  • 切换语言
@Beanpublic LocaleChangeInterceptor localeChangeInterceptor() {    LocaleChangeInterceptor lci = new LocaleChangeInterceptor();    lci.setParamName("lang");    return lci;}@Overridepublic void addInterceptors(InterceptorRegistry registry) {    registry.addInterceptor(localeChangeInterceptor());}

URL中通过参数lang就可以切换到不同语言。比如:http://localhost:8080/hello.html?lang=zh

转载于:https://www.cnblogs.com/liuyupen/p/10840125.html

你可能感兴趣的文章
在Linux服务器、客户端中构建密钥对验证进行远程连接
查看>>
揪出MySQL磁盘消耗迅猛的真凶
查看>>
和“C”的再遇
查看>>
linux 的日志系统
查看>>
[转]一个python‘非多态’的问题
查看>>
一键安装kubernetes 1.13.0 集群
查看>>
Java内存模型
查看>>
第一讲 机器学习中的数学
查看>>
RabbitMq的集群搭建
查看>>
asp.net web常用控件FileUpload(文件上传控件)
查看>>
动态网页的建立
查看>>
参数展开与特殊字符
查看>>
linux下使用nginx搭建流媒体服务器
查看>>
解读MySQL驱动加载逻辑
查看>>
Python的time模块(一)
查看>>
Spring控制器注解
查看>>
根据日期分组,查询数量、总量等信息
查看>>
spring boot + mybatis 同时访问多数据源
查看>>
Linux服务器(CentOS)安装SVN(subversion)教程
查看>>
Oracle官网下载jdk 版本
查看>>