Web/JavaScript/Reference/Global objects/Intl/Locale

From Get docs


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


Description

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.

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.

Constructor

Intl.Locale()
Creates a new Locale object.

Instance properties

Intl.Locale.prototype.baseName
Returns basic, core information about the Locale in the form of a substring of the complete data string.
Intl.Locale.prototype.calendar
Returns the part of the Locale that indicates the Locale's calendar era.
Intl.Locale.prototype.caseFirst
Returns whether case is taken into account for the locale's collation rules.
Intl.Locale.prototype.collation
Returns the collation type for the Locale, which is used to order strings according to the locale's rules.
Intl.Locale.prototype.hourCycle
Returns the time keeping format convention used by the locale.
Intl.Locale.prototype.language
Returns the language associated with the locale.
Intl.Locale.prototype.numberingSystem
Returns the numeral system used by the locale.
Intl.Locale.prototype.numeric
Returns whether the locale has special collation handling for numeric characters.
Intl.Locale.prototype.region
Returns the region of the world (usually a country) associated with the locale.
Intl.Locale.prototype.script
Returns the script used for writing the particular language used in the locale.

Instance methods

Intl.Locale.prototype.maximize()
Gets the most likely values for the language, script, and region of the locale based on existing values.
Intl.Locale.prototype.minimize()
Gets the most likely values for the language, script, and region of the locale based on existing values.
Intl.Locale.prototype.toString()
Returns the Locale's full locale identifier string.

Examples

Basic usage

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

let us = new Intl.Locale('en-US');

Using the Locale constructor with an options object

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:

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

Specifications

Specification
ECMAScript Internationalization API (ECMA-402)

Browser compatibility

Update compatibility data on GitHub

Desktop Mobile Server
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet Node.js
Locale Chrome

Full support 74

Edge

Full support 79

Firefox

Full support 75

IE

No support No

Opera

Full support 62

Safari Full support 14

Notes'

Full support 14

Notes'

Notes' Safari 14 Technology Preview 107-111 returns a string instead of a Locale object from the minimize and maximize methods.

WebView Android

Full support 74

Chrome Android

Full support 74

Firefox Android

No support No

Opera Android

Full support 53

Safari iOS Full support 14

Notes'

Full support 14

Notes'

Notes' Safari 14 Technology Preview 107-111 returns a string instead of a Locale object from the minimize and maximize methods.

Samsung Internet Android

Full support 11.0

nodejs Full support 12.0.0

Notes'

Full support 12.0.0

Notes'

Notes' Before version 13.0.0, only the locale data for en-US is available by default. See the Locale() constructor for more details.

Locale() constructor Chrome

Full support 74

Edge

Full support 79

Firefox

Full support 75

IE

No support No

Opera

Full support 62

Safari

Full support 14

WebView Android

Full support 74

Chrome Android

Full support 74

Firefox Android

No support No

Opera Android

Full support 53

Safari iOS

Full support 14

Samsung Internet Android

Full support 11.0

nodejs Full support 13.0.0


Full support 13.0.0


Partial support 12.0.0

Notes'

Notes' Before version 13.0.0, only the locale data for en-US is available by default. When other locales are specified, the Locale instance silently falls back to en-US. To make full ICU (locale) data available for versions prior to 13, see Node.js documentation on the --with-intl option and how to provide the data.

baseName Chrome

Full support 74

Edge

Full support 79

Firefox

Full support 75

IE

No support No

Opera

Full support 62

Safari

Full support 14

WebView Android

Full support 74

Chrome Android

Full support 74

Firefox Android

No support No

Opera Android

Full support 53

Safari iOS

Full support 14

Samsung Internet Android

Full support 11.0

nodejs Full support 12.0.0

Notes'

Full support 12.0.0

Notes'

Notes' Before version 13.0.0, only the locale data for en-US is available by default. See the Locale() constructor for more details.

calendar Chrome

Full support 74

Edge

Full support 79

Firefox

Full support 75

IE

No support No

Opera

Full support 62

Safari

Full support 14

WebView Android

Full support 74

Chrome Android

Full support 74

Firefox Android

No support No

Opera Android

Full support 53

Safari iOS

Full support 14

Samsung Internet Android

Full support 11.0

nodejs Full support 12.0.0

Notes'

Full support 12.0.0

Notes'

Notes' Before version 13.0.0, only the locale data for en-US is available by default. See the Locale() constructor for more details.

caseFirst Chrome

Full support 74

Edge

Full support 79

Firefox

Full support 75

IE

No support No

Opera

Full support 62

Safari

Full support 14

WebView Android

Full support 74

Chrome Android

Full support 74

Firefox Android

No support No

Opera Android

Full support 53

Safari iOS

Full support 14

Samsung Internet Android

Full support 11.0

nodejs Full support 12.0.0

Notes'

Full support 12.0.0

Notes'

Notes' Before version 13.0.0, only the locale data for en-US is available by default. See the Locale() constructor for more details.

collation Chrome

Full support 74

Edge

Full support 79

Firefox

Full support 75

IE

No support No

Opera

Full support 62

Safari

Full support 14

WebView Android

Full support 74

Chrome Android

Full support 74

Firefox Android

No support No

Opera Android

Full support 53

Safari iOS

Full support 14

Samsung Internet Android

Full support 11.0

nodejs Full support 12.0.0

Notes'

Full support 12.0.0

Notes'

Notes' Before version 13.0.0, only the locale data for en-US is available by default. See the Locale() constructor for more details.

hourCycle Chrome

Full support 74

Edge

Full support 79

Firefox

Full support 75

IE

No support No

Opera

Full support 62

Safari

Full support 14

WebView Android

Full support 74

Chrome Android

Full support 74

Firefox Android

No support No

Opera Android

Full support 53

Safari iOS

Full support 14

Samsung Internet Android

Full support 11.0

nodejs Full support 12.0.0

Notes'

Full support 12.0.0

Notes'

Notes' Before version 13.0.0, only the locale data for en-US is available by default. See the Locale() constructor for more details.

language Chrome

Full support 74

Edge

Full support 79

Firefox

Full support 75

IE

No support No

Opera

Full support 62

Safari

Full support 14

WebView Android

Full support 74

Chrome Android

Full support 74

Firefox Android

No support No

Opera Android

Full support 53

Safari iOS

Full support 14

Samsung Internet Android

Full support 11.0

nodejs Full support 12.0.0

Notes'

Full support 12.0.0

Notes'

Notes' Before version 13.0.0, only the locale data for en-US is available by default. See the Locale() constructor for more details.

maximize Chrome

Full support 74

Edge

Full support 79

Firefox

Full support 75

IE

No support No

Opera

Full support 62

Safari Full support 14

Notes'

Full support 14

Notes'

Notes' Safari 14 Technology Preview 107-111 returns a string instead of a Locale object.

WebView Android

Full support 74

Chrome Android

Full support 74

Firefox Android

No support No

Opera Android

Full support 53

Safari iOS Full support 14

Notes'

Full support 14

Notes'

Notes' Safari 14 Technology Preview 107-111 returns a string instead of a Locale object.

Samsung Internet Android

Full support 11.0

nodejs Full support 12.0.0

Notes'

Full support 12.0.0

Notes'

Notes' Before version 13.0.0, only the locale data for en-US is available by default. See the Locale() constructor for more details.

minimize Chrome

Full support 74

Edge

Full support 79

Firefox

Full support 75

IE

No support No

Opera

Full support 62

Safari Full support 14

Notes'

Full support 14

Notes'

Notes' Safari 14 Technology Preview 107-111 returns a string instead of a Locale object.

WebView Android

Full support 74

Chrome Android

Full support 74

Firefox Android

No support No

Opera Android

Full support 53

Safari iOS Full support 14

Notes'

Full support 14

Notes'

Notes' Safari 14 Technology Preview 107-111 returns a string instead of a Locale object.

Samsung Internet Android

Full support 11.0

nodejs Full support 12.0.0

Notes'

Full support 12.0.0

Notes'

Notes' Before version 13.0.0, only the locale data for en-US is available by default. See the Locale() constructor for more details.

numberingSystem Chrome

Full support 74

Edge

Full support 79

Firefox

Full support 75

IE

No support No

Opera

Full support 62

Safari

Full support 14

WebView Android

Full support 74

Chrome Android

Full support 74

Firefox Android

No support No

Opera Android

Full support 53

Safari iOS

Full support 14

Samsung Internet Android

Full support 11.0

nodejs Full support 12.0.0

Notes'

Full support 12.0.0

Notes'

Notes' Before version 13.0.0, only the locale data for en-US is available by default. See the Locale() constructor for more details.

numeric Chrome

Full support 74

Edge

Full support 79

Firefox

Full support 75

IE

No support No

Opera

Full support 62

Safari

Full support 14

WebView Android

Full support 74

Chrome Android

Full support 74

Firefox Android

No support No

Opera Android

Full support 53

Safari iOS

Full support 14

Samsung Internet Android

Full support 11.0

nodejs Full support 12.0.0

Notes'

Full support 12.0.0

Notes'

Notes' Before version 13.0.0, only the locale data for en-US is available by default. See the Locale() constructor for more details.

region Chrome

Full support 74

Edge

Full support 79

Firefox

Full support 75

IE

No support No

Opera

Full support 62

Safari

Full support 14

WebView Android

Full support 74

Chrome Android

Full support 74

Firefox Android

No support No

Opera Android

Full support 53

Safari iOS

Full support 14

Samsung Internet Android

Full support 11.0

nodejs Full support 12.0.0

Notes'

Full support 12.0.0

Notes'

Notes' Before version 13.0.0, only the locale data for en-US is available by default. See the Locale() constructor for more details.

script Chrome

Full support 74

Edge

Full support 79

Firefox

Full support 75

IE

No support No

Opera

Full support 62

Safari

Full support 14

WebView Android

Full support 74

Chrome Android

Full support 74

Firefox Android

No support No

Opera Android

Full support 53

Safari iOS

Full support 14

Samsung Internet Android

Full support 11.0

nodejs Full support 12.0.0

Notes'

Full support 12.0.0

Notes'

Notes' Before version 13.0.0, only the locale data for en-US is available by default. See the Locale() constructor for more details.

toString Chrome

Full support 74

Edge

Full support 79

Firefox

Full support 75

IE

No support No

Opera

Full support 62

Safari

Full support 14

WebView Android

Full support 74

Chrome Android

Full support 74

Firefox Android

No support No

Opera Android

Full support 53

Safari iOS

Full support 14

Samsung Internet Android

Full support 11.0

nodejs Full support 12.0.0

Notes'

Full support 12.0.0

Notes'

Notes' Before version 13.0.0, only the locale data for en-US is available by default. See the Locale() constructor for more details.

Legend

Full support  
Full support
No support  
No support
See implementation notes.'
See implementation notes.


See also