gettext
少ない労力でメッセージカタログを作成できる。
今のところ、これより優れた国際化対応するためのライブラリはないらしい。
ソースコード中の翻訳したい場所を関数で指定
→xgettextでpotファイル作成
→各言語に合わせたpoファイル作成
→msgfmtでmoファイル作成
配置方法は {$locale}/{$domain}.mo なのね。
{$domain}というのがわからずに、はまった。
PHP
>|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
メッセージの抽出
$ xgettext -a -C *.cc $ xgettext -k_ -C *.cc
履歴
タグ
他の人の「gettext」
- kaniの「gettext」カラカニのメモ帳多言語アプリを作るときに使用するライブラリ。 Unixでは標準的な国際化方法なのだけれども、欠点もある。 gettextの利点と欠点(2010年11月追加しまし…2010-11-26