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