UWP:获取当前的CultureInfo

6

对于UWP,根据博客文章CultureInfo changes in UWP,有一些CultureInfo的更改。我能否使用GlobalizationPreferences来正确获取CultureInfo?

public CultureInfo GetCurrentCultureInfo()
{
    return new CultureInfo(Windows.System.UserProfile.GlobalizationPreferences.Languages[0].ToString());
}

以下内容摘自此示例


你想做什么?你是想获取操作系统的当前区域设置吗? - Dante Gagne
我想知道设备当前的语言(不是地区)。因此,我认为我可以使用 CultureInfo - testing
2个回答

5

我能使用GlobalizationPreferences来正确获取CultureInfo吗?

可以的,我已经测试过您的方法,在我的设备上工作良好。

我想知道设备当前的语言(不是地区)。

您也可以使用Windows.Globalization.Language.CurrentInputMethodLanguageTag来获取当前启用的键盘布局或输入法的语言标记。


“CurrentInputMethodLanguageTag”仅当键盘存在时才可用吗? - testing
@testing,我认为不需要,在移动模拟器上测试过了,没有出现键盘,而且也能正常工作。 - Grace Feng
@GraceFeng-MSFT 实际上,该方法在关于区域设置的 CultureInfo 返回不正确(这正是我的文章所讨论的!) - Pedro Lamas

5
如果您需要的是“正确”的CultureInfo(考虑了用户/机器区域设置),那么您应该使用该博客文章中的信息,或者更好地使用GetLocaleInfoEx Win32 API来检索它。
我已经写了一篇关于如何使用此API的完整示例,您可以查看这篇文章的第二部分

1
谢谢,我会研究一下。 - Grace Feng

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接