2013-12-10 5 views
5

У меня есть следующая файловая структура для локализации.Файл строк локализации не работает с xib в Xcode 5

A.xib

-> A.xib (Base)

-> A.strings (испанский)

-> A.strings (английский)

Поскольку «Использовать базовую интернационализацию». Мы можем ожидать наличия только одного файла xib и требуемого файла строк для локализации.

Но, как только я преобразую этот файл строк в .xib (где для каждого языка у нас есть .xib-файл. Это было так до Base Internationalization). Все начинается с работы симулятора iOS, и устройство реагирует на такие изменения.

Примечание: - Я также попытался сбросить симулятор, очистить и создать сборку, но не успел.

Не знаю, почему локализация терпит неудачу, когда я использую файл .strings для локализации.

Любая помощь, оцененная за небольшую ошибку, потребляющую больше времени на Xcode IDE и съедая время разработки.

+0

хороший вопрос. У меня точно такая же проблема. локализация - это полный беспорядок в XCode. – Michael

+0

Вы когда-нибудь находили решение? –

+0

Нет. Я использовал .xib. Еще один факт, который я рассматривал при перемещении из .strings в .xib, заключался в том, что одно слово на языке может потреблять 30 очков, в то время как в других он может потреблять 50 пт. – andyPaul

ответ

0

В Xcode 6 вам нужно выбрать «Использовать автоматический макет», чтобы файл строк использовался. Существует известная проблема, если вы сделаете следующее:

1)Your storyboard or XIB uses size classes. 
2)The base localization and build target are set to Universal. 
3)The build target is for iOS 7.0 

Вы можете использовать Localizable строки для создания локализованного файла XIB автоматически через Xcode, которая является то, что вам нужно сделать, если вы не включите Auto Layout.

0

Это ошибка в Xcode. Все, что вам нужно сделать, это преобразовать файл Localizable Strings в файл Interface Builder. Вы можете сделать это в разделе «Локализация» свойств файла конструктора интерфейса.

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