gpt4 book ai didi

ios - 如何获得 CurrentCulture 的正确值?

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:03:47 26 4
gpt4 key购买 nike

在 iPhone 上,用户可以选择他的显示语言和用于格式化的区域。
显示语言相当于.NET的Thread.CurrentUICulture,即UI的语言。
格式化区域等同于 .NET 的 Thread.CurrentCulture,即用于格式化数字、日期等的区域性设置。

假设以下设置:
语言:英语
地区:德国

在 iOS6 中,NSLocale.CurrentLocale 将返回 "de_DE",我可以轻松地将其转换为 CultureInfo 对象。
然而,从那以后,事情发生了变化。
例如,在 iOS8 上,我得到 "en_DE",这是 CultureInfo 的无效值。

那么,确保我的 Xamarin.iOS 应用程序考虑用户选择的设置的首选方法是什么,即如何获取 Thread.CurrentCulture 的正确值?

最佳答案

我想我刚刚回答了我自己的问题:

只要用户没有在区域高级设置中明确关闭“自动”并将该语言也更改为德语,将区域更改为德国实际上并不会更改格式。只有在那种情况下,格式才真正不同于 UI 语言。

基于此,我现在使用这段代码:

private static CultureInfo GetFormattingLanguage()
{
try
{
return CultureInfo.GetCultureInfo(
NSLocale.CurrentLocale.LocaleIdentifier.Replace('_', '-'));
}
catch (CultureNotFoundException)
{
return CultureInfo.GetCultureInfo(NSLocale.CurrentLocale.LanguageCode);
}
}

关于ios - 如何获得 CurrentCulture 的正确值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25975071/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com