Intl.PluralRules() コンストラクター
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2019.
Intl.PluralRules()
コンストラクターは Intl.PluralRules
オブジェクトを作成します。
構文
new Intl.PluralRules();
new Intl.PluralRules(locales);
new Intl.PluralRules(locales, options);
引数
locales
省略可-
BCP 47 言語タグの文字列、またはそのような文字列の配列です。
locales
引数の一般的な形式と解釈ついては、 Intl のページを参照してください。 options
省略可-
以下のプロパティの全部または一部を持つオブジェクトです。
localeMatcher
-
使用するロケールの照合アルゴリズムです。指定可能な値は "
lookup
" および "best fit
" で、既定値は "best fit
" です。このオプションの詳細は、 Intl のページを参照してください。 type
-
使用する種別です。指定可能な値は次の通りです。
- "
cardinal
" は基数です(物の数量を表します)。これが既定値です。 - "
ordinal
" は序数です(物事の順序や順位を表します。たとえば英語では "1st", "2nd", "3rd" です)。
- "
以下のプロパティは 2 つのグループに分けられます。
minimumIntegerDigits
,minimumFractionDigits
,maximumFractionDigits
が 1 つのグループで、minimumSignificantDigits
とmaximumSignificantDigits
がもう一方です。第 2 のグループから 1 つでもプロパティが定義されると、第 1 のグループは無視されます。minimumIntegerDigits
-
使用する整数部の最小桁数です。取りうる値は 1 から 21 までです。既定値は 1 です。
minimumFractionDigits
-
使用する小数部の最小桁数です。取りうる値は 0 から 20 までです。通常の数とパーセントの形式の既定値は 0 です。通貨形式の既定値は、 ISO 4217 通貨コードリストで提供される下位単位の桁数です(リストに情報がない場合は 2 です)。
maximumFractionDigits
-
使用する小数部の最大桁数です。取りうる値は 0 から 20 までです。通常の数の形式では既定値は
minimumFractionDigits
と 3 の大きい方です。通貨形式の既定値は、minimumFractionDigits
と ISO 4217 通貨コードリストで提供される下位単位の桁数(リストに情報がない場合は 2)の大きい方です。パーセント形式の既定値は、minimumFractionDigits
と 0 の大きい方です。 minimumSignificantDigits
-
使用する有効数字の最小桁数です。使用可能な値は 1 から 21 までです。既定値は 1 です。
maximumSignificantDigits
-
使用する有効数字の最大桁数です。使用可能な値は 1 から 21 までです。既定値は 21 です。
例
基本的な使い方
ロケールを指定しない基本的な使い方では、既定のロケールと既定のオプションで書式化された文字列が返されます。これは、例えば "dog" と "dogs" のように単数形と複数形を区別するのに便利です。
var pr = new Intl.PluralRules();
pr.select(0);
// → 'other' (アメリカ英語のロケールの場合)
pr.select(1);
// → 'one' (アメリカ英語のロケールの場合)
pr.select(2);
// → 'other' (アメリカ英語のロケールの場合)
options の使用
引数 options
には type
というプロパティがあり、ordinal
に設定することで結果をカスタマイズすることができます。これは、例えば "1st", "2nd", "3rd", "4th", "42nd" などのように、序数を把握するのに便利です。
var pr = new Intl.PluralRules("en-US", { type: "ordinal" });
const suffixes = new Map([
["one", "st"],
["two", "nd"],
["few", "rd"],
["other", "th"],
]);
const formatOrdinals = (n) => {
const rule = pr.select(n);
const suffix = suffixes.get(rule);
return `${n}${suffix}`;
};
formatOrdinals(0); // '0th'
formatOrdinals(1); // '1st'
formatOrdinals(2); // '2nd'
formatOrdinals(3); // '3rd'
formatOrdinals(4); // '4th'
formatOrdinals(11); // '11th'
formatOrdinals(21); // '21st'
formatOrdinals(42); // '42nd'
formatOrdinals(103); // '103rd'
仕様書
Specification |
---|
ECMAScript Internationalization API Specification # sec-intl-pluralrules-constructor |
ブラウザーの互換性
BCD tables only load in the browser