Spring boot + Thymeleaf 中的 I18n

spring

1个回答

写回答

xiao843

2025-11-26 20:46

+ 关注

Spring
Spring

使用Spring Boot和Thymeleaf实现国际化(I18n)功能可以帮助我们实现多语言支持的网站或应用程序。通过使用自然语言作为示例,我们来介绍如何进行国际化配置和实现。

首先,我们需要在Spring Boot项目中添加Thymeleaf和Spring Boot Starter依赖。在pom.XML文件中添加以下依赖:

XML

<dependency>

<groupId>org.Springframework.boot</groupId>

<artifactId>Spring-boot-starter-thymeleaf</artifactId>

</dependency>

<dependency>

<groupId>org.thymeleaf.extras</groupId>

<artifactId>thymeleaf-extras-Springsecurity5</artifactId>

</dependency>

接下来,我们需要在应用程序的配置文件(application.properties或application.yml)中添加国际化相关的配置。例如,我们可以添加以下配置来支持英语和中文两种语言:

properties

Spring.messages.basename=i18n/messages

Spring.messages.encoding=UTF-8

Spring.thymeleaf.cache=false

Spring.mvc.locale-resolver=fixed

Spring.mvc.locale=zh_CN

在上述配置中,我们指定了国际化资源文件的基本名称为"i18n/messages",编码为UTF-8,并且禁用了Thymeleaf的缓存。我们还设置了默认的语言环境为中文。

接下来,我们需要创建国际化资源文件。在src/mAIn/resources目录下创建一个名为"i18n"的文件夹,并在该文件夹下创建两个属性文件:messages_en.properties和messages_zh_CN.properties。这两个文件分别用于英语和中文语言的翻译。

在messages_en.properties文件中,我们可以添加以下内容:

properties

welcome.message=Welcome to our website!

在messages_zh_CN.properties文件中,我们可以添加以下内容:

properties

welcome.message=欢迎访问我们的网站!

现在,我们可以在Thymeleaf模板中使用国际化资源了。我们可以使用Thymeleaf的内置方法进行翻译。例如,在HTML文件中,我们可以添加以下代码:

html

<h1 th:text="#{welcome.message}"></h1>

上述代码会根据当前语言环境自动翻译并显示相应的欢迎消息。

在文章的中间段落中,我们可以添加一个标题来介绍国际化功能的使用方法。我们可以使用标签将标题设置为粗体。例如:

html

<strong th:text="#{i18n.title}"></strong>

在国际化资源文件中,我们可以添加以下内容:

properties

i18n.title=国际化功能示例

上述代码会将"国际化功能示例"标题以粗体显示。

通过上述步骤,我们可以轻松地实现Spring Boot和Thymeleaf的国际化功能,并根据不同的语言环境显示相应的翻译内容。

希望这篇文章能帮助您理解如何在Spring Boot和Thymeleaf中实现国际化功能。通过使用自然语言作为示例,我们展示了如何进行配置和使用,并提供了相应的代码示例。祝您在开发多语言支持的应用程序时取得成功!

举报有用(0分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号