Вы можете сделать это с:
-[NSBundle localizedStringForKey:value:table:]
В документах есть небольшая выборка. По сути, вам нужно создать файл MyTable.strings с нужными вам локализациями. Создайте один файл на нужный вам язык.
Затем выполните:
NSBundle *bundle = [NSBundle mainBundle];
NSString *localizedString = [bundle localizedStringForKey:@"TheKeyYouWantToLocalize"]
value:@"TheDefaultValue"
table:@"MyTable"];
Этот метод будет искать ключ: @"TheKeyYouWantToLocalize"
в MyTable.strings файле, если он найден, он вернет, иначе он вернет @"TheDefaultValue"
К вашему сведению, это тот же процесс, который система использует при локализации приложения. (Слышно NSLocalizedString
?), Но теперь вам нужно сделать это вручную, поскольку вы просите пользователя показать язык, а не полагаться на язык системы.