从c#中检测os语言

cra*_*her 13 c# operating-system

有没有办法从ac#class中检测操作系统的语言?

小智 22

不幸的是,之前的答案并非100%正确.

CurrentCulture是正在运行的线程的文化信息,它用于需要了解当前文化但不显示任何内容的操作.CurrentUICulture用于格式化显示,如正确显示DateTime.因为您可能会更改当前线程,Culture或者UICulture如果您想知道操作系统CultureInfo实际是什么,请使用CultureInfo.InstalledUICulture.

此外,还有另一个关于这个问题的问题(比这个更近),并给出了详细的答案:

在c#中获取操作系统语言.


Oli*_*ich 8

通过System.Globalization.CultureInfo课程,您可以确定自己想要的内容.

随着CultureInfo.CurrentCulture您获得系统集文化,CultureInfo.CurrentUICulture您将获得用户设置文化.

  • 您对这两个属性的描述是错误的.`CultureInfo.CurrentCulture`是用于格式化日期,数字等的文化,并从用户区域设置(区域设置)初始化.`CultureInfo.CurrentUICulture`是资源管理器用于查找字符串资源的文化,并且是从OS的UI语言初始化的. (11认同)

Los*_*ost 5

"System.Globalization.CultureInfo.CurrentUICulture.DisplayName". 这正是您想要的。