我在我的iPad应用程序中使用InAppSettingsKit,包括英语,德语和日语的本地化字符串。一切正常,但我希望能够在应用程序中切换语言,InAppSettingsKit似乎不支持这一点。这是我的showSettings方法:
// show the inapp settings view
-(void) showSettings
{
IASKAppSettingsViewController *settingsViewController = [[IASKAppSettingsViewController alloc] initWithStyle:UITableViewStyleGrouped];
settingsViewController.delegate = self;
settingsViewController.showDoneButton = YES;
UINavigationController* navController = [[UINavigationController alloc] initWithRootViewController:settingsViewController];
[self presentModalViewController:navController animated:NO];
}
因此每次都会重新创建设置VC,但似乎会重新使用初始应用开始时的语言选择。
用户的语言选择既写在[NSUserDefaults standardUserDefaults]
中的私人“语言”设置以及“AppleLanguages”数组中。
旧语言信息在何处/如何缓存?
答案 0 :(得分:1)
这是iOS的标准行为,通常您不应该更改它。您可以使用NSUserDefaults中的AppleLanguages键(或其他键)更改它,但AFAIK在应用启动后当前语言始终是静态的。