使用.NET从locale字符串获取语言名称?例如:en_us =>英语

Thd*_*hdK 8 .net c# locale cultureinfo

如何找到给定语言环境的语言?

示例:input:en_US输出:英文

使用.NET库?我尝试过CultureInfo类,但我找不到有用的东西.

谢谢!

Pie*_*ant 14

不要使用的构造函数CultureInfo.使用静态GetCultureInfo方法更快,因为此方法被缓存并返回不可变(只读)CultureInfo对象.

根据有关本地化Facebook SDK文档,可以安全地假设您可以用破折号替换下划线,以便.NET能够理解语言环境.

Facebook区域设置分别遵循ISO语言和国家/地区代码,以下划线连接.

基本格式为'll_CC'',其中''ll''是双字母语言代码,''CC''是双字母国家代码.例如,'en_US'代表美国英语.

根据您是否需要以英语显示名称而不管操作系统的语言,请使用

CultureInfo.GetCultureInfo("en-US").EnglishName
Run Code Online (Sandbox Code Playgroud)

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

CultureInfo.GetCultureInfo("en-US").DisplayName
Run Code Online (Sandbox Code Playgroud)


Chr*_*den 9

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

System.Globalization.CultureInfo culture = new System.Globalization.CultureInfo("en-US");
string name = culture.DisplayName;
Run Code Online (Sandbox Code Playgroud)

输出:英语(美国)