エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


PoeditでWordPressの日本語対応方法。英語プラグインの日本語翻訳ファイル作成

      2017/03/11

Poeditで WordPressを日本語に対応させる方法を解説

 

WordPressのプラグインを日本語化することになったきっかけ

 
Theme My Login で日本語の翻訳ファイルを作成しました。
 「Theme My Loginでメール認証、管理者承認付の会員管理・基本編
 
  Theme My Loginの日本語化ファイル
  Theme My Loginの日本語翻訳ファイル Ver.6.4.5対応
 
 
ブログのようにユーザは記事を読むだけのサイトであれば、多少英語のテキストが残っていても「まぁいいや」で終わらせるのですが、今回「Theme My Login」というプラグインを使って作っていたサイトは「月極駐車場検索エース」でした。
このサイトは、ユーザが利用する会員制サイトでしたので、ページの項目やエラーメッセージが英語で表示されるというのは受け入れられるものではありませんでした。
 
そんなわけで、自分で英語を和訳ファイルを作成したのですが、その時の手順などを解説します。
 
 

WordPressの多言語対応の仕組み

 
WordPressは、PHP-gettextという仕組みを使って多言語対応を行っています。
 
利用されるファイルは、「.pot」「.po」「.mo」の 3ファイルです。
 

  • .pot:.poの元になるファイル
  • .po:.potを元に翻訳したテキストを編集したファイル
  • .mo:.poを元に作成されプログラムが利用するバイナリファイル

 
 
「.pot」ファイルは、「Potable Object Template」で全てのもとになる「文章」が書かれているテンプレートファイルです。
ただのテキストファイルで、テキストエディタで開いて編集することができます。ここに記載してある文章が翻訳可能な文章です。
たいていは英語で書かれています。
 
「.po」ファイルは、「Portable Object」で翻訳をした文章を編集していくファイルです。
「.pot」ファイルは、日本語以外の言語に翻訳するときにも使いますので、「.pot」ファイルをコピーして、.poファイルを作成し、ファイル名の最後に「-ja」を追加します。
 
 theme-my-login.pot
    ↓
    ↓コピーしてファイル名を変更
    ↓
 theme-my-login-ja.po
 
作成した「.po」ファイルを開いて日本語の翻訳を当てていきます。
 
「.mo」ファイルは、「Machine Object」で .poファイルを実際に翻訳プログラム「PHP-gettext」が利用しやすい形式のバイナリファイルに変換したファイルです。
実際に WordPress(PHP-gettext)が利用するのはこの .moファイルだけですので、このファイルがあれば最低限足ります。
ですが、その後の編集のことを考えて、.po、.moの 2ファイルを提供することが一般的なようです。
 
 

.poファイルの書式(中身)

 
.poファイルはテキストファイルですので、テキストエディタで開いてこのファイルを編集することも可能です。
 

 
例えば、「Theme My Login」の .poファイルは、上記のようになっています。
3行目が翻訳元の英語の文章。
4行目が翻訳をした日本語の文章。
1行目、2行目は、翻訳元の英語が編集されているファイル名と行数。
 
3行目は、元の文章が長い場合は、何行かに分けて書かれている場合もあります。
 
.potファイルは、4行目の翻訳した日本語の文章が編集されていない状態のファイルです。
 
 

翻訳ファイル.moファイルを作成する方法

 
翻訳ファイル「***.po」を実行ファイル「***.mo」に変換するには「Poedit」というツールを使うと便利です。
 
 Poedit
  https://poedit.net/
 
他にも変換するツールはあるのだと思いますが、この「Poedit」は変換するだけではなく、.poファイルを編集するエディタとしても使い勝手のいいエディタになっていますので、「Poedit」を使って翻訳ファイル .poファイルを編集しながら、実行ファイル .moファイルも生成するという方法が便利でしょう。
 
 
ちなみに、「Poedit」は OSDNサイトからもダウンロードできるようですが、本家サイトの方が最新がダウンロードできます。
本家サイトは英語ですが、アプリ自体は日本語になっていますので安心して利用できます。
 
 


 

WordPressのプラグインを日本語化する手順

 
前ふりが長くなってしまいましたが、WordPressのプラグインを日本語化する手順を紹介します。
 

.potファイルのある場所

 
.potファイルは、下記の場所にあります。
 /{wordpress}/wp-content/plugins/{プラグイン}/language/
 
「s-giken」というプラグインの場合は、下記のファイルがあるでしょう。
 /{wordpress}/wp-content/plugins/s-giken/language/s-giken.pot
 
 
この「language」フォルダや、その中に .potファイルが存在しないプラグインは、多言語化対応されていないプラグインということになりますので、日本語化はできません。
プログラムファイル、テンプレートファイルを直接編集する必要があります。
 
 

.poファイルを作成して設置

 
.potファイルは、テンプレートファイルですので、.potファイルをコピーして .poファイルを作成します。そして、日本語の翻訳ファイルですので「-ja」を追加します。
 
例)
 s-giken.pot
   ↓
 s-giken-ja.po
 
.poファイル、.moファイルを設置する場所は、下記になります。
○ /wp-content/languages/plugins/
× /{wordpress}/wp-content/plugins/{プラグイン}/language/
 
「×」の行のプラグインフォルダの中の「language」フォルダの中に .moファイルを設置しても動作します。
なぜなら、プラグインの提供元がオフィシャルに翻訳ファイルを提供する場合は、この中の「language」の中に .moファイルを設置して提供するからです。
 
ですが、このフォルダは、プラグイン提供元がオフィシャルにファイルを提供する場合の設置場所ですので、プラグインのアップデートがあった場合には、まるっと入れ替えられてしまうエリアです。
そのため、ここにファイル入れておくとプラグインのアップデートの時に消えてしまいます。
 
実際に私は .poファイル、.moファイルをプラグインフォルダの中で作成をしていましたので、プラグインのアップデートの時に跡形もなく消えてしまいました。
数日間かけて翻訳したファイルだったのですが...
 
 
ですので、そうならないために「wp-content」直下の「languages」フォルダにファイルを設置します。
 
 
ちなみに、テーマの翻訳ファイルの場合は、下記になります。
○ /wp-content/languages/themes/
× /wp-content/themes/{各テーマ名}/languages/
 
 

.poファイルを編集して .moファイルを作成

 
.poファイルを作成し、所定の場所に設置したら、あとは Poeditで編集するだけです。
 
20160330_wp_01
 
.poファイルを読み込むと、英語と日本語の対比が表示されますので、まだ翻訳していない英文を選択し、「翻訳」の入力エリアに日本語訳を編集していきます。
 
Poeditだと、「保存」をクリックすると、.poファイルが保存されるのと合わせて、.moファイルが生成されますので非常に簡単です。
 
 
翻訳した .moファイルが所定の場所に置き、プラグインのページにアクセスし、日本語化されていれば成功です。
 
全部の英語を翻訳しなくても OKです。翻訳されているところだけが日本語に変換されて表示されます。
 
 

WordPressのプラグインを日本語化するあとがき

 
この WordPressのプラグインを日本語化する記事は、会員管理のためのプラグイン「Theme My Login」を使おうと、日本語化した時の手順などをまとめたものです。
 
ローカル環境のプラグインフォルダでファイルを編集していたために、プラグインをアップデートしたことで、それまで作成していたものをまるっと消されてしまうという悪夢も経験しました。
 
ローカルで作成したものを、FTPでサーバにアップして動作確認、という方法であれば、たとえ、プラグインをアップデートしてファイルが消えたとしてもローカルに元ファイルが残っているわけですが、ローカル環境の WordPressファイルを直接編集していましたからね。
プラグインのアップデートで消されてしまうともう跡形もないワケです。
 
ファイルの復元ツールを使っての復旧も試みてみましたが、かけらも残っていませんでした...
 
そんなわけで、フォルダを入れる場所は二度と間違わないでしょう。
 
 
ちなみに、私は何年か前に受けた TOEICは 250点でした。
TOEICは三択と四択の問題ですので、計算上はランダムに回答しても 280点くらいは取れるはずなのに、です。
 
でも、英語は分かるけど WordPressを知らない方が訳したものよりはマシな訳になっているんじゃないかとは思っています。
もちろん、Google翻訳をフル活用して翻訳しましたが、Google翻訳よりも意味が通る文章になっていると思います。
 
とはいえ、間違っている訳があれば教えてください!

 - WordPress

GoogleAdwords

GoogleAdwords

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

WordPressプラグインの3つのインストール方法解説

プラグインのインストール方法の特徴とおススメの方法を理由を含めて解説していきます。

EWWW Image Optimizerで画像の圧縮でWordPressを高速化

ページ表示の高速化に使うEWWW Image Optimizerの紹介です。英語で書かれているために取っつきにくいですが設定は3カ所。画像の圧縮もワンクリック。超簡単!

AdminerはWordPressのデータベース管理プラグインの決定版!

データベース管理プラグインはAdminerがあれば他に必要ありません。なぜならDB管理ツールAdminerと同じものをプラグインとして提供しているからです。

WordPress初心者向け フォルダ構成・データベース構成解説

BackWPupその11。バックアップを取るために必要なファイル、データベースの解説をします。

WordPressのコメントスパム対策 3つのプラグイン

対策なしではコメントスパムがやってきます。その対策方針としてプラグインを提示しながら解説します。いずれかの対策は必須です。

ob_start、ob_get_contentsを利用しショートコード内でinclude・WordPressプラグイン開発

WordPressのプラグインやショートコードの関数作成でテンプレートをincludeする際に利用するob_start関数、ob_get_contents関数を紹介。

ショートコードで簡単解決!WordPress固定ページにカテゴリ一覧を編集する方法

ショートコードを使って固定ページや投稿に特定のカテゴリ一覧を編集する処理を作りました。プラグインなしで30行くらいのソースコピペで実現できます!

seesaaからWordPressに引越。インストールなど必要な全てを解説

seesaaブログからWordPressへの引越し解説。他のブログにはないseesaaブログからcanonicalとリダイレクトの設定方法を実装!

WordPressのウィジェットでショートコードを使う方法add_filter

WordPressのウィジェットでショートコードを利用するには add_filter、do_shortcodeの関数を利用する必要があります。

BackWPupでバックアップ・機能の基本設定 Settings

BackWPupその5。バックアップ設定のベースになるBackWPup自体の設定解説です。