自分がはまってしまって時間を取られたので、技術的なメモ書き。

Wordpressはプラグインを追加することで、用途に応じたウェブ・アプリケーションを簡単に用意できる。
多言語化機能も整っていて、きちんと国際化(I18N)対応しているプラグインであれば、POTファイル(.pot)から翻訳するだけで、すぐに日本語などで表示できる。

たとえば「AWPCP」(Another Wordpress Classified Plugin)というプラグインでは、/wp-content/plugins/another-wordpress-classifieds-plugin/languagesフォルダー以下にPOTファイルがある。

POTファイル


このPOTファイルを「PoEdit」のような専用翻訳支援ツールで開く。POTのTはテンプレートのことなので、テンプレートからまず日本語用にPOファイルを生成する。続いて、下記の「全般設定」のように翻訳を入力する。

PoEdit


これを保存し、同時に機械読み込み用のMOファイルを生成する。この際、ロケール名を付けなければならないのだが、私は最初の写真にある他のファイルのロケール名(de_DE、en_USなど)に合わせ、「ja_JP」とした。つまり「another-wordpress-classifieds-plugin-ja_JP.mo」である。

こうしたら、Wordpress本体の「サイトの言語」を日本語に再設定すれば翻訳が表示される。実に簡単である……

サイトの言語設定


と思っていたが、翻訳が表示されない。
そこでプラグインを無効化→有効化したり、再インストールしたりしてみたが、翻訳は表示されないまま。

しばらく悩んでいたが、どうもWordpress「サイトの言語」の「日本語」は内部的なロケールとしては「ja_JP」ではなく「ja」であると気づいた。
そこでファイル名も「another-wordpress-classifieds-plugin-ja.mo」と変えると、無事表示された。

AWPCP日本語

ほかのロケールが「de_DE」、「en_US」、「es_ES」、「fr_FR」といった表記だったので、当然「ja_JP」になるはずという思い込みが原因だった。

Wordpressの「日本語」は、ロケールとしては「ja」であり、ja_JPは(自環境の選択肢になかったが)「日本語(日本)」だと思われる。