2011-05-05 43 views
4

儘管我本地化了當前文化,但以下代碼將返回英文名稱。本地/ currentCulture中的C#getCultures

List<string> languageList = new List<string>(); 
CultureInfo[] cultureList = CultureInfo.GetCultures(CultureTypes.AllCultures); 

    foreach (CultureInfo culture in cultureList) 
    { 
     languageList.Add(culture.DisplayName); 
    } 

如果我想讓顯示名稱用意大利語,德語或我指定的任何語言說?有什麼建議麼?

回答

3

您應該使用NativeName酒店在這個問題

看也How to translate CultureInfo language names

+0

:S NativeName不是我所期待的,我想要所指定的語言中的所有語言。但顯然,正如你的鏈接所指出的,這是不可能的。謝謝 – Shaokan 2011-05-05 11:49:25

4

DisplayName財產的.NET框架的本地化版本的語言返回文化名

此屬性表示.NET Framework版本中的本地化的 名稱。 例如,如果安裝了英文版的.NET Framework ,則 屬性會返回en-US文化名稱的「English(United States)」。 如果安裝.NET Framework西班牙語版本 ,無論該系統被設置爲 顯示 語言,顯示 在西班牙文化名和屬性en-US 回報「英格爾斯(ESTADOS工發組織)」。

改爲使用NativeName屬性。但是,請注意,您不能以不同於自己的語言獲取文化名稱(當然,除了英文和.NET Framework版本的語言外)。