通过查看[NSLocale preferredLanguages]
,我可以获得用户的语言偏好。但是,如果我提供'en'和'fr'翻译,并且用户的偏好是'en-GB','de','fr','en'他们会看到我的'en'还是我的'fr'翻译?如何获取用户当前在我的应用中看到的语言?
答案 0 :(得分:3)
如果要查看正在使用哪些本地化,请在描述它的字符串文件中存储一个字符串(“en”,“fr”或其他),然后使用NSLocalizedString加载它。
答案 1 :(得分:0)
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSArray *languages = [defaults objectForKey:@"AppleLanguages"];
NSString *currentLanguage = [languages objectAtIndex:0];
答案 2 :(得分:0)
多人声称正确的方法是:
NSArray *languages = [NSLocale preferredLanguages];
NSString *currentLanguage = [languages objectAtIndex:0];
但使用风险自负。 NSLocale
docs没有提到关于第一个元素是当前元素的任何内容。