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

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

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

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

重要提示:我知道我可以在应用程序中设置文化.我不需要像Thread.CurrentThread.CurrentUICulture = new CultureInfo(“de-ch”)这样的答案

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

这里有一些来自我的Windows设置的屏幕截图:

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

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

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

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

谢谢,
阿德里安

最佳答案 我想这是微软的“设计”.

请阅读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.

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

点赞