ICU locale canonicalization (and some other code) handles variants like EURO, PREEURO, and PINYIN that either we or someone else invented long ago, before we got script codes and "u" extensions added to BCP 47.
I suspect that no one uses EURO and PREEURO variants any more.
"pinyin" is a valid language subtag, but its registered meaning is "Pinyin romanization" while ICU turns it into @collation=pinyin (= -u-co-pinyin). We cannot know which one a user means, so we should probably drop this mapping.
I assume that we still need (some of?) the .Net and POSIX locale ID mappings.
In the worst case, can we keep the locale IDs locally in Android for 1-2 releases? Though I think Android is likely to be okay.
> can we keep the locale IDs locally in Android for 1-2 releases?
Either we keep them or remove them. If you find that Android needs certain locale IDs then please list them. If Android needs a short-term patch, then that's up to Android.
> If you find that Android needs certain locale IDs then please list them.
I don't have a list until we break some codes using the IDs.
>If Android needs a short-term patch, then that's up to Android.
Yes. It's likely to be short-term. Thanks for the confirmation.
The fact that ICU canonicalize
hi-direct / zh-pinyin / zh-stroke / es-ES-preeuro
hi-u-co-direct / zh-u-co-pinyin / zh-u-co-stroke / es-ES-u-cu-esp
break test262 tests for v8 to launch Intl.Locale
The tests for
The test for "zh-latn-pinyin-pinyin2": "zh-Latn-pinyin-pinyin2",
Markus = do you mind I grab this bug from you?