Spring Boot 国际化(i18n)
-
国际化
国际化是一个过程,可以使您的应用程序适应不同的语言和地区,而无需在源代码上进行工程更改。换句话说,国际化是本地化的准备。在本章中,我们将详细学习如何在Spring Boot中实现国际化。 -
依赖关系
我们需要Spring Boot Starter Web和Spring Boot Starter Thymeleaf依赖性来在Spring Boot中开发Web应用程序。Maven - 配置依赖Gradle - 配置依赖 -
LocaleResolver
我们需要确定您的应用程序的默认语言环境。我们需要在我们的Spring Boot应用程序中添加LocaleResolver bean。 -
LocaleChangeInterceptor
LocaleChangeInterceptor用于根据添加到请求中的language参数的值来更改新的Locale。为了实现此效果,我们需要将LocaleChangeInterceptor添加到应用程序的注册表拦截器中。配置类应继承WebMvcConfigurerAdapter类,并重写addInterceptors()方法。 -
消息来源
默认情况下,Spring Boot应用程序从类路径下的src/main/resources文件夹中获取消息源。默认语言环境消息文件名应为message.properties,每个语言环境的文件应命名为messages_XX.properties。“XX”代表语言环境代码。 所有消息属性都应用作键值对。如果在语言环境中找不到任何属性,则应用程序将使用messages.properties文件中的默认属性。默认的messages.properties将如下所示法语的messages_fr.properties将如下所示-注意 - 消息源文件应另存为“UTF-8”文件格式。
-
HTML文件
在HTML文件中,使用语法#{key}显示来自属性文件的消息。 -
完整代码
完整的代码如下Maven – pom.xmlGradle – build.gradle下面给出了主要的Spring Boot DemoApplication类文件-控制器类文件如下-支持国际化的配置类-消息源– messages.properties如下所示-消息源– message_fr.properties如下所示-HTML文件locale.html应该放置在类路径的模板目录下,如下所示:您可以创建一个可执行的JAR文件,并使用以下Maven或Gradle命令运行Spring Boot应用程序-对于Maven,请使用以下命令在“BUILD SUCCESS”之后,您可以在target目录下找到JAR文件。对于Gradle,请使用以下命令-在“BUILD SUCCESSFUL”之后,您可以在build/libs目录下找到JAR文件。现在,使用如下所示的命令运行JAR文件:您会发现该应用程序已在Tomcat端口8080上启动。现在在您的Web浏览器中访问URL http://localhost:8080/locale,您可以看到以下输出-URL - http://localhost:8080/locale?language=fr 将为您提供输出,如下所示: