2010年5月27日木曜日

WordPressで多言語化のメモ

WordPressを使って多言語対応のウェブサイトを作るメモ。
メインは「qTranslate」というプラグイン。

qTranslateは簡単に使えた

ちなみにWordPressは日本語版の2.9.2、
qTranslateは2.5.7というバージョン。

普通にWordPressをインストールしてからqTranslateプラグインをインストール。最初は管理者画面が英語になって、3言語(独・英・中)がデフォルトとしてインストールされているので、qTranslateの管理画面で日本語をEnableする。と日本語が使えるようになった。

で、ページなり投稿なりの作成画面では…
お~タイトルが言語ごとに設定できる。
本文の上に言語ごとのタブが出来てる。
すご~く、使いやすい。

多言語化プラグインとしてはWPMLというのもあって、技術的な側面から両者を比較したページ(英語)なんかを読んだ感じでは、qTranslateだとちょっと不十分なところがあるらしい。そういう部分はテンプレートを編集する必要があるとのこと。

言語ごとに違うメッセージを表示する場合

たとえばテンプレートのどこかで文字を表示するような場合、qTranslateだけで対応しきれない。みたい。そういう場合は、テンプレートに次のような一行を加える(or修正する)。

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

まぁ、見た目そのままです。英語ならenで囲まれた部分を表示してくれます。ちなみに_eはechoの多言語版という感じしょうかね。

言語ごとにイメージを変更したい場合

同じような状況で、言語によってヘッダーのイメージを変更するには、たとえば次のようなPHPコードが使えた。

    <img src="<?php bloginfo( 'template_url'); ?>/images/
    img-<?php echo qtrans_getLanguage();?>.jpg" alt="NPO" />

画像ファイルとしてimg-en.jpgとimg-ja.jpgを用意しておいて、言語コードそのものを「qtrans_getLanguage()」という関数で取得して、イメージを指定できます。

もっといい方法があるかもしれませんが、ちょっと調べた中では上記の方法で対応可能でした。

0 件のコメント: