Java 教程是为 JDK 8 编写的。本页中描述的示例和实践未利用在后续版本中引入的改进。
国际化程序可以在全世界以不同方式显示信息。例如,该程序将在巴黎,东京和纽约显示不同的消息。如果本地化过程已经过微调,该程序将在纽约和伦敦显示不同的消息,以解释美国和英国英语之间的差异。国际化程序如何确定终端用户的适当语言和区域?简单。它引用了 Locale
对象。
Locale
对象是特定语言和区域组合的标识符。如果类根据 Locale
改变其行为,则称其为 locale-sensitive (语言环境敏感的)。例如,NumberFormat
类是语言环境敏感的;它返回的数字格式取决于 Locale
。因此,NumberFormat
可以返回 902 300(法国),或 902.300(德国)或 902,300(美国)的数字。Locale
对象只是标识符。实际工作(例如格式化和检测字边界)由语言环境敏感类的方法执行。
以下部分说明如何使用 Locale
对象:
创建 Locale
对象时,通常会指定语言代码和国家/地区代码。第三个参数,即变体,是可选的。
本节介绍如何将 Unicode 语言环境扩展或专用扩展添加到 Locale。
语言环境敏感类仅支持某些 Locale
定义。本节介绍如何确定支持哪些 Locale
定义。
本节介绍语言标签,语言标签过滤和语言标签查找的国际化支持。
在 Java 平台上,不用在运行应用程序之前设置环境变量来指定全局 Locale
。相反,你要么依赖默认的 Locale,要么为每个语言环境敏感的对象分配 Locale
。
本节介绍如何启用与语言环境相关的数据和服务的插件。除了当前可用的语言环境之外,这些 SPI(服务提供程序接口)还提供对更多语言环境的支持。