Wordpressプラグインの翻訳を自分で編集・追加する
会員制サイトを作成する際、使用したプラグインの一部に翻訳未対応の箇所や、翻訳を調整したい箇所があったため調査しました。
管理側がガバガバ翻訳なのはGoogle翻訳とかで対応しちゃうけど、ユーザー側の見た目は操作が不安にならないよう確実に設定しておきたいな~と思ってます。
1.該当プラグインの翻訳ファイルを取得する
hoge/wp-content/languages/plugins/
内にある、該当プラグインの.poファイルと.moファイルをダウンロードし、バックアップを作成してください。
po/mo/potファイルとは?
英語などで書かれたpotファイルをもとに各言語を翻訳したファイル。
今回は日本語なので、「hogehoge-ja.po」という名前だった。ものによってルールが違うらしいので要確認。
poファイルをコンパイルしたファイル。後述するエディタで作成する。
翻訳可能な文字列をリスト化したファイル。今回は使いませんでした。
2.翻訳エディタ「Poedit」をダウンロードする
poeditをダウンロードします。
WindowsとMax、Linuxがあるのでお好きなものを選択してください。
今回はWindow版をご説明していきます。exeファイルとしてダウンロードされるので、手順に沿ってセットアップしてください。
セットアップが完了すると、下画像のような初期画面が表示されます。
(WordPressのテーマ・プラグインを翻訳っていうよさげなメニューがあるんですが、有料なんですよね…)
メニュー内「ファイルを閲覧」をクリックし、1の手順でダウンロードした.poファイルを選択してください。
3.翻訳エディタ「Poedit」で翻訳を編集する
画面左にソーステキスト、画面右に翻訳が表示されます。
画像のように単語と単語が対になっているものや、文章をまとめて翻訳しているもの、変数?が入っているものなどがあります。
検索(Windows:Ctrl + F/Mac:⌘(command) + F)で翻訳を調整したい箇所を見つけ出したら、画面下の「対訳」で編集が可能です。
調整が済んだら画面上「保存」をクリックすると、編集した.poファイルが保存され、コンパイルした.moファイルが自動で作成されます。
後は保存した.poファイルと.moファイルをhoge/wp-content/languages/plugins/に上書けば、翻訳の調整が完了します。
4.翻訳エディタ「Poedit」に翻訳を追加する
翻訳未対応の箇所を翻訳したい場合、「Poedit」だと翻訳を追加することができません。そのため、メモ帳やコードエディタなどで行を追加し、翻訳を編集する必要があります。
今回は、Visual Studio Codeを使用します。
まず、コードエディタで.poファイルを開いてください。
msgid “Profile”
msgstr “プロフィール”
上記のようなコードが表示されます。
msgridが翻訳する文字列、msgstrが翻訳後の文字列(対訳)です。頭に#を付けると、コメントアウトされます。
こちらを追加していくことで、翻訳未対応の箇所の翻訳が可能です。
翻訳未対応の箇所に、数字や変化する文字列が入っている場合
例えば「〇〇は最低〇文字以上にする必要があります。」や「入力された〇〇は既に使用されています」など、〇〇の中に入る文字が状況により変化する場合、上記の方法で.poファイルを編集しても、翻訳が反映されることはありません。翻訳を反映させるためには、プラグインテーマ内のコード(ソーステキスト)とmsgridを同じにする必要があります。
もしあなたが、「"Your number must contain at least 4 characters"」を翻訳したい場合(かなり使う場面が限られてきましたが…)このソーステキストの、おそらく変数でない「must contain at least」あたりを該当のプラグインファイル内で検索をかけて、もとのソーステキストを発見しましょう。
発見したら、変数ごとmsgridにソーステキストを張り付け、同じようにmsgstrを編集します。
#: ここにどのファイルのどこに記載してあるのかパスを書くのが一般的みたいです
msgid "Your %1$s must contain at least %2$s characters"
msgstr "%1$sは最低%2$s文字が含まれている必要があります"
上記のように、変数はmsgstrにもそのまま記載してください。
行の追加調整が完了したら、3の手順と同様に「Poedit」で.poファイルを開きます。調整が済んだら、画面上「保存」をクリックすると、編集した.poファイルが保存され、コンパイルした.moファイルが自動で作成されます。
保存した.poファイルと.moファイルをhoge/wp-content/languages/plugins/に上書けば、翻訳の追加が完了します。
5.まとめと、気になること
ワードプレスでのサイト制作にあたり、プラグインの使用は不可欠だと考えています。
せっかくいいプラグインなのに英語が気になる…なんてもったいないことのないように調整していきたいですね~。
プラグインアップデートの際に、作成した.po.moファイルがどうなるのか気になります。
子テーマがないから翻訳のアップデート入ったら消えちゃうんじゃないかな…?
ちゃんと作業のバックアップは取っておきましょう!