2011-06-30 22 views
7

.NET中是否有内置方法将文化代码转换为用户友好名称?例如:.NET - 从cultureCode获取文化名称

  • EN-GB - 英语 - 英国
  • 等-EE - 爱沙尼亚 - 爱沙尼亚
  • PA-IN - 旁遮普 - 印度
  • FO-FO - 法罗群岛 - 法罗群岛

回答

12

CultureInfo有一个叫DisplayName

var culture = CultureInfo.GetCultureInfo("en-GB"); 
var displayName = culture.DisplayName; 

DisplayName财产给你一个本地化版名称。 还有一个EnglishName属性。 )

+0

他使用哪种呼叫从代码中获取CultureInfo?那只是静态的GetCultureInfo? – Rup

+0

@Rup,你可以通过Sytem.Threading.Thread.CurrentThread.CurrentCulture –

+0

@Bokka获得当前的文化**没有人要求**当前**文化。 –

1
string displayName; 

CultureInfo cultureInfo = CultureInfo.GetCultureInfo("fo-FO"); 

displayName = cultureInfo.DisplayName; 

编辑:

if (culture != null)移除。

+0

我不认为'GetCultureInfo'的返回值可以是'null',因为它会在一个无效的区域名称上抛出'CultureNotFoundException/ArgumentException'(.NET 4/.NET 3.5)。 –

+0

@ba_friend你说得对。 – Dummy01