在我的WPF应用程序中,CurrentUICulture没有被Windows正确地接管,或者错误地存储在Windows中。
Windows中的区域和语言设置位于我发现的"Deutsch (Schweiz)“的所有位置。应用程序中的CurrentUICulture显示"Deutsch (Deutschland)“而不是"Deutsch (Schweiz)”。我已经在几台计算机上测试过它(包括域用户和本地用户)。
问题在哪里?在Windows中是否有此设置很难找到的位置?
重要:我知道我可以在应用程序中设置文化。我不需要像Thread.CurrentThread.CurrentUICulture = new CultureInfo("de-ch")这样的答案
我只想知道这个机制是如何工作的,它是从哪里得到信息的。
这里有几张来自我Windows设置的屏幕截图:




谢谢禤浩焯
发布于 2017-10-25 13:43:51
我想这是微软的“设计”。
请阅读this question。对此,有一条颇有争议的评论:
请记住,微软,在他们的智慧,不分离UI文化的美国英语和(英国)英语或其他英语。没有针对英语的多用户界面,这意味着
CurrentUICulture在英语机器上始终是en-US,而不管CurrentCulture,它可以设置为区域设置的本地化。
虽然我不知道这些信息是从哪里来的,但您当前的操作系统行为很好地证实了这一点:您更改了区域设置(CurrentCulture),但是CurrentUICulture始终将“国家不可知论者”作为"de-DE“(如"en-*”区域设置的注释中的"en-US“)。
https://stackoverflow.com/questions/46929335
复制相似问题