1 回答

TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超7個(gè)贊
可以檢索已安裝框架語言的翻譯。工作原理沒有記錄,但內(nèi)部實(shí)現(xiàn)可以在參考源中看到(例如CultureData)。對(duì)于已安裝文化以外的目標(biāo)文化,將返回英語后備語言。
在此基礎(chǔ)上,我們可以使用以下內(nèi)容(同樣,僅適用于已安裝的框架語言):
public static string GetDisplayName(this CultureInfo culture, CultureInfo locale)
{
? ? var rm = new ResourceManager("mscorlib", typeof(object).Assembly);
? ? var resourceKey = $"Globalization.ci_{culture.Name}";
? ? return rm.GetString(resourceKey, locale);
}
例如,安裝了瑞典語和英語:
var culture = CultureInfo.GetCultureInfo("en");
var swedishName = culture.GetDisplayName(CultureInfo.GetCultureInfo("sv")); // Engelska
var englishName = culture.GetDisplayName(CultureInfo.GetCultureInfo("en")); // English
var germanName = culture.GetDisplayName(CultureInfo.GetCultureInfo("de")); // English <- German not installed
為了涵蓋所有語言(或任意語言集合),我建議使用非本機(jī)方法,因?yàn)閮?nèi)置方法并不真正支持您的用例。
- 1 回答
- 0 關(guān)注
- 131 瀏覽
添加回答
舉報(bào)