<i18n dev> RFR: [8u] JDK-8218781: Localized names for Japanese Era Reiwa in COMPAT provider
Steven R. Loomis
srl at icu-project.org
Fri Jul 5 18:30:51 UTC 2019
[Resend from the correct address…]
Hi all,
For what it’s worth,
CLDR itself doesn’t usually ‘backport’ data. (So there’s no CLDR source for such a backport.) I don’t know if CLDR has ever released a dot release for a release past the last released major version.
FYI, For ICU, what we did (for a large number of releases) is a very specific spot fix of the locale data.
- icu4j changes for 56.2 including binary data locale blob change: https://github.com/unicode-org/icu/commit/b5999f7e7fa54c4f0fb9e9cd5e80095bb27eea32 <https://github.com/unicode-org/icu/commit/b5999f7e7fa54c4f0fb9e9cd5e80095bb27eea32>
- icu4c changes for 56.2 including textual changes to the intermediate format: https://github.com/unicode-org/icu/commit/71763fa0419ab0205b50f3c0327f17d3d9a8cf43 <https://github.com/unicode-org/icu/commit/71763fa0419ab0205b50f3c0327f17d3d9a8cf43>
Example:
https://github.com/unicode-org/icu/commit/71763fa0419ab0205b50f3c0327f17d3d9a8cf43#diff-2990754f360524737be2791c1ab20e94R2384 <https://github.com/unicode-org/icu/commit/71763fa0419ab0205b50f3c0327f17d3d9a8cf43#diff-2990754f360524737be2791c1ab20e94R2384> ( change for Japanese )
--
Steven R. Loomis | @srl295 | git.io/srl295
> El jul. 5, 2019, a las 10:49 a. m., Andrew John Hughes <gnu.andrew at redhat.com> escribió:
>
>
>
> On 05/07/2019 17:52, Severin Gehwolf wrote:
>> Hi Andrew,
>>
>> On Fri, 2019-06-21 at 16:46 +0100, Andrew John Hughes wrote:
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8218781
>>> Webrev: https://cr.openjdk.java.net/~andrew/openjdk8/8218781/webrev.01/
>>>
>>> OpenJDK 8u uses an older version of the CLDR data to 9, and is thus
>>> missing a number of locale data files updated by the original version of
>>> 8218781. Thus, some chunks are absent from the 8u backport.
>>
>> Ugh, the JDK 13 fix got pushed via 8219781 :( No wonder I wasn't
>> finding anything.
>>
>
> Ah, so it wasn't a typo on my part in 8u.
>
>> Hmm, there is no COMPAT provider in JDK 8u. That's JDK 9 onwards. See:
>> https://bugs.openjdk.java.net/browse/JDK-8062006
>>
>> In JDK 8u -Djava.locale.providers=COMPAT (as used in the test[1]) will
>> result in the default list, which is JRE,SPI as far as I can see.
>>
>
> Yes, it's effectively redundant. I guess we could remove it but it then
> creates divergence.
>
>>> In most cases, this actually makes no difference in testing, because the
>>> locale data files for hr, in, lt, nl and sv simply duplicate the English
>>> values. Thus, the only ones that fail the test are no (uses a short era
>>> of "R") and sr_Latn ("Reiva").
>>
>> Right, but why intentionally introduce test failures? I'm worried about
>> signal vs. noise here.
>>
>>> I propose that we apply 8218781 for the locales we have now, and look at
>>> backporting updated CLDR data for 8u232 or 8u242. The updates -
>>> primarily JDK-8008577 - are tied up with configuration changes which we
>>> don't want to import to 8, so a backport will require some work and
>>> significant testing.
>>>
>>> In short, please review this patch, taking into consideration that some
>>> locales will be absent and that data is duplicated for others
>>> (JDK-8159943, not in 8u, makes the short and long eras use a shared
>>> variable where they are identical)
>>
>> Have you considered something like this patch so as to avoid the test
>> failures and then re-enable them once a fix comes in?
>>
>
> That seems like a good way to make sure it doesn't get fixed.
>
>> diff --git a/test/java/util/Calendar/JapanEraNameCompatTest.java b/test/java/util/Calendar/JapanEraNameCompatTest.java
>> --- a/test/java/util/Calendar/JapanEraNameCompatTest.java
>> +++ b/test/java/util/Calendar/JapanEraNameCompatTest.java
>> @@ -96,12 +96,12 @@
>> { new Locale("hi", "IN"), HindiName, HindiName },
>> { new Locale("ru"), RussianName, RussianName },
>> { new Locale("sr"), SerbianName, SerbianName },
>> - { Locale.forLanguageTag("sr-Latn"), SerbLatinName, SerbLatinName },
>> + //{ Locale.forLanguageTag("sr-Latn"), SerbLatinName, SerbLatinName },
>> { new Locale("hr"), EngName, EngName },
>> { new Locale("in"), EngName, EngName },
>> { new Locale("lt"), EngName, EngName },
>> { new Locale("nl"), EngName, EngName },
>> - { new Locale("no"), EngName, "R" },
>> + //{ new Locale("no"), EngName, "R" },
>> { new Locale("sv"), EngName, EngName },
>> // el fallback to root
>> { new Locale("el"), EngName, EngName }
>>
>> This would make it more apparent that it's intentional. Perhaps filing
>> a bug that it's not a complete fix would be even better. Thoughts?
>>
>
> As I said, the intention is to look at the viability of backporting the
> updated CLDR data. There are already bugs for that.
>
>> Thanks,
>> Severin
>>
>> [1] http://hg.openjdk.java.net/jdk8u/jdk8u/jdk/file/35818757a9c6/test/java/util/Calendar/JapanEraNameCompatTest.java#l29
>>
>
> --
> Andrew :)
>
> Senior Free Java Software Engineer
> Red Hat, Inc. (http://www.redhat.com)
>
> PGP Key: ed25519/0xCFDA0F9B35964222 (hkp://keys.gnupg.net)
> Fingerprint = 5132 579D D154 0ED2 3E04 C5A0 CFDA 0F9B 3596 4222
> https://keybase.io/gnu_andrew
>
More information about the jdk8u-dev
mailing list