書き置き。

ほぼ勉強の記録みたいなもんです。

cakePHP1.2の日本語化でファイルを分割する方法

APP.DS."local".DS."jpn".DS."LC_MESSAGES".DS の下に default.po を作成するのが一般的な話。

cakePHP本体に書かれているメッセージを毎回翻訳するのは大変なので

こちらのサイトからDLすると便利

CakePHP 1.2 日本語化

default.poと同階層にcore.poを配置するだけ。 便利すぎます。感謝感謝。

大規模サイトになってくると、defualt.poの1ファイルにまとめてしまうと 共同作業がしにくかったり、そもそも1ファイルが大きくなりすぎてメンテナンスしにくくなる。 そこで、ファイルを分割する方法。

echo __("username");
↓
echo __d("user","username");

このように、通常__()関数を使っている部分を_d()に変更。 第1引数は翻訳ファイルのファイル名から拡張子を取ったもの。

この場合だと APP.DS."local".DS."jpn".DS."LC_MESSAGES".DS."user.po"に翻訳したものを記述する

msgid "username"
msgstr "ユーザー名"

cakePHP的にはこれを"ドメインの指定"と言うらしい

今回の方法は

[CakePHP]1.2系の多言語対応メモ(2)

のページを参考にさせていただいた。 おまじないのように作成していたLC_MESSAGESというディレクトリ名に関しても解説されていた