WordPressのテンプレートtwentyelevenのコードの中を見てみると _e( ‘Search’, ‘twentyeleven’ )とか __( ‘Edit’, ‘twentyeleven’ )のようなコードが含まれています。このコードが翻訳可能文字列になります。
twentyelevenのフォルダの中にはlanguagesフォルダがありその中のファイルによって日本語に翻訳できるように設定してあります。
ここではtwentyelevenのフォルダの中に入っているlanguagesフォルダを利用して、オリジナルテーマに翻訳可能文字列を使えるようにしてみます。
翻訳可能文字列を使う為の関数
まずはtwentyelevenのフォルダの中に入っているlanguagesフォルダをあなたのオリジナルテーマにアップロードします。
次に下記の関数をfunctions.phpに追加します。
load_theme_textdomain( 'twentyeleven', TEMPLATEPATH . '/languages' ); $locale = get_locale(); $locale_file = TEMPLATEPATH . "/languages/$locale.php"; if ( is_readable( $locale_file ) ) require_once( $locale_file );
これで翻訳可能文字列を使うことが出来るようになります。
あとは翻訳可能文字列を使いたい単一記事の投稿 (single.php)などのテンプレートファイルの中に下記のようなコードを書き入れます。
<?php _e( 'Search', 'twentyeleven' ); ?>
上記のコードでは日本語で検索と表示されます。
コードに入っている’twentyeleven’は?
functions.phpに追加した関数の中と翻訳可能文字列の中に’twentyeleven’と言う文字が入っています。これは他の名称でも構いませんが名称を変えた場合は翻訳可能文字列内の’twentyeleven’の名称も変えて使っていきます。
ちなみに私は’twentyeleven’の部分は変更しないで使っています。変えていない理由は単純にtwentyelevenテンプレート内の必要なコードを持ってきた時に’twentyeleven’の名称をいちいち変えるのが面倒だからです・・・
翻訳可能な文字を確認してみる
翻訳可能文字列を使っても全ての文字が翻訳されるわけではなく翻訳される文字はlanguagesフォルダに入っているja.poファイルであらかじめ設定してあり翻訳されています。ja.poファイルの中身を確認されたい方はPoeditと言うフリーのソフトで確認することが出来ます。
最終更新日: 2013年3月13日