springboot配置il8n

springMvc下,配置il8n:

1.配置ResourceBundleMessageSource管理国际化资源文件

2.在页面使用fmt标签取出国际化内容

springBoot下,自动配置了il8n:

1.新建目录,存放login_zn_CN.properties (基础名_zn_CH.properties)对应中文编码

 login_en_US.properties对应英文

 login.properties对应默认

 idea会自动转成resource bundle层级,可以打开相关界面(底部中间),设置k-v

2.配置spring.messages.basename

springBoot默认配置basename为messages,读取根目录下的messages.properties

这里设置spring.messages.basename = il8n.login

3.页面集成thymeleaf,使用#{login.btn},获取国际化的内容

4.制定自己的LocaleResolver  //Locale为区域信息对象

  自动配置的LocaleResolver默认读取请求头中的的地区信息,来切换国际化内容

  现在想通过点击  中文/Enlish  按钮来切换,并且默认读取请求头来切换:

//通过按钮绑定url地址,追加参数L=zh_CN  或者L=en_US来实现

public class MyLocaleResolver implements LocaleResolver {
@Override
public Locale resolveLocale(HttpServletRequest request) {
String l = request.getParameter("L");
Locale locale = Locale.getDefault();//使用默认配置
if(!StringUtils.isEmpty(l)){
String[] split = l.split("_");
locale = new Locale(split[0],split[1]);//  new Locale(语言,国家)
}
return locale;
}
@Override
public void setLocale(HttpServletRequest request, HttpServletResponse response, Locale
locale) {
}
}
@Bean
public LocaleResolver localeResolver(){ return new MyLocaleResolver(); } }

猜你喜欢

转载自www.cnblogs.com/brxHqs/p/10267793.html
今日推荐