Ответ 1
Это ошибка. Это сводило меня с ума. Apple уже это знает.
См. ответы:
и это:
iOS 8.1 Симулятор Локализация сломана (NSLocalizedString)
(В ответе есть временное исправление, изменяющее схему)
Бест, Gigi
Язык симулятора уже изменен на японский, почему [[NSLocale preferredLanguages] objectAtIndex:0]
всегда return "en"
?
Ни предпочтительный язык, ни регион не связаны с "en", откуда "en"
исходит?
Пытался получить [[NSLocale preferredLanguages] objectAtIndex:
2 ]
, затем сбой показывает *** Terminating app due to uncaught exception 'NSRangeException', reason: '-[__NSCFArray objectAtIndex:]: index (2) beyond bounds (1)
Означает ли это, что в симуляторе нет каких-либо языков? Так странно!
Этого не произошло до обновления до Xcode 6.1 с помощью iOS8.1/7.1.
Между тем, пробовал то же самое на моем iPhone 5, консоль выводила правильную вещь.
Почему так странно? У кого-нибудь есть такие проблемы?
О! Что не так....
"en"
, японский и английский не найдены!"en"
может быть найден? Где японский и английский?Это ошибка. Это сводило меня с ума. Apple уже это знает.
См. ответы:
и это:
iOS 8.1 Симулятор Локализация сломана (NSLocalizedString)
(В ответе есть временное исправление, изменяющее схему)
Бест, Gigi
Мой симулятор iOS неожиданно начал сообщать "en"
, а не "en-US"
, поэтому кажется, что эта проблема все еще активна.
Xcode 8.2.1, iOS 10
Я пошел на языковые настройки, и были выбраны английский и США. Я выбрал Канаду и Францию и получил "fr-CA"
. Затем я переключил его и снова начал получать "en-US"
. С тех пор я не смог воспроизвести проблему "en"
.
Итак, мы не можем передать значения [NSLocale preferredLanguages]
при условии, что они будут пары Language-Region.