Wordpressで多言語対応。「qTranslate」pluginを導入
Wordpressを使って多言語対応のSiteを作ったときのMemo.
環境はWordpress 3.1.1
すでにいくつか多言語化するpluginが公開されている。今回は人気もあり入力がしやすそうな「qTranslate」を選んだ。
導入するのは他のpluginと同様にplugins directoryにおいてactivateする。
設定画面を開くと
Could not write to "/opt/hoge/wp-includes/languages", Gettext Databases could not be downloaded!
とerrorが出るので、wp-content/languagesを作ってapacheが書き込み出来るようにする。
# cd /opt/hoge/wp-content/
# mkdir languages
# chmod 777 languages
日本語の設定を開くとlocaleが「ja」になっていて、文字化けの元になるらしいので、これは「ja_JP」に変更する。他は適当に。
基本はこれで完了。記事を投稿するときに別言語で登録できるようになっているはず。
次はThemeの多言語化。これはWordpressの基本機能を使う。Twentytenを元にしているなら、function.phpで
load_theme_textdomain( 'twentyten', TEMPLATEPATH . '/languages' );
と指定しているので、twentyten/languages/jp_JP.moを置くと自動で読み込んでくれる。mo fileの名前は管理画面で設定した「locale」。(qTranslateがadd_filter('locale', 'qtrans_localeForCurrentLanguage',99)してるから。)
ちなみにmoファイルを作成するには、Poeditを使うと簡単に生成できる。詳しくは下記Blogを参考に。