国际化

  1. 确保idea的file encodings 设置为UTF-8
  2. 写页面配置文件

idea可视化工具

  1. 添加application.properties配置

    spring.messages.basename=i18n.login
    
  2. 修改标签 #{}

    <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>
    
  3. 页面需要进行自动切换按钮,需要自定义一个组件 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) {
    }
}
  1. 配置到spring容器中@Bean
@Configuration
public class MyMvcConfig implements WebMvcConfigurer {
    @Bean
    public LocaleResolver myLocaleResolver(){
        return new MyLocaleResolver();
    }
}
posted @ 2022-04-19 20:11  清水煮岁月  阅读(114)  评论(0编辑  收藏  举报