Poeditを使った多言語化の翻訳ファイル作り方

WordPressを多言語化する必要があり、翻訳ファイルを作成しました。

WordPressではテーマの翻訳は基本的にlanguagesディレクトリに入れることとなっています。

そして、翻訳情報を入れたpoファイルとそれを元にコンパイルしたmoファイルの2つで1セットを使います。

Poeditをインストー

公式サイトからインストールします。

有料版もありますが、普通に使う分なら無料版でも十分対応できます。

Poeditを起動

起動すると以下のような画面が出てきます。すでに翻訳ファイルがある場合は、「翻訳を編集」または「翻訳プロジェクトを新規作成」を選択。

WordPressのテーマ・プラグインを編集」は無料版の場合は使用できないので、今回はスルーします。

poedit1

翻訳ファイル(新規カタログ)を1から作成する

1から翻訳ファイルを作るには、メニューのファイル>新規カタログから新規の翻訳ファイル(.poファイル)を作成します。

次に翻訳先言語を選択。

poedit2

Command + S で一旦カタログを保存します。すると「プロジェクト名-ja.po」「プロジェクト名-ja.mo」の2つが生成されます。

翻訳部分を「ソースから抽出」

次に翻訳部分を抽出するために、「ソースから抽出」を選択します。

poedit3

「ソースの検索パス」にWordpressのフォルダを追加します。「+」のマークでできます。

poedit5

次に「ソース中のキーワード」を選択。WordPressなら翻訳の関数「e()」と「__()」があるので、ぞれぞれ()をとった「e」「__」を登録して起きます。

poedit5

翻訳の開始

読み込みが正常にできれば、以下のような画面になります。エラーの場合は、下記のエラーの場合の対処法を確認してください。

poedit8

「ソーステキスト」が翻訳元なので、「翻訳」のテキストエリアに翻訳を記入していきます。

全部記入したら保存してから、ファイル> MOにコンパイルをすることで完了します。

エラー:「ソースから抽出」で「カタログの更新に失敗しました」となる

「ソースから抽出」をすると、以下のようなエラーとなることがあります。

poedit6

ちゃんと検証してないですが、登録した翻訳用関数(WordPressだと_()やe()が該当)の近くに日本語があるとエラーとなる様子。

関数の直前または直後のコメントアウトの中に日本語がある場合に起こるっぽいです。対策として、前後にコメントアウトがある場合は消すか英語にしてみてください。