# 设置语言环境

国际化的程序可以在世界各地以不同的方式显示信息。例如,该程序将在巴黎、东京和纽约显示不同的消息。如果本地化过程经过微调,该计划将在纽约和伦敦显示不同的信息,以解释美英英语之间的差异。**国际化程序如何识别其最终用户的适当语言和区域?**容易。它引用 Locale 对象。

区域设置对象是语言和区域的特定组合的标识符。如果类根据 Locale 设置更改其行为,则表示它是对 Locale 设置敏感的。例如,NumberFormat 类对 Locale 设置敏感;它返回的数字的格式取决于 Locale 设置。因此,NumberFormat 可能会返回一个数字为 902 300(法国),或 902.300(德国),或 902,300(美国)。Locale 设置对象只是标识符。实际工作(如格式化和检测单词边界)由 Locale 设置敏感类的方法执行。

以下各节说明如何使用 Locale 对象:

  • 创建 Locale

    创建 Locale 对象时,通常会指定 语言代码国家/地区代码。第三个参数,variant 是可选的。

  • BCP 47 扩展

    本节将展示如何添加一个 Unicode 语言环境的扩展或私人使用扩展的 Locale

  • 识别可用的语言环境

    对语言环境敏感的类仅支持某些 Locale 定义。本节说明如何确定支持哪些 Locale 定义。

  • 语言标记过滤和查找

    本节介绍语言标记、语言标记筛选和语言标记查找的国际化支持。

  • 语言环境的范围

    在 Java 平台上,在运行应用程序之前不通过设置环境变量来指定全局 Locale 设置。相反,您要么依赖默认 Locale ,要么为每个 Locale 敏感对象分配一个 Locale

  • Locale 敏感类服务 SPI

    本节说明如何启用 语言环境相关的数据和服务的插件。这些 SPI(服务提供商接口)除了提供当前可用的语言环境外,还支持更多的语言环境。