zoukankan      html  css  js  c++  java
  • springboot整合i18n配置

    1. 添加国际化配置类
    @Configuration
    public class LocaleConfig {

    /**
    * 默认解析器 其中locale表示默认语言
    * @author funsonli
    */
    @Bean
    public LocaleResolver localeResolver() {
    SessionLocaleResolver localeResolver = new SessionLocaleResolver();
    // 默认语言为中文
    localeResolver.setDefaultLocale(Locale.CHINA);
    return localeResolver;
    }

    /**
    * 默认拦截器 其中lang表示切换语言的参数名
    * @author funsonli
    */
    @Bean
    public WebMvcConfigurer localeInterceptor() {
    return new WebMvcConfigurer() {
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
    LocaleChangeInterceptor localeInterceptor = new LocaleChangeInterceptor();
    localeInterceptor.setParamName("lang");
    registry.addInterceptor(localeInterceptor);
    }
    };
    }
    }

    2. 在配置文件中添加配置信息
    spring:
    messages:
    basename: static/i18n/messages #相对路径 开头请勿添加斜杠
    encoding: UTF-8
    cache-duration: 3600


    3. 添加i18n配置文件


    默认配置文件 messages.properties
    中文配置文件:messages_zh.properties
    英文配置文件:messages_en.properties
    4. 获取国际化信息工具类
    /**
    * 国际化工具类
    *
    */
    @Component
    public class MessageUtils{

    @Autowired
    private MessageSource messageSource;

    public String getMessage(String code) {
    return getMessage(code, null);
    }

    /**
    *
    * @param code :对应messages配置的key.
    * @param args : 数组参数.
    * @return
    */
    public String getMessage(String code, Object[] args){
    return getMessage(code, args, "");
    }

    /**
    *
    * @param code :对应messages配置的key.
    * @param args : 数组参数.
    * @param defaultMessage : 没有设置key的时候的默认值.
    * @return
    */
    public String getMessage(String code,Object[] args,String defaultMessage){
    //这里使用比较方便的方法,不依赖request.
    Locale locale = LocaleContextHolder.getLocale();
    return messageSource.getMessage(code, args, defaultMessage, locale);
    }
    }
    ————————————————
    版权声明:本文为CSDN博主「wulijlchen」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/weixin_42804742/article/details/105543865

  • 相关阅读:
    Jenkins持续集成邮件发送
    基于appium快速实现H5自动化测试
    Linux常用命令学习一
    BZOJ4372烁烁的游戏——动态点分治+线段树(点分树套线段树)
    BZOJ3730震波——动态点分治+线段树(点分树套线段树)
    BZOJ1014[JSOI2008]火星人——非旋转treap+二分答案+hash
    BZOJ1299[LLH邀请赛]巧克力棒——Nim游戏+搜索
    BZOJ1115[POI2009]石子游戏——阶梯Nim游戏
    BZOJ3110[Zjoi2013]K大数查询——权值线段树套线段树
    BZOJ5343[Ctsc2018]混合果汁——主席树+二分答案
  • 原文地址:https://www.cnblogs.com/telwanggs/p/15044169.html
Copyright © 2011-2022 走看看