The language
accessor property of Intl.Locale instances returns the language associated with this 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 distinction between dialects and variations, e.g. British English vs. American English). The language
property of a Intl.Locale returns strictly the locale's language subtag.
Examples
Setting the language in the locale identifier string argument
In order to be a valid Unicode locale identifier, a string must start with the language subtag. The main argument to the Intl.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.
const locale = new Intl.Locale("en-Latn-US");
console.log(locale.language); // Prints "en"
Overriding language via the configuration object
While the language subtag must be specified, the Intl.Locale() constructor takes a configuration object, which can override the language subtag.
const locale = new Intl.Locale("en-Latn-US", { language: "es" });
console.log(locale.language); // Prints "es"
Specifications
Browser compatibility
See also
- Intl.Locale
- Unicode language subtag in the Unicode locale data markup language spec