0

以下のコードを使用して言語に切り替えています。

-(void) switchToLanguage:(NSString *)lang{
[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:lang, nil] 
          forKey:@"AppleLanguages"];
[[NSUserDefaults standardUserDefaults] synchronize];
[sliderViewController refreshView];
}

それが正しいかどうかはわかりません。その後、sliderViewController のビューの更新機能で:

-(void)refreshView{
slideLabel.text = NSLocalizedString(@"To Menu", @"To Menu");
slogan.text = NSLocalizedString(@"Categories", @"Categories");
}

しかし、うまくいきません。どこが間違っていますか?

4

1 に答える 1

2

AppleLanguagesキーの設定は、呼び出されるmain.m前にファイルでのみ機能します。UIApplicationMainそれ以外のときに値を変更しようとすると、機能しません。

実行時に言語を変更するためのサポートが必要な場合は、独自のローカリゼーション関数をロールする必要があります。

于 2012-04-04T12:32:39.570 に答える