我现在正在本地化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");
2条答案
按热度按时间h4cxqtbf1#
您可能想要尝试NSLocale.CurrentLocale。
还有,
通过使用NSLocale.CurrentLocaleDidChangeNotification作为通知以使用NSNotificationCenter进行监视,可以向应用程序通知系统本地中的更改。
n9vozmp42#
我知道我有点晚了,但是在.NET中,您必须替换文化字符串中的下划线。