Intl.PluralRules() Konstruktor
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.
Der Intl.PluralRules()
-Konstruktor erstellt Intl.PluralRules
-Objekte.
Syntax
Parameter
locales
Optional-
Ein String mit einem BCP 47-Sprachcode oder eine
Intl.Locale
-Instanz, oder ein Array solcher Locale-Identifikatoren. Die Standard-Locale der Laufzeitumgebung wird verwendet, wennundefined
übergeben wird oder wenn keiner der angegebenen Locale-Identifikatoren unterstützt wird. Für die allgemeine Form und Interpretation deslocales
-Arguments siehe die Parameterbeschreibung auf der Hauptseite vonIntl
. options
Optional-
Ein Objekt, das die folgenden Eigenschaften enthält, in der Reihenfolge, in der sie abgerufen werden (alle sind optional):
localeMatcher
-
Der zu verwendende Locale-Abgleichalgorithmus. Mögliche Werte sind
"lookup"
und"best fit"
; der Standardwert ist"best fit"
. Für Informationen zu dieser Option siehe Locale-Erkennung und -Verhandlung. type
-
Der zu verwendende Typ. Mögliche Werte sind:
"cardinal"
(Standard)-
Für Kardinalzahlen (die Menge von Dingen betreffend).
"ordinal"
-
Für Ordinalzahlen (die Ordnung oder Rangfolge von Dingen betreffend, z.B. "1st", "2nd", "3rd" im Englischen).
Intl.PluralRules
unterstützt auch die Zahlenoptionen vonIntl.NumberFormat()
(sieheIntl.NumberFormat()
für Details):minimumIntegerDigits
minimumFractionDigits
maximumFractionDigits
minimumSignificantDigits
maximumSignificantDigits
roundingPriority
roundingIncrement
roundingMode
Diese Optionen werden so interpretiert, als ob die
notation
-Option vonIntl.NumberFormat
"standard"
und derstyle
"decimal"
ist.
Ausnahmen
RangeError
-
Wird ausgelöst, wenn
locales
oderoptions
ungültige Werte enthalten.
Beispiele
Grundlegende Verwendung
Bei grundlegender 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. "dog" und "dogs".
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 mit dem options
-Argument angepasst werden, das eine Eigenschaft namens type
hat, die auf ordinal
gesetzt werden kann. Dies ist nützlich, um den Ordinalindikator herauszufinden, z.B. "1st", "2nd", "3rd", "4th", "42nd" und so weiter.
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
Specification |
---|
ECMAScript Internationalization API Specification # sec-intl-pluralrules-constructor |
Browser-Kompatibilität
BCD tables only load in the browser