WordPress Japan さんで配布して おられます ブログシステム WordPress の日本語版 - WordPress ME - を Shift_JIS で動かしたい方向けのメモです。
うお、なんと WordPress Japan さんから こちらにリンクをいただいておりました。 (WordPress Japan DB » ME を Shift_JIS にしてみる)
乱文、大変失礼いたします・・・。 せっかく紹介して頂いたので若干加筆したします。
WordPress ME 1.5.1 - Pre Release が公開され、 Shift_JIS 用言語ファイルが同梱されるようになりました。 というわけで、
だけの操作で、Shift_JIS に変更することができます!。ぜひ、1.5.1 を 使わせて頂きましょう。 :-)
通常の手順で変更可能になりましたので、このページは不要になりましたが、 一応 Linux での言語ファイルの作成方法メモということで残しておきます。
Windows を使う場合は、 WordPress Japan - 言語ファイルの編集 を参考にさせて頂きましょう。
言語ファイルのメッセージを修正したい場合は、 .po ファイルを修正し GNU gettext に含まれる、msgfmt コマンドを使って .mo バイナリ カタログファイルを作成する必要があります。
WordPress Japan - 言語ファイルの編集 に 詳しく手順が書かれています。参考にさせて頂きましょう。
ここでは、Fedora CORE Linux を用いて、Shift_JIS の言語ファイルを つくる手順を一応書いてみます。
.mo バイナリカタログファイルを作成するのに GNU gettext の msgmft コマンドを必要とします。入ってなければ、
# yum install gettext
で、インストールしてください。
.po ファイルのメッセージ修正が終わったら、ja_SJIS.po を msgfmt コマンドにかけて、 .mo バイナリカタログを作成します。
$ msgfmt -o ja_SJIS.mo ja_SJIS.po
これで、メッセージが修正された Shift_JIS 版の言語ファイルが作成できました。
$ ls -laF
合計 828
drwxr-xr-x 2 nobody nobody 4096 4月 23 15:37 ./
drwxr-xr-x 4 nobody nobody 4096 3月 24 14:41 ../
-rw-r--r-- 1 nobody nobody 76378 3月 24 13:28 ja_EUC.mo
-rw-r--r-- 1 nobody nobody 115296 3月 24 13:46 ja_EUC.po
-rw-r--r-- 1 nobody nobody 76382 4月 23 15:37 ja_SJIS.mo
-rw-r--r-- 1 nobody nobody 115303 4月 23 15:33 ja_SJIS.po
-rw-r--r-- 1 nobody nobody 86752 3月 24 13:28 ja_UTF.mo
-rw-r--r-- 1 nobody nobody 125691 3月 24 13:28 ja_UTF.po
WordPress ME に指定する言語ファイル名は「ja_SJIS」になります。
WordPress ME 1.5.(0) では、wp-include¥languages に EUC-JP と UTF 版の日本語言語ファイルが あらかじめ同梱されています。 Shift_JIS で動かす場合は、この言語ファイルの Shift_JIS版を作成します。
若干の手順が必要なので、あらかじめ maple4estry で、Shift_JIS に変換した物を 置いておきます。 よければご利用下さい。
[ダウンロード] ja_SJIS.zip
こちらを、
wp-includes¥languages
に展開して格納します。
言語ファイルができましたので、WordPress ME に対して、Shift_JIS を 使う設定をします。(新規インストール直後を想定しています)
これで、Shift_JIS エンコードで WordPress ME が動作すると思います。 いろいろ試験してみて下さい。
ぼくの環境で、若干プログラムの修正が必要な部分は下記でした。
文字エンコードを Shift_JISに変換した ja_Shift_JIS.po ファイルを ja_UTF.po ファイルを元に作成します。 次のコマンドで UTF-8 → Shift_JIS 変換できます。
$ nkf -U -s -O ja_UTF.po ja_SJIS.po
出来上がった、ja_Shift_JIS.po 内の "Content-Type" の指定をテキストエディタ等で "Shift_JIS" に変更します。
15c15
> "Content-Type: text/plain; charset=UTF-8¥n"
---
< "Content-Type: text/plain; charset=utf-8¥n"
これで、Shift_JIS エンコードの .po ファイルができましたので、 文字列の修正があれば適宜行います。
.po ファイルのメッセージ修正が終わったら、ja_SJIS.po を msgfmt コマンドにかけて、 .mo バイナリカタログを作成します。
$ msgfmt -o ja_SJIS.mo ja_SJIS.po
これで、Shift_JIS 版の言語ファイルが作成できました。
次の点に気をつけて試験してみてください。
試験をするにあたって、生POSTデータを含む全てのデータを取得する PHPスクリプト を作ってみました。このスクリプトの URL を指定して、トラックバックや、ping をうつと 送信したデータを生で保存しますので、デバッグしやすいかもしれません。
また、RSS は生成された物を FEED Validatorで 確認をとると良いでしょう。 Internet Explorer でもある程度確認とれます。 特に、charset には要注意です。(wp-rss2.php等の URL を FEED Validator に指定すると 正しい RSSを生成しているかチェックしてくれます)
日本語化に関しては、WordPress ME を使い その標準文字エンコードの EUC-JP で運用することで、 全く問題ありません。
ぼくの場合は、 文字コードが Shift_JIS サイトの一部に WordPress ME を組み込むといった ちょっと特殊な使い方をしていて、ソースの管理やデータベースの文字コード統一 といった観点から、このような修正をしてみました。
WordPress & WordPress ME は、非常に良くできています。 ブログだけでなく、通常ページも CMS的に作成することができますので、是非いろいろ活用してみましょうー。