Reputation: 5417
I have a strange problem with UWP UI language.
I have two RESW Files with Strings, one in en
and on in de
Folder. The filenames are the same. Default Language in the manifest is "en".
My System is set on German but the UI of my App is English, CurrentUICulture is English, too.
The strange thing is, if I set the Default Langauge to "de", everything works: On german computers it displays german language, and on english one the english strings.
Upvotes: 1
Views: 450
Reputation: 109
I had the same problem. The problem it seems that it is the English language described as "en" used as default languge for the App.
Try to change the default language as "en-US". Clearly, you have to make a copy of your "en" resources as "en-US". It works for me.
I hope it works also for you.
MatVic
Upvotes: 1
Reputation: 166
I want to make sure I understand the problem, so here's what I think the situation is:
We have an app. This app has two language folders, en and de, both of which have a resx file in them. The resx file is identical in name and keys, but naturally have different values.
Here's the expected behavior... the default languages is only used if the languages installed on the test machine don't match any of the languages that your app recognizes. You've got an "en" folder and a "de" folder, so your app recognizes English and German. The default language parameter shouldn't enter into the equation.
When the app is launched on a given test machine, it checks the list of known languages. You can see this list by "Region & language" page in your settings. It then compares the languages, in order from top to bottom. As it checks each language, it checks the languages that your app supports and if it gets a match, it uses that language. If not, it moves onto the next language, repeat... if nothing matches, there are some heuristics built in for "Close enough"... so if your OS is in en-GB, it'll use match that to en-US instead of claiming there's no match.
If there is no match, then it uses the default language.
From what you're describing, it sounds like on your German box, the UI of Windows is showing German, but in the language settings, English is listed higher up. I'm not actually sure how you could get it to do that, unless you've got the Input set to German but the OS in English...
If you don't mind, could you go to each box you're testing against, bring up the Region & Language settings and check the order of the languages? If you've got a case where it supports language X which appears first but the OS isn't coming up in X, I'll need to collect some more information from you.
I hope this helps!
--Dante [MSFT]
Upvotes: 2