MD.WEBLOG

長野県飯田市、フリーランス、ウェブデザイン、ホームページ制作、CMS構築、映像制作、エディトリアルデザイン - MITAMA DESING -

Go To Home

Blog

blogトップ > WordPress > 「qTranslate」でWordPressを多言語化【使い方】


「qTranslate」でWordPressを多言語化【使い方】

 2012年11月19日   タグ: , ,

「qTranslate」でWordPressを多言語化【使い方】
WordPressでサイト制作する案件で、英語サイトが必須の案件がありました。色々調べていたのですが、「qTranslate」というとても使いやすいプラグインを発見し、早速採用しました。とても便利ではありますが、多言語化ということで色々と細かい設定などは必要なので、その辺りも含め使い方を紹介します。

「qTranslate」をWordPressにインストール

「qTranslate」をインストールして、有効化しましょう。

WordPress のプラグインをインストールする方法

「qTranslate」ダウンロードはコチラ

「qTranslate」の基本設定をする

WordPress管理画面左メニュー「設定」→「language」をクリックします。設定画面の下部に国旗とともに言語が表示されているので使用する言語を「Enable(有効化)」、使用しない言語を「Disable(無効化)」します。 今回は、英語で多言語化をしてみます。

「Enable(有効化)」した言語は、ページ上部に表示されるので、日本語にチェックを入れます。

また、WordPress管理の左メニューの下部にも追加表示されます。表示されている言語の国旗をクリックするとWordPress管理画面自体の言語が切り替わります。

英語サイトのアドレスを設定する

WordPress管理画面左メニュー「設定」→「language」のAdvanced Settingsで3種類のうちどれかに設定します。

投稿画面を確認してみる

投稿画面で確認してみましょう。複数言語でタイトル・記事が書けるようになっています。

カテゴリー作成画面を確認してみる

カテゴリー作成画面で確認してみましょう。こちらも複数言語でカテゴリー作成が出来るようになっています。

タグ作成画面を確認してみる

タグ作成画面で確認してみましょう。こちらも複数言語でタグ作成が出来るようになっています。

カスタマイズしてみる

日付フォーマット

他のブロガーさんたちの記事でもちらほら見かけたことなのですが、プラグインを有効化すると、日付の表示がおかしくなってしまいました。そんな時にWordPress管理画面左メニュー「設定」→「Language」Languages の一覧で「Date Format」を変更しててみてください。また、テーマ内で、日付を表示する部分のソースコードを以下のように修正することで直る場合もあります。僕の場合はこの方法で解決しました。

修正前

<?php the_time(); ?>

修正後

<?php the_date(); ?>

言語切り替えボタンを設置する

以下のコードを「言語切り替えボタン」を表示したいところに追記してだくさい。

<?php echo qtrans_generateLanguageSelectCode('text'); ?>
  • 言語切り替えボタンのタイプは、「text」:テキストリンクのみ、「image」:国旗のみ、「both」:テキストリンク&国旗、「dropdown」:ドロップダウン形式 の4種類から選択することができます。

英語サイトと日本語サイトで読みわけ

例えば、「この項目は、英語サイトのみ表示したい」逆に「この項目は、日本語サイトのみ表示したい」ということもあるかと思います。そのときは以下のコードでファイルの読みわけが出来ます。

<?php if (qtrans_getLanguage() == 'en') { ?>
英語サイトだけに表示する内容
<?php } ?>

英語の翻訳内容を入力する方法

WordPress管理画面左メニュー「設定」→「一般」の「サイトのタイトル」を例にとって説明します。 下の画像をご覧ください。

以下のコードで英語タイトルと日本語タイトルを入れておけば、言語を切り替えたときにサイトタイトルが変更されます。

[:en]English Title[:ja]日本語タイトル 
また、「All in One SEO Pack」などの入力にもこの方法で対応できます。

「All in One SEO Pack」の使い方はコチラ

テンプレート内での表示内容の切り替えに関して

英語サイトと日本語サイトで表示する内容を切り替える場合は、以下のコードで切り替えが出来ます。

単純に表示内容を切り替える

<?php _e("<!--:en-->english<!--:--><!--:ja-->日本語<!--:-->"); ?>

投稿タイトルを切り替える

以下の部分を書き換えてください。

$post->post_title → __($post->post_title)

投稿内容を切り替える

以下の部分を書き換えてください。

$post->post_content → __($post->post_content)

細かい部分ではまだまだ、試してみないといけない部分もありそうですが、上記内容で大方、多言語化が達成できそうです。

このエントリーをはてなブックマークに追加

  |  Blog TOP   |