Intl.Locale

Intl.Locale 对象是 Intl 对象的标准内置属性,表示 Unicode 区域设置标识符。

¥The Intl.Locale object is a standard built-in property of the Intl object that represents a Unicode locale identifier.

Try it

描述

¥Description

创建 Intl.Locale 对象是为了更轻松地操作 Unicode 语言环境。Unicode 用字符串表示区域设置,称为区域设置标识符。区域设置标识符由语言标识符和扩展标记组成。语言标识符是语言环境的核心,由语言、脚本和区域子标签组成。有关区域设置的附加信息存储在可选的扩展标记中。扩展标记保存有关区域设置方面的信息,例如日历类型、时钟类型和编号系统类型。

¥The Intl.Locale object was created to allow for easier manipulation of Unicode locales. Unicode represents locales with a string, called a locale identifier. The locale identifier consists of a language identifier and extension tags. Language identifiers are the core of the locale, consisting of language, script, and region subtags. Additional information about the locale is stored in the optional extension tags. Extension tags hold information about locale aspects such as calendar type, clock type, and numbering system type.

传统上,Intl API 使用字符串来表示语言环境,就像 Unicode 一样。这是一个简单、轻量级且效果良好的解决方案。但是,添加 Locale 类可以更轻松地解析和操作语言、脚本和区域以及扩展标记。Intl.Locale 的以下属性对应于 Unicode 区域设置标识符子标签:

¥Traditionally, the Intl API used strings to represent locales, just as Unicode does. This is a simple and lightweight solution that works well. Adding a Locale class, however, adds ease of parsing and manipulating the language, script, and region, as well as extension tags. The following properties of Intl.Locale correspond to Unicode locale identifier subtags:

属性 对应子标签
language language(第一部分)
script script(第二部分)
region region(第二/第三部分)
calendar ca(扩大)
caseFirst kf(扩大)
collation co(扩大)
hourCycle hc(扩大)
numberingSystem nu(扩大)
numeric kn(扩大)

上述信息是在构造 Locale 对象时按原样提供的,无需查询任何外部数据库。Intl.Locale 对象还提供了一些返回有关区域设置的实际信息的方法,例如可用的日历、排序规则和编号系统。

¥The information above is exactly provided as-is when the Locale object is constructed, without consulting any external database. The Intl.Locale object additionally provides some methods that return information about the locale's real-world information, such as available calendars, collations, and numbering systems.

构造函数

¥Constructor

Intl.Locale()

创建一个新的 Locale 对象。

实例属性

¥Instance properties

这些属性在 Intl.Locale.prototype 上定义并由所有 Intl.Locale 实例共享。

¥These properties are defined on Intl.Locale.prototype and shared by all Intl.Locale instances.

Intl.Locale.prototype.baseName

以完整数据字符串的子字符串的形式返回有关 Locale 的基本核心信息。

Intl.Locale.prototype.calendar

返回 Locale 中指示区域设置日历时代的部分。

Intl.Locale.prototype.caseFirst

返回区域设置的排序规则是否考虑大小写。

Intl.Locale.prototype.collation

返回 Locale 的排序规则类型,用于根据区域设置的规则对字符串进行排序。

Intl.Locale.prototype.constructor

创建实例对象的构造函数。对于 Intl.Locale 实例,初始值为 Intl.Locale 构造函数。

Intl.Locale.prototype.hourCycle

返回区域设置使用的时间保持格式约定。

Intl.Locale.prototype.language

返回与区域设置关联的语言。

Intl.Locale.prototype.numberingSystem

返回区域设置使用的数字系统。

Intl.Locale.prototype.numeric

返回区域设置是否对数字字符有特殊的排序规则处理。

Intl.Locale.prototype.region

返回与区域设置关联的世界区域(通常是一个国家)。

Intl.Locale.prototype.script

返回用于编写区域设置中使用的特定语言的脚本。

Intl.Locale.prototype[Symbol.toStringTag]

[Symbol.toStringTag] 属性的初始值为字符串 "Intl.Locale"。该属性在 Object.prototype.toString() 中使用。

实例方法

¥Instance methods

Intl.Locale.prototype.getCalendars()

根据区域设置的规则,返回可用日历标识符的 Array

Intl.Locale.prototype.getCollations()

返回 Locale 的排序规则类型的 Array

Intl.Locale.prototype.getHourCycles()

返回 Array 小时周期标识符,指示 12 小时制 ("h12")、日本 12 小时制 ("h11")、24 小时制 ("h23") 或未使用的格式 "h24"。

Intl.Locale.prototype.getNumberingSystems()

根据区域设置的规则返回可用的编号系统标识符 Array

Intl.Locale.prototype.getTextInfo()

返回指示字符 ltr(从左到右)或 rtl(从右到左)顺序的部分。

Intl.Locale.prototype.getTimeZones()

返回与 Locale 关联的时区标识符 Array

Intl.Locale.prototype.getWeekInfo()

根据语言环境规则返回 UTS 35 周要素

Intl.Locale.prototype.maximize()

根据现有值获取语言、脚本和区域设置的最可能值。

Intl.Locale.prototype.minimize()

尝试删除有关通过调用 maximize() 添加的语言环境的信息。

Intl.Locale.prototype.toString()

返回区域设置的完整区域设置标识符字符串。

示例

¥Examples

基本用法

¥Basic usage

最简单的是,Intl.Locale() 构造函数采用区域设置标识符字符串作为其参数:

¥At its very simplest, the Intl.Locale() constructor takes a locale identifier string as its argument:

js
const us = new Intl.Locale("en-US");

将 Locale 构造函数与选项对象结合使用

¥Using the Locale constructor with an options object

构造函数还采用一个可选的配置对象参数,该参数可以包含多种扩展类型中的任何一种。例如,将配置对象的 hourCycle 属性设置为所需的小时周期类型,然后将其传递到构造函数中:

¥The constructor also takes an optional configuration object argument, which can contain any of several extension types. For example, set the hourCycle property of the configuration object to your desired hour cycle type, and then pass it into the constructor:

js
const us12hour = new Intl.Locale("en-US", { hourCycle: "h12" });
console.log(us12hour.hourCycle); // Prints "h12"

规范

Specification
ECMAScript Internationalization API Specification
# locale-objects

¥Specifications

浏览器兼容性

BCD tables only load in the browser

¥Browser compatibility

也可以看看

¥See also