国际化是一个使应用程序适应不同语言和区域而无需对源代码进行工程更改的过程。 用它来说,国际化是对本地化的准备。
在本章中,将详细了解如何在Spring Boot中实现国际化。
依赖
需要Spring Boot Starter Web和Spring Boot Starter Thymeleaf依赖来在Spring Boot中开发Web应用程序。
Maven
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
Gradle
compile('org.springframework.boot:spring-boot-starter-web')
compile group: 'org.springframework.boot', name: 'spring-boot-starter-thymeleaf'
LocaleResolver
需要确定应用程序的默认Locale。在Spring Boot应用程序中添加LocaleResolver bean。
@Bean
public LocaleResolver localeResolver() {
SessionLocaleResolver sessionLocaleResolver = new SessionLocaleResolver();
sessionLocaleResolver.setDefaultLocale(Locale.US);
return sessionLocaleResolver;
}
LocaleChangeInterceptor
LocaleChangeInterceptor用于根据添加到请求的语言参数的值更改新的Locale。
@Bean
public LocaleChangeInterceptor localeChangeInterceptor() {
LocaleChangeInterceptor localeChangeInterceptor = new LocaleChangeInterceptor();
localeChangeInterceptor.setParamName("language");
return localeChangeInterceptor;
}
为了起到这种作用,需要将LocaleChangeInterceptor添加到应用程序的注册表拦截器中。 配置类应扩展WebMvcConfigurerAdapter类并覆盖addInterceptors()方法。
@Override
public void addInterceptors(InterceptorRegistry registry) {

本文详细介绍了如何在Spring Boot中实现国际化,包括添加必要的依赖、配置LocaleResolver、LocaleChangeInterceptor,以及设置消息源和HTML展示。通过调整请求参数可以切换不同的语言环境,例如从英文切换到中文。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



