0

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」配列の両方に書き込まれます。

古い言語情報はどこに/どのようにキャッシュされますか?

4

1 に答える 1

1

これはiOSの標準的な動作であり、通常は変更することを目的とすべきではありません。NSUserDefaultsのAppleLanguagesキー(または他のキー)を使用して変更することもできますが、アプリの起動後、現在の言語は常に静的です。

于 2012-12-31T13:35:21.100 に答える