Intl.Locale.prototype.minimize()

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.

Intl.Locale.prototype.minimize() メソッドは、 Locale.maximize() を呼び出したことで追加されるロケールに関する情報を削除しようとします。

試してみましょう

構文

js
minimize();

返値

Locale インスタンスで、 baseName プロパティが、 Remove Likely Subtags アルゴリズムを locale.baseName に対して実行された結果になったものを返します。

解説

このメソッドは maximize() の逆の処理を行い、ロケールの言語識別子 (基本的には baseName の内容) から言語、文字体系、地域のサブタグをすべて削除します。これは、言語識別子の中に余分なサブタグがある場合に便利です。例えば "en-Latn" は "en" に簡略化できます。英語では "Latn" が書き言葉に使われる唯一の文字体系だからです。 minimize() が影響を与えるのは、言語識別子を構成する主要なサブタグである言語、文字体系、地域の各サブタグのみです。ロケール識別子の "-u" の後にあるその他のサブタグは拡張サブタグと呼ばれ、 minimize() メソッドの影響を受けません。これらのサブタグの例としては、Locale.hourCycleLocale.calendarLocale.numeric などがあります。

minimize の使用

js
let myLocale = new Intl.Locale("ja-Jpan-JP", {
  hourCycle: "h24",
  calendar: "gregory",
});
console.log(myLocale.baseName); // "ja-Jpan-JP" と表示
console.log(myLocale.toString()); // "ja-Jpan-JP-u-ca-gregory-hc-h24" と表示

let myLocMinimized = myLocale.minimize();

// "ja" のみを表示します。日本語は主に漢字かな交じり文 (Jpan) で
// 表記され、またほとんど日本で話されているためです。
console.log(myLocMinimized.baseName);

// "ja-u-ca-gregory-hc-h24" と表示します。
// なお、拡張タグ ("-u" 以降) はそのまま残ります。
console.log(myLocMinimized.toString());

仕様書

Specification
ECMAScript Internationalization API Specification
# sec-Intl.Locale.prototype.minimize

ブラウザーの互換性

BCD tables only load in the browser

関連情報