https://bugs.winehq.org/show_bug.cgi?id=52407
--- Comment #2 from Louis Lenders xerox.xerox2000x@gmail.com --- Another additional note: I guess it comes from this part of dotnet`s CultureData.Windows.cs:
(https://codeload.github.com/dotnet/runtime/zip/refs/tags/v5.0.13)
// Neutrals and non-neutrals are slightly different if (_bNeutral) { // Neutral Locale
// IETF name looks like neutral name _sName = realNameBuffer;
// Specific locale name is whatever ResolveLocaleName (win7+) returns. // (Buffer has our name in it, and we can recycle that because windows resolves it before writing to the buffer) result = Interop.Kernel32.ResolveLocaleName(realNameBuffer, pBuffer, Interop.Kernel32.LOCALE_NAME_MAX_LENGTH);
// 0 is failure, 1 is invariant (""), which we expect if (result < 1) { return false; }
// We found a locale name, so use it. // In vista this should look like a sort name (de-DE_phoneb) or a specific culture (en-US) and be in the "pretty" form _sSpecificCulture = new string(pBuffer, 0, result - 1); }