CakePHP 日本語化翻訳データの編集にPoeditを使う

PHP

CakePHPのメッセージを日本語化するためには、「cake i18n」コマンドで生成されたファイルを編集して翻訳データを追記します。
app/locale/jpn/LC_MESSAGES/default.po

default.poはテキストファイルなので、テキストエディタで直接編集してもよいのですが、Poeditという対訳データ編集用のツールがあります。

Poedit公式サイト
http://www.poedit.net/

Poeditダウンロード
http://www.poedit.net/download.php

http://www.poedit.net/screenshots/win.png

「TAB」原文・対訳一覧ペインと、対訳ペインの入力フォーカスを切り替えます。
「CTRL+↑」「CTRL+↓」で対訳データ入力中に、一覧上の行移動ができます。

なお、「cake i18n」コマンドで自動生成したファイルをそのまま編集すると、保存時に下記エラーが表示されます。(エラーを無視してもcakephpの動作に問題はない)

 msgfmt: found 2 fatal errors
 invalid nplurals value
 field `Language-Team' still has initial default value

.poファイルの下記行を言語にあわせて変更するとエラーが出ないようになります。

 "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"

日本語の場合は下記でよいはずですが、

 "Plural-Forms: nplurals=1; plural=0;"

未翻訳メッセージで常に単数形になってしまうので、英語にあわせて下記指定が無難なようです。

 "Plural-Forms: nplurals=2; plural=(n != 1);"

参考
http://drupal-jbox.net/?q=node/207

カテゴリーPHP

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です