Constructeur Intl.PluralRules()
Baseline
Large disponibilité
*
Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis septembre 2019.
* Certaines parties de cette fonctionnalité peuvent bénéficier de prise en charge variables.
Le constructeur Intl.PluralRules() permet de créer des objets Intl.PluralRules.
Syntaxe
new Intl.PluralRules()
new Intl.PluralRules(locales)
new Intl.PluralRules(locales, options)
Paramètres
localesFacultatif-
Une chaîne de caractères avec une balise de langue BCP 47 ou une instance de
Intl.Locale, ou un tableau de tels identifiants de locale. La locale par défaut de l'environnement d'exécution est utilisée lorsqueundefinedest passé ou lorsqu'aucun des identifiants de locale définis n'est pris en charge. Pour la forme générale et l'interprétation de l'argumentlocales, voir la description du paramètre sur la page principale deIntl. optionsFacultatif-
Un objet contenant les propriétés suivantes, dans l'ordre dans lequel elles sont récupérées (toutes sont optionnelles) :
localeMatcher-
L'algorithme de correspondance de locale à utiliser. Les valeurs possibles sont
"lookup"et"best fit"; la valeur par défaut est"best fit". Pour plus d'informations sur cette option, voir Identification et négociation de la locale. type-
Le type à utiliser. Les valeurs possibles sont :
"cardinal"(par défaut)-
Pour les nombres cardinaux (se référant à la quantité de choses).
"ordinal"-
Pour les nombres ordinaux (se référant à l'ordre ou au classement des choses, par exemple « 1er », « 2e », « 3e » en français).
Intl.PluralRulesprend également en charge les options de chiffres deIntl.NumberFormat()(voirIntl.NumberFormat()pour plus de détails) :minimumIntegerDigitsminimumFractionDigitsmaximumFractionDigitsminimumSignificantDigitsmaximumSignificantDigitsroundingPriorityroundingIncrementroundingMode
Ces options sont interprétées comme si l'option
notationdeIntl.NumberFormatétait"standard"etstyleétait"decimal".
Exceptions
RangeError-
Levée si
localesouoptionscontiennent des valeurs invalides.
Exemples
>Utilisation simple
Utilisé simplement sans fournir de locale, une chaîne de caractères formatée dans la locale par défaut et avec les options par défaut est retournée. Cela permet de distinguer les formes du singulier et du pluriel, par exemple « chien » et « chiens ».
const pr = new Intl.PluralRules();
pr.select(0); // 'autre' si en anglais américain
pr.select(1); // 'un' si en anglais américain
pr.select(2); // 'autre' si en anglais américain
Utiliser options
Les résultats peuvent être personnalisés avec l'argument options qui possède une propriété type qu'on peut fixer à ordinal. Cela s'avère utile pour déterminer l'indicateur ordinal (par exemple en anglais où il y a des variations entre « 1st », « 2nd », « 3rd », « 4th », « 42nd » et ainsi de suite).
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'
Spécifications
| Spécification |
|---|
| ECMAScript® 2027 Internationalization API Specification> # sec-intl-pluralrules-constructor> |
Compatibilité des navigateurs
Voir aussi
- L'objet
Intl.PluralRules - L'objet
Intl