Интернационализация пользовательского интерфейса

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

Используя основную интернационализацию

Основная интернационализация разделяет бывшие обращенным к пользователю строки от .storyboard и .xib файлы. Это уменьшает localizers потребности изменить .storyboard и .xib файлы в Интерфейсном Разработчике. Вместо этого приложение имеет всего один набор .storyboard и .xib файлы, где строки находятся на языке разработки — язык, который Вы раньше создавали .storyboard и .xib файлы. Они .storyboard и .xib файлы вызывают основной интернационализацией. При экспорте локализаций строки языка разработки являются источником, переводящимся на многократные языки. При импорте локализаций XCode генерирует специфичные для языка строковые файлы для каждого .storyboard и .xib файл. Строковые файлы не появляются в навигаторе проекта, пока Вы не импортируете локализации или добавляете языки.

В Xcode 5 и позже, основная интернационализация включена по умолчанию. Если Вы имеете более старый проект, включаете основную интернационализацию перед продолжением, как описано во Включении Основной Интернационализации.

Используя автоматическое расположение

Используйте Автоматическое Расположение для разметки представлений друг относительно друга без фиксированных источников, ширин и высот, так, чтобы представления изменили местоположение и изменили размеры соответственно, когда изменяются язык или локаль. Автоматическое Расположение позволяет иметь один набор .storyboard и .xib файлы для всех языков.

Следуйте этим советам при использовании Автоматического Расположения для интернационализировавших приложений:

Удалите фиксированные ограничения ширины. Позвольте представления, что дисплей локализовал текст для изменения размеров. При использовании фиксированных ограничений ширины локализованный текст может казаться обрезанным на некоторых языках.

Используйте внутренние размеры содержания. Поведение по умолчанию для текстовых полей и меток состоит в том, чтобы изменить размеры автоматически. Если представление не корректируется к размеру локализованного текста, выберите представление и выберите Editor> Size To Fit Content.

Используйте ведущие и запаздывающие атрибуты. При добавлении ограничений используйте атрибуты leading и trailing для горизонтальных ограничений. Для слева направо языков, таких как английский, атрибуты leading и trailing эквивалентны left и right. Для справа налево языка, такого как иврит или арабский язык, leading и trailing эквивалентны right и left. leading и trailing атрибуты являются значениями по умолчанию для горизонтальных ограничений.

Контакт просматривает к смежным представлениям. Прикрепление вызывает цепную реакцию. Когда одно представление изменяет размеры для адаптации локализованному тексту, другие представления делают то же. Иначе, представления могут наложиться на некоторых языках.

Постоянно тестируйте свои изменения макета. Протестируйте свое приложение с помощью различных настроек языка, как описано в Тестировании Международного приложения.

Не устанавливайте минимальный размер или максимальный размер окна. Позвольте окну и довольному, что представление корректируется к размеру содержания представлений, которые могут измениться, когда изменяется язык.

Автоматическое Расположение включено по умолчанию при создании нового проекта. Для включения Автоматического Расположения для более старого проекта считайте Принятие Автоматического Расположения в Автоматическом Руководстве по Расположению. Чтобы изучить, как добавить ограничения и решить ограничительные вопросы, считайте Автоматическое Руководство по Расположению.

Обнаружение проблем Используя псевдолокализации

В Интерфейсном Разработчике можно предварительно просмотреть пользовательский интерфейс с помощью псевдолокализаций для обнаружения Автоматических проблем Расположения. Прежде чем Вы локализуете свое приложение и добавите языки, только псевдолокализации доступны в Интерфейсном Разработчике.

Предварительно просматривать пользовательский интерфейс в псевдолокализации

  1. В навигаторе проекта выберите .storyboard или .xib файл Вы хотите предварительно просмотреть.

  2. Выберите View> Assistant Editor> Show Assistant Editor.

  3. В панели перехода заместителя редактора откройте всплывающее меню Ассистента, прокрутите к элементу Предварительного просмотра и выберите .storyboard или .xib файл.

    Если предварительный просмотр пользовательского интерфейса приложения не появляется в заместителе редактора, выберите окно или просмотрите Вас, хотят предварительно просмотреть в представлении схемы или значке.

  4. В заместителе редактора выберите псевдолокализацию, которую Вы хотите использовать от всплывающего меню языка в нижнем правом углу.

    ../Art/ib_preview_double_length1_2x.png

    Например, выберите «Double-Length Pseudo-Language» из меню для замены всех бывших обращенным к пользователю строк двойными строками. Предварительный просмотр локализации появляется в заместителе редактора.

    ../Art/ib_preview_double_length_2x.png

Включение основной интернационализации

Проверьте, что Ваш проект использует основную интернационализацию и, если необходимо, включите его перед продолжением.

Включить основную интернационализацию

  1. В навигаторе проекта выберите проект (не цель) и нажмите Info.

  2. Если необходимо, щелкните по треугольнику раскрытия, следующему за Локализациями для раскрытия настроек.

    ../Art/bi_disabled_2x.png
  3. Если необходимо, установите флажок Use Base Internationalization.

  4. В диалоговом окне, появляющемся, укажите язык разработки для Вашего .storyboard и .xib файлы.

    Выберите .storyboard и .xib файлы в столбце Resource File и язык разработки в столбце Reference Language.

    ../Art/bi_enabled_dialog_2x.png

    XCode изменяет Вашу папку проекта согласно выборам, которые Вы делаете в этом диалоговом окне. XCode создает a Base.lproj папка в Вашей папке проекта и добавляет к нему файлы ресурсов, которые Вы выбираете. XCode создает папку языка для языка разработки, но только добавляет ресурсы, которым нужен перевод в папку. Например, при выборе English как языка разработки XCode вставляет файл ресурсов в Base.lproj папка проекта, но не en.lproj папка, потому что ресурс уже находится на английском языке.

    Если никакие ресурсы не появляются в диалоговом окне, добавьте Ваш .storyboard и .xib файлы на язык, как описано в Добавлении Дополнительных Ресурсов к Папкам Языка, и повторяют эти шаги.

  5. Нажмите кнопку Finish.

    В таблице Language число локализованных файлов ресурсов для Языка Разработки изменяется от 0 до числа файлов, которые Вы выбрали.

    ../Art/bi_enabled_2x.png