gettextの履歴

ソースコード中の翻訳したい場所を関数で指定
→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のロケール設定がよくわから
これで一応動くけど、なかおかしい。