Как правильно определить язык пользователя объекта-c?

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

Мой код:

NSString *userLocale = [[NSLocale currentLocale] localeIdentifier]; NSString *userLanguage = [userLocale substringToIndex:2]; NSLog(@"%@", userLanguage); // return format "en", "es"... (english or spanish) 

Может быть, эта проблема возникает из-за того, что с помощью [NSLocale currentLocale] получить en_Us, и эти параметры зависят от региона?

Благодаря!

Если вы хотите, чтобы язык попытался

 [NSLocale preferredLanguages]; 

Он вернет массив предпочтений языка пользователя, и самый предпочтительный язык будет первым в списке.

NSLocale инкапсулирует гораздо больше, чем просто текущий язык. Такие вещи, как идентификатор валюты и что использовать для десятичного разделителя, – это всего лишь несколько. Испанский говорящий пользователь на северо-западе Соединенных Штатов может захотеть увидеть вещи на испанском языке, но, вероятно, по-прежнему ожидает увидеть доллар за валюту.

С учетом сказанного я подозреваю, что вы действительно ищете полноценную поддержку локализации, и в этом случае есть тонны информации о том, как локализовать ваше приложение. Макрос

 NSLocalizedString 

и его братья и сестры позволяют вам писать агностический код языка (по большей части).

  • Ошибка при просмотре с помощью uinavigationbar до одного без
  • Добавить еще кнопку в конце текста внутри UITextView Objective-C?
  • Лучший способ удалить повторяющиеся значения из NSMutableArray в Objective-C?
  • как открыть URL в сафари не в веб-просмотре
  • Поиск через NSMutableArray объектов с помощью NSPredicate
  • Возможно ли разобрать NSInputStream с помощью SBJson4?
  • Значение NSString, возвращаемое до запуска блока
  • UICollectionView cellForItemAtIndexPath не вызывается
  • Проблема с картой для Xcode 5 скомпилировала iPhone-приложение в iPad после обновления IOS7 (отлично работает на iPhone)
  • Autolayout + ограничения для динамической высоты таблицы на основе общих строк
  • Может ли Firebase отправлять и получать в фоновом режиме на iOS 7?
  • Давайте будем гением компьютера.