如何檢測當前的應用程序語言?我不是在談論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 –