WordPressのプラグインbogoは,ややこしくせずにサイトを多言語化できる。サイトのタイトルとキャッチフレーズを多言語にするには,テーマを編集する必要がある。

子テーマの作成

編集したテーマをアップグレードすると,改変部分は消えてしまうので,子テーマを作成する。子テーマを作るには,wp-content/themesにディレクトリを作り,テーマに必須のstyle.cssを作成する。スタイルシートはスタイルシートヘッダで開始する。Templateに親テーマのText Domainを書く。子テーマで定義されたスタイルや関数は親テーマのものを上書きして用いられる。子テーマを作るだけなら,Text Domainは必須ではないが,関数から参照するのでText Domainを記述しておく。親テーマに-childをつけるのが慣例のようである。

https://gist.github.com/tenomoto/00a51401cfe1a96a612916264a863dbc#file-style-css

コードの記述

function.phpに次のようなコードを記述する。タイトルとキャッチフレーズを表示する処理にフックするフィルタを定義して,翻訳を処理をするようにしている。ここで定義したtr_option_blognametr_option_blogdescriptionの二つ目の引数にstyle.cssに書いた子テーマのText Domainを記述する。さらに翻訳をするためのアクションを追加する。my_child_theme_setupの最初の引数は子テーマのText Domainで二つ目の引数は翻訳ファイルを置いたディレクトリ。ここではテーマの中にlanguagesを作り,その中に入れている。

https://gist.github.com/tenomoto/00a51401cfe1a96a612916264a863dbc#file-function-php

翻訳ファイルの準備

親テーマの翻訳ファイルをコピーし,子テーマのlanguagesに追加する。ja.poに以下を追加する。

https://gist.github.com/tenomoto/00a51401cfe1a96a612916264a863dbc#file-ja-po

PoeditをMacPortsでインストール。

$ sudo port -d install poedit

ja.poをPoeditで開き保存しja.moを作る。言語が設定されていないというエラーが出たら,「カタログ> 設定」メニューを開き,「翻訳の設定」タブの言語にJapaneseと入力してOKをクリック。ja.polanguagesに設置する。

参考