Spring Boot与国际化

对于很多的网站而言,比如酒店之类的,经常会遇到其他国家的客户,这时候一个国际化交流平台就显得很重要了。也正是基于此,本文诞生了。

第一步,创建资源文件


在Spring Boot中是默认支持国际化使用的,在src/main/resources下新建文件夹il8n。
在创建完的文件下新建messages.properties
message = nihao(默认)
新建messages_zh_CN.properties,这是中文配置
message = 你好
新建messages_en_US.properties,这是英文配置
message = Hello

第二步,il8n的配置

由于WebMvcConfigurerAdapter适配器不在支持,并且它是继承了WebMvcConfigurer,在这里我们自定义一个类继承<font color=#f00 size=3>WebMvcConfigurer</font>。

@Configuration
public class il8nConfig implements WebMvcConfigurer {
    @Bean
    public LocaleResolver localeResolver() {
        SessionLocaleResolver slr = new SessionLocaleResolver();
        //默认使用的语言
        slr.setDefaultLocale(Locale.US);
        return slr;
    }

    @Bean
    public LocaleChangeInterceptor localeChangeInterceptor() {
        LocaleChangeInterceptor localeChangeInterceptor = new LocaleChangeInterceptor();
        //语言的参数名
        localeChangeInterceptor.setParamName("lang");
        return localeChangeInterceptor;
    }

    //添加语言切换过滤器
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(localeChangeInterceptor());
    }
}

第三步,修改配置文件

在application.properties文件下添加文件路径
spring.messages.basename=il8n/messages

第四步,修改控制器

@GetMapping("/")
    public String hello() {
        return "index";
    }

第五步,修改页面

<label th:text="#{message}"></label>
<a th:href="@{/(lang='en_US')}">English</a>
<a th:href="@{/(lang='zh_CN')}">中文简体</a>

第六步,查看效果

我们在浏览器输入localhost:8080,效果如下:


默认

中文

The end

**
本文原址
**

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。