Intl.Locale.prototype.minimize()
Intl.Locale.prototype.minimize()
メソッドは、 Locale.maximize()
を呼び出したことで追加されるロケールに関する情報を削除しようとします。
試してみましょう
構文
minimize()
返値
Locale
インスタンスで、 baseName
プロパティが、 Remove Likely Subtags アルゴリズムを locale.baseName
に対して実行された結果になったものを返します。
解説
このメソッドは maximize()
の逆の処理を行い、ロケールの言語識別子 (基本的には baseName
の内容) から言語、文字体系、地域のサブタグをすべて削除します。これは、言語識別子の中に余分なサブタグがある場合に便利です。例えば "en-Latn" は "en" に簡略化できます。英語では "Latn" が書き言葉に使われる唯一の文字体系だからです。 minimize()
が影響を与えるのは、言語識別子を構成する主要なサブタグである言語、文字体系、地域の各サブタグのみです。ロケール識別子の "-u" の後にあるその他のサブタグは拡張サブタグと呼ばれ、 minimize()
メソッドの影響を受けません。これらのサブタグの例としては、Locale.hourCycle
、Locale.calendar
、Locale.numeric
などがあります。
例
minimize の使用
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