プラグインを日本語化しようと思ったら意外なとこではまる

自作プラグインを、もともと英語で作っていましたので、
日本語化してみましたよ。
でも最初はへんなとこではまったりするので注意が必要です。

プラグイン側の準備

テキストドメインの設定

プラグインのどこかでload_plugin_textdomain()という関数を実行し、
プラグインの翻訳用のIDみたいなのを設定します。

load_plugin_textdomain( 'vlbr', false, dirname(plugin_basename( __FILE__ )). '/languages/' );


最初の引数がプラグインの翻訳用のIDみたいなの、
2番目は不明、
3番目は翻訳ファイル(MO、PO)のディレクトリです。

翻訳が必要な部分を指定

プラグイン内で、翻訳する文字の部分を下記のように _e() か __() 関数を使って囲みます。

<?php _e('Break lines in', 'vlbr'); ?>
<?php __('Break lines in', 'vlbr'); ?>

_e()のほうは文字として表示させるもの、
__()はreturn値として取得するものです。

第2関数は上で設定したテキストドメインを入れます。
この部分を省略するとWordPressのコア部分で使っている翻訳を利用できます。
_e('Save Changes')みたいな、一般的な語は、プラグイン側で個別に翻訳を用意しなくても、
このように第1引数のみ指定することで自動で翻訳されます。

POTファイルを用意する

最終的には翻訳ファイル→MO、POファイルを作るのですが、
まずはその元となるPOTファイルを用意する必要があります。

Poeditで作る

Poeditという翻訳ファイル編集ソフトで作れますが、
下の自動生成が利用できますので必要ありません。

いちおうはまったポイントをメモっておくと、ファイル名を指定するとき、
プラグイン(php)のテキストドメインで設定した文字列と同じにしないといけないみたいです。

プラグインディレクトリの管理メニューから自動生成する

WordPressのプラグインディレクトリに、プラグインを登録したときに利用したIDでログインすると、タブのメニューの一番右に”Admin”メニューが出現しますので、それをクリックした先でPOTファイルが自動生成できます。

Plugin 管理画面のキャプチャ。中央より少し下に「POTファイルを生成する」のコーナーが

Pluginの管理画面で.POTファイルがダウンロードできる

これに早く気づいていればPOTを自作しようと試行錯誤する必要なかったんだが、、、

翻訳する

先のPoeditでPO、MOファイルを作ります。
プラグインのメインファイルが vacant-line-breaker.php なら、
それに言語コードをつけた vacant-line-breaker-ja.po、vacant-line-breaker-ja.mo という
ファイル名です。

Poedit編集画面の一番下のボックスに翻訳文を入れます

Poedit編集画面のキャプチャ

下のボックスに翻訳文を入れる、というのも0から作ったときはわかんなくてはまるポイントです。
わかってしまえばなんのことはないんですが、、、