A Implementation Dependent Behaviour
The following aspects of the ECMAScript 2023 Internationalization API Specification are implementation dependent:
-
In all functionality:
-
Additional values for some properties of options arguments ()
-
The default locale ()
-
The default time zone ()
-
The set of available locales for each constructor ()
-
The BestFitMatcher algorithm ()
-
The BestFitSupportedLocales algorithm ()
-
In Collator:
-
Support for the Unicode extensions keys "kf", "kn" and the parallel options properties "caseFirst", "numeric" ()
-
The set of supported "co" key values (collations) per locale beyond a default collation ()
-
The set of supported "kf" key values (case order) per locale ()
-
The set of supported "kn" key values (numeric collation) per locale ()
-
The default search sensitivity per locale ()
-
The sort order for each supported locale and options combination ()
- In DateTimeFormat:
-
The BestFitFormatMatcher algorithm ()
-
The set of supported "ca" key values (calendars) per locale ()
-
The set of supported "nu" key values (numbering systems) per locale ()
-
The default hourCycle setting per locale ()
-
The set of supported date-time formats per locale beyond a core set, including the representations used for each component and the associated patterns ()
-
Localized weekday names, era names, month names, day period names, am/pm indicators, and time zone names ()
-
The calendric calculations used for calendars other than "gregory", and adjustments for local time zones and daylight saving time ()
-
The set of all known registered Zone and Link names of the IANA Time Zone Database and the information about their offsets from UTC and their daylight saving time rules ()
-
In DisplayNames:
-
In ListFormat:
-
The patterns used for formatting values ()
-
In Locale:
-
Support for the Unicode extensions keys "kf", "kn" and the parallel options properties "caseFirst", "numeric" ()
-
In NumberFormat:
-
The set of supported "nu" key values (numbering systems) per locale ()
-
The patterns used for formatting values as decimal, percent, currency, or unit values per locale, with or without the sign, with or without accounting format for currencies, and in standard, compact, or scientific notation ()
-
Localized representations of NaN and Infinity ()
-
The implementation of numbering systems not listed in ()
-
Localized decimal and grouping separators ()
-
Localized plus and minus signs ()
-
Localized digit grouping schemata ()
-
Localized magnitude thresholds for compact notation ()
-
Localized symbols for compact and scientific notation ()
-
Localized narrow, short, and long currency symbols and names ()
-
Localized narrow, short, and long unit symbols ()
-
Localized range separator symbol ()
-
The FormatApproximately algorithm and the localized approximately sign ()
-
The CollapseNumberRange algorithm ()
-
In PluralRules:
-
List of Strings representing the possible results of plural selection and their corresponding order per locale. ()
-
The PluralRuleSelect algorithm ()
-
The PluralRuleSelectRange algorithm ()
-
In RelativeTimeFormat:
-
The set of supported "nu" key values (numbering systems) per locale ()
-
The patterns used for formatting values ()
-
In Segmenter:
-
Boundary determination algorithms ()
-
Classification of segments as "word-like" ()
B Additions and Changes That Introduce Incompatibilities with Prior Editions
-
, , In ECMA-402, 1st Edition, constructors could be used to create Intl objects from arbitrary objects. This is no longer possible in 2nd Edition.
-
In ECMA-402, 1st Edition, the "length" property of the function object F was set to +0𝔽. In 2nd Edition, "length" is set to 1𝔽.
-
In ECMA-402, 7th Edition, the @@toStringTag property of
Intl.Collator.prototype
was set to "Object". In 8th Edition, @@toStringTag is set to "Intl.Collator".
-
In ECMA-402, 7th Edition, the @@toStringTag property of
Intl.DateTimeFormat.prototype
was set to "Object". In 8th Edition, @@toStringTag is set to "Intl.DateTimeFormat".
-
In ECMA-402, 7th Edition, the @@toStringTag property of
Intl.NumberFormat.prototype
was set to "Object". In 8th Edition, @@toStringTag is set to "Intl.NumberFormat".
-
In ECMA-402, 7th Edition, the @@toStringTag property of
Intl.PluralRules.prototype
was set to "Object". In 8th Edition, @@toStringTag is set to "Intl.PluralRules".
-
In ECMA-402, 7th Edition, the @@toStringTag property of
Intl
was not defined. In 8th Edition, @@toStringTag is set to "Intl".
-
In ECMA-402, 8th Edition, the NumberFormat constructor used to throw an error when style is "currency" and maximumFractionDigits was set to a value lower than the default fractional digits for that currency. This behaviour was corrected in the 9th edition, and it no longer throws an error.