このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

Intl.Locale.prototype.variants

variantsIntl.Locale インスタンスのアクセサープロパティで、このロケールに関連付けられたバリアントを、ダッシュ(-) で区切られた識別子の文字列として、当初指定された順序で返します。

解説

バリアントは主要言語IDの一部です。三要素(言語、地域、文字体系)では識別できない言語の派生形を選択します。通常、様々な時代や様々な表記体系における同一言語を表します。例えば、ドイツ語は 19011996 の表記法バリアントをもち、それぞれ de-1901 および de-1996 と表記されます。また「近世英語(1500-1700 年)」バリアントは en-emodeng と表記されます。サブタグはダッシュ (-) で区切られた複数の識別子を含むことができます。これらの識別子は技術的には順序付けられていませんが、実際には意味的な階層を持つことが多くの場合あります。例えば、スロベニア語のレジア方言は sl-rozaj と表記され、レジア方言のサン・ジョルジョ/ビラ方言は sl-rozaj-biske と表記されます。

variants プロパティの値は、コンストラクタ実行時に設定されます。設定方法は、ロケール識別子の region 以降の部分を使用するか、または Intl.Locale() コンストラクターの variants オプションを使用します。両方が存在する場合、後者が優先されます。どちらも存在しない場合、プロパティの値は undefined となります。

variants の設定アクセサーは undefined です。このプロパティを直接変更することはできません。

他のロケールサブタグと同様に、バリアントはロケール文字列を介して、またはコンストラクターへの構成オブジェクト引数として、Intl.Locale オブジェクトに追加できます。

ロケール文字列からバリアントを追加

バリアントが存在する場合、それらは有効なUnicode言語識別子文字列の末尾部分であり、 Intl.Locale() コンストラクターに渡される初期ロケール識別子文字列に追加できます。バリアントはロケール識別子の必須部分ではないことに注意してください。

js
const locale = new Intl.Locale("sl-rozaj-biske");
console.log(locale.variants); // "rozaj-biske"

構成オブジェクト引数からバリアントを追加

Intl.Locale() コンストラクターには、オプションの構成オブジェクト引数があります。構成オブジェクトの variants プロパティを希望のバリアントに設定し、それをコンストラクターに渡してください。

js
const locale = new Intl.Locale("sl", { variants: "rozaj-biske" });
console.log(locale.variants); // "rozaj-biske"

仕様書

Specification
ECMAScript® 2026 Internationalization API Specification
# sec-Intl.Locale.prototype.variants

ブラウザーの互換性

関連情報