15

.xibファイルからすべてのローカライズ可能な文字列を抽出し、それらすべてを 1 つのファイルに保存する方法を探しています。

おそらくこれには関係ibtoolがありますが、これらすべてを1つの翻訳辞書にマージする方法を決定できませんでした(.strings.plistまたは他の何かである可能性があります)。

4

2 に答える 2

37

ターミナルを開き、cd でプロジェクトのルート ディレクトリ (またはすべての XIB ファイルを保存するディレクトリ) に移動し、次のコマンドを入力します。

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

マジックは、find コマンドと xargs コマンドが連携して動作することです。-I オプションはプレースホルダーを生成します。-t は詳細出力用です (生成および実行されたコマンドを確認できます)。同じディレクトリに xib ファイルと同じ名前の txt ファイルを生成します。このコマンドは、出力を 1 つのファイルに連結するように改善できますが、それでも出発点としては適しています。

それらを結合する:

同様の端末コマンドを使用して、これらの新しく作成されたファイルを 1 つに連結できます。

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

このコマンドは、すべての文字列をルート ディレクトリの 1 つのファイル xib-strings-concatenated.txt に配置します。

find と xargs を再度使用して、生成された部分ファイルを (必要に応じて) 削除できます。

find . -name \*.xib.txt | xargs -t -I '{}' rm -f '{}'
于 2011-10-13T13:31:27.837 に答える