0

我正在开发一个应用程序,它应该创建一个 NSLocale 对象,而不是基于用户的区域(对于大多数界面元素,它应该保持用户的首选语言),而是基于旅行者的物理位置,以格式化货币。但是,要构建 NSLocale,我需要将语言(例如'en')和位置(例如'US')连接到 initWithLocaleIdentifier:@"en_US",从而将货币约定放入格式化程序中。

我可以从 CLPlacemark 获得 ISOcountry 代码,但语言信息......更难识别。是否有每个国家/地区的语言选项查找表,或仅基于“国家/地区”信息初始化 NSLocale 对象的其他选项?

我做了一个廉价的@"us_US" 串联,它似乎和@"de_DE"(!)一样有效,但我不知道我是否可以在所有情况下都指望它。

谢谢,

蒂姆

4

1 回答 1

0

就其价值而言,似乎 NSLocales 实际上可以使用“gb_GB”或“us_US”语言环境标识符进行初始化——至少是为了获取货币信息。我在 Xcode 提供的位置没有发现异常。

于 2012-01-29T00:29:36.303 回答