我正在寻找一系列用英语写的所有语言。 我已经阅读了几个关于这个主题的问题,我注意到这行代码:
NSArray *languages = [[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"];
“languages”array-object包含所有langauges字符串,但问题是它是用我在iPhone中定义的语言编写的。我希望所有设备都是英文版。
有没有办法实现这个目标?
答案 0 :(得分:1)
强制默认语言为“en”,然后查询语言列表并将其重新设置为上一个。这样的事情(未经过测试的思考)
NSArray *languages = [[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"];
[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"en", nil] forKey:@"AppleLanguages"];
[[NSUserDefaults standardUserDefaults] synchronize];
//your query here
//restore the previous
[[NSUserDefaults standardUserDefaults] setObject:languages forKey:@"AppleLanguages"];
[[NSUserDefaults standardUserDefaults] synchronize];
答案 1 :(得分:0)
NSArray *localIdentifiers = [NSLocale availableLocaleIdentifiers];
NSMutableArray *lanuages = [[NSMutableArray alloc]init];
for (int i = 0; i < [localIdentifiers count]; i++) {
[lanuages addObject:[[NSLocale currentLocale] displayNameForKey:NSLocaleIdentifier value:[localIdentifiers objectAtIndex:i]]];
}
NSLog(@"%@", lanuages);
尝试此操作或您可以使用其他方法
NSArray* languages = [[NSUserDefaults standardUserDefaults] objectForKey:@"AppleLanguages"];
for (int i = 0; i < [languages count]; i++) {
NSLog(@"%@", [[NSLocale currentLocale] displayNameForKey:NSLocaleIdentifier value:[languages objectAtIndex:i]]);
}