Языковой перевод в iphone - PullRequest
1 голос
/ 25 июля 2011

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

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

, но он не работает.

1 Ответ

1 голос
/ 25 июля 2011

Вы можете сделать это с:

-[NSBundle localizedStringForKey:value:table:]

В документах есть небольшая выборка. По сути, вам нужно создать файл MyTable.strings с нужными вам локализациями. Создайте один файл на нужный вам язык. Затем выполните:

NSBundle *bundle = [NSBundle mainBundle];
NSString *localizedString = [bundle localizedStringForKey:@"TheKeyYouWantToLocalize"]
                                                    value:@"TheDefaultValue" 
                                                    table:@"MyTable"];

Этот метод будет искать ключ: @"TheKeyYouWantToLocalize" в MyTable.strings файле, если он найден, он вернет, иначе он вернет @"TheDefaultValue"

К вашему сведению, это тот же процесс, который система использует при локализации приложения. (Слышно NSLocalizedString?), Но теперь вам нужно сделать это вручную, поскольку вы просите пользователя показать язык, а не полагаться на язык системы.

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