gpt4 book ai didi

ios - Locale.current 在设备上报告错误的语言

转载 作者:搜寻专家 更新时间:2023-10-30 21:50:59 24 4
gpt4 key购买 nike

我正在尝试在 iOS 应用程序中设置货币值的格式,并且我正在使用设备上的当前区域设置来使用适当的货币格式。

在模拟器中,一切似乎都运行良好:当使用 currencyFormatter.locale = Locale.current 时,它采用正确的区域设置并以正确的货币格式打印数字。

然而,在我的 iPhone 上,它以法语配置并具有法国区域设置,我希望使用另一种格式(例如:1 234,56 €)。但它不起作用,并且似乎使用了英文格式样式(例如:€1 234,56)。

事实上,如果我在设备上打印我的应用程序的当前语言环境,它不会像我期望的那样返回 fr_FR:

NSLog(Locale.current.identifier)
>>> en_FR

地区不错,但语言不好,尽管该设备上的 iOS 显然是法语。

有人对此有想法吗?

谢谢!

最佳答案

根据@Romain 的回答,first! 的强制展开可以通过使用 Locale.current.identifier 作为回退来避免。

func getPreferredLocale() -> Locale {
guard let preferredIdentifier = Locale.preferredLanguages.first else {
return Locale.current
}
return Locale(identifier: preferredIdentifier)
}

关于ios - Locale.current 在设备上报告错误的语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48136456/

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