我们如何在Xamarin Forms中检测iPhone的区域设置?

uurv41yg  于 2022-12-07  发布在  其他
关注(0)|答案(2)|浏览(135)

我现在正在本地化Xamarin Forms应用程序。
在iOS中,用户可以在不更改设备语言的情况下更改区域设置,对吗?我们如何在Xamarin Forms中检测此区域设置?我尝试了以下代码来获取当前文化,但区域设置对CurrentCulture没有任何作用,除非我们更改语言设置。

var culture = CultureInfo.CurrentCulture

我需要在应用程序中显示一个十进制值,在美国地区应该显示为123.456,在法国地区应该显示为123,456。只有在更改语言设置时,我才得到123,456。
我可以使用NSLocale获得当前的语言环境,它会给我en_FR。但是如果我使用它来创建一个新的CultureInfo,它会抛出System.Globalization.CultureNotFoundException异常。

var culture = new CultureInfo("en_FR");
h4cxqtbf

h4cxqtbf1#

您可能想要尝试NSLocale.CurrentLocale
还有,
通过使用NSLocale.CurrentLocaleDidChangeNotification作为通知以使用NSNotificationCenter进行监视,可以向应用程序通知系统本地中的更改。

n9vozmp4

n9vozmp42#

我知道我有点晚了,但是在.NET中,您必须替换文化字符串中的下划线。

var culture = new CultureInfo("en-FR");

相关问题