Intl.Locale.prototype.language

The Intl.Locale.prototype.language property is an accessor property that returns the language associated with the locale.

Description

Language is one of the core features of a locale. The Unicode specification treats the language identifier of a locale as the language and the region together (to make a distiction between dialects and variations, e.g. British English vs. American English). The language property of a Locale returns strictly the locale's language subtag.

Examples

Setting the language in the locale identifer string argument

In order to be a valid Unicode locale identifier, a string must start with the language subtag. The main argument to the Locale constructor must be a valid Unicode locale identifier, so whenever the constructor is used, it must be passed an identifier with a language subtag.

let langStr = new Intl.Locale("en-Latn-US");

console.log(langStr.language); // Prints "en"

Overriding language via the configuration object

While the language subtag must be specified, the Locale constructor takes a configuration object, which can override the language subtag.

let langObj = new Intl.Locale("en-Latn-US", {language: "es"});

console.log(langObj.language); // Prints "es"

Specifications

Specification Status Comment
Intl.Locale.prototype.language proposal Stage 3

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
language Chrome Full support 74 Edge No support No Firefox No support No IE No support No Opera No support No Safari No support No WebView Android Full support 74 Chrome Android Full support 74 Firefox Android No support No Opera Android No support No Safari iOS No support No Samsung Internet Android No support No nodejs No support No

Legend

Full support  
Full support
No support  
No support

See also