Cultureinfo:如何只获取语言代码

时间:2011-04-16 09:01:13

标签: windows-phone-7 globalization cultureinfo currentculture

我正在开发一个Windows Phone应用程序。

如何从CultureInfo.CurrentCulture获取语言代码?

我正在使用CultureInfo.CurrentCulture.Name而我正在使用'en-US'。我只需要en。

2 个答案:

答案 0 :(得分:4)

您是否尝试过使用TwoLetterISOLanguageName属性?

答案 1 :(得分: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属性以解决此问题。