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 2020年9月.
Intl.Locale.prototype.minimize()
メソッドは、 Locale.maximize()
を呼び出したことで追加されるロケールに関する情報を削除しようとします。
試してみましょう
const english = new Intl.Locale("en-Latn-US");
const korean = new Intl.Locale("ko-Kore-KR");
const arabic = new Intl.Locale("ar-Arab-EG");
console.log(english.minimize().baseName);
// Expected output: "en"
console.log(korean.minimize().baseName);
// Expected output: "ko"
console.log(arabic.minimize().baseName);
// Expected output: "ar"
構文
js
minimize();
返値
Locale
インスタンスで、 baseName
プロパティが、 Remove Likely Subtags アルゴリズムを locale.baseName
に対して実行された結果になったものを返します。
解説
このメソッドは maximize()
の逆の処理を行い、ロケールの言語識別子 (基本的には baseName
の内容) から言語、文字体系、地域のサブタグをすべて削除します。これは、言語識別子の中に余分なサブタグがある場合に便利です。例えば "en-Latn" は "en" に簡略化できます。英語では "Latn" が書き言葉に使われる唯一の文字体系だからです。 minimize()
が影響を与えるのは、言語識別子を構成する主要なサブタグである言語、文字体系、地域の各サブタグのみです。ロケール識別子の "-u" の後にあるその他のサブタグは拡張サブタグと呼ばれ、 minimize()
メソッドの影響を受けません。これらのサブタグの例としては、Locale.hourCycle
、Locale.calendar
、Locale.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® 2026 Internationalization API Specification> # sec-Intl.Locale.prototype.minimize> |
ブラウザーの互換性
Loading…