Springboot支持国际化很简单,只需要简单的配置就可以使用了,下面是一个简单的后端国际化Demo
项目结构图
代码清单:
创建国际化资源 i18n 文件夹,在下面创建三个配置文件分别是:messages.properties,messages_en_US.properties ,messages_zh_CN.properties,内容分别为:
#注意中文的编码方式为ASCII
success.message=成功
success.message=success
success.message=成功
修改配置文件,指定国际化资源路径和编码
spring.messages.basename=i18n/messages
spring.messages.encoding=utf-8
创建国际化配置 WebConfig.java 实现 WebMvcConfigurer 接口
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Bean
public LocaleResolver localeResolver() {
return new MyLocaleResolver();
}
}
创建MyLocaleResolver.java实现LocaleResolver接口 ,通过http请求头添加语言字段来判断当前的语言环境
public class MyLocaleResolver implements LocaleResolver {
private static final String LANG = "lang";
private static final String LANG_SESSION = "lang_session";
public static final String DELIMITER = "_";
@Override
public Locale resolveLocale(HttpServletRequest request) {
String lang = request.getHeader(LANG);
//默认语言 简体中文
Locale locale = Locale.CHINA;
if (StringUtils.isNotBlank(lang) && lang.contains(DELIMITER)) {
String[] langueagea