Momo Uta 309 - Home

QNAPにja_JPロケールを導入した

自宅サーバー上で、戯曲のテキストファイルから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に書いてあった。対策も。以下のページ。

Country Locale

これを読むと、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の機種によっては、ディレクトリが違っていたり、ディレクトリがなかったりすることがあるみたい。

以上、個人メモでした。

関連記事:

シェアする

  • このエントリーをはてなブックマークに追加

フォローする