WPでテーマを多言語化する方法


テーマでもプラグインでも、やり方は同じ。

まず、テーマを作る。表示を切り替えたい箇所は

などににする。値を挿入したい場合は、例えば

のようにする。

 

言語ファイル(default.pot)を作る

poeditを使う。

poeditでNew Catalogから新しく作る。

テーマのどこに言語ファイル一式を置くかを決める。例えば {theme}/library/languages/ だったら、2階層上まで見るので、poeditでは

のようにしておく。これを.potとして保存したいのだが、.po としてしか保存できないので、default.po (なんでも良い)とし、保存してから *.potとして名前を変える。

各言語ごとの言語ファイル (ja.po, en.poなど)は、default.pot を開いて、save as で作る。

 

テーマを更新する場合

新たに _e()や__()を使って翻訳したい箇所を追加したら、potファイルと各言語ファイルを更新する必要がある(更新しないと翻訳されないまま表示されてしまう)

まずdefault.potをpoeditで開く。

Updateをクリックすると、ファイル内から、新しい箇所・削除された箇所を拾ってくれる。

OKをクリック

default.potを保存

翻訳ファイル(ja.poなど)を開く

Update from POT file を選択

3

さっき保存したpotファイル(default.pot)を選択

5

追加されるのを確認

4
翻訳して、保存。保存すると.poと.moが更新される

localeの切り替え

localeの切り替えは、 locale フィルタを使う。

参考) http://codex.wordpress.org/Plugin_API/Filter_Reference/locale

このcodexの例ではGET値を使っているが、ユーザーがlocaleを変更できるように、locale値をフォームで入れて、その値をSESSIONなどに入れて使えば良い。

この投稿へのコメント

コメントはありません。

コメントを残す

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

この投稿へのトラックバック

トラックバックはありません。

トラックバック URL