[wasm][globalization] Icelandic (is / is-IS) locale is missing from all WASM ICU shards, including the full icudt.dat
- Dominant language
- C#
- Stars
- 18.3k
- Forks
- 5.6k
- PR merge metrics
- PR metrics pending
Description
### Description
On Blazor WebAssembly / browser-wasm, the Icelandic culture (is / is-IS) resolves with invariant number and date formatting, even though the full ICU dataset is loaded (BlazorWebAssemblyLoadAllGlobalizationData=true, globalizationMode: "all", full icudt.dat downloaded at runtime).
The culture name resolves correctly (CultureInfo.CurrentCulture.Name == "is-IS"), but its NumberFormatInfo / DateTimeFormatInfo fall back to invariant-ish values. Every other locale I tested (de-DE, fr-FR, es-ES, it-IT, da-DK, sv-SE, nb-NO, nl-NL, pl-PL, pt-PT, ru-RU) formats correctly.
Root cause appears to be that Icelandic is not present in the WASM ICU data at all — it is absent from the locale include-list/filter used to build the shipped ICU files. Faroese (fo / fo-FO) appears to be missing as well.
### Reproduction Steps
Create a Blazor WebAssembly app targeting net10.0 with true.
Start the app with is-IS as the culture (e.g. Blazor.start({ applicationCulture: 'is-IS' }), or set CultureInfo.CurrentCulture = new CultureInfo("is-IS") in Program.cs).
Format a number and a date:
var c = new CultureInfo("is-IS");
Console.WriteLine(1234.5m.ToString("#,0.0", c)); // number
Console.WriteLine(new DateTime(2026, 8, 21).ToString("d", c)); // short date
Console.WriteLine($"grp='{c.NumberFormat.NumberGroupSeparator}' dec='{c.NumberFormat.NumberDecimalSeparator}' shortDate='{c.DateTimeFormat.ShortDatePattern}'");
### Expected behavior
Matches desktop .NET (Windows ICU) for is-IS:
1.234,5
21.8.2026
grp='.' dec=',' shortDate='d.M.yyyy'
### Actual behavior
1,234.5
2026-08-21 (yyyy-MM-dd)
grp=',' dec='.' shortDate='yyyy-MM-dd'
### Regression?
_No response_
### Known Workarounds
_No response_
### Configuration
.NET SDK: 10.0.300
Runtime pack: microsoft.netcore.app.runtime.mono.browser-wasm 10.0.8
Target: net10.0, browser-wasm (Blazor WebAssembly)
OS building/running: Windows 11 (behavior is platform-independent — it's in the shipped WASM ICU data)
### Other information
Workaround in place: programmatically overwriting NumberFormatInfo / DateTimeFormatInfo on the is-IS CultureInfo at startup with values captured from desktop .NET. This is only viable because Icelandic is the single missing locale we need; it does not restore collation/sort data. A proper fix in the ICU filter would let this workaround be removed.
Contributor guide
Research direction
Start by tracing the locale include-list or filter used to build the shipped WASM ICU shards, then compare Icelandic and Faroese with the locales that format correctly. Reproduce the issue with the provided is-IS number and date formatting checks against the full icudt.dat; done when Icelandic data is included and the output matches the expected separators and short-date pattern.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp, wasm
- Domain
- internationalization
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 70/100