SpringBoot实现国际化

  1. 编写国际化配置文件,抽取页面需要显示的国际化消息

  2. 在配置文件中指定国际化资源文件的位置

    spring.messages.basename=i18n.login

  3. 在页面获取国际化的值,并设置请求路径

  4. 自定义 LocaleResolver

    public class MyLocalResolver implements LocaleResolver {
    @Override
    public Locale resolveLocale(HttpServletRequest httpServletRequest) {
    //获取请求中的语言参数
    String language = httpServletRequest.getParameter("l");
    System.out.println("DeBug===>"+language);
    Locale locale=Locale.getDefault(); //如果没有就使用默认的(根据主机的语言环境生成一个 Locale )。
    //如果请求的链接中携带了 国际化的参数
    if (!StringUtils.isEmpty(language)){
    //zh_CN
    String[] s = language.split("_");
    //国家,地区
    locale=new Locale(s[0],s[1]);
    }
    return locale;
    }
    @Override
    public void setLocale(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Locale locale) {
    }
    }

  5. 在配置文件中:向ioc容器中注入LocaleResolver 组件

    @Configuration
    public class MyMvcConfig implements WebMvcConfigurer {
    @Bean
    public LocaleResolver localeResolver(){
    return new MyLocalResolver();
    }
    }

  6. 测试

posted @   z-laoyao  阅读(216)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示