WPNinjas HeaderWPNinjas Header

Windows 10 Language Settings with Store Apps

In the last year we experienced a lot of problems with Windows 10 language settings and the Microsoft Store Apps. Like Roger Zander described in his blog, we would like to have an English operating system but an activated German MUI. We are living in Switzerland, so we need to have the Swiss German keyboard Layout set. Additionally, we need to have de correct language order to get the Store Apps in the correct language.

This means, we need the following Order:

Correct Language Order
Sidenote: français (Suisse) is added as soon as de-CH is specified as System Locale. But this isn’t a problem.

If we try to do this with the following command:

control intl.cpl,, /f:"UI.xml" 

And the following Xml File:

<gs:GlobalizationServices xmlns:gs="urn:longhornGlobalizationUnattend">
<!--User List-->
<gs:UserList>
<gs:User UserID="Current" CopySettingsToSystemAcct="true" CopySettingsToDefaultUserAcct="true" />
</gs:UserList>
<!--Display Language-->
<gs:MUILanguagePreferences>
<gs:MUILanguage Value="de-DE" />
<gs:MUIFallback Value="en-US" />
</gs:MUILanguagePreferences>
<!--System Locale-->
<gs:SystemLocale Name="de-CH"/>
<!--User Locale-->
<gs:UserLocale>
<gs:Locale Name="de-CH" SetAsCurrent="true" ResetAllSettings="false"/>
</gs:UserLocale>
<!--input preferences-->
<gs:InputPreferences>
<!--de-CH-->
<gs:InputLanguageID Action="add" ID="0807:00000807" Default="true"/>
<!--en-US-->
<gs:InputLanguageID Action="remove" ID="0409:00000409"/>
<!--de-DE-->
<gs:InputLanguageID Action="remove" ID="0407:00000407"/>
<!--fr-CH-->
<gs:InputLanguageID Action="remove" ID="100c:0000100c"/>
</gs:InputPreferences>
<!--location-->
<gs:LocationPreferences>
<gs:GeoID Value="223"/>
</gs:LocationPreferences>
</gs:GlobalizationServices>

In the Windows Setup I used the following Unattend settings:

<component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<InputLocale>de-CH</InputLocale>
<SystemLocale>en-US</SystemLocale>
<UILanguage>en-US</UILanguage>
<UserLocale>de-CH</UserLocale>
<UILanguageFallback>de-DE</UILanguageFallback>
</component>

The result is not as expected. With the above values, we specified de-DE as MUI Language, en-US as MUI Fallback Language and de-CH as Keyboard Layout, we will get the following Experience:

Incorrect Language Order

Windows is setting de-CH at the top of the list and specifies it also as the display language. In fact, there is no display language for de-CH. If you try to set de-CH as MUI language, you will receive an error in the event log.

As you can see, there is also no possibility to move the entries in the new Control Panel.

The main issue with these settings is, that the Store Apps are still in English, because they are not available for de-CH, which is the primary Language. The Apps are downloaded in the next available Language in the List. It is not possible to get an Order of de-CH, de-DE, en-US with command line tools.

Universal Apps are not translated

Solution

To get the Apps in the correct language we need to change the Language Order.

Correct Language Order

Then we can check the Store and search for updates and we will get a lot of App Updates…

Microsoft Store is updating all apps

After that the apps have the correct language set.

Unversal Apps are translated

Now there is only the question, how can we modify the Language Order during OSD with a Script? There are no tools available and I decided to create a PowerShell Script for it.

There are three locations which need to be updated in the registry:

  • Current User
    Path: HKCU:\Control Panel\International\User Profile
    Name: Languages
  • Default User Profile
    Path: HKCU:\Control Panel\International\User Profile
    Name: Languages
  • Welcome Screen
    Path: HKEY_USERS\.DEFAULT\Control Panel\International\User Profile
    Name: Languages

It is important, that we only change the order and don’t add additional Languages to this value. So I created a Script, which can be executed in the Task Sequence after you have applied the correct settings with the “control intl.cpl” method I mentioned earlier.

 Set-LanguageOrder.ps1 -LanguageOrder "de-CH,de-DE,en-US"

This Script validates the provided Order and will change the registry keys to have the specified order and attaches all not provided Languages at the end.

Example 1:

Registry Value: “de-CH,en-US,de-DE,fr-CH”
Provided LanguageOrder to the Script: “de-CH,de-DE”
Result: “de-CH,de-DE,en-US,fr-CH”

Example 2:

Registry Value: “de-CH,en-US,de-DE”
Provided LanguageOrder to the Script: “de-CH,de-DE,it-IT
Result: “de-CH,de-DE,en-US,fr-CH”
It-IT is not added because it was not in the list before.

Result

The result is as expected when using the following things:

  1. Unattend File specified in this Blog
  2. Set the International Settings with the above XML File
  3. Set the Language Order with my Script

The Microsoft Store Apps are switching to German, as soon the Store updates them.

The Script can be downloaded here.

I’m happy to get feedback about your experience with Language Settings and Windows 10.

Follow me

3 Comments

Renaud · July 22, 2016 at 17:24

Hi,
We had the same problem here in Lausanne
4 months with premier support to find a solution of a English UI with swiss french keyboard.
Finally we succed with a special input locale value 0409:0000100c

0409:0000100c
en-us
en-us
en-us
fr-ch

0409:0000100c
en-us
en-us
en-us
fr-ch

Hope it helps !

Renaud · July 22, 2016 at 17:25

InputLocale=0409:0000100c
SystemLocale=en-us
UILanguage=en-us
UILanguageFallback=en-us
UserLocale=fr-ch

blog.colemberg.ch | How to create an Easy Tasksequence for Win10 Servicing (inplace Upgrade) · April 21, 2018 at 11:17

[…] Integration of the language, that was installed prior to update. For this, I used a mix from the two solutions from Roger Zander on his blog (thanks for sharing Roger) http://rzander.azurewebsites.net/how-to-change-the-welcome-screen-language-in-win10/ and Thomas Kurth https://blog.basevision.ch/2016/07/windows-10-language-settings-with-store-apps/. […]

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.