CakePHP 1.2 日本語化

●はじめに

近年人気が高まってきたPHPのフレームワーク『CakePHP』ですが、標準だとエラーメッセージが英語です。
別に意味は理解できるので結構なんですが、そのままでは何となく嫌だったので日本語化してみました。

しかしながら、コアライブラリのメッセージを直接書き換えたくはなかったので、
試行錯誤してなんとか別ファイルに書いたメッセージを表示させることができました。

これで少しでもCakePHPの利用がしやすくなり、CakePHPユーザが増えれば幸いです。

ただいまCakePHP 1.3-dev用の翻訳ファイルを作成中です。
変更点がそれなりに多いので、しばしお待ちを。

Translated by kuma [blog]

●日本語化画面例

CakePHPトップページ エラーメッセージ

●日本語化ファイル

Ver. リリース 対応CakePHP 変更点 DLリンク
0.1.0 2008/06/23 1.2.0.7125 RC1 1.1用を改造して1.2のコア部分のみ翻訳の試作品 ZIP 7,157 byte
0.1.1 2008/07/02 1.2.0.7296 RC2 RC2にも暫定対応した試作品2 ZIP 7,551 byte
1.0.0 2008/09/18 1.2.0.7296 RC2 コア部分以外も完全日本語化 ZIP 18,858 byte
1.0.1 2008/10/07 1.2.0.7296 RC2 細かい日本語意訳部分を修正 ZIP 18,882 byte
1.1.0a 2008/10/07 1.2.0.7692 RC3 RC3に対応 (11/16 ファイル名をcore.poに戻す) ZIP 18,340 byte
1.1.1 2008/12/22 1.2.0.7692 RC3 翻訳メッセージの一部を修正 ZIP 18,180 byte
1.2.0 2008/12/22 1.2.0.7945 RC4 翻訳ファイル1.1.1を基準にRC4に対応 ZIP 18,198 byte
1.2.1 2009/01/05 1.2.0.7945 RC4 翻訳メッセージの一部を修正 ZIP 18,331 byte
1.3.0 2009/01/05 1.2.0.7962 Final
1.2.1.8004 Stable
翻訳ファイル1.2.1を基準にFinalに対応
Finel→Stableでメッセージの変化がなかったので流用可
ZIP 17,045 byte
1.3.1b 2009/08/06 1.2.2.8120 Stable

1.2.4.8284 Stable
Stable以降の微妙な翻訳メッセージの追加に対応 ZIP 17,045 byte

●設置方法

ファイル設置場所

CakePHPルート
  app
  ┗ locale
    ┗ jpn
      ┗ LC_MESSAGES
        ┣ default.po(Ver. 0.1.0~1.1.0)
        ┗ core.po (Ver.1.1.0a 以降)

UTF-8以外の環境では

最近の一般的な文字コードはUTF-8なので、日本語化ファイルもUTF-8で作成してある。
EUC-JP, Shift_JIS環境ではメッセージが文字化けするので、core.po ファイルをテキストエディタで開き、
CakePHPの内部文字エンコード (core.phpの設定) で保存しなおせば問題なく表示される。

フォント最適化

デフォルトのレイアウトを使う場合、欧文フォントだと日本語の文字間隔が開きすぎて読みづらいので、
CSSのフォント指定を変更して日本語がちょうど読みやすいようにする。

app/webroot/css/cake.generic.css
/* font-family:'Gill Sans','lucida grande',helvetica, arial, sans-serif; */
/* font-family: Courier, monospace; */
font-family: Arial;

コンソール日本語表示

Cakeコンソール (cake/console/cake) は日本語化ファイル導入だけでは日本語にならない。
Bakeなども日本語化するには、コアの設定に次の1文を追加する。

app/config/core.php
/*
 *  Translations for CakePHP core libraries and consoles.
 */
Configure::write('Config.language', 'ja');

●最後に

この日本語化ファイルの作成にあたっては、次の記事を参考にさせていただきました。

まだ適当に翻訳しているところがあるので、間違いや理解しにくい日本語があるかもしれません。
もし何かメッセージ・ご意見などありましたらブログの記事にコメントいただけると嬉しいです。

CakePHP Translation by kuma