2009-03-05 1 views
0

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

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

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

Спасибо!

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

ответ

3

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

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

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

+2

Ссылка на ссылку более не действительна. У вас есть какая-то информация, хранящаяся в кеше? –

1

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

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

0

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

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