Intl.Locale.prototype.language

Intl.Locale.prototype.language プロパティは、ロケールに関連付けられた言語を返すアクセサープロパティです。

解説

言語はロケールの中核的な特徴の一つです。 Unicode 仕様書では、ロケールの言語識別子を言語と地域を合わせたものとして扱います (イギリス英語とアメリカ英語などの方言や変化形を区別するためです)。 Localelanguage プロパティは、ロケールの言語サブタグを厳密に返します。

ロケール識別子の文字列引数で言語を設定

有効な Unicode 言語識別子となるためには、文字列は言語サブタグで始めなければなりません。 Locale コンストラクターの主要な引数には、有効な Unicode ロケール識別子がなければならないので、コンストラクターを使用する際には必ず言語サブタグを持つ識別子を渡さなければなりません。

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

console.log(langStr.language); // "en" と表示

構成オブジェクトにより言語を上書き

言語サブタグは指定する必要がありますが、 Locale コンストラクターは構成オブジェクトを取り、これを用いて言語サブタグを上書きすることができます。

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

console.log(langObj.language); // "es" と表示

仕様書

仕様書
ECMAScript Internationalization API (ECMA-402)

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung InternetNode.js
languageChrome 完全対応 74Edge 完全対応 79Firefox 完全対応 75IE 未対応 なしOpera 完全対応 62Safari 完全対応 14WebView Android 完全対応 74Chrome Android 完全対応 74Firefox Android 未対応 なしOpera Android 完全対応 53Safari iOS 完全対応 14Samsung Internet Android 完全対応 11.0nodejs 完全対応 12.0.0
補足
完全対応 12.0.0
補足
補足 Before version 13.0.0, only the locale data for en-US is available by default. See the Locale() constructor for more details.

凡例

完全対応  
完全対応
未対応  
未対応
実装ノートを参照してください。
実装ノートを参照してください。

関連情報