В моем 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"];
Он работает нормально и показывает турецкий язык в моем приложении, кроме родного языка iPhone. Но я хочу разрешить пользователю изменять язык с помощью кнопок, например, если пользователь нажимает кнопку на английском языке, должен открыться диалог, приложение будет перезапущено, и ваш язык будет изменен.
Как это сделать?
Я использую iOS 5 ....