我在iOS 7中使用本地化,并具有德语和英语的本地化字符串文件。 当我选择相应的语言时,本地化工作就完美了。但是,如果我切换到任何其他语言,那么显示将基于上一次的选择。iOS 7中的本地化:选择以前使用的语言设置
我希望它选择英语incase任何其他语言的选择,任何想法,将不胜感激。
我在iOS 7中使用本地化,并具有德语和英语的本地化字符串文件。 当我选择相应的语言时,本地化工作就完美了。但是,如果我切换到任何其他语言,那么显示将基于上一次的选择。iOS 7中的本地化:选择以前使用的语言设置
我希望它选择英语incase任何其他语言的选择,任何想法,将不胜感激。
AFAIK,这种行为是一种功能,但没有证件? :)
在iOS7中,用户可以设置首选语言的排序列表。例如;一名法语用户流利用德语,但不用英语,可以将法语,德语和英语设置为语言偏好。这是一个很棒的功能!
所以,我认为你不应该重写此功能。
用户可以轻松设置英语为第二语言,选择第一英语,然后选择首选的主要语言。
使用在你的main.m下面检查
NSString * deviceLanguage = [[NSLocale preferredLanguages] objectAtIndex:0];
NSArray *supportedLanguages = [NSArray arrayWithObjects:@"en",@"de", nil];
if ([supportedLanguages containsObject:deviceLanguage])
[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:deviceLanguage, nil] forKey:@"AppleLanguages"];
else
[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"en", nil] forKey:@"AppleLanguages"];
此解决方案具有危险的副作用,如下所述:http://stackoverflow.com/questions/19497047/applelanguages-value-overrides-the-value-of-language-set-in-ios-settings-preferr ?RQ = 1 – viggio24