Intl.Locale
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2020.
* Some parts of this feature may have varying levels of support.
Intl.Locale
オブジェクトは、 Unicode ロケール識別子を表す Intl オブジェクトの標準組み込みプロパティです。
試してみましょう
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);
// Expected output: "ko-Kore-KR" "ja-Jpan-JP"
console.log(korean.hourCycle, japanese.hourCycle);
// Expected output: "h23" "h12"
解説
Intl.Locale
オブジェクトは、 Unicode ロケールをより簡単に操作できるようにするために作成されました。 Unicode は、ロケールをロケール識別子と呼ばれる文字列で表します。ロケール識別子は、言語識別子と拡張タグから構成されます。言語識別子はロケールの中核となるもので、言語、文字体系、地域サブタグから構成されます。ロケールに関する追加情報は、オプションの拡張タグに格納されます。拡張タグには、暦の種類や時計の種類、数値表記法の種類などのロケールに関する情報が格納されています。
従来、 Intl API は Unicode と同様に文字列を使用してロケールを表していました。これはシンプルで軽量な解決策であり、うまく機能します。しかし、 Locale クラスを追加することで、言語、文字体系、地域、拡張タグの解析や操作が容易になります。
コンストラクター
Intl.Locale()
新しい
Locale
オブジェクトを生成します。
インスタンスプロパティ
Intl.Locale..baseName
この
Locale
に関する基本的な情報を、完全なデータ文字列の部分文字列の形で返します。Intl.Locale..calendar
このロケールの暦年を示す
Locale
の部分を返します。Intl.Locale..calendars
ロケールの規則に従い、利用可能なカレンダー識別子の
Array
を返します。Intl.Locale..caseFirst
ロケールの照合規則に大文字・小文字を考慮しているかどうかを返します。
Intl.Locale..collation
この
Locale
の照合の種類を返します。これは、ロケールの規則に従って文字列を並べ替えるために使用します。Intl.Locale..hourCycle
このロケールが使用している時刻保持書式の規則を返します。
Intl.Locale..hourCycles
Array
で 12 時制 ("h11", "h12") または 24 時制 ("h23", "h24") を示す時周期識別子を返します。Intl.Locale..language
このロケールに関連づけられた言語を返します。
Intl.Locale..numberingSystem
このロケールが使用している数値表記法を返します。
Intl.Locale..numberingSystems
ロケールの規則に従って利用できる数値表記法の識別子の
Array
を返します。Intl.Locale..numeric
このロケールが数字に対して特殊な照合順序を持っているかどうかを返します。
Intl.Locale..region
このロケールに関連付けられた世界の地域 (通常は国) を返します。
Intl.Locale..script
このロケールで使われている特定の言語を書く際に使用する文字体系を返します。
Intl.Locale..textInfo
ltr
(左書き)またはrtl
(右書き)で、文字の並び順を示す部分を返します。Intl.Locale..timeZones
Locale
に関連付けられたタイムゾーン識別子のArray
を返します。Intl.Locale..weekInfo
ロケールの規則に従い、 UTS 35 の週要素を返します。
インスタンスメソッド
Intl.Locale..maximize()
既存の値に基づいて、ロケールの言語、文字体系、地域の最も可能性の高い値を取得します。
Intl.Locale..minimize()
Locale.maximize()
を呼び出すことで追加されるロケールに関する情報を削除しようとします。Intl.Locale..toString()
このロケールの完全なロケール識別子文字列を返します。
例
基本的な使用
Intl.Locale
のコンストラクターは、もっとも簡単なものでは、ロケール識別子の文字列を引数に取ります。
let us = new Intl.Locale("en-US");
Locale コンストラクターの options オブジェクト付きでの使用
このコンストラクターは、オプションで構成オブジェクトの引数を取ることができます。たとえば、構成オブジェクトの hourCycle
プロパティに任意の時間サイクル種別を設定し、それをコンストラクターに渡します。
let us12hour = new Intl.Locale("en-US", { hourCycle: "h12" });
console.log(us12hour.hourCycle); // Prints "h12"
仕様書
Specification |
---|
ECMAScript® 2026 Internationalization API Specification # locale-objects |