赞
踩
什么是国际化呢?国际惯例,来时来一段官方介绍:
国际化(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>
</depen
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。