国际化
- 确保idea的file encodings 设置为UTF-8
- 写页面配置文件
idea可视化工具
-
添加application.properties配置
spring.messages.basename=i18n.login
-
修改标签 #{}
<h1 class="h3 mb-3 font-weight-normal" th:text="#{login.tip}"> Please sign in</h1> <a class="btn btn-sm" th:href="@{/index.html(l='zh_CN')}">中文</a>
-
页面需要进行自动切换按钮,需要自定义一个组件 LocaleResolver,
//自定义国际化解析器
public class MyLocaleResolver implements LocaleResolver {
@Override
public Locale resolveLocale(HttpServletRequest request) {
// 获取请求中的参数
String leng = request.getParameter("l");
// 如果请求中没有参数,则使用默认的
Locale locale = Locale.getDefault();
// 如果有,则解析参数
if(! StringUtils.isEmpty(leng) ){
String[] s = leng.split("_");
locale = new Locale(s[0],s[1]);
}
return locale;
}
@Override
public void setLocale(HttpServletRequest request, HttpServletResponse response, Locale locale) {
}
}
- 配置到spring容器中@Bean
@Configuration
public class MyMvcConfig implements WebMvcConfigurer {
@Bean
public LocaleResolver myLocaleResolver(){
return new MyLocaleResolver();
}
}