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

View in English Always switch to English

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"

構文

js
new Intl.Locale(tag)
new Intl.Locale(tag, options)

メモ: Intl.Locale()new 付きでないと構築できません。new なしで呼び出そうとすると TypeError が発生します。

引数

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() コンストラクターはロケール識別子の文字列を引数に取ります。

js
const us = new Intl.Locale("en-US");

Locale コンストラクターに options オブジェクトを渡して使用

コンストラクターには、オプションで構成オブジェクトの引数を取ることができ、そこに複数の拡張型を指定することができます。たとえば、設定オブジェクトの hourCycle プロパティに任意の時間周期を設定し、それをコンストラクターに渡します。

js
const locale = new Intl.Locale("en-US", { hourCycle: "h12" });
console.log(locale.hourCycle); // "h12"

仕様書

仕様書
ECMAScript® 2027 Internationalization API Specification
# sec-intl-locale-constructor

ブラウザーの互換性

関連情報