microsoft / referencesource

Source from the Microsoft .NET Reference Source that represent a subset of the .NET Framework
https://referencesource.microsoft.com/
MIT License
3.13k stars 1.26k forks source link

CultureInfo and Pluralization are broken. What is the main reason for doing this? #157

Open Ark-kun opened 2 years ago

Ark-kun commented 2 years ago

Why does .Net Framework erase Chinese and Macedonian?

https://github.com/microsoft/referencesource/blob/5697c29004a34d80acdaf5742d7e699022c64ecd/System/compmod/system/componentmodel/CultureInfoConverter.cs#L373

https://github.com/microsoft/referencesource/blob/5697c29004a34d80acdaf5742d7e699022c64ecd/System/compmod/system/componentmodel/CultureInfoConverter.cs#L481

https://github.com/microsoft/referencesource/blob/5697c29004a34d80acdaf5742d7e699022c64ecd/System/compmod/system/componentmodel/CultureInfoConverter.cs#L482

Why break the pluralization?

https://github.com/microsoft/referencesource/blob/5697c29004a34d80acdaf5742d7e699022c64ecd/System.Data.Entity.Design/System/Data/Entity/Design/PluralizationService/EnglishPluralizationService.cs#L133

https://github.com/microsoft/referencesource/blob/5697c29004a34d80acdaf5742d7e699022c64ecd/System.Data.Entity.Design/System/Data/Entity/Design/PluralizationService/EnglishPluralizationService.cs#L147

https://github.com/microsoft/referencesource/blob/5697c29004a34d80acdaf5742d7e699022c64ecd/System.Data.Entity.Design/System/Data/Entity/Design/PluralizationService/EnglishPluralizationService.cs#L149

https://github.com/microsoft/referencesource/blob/5697c29004a34d80acdaf5742d7e699022c64ecd/System.Data.Entity.Design/System/Data/Entity/Design/PluralizationService/EnglishPluralizationService.cs#L156

chassis: why? trapezium: what's wrong with geometry?

svick commented 2 years ago

I believe there is a list of forbidden words, which are removed when publishing this repository. That seems to include names of countries that other countries object to (Taiwan) or used to object to (calling the country that's now known as North Macedonia as simply Macedonia). It also includes words like "rape", which is the part that's removed from "trapezium".

Since this is reference source (i.e. not compilable code) for .Net Framework, which is more or less not actively developed anymore, I don't think it makes sense to care about this.