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

Input language not showing correctly #93

Open
InterClaw opened this issue Oct 28, 2024 · 4 comments
Open

Input language not showing correctly #93

InterClaw opened this issue Oct 28, 2024 · 4 comments

Comments

@InterClaw
Copy link

I have this weird problem that the preferred language looks correct, but if I go into Administrative language settings and the settings for the Welcome screen and new account, it shows a completely wrong value.

In the screenshot below, you can see the settings in the tool to the right, the autounattend.xml file generated bottom left, and the results in the system after installation.

Am I doing something wrong here? Can I do something different to avoid this? Is it the "1000" in the InputLocale that is wrong? What should it be instead to show "English (Sweden)" everywhere? Because as you can see, it looks correct in the preferred language list...

image

@cschneegans
Copy link
Owner

Interesting. The <InputLocale>1000:… element is generated because 4096 (=0x1000) is the Locale ID that Windows associates with the en-SE culture:

PS C:\> [cultureinfo]::GetCultures( 'All' ) | Where-Object -Property 'Name' -EQ -Value 'en-SE';

LCID             Name             DisplayName
----             ----             -----------
4096             en-SE            English (Sweden)

Also see this page: “The locale identifier LOCALE_CUSTOM_UNSPECIFIED (0x1000, or 4096) is assigned to any culture that does not have a unique locale identifier and does not have complete system-provided data.” As 4096 is not a unique Locale ID, Windows might display Afar (Djibouti) just because it is the first culture with that Locale ID in a given list, so this might just be a cosmetic problem.

Do you experience any issues with formatting (of numbers, dates, etc.) or keyboard input?

Please also post the output of PowerShell's Get-WinUserLanguageList and Get-WinDefaultInputMethodOverride cmdlets.

@InterClaw
Copy link
Author

No issues with formats etc. The benefit of running English (Sweden) - Swedish is that I don't have to change the regional format from "recommended". If I run English (United States) - Swedish then I get American dates etc, so then regional format has to be explicitly set to English (Sweden) to get ISO dates, week starts on Monday, but it does say "Monday" still.

Anyway, I have another weird problem. Not sure if it's because I'm installing Enterprise or not, but regardless of these settings, Windows insists on also installing English (United Kingdom) in the preferred languages list. So rather than manually removing it after installation, I run this in a script during installation which gets rid of it, leaving only "en-SE".

(Get-WinUserLanguageList).Where{ $_.LanguageTag -ne 'en-GB' } | Set-WinUserLanguageList -Force

Anyway, here's the result after installation. Otherwise I would have an "en-GB" entry as well.

image

What I have noticed though is that after updates I sometimes get the language picker (whatever it's called) back in the system tray. It then contains two English (Sweden) - Swedish entries and one English (United Kingdom) - Swedish entry, so two extra entries inexplicably.

The preferred language list still only has the one entry though, so then I solve it by running this. But it will be annoying if this keeps happening for sure...

Get-WinUserLanguageList | Set-WinUserLanguageList -Force

cschneegans added a commit that referenced this issue Oct 29, 2024
@cschneegans
Copy link
Owner

977df14 changes the behavior as follows: If the selected locale has a LCID of 0x1000 set (see UserLocale.json), the <InputLocale> element will instead use the LCID associated with the Windows display language (see ImageLanguage.json).

When installing Windows with your language settings, Windows does no longer show Afar (Djibouti) as its input language, so that seems to be a step in the right direction:

image

Furthermore, the regional format is not set to Recommended, but to English (Sweden), which I think is also correct:

image

Regarding the en-GB locale: I have this seen this several times, even when no autounattend.xml was used. I don't know if (or how) this can be avoided.

@InterClaw
Copy link
Author

Yeah, it's probably better this way. I only hope all software respects the regional format setting and doesn't just use the language list. It's a bit misleading to even show English (Sweden) in the generator now, since that is not what you're going to end up with anymore. Perhaps any LCID 0x1000 options should be hidden now? 🤷‍♂️

I tried it out btw and it predictably gave me this.😊

image

The only real small issue with setting Engligh (United States) - Swedish instead like this is that Recommended as regional format now means American dates etc. But I added Set-Culture en-SE to my script and that sorted it. There doesn't seem to be a setting for this otherwise, which is a bit strange. An oversight by MS?

https://learn.microsoft.com/en-us/windows-hardware/customize/desktop/unattend/microsoft-windows-international-core

Glad to hear I'm not the only one having problems with ghost en-GB stuff. 😜

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants