WordPress 2.7 以降実装された自動アップグレードがお手軽なため、日本語版のリリースはどうしても英語版に比べてタイムラグがあるため、待てなくて英語版にする、といったケースもありそうですが、動作は問題ないのでしょうか。

前提条件

  • WordPress 2.7 日本語版 → WordPress 2.7.1 日本語版へのアップグレード

日本語→英語: 異なるバージョンへのアップデート

アップグレード時のオプション選択では、日本語であっても英語版にアップグレードできるようになっています。

WordPress 2.7.1: 英語版へのアップグレードボタン

実際にクリックしてみましたが、普通にアップグレードは完了しました。ただ日本語のリソースファイルがあるため、見た目、表示は日本語でした。

再び検証のため、英語版を http://wordpress.org/ から入手して、 wordpress-2.7.1.jp を展開し、自動アップグレード後のツリーと diff -r で検証してみましたが、たしかに同一のものでした。

英語→日本語: 同一バージョンでのアップデート

英語版の最新バージョンにアップグレード後も

WordPress が利用可能です! 2.7.1 にアップグレードしてください

は表示され続けるので、再びアップグレードオプションの選択画面に進むと

WordPress 2.7.1: 英語版から日本語版へのアップグレード

英語版の選択肢がなく、日本語版へのアップグレードだけが可能になっています。

そこで、日本語版の「自動アップグレードを実行」をクリックすると

WordPress 2.7.1 日本語版へのアップグレード完了

無事に完了しました。

さらに手動で http://ja.wordpress.org/ から取得した wordpress-2.7.1-ja.zip を展開し、wordpress フォルダの内容を自動アップグレードのものと比較してみました。

diff -r で検証しましたが、確かに wordpress-2.7.1-ja.zip に含まれるすべてのファイルが正しく書き換わっていることが確認されました。

英語版で使い続けても問題ないのか?

英語版への自動アップグレード自体は問題なく成功しますし、記事の表示も特に問題ないように思えます。では、日本語版がリリースされるまでの間、英語版 (+ wp-multibyte-patch プラグイン) で使い続けても問題ないのでしょうか。

英語版と日本語版の差異を調べてみる

wordpress-2.7.1.zip (英語版) と wordpress-2.7.1-ja.zip (日本語版) をそれぞれ展開し、diff-r で再びツリー比較してみると、大半は

[code language=”diff”]
diff -r wordpress-2.7.1/readme.html wordpress-2.7.1-ja/readme.html
13c13
< Semantic Personal Publishing Platform

> セマンティックな個人情報発信プラットフォーム
[/code]

に置き換えるといった、日本語文字列へのローカライズです。必ずしも厳密ではありませんが、全角文字の diff を除いてみると、

[code language=”diff”]
diff -r –exclude=themes wordpress-2.7.1/wp-admin/includes/schema.php wordpress-2.7.1-ja/wp-admin/includes/schema.php
229c229
< add_option(‘gmt_offset’, date(‘Z’) / 3600);

> add_option(‘gmt_offset’, 9);
[/code]

のタイムゾーンの変更のように、日本語版に必要なパラメータや識別子の追加 / 変更が残ります。

テーマファイルではコードを fix している箇所もありますが、これは関係ないでしょう。

[code language=”diff”]
diff -r wordpress-2.7.1/wp-content/themes/default/archives.php wordpress-2.7.1-ja/wp-content/themes/default/archives.php
9c6
< <?php echo get_option(‘blogname’); ?> – Comments on <?php the_title(); ?></title>

> <title><?php printf(__(‘%1$s – Comments on %2$s’, ‘kubrick’), get_option(‘blogname’), the_title(”,”,false)); ?>
[/code]

それほど英語版でも問題なさそうだが…

wp-multibyte-patch プラグインに、マルチバイト文字の取り扱いに関する不具合に対する修正がまとめられていて、このプラグイン自身は本家英語版、日本語版のいずれでも動作すると書かれているので、これがインストールされていれば、英語版 + wp-multibyte-patch + 古いリソースファイルで使い続けるのも当面問題ないかもしれません。((WordPress 本家がこれらの修正を取り込んでくれるのがベストですが))

問題が起きるとしたら、よほど日本語版でのローカライズ箇所に依存するようなプラグインを使用している場合…だと思いますが、これはちょっと具体的な例が浮かびません。

日本語版のもっとも安全なアップグレード

日本語版→英語版に書き換えて挙動が変わる可能性は低そうですが、もっとも安全策としては、WordPress 本体のセキュリティ fix を目的とするマイナーアップグレード時は、脆弱性があるファイルはたいてい数ファイルに限られ、何が変わったのかの情報も提供されるため、それらはただちにファイル単体で直すなりしておき、全体的には日本語版のリリースを待ってから自動アップグレードボタンを押すのが無難でしょう。