我正在开发一个 Windows Phone 应用程序。
如何从 CultureInfo.CurrentCulture 获取语言代码?
我正在使用 CultureInfo.CurrentCulture.Name 并且得到“en-US”。我只需要恩。
我正在开发一个 Windows Phone 应用程序。
如何从 CultureInfo.CurrentCulture 获取语言代码?
我正在使用 CultureInfo.CurrentCulture.Name 并且得到“en-US”。我只需要恩。
您是否尝试过使用该TwoLetterISOLanguageName
物业?
我不确定您要达到的目标。如果您只想删除区域,保留脚本区别(例如,如果您对 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 属性来解决这个问题。