Java 对国际化 (i18n) 的支持&资源包的调用

本文详细介绍了Java如何支持国际化(i18n),包括使用Locale进行本地化设置,利用DateFormat进行日期时间格式化,NumberFormat进行数字和货币格式化,以及MessageFormat和ResourceBundle来管理和获取国际化资源包中的键值对。通过示例展示了如何在资源文件中使用占位符模板字符串,以实现灵活的本地化文本输出。
摘要由CSDN通过智能技术生成
Java 国际化 i18n

国际化信息也成为本地化信息,一般需要2个条件才能确定一个特定的国际化信息,分别是:“语言类型” 和 “国家/地区信息”,Java 为国际化提供了一系列类支持;
常用的 “语言类型” 和 “国家/地区信息”代码如下:
语言类型代码:
中文 zh
英语 en
日语 ja
法语 fr
国家/地区代码:
中国大陆 CN
中国香港 HK
美国 US
英国 EN
完整语言代码可以参见: http://www.lingoes.cn/zh/translator/langcode.htm
完整国家/地区代码可以参见: http://www.loc.gov/standards/iso639-2/php/English_list.php


以下示例代码的完整代码地址https://gitee.com/assad/springframework-test-i18n

Locale

java.util.Locale 是表示“语言”和“国家/地区”的本地化类,是 Java 创建国际化应用的基础,以下是一些示例使用:
 
//带有语言和国际地区信息的 Locale
Locale local1 = new Locale("zh","CN");
//带有语言信息的 Locale
Locale local2 = new Locale("zh");
//等同于 Locale("zh","CN");
Locale locale3 = Locale.CHINA;
//等同于 Locale("zh");
Locale locale4 = Locale.CHINESE;
//获取默认Locale
Locale defaultLocale = Locale.getDefault();
如果在测试时需要改变系统默认的本地化设置,可以在启动JVM时通过命令参数指定:
 
java -Duser.language=zh -Duser.region=CN MainClass 




本地化工具类


Java 的 java.text 包提供了一系列支持本地化格式化操作的工具类,如: NumberFormat,DateFormat,MessageFormat

DateFormat

java.text.DateFormat 用于对日期时间进行本地化格式化操作,本身实现为一个工厂类,可以通过 DataFormat.getXxxInstance() 获取实例;

① 格式化日期

 
Date date = new Date();
Locale locale = new Locale("en","US");
DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.MEDIUM,locale);
String fmtStr = dateFormat.format(date); //fmtStr = "Dec 1, 2017"

② 格式化时间

 
Date date = new Date();
Locale locale = new Locale("en","U
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值