簡體   English   中英

CultureInfo轉換(C#)

[英]CultureInfo conversions (C#)

是否可以通過TwoLetterISOLanguageName獲取特定的CultureInfo? 只有一個吸氣劑,而不是一個二傳手......你會怎么做到這一點。 如果可能,不要經歷所有文化...

所以不是:

// Get all available cultures on the current system.
CultureInfo[] cultures = CultureInfo.GetCultures(CultureTypes.AllCultures);
foreach (var culture in cultures) {
   // Exclude custom cultures. 
   if ((culture.CultureTypes & CultureTypes.UserCustomCulture) == CultureTypes.UserCustomCulture) 
        continue;

   if (culture.TwoLetterISOLanguageName == "<Whatever>"){
        //Do some stuff
        break;
   }
}   

http://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.twoletterisolanguagename.aspx

第二:

是否可以顯示該語言的語言?
喜歡
*荷蘭語 - >荷蘭語
*德語 - > Deutsch
*西班牙語 - >西班牙語

你可以使用構造函數 ,例如

  CultureInfo germanCulture = new CultureInfo("DE");
  CultureInfo russianCulture = new CultureInfo("RU");


  String germanNativeLanguage = germanCulture.NativeName; // <- Deutsch
  String russianNativeLanguage = russianCulture.NativeName; // <- русский


  String germanLanguage = germanCulture.EnglishName; // <- German
  String russianLanguage = russianCulture.EnglishName; // <- Russian

使用CultureInfo(string)構造函數:

var culture = new CultureInfo("<Whatever>");

它也適用於沒有兩個字母文化名稱的文化

如果ISO 639-1沒有為特定區域性定義兩個字母的語言代碼,則TwoLetterISOLanguageName屬性將返回一個包含三個或更多字母的字符串。

例如,對於下索布語(德國)

var culture = new CultureInfo("dsb");

您可以使用構造函數,但我更喜歡使用靜態方法GetCultureInfo因為文檔明確表示它返回一個緩存的實例:

var ci = CultureInfo.GetCultureInfo("<TwoLetterISOLanguageName>");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM