ワードプレスには、無償で利用できる何万もの機能拡張プラグインがありますが、その多くが海外製の為日本語化されていませんね。ワードプレスのプラグインを言語ファイルという機能を使って日本語化する方法を解説いたします。


ワードプレスのプラグインを翻訳 1 プラグインの言語ファイルを探す

ワードプレスには、言語ファイルという機能がついており、ワードプレスの使用言語として設定(管理画面の設定>一般で変更可能です。)されたものに基づき、その言語ファイルで様々な単語を表示します。
ワードプレスのプラグインの言語ファイルは
wp-content\languages\plugins フォルダ
もしくは、そのプラグインのインストールフォルダ内 wp-content\plugins\プラグイン名\languages
に プラグイン名-en_US.poのような名称で格納されています。

プラグインによってはプラグインの設定が書き込まれているPHPファイルにDomain Path: という形でプラグインの言語ファイルの格納場所が指定されていてそこに格納する必要があるものもございます。

ワードプレスのプラグインを翻訳 2 日本語用の言語ファイルを創る

言語ファイルのあるフォルダには、en_US等の国名識別子のない素の言語ファイルが格納されているかと存じます。このファイルを複製して下記の例のようにリネームします。(ない場合はすでにある他の言語ファイルを複製してリネームされても問題ありません)

post-types-order.po コピーしてリネーム→ post-types-order-ja_JP.po

※post-types-order の部分は各プラグイン名が入りますのでそのままにしておいてください。
※「プラグイン名-言語コード_国コード.po 」というファイル名の構造になります。

ワードプレスの言語が日本語で設定されているとき、ワードプレスはこのファイルをテキストを出力するとに利用しますので日本語の翻訳をこのファイルに記載すると日本語化されて表示されます。

拡張子potのファイルがある場合
拡張子potファイル(初期言語翻訳ファイル)がある場合はPoEditというソフトウェアをインストールの上、このファイルを開き、日本語の言語設定として再保存すると自動で言語ファイルができます。

ワードプレスのプラグインを翻訳 3 翻訳を行う

先ほど作成した翻訳ファイルを開くと下記のような文字列が羅列されているかと存じます。

#: include/class.cpto.php:207
msgid "Post Types Order must be configured. Please go to"
msgstr ""

#: include/class.cpto.php:207
msgid "Settings Page"
msgstr ""

#: include/class.cpto.php:207
msgid "make the configuration and save"
msgstr ""

#: include/class.cpto.php:485 include/class.cpto.php:487
#: include/class.cpto.php:490 include/class.cpto.php:501
msgid "Re-Order"
msgstr ""

#が行頭にある部分はコメント部分ですので無視されて問題ございません。
msgidが元言語、その下のmsgstrのところに日本語で翻訳を記載します。

#: include/class.cpto.php:207
msgid "Settings Page"
msgstr "設定ページ"

ワードプレスのプラグインを翻訳 4 翻訳ファイルのコンパイル

上記翻訳で必要な部分を翻訳されたら、PoEditというソフトウェアをインストールの上、翻訳したPOファイルを開きそのまま上書き保存を行います。
すると.moという拡張子のファイルが出来上がります。

post-types-order-ja_JP.po
post-types-order-ja_JP.mo ←コンパイルした翻訳ファイルで実際に使われるのはこちらです

これで、プラグインの翻訳がワードプレスの言語設定に応じて(日本語)表示されるようになります。非常に簡単ですね。
ご参考にされましたら幸いです。

※post-types-order-ja_JP.po で認識されない場合はpost-types-order-ja.poにされてください。それでも認識しない場合はja.poにされてコンパイルされてください。

WordPress に関するタスク、引っ越し作業、カスタマイズ等なんでもご依頼いただけます。ワードプレスドクターを是非ご利用ください。