WordPressの「Material」テーマのメッセージを日本化してみる


 見よう見まねでWordPressサイトで作ったのはいいけど、無料で使えるテーマがたくさんありすぎて、どれを選べばいいのか分からない。とりあえず、新着だか人気だがのテーマを順に見ていって、使えそうなのとして「Materialテーマ (Ver.1.1.3)」ってのを導入してみた。で、レイアウトとかウィジェットとかカスタマイズしたけど、メッセージの一部が英語のままなのがちと気になってた。だいたい日本語になってるけど、一部は英語のまま。どんな仕組みになってるんだろうか、不思議。WordPressは奥が深いなぁ。

 最初はこんな感じ。カテゴリーを1つ選んで表示した状態だ。

image

 で、これを日本語化しようとして、あちこち検索して、「日本語化した *.po/*.mo ファイルを作ればいい」ということは分かった。で、日本語に訳したのに、なぜか反映されない。いろいろやった結果、ファイルを置く場所がどうやら違うらしい、ということが分かった。せっかくなので、その過程をメモ代わりに記事にしておこうと思う。すぐ忘れちゃいそうなので。ほんとはもっと別の正当な(?)方法があるような気がするが、気にしないことにする。ちなみに、PHPコードのカスタマイズはいっさいしないことにする。テーマの更新でせっかくの修正が消えたりすることがあるらしいし、そもそもこのテーマをずっと使うつもりはないので。当面は設定画面でいじるか、プラグインのみでやりくりするつもり。

1.まずは「CodeStyling Localization」プラグインを導入

 メッセージを日本語化するには、まずこの「CodeStyling Localization」プラグインを使うのが基本らしい(と、ググって分かった)。なので、ダッシュボードでこのプラグインを追加する。今の時点だと、Ver.1.99.30っていうのが入った。

2.「CodeStyling Localization」プラグインでMaterialテーマ用の日本語.po/.moファイルを作成

 ダッシュボードの[ツール]-[Localization]で各コンポ-ネットのローカライズの状況を確認する。Materialテーマの場合は、何もありませんでしたわ。そこで[Add New Language]をクリック。

image

 ボタンをクリックすると言語を選ぶダイアログが出てくるので、「ja_JP (日本語)」を選んで、[create po-file]をクリック。すると日本語用の.oファイル(ja_JP.poファイル)が作成される。

image

 ファイルが生成されているのを確認したら、[Edit]をクリックして翻訳開始。

3.文字列を1つずつ翻訳してから.moファイルを生成

 上の画面で[Edit]をクリックすると、翻訳すべき対象の文字列が次のように一覧表示されるので、1文ずつ[Edit]ボタンをクリックして、日本語に翻訳する。

image

 翻訳文のの入力画面はこんな感じ。「Textdomain:」を切り替えた先にも英文があるので、そこも忘れずに切り替えてから翻訳しておこう。。うちの環境だと、「material」の他に「_s」ってのが出てきた。たぶん、これも翻訳してもいいんだと思う。よく知らないけどwww。翻訳が間違っていたら、またこの画面に戻ってきて、何度も翻訳、上書きgenerateすること。

 翻訳画面は次のような感じ。原文を適宜翻訳のこと。大した英語じゃないし、大した量もないので、すぐに終わるでしょう。分からなければ、ほうっておけばいいし。

image

 翻訳作業が全部終わったら、先の画面にある[generate mo-file]をクリックする。すると「ja_JP.mo」というファイルが作成される。

 つまり、「~.po」ファイルに対象の文字列が入っているので、それを日本語化して、最後にGenerateすると「~.mo」ができる、というわけだ。.poファイルは、オリジナルの文字列が入ったファイル、.moファイルは.poファイルの内容をコンパイルしてバイナリにしたものだ。.poファイルだけいくら更新しても反映されない。システムは.moファイルのみを読み込むようになっているため、だそうだ。

 FTPツールで見ると、WordPressのインストールフォルダーの下にある「/wp/wp-content/themes/material/languages/」というフォルダーの中に、次のように作られる。「material」ていうのが、今使っているテーマの名前なので、人によっては別の名前になってるはず。ちなみにこれはFTP Rushっていうツールの画面だ。お好きなFTPソフトウェアでどうぞ。

image

4.必要なら.po/.moファイルをダウンロードしてきてから、さらに日本語化する

 以上の例では、WordPressのダッシュボード上で日本語化しているが、ローカルで日本語化するのもありだ。この場合は、Poeditというツールを使うことが多いらしい。.poファイルと.moファイルをローカルのPCにダウンロードしてきてから、Poeditで.poファイルを開いて編集すること。

WordPressのpoファイルの日本語化・編集ツール「Poedit」

 Poeditの使用中の画面は次のような感じ。どっちでもお好きな方法でどうぞ。上の方にある「Facebook:」とかは翻訳不要、「by」は面倒なのでそのまま放置。文字列中の「%s」とかは英語と日本語の語順の違いなどに注意して訳すこと。単数形と複数形の違いもあるけど、分からなかったらこれも放置で。

image

 このツールで編集後、最後に[保存]ボタンをクリックすると、やはり~.moファイルが作成される。編集した.poファイルと、作成された.moファイルは、.元の場所にFTPでアップロードしておこう。

5.生成された日本語.po/.moファイルをコピーしてから名前を変更し、さらにテーマ用のフォルダーにコピーする

 本来なら、この作業が終わった時点で、すでに日本語化されてるはずなんでしょうけど、実際にはまだ何も起こりません。サイトのトップを表示させてみても、一部はまだ英語のまま。これは、こういう設計なのか、仕様なのか知りませんが、少なくとも今のWordPressはそういうものらしい。

 で、ここからが本題。まず、2つのファイル(ja_JP.poとja_JP.mo)をコピーしてから名前を変え、さらに別のフォルダーへコピーする。

■手順1.ファイルのコピー

 まずは元のファイルをコピーして、新しいファイルを作成する。いきなり名前を変更してしまうと、後でまた「CodeStyling Localization」プラグインやローカルのPoeditツールで日本語化できなくなってしまうから、元の「ja_JP.po」と「ja_JP.po」は残しておくこと。

■手順2.ファイル名の変更

 2つのファイルをコピー後、それぞれの名前を変更する。何度も言うが「material」はテーマの名前だ。別のテーマだと違うファイル名になるので注意。

  • コピーした ja_JP.pomaterial-ja.po に名前変更する
  • コピーした ja_JP.momaterial-ja.mo に名前変更する

 元のファイル名は「ja_jp.po」「ja_jp.mo」だが、変更後の名前の最後は単に「~-ja.po」「~-ja.mo」になっていることに注意。「~-ja_JP.po」「~-ja_JP.mo」ではない。

■手順3.ローカライズしたテーマ用のフォルダーへのコピーか移動

 ファイルが作成できたら、これを「/wp/wp-content/languages/themes/」フォルダーにコピーする。いやコピーじゃなく、移動の方がいいだろう。どうせコピーして作ったファイルなので、元の場所に残しておく必要ないから。分かりやすく書くと次の通り。似てるけどちょっと違うので注意。

  • コピー元「/wp/wp-content/themes/material/languages/」  ここにja_JP.poファイルが作成される
  • コピー先「/wp/wp-content/languages/themes/」日本語化されたテーマ文字列はここから読み込まれる(ことが多い)

 元ファイルは /themes/ フォルダーの下にあるのに、/languages/themes フォルダーにコピーしないとダメなのである。元の場所で単に ja.po/ja.mo にするだけではだめみたいだ。これでOKなこともあるらしいが、少なくともこのテーマに関してはだめだった。コピー後はこんな風になるようにすること。

image

 ところで、もしコピー先にすでに「material-ja.po」や「material-ja.po」というファイルがあったら、コピーしないこと。テーマによっては、最初から日本語化されているものがある。その場合は、ここで述べた方法で日本語化・上書きしちゃうと、すでにある結果が上書きされてしまう。なので、まずここにある「~.po」というファイルをローカルにダウンロードして、日本語化して、またこの場所へアップロードし直す。それでOKだと思う(たぶん)。

 以上で作業完了。サイトを開き直すと、次のようにメッセージが日本語化されているはず。いろいろ試して、おかしかったら手順3のja_jp.poファイルの翻訳作業からやり直しだ。

image

 以上、長くなったが、Materialテーマの日本語化の話終わり。にしても、記事書くのめんどくさいな。特に図入り、矢印とかの説明書き付きだと。ブロガーのみなさん、よく毎日図入りの記事書いてますね。もっと楽な方法考えよう。ちなみに、今回から「だ。である。」調にする。「です。ます。」は疲れた。

コメントを残す

メールアドレスが公開されることはありません。

1 コメント

  1. sato より:

    Poeditで翻訳したファイルが反映されないな、と思ってたら、

    「元のファイル名は「ja_jp.po」「ja_jp.mo」だが、変更後の名前の最後は単に「~-ja.po」「~-ja.mo」になっていることに注意。「~-ja_JP.po」「~-ja_JP.mo」ではない。」

    というあなたの記事を見て、無事、Poeditで作った翻訳が反映されました。

    有益な情報をありがとう!
    感謝しております。