Java常用类库——国际化程序(Locale,ResourceBundle以及MessageFormat处理动态文本)

本文详细介绍了Java中实现国际化程序的方法,包括Locale类的应用,ResourceBundle的使用,以及如何通过MessageFormat处理动态文本。此外,还讨论了Java的新特性——可变参数,并提出使用一个类来替代资源文件的方案。
摘要由CSDN通过智能技术生成

 本章目标

掌握国际化程序的基本实现原理。
掌握资源文件的作用。
掌握Locale类的基本实现原理。
掌握ResourceBundle类的作用。
可以使用MessageFormat处理动态文本。
了解资源类的使用。

 国际化程序

国际化的操作就是指一个程序可以同时适应多门语言,即:如果现在程序的使用者是中国人,则会以中文为显示文字,如果现在程序的使用者是英国人,则会以英语为显示文字,也就是说可以通过国际化操作,让一个程序适应各个国家的语言要求。
那么对于各个国家来说,每一个程序的代码是不会有任何改变的,但是只是其显示的文字上有所差异而已。
国际化程序的实现思路:

程序根据不同的语言环境找到不同的资源文件,之后从资源文件中取出内容,资源文件中的内容都是以key—value的形式保存的,所以在读取的时候通过其key找到对应的value即可。
国际化实现的支持类
如果想实现Java程序的国际化操作必须通过以下三个类完成:
java.util.Locale:用于表示一个国家的语言类。
java.util.ResourceBundle:用于访问资源文件。
java.util.MessageFormat:格式化资源文件的占位字符串。

Locale类

Locale表示的是本地,实际上使用的是一个ISO编码的封装类。对于各个国家来说都存在一个唯一的编码,那么这种编码就称为ISO编码,使用Locale可以指定一个具体的国家编码。
例如:
中国的编码:zh-CN
英语-美国的编码:en-US
法语的编码:fr-FR

ResourceBundle

此类是专门完成属性文件读取操作的,读取的时候直接指定文件名即可(此文件名一般不需要指定后缀,后缀统一为*.properties),可以根据Locale所指定的区域码来自动选择所需要的资源文件。
public static final ResourceBundle getBundle(String baseName),此方法是指定操作的资源文件,此方法找到的是默认的操作系统的语言Locale对象。
public static final ResourceBundle getBundle(String baseName, Locale locale),此方法也是指定操作的资源文件,并传入Locale对象。
public final String getString(String key)根据key取得对应的value。
下面通过一道程序来观察资源文件的使用,以及如何使用ResourceBundle读取资源文件。
资源文件命名的时候最好采用单词首字母大写的方式完成。
Message.proper
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值