2011-06-30 51 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