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初心者向け講座・詳細解説データベースとは何か?
データベースとは何か?を言葉の意味の説明なども含めエクセルと比較しながら説明しています。
-
-
ショートコード+ウィジェットでサイドバーに人気記事を表示させる方法
WordPressのサイドナビゲーションに人気記事を編集する方法です。プラグインを使わずウィジェットにショートコードで任意のPostIDを指定することで編集する方法です。
-
-
Advanced Custom Fieldsのカスタムフィールドの登録上限が max_input_varsに影響する問題の対処方法
Advanced custom Fieldsには登録できるフィールド数に上限があります。php.iniのmax_input_varsによる制限ですが、フィールドグループを分割することで解決できます。
-
-
WP Multibyte PatchでWordPressの管理画面のイタリック体を解消
管理画面の一部の文字がイタリック(斜体)になっているのはプラグイン「WP Multibyte Patch」が有効になっていないためです。日本語を使うには必ず有効化しましょう。
-
-
BackWPupでバックアップ・機能の基本設定 Settings
BackWPupその5。バックアップ設定のベースになるBackWPup自体の設定解説です。
-
-
WP jQuery LightBoxでWordPressの画像を簡単に見やすくする方法解説
画像のリンクに対して LightBox効果を簡単に追加するプラグイン。インストールして数項目にチェックを入れるだけで設定完了。属性を追加することで機能も追加できる。
-
-
WordPress管理画面のメニューに項目を追加する方法解説
WordPressの管理画面のメニューに項目を追加する方法をサンプルソースを交えて解説します。
-
-
WordPress 任意のファイルを読み込むショートコードの処理
投稿ページにショートコードを利用して任意のファイルを読み込む処理の解説です。
-
-
Custom Field Templateで簡単にカスタムフィールドをフル活用
カスタムフィールドを簡単に設定するプラグイン。簡単にカスタムフィールドが管理で来て作業効率が数倍にアップします!
-
-
Autoptimizeで簡単設定!HTML、JS、cssを圧縮しWordPress高速化!
Autoptimizeを使って簡単にHTML、JavaScript、CSSを圧縮しサイトの表示を高速化しよう!基本設定、拡張設定とあり柔軟な設定で多彩な環境に対応出来ます。