我对UWP UI语言有一个奇怪的问题。
我有两个带字符串的RESW文件,一个在en
和de
文件夹中。文件名是相同的。清单中的默认语言是" en"。
我的系统设置为德语,但我的应用程序的UI是英语,CurrentUICulture也是英语
奇怪的是,如果我将Default Langauge设置为" de",一切正常:在德国计算机上它显示德语,在英语中显示英语字符串。
答案 0 :(得分:2)
我想确保我理解这个问题,所以我认为情况如下:
我们有一个应用程序。这个应用程序有两个语言文件夹,en和de,两者都有一个resx文件。 resx文件在名称和键上是相同的,但自然会有不同的值。
此处有预期的行为......只有在测试计算机上安装的语言与您的应用识别的任何语言不匹配时,才会使用默认语言。你有一个" en"文件夹和" de"文件夹,所以你的应用程序识别英语和德语。默认语言参数不应该输入等式。
当在给定的测试计算机上启动应用程序时,它会检查已知语言的列表。你可以通过" Region&语言"您设置中的页面。然后它按照从上到下的顺序比较语言。在检查每种语言时,它会检查您的应用支持的语言,如果匹配,则使用该语言。如果没有,它会移动到下一个语言,重复...如果没有匹配,有一些启发式内置的"足够关闭" ...所以如果你的操作系统是en-GB,那么&#39 ; ll使用与en-US的匹配,而不是声称那里没有匹配。
如果没有匹配,则使用默认语言。
根据您的描述,听起来就像在您的德语框中,Windows的UI显示德语,但在语言设置中,英语列在更高的位置。我真的不知道如何才能做到这一点,除非你已经将输入设置为德语但操作系统是英文的......
如果你不介意,你可以去你测试的每个盒子,带上Region& amp;语言设置并检查语言的顺序?如果您有一个案例,它支持首先出现的X语言,但操作系统不会出现在X中,我将需要从您那里收集更多信息。
我希望这有帮助!
- 但丁[MSFT]
答案 1 :(得分:1)
我遇到了同样的问题。 问题似乎是英语被描述为“en”用作App的默认语言。
尝试将默认语言更改为“en-US”。显然,您必须将“en”资源的副本复制为“en-US”。 它对我有用。
我希望它也适合你。
MatVic