SpringBoot专题学习Part16:SpringBoot实现国际化语言切换功能(i18n)

本文介绍了SpringBoot实现国际化(i18n)的详细步骤,包括编写国际化配置文件、自动国际化以及在页面获取国际化内容。讨论了Thymeleaf在获取国际化信息中的作用,以及解决IDEA中可能出现的乱码问题。最后,讲解了如何自定义区域解析器以实现手动切换语言功能。
摘要由CSDN通过智能技术生成

国际化是什么

听起来很高大上的国际化 其实就是通过浏览器的语言信息来动态显示国际化效果
通俗来说 就是 点击中文按钮的时候显示中文 点击英文按钮的时候显示英文(当然还支持其它语言

国际化的实现步骤:

  • 1)、编写国际化配置文件
  • 2)、使用ResourceBundleMessageSource管理国际化资源文件
  • 3)、在页面取出国际化内容

在SpringBoot内部已经实现了第2步和第3步 它的底层已经配置好了 因此 只须编写国际化配置文件即可

一、编写国际化配置文件

编写国际化配置文件 就是抽取页面需要显示的国际化消息
通俗来说 就是将要"翻译"的文字提取出来

在resources资源目录下创建一个包 用于存放国际化配置文件
然后创建配置文件login.properties
命名格式:页面名_语言代码_国家代码.properties

当IDEA识别到 就会自动切换到国际化视图
在这里插入图片描述
这样的话 可直接右键创建国际化配置文件
点击右侧的加号(+)
在这里插入图片描述
输入语言代码_国家代码即可 会自动生成配置文件
在这里插入图片描述
然后可在配置文件左下角点击Resource Bundle切换视图
在这里插入图片描述
点击左上角的加号(+)添加一套语言配置
在这里插入图片描述
如此照葫芦画瓢 配置好全部需要转换的语言部分
在这里插入图片描述

二、自动国际化

SpringBoot已经自动配置好了管理国际化资源文件的组件

语言资源自动配置类的底层代码是这样的:

@ConfigurationProperties(prefix = "spring.messages")
public class MessageSourceAutoConfiguration {
   
    
    /**
	 * Comma-separated list of basenames (essentially a fully-qualified classpath
	 * location), each following the ResourceBundle convention with relaxed support for
	 * slash based locations. If it doesn't contain a package qualifier (such as
	 * "org.mypackage"), it will be resolved from the classpath root.
	 */
	private String basename = "messages";  
    ...
}

因此 可以看见 配置文件默认的基础名为mess

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值