Язык загружается из NSUserDefaults. В соответствии с this , вы можете переопределить его, например, [[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObject:@"en"] forKey:@"AppleLanguage"]
и перезапустить приложение.
Теперь проблема в том, что вам нужно перезапустить приложение! Один ужасный способ может быть примерно таким (непроверенным):
UIApplication * app = [UIApplication sharedApplication];
[app openURL:...];
[[NSNotificationCenter defaultCenter] postNotificationName:UIApplicationWillTerminateNotification object:nil userInfo:nil];
[app.delegate applicationWillTerminate:app];
exit(0);
, где ...
- это URL-адрес HTTP, который перенаправляет на пользовательскую схему URL, которую обрабатывает ваше приложение (ewwww).
Я не знаю простого способа перезагрузить интерфейс / языки без перезапуска приложения.