2012-01-11 7 views
1

iPhoneアプリケーションのローカライズ私はこのコードを使用しています私のMainViewControllerで

static NSBundle *bundle = nil; 

+(void)setLanguage:(NSString *)l { 

NSLog(@"preferredLang: %@", l); 
NSString *path = [[ NSBundle mainBundle ] pathForResource:l ofType:@"lproj" ]; 
bundle = [[NSBundle bundleWithPath:path] retain];} 


+(void)initialize { 

NSUserDefaults* defs = [NSUserDefaults standardUserDefaults]; 
NSArray* languages = [defs objectForKey:@"AppleLanguages"]; 
NSString *current = [[languages objectAtIndex:0] retain]; 
[self setLanguage:current]; 
} 

+(NSString *)get:(NSString *)key alter:(NSString *)alternate { 
return [bundle localizedStringForKey:key value:alternate table:nil];} 

そして、メインアプリケーションで

[[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:@"tr", @"en", nil] forKey:@"AppleLanguages"]; 

ITSは正常に動作し、iPhoneのネイティブ以外の私のアプリケーションでトルコ語を示します言語。しかし、ユーザーがボタンを使用して言語を変更できるようにしたいと考えています。ユーザーが英語ボタンをクリックした場合、ダイアログが開き、アプリケーションが再開され、言語が変更されます。

どうすればよいですか?

私は、iOS 5を使用しています....

答えて

3

アプリは、カスタム言語セレクタを提供してはなりません。
ユーザーは、設定アプリケーションの[一般]> [インターナショナル]> [言語]に移動して、優先言語の変更方法を事前に知っていることがあります。 AppleのInternationalization Programming Guide

+0

はいますが、その私のアプリの要件で

詳細は、私はそれを行う必要があります –