如何找到给定区域设置的语言?
示例: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)