Intl.Locale

Intl.Locale オブジェクトは、 Unicode ロケール識別子を表す Intl オブジェクトの標準組み込みプロパティです。

解説

Intl.Locale オブジェクトは、 Unicode ロケールをより簡単に操作できるようにするために作成されました。 Unicode は、ロケールをロケール識別子と呼ばれる文字列で表します。ロケール識別子は、言語識別子拡張タグから構成されます。言語識別子はロケールの中核となるもので、言語文字体系地域サブタグから構成されます。ロケールに関する追加情報は、オプションの拡張タグに格納されます。拡張タグには、暦の種類や時計の種類、数値表記法の種類などのロケールに関する情報が格納されています。

従来、 Intl API は Unicode と同様に文字列を使用してロケールを表していました。これはシンプルで軽量な解決策であり、うまく機能します。しかし、 Locale クラスを追加することで、言語、文字体系、地域、拡張タグの解析や操作が容易になります。

コンストラクター

Intl.Locale()

新しい Locale オブジェクトを生成します。

インスタンスプロパティ

Intl.Locale.prototype.baseName

この Locale に関する基本的な情報を、完全なデータ文字列の部分文字列の形で返します。

Intl.Locale.prototype.calendar

このロケールの暦年を示す Locale の部分を返します。

Intl.Locale.prototype.caseFirst

ロケールの照合規則に大文字・小文字を考慮しているかどうかを返します。

Intl.Locale.prototype.collation

この Locale の照合の種類を返します。これは、ロケールの規則に従って文字列を並べ替えるために使用します。

Intl.Locale.prototype.hourCycle

このロケールが使用している時刻保持書式の規則を返します。

Intl.Locale.prototype.language

このロケールに関連づけられた言語を返します。

Intl.Locale.prototype.numberingSystem

このロケールが使用している数値表記法を返します。

Intl.Locale.prototype.numeric

このロケールが数字に対して特殊な照合順序を持っているかどうかを返します。

Intl.Locale.prototype.region

このロケールに関連付けられた世界の地域 (通常は国) を返します。

Intl.Locale.prototype.script

このロケールで使われている特定の言語を書く際に使用する文字体系を返します。

インスタンスメソッド

Intl.Locale.prototype.maximize()

既存の値に基づいて、ロケールの言語、文字体系、地域の最も可能性の高い値を取得します。

Intl.Locale.prototype.minimize()

Locale.maximize() を呼び出すことで追加されるロケールに関する情報を削除しようとします。

Intl.Locale.prototype.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 Internationalization API Specification (ECMAScript Internationalization API)
# locale-objects

ブラウザーの互換性

BCD tables only load in the browser

関連情報