WordPressのテーマを翻訳しよう(Poedit 編)
はじめに
WordPressテーマを日本語化するには、次のような関数を使ってテキストを出力します:
_e('文字列', 'テキストドメイン');
__('文字列', 'テキストドメイン');
ここで使われている「テキストドメイン」は、翻訳対象の文字列を識別するためのテーマごとの一意なIDで英数字で構成されています。
テキストドメインの確認・設定
通常、テーマの style.css の冒頭に次のような記述があります:
/*
Theme Name: Hoge
Text Domain: hoge
Domain Path: /languages
*/
- 
Text Domainはテーマ固有のIDで、通常はテーマフォルダ名と一致させます。 - 
Domain Pathは翻訳ファイルを置く場所で、通常は/languages。 
もし記載がない場合は、自分で追加しましょう。
翻訳ファイル用フォルダを用意する
翻訳ファイルは通常、テーマフォルダ内の languages ディレクトリに置かれます。
このフォルダがなければ作成してください。
名前は自由ですが、style.cssに書いた、Domain Path に一致させる必要があります。
functions.php に読み込み処理を記述
functions.php に以下のコードを追加して、翻訳ファイルを読み込みます(WordPress 6.8 未満の場合):
function mytheme_setup() {
  load_theme_textdomain('hoge', get_template_directory() . '/languages');
}
add_action('after_setup_theme', 'mytheme_setup');
✅ WordPress 6.8以降ではこのコードは不要です。
Poeditをインストールする
翻訳には Poedit という無料アプリを使います。
自分の環境に合ったバージョンをダウンロードし、インストールします。

新しい翻訳ファイルを作成
Poedit を起動し、メニューの「ファイル → 新規」から翻訳言語に「日本語」を選び、上のメニューのとこにある保存ボタンで、languages フォルダ内に ja.po として保存します。同時にmoも保存されます。


翻訳プロパティを設定
- 
メニューから「翻訳 → プロパティ」を開く
 - 
「プロジェクト名」や「翻訳者情報」を入力(任意)
テーマ名と作者を入れます。

 - 
「ソースの検索パス」タブを開き、パスのテキストエリアにテーマフォルダをドラッグ&ドロップ

 - 
「ソース中のキーワード」タブで以下を追加で入力します:
 
__
_e
esc_html_e
_x
_n

設定が終わったら下の「OK」ボタンをクリックします。
翻訳を開始する
- メニューの「翻訳 → ソースコードから翻訳」をクリック
 - 表示された一覧から順に翻訳(対訳の部分に入力します)
 - 翻訳が完了したら 保存 を忘れずに!(
ja.poとja.moが作成されます) 

翻訳結果を確認・編集する
WordPressのサイトを開くと、対応するテキストが日本語に翻訳されているはずです。
あとから翻訳を修正したい場合は、Poeditを再度起動して「ファイルを閲覧」からテーマの ja.po を選択し、同様の手順で編集・保存すればOKです。
おわりに
ここまででテーマの日本語化が完了です!
プラグインでもやることは同じです。
Poeditを使えば継続的な翻訳管理も簡単にできます。
Discussion