本指南将向您展示如何轻松只需几个简单的步骤即可实现Spring Boot应用的国际化,从而总是在一个地方处理语言环境问题。
我们将讨论如何在现有的Spring Boot项目中添加国际化。当您处理应该为来自不同国家/地区的用户提供不同语言服务的项目时,app国际化的问题变得很常见。比如,你需要向中国用户提供中文回复信息,并向法国用户提供法语信息,那么让我们来看看如何在Spring Boot中实现它。
让我们使用Spring Initializer创建项目 ,这使得项目的创建更容易。选择Web,Security,JPA,Actuator,Devtools等模块。
下载项目后,解压缩,并用打开IntelliJ IDEA打开。
第一件事是创建CustomLocaleResolver类,它将负责定义用户的语言环境。
@Configuration public class CustomLocaleResolver extends AcceptHeaderLocaleResolver implements WebMvcConfigurer { ListLOCALES = Arrays.asList( new Locale("en"), new Locale("fr")); @Override public Locale resolveLocale(HttpServletRequest request) { String headerLang = request.getHeader("Accept-Language"); return headerLang == null || headerLang.isEmpty() ? Locale.getDefault() : Locale.lookup(Locale.LanguageRange.parse(headerLang), LOCALES); } @Bean public ResourceBundleMessageSource messageSource() { ResourceBundleMessageSource rs = new ResourceBundleMessageSource(); rs.setBasename("messages"); rs.setDefaultEncoding("UTF-8"); rs.setUseCodeAsDefaultMessage(true); return rs; } }