Skip to content

Names of CultureInfo are missing variant information #55885

@huoyaoyuan

Description

@huoyaoyuan

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).

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions