qTranslate の利用を停止
多言語対応プラグインの qTranslate の利用をやめました。
URL(パーマリンク)等何も変わっていないのでわかりにくいですが、ヘッダ部の国旗アイコンが消えて、これまでの英語コンテンツはメニューに “English” が増えてそこから辿れるようになっています。
理由
いくつかあります。
- バージョンアップの度に対応状況で影響を受ける。WordPress がバージョンアップして動作が不完全になるケースがあっても、たいてい数週間は対応版が出ない。うっかり WordPress をバージョンアップしてしまうと、言語タブが切り替えられなかったり、エントリできなかったり困る場合がある。
- いつのバージョンからか、moreコメントタグ(続きを読む…のための区切りタグ)を挿入すると、エントリを更新する度に空白の英語(日本語がデフォルト言語、英語が追加されている設定)のエントリが追加されてしまい、ブログを更新するたびに英語を手動で削除するという手間が発生して面倒だった(moreコメントタグが、言語の予約コメントタグの外に挿入されるようで…)
- 外部のエディタを使う時に、qTranslate 用の予約コメントを意識して記入しなければならない(のが結構面倒)。コメントを間違えるとコンテンツの表示がメロメロに。
- 結局多言語対応しているのはある限られた固定のページのみ(このサイトでは、という事情ですが)で、英語ページを用意すればいいだけ。
- 上記の不都合を超える利用メリットがない。
ブログを更新するには WordPress の標準のエディタを Web ブラウザから使っていますが、画像のアップロードや画像のリサイズなどがやや手間でエントリが思ったようにできないかも、と考えていました。外部のエディタでいいのがないかなあと思っていたのですが、ecto 3 を試してみたところ結構良い感じで、これをメインのエディタにしたいなと考えるようになりました。そうすると qTranslate が有効な状態だとちょっと面倒。なので思い切って停止することにしました。
無効にする方法
qTranslate を利用していると、多言語対応のためにタイトルや本文に複数言語が予約語コメントで混在しています。単純に qTranslate を無効にすると、複数言語の文字列がまとまって表示されてしまいます。これをきちんと分割する必要があります。
だいたい以下の手順で作業しました。
- まず、複数言語で記述してあるエントリのデフォルト言語以外を、コピーして新しいエントリを作ります(デフォルト言語以外のページを、デフォルト言語としてエントリを作成します)。
- 次に、複数言語のエントリのデフォルト言語以外を削除します(タイトルとエントリの内容)。念のためエントリのデフォルト以外の言語が残っていないか検索します。SQL で直接 DB を検索してもいいですし、RegExp プラグインあたりで検索するのもいいと思います。私の場合は、日本語(<!–:ja–>)と英語(<!–:en–>)だったので、”<!–:en–>” を検索しました。消し残しがあれば削除します。
- qTranslate を停止します(ダッシュボードのプラグインのところから)
- http://ishwt.net/en/ で英語のページにしていたので、英語ページの構造を従来とまったく同じ配置にする
という流れです。