gettext付属ツールによる翻訳状況の確認
gettextは国際化をする上で必須ツールの一つです。gettextそのものの便利さもあるのですが、その付属ツールの便利さもあります。
今回はその付属ツールの中からmsgfmtに絞って話をしたいと思います。
各国語毎のメッセージリソースファイルがあり、その中のメッセージがどれだけ翻訳をされていて、どれくらいのメッセージが翻訳されていないのかを知りたいということは、国際化をやっていると割とよくあります。翻訳状況を開発プロジェクト中でマネージメントする必要があるためです。そんなときに使うのがmsgfmtです。
以下のように使います。
find share/l10n -name '*.po' |egrep -v '.svn' |LC_ALL=C xargs --verbose --max-args=1 msgfmt -c -v
そうすると、以下のように結果が表示されます。
msgfmt -c -v share/l10n/ja.po
0 translated messages, 524 untranslated messages.
各国語のロケールのメッセージリソースがどのような翻訳状況にあるのかがこれにより分かります。定期的に実行することで、翻訳状況が確認でき、翻訳のマネージメントに役立ちます。