如何获取iphone用户当前在我的应用中看到的语言?

时间:2011-10-11 08:42:26

标签: iphone localization internationalization

通过查看[NSLocale preferredLanguages],我可以获得用户的语言偏好。但是,如果我提供'en'和'fr'翻译,并且用户的偏好是'en-GB','de','fr','en'他们会看到我的'en'还是我的'fr'翻译?如何获取用户当前在我的应用中看到的语言?

3 个答案:

答案 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没有提到关于第一个元素是当前元素的任何内容。