qtranslateXをインストール
有効化した瞬間から投稿画面に言語切替ボタンが出現します。
言語の追加
デフォルトで存在するlocaleについては、
管理画面 > 設定 > 言語
のメニューから「有効化する」を選択するだけ
デフォルトで存在しないlocaleについては
https://make.wordpress.org/polyglots/teams/
から言語ファイル(*.mo)をダウンロードして、
wp-content/language
に設置後、管理画面からlocaleを追加する。
URLモード
以下の3パターンから選べます
hogehoge.com?locale={言語コード}
hogehoge.com/{言語コード}
{言語コード}.hogehoge.com
※ 1はSEO的に良くないので非推奨
※ デフォルトlocaleの場合はhogehoge.com の様に言語コードを外す設定もできます。
言語切替ボタンの設置
あまりスマートな方法はないようです。
以下を参考に実装しました。
http://daily.glocalism.jp/wordpress/qtranslate-x-link-to-change-language/
言語毎のコードの分岐
これはこのプラグインに限った方法ではないですがこのように実装しました。
<?php if (get_locale() == 'en_US') { ?>
英語のときだけ表示!!!!
<?php } ?>
<?php if (get_locale() == ‘ja') { ?>
日本語のときだけ表示!!!!
<?php } ?>
「事前パスモード」が選択できない
管理画面 > パーマリンク設定
を「基本」にしているとだめらしい。それ以外にすると選択できるようになる。
https://wordpress.org/support/topic/i-cannot-choose-the-url-pre-path-mode
See Permalinks - choose Post name if that is also so set, click anyway Save Changes.
See if that makes a difference.
Success
※ 自分の場合は、ローカル環境でビルトインサーバーを使用していて、
パーマリンクにindex.phpが含まれてしまうという原因もありました。
これに関しては、以下の方法で解決。
http://qiita.com/jshimazu0820/items/cf3ac3288789f3b4240c
導入してみての所感
便利です。
phpのコードを触ること無く、ほぼ管理画面の操作だけで多言語化対応ができます。
(phpコード内の文言はもちろんgettextで対応する必要がありますが)
どういった要件に向いているか
- 開発初期段階
- 途中から導入するのは難しそう&他のプラグインからの移行も難しそう
- あくまでデフォルト言語利用者がメインでサイトを運用
- 管理画面の言語がデフォルト(日本語)になってしまうため
- サイトの仕様はすべての言語で統一できる
- 言語によって表示する投稿タイプを変えたりする場合は向かない
上記に当てはまらない場合は、この記事などを参考に
最適な方法を探しましょう。
http://nskw-style.com/2015/wordpress/multi-language-plugins-list.html