使用 .NET 从区域设置字符串中获取语言名称?例如:en_us => 英语



如何找到给定区域设置的语言?

示例:input: en_US输出:英语

使用。net库?我尝试了CultureInfo类,但我找不到有用的东西。

谢谢!

不使用CultureInfo的构造函数。使用静态GetCultureInfo方法更快,因为这个方法是缓存的,并且返回一个不可变(只读)的CultureInfo对象。

根据关于本地化的Facebook SDK文档,可以安全地假设您可以用破折号替换下划线,以便允许。net理解区域设置。

Facebook区域设置遵循ISO语言和国家代码,由下划线连接。

基本格式为" ll_CC ",其中" ll "是两个字母的语言代码,"CC"是一个由两个字母组成的国家代码。例如,'en_US'表示我们英语。

无论操作系统的语言如何,如果您需要名称以英文显示,请使用

CultureInfo.GetCultureInfo("en-US").EnglishName

如果需要操作系统语言的名称,请使用:

CultureInfo.GetCultureInfo("en-US").DisplayName

您需要使用en-US而不是en_US,代码如下:

System.Globalization.CultureInfo culture = new System.Globalization.CultureInfo("en-US");
string name = culture.DisplayName;

输出:English (United States)

System.Globalization.CultureInfo.GetCultureInfo("en-US").EnglishName;

可以使用以下代码

Dim culture1 As CultureInfo = New CultureInfo("en-US")
Dim t As Thread = Thread.CurrentThread
Dim currentCulture As CultureInfo = t.CurrentCulture
Dim currentUICulture As CultureInfo = t.CurrentUICulture
'*** display cultures in console
Console.WriteLine("Current Culture: " & currentCulture.Name)
Console.WriteLine("Current UI Culture: " & currentUICulture.Name)

相关内容

  • 没有找到相关文章

最新更新