Пакетная локализация с использованием IBTools? - PullRequest
7 голосов
/ 29 апреля 2011

Есть ли способ запустить IBTools для нескольких файлов NIB с помощью одной команды?Я пытаюсь извлечь строки из NIB.Должен ли я запускать ibtools один раз для каждого NIB?

Я нахожу утомительным запускать IBTools так много раз.(У меня только 9 файлов NIB. Могло быть и хуже ...)

Ответы [ 2 ]

8 голосов
/ 29 апреля 2011

Я не думаю, что ibtool может принимать несколько файлов в качестве аргумента. Единственный способ увидеть это - написать скрипт bash для выполнения этой задачи.

#!/bin/bash

find . -name "*.xib" | while read FILENAME;
do
  ibtool --export-strings-file $FILENAME.strings $FILENAME
done
3 голосов
/ 11 сентября 2012

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

#!/bin/bash
# Argument = -o output_dir -i input_dir

usage()
{
cat << EOF
usage: $0 [options]

This script generates strings files from all xibs in a given directory.

OPTIONS:
   -h      Show this message
   -i      Input directory where XIBs are located [./]
   -o      Output directory where .strings files will be generated
EOF
}

INPUT_DIRECTORY="."
OUTPUT_DIRECTORY="."

while getopts “hi:o:” OPTION
do
     case $OPTION in
         h)
             usage
             exit 1
             ;;
         i)
             INPUT_DIRECTORY=$OPTARG
             ;;
         o)
             OUTPUT_DIRECTORY=$OPTARG
             ;;
         ?)
             usage
             exit
             ;;
     esac
done

if [[ -z $INPUT_DIRECTORY ]] || [[ -z $OUTPUT_DIRECTORY ]]
then
     usage
     exit 1
fi

# do the generation

find $INPUT_DIRECTORY -name "*.xib" | while read FILENAME;
do
  XIBNAME=$(basename "$FILENAME")
  XIBNAME="${XIBNAME%.*}"
  ibtool --generate-strings-file $OUTPUT_DIRECTORY/$XIBNAME.strings $FILENAME
done
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...