локализация приложений для iPhone - PullRequest
1 голос
/ 11 января 2012

В моем 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 ....

1 Ответ

3 голосов
/ 11 января 2012

Ваше приложение не должно предоставлять выбор языка.
Пользователи, вероятно, имеют предварительные знания о том, как изменить предпочитаемый язык, перейдя в «Основные»> «Международный»> «Язык» в приложении «Настройки».

Более подробная информация в Apple Руководство по программированию интернационализации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...