WordPressで多言語化をおこなうとき、翻訳データが格納されているmoファイルを作成する必要があります。
このファイルを作成するためにPoeditというアプリを使用したので、使い方をまとめてみました。
事前知識
Poeditで使用するために必要な事前知識を挙げておきます。
Poeditで使用するデータファイル
Poeditで使用するデータファイルについて、簡単に説明しておきます。
- .moファイル
最終的に作成されるファイル。
コンピューターが処理しやすいように最適化されているため、メモ帳などで開いて読むことができない。 - .poファイル
このデータファイルが最適化されて、.moファイルが作成される。
このファイルはメモ帳などで開いて、読んだり編集したりできる。Poeditを使用するなら必要がない知識ですが、.poファイルのフォーマットについて次の記事に書いておきました。
- .potファイル
.poファイルのテンプレート。
このファイルをコピーして、.poファイルを作成する。
第三者が作成したWordPressテーマやプラグインを翻訳する場合、このファイルを入手する必要がある。
※Poeditは.poファイルを元にして、他の言語の.poファイル生成できます
PoeditはWordPressのソースコードから翻訳キーワードを抜き出すことができます。
.potファイルが用意されていないテーマやプラグインを翻訳したいときは、ソースコードを用意しましょう。
単数形と複数形
日本語では馴染みがありませんが、他の言語では単数形と複数形というものがあります。
翻訳データファイルは、単数と複数の二通りの翻訳データを格納できます。
WordPressでは _n( 単数形 , 複数形 , 数値 ) などの形式で翻訳されます。
単数形と複数形は、Poeditの初期状態では翻訳を入力できません。
こちらの方法で、設定をおこなう必要があります。
コンテキスト毎の翻訳
一つのキーワードに対して、複数のコンテキスト毎に翻訳データを作成できます。
例えば 'hello' というキーワードがあるとします。
このとき、コンテキストに 'morning' を指定したら 'おはよう'、'afternoon' を指定したら 'こんにちは' に翻訳する、というような使い方ができます。
WordPressでは _x( キーワード , コンテキスト ) などの形式で翻訳されます。
Poeditのダウンロード
まずはPoeditをダウンロードします。
次のリンク先を開きます。
■Poedit:https://poedit.net/download
使用しているPCに合ったダウンロードボタンを押し、ダウンロードを開始します。
ダウンロードされたら実行して、PCにPoeditをインストールしましょう。
新規作成
インストールしたPoeditを起動します。
3番目の「WordPressのテーマ・プラグインを翻訳」は便利そうですが、フリー版では使用できません。
残念です・・・
1番目の「新規作成」は、他者が作成したテーマやプラグインで用意されているpotファイルを読み込みます。
potファイルまたは他言語用のpoファイルがある場合は、こちらを使用してファイルを読み込んでください。
次の手順で作業を進めます。
- ファイルメニューから、新規を選択します。
potファイルまたは他言語用のpoファイルがない場合は、新規で作成します。
- 翻訳の言語を指定します。
「翻訳が存在しません。何かがおかしいようです。」と表示されていますが、気にしなくて大丈夫です。
使用できる言語をリスト表示から選択できますが、選択肢が多いので探すのに苦労します。
文字入力できるので言語の名前を直接入力するか、「ja」などのロケール名を入力しましょう。今回は「日本語」と入力してみました。すると「日本語」と「日本語(日本)」の二つの候補が提示されました。
「日本語」を選ぶと「ja」が、「日本語(日本)」を選ぶと「ja_JP」が適用されます。WordPressはロケールとして「ja」が使用されているので、「日本語」を選択します。
めんどうなら、「ja」と入力しましょう。
WordPressで使用できるロケール名は、次の記事を参考にしてください。ロケール名は メニュー:翻訳 > プロパティで、後から変更できます
- 保存する
メニュー:ファイル > 保存 で、保存します。
poファイルとmoファイルが作成されます。WordPressのテーマを翻訳する場合はロケール名(ja.poなど)で保存します。
プラグインの場合は、プラグイン名-ロケール名(pluginmane-ja.poなど)で保存します
ソースコードからの抽出
翻訳対象のソースコードファイルがある場合は、それらのファイルからキーワードを抽出できます。
次の手順で抽出します。
- 設定画面を開く
メニュー:翻訳 > プロパティ で「翻訳の特性」パネルを表示します
- ソースの検索タブを表示する
- パス欄に翻訳対象のフォルダをドロップ
ドロップすると、「.」が表示されます。
これは「フォルダ内全てを検索する」という意味です。
フォルダー内のフォルダー(サブフォルダー)も対象となります。 - ソースの関数指定
「ソース中のキーワード」タグを開いて、ソースコードで翻訳をおこなう関数を指定します。
初期状態は何も指定されていません。
⊞ボタンを押すと行が追加されるので、次の文字を一つ一つ入力します。- __
- esc_attr__
- esc_html__
- _e
- esc_attr_e
- esc_html_e
- _x:1,2c
- _ex:1,2c
- esc_attr_x:1,2c
- esc_html_x:1,2c
- _n:1,2
- _nx:1,2,4c
- _n_noop:1,2
- _nx_noop:1,2,3c
AFFS Simple Code ViewerCopy「めんどうです!!」
という人は、Poeditを保存してpoファイルを作成して、Poeditを終了します。作成したpoファイルに次の文字を追加して保存します。
- "X-Poedit-KeywordsList: __;esc_attr__;esc_html__;_e;esc_attr_e;esc_html_e;"
- "_x:1,2c;_ex:1,2c;esc_attr_x:1,2c;esc_html_x:1,2c;_n:1,2;_nx:1,2,4c;"
- "_n_noop:1,2;_nx_noop:1,2,3c\n"
AFFS Simple Code ViewerCopy追加する場所は15行目付近です。
次のようになります。- msgid ""
- msgstr ""
- "Project-Id-Version: \n"
- "POT-Creation-Date: 2022-04-13 18:00+0900\n"
- "PO-Revision-Date: 2022-04-13 18:01+0900\n"
- "Last-Translator: test <test>\n"
- "Language-Team: \n"
- "Language: ja\n"
- "MIME-Version: 1.0\n"
- "Content-Type: text/plain; charset=UTF-8\n"
- "Content-Transfer-Encoding: 8bit\n"
- "Plural-Forms: nplurals=1; plural=0;\n"
- "X-Generator: Poedit 3.0.1\n"
- "X-Poedit-Basepath: .\n"
- "X-Poedit-KeywordsList: __;esc_attr__;esc_html__;_e;esc_attr_e;esc_html_e;"
- "_x:1,2c;_ex:1,2c;esc_attr_x:1,2c;esc_html_x:1,2c;_n:1,2;_nx:1,2,4c;"
- "_n_noop:1,2;_nx_noop:1,2,3c\n"
- "X-Poedit-SearchPath-0: .\n"
AFFS Simple Code ViewerCopy再度Poeditを起動して、poファイルを読み込んでください。
- 「コードから更新」する
メニュー:「翻訳」 > 「ソースコードから更新」 を選択します。
ソースコードが検索されて、結果が表示されます。
「OK」で確定します。
翻訳の入力
キーワードの抽出が終わると、次のような画面に切り替わります。
入力したいキーワードを選択して、対訳欄に翻訳を入力します。
複数形入力がある場合の設定
ソーステキスト欄に「単数形」と「複数形」が表示された場合、そのままでは翻訳を入力できません。
メニュー:「翻訳」> 「プロパティ」で翻訳の特性を開き、翻訳の設定タブを選択します。
「この言語のデフォルトルールに従う」から「カスタム表現を使用」に切り替えて、次の文字を入力します。
- nplurals=2; plural=n == 1 ? 0 : 1;
「OK」を押すと、対訳欄に「単数形」と「複数形」の翻訳を入力できるようになります。
moファイルの作成
メニュー:「ファイル」> 「保存」を選択すると、poファイルの保存と同時にmoファイルを生成します。
これで完了です。
■Googleで他サイト検索
■僕がおススメするアフィリエイト教材
■マーケティング施策ツール