2009-12-31 3 views
2

Как часть проекта i18n, мне нужно программно извлечь строки из файла NIB. Конечно, это можно сделать с помощью ibtool. Но это кросс-платформенный продукт, частью которого является НИБ. Было бы неплохо, если бы нам не пришлось блокировать извлечение строк на определенную машину или пришлось бы клонировать вместе сценарии слияния каталогов.Существуют ли альтернативы ibtool для синтаксического анализа файлов NIB?

Итак, я понимаю, что это длинный снимок, так как спрос на это, вероятно, довольно низок, но есть ли альтернативы ibtool с открытым исходным кодом? Есть ли какая-либо документация в формате NIB достаточно надежная, чтобы написать парсер?

ответ

2

Если вы используете XIB, то это простые XML-файлы. Просто найдите string элементов, имеющих ключ NSContents. Если вы знакомы с синтаксическим анализом XML, не нужно долго перерабатывать --export-strings-file практически на любом языке.

Если вы не можете перейти на XIB, вы можете прочитать keyedobjects.nib, который представляет собой двоичный диск. Один портативный считыватель - это реализация Perl plutil.pl. Вы также можете посмотреть открытый исходный код Apple, чтобы обрабатывать их в CFBinaryPlist.c. Если вам нужно пройти этот путь, посмотрите на OpenCFLite. Чтение и письмо Плиты - ключевая причина, по которой люди используют переносной Core Foundation.

+0

Я не знал о XIB; именно то, что я искал, спасибо! – DNS

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