自宅サーバー上で、戯曲のテキストファイルからEPUB3を生成するものを、コツコツと開発中。FuelPHPで作っている。異様にわかりやすいフレームワーク。けれど、実行のたびFuelPHPのエラーログに、下のようなWarningが残るのが気になっていた。
Fuel\Core\Fuel::init - The configured locale ja_JP is not installed on your system.
システムにja_JP(日本語&日本)ロケールが無いよー、と。FuelPHP悪くない。ウチのシステムが悪い。
ja_JP入っていなくても、今作っているものの稼働上は何にも問題がない。が、エラーログがたまりまくるのが悲しかった。なんとかしたかった。
自宅サーバーって言っても、要はQNAPの、HDDを4つ挿せるハコなのだが、こいつには色んなロケールが元々入っていない。なので自力でロケールをインストールする必要がある。って、QNAP Wikiに書いてあった。対策も。以下のページ。
これを読むと、http://wiki.qnap.com/w/images/7/77/Posix-locales.rar をダウンロード&解凍し、お目当てのロケール・ファイルを「/usr/share/i18n/locales
」にコピー。その後、Tera Termとかでログインして、ロケールとしてja_JPを当て、charmapとしてUTF-8(/usr/share/i18n/charmaps
にある)を当てればよいように思える。つまり、
localedef -i ja_JP -f UTF-8 ja_JP.UTF-8
ってすればいいような感じ。
が、うまくいかない。なぜなら……上述URLの”Posix-locales.rar “には、ja_JPが入っていないからだ。
なので、こうした。
(1) /usr/share/i18n/locales
に、空のファイル「ja_JP」を作成。
(2) Locale Helper のからja_JPを探しだし、「Export in glibc format」から内容を表示。全コピーして、上の空ファイル「ja_JP」に丸ごとペースト。保存。
(3) Tera TermでQNAPにログインし、先述のコマンド、
localedef -i ja_JP -f UTF-8 ja_JP.UTF-8
を実行。
(4) 確認。
locale -a
(4) 以下のコマンドを実行し、リセット。
/etc/init.d/Qthttpd.sh restart
これで、FuelPHPで、言語がシステムにインストールされていないよー、なエラー、出なくなった。
ちなみにQNAPの機種によっては、ディレクトリが違っていたり、ディレクトリがなかったりすることがあるみたい。
以上、個人メモでした。