-
Notifications
You must be signed in to change notification settings - Fork 5.4k
Description
Description
Console.WriteLine(new CultureInfo("zh-Hans").EnglishName);
Console.WriteLine(new CultureInfo("zh-Hant").EnglishName);Prints Chinese (Simplified) and Chinese (Traditional) on .NET Framework, and prints Chinese on .NET 5 (ICU).
This isn't specific to Chinese. Any languages with scripting variation (for example uz-Arab/uz-Cyrl/uz-Latn) are missing it.
This is also not specific to English name. NativeName and DisplayName have the issue too.
Configuration
Windows 10 19043.1110
Windows 11 22000.71
.NET Framework 4.8
.NET 5.0.8
.NET 6.0.0-preview6
Regression?
It should be treated as a regression for ICU, because it's somehow wrong that these cultures are not distinguishable by display names.
Other information
https://github.com/unicode-org/icu/blob/ac51a1921fae45982907bc0d22c9e4a59325ec4c/icu4c/source/data/lang/en.txt#L657-L659
https://github.com/unicode-org/icu/blob/ac51a1921fae45982907bc0d22c9e4a59325ec4c/icu4c/source/data/lang/zh.txt#L554-L556
The icu source data looks capable for Chinese variations, but not for every culture returned by CultureInfo.GetCultures(CultureTypes.NeutralCultures).