レ点腫瘍学ノート

pukiwikiカスタマイズ箇所/2019/言語設定とタイムゾーンの変更 の履歴ソース(No.4)

#author("2021-11-29T08:12:34+09:00;2020-05-02T11:00:24+09:00","default:tgoto","tgoto")
&tag(pukiwiki);

デフォルトの日本語PukiwikiではGETメソッドに「encode_hint="ぷ"」という醜悪な一文が入ってしまうことがある。これはUTF8版ではなくEUC-JP版が一般的だった頃の名残だけど、今のブラウザでUTF8版Pukiwikiでエンコードエラーが出ることはほとんど心配しなくても良いのでこれを表示しないようにしたい。直接Pukiwikiの深部をいじってこの一文を消す方法もあるが、簡単な方法としてはPukiwikiの内部言語設定を英語版にしてしまうことだ。Pukiwikiは内部言語設定とユーザーインターフェイス言語設定を別々に設定できるので、前者を英語にしても後者が英語のままであれば表示はそのまま日本語で変わらないので、サイトを訪れる人達には日本語しか表示されないはずだ。具体的には、pukiwiki.ini.phpの設定項目を下記のようにする。

> define('LANG', 'en'); //内部言語設定は英語
> define('UI_LANG', 'ja'); //ユーザーインターフェイス言語設定は日本語

しかしこれだけでは言語設定ファイルが見つからないということでPukiwikiが動作しなくなることがある。その場合はPukiwikiのルートフォルダ(pukiwiki.ini.phpが入っているフォルダ)にen.lng.phpとja.lng.phpが揃っていることを確認すること。

なお、内部言語設定を英語に設定するとタイムゾーンも日本時間(JST)ではなくグリニッジ標準時(GMT)になってしまう。これを日本時間に変更するためにはpukiwiki.ini.phpで以下の変更が必要になる。

> switch (LANG) { // or specifiy one
> case 'ja':
> 	define('ZONE', 'JST');
> 	define('ZONETIME', 9 * 3600); // JST = GMT + 9
> 	break;
>  default  :
> 	define('ZONE', 'JST');
> 	define('ZONETIME', 9 * 3600);
> 	break;
> }

元に戻したくなったときには、次のようにする。

> switch (LANG) { // or specifiy one
> case 'ja':
> 	define('ZONE', 'JST');
> 	define('ZONETIME', 9 * 3600); // JST = GMT + 9
> 	break;
>  default  :
> 	define('ZONE', 'GMT');
> 	define('ZONETIME', 0);
> 	break;
> }

''関連ページ'': [[https://pukiwiki.osdn.jp/?質問箱/4131>https://pukiwiki.osdn.jp/?%E8%B3%AA%E5%95%8F%E7%AE%B1%2F4131]]