2013-10-09 24 views
4

我在iOS 7中使用本地化,并具有德语和英语的本地化字符串文件。 当我选择相应的语言时,本地化工作就完美了。但是,如果我切换到任何其他语言,那么显示将基于上一次的选择。iOS 7中的本地化:选择以前使用的语言设置

我希望它选择英语incase任何其他语言的选择,任何想法,将不胜感激。

回答

6

AFAIK,这种行为是一种功能,但没有证件? :)

在iOS7中,用户可以设置首选语言的排序列表。例如;一名法语用户流利用德语,但不用英语,可以将法语,德语和英语设置为语言偏好。这是一个很棒的功能!

所以,我认为你不应该重写此功能。

用户可以轻松设置英语为第二语言,选择第一英语,然后选择首选的主要语言。

2

使用在你的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"]; 
+0

此解决方案具有危险的副作用,如下所述:http://stackoverflow.com/questions/19497047/applelanguages-value-overrides-the-value-of-language-set-in-ios-settings-preferr ?RQ = 1 – viggio24