首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Locale.current在设备上报告错误语言

Locale.current在设备上报告错误语言
EN

Stack Overflow用户
提问于 2018-01-07 10:58:15
回答 9查看 12.1K关注 0票数 17

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

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

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

事实上,如果我在设备上从我的应用程序中打印当前的区域设置,它就不会像我所期望的那样返回fr_FR

代码语言:javascript
运行
复制
NSLog(Locale.current.identifier)
>>> en_FR

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

有人知道这件事吗?

谢谢!

EN

Stack Overflow用户

发布于 2021-10-10 12:02:32

当小部件应该具有与应用程序相同的语言和iPhone语言不同时,您可以使用以下方法:

代码语言:javascript
运行
复制
func getPreferredLocale() -> Locale {
    guard let preferredIdentifier = Bundle.main.preferredLocalizations.first else {
        return Locale.current
    }
    return Locale(identifier: preferredIdentifier)
}
票数 -1
EN
查看全部 9 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48136456

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档