WordPressのプラグインを翻訳してみる

WordPressのプラグインを翻訳してみる

お鍋の季節になってきて週4くらい晩飯を鍋で済ませているムラタです。

さて今回はWPユーザーならみんな大好きなプラグインの翻訳作業をしてみようと思います

普段良く使っているメジャーなプラグインというのはだいたい既に日本語翻訳されているものばかりで自分で翻訳することなんてそうそうないと思いますが、翻訳されていないマイナーなプラグインを使うことがあり出力される文章全てが英語で困ったなぁという人はお試し下さい。

目次

  1. 使用するプラグインとソフト
  2. 翻訳を始める前に
  3. Poeditによる翻訳
  4. 終わりに

使用するプラグインとソフト

さて、今回翻訳するプラグインは「Namaste! LMS」というLMSを構築するプラグインです。

このプラグインについては機会があればまた別の記事で紹介したいと思います。

プラグインの翻訳といってもプラグイン本体を触る必要は全くありません。

別に本体を編集しても翻訳できないこともないですが、うっかり消してはいけない所を消して動かなくなってしまう危険性がありますし、なによりプラグインをアップデートした際に当然ですが全部元通りになってしまうので全くもって無駄です。

ではどうやって翻訳していくかというと「Poedit」という翻訳ソフトを使います。

翻訳を始める前に

このPoeditを使って翻訳していくわけですが、どんなプラグインでもすぐ翻訳を始められるというわけでありません。

プラグイン側にも翻訳するために下記の記述が必要です。

翻訳ファイルを読み込む関数

まずプラグイン内に「load_plugin_textdomain」というコンパイル済翻訳ファイル(MOファイル)を読み込む関数を記述しておく必要があります。

Namaste! LMSでは「models」ディレクトリ内の「namaste-model.php」内に記述があります。

04

①が任意のドメイン名、Namaste! LMSなので「namaste」となっています。
②は翻訳ファイルをロードできたかどうかの返り値。「false」で問題無いようです。
③は翻訳ファイルの格納ディレクトリの指定になります。上記だとNamaste! LMSプラグイン内の「languages」ディレクトリ。

翻訳テキストを取得する関数

次に翻訳するテキストに特定の関数が必要になります。

対象となる関数は
「_」
「__」(アンダーバー2つ)
「_e」
他にもいくつかあるようですが、とりあえずこの3つでしょうか。
Namaste! LMSの一文を例にだすと次の様な記述になります。

第一引数で元となる英文を記述し、第二引数に前述のload_plugin_textdomainで指定したドメイン名が入ります。

これらの翻訳テキストを取得する関数を記述していないプラグインを翻訳するとなるとかなり気が遠くなりますね・・・

ちなみにNamaste! LMSはこれらの翻訳関数を記述してくれていますが「languages」ディレクトリの中は空っぽなので翻訳ファイル(PO・MOファイル)だけをこちらで準備する必要があります(Ver1.6.7時点)。

Poeditによる翻訳

それではいよいよ翻訳作業に入りましょう。

翻訳ファイルの生成

インストールしたPoeditを起動させてメニューから「ファイル」の「新規カタログ」を選択します。

翻訳の言語を聞かれるので「日本語(日本)」を選択。
次にメニューの「カタログ」から「設定」を選択し、下記のように設定・入力します。

01

次にタブの「ソース中のキーワード」を選択し、「追加キーワード」から「新規項目」より
「_」
「__」(アンダーバー2本)
「_e」
の3つを追加します。

02

ここまでできたら「OK」をクリックして名前を付けて保存します。
保存する場所と名前は前述した「load_plugin_textdomain」によって異なります。

場所は第三引数で指定したディレクトリに、名前は第一引数で指定したドメイン名+「-ja」となります。

なので今回は「languages」ディレクトリ内に「namaste-ja」というファイル名で保存となります。

翻訳ファイルの指定

保存ができたらもう一度「カタログ」から「設定」を開き、タブの「ソースの検索パス」を選択します。

「パス」の下の「+」ボタンをクリックして「フォルダーを追加」を選びます。
ディレクトリの選択画面に移るので「language」から一つ上のプラグインのルートディレクトリを選択します。

03

「ベースのパス」が「..\」となっているのを確認してOKをクリックします。
次にメニュー下にあるアイコンの中から「更新する」を選択します。

05

「カタログの変更を保存しますか?」と聞かれるので「保存」を選択します。
その後「カタログを更新中」となり翻訳対象テキストが一覧で表示されます。

翻訳

一覧が表示されたら早速翻訳してみましょう。

翻訳したい文章を選択すると画面下の「ソーステキスト」に選択した文章が表示されるので、その下の「翻訳」に翻訳した文章を記入します。

06

後はこれを繰り返すだけです。

一から十まで全部翻訳していると馬鹿みたいに時間を食うので暇じゃない人は必要な箇所だけ翻訳するのがいいでしょう。

翻訳していると翻訳元のテキストに「%s」とか「%d」というのが目につくかと思いますがそれは動的に吐き出される部分になので翻訳時も気にせず「%s」としておきましょう。というより削除したらエラーがでるかと思います。

ある程度翻訳したら実際にどう見えるのかを確認してみましょう。

作業しているファイルを保存すると自動的に同じ場所にMOファイル(コンパイル済翻訳ファイル)が生成されていることを確認してください。

あとは特に何もしなくてもプラグイン側が勝手に翻訳ファイルを読み込んで翻訳してくれるので該当部分を確認してみましょう。

08

自分の翻訳が正しいかどうかは置いておいて、翻訳されているのを確認できたと思います。

終わりに

いかがだったでしょうか?

全て英語だった画面が自分の手で少しづつ日本語化されていく過程は意外といい気持ちだったりしませんか?

最後に1点絶対に気をつけておかなければならないことがあります。

それはプラグインを更新するとせっかく翻訳した翻訳ファイルが綺麗さっぱり消えてなくなってしまうということです。

何日もかけて翻訳したファイルが消えたとなると発狂ものなので、翻訳ファイルに関してはバックアップをとっておくことをオススメします。

あともし全部翻訳完了して自分だけ使うのがもったいない・・・みんなにも使ってもらいたいっていう心の広い方はそのプラグインの製作者宛に翻訳ファイルを送ってみたら次のアップデートからあなたの翻訳がデフォルトで使われることになるかもしれないですね。

英語に自信がある人はぜひ。

同じカテゴリー(WEB制作・デザイン)の記事