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