InAppSettingsKit с несколькими локализациями
Я использую InAppSettingsKit в своем приложении для iPad, включая локализованные строки для английского, немецкого и японского языков. Все работает просто отлично, но я хотел бы иметь возможность переключать языки в приложении, и это не поддерживается 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".
Где / как кэшируется информация о старом языке?
1 ответ
Это стандартное поведение iOS, и обычно вы не должны стремиться изменить его. Возможно, вы могли бы изменить его, используя ключ AppleLanguages (или другой ключ) в NSUserDefaults, но AFAIK текущий язык всегда статичен после запуска приложения.