Wordpress過去に何度か記事にした、WordPressの多言語化プラグイン。昔からWPMLを使用していましたが、qTranslateの存在を知り、このブログではqTranslateを使っていました。ところがなんだか問題発生したようなので、WPMLに完全移行!その理由と移行手順を紹介します。qTranslateとWPMLの違いふたつのプラグインの違いをザックリと解説。使い方の説明は以下の過去記事をご覧頂ければと思います。WordPressプラグイン「qTranslate」でブログを多言語化するWordPressプラグイン「WPML」でブログを多言語化する翻訳記事の扱い一番の違いは、ひとつの投稿記事に対する翻訳記事の扱い。qTranslateはすべての言語をひとつの記事としてまとめています。それに対しWPMLはデフォルトの言語に付随する他言語は、単一記事として保存されます。←この数字)だったのが、WPMLだとすべて別のIDに変わります。テーマファイル内の翻訳テーマファイル内の単語を翻訳する方法が異なります。?>という、WordPress標準の翻訳方法で記述します。qTranslateの方法だと、2言語程度であればあまり気にならないかもしれませんが、それ以上の数の言語に対応させるにはソースコードがごちゃごちゃしちゃいそうです。テーマファイル内の翻訳方法について、詳しくは後述します。お値段qTranslateの魅力はなんといっても無料!気軽に多言語サイトを構築することができますね。WPMLは有料プラグイン。自身のブログに使える多言語ブログ版はUS$29、クライアントサイトに使える多言語CMS版はUS$79です。一度購入すると複数サイトで使用でき、30日以内なら返金可能となっています。詳しくはWPMLの料金表ページをご覧ください。導入当時はどちらがいいのかよくわからなかったので、自分のポートフォリオサイトにはWPMLを、このブログにはqTranslateを使っていました。問題発生qTranslateを導入していたこのブログで、ここ一ヶ月記事を公開した瞬間にサーバーダウン、または表示がとっても遅くなってしまう不具合発生。アクセスの多い記事だったため、単にアクセス過多が原因だと思っていましたが、詳しく調べてみるとどうもそれだけではなさそう。Profiler)を使ってみることに。Now」をクリックするだけのお手軽プラグインです。Profiler)でパフォーマンスを悪化させているプラグインを探り出そう!」で紹介されています。すると...ほとんどがqTranslate!!qTranslateだけで約0.8秒かかっちゃってます。原因はこいつか!qTranslateからWPMLに移行そんなわけでポートフォリオサイトでも使っているWPMLに移行することに。Importerを使えば、翻訳記事の構造そのままWPMLに移すことができます。詳しい手順は公式サイトの解説のとおり。Importerの設定画面で「Start」ボタンをクリックインポートが完了するとURLリライトの設定をします。ファイルにコピペして完了!WPMLの設定うまくインポートされていれば、ダッシュボードでの設定はほとんどいらないはず。念のため各記事やページ、カテゴリー、タグなどがうまく移行されているかを確認し、修正が必要であれば修正します。WPMLの基本的な使い方は、過去記事「WordPressプラグイン「WPML」でブログを多言語化する」を参考にしてみてください。RSSフィードも、特別な設定をしなくても言語を分けて配信されます。時間がかかったのが、このテーマファイル内の単語や文章を翻訳する作業。順を追って説明します。開き、以下の一行を追加します。「themename」には使用中のテーマ名を記述。functions.phpがない場合は作成します。?>となっているかと思います。「themename」は使用中のテーマ名を記述します。先ほど英語で書いた部分を日本語化するためのファイルを作成します。TextEditやメモ帳など、テキスト編集ツールで新規ファイルを作成。ファイル名は「ja.po」とします。そこへ以下のテキストを記述。複数ある場合は下に続けて書いていきましょう。最初の1〜5行は文字化け防止のおまじない。冒頭に記述しておきます。ファイルは読み込み専用です。これを作成するため、Poeditという翻訳ファイル作成アプリをダウンロードしましょう。ファイルを開いた後、なにも変更せずそのまま保存しましょう。同じ階層に自動的に「ja.mo」ファイルが出来上がっています。Translationというプラグインが使えます。これは上記ステップの2番のみ済ませておけば、あとはプラグインが自動的にその部分を拾って管理画面に表示し、管理画面だけで翻訳できる優れものです(上画像)。「英語版のみこれを表示したい」「言語ごとにTwitter表示ウィジェットを変更したい」などなど、今表示している言語を取得し、言語ごとに別の処理をしたい場合は、以下のPHPで解決です。?>WPMLに移行した結果Sitepress〜というのがWPMLです。WPMLの比率は高いものの、全体のプラグイン読み込み時間は0.96秒から0.47秒になりました。qTranslateは0.79秒でしたが、WPMLだと0.26秒に!まとめqTranslateはテーマの作成や管理は楽ですが、読み込みに時間がかかってしまうので、小規模のサイトには向いているでしょう。たくさんのアクセスがあるサイトや、コンテンツ量の多いサイトにはWPMLをおすすめします。;)シェアするTwitterFacebookはてブPocketニュースレターWeb制作の最新情報やWebクリエイターボックスからのお知らせ、中の人の近況等を定期的にお送りいたします。中の人ってこんな人Webデザイナー+WebデベロッパーのManaです。日本で2年間グラフィックデザイナーとして働いた後、カナダ・バンクーバーにあるWeb制作の学校を卒業。カナダやオーストラリア、イギリスの企業でWebデザイナーとして働きました。詳しく知りたいという方は詳細ページへ。@chibimanaでつぶやいてます。Webクリエイターボックス。