プラグインやテーマの国際化を少し楽に

すっかり忘れていたのですが

と思い出させてもらったので、ここに書いておきましょう。

これは世界で人気のプラグインやテーマの開発者向けの情報です。もとより私はプラグインもテーマも書かないし、したがって世界中から言語ファイルを送られて「大変だー」なんて思いをしたことはないのですが、たまたまその声を聞いて Makefile を miya さん に贈り、それがここで使われています。

WordPress の国際化

おさらいです。WordPress では gettext ライブラリおよびツールを使用して国際化します

プラグインやテーマの開発者は、その中の翻訳されるべきメッセージに __()_e() などのマークを付けておきます。こうしたプラグインやテーマから、マークされた文字列を抽出して POT ファイルと呼ばれる、翻訳者にとって原本となるものを作成します。この作業は WordPress の本家で配布されているスクリプト wordpress-i18n tools を入手して、これで行います。

翻訳者はこの POT ファイルを元に、メッセージをそれぞれの言語に翻訳した PO ファイルと呼ばれるものを作り、これを開発者に送ります。

開発者は PO ファイルを、実行時にすばやく読み込まれるようにバイナリ化された MO ファイルと呼ばれるものに変換して、これをプラグインやテーマに同梱して配布することになります。

少し楽に

完全に出来上がっていてメッセージが不変で、たまに「新しい言語に翻訳したよ」と送られてくるものを追加するだけなら、手作業でもさほどでもないのでしょう。しかし現時点で既に各言語の翻訳ファイルがあるところに、元のプラグインやテーマに手を加えてメッセージが変わってしまい POT が変更になって、これをいちいち各言語の PO に反映して、MO を作りなおすのがメンドクサー、という工程を自動化するのがこの Makefile です。

プラグインやテーマの開発者にとって詳しい説明は不要でしょうから、あとは簡単に紹介します。

POT の生成には上述の wordpress-i18n tools が必要です。

make pot
で POT を生成します。あとは外部ファイル LINGUAS に作成したい言語の locale を書いておき、適宜
make

で、必要な MO までが生成されます。


POT 生成の部分は本家のスクリプトですし、後半の部分も gettext 関連のところでよく見かけるものから拝借して、前半に WordPress 特有の設定を加えたものです。私ができるのはこの程度です。あとは誰かすばらしいプラグインやテーマを作ってくださいね。

“プラグインやテーマの国際化を少し楽に” への 4 件のフィードバック

WordPress プラグインやテーマの翻訳でうまく手を抜く(いい意味で) | 半月記 へ返信するコメントをキャンセル