2013-12-04 2 views
1

Моя проблема в том, что у меня есть раскадровка, которая поддерживает несколько языков (6). Поскольку приложение было создано до iOS6, у меня есть 6 версий раскадровки. Теперь пользовательский интерфейс немного изменился (в основном, порядок просмотров был изменен), и я сделал изменения только в английской версии.Модификация локализованной раскадровки - конвертировать в базовый рассказ

Теперь как можно с минимальными усилиями распространять эти изменения на другие языки?
Я заметил, что с iOS6 и XCode 4.5 я могу избавиться от нескольких раскадровки и просто предоставить переведенные строки для других языков. Я нашел это answer и это tutorial, но это касается только новых проектов, ничего о том, как это сделать для старых крупных проектов.

ответ

0

Хорошо, у меня это получилось!

  1. Enable "Использование базы интернационализация" для Вас проекта (just like in этот ответ). XCode попросит выбрать базовый язык (возможно, вы выберете английский).

  2. Выберите корневую раскадровку (корневую версию, содержащую версии для всех languges) в навигаторе проекта.
    Root storyboard

  3. Тогда в "Вид/Утилиты/инспектор Файл":
    enter image description here
    Для каждого варианта изменения языка от "Interface Builder Cocoa Touch раскадровки" на "Локализуемые Строки":
    enter image description here
    XCode будет попросите подтвердить преобразование.

  4. Перед испытанием НЕПРЕРЫВНОЕ ПРИМЕНЕНИЕ ОТ УСТРОЙСТВА. Простой запуск из XCode не удаляет старые файлы раскадровки с устройства, и вы можете столкнуться с некоторыми странными проблемами (так как я сделал некоторые изменения в пользовательском интерфейсе, я испытал некоторые необработанные исключения).

  5. Проверьте, что все работает, и все переведено правильно. При необходимости добавьте отсутствующий перевод.

Эта процедура сделала работу для меня, с этим большой икотой, описанной в стадии NR 4.

Смежные вопросы