如何使用CultureInfo识别操作系统的语言?例如。如果在Windows中的语言设置为法语,我需要找出法国和加载fr资源文件中的数据。

有帮助吗?

解决方案

我觉得这样的事情会给你当前CultureInfo:

CultureInfo currentCulture = Thread.CurrentThread.CurrentCulture;

这就是你要找的是什么?

其他提示

这是我用什么:

var culture = System.Globalization.CultureInfo.CurrentCulture;

和它的工作:)

当前系统语言是利用检索到:

  CultureInfo.InstalledUICulture

“获取表示与操作系统安装在培养物中的CultureInfo。”

InstalledUICulture

要其设置为默认语言线程使用:

   System.Globalization.CultureInfo.DefaultThreadCurrentCulture=CultureInfo.InstalledUICulture;

我试过{CultureInfo currentCulture = Thread.CurrentThread.CurrentCulture;}但didn`t工作对我来说,因为我的UI文化是从我的电话号码/货币文化的不同。因此,我建议你使用:

CultureInfo currentCulture = Thread.CurrentThread.CurrentUICulture;

这会给你的文化你的UI是(在Windows上,消息框,等文本)。

要得到2个字符的ISO 639-1语言标识符使用:

System.Threading.Thread.CurrentThread.CurrentCulture.TwoLetterISOLanguageName;
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top