WordPressの多言語化プラグイン”qTranslate”の設定と使い方。その1

追記: 2016/07/03

僕はこのプラグインの利用は推奨しません。多言語化については、WordPress の多言語化で考えることとプラグインの比較という記事を書いていますので、こちらを参照してみてください。


WordPressを多言語化するプラグインqTranslateの管理画面の設定について見ていきます。

インストールしてから設定すること

まず、インストールするといきなり管理画面が英語になります。メニューも何もかも全部です。「あれ?日本語で使えないの?」と思ったのですが、できました。

qTranslateでは、「このサイトでは何語を使うのか」というのをまず設定します。

管理画面 > 設定 > Languagesと進んだ上で、下の方にあるLanguagesの欄で、使う言語を選びます。最初は英独中文となっているので、EnableボタンやDisableボタンを押します。

写真の例では、日英のみにしてみます。

次に、同じ画面の一番上、Default Language / Orderのところで、デフォルト言語を選択&順番を決めます。

この順番というのは、投稿画面などのタイトルなどの表示順です。

デフォルトで使う言語と順番を別々に指定できるということです。デフォルトを日本語にすると、管理画面が全部日本語になりました。

ちなみに、サイドメニューの一番下に、下の画像のようなメニューが現れて、英語をクリックすると管理画面が英語になります。

なので、日本人とイギリス人が同じ管理画面を使ってサイトを管理する場合にもちゃんと使えるということですね。便利すぎます。

言語別のURLの設定

qTranslateでは、以下の3つの形式で言語別のコンテンツを表示させることができます。

  1. example.com/somethinghere?lang=en
  2. example.com/en/somethinghere
  3. en.example.com/somethinghere

いちばん後ろに?lang=xxが付くパターン、ドメイン直後に/xx/が付くやり方、xx.example.com/なサブドメインコースの3つです。

これは、Advanced Settings > URL Modification Modeのところで設定します。

デフォルトの言語は、example.com/example.com/ja/の両方で表示されるようです。

また、Detect Browser Languageという欄で、ブラウザの言語を取得してリダイレクトさせる設定が可能みたいです。

日付がバグるのを治す

qtranslateで日本語を導入したときに、日付がぐちゃぐちゃになる場合の対処という記事にまとめたので、これをやります。

投稿してみる

実際に投稿してみます。

投稿画面は、以下の写真のようになります。

日本語、英語のタイトルを入れて、画像をUPしてみました。画像には日本語でキャプションを入れて。。

その後、「ビジュアル/HTML」の並びにある英語タブをクリックすると、以下のように、英語コンテンツは空白になっています。

なので、英語コンテンツを入れていきます。画像は、アップロード済みなので選択してみるとキャプションに日本語が入っているので、削除して英語を入れます。

公開してチェックしてみると、

日本語表示
英語表示

ちゃんと表示されました。
ちなみに、カテゴリーが「その他」と”other”にちゃんとなっているのは、投稿 > カテゴリーの項目で設定しているからです。

言語別に非表示にすることはできるの?

できました。

デフォルトでは、たとえば、「英語表示の時に日本語しかないコンテンツを表示させる」をやると以下のように(日本語)タイトルとなります。

英語表示で無理やり日本語の投稿を表示させる。

サイドバーにも、日本語コンテンツが表示されています。

英語表示時のサイドバー

これを、General Settings > Hide Untranslated ContentHide Content which is not available for the selected language. というところにチェックを入れると、サイドバーからは表示が消えます。

日本語表示がサイドバーの最新記事から消えたとこ

今後の課題

  • キャッシュ系プラグインどうなるの?
  • カスタムポストタイプはどうなるの?
  • カスタムフィールドは?
  • テンプレートファイルには、どう書くのさ?
  • マルチサイトは?(これは今のところ不要なのでまた今度必要が生まれたら)

といったことを調べていきたいと思います。

カスタムフィールド、無理っぽいのですがねぇ。。

@hissyNさんなんとかしてくださいm(__)m。

↓ プラグインを作る方々への本、書きました。 ↓

“WordPressの多言語化プラグイン”qTranslate”の設定と使い方。その1” への 6 件のフィードバック

  1. カスタムフィールドは、日本語用と英語用のフィールドを別々に用意して、
    $l = qtrans_getLanguage();
    if ( ‘en’ = $l ) : $postmeta = get_post_meta( get_the_ID(), ‘postmeta_en’, true );
    else : $postmeta = get_post_meta( get_the_ID(), ‘postmeta_ja’, true );
    endif;
    みたいに分岐すれば一応可能みたい。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です