2.使用ResourceBundleMessageSource管理国际化资源文件
1.编写国际化配置文件
填写:国家语言代码_国家代码
填写key
对应值
2.使用ResourceBundleMessageSource管理国际化资源文件
SpringBoot自动配置好了管理国际化资源文件的组件
配置基础名
注意:如果配置文件基础名是在resources下且基础名为messages时,不用配置
3.获取国际化的值
乱码则要修改 properties文件 编码
重新填写乱码的值
效果:根据浏览器语言设置的信息切换了国际化;
设置浏览器语言 英文优先
原理:
国际化
Locale
(区域信息对象);
LocaleResolver
(获取区域信息对象);
没有配置区域解析器,使用默认的
4.自定义切换语言
public class MyLocaleResolver implements LocaleResolver {
@Override
public Locale resolveLocale(HttpServletRequest request) {
String la = request.getParameter("la");
Locale locale = Locale.getDefault();
if (!StringUtils.isEmpty(la)) {
String[] split = la.split("_");
locale = new Locale(split[0], split[1]);
}
return locale;
}
@Override
public void setLocale(HttpServletRequest request, HttpServletResponse response, Locale locale) {
}
}