对于很多的网站而言,比如酒店之类的,经常会遇到其他国家的客户,这时候一个国际化交流平台就显得很重要了。也正是基于此,本文诞生了。
第一步,创建资源文件
在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
**
本文原址
**