Spring Boot实现i18n消息国际化

1、添加消息国际化配置类如下:

@Configuration
public class I18nConfig implements WebMvcConfigurer {

    //i18n,默认设为中文
    @Bean
    public LocaleResolver localeResolver() {
        SessionLocaleResolver slr = new SessionLocaleResolver();
        slr.setDefaultLocale(Locale.SIMPLIFIED_CHINESE);
        return slr;
    }

    //i18n,用url拼接?language=en_US切换语言
    @Bean
    public LocaleChangeInterceptor localeChangeInterceptor() {
        LocaleChangeInterceptor lci = new LocaleChangeInterceptor();
        lci.setParamName("language");
        return lci;
    }

    //i18n,把上面那个加进Interceptors里
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(localeChangeInterceptor());
    }

}

2、在application.yml文件中添加配置如下:

spring:
  # i18n configuration(添加语言国际化支持)
  messages:
    basename: i18n/messages

3、在resources下新建i18n文件夹,并添加对应各国语言的配置文件

Spring Boot实现i18n消息国际化_第1张图片

没找到对应语言的配置文件,默认会使用messages.properties文件

4、在消息返回之前需要获取当前环境下对应的语言,然后去对应的配置文件中读取信息

消息国际化工具类࿱

你可能感兴趣的:(Java,Spring,Boot,消息国际化)