干货 | 用JAVA实现多语言翻译组件升级

本文探讨了在Java Web应用中使用Spring i18n内置国际化功能以及如何扩展至自定义国际化,包括配置步骤、测试与性能优化,适用于复杂业务场景的需求

不同领域对国际化的定义各不相同,这里谈论的是 W3C 国际化活动材料的高级工作定义。有些人使用其他术语(例如全球化)来指代同一概念。

国际化是产品、应用程序或文档内容的设计和开发,它可以为不同文化、地区或语言的目标受众轻松实现本地化。国际化(Internationalization)通常用英文写成i18n,其中 18 是英文单词中i和n之间的字母数。[1]

本文主要基于java,针对语言国际化进行阐述。 任何一个面向全世界的软件都会面临多语言国际化的问题,对于java web应用,要实现国际化功能,就是在数据展示给用户之前,替换成用户可识别的语言。

使用spring自带的i18n(国际化)

这部分比较简单,在网上搜索就可以找到教程,这里将会手动配置一次spring i18n国际化来介绍一下。以下是笔者使用的spring boot版本号。
在这里插入图片描述

1-1.在properties或yml资源文件里面配置i18n

笔者用的是yml文件,可以自行转换成properties文件格式。

basename:以逗号分隔的基名列表(本质上是一个完全限定的类路径位置),每个基名都遵循 ResourceBundle 约定,对基于斜杠的位置提供宽松的支持。如果它不包含包限定符(例如 “org.mypackage” ),它将从类路径根目录解析。

cache-duration:加载的资源包文件缓存的持续时间。如果没有设置,捆绑包将被永久缓存。如果没有指定持续时间后缀,将使用秒。
在这里插入图片描述

1-2.在resources文件夹下新增i18n文件夹,并新建相应的国际化文件

spring容器启动的时候,会根据配置的basename去对应的路径加载资源文件到MessageSource里,至于是怎么加载到MessageSource里的,在这里就不展开阐述了。

文件配置如图 1-1所示。
注意:红色框里的就是i18n资源文件的配置,绿色框是idea自动生成的文件夹,实际并不存在,无视就行。
在这里插入图片描述
图 1-1 i18n资源文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值