我在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