获取CultureInfo中的当前语言

问题描述 投票:41回答:5

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

c# globalization cultureinfo currentculture
5个回答
64
投票

我认为像这样的东西会给你当前的CultureInfo:

CultureInfo currentCulture = Thread.CurrentThread.CurrentCulture;

这就是你要找的东西吗?


18
投票

这是我用过的:

var culture = System.Globalization.CultureInfo.CurrentCulture;

它正在工作:)


9
投票

使用以下方法检索当前系统语言

  CultureInfo.InstalledUICulture

“获取表示随操作系统安装的文化的CultureInfo。”

InstalledUICulture

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

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

4
投票

我尝试了{CultureInfo currentCulture = Thread.CurrentThread.CurrentCulture;},但它对我没有用,因为我的UI文化与我的数字/货币文化不同。所以我建议你使用:

CultureInfo currentCulture = Thread.CurrentThread.CurrentUICulture;

这将为您提供UI的文化(窗口,消息框等文本)。


1
投票

要获得2个字符ISO 639-1语言标识符,请使用:

System.Threading.Thread.CurrentThread.CurrentCulture.TwoLetterISOLanguageName;
© www.soinside.com 2019 - 2024. All rights reserved.