Какао / iPhone: Как мне не дать ibtool выводить нелокализуемые строки в xib-файле? - PullRequest
0 голосов
/ 05 марта 2009

Я работаю над интернационализацией приложения для iPhone, и я использую ibtool для извлечения строки из моих файлов xib, чтобы они могли быть переведены домом локализации следующим образом:

ibtool --generate-strings-file BlahBlahView.strings English.lproj/BlahBlahView.xib

Проблема в том, что файл .strings, который я получаю, содержит все строки, содержащиеся в xib, когда я действительно хочу подмножество, которое мне действительно нужно для i18n. Есть ли лучшая практика для борьбы с этим? В идеале я хотел бы иметь возможность добавить какую-то аннотацию в конструкторе интерфейса, чтобы сказать «Это локализуемо» или «Это не локализуемо», и чтобы ibtool выводил только локализуемые строки, когда я его запускаю.

Спасибо!

Редактировать: ОК, позвольте мне немного расширить параметры. Решение не должно использовать только ibtool. Ibtool + некоторые данные в сценарии оболочки xib + в порядке. Пока это работает!

Ответы [ 3 ]

3 голосов
/ 08 марта 2009

Ibtool чрезвычайно многословен в своих выходных строковых файлах и генерирует помехи по идентификатору объекта, а не по уникальной исходной строке. Этот тип вывода чрезвычайно полезен, когда вы пытаетесь воссоздать конструктор интерфейса или иным образом нуждаетесь в обширном контроле над объектами в ваших файлах xib, но в меньшей степени, когда вы просто хотите локализовать свое программное обеспечение.

Matteo на Digitalwaters.net нашел способ преобразовать выходные данные из ibtool в формат, используемый nibtool, его предшественником, который был менее мощным, но намного проще в использовании для локализации. Подробнее здесь .

Я изменил его сценарии, чтобы упростить локализацию нашего приложения Mac OS X, и они хорошо работают для меня. Удачи:)

1 голос
/ 07 марта 2009

Я думаю, вы можете автоматизировать это, но это займет несколько шагов. Вы можете извлечь произвольные свойства из вашей xib с помощью ibtool, так что, возможно, вы можете установить для тега нелокализуемых элементов определенное значение (например, -1), затем извлечь теги и использовать его для фильтрации файла строк и удаления нежелательные записи.

проверьте справочную страницу для ibtool, в частности параметр -export.

0 голосов
/ 16 декабря 2010

ibtool не выводит записи для пустых строк. Так, например, если вы оставите текст UILabel пустым, он не будет включен в вывод ibtool --generate-strings-file. Затем вы можете установить текст элементов в контроллере представления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...