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ファイルはテキストファイルですので、テキストエディタで開いてこのファイルを編集することも可能です。
1 2 3 4 |
#: admin/class-theme-my-login-admin.php:68 #: admin/class-theme-my-login-admin.php:133 msgid "Theme My Login Settings" msgstr "Theme My Login の設定" |
例えば、「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で編集するだけです。
.poファイルを読み込むと、英語と日本語の対比が表示されますので、まだ翻訳していない英文を選択し、「翻訳」の入力エリアに日本語訳を編集していきます。
Poeditだと、「保存」をクリックすると、.poファイルが保存されるのと合わせて、.moファイルが生成されますので非常に簡単です。
翻訳した .moファイルが所定の場所に置き、プラグインのページにアクセスし、日本語化されていれば成功です。
全部の英語を翻訳しなくても OKです。翻訳されているところだけが日本語に変換されて表示されます。
WordPressのプラグインを日本語化するあとがき
この WordPressのプラグインを日本語化する記事は、会員管理のためのプラグイン「Theme My Login」を使おうと、日本語化した時の手順などをまとめたものです。
ローカル環境のプラグインフォルダでファイルを編集していたために、プラグインをアップデートしたことで、それまで作成していたものをまるっと消されてしまうという悪夢も経験しました。
ローカルで作成したものを、FTPでサーバにアップして動作確認、という方法であれば、たとえ、プラグインをアップデートしてファイルが消えたとしてもローカルに元ファイルが残っているわけですが、ローカル環境の WordPressファイルを直接編集していましたからね。
プラグインのアップデートで消されてしまうともう跡形もないワケです。
ファイルの復元ツールを使っての復旧も試みてみましたが、かけらも残っていませんでした...
そんなわけで、フォルダを入れる場所は二度と間違わないでしょう。
ちなみに、私は何年か前に受けた TOEICは 250点でした。
TOEICは三択と四択の問題ですので、計算上はランダムに回答しても 280点くらいは取れるはずなのに、です。
でも、英語は分かるけど WordPressを知らない方が訳したものよりはマシな訳になっているんじゃないかとは思っています。
もちろん、Google翻訳をフル活用して翻訳しましたが、Google翻訳よりも意味が通る文章になっていると思います。
とはいえ、間違っている訳があれば教えてください!
GoogleAdwords
GoogleAdwords
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
WordPressの投稿データ(記事データ)の管理方法
投稿の登録の方法、投稿データの管理方法の解説。MetaManagerなどのプラグインを入れた場合の入力ボックスを表示させる方法についても解説します。
-
Category OrderでWordPressのカテゴリを並替えよう
Category Orderは基本機能では並び替えができないカテゴリを並び替える機能を提供するプラグインです。ドラッグ&ドロップで並び替えができる簡単インターフェイスです。
-
FC2からWordPressに引越しの際のデータ加工方法の解説
FC2からWordPressに引越しの際にデータを加工する必要がありますが、その加工方法の詳細を解説。秀丸の正規表現による置換を使い作業時間も軽減する方法や加工のポイントも解説。
-
DuplicatorでWordPressを簡単引越し!インストーラー付のバックアップにも
WordPressの引越しや開発環境から本番環境への移行など他の環境に移す作業を簡単にしてくれるプラグインの紹介。インストーラー付のバックアップツールとしても使る。
-
SMTP Mailerでスパム判定回避。WP Mail SMTPで発生する送信エラーも対応
WordPressからのメールをスパム判定されずに送信する「SMTP Mailer」の解説。SMTP MailerはPHP 5.6、7.0になってもSMTP接続でエラーにならない設定を搭載しているのが特徴。
-
WordPressの 外観のテーマのための関数の並び順
WordPressのカスタマイズの際にテーマのテンプレートを編集しますが、そのテーマファイルの並び順の解説です。
-
Advanced Custom Fieldsの関数の全部の使い方を調べてみた
Advanced Custom Fieldsに用意されている関数を全て調べてみた。よく使うget_field、the_field以外にも多くの関数が用意されていて、フォームを作成することも可能。
-
BackWPupでバックアップ・Jobの設定・保存する情報の設定
BackWPupその2。Jobのバックアップの基本部分と対象の設定についての解説。
-
WordPressの Google XML Sitemapsで WebMaster Tools用の sitemap.xmlを生成
WordPressの Google XML Sitemapsで WebMaster Tools用の sitemap.xmlを生成する方法を説明しています。
-
WordPressのウィジェットにGoogle+ページのバッジ編集方法
Google+ページの特徴(Facebook、Mixiとの違い)や構築のメリット(Google対策)、登録、バッジの編集方法の解説。