Linux - gettext で翻訳(po)ファイル編集!

Updated:


Linux で翻訳ファイル(poファイル)を編集する方法についてのメモです。

po ファイルとは ”Portable Object” の略でテキストベースの翻訳設定ファイルです。 この po ファイルを mo ファイル(“Machine Object”)に変換することによって実際の翻訳が行われます。

身近なところでは、ブログツールの WordPress で使用されていて、当方も WordPress の翻訳ファイルはカスタマイズして使用しています。

その翻訳ファイルの作成・編集には、通常 Poedit というツールを使用します。 当方も Windows 環境ではよく使用していました。

Poedit には Linux 版もありますが、Linux では “gettext” というメッセージ文字列を国際化・地域化するためのツールが使用可能です。 当方、翻訳ファイルをカスタマイズするのは WordPress だけなので、Poedit をインストールするまでもなく gettext を使用することと判断しました。

以下、作業メモです。

作業メモ

0. 前提条件

  • Scientific Linux 6.3 (64bit) での作業を想定していますが、CentOS でも同じです。
  • gettext がインストール済みである。 未インストールなら # yum install gettext でインストールする。

1. po ファイル編集

po ファイルをテキストエディタで編集する。 (編集する po ファイル名の例: test.po )

2. mo ファイル作成

gettext の msgfmt コマンドを使って po ファイルから mo ファイルを作成する。 (編集する mo ファイル名の例: test.mo )

# msgfmt -c --statistics ja.po -o test.mo

-c はチェックを行うオプション、--statistics は翻訳に関する統計情報を表示するオプション。 その他オプションは --help で確認可能。

その他

今回は、既存の po ファイルから mo ファイルを作成するだけの作業でしたが、本来は po ファイルの元になる pot ファイルを作成する作業から始まります。


翻訳ファイルをよく編集するのであれば Poedit があった方が都合が良いかもしれませんが、特定のファイルの微修正をするくらいないら gettext で充分です。

以上。





 

Sponsored Link

 

Comments