Смена языка после выбора опции из выпадающего списка в iphone - PullRequest
0 голосов
/ 06 июля 2011

Я работал с языковой локализацией. Я хочу менять язык своего приложения всякий раз, когда я выбираю язык из выпадающего списка, который присутствует в моем приложении, то есть он должен менять язык без изменения языка устройства.подскажите пожалуйста как мне реализовать

Заранее спасибо

Ответы [ 4 ]

2 голосов
/ 06 июля 2011
0 голосов
/ 06 июля 2011
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
    NSMutableArray *languages = [NSMutableArray arrayWithArray:[defaults objectForKey:@"AppleLanguages"]];

    [languages replaceObjectAtIndex:0 withObject:@"fr"];

    [defaults setObject:languages forKey:@"AppleLanguages"];
    [defaults synchronize];

Это установка языка на французский. Просто установите на позицию 0, какой язык вы хотите загрузить.

0 голосов
/ 06 июля 2011

Вы можете настроить пользователя AppleLanguages ​​по умолчанию.Пример ниже показывает, как это можно сделать;в частности, здесь я переключаю первый (по умолчанию) на второй язык.



    NSArray *lang = [[NSUserDefaults standardUserDefaults] arrayForKey:@"AppleLanguages"];
    NSLog(@"current lang: %@",lang);
    [[NSUserDefaults standardUserDefaults] setObject:[NSArray arrayWithObjects:
                                                      [lang objectAtIndex:1],
                                                      [lang objectAtIndex:0],
                                                      nil]
                                              forKey:@"AppleLanguages"];
0 голосов
/ 06 июля 2011

Вы можете сделать это, но это не будет хорошо работать со встроенными функциями локализации в Foundation (например, NSLocalizedString), поэтому вам нужно будет игнорировать их и написать свою собственную функцию получения строк, XIB-loading путь и т. д.

Вопрос и ответ здесь охватывают, как получить доступ к локализациям в комплекте на лету, как это: Переопределение предпочтительной локализации строк на лету для тестирования

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