第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

獲取不同語言的語言名稱

獲取不同語言的語言名稱

C#
慕運維8079593 2023-08-20 11:02:48
我有以下內容:if (currentUICulture.Equals(CultureInfo.GetCultureInfo("fr-FR")))    _EnglishLabel = "Anglais";else    _EnglishLabel = "English";問問自己這段代碼是否可以針對任意數量的當前文化進行優(yōu)化。我可以嘗試針對當前的 UI 文化來實現這一點,如下所示:_EnglishLabel = new CultureInfo("en-US").DisplayName;但是如果我不應該通過 給出英語currentUICulture,而是通過作為參數傳遞的任意文化......換句話說,如何獲得new CultureInfo("en-US").GetDisplayName(myArbitraryCulture);附言。
查看完整描述

1 回答

?
元芳怎么了

TA貢獻1798條經驗 獲得超7個贊

可以檢索已安裝框架語言的翻譯。工作原理沒有記錄,但內部實現可以在參考源中看到(例如CultureData)。對于已安裝文化以外的目標文化,將返回英語后備語言。

在此基礎上,我們可以使用以下內容(同樣,僅適用于已安裝的框架語言):

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

為了涵蓋所有語言(或任意語言集合),我建議使用非本機方法,因為內置方法并不真正支持您的用例。


查看完整回答
反對 回復 2023-08-20
  • 1 回答
  • 0 關注
  • 137 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號