# 课程：设置区域设置

> 原文： [https://docs.oracle.com/javase/tutorial/i18n/locale/index.html](https://docs.oracle.com/javase/tutorial/i18n/locale/index.html)

国际化计划可以在全世界以不同方式显示信息。例如，该程序将在巴黎，东京和纽约显示不同的消息。如果本地化过程已经过微调，该程序将在纽约和伦敦显示不同的消息，以解释美国和英国英语之间的差异。国际化计划如何确定最终用户的适当语言和区域？简单。它引用了`Locale`对象。

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

以下部分说明如何使用`Locale`对象：

## [创建区域设置](create.html)

创建`Locale`对象时，通常指定语言代码和国家/地区代码。第三个参数，即变体，是可选的。

## [BCP 47 扩展](extensions.html)

本节介绍如何将 Unicode 区域设置扩展或专用扩展添加到`区域设置`。

## [识别可用的区域设置](identify.html)

区域设置敏感类仅支持某些`Locale`定义。本节介绍如何确定支持哪些`Locale`定义。

## [语言标签过滤和查找](matching.html)

本节介绍语言标记，语言标记过滤和语言标记查找的国际化支持。

## [区域范围](scope.html)

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

## [区域敏感服务 SPI](services.html)

本节介绍如何启用与语言环境相关的数据和服务的插件。除了当前可用的语言环境之外，这些 SPI（服务提供程序接口）还提供对更多语言环境的支持。