我正在开发一个iOS应用程序,需要告诉服务器它与iPhone / iPad上使用的当前语言进行通信。我目前正在使用:
[[NSLocale preferredLanguages] objectAtIndex:0]
然而,因为App是基于单词的游戏,在使用英语的情况下(en)这还不够,我需要能够区分en_GB和en_US(以及将来可能的其他语言)
目前我有两种方法:
1)使用currentLocale设置获取设备的当前国家/地区代码,并将其与preferredLanguage相结合,但这相当骇人听闻。
2)滚动我自己的页面以允许用户更改App中的语言。
我倾向于选择2,但它将涉及相当多的工作。
我的问题是,有没有更好的方法来实现这一目标?
答案 0 :(得分:1)
iOS确实包含英国英语(en_GB
),而不是美国英语(en
),因此在此特定示例中,您可以单独依赖用户的iOS语言设置。如果用户选择了英式英语,并且您的应用程序将其包含在本地化列表中,那么您应该使用您的代码行看到en_GB
。
但是,当然,如果您希望支持iOS本身不会公开的语言,那么您将不得不提供自己的选择器。