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を参考に。

Poedit 取扱説明書