具有多个本地化的InAppSettingsKit

时间:2012-12-30 15:04:18

标签: ios cocoa-touch localization settings.bundle inappsettingskit

我在我的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”数组中。

旧语言信息在何处/如何缓存?

1 个答案:

答案 0 :(得分:1)

这是iOS的标准行为,通常您不应该更改它。您可以使用NSUserDefaults中的AppleLanguages键(或其他键)更改它,但AFAIK在应用启动后当前语言始终是静态的。