Intl.Locale() コンストラクター
Baseline
広く利用可能
この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2020年9月以降、すべてのブラウザーで利用可能です。
Intl.Locale() コンストラクターは Intl.Locale オブジェクトを生成します。
試してみましょう
const korean = new Intl.Locale("ko", {
script: "Kore",
region: "KR",
hourCycle: "h23",
calendar: "gregory",
});
const japanese = new Intl.Locale("ja-Jpan-JP-u-ca-japanese-hc-h12");
console.log(korean.baseName, japanese.baseName);
// 予想される結果: "ko-Kore-KR" "ja-Jpan-JP"
console.log(korean.hourCycle, japanese.hourCycle);
// 予想される結果: "h23" "h12"
構文
new Intl.Locale(tag)
new Intl.Locale(tag, options)
引数
tag-
Unicode ロケール識別子の文字列です。ロケール識別子文字列の構文については、Intl メインページを参照してください。なお、
Intl.Localeコンストラクターは、他のほとんどのIntlコンストラクターとは異なり、ロケールの配列やundefinedは受け入れません。 options-
ロケールの構成を含むオブジェクトです。ここで指定するオプション値は、ロケール識別子内の拡張キーよりも優先されます。可能なプロパティは次の通りです。
language-
言語です。
unicode_language_subtagの文法(2~3 文字または 5~8 文字)に準拠している構文的に有効な文字列はすべて受け入れますが、実装では特定の種類のもののみを認識します。 script-
文字体系です。
unicode_script_subtagの文法(4 文字)に準拠している構文的に有効な文字列はすべて受け入れますが、実装では特定の種類のもののみを認識します。 region-
地域です。
unicode_region_subtagの文法(2 文字または 3 桁)に準拠している構文的に有効な文字列はすべて受け入れますが、実装では特定の種類のもののみを認識します。 variants-
バリアントです。ダッシュ (
-) で区切られた一意なバリアントタグのリストであるべきで、それぞれのタグはunicode_variant_subtagの文法(5~8 桁の英数字、または 1 桁の数字に次の 3 桁の英数字が続く)に準拠している構文的に有効な文字列はすべて受け入れますが、実装では特定の種類のもののみを認識します。 calendar-
暦です。
type文法(3~8 桁の英数字セグメントをハイフンで連結した 1 つ以上のセグメント)に準拠している構文的に有効な文字列はすべて受け入れますが、実装では特定の種類のもののみを認識します。これらはIntl.supportedValuesOf()で列挙されます。 collation-
照合順序です。
typeの文法に準拠する構文的に有効な文字列はすべて受け入れられますが、実装では特定の種類のもののみを認識します。これらはIntl.supportedValuesOf()で列挙されます。 numberingSystem-
記数法です。
typeの文法に準拠する構文的に有効な文字列はすべて受け入れられますが、実装では特定の種類のもののみを認識します。これらはIntl.supportedValuesOf()で列挙されます。 caseFirst-
大文字小文字優先ソートオプションです。取りうる値は
"upper"、"lower"、"false"です。 hourCycle-
時制。可能な値は
"h23"、"h12"、"h11"、または実質的に使用されない"h24"であり、これらはIntl.Locale.prototype.getHourCyclesで説明されています。 numeric-
数値ソートオプションです。論理値です。
例
>基本的な使用
もっとも単純なものでは、Intl.Locale() コンストラクターはロケール識別子の文字列を引数に取ります。
const us = new Intl.Locale("en-US");
Locale コンストラクターに options オブジェクトを渡して使用
コンストラクターには、オプションで構成オブジェクトの引数を取ることができ、そこに複数の拡張型を指定することができます。たとえば、設定オブジェクトの hourCycle プロパティに任意の時間周期を設定し、それをコンストラクターに渡します。
const locale = new Intl.Locale("en-US", { hourCycle: "h12" });
console.log(locale.hourCycle); // "h12"
仕様書
| 仕様書 |
|---|
| ECMAScript® 2027 Internationalization API Specification> # sec-intl-locale-constructor> |