Локализация по местоположению или региону?

Как сделать локализацию независимой от настроек ОС? Например, если язык устройства en-US, но я хочу, чтобы пользователь мог настроить приложение для работы с использованием локализации на иврит.
В моем случае у меня есть приложение, которое в экстренных случаях пользователь (в Израиле ) нужно позвонить по номеру (101).
Я сделал локализацию на иврит и английский язык для этого приложения, и когда пользователь переключается на английский язык, номер набора и картинка меняются на 911. Но что, если пользователь в Израиле хочет использовать английский язык на своем айфоне? ему не нужен 911, ему нужен 101.
Я подумал, может быть, создать таблицу со всеми номерами, а не с конкретным номером, но доступ к списку номеров не будет быстрым и легким для набора из-за нескольких номеров.
Можно ли сделать локализацию по локации или как-нибудь еще?

Я ценю помощь.


person Maor Zohar    schedule 05.04.2012    source источник


Ответы (1)


запрос NSLocale для NSLocaleCountryCode. Значения из [NSLocale currentLocale] не зависят от настройки языка, они зависят от настроек региона.

Это значения для моего currentLocale. Язык установлен английский, а регион - Германия.

NSLocaleIdentifier   : de_DE
NSLocaleLanguageCode : de
NSLocaleCountryCode  : DE

preferredLanguages are: 

en,
fr,
de,
ja,
[...]

больше фантазии: используйте геолокацию, чтобы выяснить фактическое местоположение устройства. Возможно, ваши пользователи путешествуют за пределы своей страны ;-)

person Matthias Bauch    schedule 05.04.2012