Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[mono] Browser's ICU limitations #39285

Closed
EgorBo opened this issue Jul 14, 2020 · 9 comments
Closed

[mono] Browser's ICU limitations #39285

EgorBo opened this issue Jul 14, 2020 · 9 comments
Assignees
Labels
arch-wasm WebAssembly architecture area-System.Globalization documentation Documentation bug or enhancement, does not impact product or test code
Milestone

Comments

@EgorBo
Copy link
Member

EgorBo commented Jul 14, 2020

We use a stripped version of ICU data file. The default size is ~30Mb (or ~5mb after compression) - we reduced it down to 1.39Mb (or ~302kb compressed) by removing some features we don't need to can give up on. The main filter file is located here: https://github.com/dotnet/icu/blob/maint/maint-67/icu-filters/optimal.json

Here is a list of known limitations:

  • CultureInfo.EnglishName returns "locale" as a name, e.g. "en (US)" instead of "English (United States)"
  • CultureInfo.NativeName returns "locale" as a name, e.g. "ru (RU)" instead of "русский (Россия)"
  • List of supported locales is limited (see list here).
  • DateTimeFormatInfo.NativeCalendarName is not supported.
  • RegionInfo.NativeName returns a short name e.g. "US" instead of "United States" etc.
  • String.Normalize and String.IsNormalized don't support rarely used NormalizationForm.FormKC and NormalizationForm.FormKD forms.
  • RegionInfo.CurrencyNativeName is not supported, it returns CurrencyEnglishName instead, e.g. new RegionInfo("ru-RU").CurrencyNativeName: "Russian Ruble" instead of "рубль".
@EgorBo EgorBo added arch-wasm WebAssembly architecture area-System.Globalization labels Jul 14, 2020
@ghost
Copy link

ghost commented Jul 14, 2020

Tagging subscribers to this area: @tarekgh, @safern, @krwq
Notify danmosemsft if you want to be subscribed.

@ericstj ericstj added the untriaged New issue has not been triaged by the area owner label Jul 14, 2020
@safern safern added this to the 5.0.0 milestone Jul 14, 2020
@safern safern removed the untriaged New issue has not been triaged by the area owner label Jul 14, 2020
@steveisok
Copy link
Member

@EgorBo Since we hit a good spot w/ ICU, please update.

@marek-safar marek-safar added the tracking This issue is tracking the completion of other related issues. label Jul 30, 2020
@EgorBo
Copy link
Member Author

EgorBo commented Aug 15, 2020

@steveisok updated the description.

@safern
Copy link
Member

safern commented Aug 16, 2020

@EgorBo might be worth adding these browser limitations into this doc? https://docs.microsoft.com/en-us/dotnet/standard/globalization-localization/globalization-icu

@safern
Copy link
Member

safern commented Aug 24, 2020

@EgorBo @steveisok should we add the list of limitations to the docs I shared above and close this?

@steveisok
Copy link
Member

Yeah, I think that’s fine

@marek-safar marek-safar added documentation Documentation bug or enhancement, does not impact product or test code and removed tracking This issue is tracking the completion of other related issues. labels Sep 3, 2020
@marek-safar
Copy link
Contributor

@EgorBo could you please update the documentation page (hit Edit there)

@steveisok
Copy link
Member

@EgorBo Since this is for .NET 5, please update the docs so that we can close the issue.

@safern
Copy link
Member

safern commented Sep 30, 2020

This was fixed by: dotnet/docs#20830.

Thanks, @EgorBo

@safern safern closed this as completed Sep 30, 2020
@ghost ghost locked as resolved and limited conversation to collaborators Dec 8, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
arch-wasm WebAssembly architecture area-System.Globalization documentation Documentation bug or enhancement, does not impact product or test code
Projects
None yet
Development

No branches or pull requests

5 participants