如何检测当前的应用程序语言?我不是在谈论NSLocale
用户偏好。检测iOS应用程序正在使用的语言
在我的应用程序中,目前有两种支持的语言。默认的'en'和特定的'it'。
我只是想知道哪一个实际上正在使用。如果它是相关的,作为进一步的解释,我只通过Web服务为两种支持的语言提供内容。当调用服务时,我需要传递一个语言参数。目前,我这样做,它的工作原理,但我完全不喜欢它:
NSString *preferredLanguage = [[NSLocale preferredLanguages] objectAtIndex:0];
if (![preferredLanguage isEqualToString:@"it"] && ![preferredLanguage isEqualToString:@"en"]) {
return @"en";
}
return preferredLanguage;
我已经看过线槽NSLocale
class
和UIApplication
,但没能找到什么有用的东西。
我还注意到NSBundle
有一些本地化方法,但它们似乎都没有具体说明哪一个正在使用。
Gwendal的建议是好。但是,我看不出你为什么不喜欢你所使用的方法。根据[docs] [1],这是一种方法 >以字符串数组形式返回用户的语言首选项顺序 为什么要寻找另一个? [1]:https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSLocale_Class/Reference/Reference.html –