[WP Theme Dev] Poedit を利用した WordPress 自作テーマの多言語翻訳
自作テーマやプラグインを多言語翻訳対応するための情報。
## 翻訳ファイル(POT, PO, MO)
基本的にはテンプレートである POT ファイルから、PO ファイルと MO ファイルを作成する流れとなります。
> – [Localization | Theme Developer Handbook | WordPress Developer Resources](https://developer.wordpress.org/themes/functionality/localization/)
> – [WordPressの多言語翻訳1:POT,PO,MOファイルの理解と作成 | 古松](https://old-pine.net/content/wordpress%E3%81%AE%E5%A4%9A%E8%A8%80%E8%AA%9E%E7%BF%BB%E8%A8%B3%EF%BC%91%EF%BC%9Apotpomo%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E7%90%86%E8%A7%A3%E3%81%A8%E4%BD%9C%E6%88%90)
WordPress のテンプレートファイルに仕込んだ `__( $text, $domain )` のような翻訳関数と対応付けた設定を POT に持たせます。
> – [Function Reference/ 2 « WordPress Codex](https://codex.wordpress.org/Function_Reference/_2)
POT ファイルは [Underscores](https://underscores.me/) のようなスターターキットを利用すれば雛形が用意されているので楽ができます。
> – [_s/languages at master · Automattic/_s · GitHub](https://github.com/Automattic/_s/tree/master/languages)
翻訳についてはスタイルガイドも用意されており、公式に配布する場合には留意が必要そうです。
> – [WordPress の翻訳 – WordPress Codex 日本語版](http://wpdocs.osdn.jp/WordPress_%E3%81%AE%E7%BF%BB%E8%A8%B3)
## Poedit の導入
PO ファイルと MO ファイルの作成には Poedit を利用する方法が良さそうです。
公式サイトからダウンロードできます。
> – [The fastest and most convenient way to translate interfaces — Poedit](https://poedit.net/)
brew install も可能でした。
“`prettyprinted
% brew cask install poedit
“`
Poedit の具体的な導入方法と翻訳関数については、下記が大変参考になりました。
ありがとうございます。
> – [Poeditの使い方 [Wordpressのテーマやプラグインを日本語化(多言語)する方法]](https://tontotakumi.com/web-seisaku/wordpress/poedit/)
> – [自作WordPressテーマの国際化(翻訳)の方法 – Welcart カスタマイズ](https://welcustom.net/internationalize-wordpress-theme/)
### Poedit のライセンス種別
Poedit には、Free と Pro, Pro+ の有料版のライセンスが用意されています。
Pro は現行バージョン v2 の買い切り、Pro+ は年払いのサブスクリプションです。
> – [Pricing — Poedit](https://poedit.net/purchase)
> – [Poedit Pro — Poedit](https://poedit.net/pro)
Pro, Pro+ には翻訳の提案機能が用意されていますので、非英語話者にとってのメリットは大きいと思います。
なお Pro, Pro+ の違いですが DeepL に日本語が対応していませんので、日本人にとっては機械翻訳に Microsoft Translator を利用するか Google Translate を利用するかという点だけになります。
(違っていたら申し訳ないですが)多少翻訳がマシかなくらいの差だと思いますので、私は買い切りライセンスを所有しています。
## Gutenberg 部分の翻訳について
Gutenberg のブロックを自作した場合などは、翻訳ファイルを別途用意する必要があるようです(未検証)。
> フロントエンドではバイナリの mo ファイルではなく Jed と呼ばれる形式の JSON ファイルを用います。この JSON ファイルを @wordpress/i18n のライブラリで読み込むことで、フロントエンドでも翻訳を適用することができます。
>
> [@wordpress/babel-plugin-makepot で pot ファイル(翻訳テンプレート)を抽出する – Qiita](https://qiita.com/KamataRyo/items/91e6e92f0cdb34fd9033)