Intl.PluralRules.prototype.resolvedOptions()
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.
The resolvedOptions() method of Intl.PluralRules instances returns a new object with properties reflecting the options computed during initialization of this PluralRules object.
Try it
const pluralRules1 = new Intl.PluralRules("uk");
const options1 = pluralRules1.resolvedOptions();
const pluralRules2 = new Intl.PluralRules("bn");
const options2 = pluralRules2.resolvedOptions();
console.log(options1.pluralCategories);
// Expected output: Array ["few", "many", "one", "other"]
console.log(options2.pluralCategories);
// Expected output: Array ["one", "other"]
Syntax
resolvedOptions()
Parameters
None.
Return value
A new object with properties reflecting the options computed during the initialization of this PluralRules object. The object has the following properties, in the order they are listed:
locale-
The BCP 47 language tag for the locale actually used, determined by the locale negotiation process. No Unicode extension key will be included in the output.
type-
The value provided for this property in the
optionsargument, with default filled in as needed. It is either"cardinal"or"ordinal". The default is"cardinal". minimumIntegerDigits,minimumFractionDigits,maximumFractionDigitsOptional-
The value provided for these properties in the
optionsargument, with defaults filled in as needed. These properties are present only if neitherminimumSignificantDigitsnormaximumSignificantDigitswas provided in theoptionsargument. minimumSignificantDigits,maximumSignificantDigitsOptional-
The value provided for these properties in the
optionsargument, with defaults filled in as needed. These properties are present only if at least one of them was provided in theoptionsargument. pluralCategories-
An
Arrayof plural categories used by the given locale, selected from the list"zero","one","two","few","many"and"other". roundingIncrement-
The value provided for this property in the
optionsargument, with default filled in as needed. It is one of1,2,5,10,20,25,50,100,200,250,500,1000,2000,2500, and5000. The default is1. roundingMode-
The value provided for this property in the
optionsargument, with default filled in as needed. It is one of"ceil","floor","expand","trunc","halfCeil","halfFloor","halfExpand","halfTrunc", and"halfEven". The default is"halfExpand". roundingPriority-
The value provided for this property in the
optionsargument, with default filled in as needed. It is either"auto","morePrecision", or"lessPrecision". The default is"auto". trailingZeroDisplay-
The value provided for this property in the
optionsargument, with default filled in as needed. It is either"auto"or"stripIfInteger". The default is"auto".
Examples
>Using the resolvedOptions() method
The code below shows the construction of a PluralRules object, followed by logging of each of the resolved options.
// Create a PluralRules instance
const de = new Intl.PluralRules("de-DE", {
maximumSignificantDigits: 2,
trailingZeroDisplay: "auto",
});
// Resolve the options
const usedOptions = de.resolvedOptions();
console.log(usedOptions.locale); // "de-DE"
console.log(usedOptions.pluralCategories); // Array ["one", "other"]
console.log(usedOptions.type); // "cardinal"
console.log(usedOptions.minimumIntegerDigits); // 1
console.log(usedOptions.minimumFractionDigits); // undefined (maximumSignificantDigits is set)
console.log(usedOptions.maximumFractionDigits); // undefined (maximumSignificantDigits is set)
console.log(usedOptions.minimumSignificantDigits); // 1
console.log(usedOptions.maximumSignificantDigits); // 2
console.log(usedOptions.roundingIncrement); // 1
console.log(usedOptions.roundingMode); // "halfExpand"
console.log(usedOptions.roundingPriority); // "auto"
console.log(usedOptions.trailingZeroDisplay); // "auto"
Specifications
| Specification |
|---|
| ECMAScript® 2026 Internationalization API Specification> # sec-intl.pluralrules.prototype.resolvedoptions> |
Browser compatibility
Loading…