1

概要 :

GNUAutotoolsを使用したプロジェクトがあります。ポットファイルがあります。更新する必要があります。xgettextを実行する魔法の「make」タスクはありますか(私は怠け者ですか?)

冗長バージョン:

やあ

GNUautotoolsとgettextを使用してプロジェクトをセットアップしようとしています。

私は「怠惰な」パスをたどろうとしています(つまり、configure.ac、Makefile.amなどを記述し、ツールに残りを可能な限り生成させます)。

パッケージでgettextizeを1回使用したので、package.potファイルを作成し、fr.poファイルを派生させました(フランス語に翻訳しようとしています)。

コードを翻訳することはできませんでしたが、コードが適切な場所になかったことが原因である可能性があることがわかりました。翻訳された文字列はmainではなくlibにあり、この場合に何をしなければならないかについてのドキュメントはかなり不明確です。私のメインがlib内の関数を呼び出し、libからの関数が_()を使用している場合。この場合、dgettextのgettextを使用する必要がありますか?私のlibは組織化のためにここにあるので、同じドメインを使用しても問題ありません(アプリ全体で1つのpackage.potファイルのみ)。

そこで、もっと簡単なことを試すために、文字列をメインに移動しました(今のところ、これは実際には単なるHello Worldです)。したがって、少なくとも、文字列の位置が変更されたことを認識するために、package.potファイルを更新する必要があります。この場合、xgettextを手動で使用しますか(複数のファイルがある場合は、すべての興味深いcppファイルのリストを苦痛に渡します。これはお尻の痛みになります)、または「何でも作成」タスクがどこかにありますか?実行できますか?

これはばかげているように見えるかもしれませんが、私はそれを見つけることができませんでした。

また、私のコードが翻訳されていない理由( http://www.gnu.org/software/gettext/FAQ.html#integrating_noopにないもの)を見つけるためのヘルプは大歓迎です!

ありがとう

PH

4

1 に答える 1

2

わかりました、それは判明しました:

  • 生成されたpo/フォルダーのMakefileにupdate-poタスクがあり、これは私が望むことを実行します。
  • このタスクは、更新するのを忘れていたPOTFILES.inファイルで参照されているファイルを検索します。

それで、それ愚かなことでした。

于 2009-10-07T12:10:50.577 に答える