JEP 252: Use CLDR Locale Data by Default
|Status||Closed / Delivered|
|Component||core-libs / java.util:i18n|
|Discussion||i18n dash dev at openjdk dot java dot net|
|Reviewed by||Brian Goetz|
|Endorsed by||Brian Goetz|
Use locale data from the Unicode Consortium's Common Locale Data Repository (CLDR) by default.
The Unicode Consortium's Common Locale Data Repository is the de-facto
standard for locale data on many platforms. Although CLDR locale data is
bundled with the JRE as of JDK 8, it is not enabled by default. To turn
it on, the end user must explicitly set the system property
By enabling the use of CLDR data by default, de-facto standard locale data will be provided to users without any further action on their part.
Insert CLDR at the front of the default implicit LocaleProviderAdapter preference list.
The default lookup order will be CLDR, JRE, SPI. If a particular
provider cannot offer the requested locale data, the search will proceed
to the next provider in order. Localized patterns for the formatting and
translation of display strings, such as the locale name, may be different
in some locales. To enable behavior compatible with JDK 8, set the
java.locale.providers to a value with JRE ahead of
Locale-sensitive services such as date, time, and number formatting may behave differently for locales not supported in JDK 8. Existing tests and applications will need to be modified.
Risks and Assumptions
We cannot be responsible for the validity of the data coming from CLDR; we assume that it is "good data".