[WP Theme Dev] Poedit を利用した WordPress 自作テーマの多言語翻訳
自作テーマやプラグインを多言語翻訳対応するための情報。
Contents
翻訳ファイル(POT, PO, MO)
基本的にはテンプレートである POT ファイルから、PO ファイルと MO ファイルを作成する流れとなります。
WordPress のテンプレートファイルに仕込んだ __( $text, $domain )
のような翻訳関数と対応付けた設定を POT に持たせます。
POT ファイルは Underscores のようなスターターキットを利用すれば雛形が用意されているので楽ができます。
翻訳についてはスタイルガイドも用意されており、公式に配布する場合には留意が必要そうです。
Poedit の導入
PO ファイルと MO ファイルの作成には Poedit を利用する方法が良さそうです。
公式サイトからダウンロードできます。
brew install も可能でした。
% brew cask install poedit
Poedit の具体的な導入方法と翻訳関数については、下記が大変参考になりました。
ありがとうございます。
Poedit のライセンス種別
Poedit には、Free と Pro, Pro+ の有料版のライセンスが用意されています。
Pro は現行バージョン v2 の買い切り、Pro+ は年払いのサブスクリプションです。
Pro, Pro+ には翻訳の提案機能が用意されていますので、非英語話者にとってのメリットは大きいと思います。
なお Pro, Pro+ の違いですが DeepL に日本語が対応していませんので、日本人にとっては機械翻訳に Microsoft Translator を利用するか Google Translate を利用するかという点だけになります。
(違っていたら申し訳ないですが)多少翻訳がマシかなくらいの差だと思いますので、私は買い切りライセンスを所有しています。
Gutenberg 部分の翻訳について
Gutenberg のブロックを自作した場合などは、翻訳ファイルを別途用意する必要があるようです(未検証)。
フロントエンドではバイナリの mo ファイルではなく Jed と呼ばれる形式の JSON ファイルを用います。この JSON ファイルを @wordpress/i18n のライブラリで読み込むことで、フロントエンドでも翻訳を適用することができます。
@wordpress/babel-plugin-makepot で pot ファイル(翻訳テンプレート)を抽出する – Qiita