JDK-8249053 : 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: 11.0.9-oracle
  • Submitted: 2020-07-08
  • Updated: 2020-07-18
  • Resolved: 2020-07-11
Related Reports
CSR :  
Relates :  
Description
Summary
-------

Remove inconsistent translations of CLDR time zone names between locales.

Problem
-------

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.

Solution
--------

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.


Specification
-------------

N/A. This change is all behavioral.


Comments
After additional discussion external to the CSR, voting to Approve.
11-07-2020

Took the liberty to modify the sentence in the compatibility risk section.
09-07-2020

Hi [~naoto], I have updated the CSR and added a release note - https://bugs.openjdk.java.net/browse/JDK-8249157. Could you please review? Thanks, Kiran
09-07-2020

I'd expect the new release note is specific for 11u.
09-07-2020

Thanks, Joe and Naoto, I will make the necessary changes. Am I allowed to update the JDK15 release note to include fix version 11.0.9-oracle?
09-07-2020

Yes. I'd put this in the release note if one exists for the next 11u release.
09-07-2020

[~naoto], do you think this change should get a release note in an 11 update if present there?
09-07-2020

Thanks, Joe, for the headsup. Just wondering backport CSRs are separate between OpenJDK nad OracleJDK? In this case 11.0.9 and 11.0.9-oracle? I see the corresponding one as JDK-8248861. As to the contents, looks like this is an exact copy of JDK15's. I would add more to the compatibility section that the risk would be higher, as the translations change within the same release.
08-07-2020

[~naoto], please review this CSR for the 11 update release; thanks.
08-07-2020

Requesting approval as without this fix, if there is a time zone update which includes new time zones, jdk11u would fail with DateTimeParseException
08-07-2020