4

sample.pot ファイルを継承しました。ここで、a1.c と a2.cpp に新しいメッセージを追加しました。新しいサンプルを作成する代わりに、xgettext を使用して内容を同じ sample.pot に出力することは可能ですか? 例えば:-

xgettext -d sample -s -o sample.pot a1.c
xgettext -d sample -s -o sample.pot a2.cpp

古いメッセージも保持されるようにテンプレートを更新するために、この方法をお勧めしますか? もう 1 つの問題は、ソース コード内の翻訳可能な文字列と通常の文字列をどのように区別するかです。xgettext は、上記のソース コード ファイルからすべての文字列を取得すると想定しています。

誰かが正しいアプローチを共有できれば素晴らしいと思います..ありがとう

4

2 に答える 2

3

-j,オプション (「既存のファイルとメッセージを結合する」) は必要なことを行いませ--join-existingんか?

コマンドラインで複数の入力ファイルを指定できることに注意してください。

xgettext -d sample -s -j -o sample.pot a1.c a2.cpp
于 2011-01-29T17:31:29.367 に答える
1

これを実現する最も簡単な方法は次のとおりです。

xgettext -o sample.pot -s a1.c a2.cpp sample.pot

xgettext はとファイルを通常の入力ファイルとして受け入れるため-j、は必要ありません。--join-existing.po.pot

オプション-j,--join-existingが役立つことはめったにありません。と組み合わせると-D、入力ファイルとして使用される出力ファイルがディレクトリのリストで検索されない--directoryという効果があります。を使用する場合は、C/C++ ソース ファイルとして解析される ため、が必要です。sample.pot-l c--language=c-j--join-existingsample.pot

また、は-o sample.pot--output=sample.potとまったく同じ効果が-d sampleあり--default-domain=sampleます。そのうちの 1 つを安全に省略できます。

于 2016-09-25T22:20:06.277 に答える