2

NSLocalizedStringを使用しているインスタンスが約100あり、複数のディレクトリにある複数のファイルに分散しています。

私は最初に高レベルのディレクトリからこのコマンドを使用して.stringsファイルを生成しようとしました。

find . -name \*.m | xargs genstrings -o en.lproj

しかし、その結果、エラーが発生しました。

couldn't connect to output directory en.lproj

だから私はこれを実行しました:

find . -name \*.m | xargs genstrings

これによりLocalizable.stringsファイルが生成されましたが、その内容は2つのファイルからNSLocalizedStringオカレンスのみを取得しました。これは偶然に同じディレクトリにあるとは限りません。

コマンドが1つのディレクトリのみを処理してから停止するのはなぜですか。上位レベルのディレクトリHからコマンドを実行していて、これらのソースファイルがMで見つかったため、コマンドはH / Mを見つけましたが、NSLocalizedStringインスタンスを含む.mファイルを含むH / AH/BなどのMへのピアディレクトリがあります。

なぜ問題が発生する可能性があるのか​​考えてみてください。

4

3 に答える 3

2

名前にスペースが含まれているフォルダーでは、genstringsが壊れていると思います。これは私のために働いた:

find . -name "*.m" -print0 | xargs -0 genstrings -o "OUTPUT_FOLDER"
于 2014-01-03T20:29:30.553 に答える
0

catを使用してすべてのファイルを1つに連結し、その上でgenstringsを実行して取得しました。

しかし、好奇心のためにそれなしでは機能しなかった理由を知りたいと思います。

于 2012-11-01T20:44:27.260 に答える
-1

en.lprojコマンドを実行しているディレクトリ(おそらく.xcodeprojが存在する場所)に呼び出されたディレクトリがあることを確認してください。存在しない場合は、作成するだけです。

于 2012-11-01T18:41:47.313 に答える