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_blogname
とtr_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.po
をlanguages
に設置する。