JDK-8043554 : JEP 252: Use CLDR Locale Data by Default
  • Type: JEP
  • Component: core-libs
  • Sub-Component: java.util:i18n
  • Priority: P3
  • Status: Closed
  • Resolution: Delivered
  • Fix Versions: 9
  • Submitted: 2014-05-20
  • Updated: 2024-03-12
  • Resolved: 2016-02-26
Related Reports
Blocks :  
Relates :  
Relates :  
Sub Tasks
JDK-8044061 :  
JDK-8044229 :  
JDK-8044230 :  
JDK-8044231 :  
JDK-8078020 :  
Description
Summary
-------

Use locale data from the Unicode Consortium's
[Common Locale Data Repository (CLDR)][cldr] by default.

[cldr]: http://cldr.unicode.org/


Motivation
----------

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
`java.locale.providers`, e.g.:

    java.locale.providers=JRE,CLDR

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.


Description
-----------

Insert CLDR at the front of the default implicit
[LocaleProviderAdapter][lpa] preference list.

The default lookup order will be CLDR, COMPAT, SPI, where COMPAT designates the JRE's locale data in JDK 9.  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
system property `java.locale.providers` to a value with COMPAT ahead of
CLDR.


Testing
-------

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".


[lpa]: http://hg.openjdk.java.net/jdk9/jdk9/jdk/file/tip/src/java.base/share/classes/sun/util/locale/provider/LocaleProviderAdapter.java

Comments
Move "[cldr]" reference from the end to the summary section so that it is contained within the extracted summary text.
22-02-2017