簡體   English   中英

使用.NET從locale字符串獲取語言名稱? 例如:en_us =>英語

[英]Get language name from locale string using .NET? ex: en_us => english

如何找到給定語言環境的語言?

示例:input:en_US輸出:英文

使用.NET庫? 我嘗試過CultureInfo類,但是找不到有用的東西。

謝謝!

不要使用CultureInfo的構造函數。 使用靜態GetCultureInfo方法更快,因為此方法被緩存並返回一個不可變(只讀) CultureInfo對象。

根據有關本地化Facebook SDK文檔 ,可以安全地假設您可以用破折號替換下划線,以便.NET能夠理解語言環境。

Facebook區域設置分別遵循ISO語言和國家/地區代碼,以下划線連接。

基本格式為'll_CC'',其中''ll''是雙字母語言代碼,''CC''是雙字母國家代碼。 例如,'en_US'代表美國英語。

根據您是否需要以英語顯示名稱而不管操作系統的語言,請使用

CultureInfo.GetCultureInfo("en-US").EnglishName

如果您需要操作系統語言的名稱,請使用:

CultureInfo.GetCultureInfo("en-US").DisplayName

你需要使用en-US而不是en_US代碼如下:

System.Globalization.CultureInfo culture = new System.Globalization.CultureInfo("en-US");
string name = culture.DisplayName;

輸出:英語(美國)

System.Globalization.CultureInfo.GetCultureInfo("en-US").EnglishName;

您可以使用以下代碼

Dim culture1 As CultureInfo = New CultureInfo("en-US")
Dim t As Thread = Thread.CurrentThread
Dim currentCulture As CultureInfo = t.CurrentCulture
Dim currentUICulture As CultureInfo = t.CurrentUICulture

'*** display cultures in console
Console.WriteLine("Current Culture: " & currentCulture.Name)
Console.WriteLine("Current UI Culture: " & currentUICulture.Name)

暫無
暫無

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

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