WordPressのプラグインには他の言語に翻訳できる機能が備わったものが多数リリースされています。WordPressのプラグインなどを日本語に翻訳する基本手順は
- 翻訳ソフト「poedit」をインストールする
- プラグインのファイルをダウンロードして解凍する
- 2のファイルの中にある翻訳元ファイルを開く
- 翻訳する
- FTPを使って翻訳ファイルを転送する
です。
プラグインの翻訳ファイルを転送する方法は
で詳しく説明しています。
これできちんと日本語で設定画面が操作できたり、閲覧者に表示する画面が日本語になると思いきや、一部が英語のままだったということありませんか?今回は翻訳元ファイルを再構築して確実に日本語化を行う方法をご紹介します。
全部の言語を翻訳したはずなのに英語の文章などが残ってしまう原因
言語の一部が日本語化できない理由は
翻訳の元となるファイル(potファイル)が不十分で更新されていない
ことがほとんどです。
プラグインは最初に作られたときから作者によってバージョンアップ(アップデート)が繰り返されます。そのうちに翻訳ファイルの管理が煩雑になり、翻訳ファイル(.po/.mo)ファイルが古いものと新しいものの混在になってしまったり、翻訳元ファイル(.po)が古いままになってしまったりするのです。
このままではいくら正確に翻訳ファイルを作っても部分的にしか日本語になりませんし、何より追加された機能の部分(実はこれが魅力でプラグインをインストールしているのに)が英語のまま、見ても分からない・・・ということになってしまいます。
原因が分かれば対処方法は必ずあります。次の項で2通りの方法を紹介します。
せっかく作った翻訳ファイルを無駄にしないために
今まで作った翻訳ファイルは使えないの?また1から翻訳しなおすの??面倒だ!と思われるかもしれません。実はこれを利用できる機能が「poedit」という翻訳ソフトの中にあるのをご存じですか?自身で翻訳ファイルを「poedit」で編集したのでしたらこの作業はする必要がありませんが、どこかの誰かが翻訳したものを利用したい場合は次の作業を行います。
- 「○○-ja.po」というpoeditで編集できるファイルを用意する
- poeditを開き、「ファイル」→「設定」を開く
- 表示されるタブの中から「翻訳メモリ」を開く
- 「翻訳メモリを使う」にチェックを入れ、「ファイルから学習・・・」をクリック
- 1で用意した.poファイルを選択して読み込む
この作業をしておくことで、次に同じプラグインの翻訳をし直す際、前に作った翻訳データを活用できるようになります。
翻訳するときは「poedit」で、日本語ファイルを入手したときはひとまず翻訳メモリに保存するということを毎回行っていれば、プラグインの翻訳が格段に楽になりますよ。
翻訳メモリにきちんと翻訳したものが残っているか不安な方は、重複して読み込んでも大丈夫なのでとにかく読み込みをしておくようにしましょう。
翻訳メモリにある語句を適用させるには
- 翻訳されている語句をすべて削除するか未翻訳にする
- 「カタログ」→「翻訳メモリを使って未翻訳項目を埋める」をクリックし「埋める」をクリックする
というたった2つの手順で復元できます。ただし、「埋める」をクリックする前に完全一致部分だけにするのか?埋めたところは未翻訳にしておくのか?という判断はしておいた方がいいと思います。私は後で1つ1つ見るのが面倒なので完全一致だけで埋めるようにしています。
翻訳前のファイルを再構築する方法
他国の言語ファイルから復元する
プラグインに付属している翻訳ファイルの中には他の言語に対応したものがたくさん含まれていたりします。その中の「.po」形式のファイルを見て一番ファイルサイズの大きそうなものや一番作成日の新しいもの(プロパティで確認)を開きます。そして、前述した翻訳メモリに保存されているデータを復元してベースとなるファイルを作成します。
この方法でほとんどの問題は解決するのですが
- 一番大きい.poファイルが本当にすべての語句を包括しているかは分からない
- 一旦他の言語で翻訳されている部分を消すのが大変
といった不確定な要素と面倒な要素が残ってしまいます。そこで、あるプラグインを使ってより確実に翻訳ファイルのベースを作る方法を次に紹介します。
プラグインの機能を使って翻訳ファイルのベースを作る
けっこうたくさんのプラグイン翻訳をしてきた私が最終的にたどり着いた方法です。
使用するのは
というプラグイン。本来はpoeditなどの翻訳ソフトを使わなくてもWordPressの管理画面上で翻訳ができるという便利なプラグインなのですが、それではpoeditの便利機能である「翻訳メモリ」が使えないので私は翻訳ファイルのベースを作る(再構築)する際のみ使用しています。「Loco Translate」プラグインを導入した前提で、翻訳前ファイルの生成するには
- 一旦プラグインフォルダの中にある言語ファイルを全て削除する
- 「Loco Translate」の設定画面を開く
- 一覧から目的のプラグインを探し、「テンプレート」欄の「+新しいテンプレート」をクリック
- 出てきた画面の「pot」と書かれたダウンロードボタンをクリックしてパソコンに保存
- poeditで保存した.potファイルを開く
- 翻訳メモリから翻訳を復元する
- 残りの部分を翻訳してプラグインフォルダへアップロード
これでより確実に翻訳ファイルを作ることができます。
3で行う「Loco Translate」のテンプレート作成機能はプラグインのプログラム中から翻訳対象となる語句を抽出して翻訳のベースとなる.potファイルを作ってくれるという優れた機能です。プログラム中にあって翻訳できる語句は全て抽出してくれます。
翻訳の元となりそうなファイルが1つでも存在すると3で「+新しいテンプレート」が表示されませんので、他国の言語ファイルも含め全て削除してください
翻訳してアップロードしたはずなのになぜか一部が英語のまま・・・という方はぜひこの方法を試してください