PHP-gettext(wordpressに入ってたヤツ)

すごくひさしぶりにPHPのプログラムをまとめて書くことになり、PHPでgettextを使うってのを、いい機会なので調べてみました。

gettextエクステンション無しで直接MOファイルを読み込むPHP-gettextライブラリ

このサイトでも使っているWordpressというブログアプリケーションでは、gettextのMO filesを読み込むのにPHP-gettextというライブラリが使われています。

このライブラリをつかった場合の特徴としては、直接MOファイルを読むライブラリなので・・・

  • –with-gettextつきでコンパイルしてないPHPでもMOファイルを読み込むことができる
  • もちろん、LOCALEを使わなくてもgettextの恩恵を受けることができる
  • 当然、あの深いディレクトリ構造(BASE/${locale}/LC_MESSAGES/${domain}.mo)と戯れなくてすむ

Wordpressのソースの中から、PHP-gettextの成果物でありwp-includes/の下にあるgettext.phpstreams.phpをincludeしているwp-l10n.php
を読めば、使い方はすぐにわかると思います。
このwp-l10n.phpでは、_()ではなく__()_e()という関数を用意しています。アンダースコア1個の関数を定義しようとすると、gettextエクステンションが組み込まれたPHPでコケてしまうので、素直にこの方法に従っておくのが吉ですね。

PHPでgettextしたい!って人のための参考リンク

関連記事

1個のトラックバック

  1. ネタ蔵のネタ さんからのコメント 2006 年 7 月 17 日, 10:52 PM

    javascriptでgettext

    りょすけくんがPHPでgettextな記事を書いていたので、反応して「javascriptでgettext」についてです(w
    ボクも、PHPでgettextしてWebアプリを国際化することは経験があります。
    例の「ボク専用Web…