2

我正在開發Windows Phone應用程序。Cultureinfo:如何獲得語言代碼

如何從CultureInfo.CurrentCulture獲取語言代碼?

我正在使用CultureInfo.CurrentCulture.Name,並獲得'en-US'。我只需要en。

+0

第35部分 - Windows Phone 7 - Culure http://dotnetspeaks.com/DisplayArticle.aspx?ID=163 – Sumit 2011-12-15 06:08:06

回答

1

我不確定你想要達到的目標。如果你想要的是刪除區域,保留腳本區別(如果你對zh-Hans感興趣而不僅僅是zh),那麼你會想要使用Parent屬性()。雖然這可以回到傳統(ZH-CHS),所以你會希望使用IetfLanguageTag屬性來解決:

CultureInfo.CurrentCulture.Parent.IetfLanguageTag

en-US -> en 
zh-CN -> zh-Hans 
zh-TW -> zh-Hant 

有時,它仍然不會放棄你預期的答案,因爲它只會被支持(但不是從TwoLetterISOLanguageName屬性有什麼不同)語言標籤:

az-Cyrl-AZ -> az 
az-Latn-AZ -> az 

它似乎像一些連鎖的省略:

sr-Cyrl-BA -> (Invariant) 

您可以檢查不變量,然後返回TwoLetterISOLanguageName屬性以解決該問題。

+0

我意識到這是一個較老的答案。但是,對於現在查看此答案的人:在VS 2013和.NET 4.5中,似乎不提倡使用'leftLanguageTag'。 – Ellesedil 2015-03-11 21:03:04