2012-04-04 11 views
0

でのViewControllerをリロード:言語に切り替えると、私は言語に切り替えるには、以下のコードを使用していますIOS

-(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"); 
} 

しかし、それは動作しません。どこが間違っていますか?

答えて

2

AppleLanguagesキーを設定すると、ファイルでのみ動作し、UIApplicationMainが呼び出されます。それ以外の時間に値を変更しようとすると、その値は変更されません。

実行時に言語を変更するサポートが必要な場合は、独自のローカライゼーション機能をロールバックする必要があります。

+0

うーん、私は参照してください。自分のローカリゼーションを展開するとどういう意味ですか? – Burak

+0

私は、現在設定されている言語をチェックする独自のXYXLocalizedStringを作成し、適切な.stringsファイルを読み込んで文字列値を取得する必要があることを意味します。 –

+0

ありがとう、ありがとう。試してみます。 – Burak

関連する問題