Идентификатор региональных параметров
По желанию можете удлинить изображение национального флага, вплоть до касания соответствующих голубых линий разметки.
Сохраните внесенные изменения и вернитесь в среду Xcode. Возвратившись в среду Xcode, выберите исходный файл LocalizeMeViewController.m и введите в самом его начале наш код.
Единственным элементом приведенного выше класса, заслуживающим упоминания, является метод viewDidLoad. В этом методе мы получаем сначала экземпляр объекта типа NSLocale, представляющего текущие региональные параметры пользователя, из которых мы можем узнать языковые и региональные предпочтения пользователя, указанные им в стандартном для устройства iPhone приложении Settings, NSLocale locale « [NSLocale currentLocale];
Следующая строка кода в рассматриваемом здесь методе требует более подробного пояснения. Объект типа NSLocale действует аналогично словарю. Он может предоставить нам всю необходимую информацию о текущих региональных предпочтениях пользователя, включая наименование используемой денежной единицы и предполагаемый формат даты. С полным перечнем информации, предоставляемой объектом типа NSLocale, можно ознакомиться в справочном руководстве по прикладному интерфейсу API класса NSLocale.
В этой строке кода мы извлекаем идентификатор региональных параметров (locale identifier), обозначающий язык или регион, который представляют эти региональные параметры. Для этой цели мы пользуемся методом displayNameForKey:value:, назначение которого — возвратить значение запрашиваемого элемента на конкретном языке.
Так, название французского языка по-французски должно выводиться на экран как Fransais, а по-английски - как French. Данный метод дает нам возможность извлекать сведения о любых региональных параметрах, чтобы отображать информацию в подходящем для пользователя виде. В данном случае мы получаем отображаемое название региона на языке этого региона, для чего передаем рассматриваемому здесь методу идентификатор (locale localeldentiiier] в качестве второго аргумента. Идентификатор localeldentifier представляет собой символьную строку в формате, которым мы пользовались ранее при разработке языковых проектов. Для пользователя, говорящего на американском диалекте английского языка, этот идентификатор будет иметь значение en_US, а для франкоязычного пользователя из Франции - значение f r_FR.
Получив отображаемое название региона, можем воспользоваться им для установки верхней метки в текущем представлении.
- Дата: 2-02-2015, 12:22