Springboot多语言国际化
只要客户里面有老外,那都会涉及到多语言国际化的问题。我们看看在 Java Spring Boot 项目中如何设置多语言。
yaml配置
通过查看 org.springframework.boot.autoconfigure.context.MessageSourceAutoConfiguration
,我们可以知道需要配置如下属性:spring.messages.basename
。
1 | spring: |
需要在src\main\resources\i18n
目录下添加如下文件:
默认配置文件:message.properties
英文:message_en_US.properties
中文:message_zh_CN.properties
内容都是 key=value
的格式,一行一条。
语言处理类
通过此设置,当请求头里面的Accept-Lanuage
没有值时,以中文显示,否则按设置的值来处理。
1 | package cn.com.wind.Wind.RTC.WebService.config; |
语言工具类
1 | package cn.com.wind.convertserver.utils; |
这样就可以通过这个工具类,做国际化的语言转换了。
我们还发现一个问题,通过tomcat容器去运行的应用程序,在request请求里面未能获取到Locale的信息,但把tomcat改为jetty后,是可以成功获取到的。
pom.xml设置如下:
1 | <dependency> |