2013-09-28 2 views
3

Я использую несколько раскадровки, и я только решил их локализовать (файлы .strings были созданы Xcode).Проблема локализации многопользовательской рассылки IO7

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

Xcode screenshot

Во время выполнения локализации работает только на главной раскадровки. Также работает локализация с помощью Localizable.strings. Но это не на других раскадровки.

Я попытался перезапустить Xcode, но ничего не изменил. (cf Base internationalization and multiple storyboard not working right)

Мои локализованные раскадровки были предварительно скомпилированы. Я добавлю другую раскадровку, локализую ее и комментирую, она терпит неудачу с этой ошибкой:

*** Завершение приложения из-за неперехваченного исключения «NSInvalidArgumentException», причина: «Не удалось найти раскадровку под названием« Обслуживание »в комплект NSBundle (...)

У вас есть идея решить эту проблему?

ответ

0

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

В целях реализации языка в раскадровке:

  1. Выберите раскадровки
  2. На правой панели перейдите на вкладку Inspector File (первая слева)
  3. В локализации , проверьте все языки

У вас есть два способа локализовать раскадровку:

  • Либо вы решили создать .strings файл для вашего языка, выбрав Localizable строк, это будет генерировать список строк Xcode, найденный в раскадровке.
  • Или вы можете создать «суб» -страницу, выбрав Интерфейс Builder Cocoa Touch Storyboard, который создает другую версию вашей раскадровки для определенного языка.

До сих пор я нашел только один способ обновить файл .strings в xcode, если вы добавляете новые строки: просто снимите флажок и перепроверьте язык и выберите «Заменить файл», когда его спросят.Apple also provides a tool вы можете использовать в терминале. Наконец there's a script, который делает это автоматически.

0
  • Открыть раскадровка файл
  • См правую панель, на первой вкладке (идентичности) на участке локализации, снимите флажок «Base»
  • Вы должны быть предложено диалоговое окно, независимо от того, что ответ проблема должна быть фиксированным.

Теперь вы видите, что фазы сборки правильные, и вы должны иметь возможность запускать свой проект.

0

Одной из причин красных Localizable.strings или других файлов локализации, которые не могут быть скопированы в «Ресурсы копирования ресурсов», могут быть настройки для «локального региона разработки локализации» в ваших целевых настройках.

Этот регион должен быть добавлен в «Локализации» вашего проекта.

I.e. если «локальный регион разработки локализации» равен «en», тогда в настройках вашего проекта следует добавить «английский» как «Локализация».

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