这里我有一台windows 10电脑,它似乎使用德语区域设置运行,显示语言似乎也是德语。在我的C#程序中,当我使用这两个属性时,我得到了一些不一致的结果:
Thread.CurrentThread.CurrentUICulture
按预期返回de-DE
。而CultureInfo.InstalledUICulture
返回en-US
,这是不期望的。
在控制面板或窗口的系统设置中,我找不到任何提示,因为似乎安装了en-US
。
我需要知道当前的显示语言是什么,因为如果用户没有在我的程序的命令行上指定任何其他语言(或有错误的语言(,它应该回到系统正在使用的当前语言。
我应该简单地将回退指定为吗
CultureInfo fallback = Thread.CurrentThread.CurrentUICulture;
或者为什么CultureInfo.InstalledUICulture
与我所期望的不同?
问候Wolfgang
解决此问题的最佳方法是依靠
Thread.CurrentThread.CurrentUICulture
这是语言相关文本的正确设置,而
Thread.CurrentThread.CurrentCulture
表示日期、时间、数字和货币的格式