dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
14.97k stars 4.65k forks source link

[wasm][icu] EFIGS shard lacks currencies that it should serve #79740

Closed ilonatommy closed 1 year ago

ilonatommy commented 1 year ago

When loading EFIGS the user expects the following locales to have full information: en-*, fr-FR, es-ES, it-IT, de-DE. We are adding all locales from en family to the whitelist. However, when we are choosing what currencies to include we are limiting ourselves to:

We have 60 missing currencies and if we one day wanted to add them all, we would do this in EFIGS:

{
            "categories": ["curr_tree"],
            "rules": [
                "-/Currencies",
                "+/Currencies/USD",
                "+/Currencies/EUR",
                "+/Currencies/AED",
                "+/Currencies/AUD",
                "+/Currencies/BBD",
                "+/Currencies/BIF",
                "+/Currencies/BMD",
                "+/Currencies/BSD",
                "+/Currencies/BWP",
                "+/Currencies/BZD",
                "+/Currencies/CAD",
                "+/Currencies/CHF",
                "+/Currencies/NZD",
                "+/Currencies/XAF",
                "+/Currencies/DKK",
                "+/Currencies/XCD",
                "+/Currencies/ERN",
                "+/Currencies/FJD",
                "+/Currencies/FKP",
                "+/Currencies/GBP",
                "+/Currencies/GHS",
                "+/Currencies/GIP",
                "+/Currencies/GMD",
                "+/Currencies/GYD",
                "+/Currencies/HKD",
                "+/Currencies/ILS",
                "+/Currencies/INR",
                "+/Currencies/JMD",
                "+/Currencies/KES",
                "+/Currencies/KYD",
                "+/Currencies/LRD",
                "+/Currencies/LSL",
                "+/Currencies/MGA",
                "+/Currencies/MOP",
                "+/Currencies/MUR",
                "+/Currencies/MWK",
                "+/Currencies/MYR",
                "+/Currencies/NAD",
                "+/Currencies/NGN",
                "+/Currencies/PGK",
                "+/Currencies/PHP",
                "+/Currencies/PKR",
                "+/Currencies/RWF",
                "+/Currencies/SBD",
                "+/Currencies/SCR",
                "+/Currencies/SDG",
                "+/Currencies/SEK",
                "+/Currencies/SGD",
                "+/Currencies/SHP",
                "+/Currencies/SLL",
                "+/Currencies/SSP",
                "+/Currencies/ANG",
                "+/Currencies/TOP",
                "+/Currencies/TTD",
                "+/Currencies/TZS",
                "+/Currencies/UGX",
                "+/Currencies/VUV",
                "+/Currencies/WST",
                "+/Currencies/ZAR",
                "+/Currencies/ZMW",
                "+/Currencies/ZWL",
            ]
        }

and we would add them in the curr-root.txt. However, for today we can add in EFIGS filter these, that are already in curr_root.txt, as they are these that are most frequently used by users - 16 new.

{
            "categories": ["curr_tree"],
            "rules": [
                "-/Currencies",
                "+/Currencies/USD",
                "+/Currencies/EUR",
                "+/Currencies/AUD",
                "+/Currencies/CAD",
                "+/Currencies/CHF",
                "+/Currencies/NZD",
                "+/Currencies/DKK",
                "+/Currencies/GBP",
                "+/Currencies/HKD",
                "+/Currencies/ILS",
                "+/Currencies/INR",
                "+/Currencies/KES",
                "+/Currencies/MYR",
                "+/Currencies/PHP",
                "+/Currencies/SEK",
                "+/Currencies/SGD",
                "+/Currencies/TZS",
                "+/Currencies/UGX",
            ]
        }
dotnet-issue-labeler[bot] commented 1 year ago

I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label.

ghost commented 1 year ago

Tagging subscribers to 'arch-wasm': @lewing See info in area-owners.md if you want to be subscribed.

Issue Details
When loading EFIGS the user expects the following locales to have full information: en-*, fr-FR, es-ES, it-IT, de-DE. We are adding all locales from en family to the whitelist. However, when we are choosing what currencies to include we are limiting ourselves to: - USD - EUR This way, the user that chose EFIGS for e,g. en-GB will most probably have to load the full `icudt.dat` data anyway, see here: https://github.com/dotnet/runtime/issues/45262#issuecomment-734820966. We have 60 missing currencies and if we one day wanted to add them all, we would do this in EFIGS: ``` { "categories": ["curr_tree"], "rules": [ "-/Currencies", "+/Currencies/USD", "+/Currencies/EUR", "+/Currencies/AED", "+/Currencies/AUD", "+/Currencies/BBD", "+/Currencies/BIF", "+/Currencies/BMD", "+/Currencies/BSD", "+/Currencies/BWP", "+/Currencies/BZD", "+/Currencies/CAD", "+/Currencies/CHF", "+/Currencies/NZD", "+/Currencies/XAF", "+/Currencies/DKK", "+/Currencies/XCD", "+/Currencies/ERN", "+/Currencies/FJD", "+/Currencies/FKP", "+/Currencies/GBP", "+/Currencies/GHS", "+/Currencies/GIP", "+/Currencies/GMD", "+/Currencies/GYD", "+/Currencies/HKD", "+/Currencies/ILS", "+/Currencies/INR", "+/Currencies/JMD", "+/Currencies/KES", "+/Currencies/KYD", "+/Currencies/LRD", "+/Currencies/LSL", "+/Currencies/MGA", "+/Currencies/MOP", "+/Currencies/MUR", "+/Currencies/MWK", "+/Currencies/MYR", "+/Currencies/NAD", "+/Currencies/NGN", "+/Currencies/PGK", "+/Currencies/PHP", "+/Currencies/PKR", "+/Currencies/RWF", "+/Currencies/SBD", "+/Currencies/SCR", "+/Currencies/SDG", "+/Currencies/SEK", "+/Currencies/SGD", "+/Currencies/SHP", "+/Currencies/SLL", "+/Currencies/SSP", "+/Currencies/ANG", "+/Currencies/TOP", "+/Currencies/TTD", "+/Currencies/TZS", "+/Currencies/UGX", "+/Currencies/VUV", "+/Currencies/WST", "+/Currencies/ZAR", "+/Currencies/ZMW", "+/Currencies/ZWL", ] } ``` + added them in the curr-root.txt. However, for today we can add in EFIGS filter these, that are already in curr_root.txt, as they are these that are most frequently used by users - 16 new. ``` { "categories": ["curr_tree"], "rules": [ "-/Currencies", "+/Currencies/USD", "+/Currencies/EUR", "+/Currencies/AUD", "+/Currencies/CAD", "+/Currencies/CHF", "+/Currencies/NZD", "+/Currencies/DKK", "+/Currencies/GBP", "+/Currencies/HKD", "+/Currencies/ILS", "+/Currencies/INR", "+/Currencies/KES", "+/Currencies/MYR", "+/Currencies/PHP", "+/Currencies/SEK", "+/Currencies/SGD", "+/Currencies/TZS", "+/Currencies/UGX", ] } ```
Author: ilonatommy
Assignees: ilonatommy
Labels: `arch-wasm`
Milestone: 8.0.0
ghost commented 1 year ago

Tagging subscribers to this area: @dotnet/area-system-globalization See info in area-owners.md if you want to be subscribed.

Issue Details
When loading EFIGS the user expects the following locales to have full information: en-*, fr-FR, es-ES, it-IT, de-DE. We are adding all locales from en family to the whitelist. However, when we are choosing what currencies to include we are limiting ourselves to: - USD - EUR This way, the user that chose EFIGS for e,g. en-GB will most probably have to load the full `icudt.dat` data anyway, see here: https://github.com/dotnet/runtime/issues/45262#issuecomment-734820966. We have 60 missing currencies and if we one day wanted to add them all, we would do this in EFIGS: ``` { "categories": ["curr_tree"], "rules": [ "-/Currencies", "+/Currencies/USD", "+/Currencies/EUR", "+/Currencies/AED", "+/Currencies/AUD", "+/Currencies/BBD", "+/Currencies/BIF", "+/Currencies/BMD", "+/Currencies/BSD", "+/Currencies/BWP", "+/Currencies/BZD", "+/Currencies/CAD", "+/Currencies/CHF", "+/Currencies/NZD", "+/Currencies/XAF", "+/Currencies/DKK", "+/Currencies/XCD", "+/Currencies/ERN", "+/Currencies/FJD", "+/Currencies/FKP", "+/Currencies/GBP", "+/Currencies/GHS", "+/Currencies/GIP", "+/Currencies/GMD", "+/Currencies/GYD", "+/Currencies/HKD", "+/Currencies/ILS", "+/Currencies/INR", "+/Currencies/JMD", "+/Currencies/KES", "+/Currencies/KYD", "+/Currencies/LRD", "+/Currencies/LSL", "+/Currencies/MGA", "+/Currencies/MOP", "+/Currencies/MUR", "+/Currencies/MWK", "+/Currencies/MYR", "+/Currencies/NAD", "+/Currencies/NGN", "+/Currencies/PGK", "+/Currencies/PHP", "+/Currencies/PKR", "+/Currencies/RWF", "+/Currencies/SBD", "+/Currencies/SCR", "+/Currencies/SDG", "+/Currencies/SEK", "+/Currencies/SGD", "+/Currencies/SHP", "+/Currencies/SLL", "+/Currencies/SSP", "+/Currencies/ANG", "+/Currencies/TOP", "+/Currencies/TTD", "+/Currencies/TZS", "+/Currencies/UGX", "+/Currencies/VUV", "+/Currencies/WST", "+/Currencies/ZAR", "+/Currencies/ZMW", "+/Currencies/ZWL", ] } ``` + add them in the curr-root.txt. However, for today we can add in EFIGS filter these, that are already in curr_root.txt, as they are these that are most frequently used by users - 16 new. ``` { "categories": ["curr_tree"], "rules": [ "-/Currencies", "+/Currencies/USD", "+/Currencies/EUR", "+/Currencies/AUD", "+/Currencies/CAD", "+/Currencies/CHF", "+/Currencies/NZD", "+/Currencies/DKK", "+/Currencies/GBP", "+/Currencies/HKD", "+/Currencies/ILS", "+/Currencies/INR", "+/Currencies/KES", "+/Currencies/MYR", "+/Currencies/PHP", "+/Currencies/SEK", "+/Currencies/SGD", "+/Currencies/TZS", "+/Currencies/UGX", ] } ```
Author: ilonatommy
Assignees: ilonatommy
Labels: `arch-wasm`, `area-System.Globalization`
Milestone: 8.0.0