2011-04-21 1 views
15

Я ищу способ извлечь все локализуемые строки из файлов .xib и сохранить их в одном файле.Как извлечь все локализуемые строки из всех файлов XIB в один файл?

Вероятно, это связано с ibtool, но я не смог определить способ объединения всех этих только один словарь перевода (может быть .strings, .plist или что-то еще).

+0

Вы нашли ответ? – Lukasz

+0

@ Lukasz не полностью один, но я обязательно отправлю ответ, когда у меня будет решение. – sorin

ответ

32

Открыть терминал и перейдите в корневой директории проекта (или каталог, где хранятся все файлы XIb) и введите эту команду:

find . -name \*.xib | xargs -t -I '{}' ibtool --generate-strings-file '{}'.txt '{}' 

Волшебство находка и xargs команды работают вместе. -I вариант создает местозаполнитель. -t - только для подробного вывода (вы видите, какие команды были сгенерированы и выполнены). Он генерирует файлы txts с тем же именем, что и файлы xib в том же каталоге. Эта команда может быть улучшена, чтобы объединить вывод в один файл, но все же является хорошей отправной точкой.

Объединение их вместе:

Вы можете объединить эти недавно созданные файлы в один, используя аналогичную команду терминала:

find . -name \*.xib.txt | xargs -t -I '{}' cat '{}' > ./xib-strings-concatenated.txt 

Эта команда поместит все строки в один файл XIB-струнные-сцепляются. txt в корневом каталоге.

Вы можете удалить созданные частичные файлы (если вы хотите) с помощью функции поиска и xargs снова:

find . -name \*.xib.txt | xargs -t -I '{}' rm -f '{}' 
+1

Отличный ответ. Есть ли веб-ресурс, где я могу узнать, как создавать такие инструменты командной строки? –

+0

@TusharKoul Bash скрипты docs и учебники? ;-) – Lukasz

+0

да .. Я надеялся, что вы можете указать мне конкретный ресурс, на который вы всегда ссылаетесь. В любом случае, я думаю, я чувствовал себя слишком ленивым для google: D –

5

это намного проще.

в Xcode, выберите проект (не цель)

затем используйте меню/редактор/экспорт для локализации

Xcode будет выводить файл XLIFF со всеми localisable строк из всего проекта.

+0

делает это только от xibs? или из .m файлов тоже? –

+0

Включает ли он все возможные строки из xib или раскадровки? F.ex: названия для всех состояний кнопок? – Lukasz

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