NSproduce
フリーランスのホームページ制作・WEBデザイン
ホームページは『見栄え』が重要
あなたのホームページを最適化
まずはお問い合わせください。無料診断いたします。
日付や曜日が英語になってしまう(ゼンカート)
久々のゼンカートネタです。
ゼンカートを使用していて、たまに「日付や曜日部分が日本語にならない」ということが起きます。
言語ファイルを確認して、いじってみても直らない…そんなこともあります。
この原因として考えられるのが、「サーバのロケール」の問題です。
ゼンカートの場合、日付部分をstrftime関数で処理しています。
%mや%BなどMovableTypeでも見かけたことがあると思いますが、これで日付をどう表示するかカスタマイズすることもできます。
ロケール…というのは正直詳しく説明できないのですが、言語をどう処理するかを示すものだと思います。
言語ファイル(includes/language/japanese.php)内に、
@setlocale(LC_TIME, 'ja_JP.EUC-JP');
という記述があります。
この記述の上に、各サーバOSの場合どうすればよいかのコメントアウトが書かれています。(しかし英語…)
一応それを試してみて、ダメな場合は直接ロケールを指定します。
新着商品を表示するモジュールは、デフォルトの場合、「○月の新着商品」の用に表示されるはずです。
しかし、ロケールの問題が発生している場合、この○月の部分がAprilやMayになったりします。
そういう場合、この新着商品の場合はmodule/whats_new.phpで先ほどの%Bのような表記があるstrftime関数部分がありますので、その直前あたりで、
setlocale(LC_ALL, 'ja_JP.EUC-JP');
を記述すると直る場合があります。
どのサーバでも通用するかわからないのですが、もしお困りの場合は試してみる価値はあると思います。

