SpringBoot项目中实现返回结果和枚举类的国际化

本文介绍了如何在SpringBoot项目中实现返回结果和枚举类的国际化。通过设置国际化配置文件,根据用户语言环境返回不同的信息。在Thymeleaf页面中,通过#{welcome}获取信息。利用MessageSource接口,可以在后端返回提示信息时支持国际化。此外,文章还展示了如何使枚举类支持国际化,通过改造枚举类的getStatusMsg方法和添加不同语言环境的返回值。
摘要由CSDN通过智能技术生成

前言

什么是国际化呢?国际惯例,来时来一段官方介绍:

国际化(internationalization)是设计和制造容易适应不同区域要求的产品的一种方式。

它要求从产品中抽离所有地域语言,国家/地区和文化相关的元素。

换言之,应用程序的功能和代码设计考虑在不同地区运行的需要,其代码简化了不同本地版本的生产。

开发这样的程序的过程,就称为国际化。

在我们实际开发中,一个web应用可能要在多个地区使用,面对不同地区的不同语言,为了适应不同的用户,我们可以尝试在前端页面实现多语言的支持,那么同样对于后端返回的一些提示信息,异常信息等,我们后端也可以根据不同的语言环境来进行国际化处理,返回相应的信息。

开发工具

IDEA、Maven、SpringBoot2.0.5、Jdk1.8、google浏览器

SpringBoot中的国际化

原理:

想要使应用支持国际化,首先需要知道用户的语言环境,即用户想要看到的语言,我们设想在用户每次请求时告诉服务器自己的语言环境,服务器收到请求后,根据不同的语言环境返回不同的信息来实现国际化。在spring应用中,用户的语言环境是通过区域解析器来识别的,而区域解析器有分为好几种(后面详细说),在我们不做配置修改时,spring使用

AcceptHeaderLocaleResolver作为默认的区域解析器,它是根据HTTP请求 Header中的Accept-language的值来解析,当然区域解析器我们也可以自定义配置。

springboot默认就支持国际化。我们只需要只需要作相应的配置即可。

1.首先你需要一个springboot项目。IDEA中分分钟创建好一个项目。

2.在resources下定义国际化配置文件,注意名称必须以messages开始。(在springboot中,当我们不修改配置时默认去解析名称以message开始的properties文件)

messages.properties (默认环境,无法确定语言环境时,解析该文件中的相应信息)

messages_zh_CN.properties(中文语言环境时,解析该文件中的相应信息)

messages_en_US.properties(英文语言环境时,解析该文件中的相应信息)

在三个配置文件中分别以Key = Value形式存储如下三条信息,如下:

welcome = 这是一个支持国际化的项目。

welcome = 这是一个支持国际化的项目。

welcome = This is a project supporting internationalization.

3.创建thymeleaf页面

加入thymeleaf依赖

<dependency>

<groupId>org.springframework.boot</groupId>

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

</depend

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值