あちこち参考にして、プリプロセッサの出力からカタログデータを抜きだす物をテキトーに作ってみました。スクリプトの中身はもっとスマートに、数も1本に出来そうな気もするけど、sed神の降臨を待つしかない!!
t1.sed
C文字列の連結と、be_catalog->GetString()およびBCatalogAddOn::MarkForTranslation()の切り出し。(1行にGetString()などが複数個ある場合への対応。)
t2.sed
be_catalog->GetString()およびBCatalogAddOn::MarkForTranslation()から、キー文字列と、コンテキスト文字列を抜きだす。GetString()には、第3引数もあるみたいだけど、使ってないようなのでパス。
gcc -E AntialiasingSettingsView.cpp > AntialiasingSettingsView.cpp.tmp※キー文字列中に、"やタブがあってもキニシナイ!!
cat AntialiasingSettingsView.cpp.tmp | sed -f t1.sed | sed -f t2.sed | sort | uniq > out.txt
後は、前回のテストプログラムを参考に、この出力からcatkeyを生成するプログラムを作ればOK?
0 件のコメント:
コメントを投稿