数日前に公開した当サイトだが、見ていて違和感があった。
細部にやたらと英語が多いのだ。WordPressには様々なテーマがあって、今使っているテーマはダウンロードしたものなんだが、よくよく考えたら外国人が作成したテーマだった。そりゃあそうだよなと思い、テンプレートファイル(PHP)を触るわけだが、どうもうまくいかない。調べてみるとさすがワールドワイドなWordPress。テーマすら多言語対応が可能になっていた。というわけで、日本語にローカライズする方法をまとめてみた。
本ページはアフィリエイトプログラムによる収益を得ています。
例えば下記画像の赤枠部分を翻訳したいとする。
![Google-ChromeScreenSnapz013.jpg Google-ChromeScreenSnapz013.jpg](http://lh3.ggpht.com/-ll2wwhSZF5k/TiV7ZqOzpBI/AAAAAAAAVaM/x3GBPam6rIs/w400/Google-ChromeScreenSnapz013.jpg)
ソースコード的には以下のように実装されている。
<?php the_content( __( 'Continue reading <span class="meta-nav">→</span>', 'coraline' ) ); ?>
微妙にソースがわかるもんだから、「Continue reading」を「続きを読む」とかにかえたらいいんだなと思ってしまうが、これが罠。「__()」ってのは翻訳を行いますよって意味のWordPressにおける決まり事で、第1引数(Continue reading
これを翻訳する場合、翻訳用のファイルが必要となる。具体的には、
ja.po
ja.mo
という2つのファイルが必要。これらのファイルは手動でも作れなくもないようだが、Poeditというソフトを使ったほうが無難(Windows版もMac版も存在する)。このソフトをイントールして起動したら、
![PoeditScreenSnapz001.png PoeditScreenSnapz001.png](http://lh3.ggpht.com/-4XlrQ5Q6WzQ/TiWAK8MSOYI/AAAAAAAAVaU/2AgOOFTUucs/w400/PoeditScreenSnapz001.png)
ここで出てくるPOTファイルってのは、翻訳定義の元ネタになるファイルらしくテーマ毎に作られている。インストールしたテーマの「languages」フォルダにあると思うのでそれを読み込む。
![PoeditScreenSnapz002.png PoeditScreenSnapz002.png](http://lh3.ggpht.com/-PwOeCX-01K0/TiWA7JLFCCI/AAAAAAAAVaY/tmqWEHhjvMY/w400/PoeditScreenSnapz002.png)
すると早速エラーが出たけど、とりあえず無視。
![PoeditScreenSnapz004.png PoeditScreenSnapz004.png](http://lh4.ggpht.com/-OZerMVYW2HI/TiWCzJsKRUI/AAAAAAAAVa4/lQkMFWS1ee4/w400/PoeditScreenSnapz004.png)
画面上半分が翻訳キー、下半分が翻訳後の文字列(日本語)となる。なのでこんな感じで入力。
![PoeditScreenSnapz003.png PoeditScreenSnapz003.png](http://lh6.ggpht.com/-Wx09FbwrDBk/TiWCy33Z8lI/AAAAAAAAVa8/tWupnk7sP7k/w400/PoeditScreenSnapz003.png)
これを保存するとまたエラーが出たが、とりあえず「default.po」と「default.mo」ができるので、「ja.po」と「ja.mo」にリネームする。このファイルをWEBサーバー上のテーマフォルダにある「languages」にFTPでアップする。これでOK。結果はこのサイトをご覧あれ。
随分面倒だが、これもワールドワイドなアプリだけに多少は仕方ないかな。