JDK-8238809 : Localized time zone name inconsistency between English and other locales
  • Type: CSR
  • Component: core-libs
  • Sub-Component: java.util:i18n
  • Priority: P3
  • Status: Closed
  • Resolution: Approved
  • Fix Versions: 15
  • Submitted: 2020-02-10
  • Updated: 2020-07-08
  • Resolved: 2020-02-11
Related Reports
CSR :  
Relates :  

Remove inconsistent translations of CLDR time zone names between locales.


CLDR may not provide the whole set (std/dst/long/short/generic) of translated names per a time zone id. For example, "Pacific/Honolulu" zone only provides SHORT names, such as "HST"/"HDT" assuming its meta zone ("Hawaii_Aleutian") contains its LONG style names. In such a case, current CLDR Converter substitutes the names from COMPAT provider, which is known to contain the whole set of names per a time zone id. However, this substitution is done only for English locale for performance reason, and other locales follow the per-name fallback (which is correct), thus there are some discrepancies between English names and other translated names.


Change the CLDR Converter for the following points:

- Stop pre-substitute the missing time zone names from COMPAT provider for English locale so that the names fallback are consistent among locales.
- Stop returning English names for Locale.ROOT. For example, SHORT names may return GMT offset format (GMT+XX:XX), rather than abbreviated names.
- Stop importing display names for the old 3-letter-ids from COMPAT except for some common ones for compatibility.

This change does not intend to modify the availability of time zone ids, only affects the formatted display names for those ids.


N/A. This change is all behavioral.

Thanks. Created an RN issue: JDK-8238914.

Approved contingent on a release note being written for this change.