返回介绍

10.1 语言区域

发布于 2025-04-22 20:10:02 字数 2935 浏览 0 评论 0 收藏

Java.util.Locale 类表示一个语言区域。一个 Locale 对象包含 3 个主要元件:language、country 和 variant。Language 无疑是最重要的部分;但是,语言本身有时并不足以区分一个语言区域。例如,讲英语的国家有很多,如美国和英国。但是,在美国讲的英语,与在英国用的英语并非一模一样。因此,必须指定语言国家。再举一个例子,在中国大陆使用的汉语,与在台湾地区用的汉语也是不完全一样的。

参数 variant 是一个特定于供应商或者特定于浏览器的代号。例如,用 WIN 表示 Windows,用 MAC 表示 Macintosh,用 POSIX 表示 POSIX。两个 variant 之间用一个下划线隔开,并将最重要的部分放在最前面。例如,传统西班牙语,用 language、country 和 variant 参数构造一个 locale 分别是 es,ES,Traditional_WIN。

构造 Locale 对象时,要使用 Locale 类的其中一个构造器:

public Locale(java.lang.String language)
public Locale(java.lang.String language, java.lang.String country)
public Locale(java.lang.String language, java.lang.String country,
    java.lang.String variant)

语言代号是一个有效的 ISO 语言码。表 10.1 显示了 ISO 639 语言码范例。

表 10.1 ISO 639 语言码范例

代码

语言

de

德语

el

希腊语

en

英语

es

西班牙语

fr

法语

hi

印地语

it

意大利语

ja

日语

nl

荷兰语

pt

葡萄牙语

ru

俄语

zh

汉语

参数 country 是一个有效的 ISO 国家码,由两个字母组成,ISO 3166(http://userpage. chemie.fuberlin.de/diverse/doc/ISO_3166.html)中指定为大写字母。表 10.2 展示了 ISO 3166 国家码范例。

表 10.2 ISO 3166 国家码范例

国家

代码

澳大利亚

AU

巴西

BR

加拿大

CA

中国

CN

埃及

EG

法国

FR

德国

DE

印度

IN

墨西哥

MX

瑞士

CH

英国

GB

美国

US

例如,要构造一个表示加拿大所用英语的 Locale 对象,可以像下面这样编写:

Locale locale = new Locale("en", "CA");

此外,Locale 类提供了 static final 域,用来返回特定国家或语言的语言区域,如 CANADA_ FRENCH、CHINA、CHINESE、ENGLISH、FRANCE、FRENCH、UK、US 等。因此,也可以通过调用其 static 域来构造 Locale 对象。

Locale locale = Locale.CANADA_FRENCH;

此外,静态的 getDefault 方法会返回用户计算机的语言区域。

Locale locale = Locale.getDefault();

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。