WordPressを使っていると、様々なテーマやプラグインを使うことになると思うのですが、ほとんどのものは言語が英語ベースになっているものが多いと思います。テーマとかに多いのですが、そのまま使うと英語表示になったままで日本語で使いたいときに困ってしまうことがあります。
プラグインも物によって、サイト内に「テキスト」が表示されるものがあると思うのですが、英語の表記より日本語が出ていたほうがいいことがあります。それをWordpressの基本的な記述を利用することで「日本語」表示をすることが簡単に出来ます。さらに「Poedit」というツールを使うことで、元のソースをいじることなく英語の表示を日本語表示に変更出来たり、使い方によってはブラウザで設定している言語に合わせて表示を変えることができることを知ったので、忘れないようにメモメモです。
Poeditを使えると色々なテーマやプラグインを日本語化して使うことが出来ます。ただし、翻訳する必要はありますけどね。
英語表記を日本語に変更しようとしたきっかけ
今、Wordpressであるシステムを作ってしまおうと試みているのですが、海外のサイトを探していたところオープンソースでテーマが公開されており、それをベースにシステムを構築することになったんです。で、そのテーマはこれ自身の他に3つプラグインを必要としており、それらが設置されることで機能するテーマになっていました。
これに使われているテーマとプラグイン共に海外で制作されたものであるので、表示はすべて英語になっていました。ただ日本語で使うことを想定しているのですべての表示を日本語に変更しなくちゃいけないので、どうしたものかと探していたら、「Poedit」というソフトを使うことで簡単にソース内に表示される言語を日本語に変更できるというものでした!
もぉ〜待ってました!!という感じで、使ってみることにしたのですがPoeditの使い方を探してみると、色々なサイトで紹介されているのですが、ちょっと情報がバラバラだったし、今後自分が使うことがかなり増えると思ったので、まとめることにしました。
Poeditで日本語化が出来るのですが、日本語化だけでなくどんな言語にも適用できるのでかなり拡張性が高い感じがしてます!目指せサイトのグローバル化!
※ただし、もう一度言いますが自分で翻訳後の言葉を入力する必要性はあるんですけどね。
WordPressの言語機能
そもそもWordpressでは、多言語化(翻訳)をしっかり考えられているようで、Codexの中にもちゃんと項目があります。
WordPress の翻訳 −Wordpress Codex日本語版
ざぁーっと目を通してみるのですが、分かる人にはちゃんと分かるのかと思うのですが、僕にはちょっと・・・。
ただ、仕組みとしては、サイト内に表示されるテキストのソース部分の記述を、__() や _e() でくくって作っておくと、あとでこの部分だけ拾いだして簡単に中身を入れ替えることが出来ると言うことのようです。
実際に手に入れたテーマやプラグインの中身を見てみると、__() や _e() で記述された部分が見つけられるかと思います。()の中には表示する言葉が入っています。
例えばWordpressのファイルの中にもいっぱいあるのですがこんな感じです。
[php]
if ( in_array( $user_name, $illegal_names ) == true )
$errors->add(‘user_name’, __( ‘That username is not allowed.’ ) );
if ( is_email_address_unsafe( $user_email ) )
$errors->add(‘user_email’, __(‘You cannot use that email address to signup. We are having problems with them blocking some of our email. Please use another email provider.’));
if ( strlen( $user_name ) < 4 )
$errors->add(‘user_name’, __( ‘Username must be at least 4 characters.’ ) );
[/php]
2,5,8行目のところですが、「__」アンダーバー2つで始まっていて、その後ろのカッコ内に文章が入っています。この形で作っておくと、あとで簡単にここの文章を入れ替えるようになるそうです。
ちゃんと作っていくれているものはこのような形になっているので、Poeditを使うとかな〜り簡単に日本語化できちゃいます!
Poeditの使い方
日本語化をするための必須のソフトが「Poedit」というものです。ダウンロードしてちょいちょいってやったら、あっという間に英語表示だったものが日本語表示にできちゃいます。
Poeditをダウンロードする
まずは、「Poedit」をダウンロードしてきましょう!web上の記事によってはwindowsじゃないと出来ないようなものも見かけたのですが、Mac,Linux,BSD,Solarisでも利用ができるようです。下記からダウンロードできます。
SourceForge.JP > Poedit :http://sourceforge.jp/projects/sfnet_poedit/
日本語で表示してくれているのでわかりやすいです。
自分のOSに合わせてダウンロードして下さい。(2014年7月5日時点では、1.5.7が最新版でした)
ダウンロードしたら普通にファイルを解凍して、インストールして下さい。
Poeditを開いてみる
Poeditをダウンロードして、インストールしたら早速開いてみましょう!!下記のような画面が出てくると思います。
- 翻訳を編集
- 翻訳プロジェクトを新規作成する
- WordPress のテーマ・プラグインを翻訳
という感じでメニューが出てくると思います。
説明文の中に「POファイル」と「POTテンプレート」と出ているのですが、これが翻訳に関係したファイルになります。また、編集を完了すると「MOファイル」というものも作成されます。それぞれの説明は下記の感じです。
POT (Portable Object Template)
ソースの中からさっきの__()と_e()のメッセージをすべて引っ張ってきた翻訳の元となるファイル。POファイルの元のテンプレートって感じですかね。
PO (Portable Object)
上の.potファイルを元にして、言語の翻訳データを入れたもの.poファイルという感じ。もうすでに作られているものを見ると英語の他にそのファイルの言語が入っていると思います。
MO (Machine Object)
.poファイルを機械が効率よく読み込めるように形式のファイルが.moファイル。中身を見てみるとXMLサイトマップみたいな感じになってました。このファイルは「Poedit」を使うと保存した時に勝手に作成してくれちゃいます!
目的に合わせて、メニューから選択して翻訳作業を始めるのですが、3つ目の「Wordpress のテーマ・プラグインを翻訳」有料プランでのみ使えるようです。試しにクリックしてみると、英語で「使いたい場合はアップグレードしてくださいね」って出てきましたww
しかし、無料で使える部分だけで十分簡単に翻訳ができます!!
Poeditで翻訳(言語の入力)をしていく
Poeditで翻訳をしていくのですが、最初はPOTファイルが準備されているものから始めるとやりやすく分かりやすいです。(POTファイルがないものは自分で作成することになるので、この記事の閲覧数が多かったらいづれ記事にします。。)
POTファイルを開く
サンプルとして、超有名なプラグイン「contact-form-7」でやってみます。
Poeditのトップページメニューで「翻訳プロジェクトを新規作成する」をクリックして下さい。ファイルを開くことになるのでローカルファイルで「contact-form-7」のPOTファイルを探します。
ファイルの場所は、
ローカルのWPフォルダ > wp-content > plugins > contact-form-7 > languages
の中にあるかと思います。
「contact-form-7」だと「contact-form-7.pot」というファイルがあると思うので、それを開いて下さい。
ファイルを開くと「翻訳の言語」を選択することになります。
中を見るとわかるのですが、「日本語」と「日本語(日本)」の2つがあります。違いとしてはファイルを保存するときのファイル名になります。
「日本語」だと、ファイルを保存した時に、「ja.po」になり、「日本語(日本)」だと「ja_JP.po」になります。
翻訳後の言語を入力する方法
入力する言語を選択できたら日本語化を始めていきましょう。
下記の図の、赤枠が元の英語のテキストで、青枠に選択した言語(僕らの場合は日本語)を入力します。
この作業をどんどん行っていきすべての言語の翻訳を入力すると日本語化ができちゃいます。
作業中に、この言葉はどこで使っているの??と困ることがあるのですが、そんな時は「ソーステキスト」の一覧に表示されている部分で右クリックをしてみてください。下記のように参照位置という部分に、何のファイルの何行目に記載されているものかが表示されます。
すこしWordpressの仕組みを知っている必要があるのですが、今回はプラグインなので
プラグイン > 編集(今回はContactForm7)をクリックしてあげると、画面の右側にすべてのファイルが表示されているので、その中から探しだしてどこで使われているものかを探します。
ある程度これで何に使われているかわかるかと思います。ただ、ソースだけ見ていてもわからない部分も出てくるので、その時は実際にプラグインを設置したページを表示してみて、英語の表示がないか探しだして翻訳してあげましょう!(それなりに時間がかかっちゃいますが、出来上がるとかなり使えるので頑張りましょwww)
翻訳が終わったらファイルを保存する
ひと通り翻訳が終わるか、途中でデータを保存したいときは、左上にある「更新する」をクリックしましょう!そうすると、保存するかどうか確認されるので保存しちゃいます。
まだ、ファイルがない場合はどこに保存するのか確認されるのでPOTファイルと同じフォルダに入れて下さい。
Poeditの素晴らしいところなのですが、この流れで保存するとPOファイルだけでなくMOファイルも自動的に作成され保存されます。それによって自動的にWordpressが読み取れるファイルまで作成されます。
ただし、ちょっと注意しなくちゃいけないのがこのファイル名の付け方なのですが、「日本語」「ja.po」と、「日本語(日本)」「ja_JP.po」の違いの部分と、先ほどの画像のように、言語の前にプラグインやテーマの名称を付けなきゃいけないという部分です。
いくつか自分のために日本語化してきたのですが、どれがどういう形でルール付けされているのかがまだわかっていないんですよね。
他の言語が入っていればそれも見習って同じルールでファイル名を付けてあげればいいのですが、言語がいるがない時は手探りで探して表示されるかどうか試して下さい。(今後わかるようになったら記載しますね。)
テーマやプラグインをPoeditで日本語化のまとめ
ここまでで、Poeditを使ってプラグインの日本語化が出来たかと思います。プラグインの場合は、管理画面に表示されるものが多いかもしれませんが、ちょっと変えておくだけでも使いやすくなるし、フロント側に表示されるものが変更できれば、ユーザーに対してすごく使いやすくなると思います。
WordPressで使うテーマやプラグインは、英語で作られているものが多いと思うので、日本語化ができているとかなり感謝されるし、より使い勝手が良くなっていきます。
僕の場合は英語力が低いので、自信を持って公開することが出来ないのですが、もし機会があればtontotakumi.comで日本語ファイルの公開も出来るようになればなんて考えてます。
今回はPOTファイルが準備されているものを記載したのですが、時間ができたらPOTファイルがないものに対して、POTファイルを作る方法を記載したいと思います!記事ができたらアップしようと思うのでしばしお待ちを。。。
コメント
[…] Poeditの使い方 [WordPressのテーマやプラグインを日本語化(多言語)する方法] […]
[…] poeditの使い方 […]
[…] WordPress のテーマやプラグインを日本語化 (多言語) する方法 | tontotakumi.com […]