世界上有很多种语言,说不同语言的人不仅仅使用的文字不同,就连表达习惯和思维方式可能也不相同。此外,即使是同一种语言在不同的国家或地区也有差别,例如中国大陆地区都使用简体汉字,而港澳台地区则使用繁体汉字,因此当人们进入到不同国家或地区,实际上就是进入到不同的语言环境。在软件开发时也要考虑到软件使用者的语言环境,每一款软件都应该根据语言环境显示数据和信息,例如以使用者习惯的格式显示日期时间。
国际标准化组织制定了一套精确表示不同地区语言的代码,用每一种代码表示了一种语言。这套代码不仅仅标识出了各种不同的语言,还把这些语言按照使用地区划分成更细的种类,因此这套代码实际上能够精确的表示出不同的语言环境。下面的表11-10展示了部分常用语言的标准代码。
表11-10常用语言代码表
代码 | 语言 | 代码 | 语言 | 代码 | 语言 |
ar_AE | 阿拉伯语(阿联酋) | zh_CN | 中文(中国大陆) | de_DE | 德语(德国) |
ar_BH | 阿拉伯语(巴林) | zh_HK | 中文(中国香港) | en_GB | 英语(英国) |
ar_EG | 阿拉伯语(埃及) | zh_MO | 中文(中国澳门) | en_CA | 英语(加拿大) |
be_BY | 比利时语 | zh_TW | 中文(中国台湾) | en_US | 英语(美国) |
bg_BG | 保加利亚语 | cs_CZ | 捷克语 | fr_FR | 法语(法国) |
bs_BA | 波斯尼亚语 | cy_GB | 威尔士语 | hr_HR | 克罗地亚语 |
ca_ES | 加泰隆语 | de_CH | 德语(瑞士) | hy_AM | 亚美尼亚语 |
在Java语言中,位于Java.util包下的Locale类用来表示语言环境。Locale类对语言环境的定义采用的就是国际标准化组织所定义的这套标准代码。程序员可以通过构造方法创建Local类的对象,也可以通过getDefault()获得操作系统默认的语言环境。实际上,为了帮助程序员快速获得某国家的语言环境对象,Locale类还定义了表示各国语言环境的静态属性,下面的【例11_29】展示了创建和获取Locale类对象的方式。
【例11_29创建和获取Locale类对象】
Exam11_29.java
import java.util.Locale;
public class Exam11_29 {
public static void main(String[] args) {
Locale locale1 = new Locale("zh","CN");//中国大陆中文
Locale locale2 = Locale.getDefault();//操作系统默认语言环境
Locale locale3 = Locale.FRANCE;//法国法语
Locale locale4 = Locale.US;//美国英语
System.out.println(locale1);
System.out.println(locale2);
System.out.println(locale3);
System.out.println(locale4);
}
}
【例11_29】的运行结果如图11-28所示。
图11-28【例11_29】运行结果
从图11-28可以看到:每个Locale类对象被显示为它所代表的语言环境代码。本节所介绍的Locale类一般在程序中都不会单独使用,通常情况下都会以Locale类对象作为格式化数据方法的参数,通过设置语言环境,能够实现根据语言环境格式化数据的效果。
本文字版教程还配有更详细的视频讲解,小伙伴们可以点击这里观看。