为什么CurrentUICulture是“DE-DE”,即使我在Windows中设置了“DE-CH”

时间:2017-10-25 09:54:54

标签: c# wpf windows cultureinfo currentuiculture

在我的WPF应用程序中,CurrentUICulture未被Windows正确接管或错误地存储在Windows中。

Windows中的区域和语言设置位于我发现的所有地方“Deutsch(Schweiz)”。应用程序中的CurrentUICulture显示“Deutsch(Deutschland)”而不是“Deutsch(Schweiz)”。我在几台计算机上测试过它(有域用户和本地用户)。

哪里可能是问题? Windows中的这个设置有难以找到的地方吗?

重要提示:我知道我可以在应用程序中设置文化。我不需要像Thread.CurrentThread.CurrentUICulture = new CultureInfo("de-ch")

这样的答案

我只想了解机制的工作原理以及从何处获取信息。

以下是我的Windows设置中的一些屏幕截图:

welcome screen and new user accounts settings

region & language

advanced settings

region

谢谢, 阿德里安

1 个答案:

答案 0 :(得分:1)

我认为这是微软的“设计”。

请阅读this question。对此有很高的评价意见:

  

请注意,微软在他们的智慧中并没有将UI分开   美国英语和(英国)英语或其他英语的文化。   英语没有MUI,这意味着CurrentUICulture会   无论如何,总是在英语机器上加入美国   CurrentCulture,可以设置为本地化区域设置。

虽然我不确定这些信息来自何处,但您当前的操作系统行为非常确认:您更改了区域设置(CurrentCulture),但CurrentUICulture始终保持“国家/地区不可知” “de-DE”(在任何“en- *”区域设置的评论中都像“en-US”)。