- 内容提要
- 作者简介
- 译者简介
- 前言
- HTTP
- Servlet 和 JSP
- 下载 Spring 或使用 STS 与 Maven/Gradle
- 手动下载 Spring
- 使用 STS 和 Maven/Gradle
- 下载 Spring 源码
- 本书内容简介
- 下载示例应用
- 第 1 章Spring 框架
- 第 2 章模型 2 和 MVC 模式
- 第 3 章Spring MVC 介绍
- 第 4 章基于注解的控制器
- 第 5 章数据绑定和表单标签库
- 第 6 章转换器和格式化
- 第 7 章验证器
- 第 8 章表达式语言
- 第 9 章JSTL
- 第 10 章国际化
- 第 11 章上传文件
- 第 12 章下载文件
- 第 13 章应用测试
- 附录 A Tomcat
- 附录 B Spring Tool Suite 和 Maven
- 附录 C Servlet
- 附录 D JavaServer Pages
- 附录 E 部署描述符
10.1 语言区域
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();
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论