我得到當前文化如下:獲取文化顯示名稱在其語言
var culture = Thread.CurrentThread.CurrentCulture.DisplayName;
的問題是,我始終用英文獲取名稱:
- EN成爲英語
- PT變成葡萄牙語而不是Português
- FR變成法語而不是...
如何獲得該文化的顯示名稱?
謝謝你, 米格爾
我得到當前文化如下:獲取文化顯示名稱在其語言
var culture = Thread.CurrentThread.CurrentCulture.DisplayName;
的問題是,我始終用英文獲取名稱:
如何獲得該文化的顯示名稱?
謝謝你, 米格爾
你需要顯示NativeName
而不是DisplayName
。
它不工作......我無論如何得到英語......也許是因爲我的操作系統是英文的? –
DisplayName
將以當前.NET框架位置的語言顯示。
您可以使用NativeName
(或者甚至可能只是Name
我沒有試過這個)而不是DisplayName
,應該這樣做。
編輯
用下面的代碼測試此之後:
// set the current culture to German
Thread.CurrentThread.CurrentCulture = new CultureInfo("de-DE");
var native = Thread.CurrentThread.CurrentCulture.NativeName;
var display = Thread.CurrentThread.CurrentCulture.DisplayName;
var name = Thread.CurrentThread.CurrentCulture.Name;
結果爲:
天然= 「德語(德國)」
顯示= 「德國(德國)」
名=「DE-DE」
上cultureinfo.Displayname一個搜索導致nativename MSDN上,並導致How to translate CultureInfo language names
如果一個只是試圖讓文化的本地化語言(沒有國家)可以使用這個片段:
CultureInfo culture = Thread.CurrentThread.CurrentCulture;
string nativeName = culture.IsNeutralCulture
? culture.NativeName
: culture.Parent.NativeName;
如果一個人會使用特定的本地化語言名稱,可以使用這樣的:
string language = "es-ES";
CultureInfo culture = new CultureInfo(language);
string nativeName = culture.IsNeutralCulture
? culture.NativeName
: culture.Parent.NativeName;
如果想要標題案例名稱(例如,的問題,而不是的問題),則使用這條線:
string result = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(nativeName);
作爲方法:
private static string GetTitleCaseNativeLanguage(string language)
{
CultureInfo culture = new CultureInfo(language);
string nativeName = culture.IsNeutralCulture
? culture.NativeName
: culture.Parent.NativeName;
return CultureInfo.CurrentCulture.TextInfo.ToTitleCase(nativeName);
}
或者作爲一個擴展方法:
public static string GetNativeLanguageName(this CultureInfo culture, bool useTitleCase = true)
{
string nativeName = culture.IsNeutralCulture
? culture.NativeName
: culture.Parent.NativeName;
return useTitleCase
? CultureInfo.CurrentCulture.TextInfo.ToTitleCase(nativeName)
: nativeName;
}
顯示器將在的語言顯示的名稱當前的.net框架位置。使用名稱或NativeName。 –
這些工作都沒有......他們都給我英文 –