为什么 CurrentUICulture "DE-DE" 即使我在 Windows 中设置了 "DE-CH"

Why is CurrentUICulture "DE-DE" even though I have set up "DE-CH" in Windows

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

Windows里的地区和语言设置,我找到的地方都有"Deutsch (Schweiz)"。应用程序中的 CurrentUICulture 显示 "Deutsch (Deutschland)" 而不是 "Deutsch (Schweiz)"。我已经在几台计算机上测试过它(域用户和本地用户)。

问题出在哪里? Windows 中是否有很难找到此设置的位置?

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

这样的答案

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

这里是我的 Windows 设置的一些屏幕截图:

谢谢, 阿德里安

我想这是 Microsoft 的 "by design"。

请阅读this question。对此有相当高的评论:

Bear-in-mind that Microsoft, in their wisdom, don't separate the UI cultures of US English and (British) English or other Englishes. There's no MUI for English, which means the CurrentUICulture will always be en-US on an English-language machine, regardless of the CurrentCulture, which can be set to localise the Regional Settings.

虽然我不确定此信息的来源,但您当前的 OS 行为非常证实:您更改了区域设置 (CurrentCulture),但 CurrentUICulture 始终保持 "country agnostic" 为 "de-DE"(如任何 "en-*" 区域设置的评论中的 "en-US")。