В чем разница между предпочитаемым местоположением и предпочтительным языком? - PullRequest
5 голосов
/ 01 марта 2012

Определение [NSLocale preferredLanguages] согласно документации:

Порядок языковых предпочтений пользователя как массив объектов NSString, каждый из которых является канонизированным идентификатором языка IETF BCP 47.

Определение [[NSBundle mainBundle] preferredLocalizations]:

Массив объектов NSString, каждый из которых определяет локализацию в связке получателя. Языки расположены в предпочтительном порядке.

Я действительно не понимаю, в чем разница. Какой из них следует использовать?

1 Ответ

4 голосов
/ 01 марта 2012

Я считаю, что язык - это просто язык, но локаль подразумевает гораздо больше (например, вычисления календаря / даты, валюта, форматирование чисел и т. Д.). Руководство по программированию локалей - краткое чтение, отличное место для начала.

В частности, +preferredLocalizations, являющийся ресурсом пакета, является компонентом самого приложения, настраиваемым во время разработки приложения, тогда как +preferredLanguages, исходя из NSLocale (кстати, это метод класса, а не метод объекта) представляет системные настройки пользователя.

Следовательно, +preferredLocalizations предоставляет язык, на котором фактически выполняется приложение, тогда как +preferredLanguages предоставляет язык, на котором пользователь предпочитает запускать свои приложения (даже если приложения еще не поддерживают его).

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