5月17日に予定されている WordBench 地域合同企画「春の翻訳&ドキュメンテーション祭り」(現在12地域が参加中!)に向けて、プラグイン・テーマの翻訳で参考になる記事を連載形式で書いてみたいと思います。
第一弾として、ここではプラグイン・テーマ翻訳をスタートしてみたい人のための最新版情報をまとめました。それぞれに関する説明はざっくりしたものですので、必要があれば追い追い書き足していきます。
それでは、最初のステップから!
WordPress プラグイン・テーマの翻訳ファイルの位置を理解する
WordPress.org の公式プラグイン・テーマディレクトリで「translation-ready」タグ(例)がついているものは、基本的に翻訳の準備ができています。
まず理解しておきたいのがプラグインやテーマの翻訳ファイルはどこにあるのか?ということ。一般的に言うと、それぞれのディレクトリ内の /languages/ フォルダです。
プラグイン(plugin-name というディレクトリ名とする)の場合:
wp-content/plugins/plugin-name/languages
テーマ(theme-name というディレクトリ名とする)の場合:
wp-content/themes/theme-name/languages
通常、このディレクトリ内に .po や .mo で終わる名称の各言語ファイルと、.pot で終わる(翻訳が含まれていない)テンプレートファイルがあるはずです。
ただし、デフォルトテーマや Akismet プラグインでは wp-content/languages のサブディレクトリに置いてあったり、古いプラグイン・テーマでは /langs/ とか適当な位置になっている場合もあります。標準的な位置に翻訳ファイルがないと追加対応のために知識が必要なこともあるので、最初に手を付けるものとしてはこの形式でファイルが置かれてあるものがオススメです。
WordPress プラグイン・テーマの翻訳を始める5つの方法
翻訳したいプラグイン・テーマの準備状態によって、使える方法とそうでないものがあるので5つに分けてみました。翻訳ファイルの操作は gettext パッケージがあればできますが、コマンドラインに不慣れな人は Poedit という無料のソフトがあると役に立つでしょう。
(6と7は5月4日に追記しました)
- 一部翻訳された PO ファイルを使う
- 用意された POT ファイルを使う
- コマンドラインから i18n Tools を使って翻訳部分を抽出する
- Poedit の有料版を使って翻訳部分を抽出する
- Poedit の無料版を使って翻訳部分を抽出する
- Grunt Task で抽出する
- Codestyling Localization プラグインで抽出する
その1: 一部翻訳された PO ファイルを使う
一番手軽に翻訳を始められるのがこのやり方です。プラグイン・テーマに plugin-name-ja.po/theme-name-ja.po というような日本語の「PO ファイル」が含まれている必要があります。
この翻訳ファイルをテキストエディタまたは Poedit で開きます。翻訳がない部分や修正したい部分を埋めてファイルを保存すれば、新しい「MO ファイル」(plugin-name-ja.mo/theme-name-ja.mo など)が自動で生成されるので、この MO ファイルを翻訳ファイルの位置に置けばサイトに反映できるはずです。
注意したいのは、PO ファイルが最新の POT ファイルに更新されていない場合がある点。Poedit では、メニューの「カタログ → POT ファイルから更新」で更新できます。
その2: 用意された POT ファイルを使う
プラグイン・テーマに「POT ファイル」が含まれている状態なら、日本語訳がまだ存在しなくても比較的簡単に作成できます。例えばそれが plugin-name.pot という名称なら、plugin-name-ja.po (拡張子にも注意)に変更して Poedit で開き、「カタログ → 設定」から言語を指定すれば翻訳が開始できます。
その3: コマンドラインから i18n Tools を使って翻訳部分を抽出する
プラグイン・テーマに POT ファイルが存在しない場合は自分で生成することになります。一つの方法は、POT ファイルを生成するための WordPress 開発者向けツールを使うことです。コマンドラインに抵抗がないなら、これが一番確実で簡単です(英語の詳細説明はこちら)。手順は以下のとおり。
i18n Toools を含む WordPress のソースをダウンロード。
$ svn checkout http://develop.svn.wordpress.org/trunk/
trunk 内の tools/i18n へ移動して、makepot.php の wp-plugin を実行(パスが your-plugin-directory のプラグインの場合)。
$ php makepot.php wp-plugin your-plugin-directory
または、wp-theme を実行(パスが your-theme-directory のテーマの場合)。
$ php makepot.php wp-theme your-theme-directory
その4: Poedit の有料版を使って翻訳部分を抽出する
有料アップグレード版の Poedit Pro を使う方法もあります。やり方については別途詳しく記事を書きましたのでそちらをどうぞ → WordPress プラグイン・テーマ翻訳対応を強化した有料版 Poedit Pro を使ってみました
宮さんから聞かれて気づいたんですが、現在プラグイン・テーマヘッダー(管理画面に表示されるプラグイン説明文など)内のテキストの抽出には対応していません。Poedit 作者さんに問い合わせたところ、近いうちに対応は予定しているということですが、i18n Tools を使った場合とその点で数行程度の差異が発生することになりますのでご注意ください。
Poedit Pro ですが、通常 $19.99 のところが現在 $11.99 になっているみたいです(約800円お得)。
その5: Poedit の無料版を使って翻訳部分を抽出する
ちょっと手間は増えますが無料版でも抽出は可能です。頻繁にやらないのであればこちらの方法でも良いかもしれません。この項目だけ長くなりそうなので別途書きたいと思いますが、「Poedit POT 作成」で検索しても色々出てくると思います。
その6: Grunt Task で抽出する
node.js と Grunt をインストールし、grunt-wp-i18n & grunt-pot を使うという方法もあります(詳細の英語ドキュメンテーション)。
その7: Codestyling Localization プラグインで抽出する
Codestyling Localization という、管理画面から翻訳を行うプラグインもあります。
WordPress プロジェクトの将来の計画では GlotPress を使ってオンラインでプラグイン・テーマの翻訳ができるようにする、というのも含まれているらしいと耳にしたりしますが、その仕組みができるまでまだしばらくはかかりそうです。公式ディレクトリに最近追加・更新されたプラグイン・テーマでは翻訳の準備ができているものがだいぶ増えてきているので、日本語で使いたいものがあったら今回ご紹介した方法を試してみてください。
「翻訳祭り」、私は WordBench 東京のイベントに参加する予定です。各地域との動画中継もやってみるということなので、質問・役に立つ TIPS などあれば共有しましょう!
コメントを残す