2016-04-28 4 views
0

localizationの文字列を抽出しようとしています。文字列の一部にNSLocalizedStringsとタグ付けされているファイルが非常に多く、そのうちのいくつかはありません。ローカライゼーションのために二重引用符で文字列を抽出する方法

NSLocalizedStringsibtoolgenstringsで取得できますが、NSLocalizedStringを除いたプレーンな文字列を抽出できません。

私は正規表現が得意ではないんだけど、私はこの"[^(]@\"" を思い付いたとgrepの助けを借りて:

grep -i -r -I "[^(]@\"" * > out.txt 

それは働いていた、とすべての文字列が実際にtxtファイルにつかんましたが、私は唯一のgrepは@"New Sketch" PAをつかむことを期待

..... initWithTitle:@"New Sketch"..... 

:私のコードの行が存在する場合の問題は、

ですrt、それは全体の行をつかむ。

したがって、out.txtファイルでは、望ましくない行とともに、initWithTitle:@"New Sketch"が表示されます。

二重引用符で囲んだ文字列だけを取り込む正規表現を書くにはどうすればよいですか?

hereに記載されている正規表現でgrepコマンドを試しましたが、構文エラーが発生しました。 EXのために

、私が試した:あなたのプロジェクトを開き、

grep -i -r -I (["'])(?:(?=(\\?))\2.)*?\1 * > out.txt 

をし、それは私にXcodeで

-bash: syntax error near unexpected token `(' 
+0

私は最初の括弧について話していると思います。 'grep -i -r -I('引用符で囲まれた文字列が必要だと思います。 – Laurel

+0

xcodeでエクスポート/インポートツールを使用できないのはなぜですか? –

+0

私はいつもそれを使いたいと思っています。 @EugeneZhenyaGordin –

答えて

0

を与えました。エディタ - >ローカリゼーション用にエクスポート...を選択すると、ファイルのフォルダが作成されます。ローカリゼーション用にマークされたものはすべてそこから抽出されます。あなた自身でそれを解析する必要はありません。 XML形式になります。

もしあなたが邪魔にならないようにしたいのであれば、それらのファイルをあなたが今しようとしている方法で解析することができますか?また、ストーリーボードの文字列もそこにあります、btw。

+0

答えをくれてありがとうございます。しかしこれを行うと、NSLocalizedStringsとしてタグ付けされた文字列だけがエクスポートされますが、文字列。 –

+0

ストーリーボードのローカリゼーションが完了しました。これらのクラスファイルは残っています。 –

+1

それは正しい...私はそのようなローカリゼーションを行った。最初にマークされていないすべての文字列にNSLocalizedStringを追加する方が簡単です。そうしないと、常にこの痛みが発生します。特に文字列の追加/変更。 –

関連する問題