少ない労力でメッセージカタログを作成できる。
今のところ、これより優れた国際化対応するためのライブラリはないらしい。
ソースコード中の翻訳したい場所を関数で指定
→xgettextでpotファイル作成
→各言語に合わせたpoファイル作成
→msgfmtでmoファイル作成
配置方法は {$locale}/{$domain}.mo なのね。
{$domain}というのがわからずに、はまった。
PHP
$locale = 'ja_JP';
putenv("LANG=$local");
setlocale(LC_ALL, $locale). "\n";
$domain = 'hello';
bindtextdomain($domain, './locale') . "\n";
textdomain($domain);
bind_textdomain_codeset($domain, 'utf-8');
echo gettext('Hello World');
で、locale/ja_JP/hello.mo を配置すればOK
PHPのロケール設定がよくわからん。
これで一応動くけど、なんかおかしい。
ruby
基本的にどの言語も同じ
http://www.yotabanana.com/hiki/ja/ruby-get...#%A5%D1%A5%E9%A5%E1%A1%BC%A5%BF%A4%CE%BB%C8%A4%A4%CA%FD
メッセージの抽出
$ xgettext -a -C *.cc
$ xgettext -k_ -C *.cc