Intl.PluralRules() Konstruktor
Baseline
Weitgehend verfügbar
*
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit September 2019 browserübergreifend verfügbar.
* Einige Teile dieser Funktion werden möglicherweise unterschiedlich gut unterstützt.
Der Intl.PluralRules() Konstruktor erstellt Intl.PluralRules Objekte.
Syntax
new Intl.PluralRules()
new Intl.PluralRules(locales)
new Intl.PluralRules(locales, options)
Parameter
localesOptional-
Ein String mit einem BCP 47 Sprach-Tag oder eine
Intl.LocaleInstanz, oder ein Array solcher Locale-Kennungen. Die Standard-Locale der Laufzeitumgebung wird verwendet, wennundefinedübergeben wird oder keine der angegebenen Locale-Kennungen unterstützt wird. Für die allgemeine Form und Interpretation deslocalesArguments siehe die Parameterbeschreibung auf derIntlHauptseite. optionsOptional-
Ein Objekt, das die folgenden Eigenschaften enthält, in der Reihenfolge, in der sie abgerufen werden (alle optional):
localeMatcher-
Der zu verwendende Locale-Abgleichsalgorithmus. Mögliche Werte sind
"lookup"und"best fit"; der Standardwert ist"best fit". Für Informationen zu dieser Option siehe Locale-Identifikation und -Aushandlung. type-
Der zu verwendende Typ. Mögliche Werte sind:
"cardinal"(Standard)-
Für Kardinalzahlen (bezieht sich auf die Menge der Dinge).
"ordinal"-
Für Ordinalzahlen (bezieht sich auf die Reihenfolge oder Rangfolge von Dingen, z. B. "1st", "2nd", "3rd" im Englischen).
Intl.PluralRulesunterstützt auch die Zahlenoptionen vonIntl.NumberFormat()(sieheIntl.NumberFormat()für Details):minimumIntegerDigitsminimumFractionDigitsmaximumFractionDigitsminimumSignificantDigitsmaximumSignificantDigitsroundingPriorityroundingIncrementroundingMode
Diese Optionen werden interpretiert, als ob die
notation-Option vonIntl.NumberFormat"standard"undstyle"decimal"ist.
Ausnahmen
RangeError-
Wird ausgelöst, wenn
localesoderoptionsungültige Werte enthalten.
Beispiele
>Grundlegende Verwendung
Bei der grundlegenden Verwendung ohne Angabe einer Locale wird ein formatierter String in der Standard-Locale und mit Standardoptionen zurückgegeben. Dies ist nützlich, um zwischen Singular- und Pluralformen zu unterscheiden, z. B. "Hund" und "Hunde".
const pr = new Intl.PluralRules();
pr.select(0); // 'other' if in US English locale
pr.select(1); // 'one' if in US English locale
pr.select(2); // 'other' if in US English locale
Verwendung von Optionen
Die Ergebnisse können mithilfe des options Arguments angepasst werden, das eine Eigenschaft namens type hat, die Sie auf ordinal setzen können. Dies ist nützlich, um den Ordnungsindikator herauszufinden, z. B. "1st", "2nd", "3rd", "4th", "42nd" usw.
const 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'
Spezifikationen
| Spezifikation |
|---|
| ECMAScript® 2027 Internationalization API Specification> # sec-intl-pluralrules-constructor> |