2

我正在开发一个 iOS 应用程序,该应用程序需要告诉服务器它与 iPhone/iPad 上使用的当前语言进行通信。我目前正在使用:

[[NSLocale preferredLanguages] objectAtIndex:0]

但是,因为在使用英语 (en) 的情况下,该应用程序是基于单词的游戏,所以这还不够,我需要能够区分 en_GB 和 en_US(以及未来可能的其他语言)。

目前我有两种方法可以做到这一点:

1) 使用 currentLocale 设置来获取设备的当前国家代码并将其与首选语言结合起来,但是这相当 hacky。

2)滚动我自己的页面以允许用户更改应用程序中的语言。

我倾向于选项 2,但这将涉及大量工作。

我的问题是,有没有更好的方法来实现这一目标?

4

1 回答 1

1

iOS 确实包含英式英语 ( en_GB),而不是美式英语 ( en),因此在此特定示例中,您可以仅依赖用户的 iOS 语言设置。如果用户选择了英式英语并且您的应用程序将其包含在其本地化列表中,那么您应该看到en_GB使用您的代码行。

但是,当然,如果您希望支持 iOS 本身不公开的语言,您将不得不提供自己的选择器。

于 2012-12-04T10:29:09.057 回答