Ruby-GetText-Pacakgeが提供するツールについて
ruby-gettext-tools
Ruby-GetText-Packageはpoファイル抽出、moファイル生成用のツールを提供します。コマンドラインとして提供していますが、最新のRuby-GetText-Packageでは、これらを直接使うよりもむしろrakeと組み合わせて使うことを推奨しています。
rgettextツール
rgettextツールは、Rubyスクリプト,Glade-2 XMLファイル(.glade)、ERBファイル(.rhtml)から文字列を抜き出してpoファイルを生成します。
使い方
$rgettext hoge.rb -o hoge.pot
複数ファイルも指定できます。というか通常1つのアプリケーションはソースファイルごとにpotファイルを作るのではなく、1つのpotファイルにまとめることが多いです。Rubyスクリプトの拡張子は何でもかまいません(厳密にはrhtml/glade以外)。
$rgettext *.rb -o hoge.pot
Glade-2のXMLファイルからpotファイルを生成することもできます。XMLファイルの拡張子はgladeである必要があります。 なお、これは、Ruby/Libglade2と組み合わせて使います。
$rgettext hoge.glade -o hoge.pot
ERBファイルからpotファイルを生成する場合は次のようにします。ファイル名はrhtmlである必要があります。
$rgettext hoge.rhtml -o hoge.pot
RubyスクリプトとGlade-2のXMLファイルを混在させることもできます。
$rgettext *.rb *.glade -o hoge.pot
もちろん、RubyスクリプトとERBファイルを混在させることもできます。CGIとして使う場合、Rubyスクリプトの拡張子は.cgiの時も多いでしょう。
$rgettext *.rb *.rhtml *.cgi -o hoge.pot
rmsgfmtツール
rmsgfmtツールは、rgettextツールで生成したファイルを各言語に翻訳した後のpoファイルからmoファイルを生成します。このmoファイルが実際にライブラリから読み込まれるものです。
このツールはGNU GetTextが提供するmsgfmtとほぼ互換です。したがって、msgfmtを使っていただいてもかまいません。
使い方
$rmsgfmt hoge.po -o hoge.mo
キーワード:
参照:[Ruby-GetText-Package開発者向けドキュメント] [Ruby-GetText-Package]