ezorisu-web

ウェブサイトのデザインとかお仕事の効率化とか

WordPressのオリジナルテーマを国際化してみる

国際化。なんかかっこいい。
基本形は英語表示で、日本語で使用する場合のみ日本語表示になるようにします。
たとえばサイドバーの各タイトル。英語で見ているときは「Archives」だけど、日本語で見ているときは「アーカイブ」に切り替わって表示されるという具合。ん、単にカタカナにしただけ?
どうせフリーのテーマを作るなら、世界に通用するものをと、志だけは高く掲げます。

そもそも WordPress のファイルの中、wp-content フォルダ > languages フォルダの中に ja.mo と ja.po というファイルが入っていて、この人たちが英語を日本語に翻訳してくれているんですね。
それでテーマの PHP ファイルの中で、_e(‘Archives’)とか、__(‘(more…)’)と書いておくと、「アーカイブ」とか「(続きを読む…)」というふうに翻訳して表示してくれる。WordPress のディフォルトテーマではこの仕組みで日本語表示をしています。
自分でテーマを作るときは、標準的なものは上記 ja.po の中に英文と日本語訳が入っているから、それを見ながら日本語にしたい部分に書いていけばだいたい足りるみたい。
ところがやっぱりこれは、標準的なものしか入ってなくて、たとえば「月別アーカイブ」という語句を使いたくて、 ja.po の中で検索してみても
英文: “A monthly archive of your blog’s posts”
日本語訳: “ブログ投稿の月別アーカイブ”
なんていうのしか出てこない。ちょっと冗長すぎるからもっと簡潔にいきたいよね。

そこで活躍するのが、「Poedit」というソフト。
これは、ja.po を編集して新しい訳文に入れ変えたりした後、翻訳機能の本体である ja.mo を書き出してくれる。
Windows 用の他に、Mac 版も出ているようなので、さっそくMac 用をダウンロードして使ってみた。ところが、私の環境(Mac OS X の10.5.4)では、うまく動いてくれなかった。途中でかたまってしまう。しかたなく、Windows で作業。こちらは大丈夫みたい。

必要なファイル

  • pot ファイル:どのファイルの何行目の語句を訳しますよという、基本ファイル。たいてい訳語の方は空白になっている。
  • ja.po ファイル:編集作業を行うためのファイル。これを Poedit で読み込んで、対訳を編集していく。
  • ja.mo ファイル:Poedit では、ja.po を保存するときに同時に書き出してくれる。これが翻訳機能の本体。オリジナルテーマと同じ場所に置いておくと、翻訳してくれる。

今回は pot ファイルとして、WordPress 日本語ローカルサイトWordPress を翻訳するで翻訳ツールに関して説明してあり通りに、まずは公式 WordPress POT ファイル をダウンロードして使ってみる。

正直言って、Poedit の使い方はいまだによくわかっていない。なんとなく動いてくれてるからいいかというレベル。
詳しい使い方は一番下の参考サイトなど、細かく教えてくれるサイトがいろいろあるので探してみてください。

ここでは、私がやった方法の概略だけ記しておきます。

  1. Poeditを起動。
  2. ファイル > pot ファイルを元に新しいカタログを作成します… でダウンロードした wordpress.pot を選択
  3. プロジェクトの設定
  4. 原文を確認しながら対訳を書き込んでいく
  5. 保存するときに ja.po というファイルにする
  6. ja.po と同時に ja.mo というファイルが書き出される
  7. ja.po と ja.mo ファイルを自分で作ったオリジナルテーマのフォルダの中にアップロード
  8. functions.php の中に「 load_theme_textdomain(‘適当な名前’); 」を書き足す。私は、’ezorisu’ と付けました。
  9. オリジナルテーマの日本語化したい部分を修正
    たとえば、「月別アーカイブ」と表示したい部分に <h2><?php _e(‘Archives by Month’, ‘適当な名前’); ?></h2>
    と書き込む。
    ’適当な名前’のところに functions.php の中に書いたのと同じ名前を付けてやることで、オリジナルテーマフォルダ内の ja.po を読みに行くようにする。
    これを付けないと、もともとあった languages フォルダ内の ja.po を読みに行くことになる。
  10. 完了

で、ここで気が付いた。翻訳数が少ないのなら、最初に読み込んだ pot ファイルを直接編集しちゃった方が早いかも。
今回は、一般的な語句はもともとあった languages フォルダ内の ja.po の翻訳を使い、少し足りないところや、オリジナルの訳語を使いたいところだけ付け足してるだけだし。jp.po を編集して新しい語句を作る方法もよくわからなかった。
それなら pot ファイルをエディタで開いて直接編集したほうが楽。

#: ファイル名. php :行数
msgid “英語の原文”
msgstr “対訳”

と書いていって、不要な部分を消してしまいます。
再度、Poedit で ja.po を開きます。 「カタログ > POT ファイルを元に更新します…」で更新。数が少ないとこっちの方が簡単。

引用を表示(サンプル)

この前、札幌のKitara というところで、パイプオルガンを聴いてきました。そもそも生のパイプオルガンを聴いたことが無かったので、音の迫力に圧倒されました。
荘厳な雰囲気を演出する教会の楽器として発展してきたのもうなずけます。まるで壁一面の装飾のよう、豪華な巨大楽器です。ホール全体がひとつの楽器のような感じさえします。
いままでオルガンというと、小学校の音楽教室にあったものしか思い浮かばなかったのですが、僕がオルガンだと思っていたのは、実はリードオルガンだったようです。
Wikipediaによると、

西欧の言語では、例えば英:Organ、独:Orgel、仏:Orgue、伊:Organo、西:Órganoとだけ言った場合には、一般にパイプによるオルガンを指す。日本において単に「オルガン」というと「リードオルガン」を示すのとは逆に、これらの国においては、たとえば英:Reed organとあえて呼ばないと、日本においての一般的な「オルガン」のことを意味しないので、注意が必要である。

とあります。なるほど、世界ではオルガンと言えば、パイプオルガンのことだったのか。普段教会へ行くこともないし、持ち運べる楽器でもないから日本ではパイプオルガンなんて滅多に目にしないものね。今回は、聴くことができてよかったです。

番号付きリスト(サンプル)

コードウェイナー・スミス 作品リスト

  1. ノーストリリア
  2. 鼠と竜のゲーム
    1. スキャナーに生きがいはない
    2. 星の海に魂の帆をかけた少女
    3. 鼠と竜のゲーム
    4. 燃える脳
    5. スズダル中佐の犯罪と栄光
    6. 黄金の船が…おお! おお! おお!
    7. ママ・ヒットンのかわゆいキットンたち
    8. アルファ・ラルファ大通り
  3. シェイヨルという名の星
  4. 第81Q戦争

箇条書きリスト(サンプル)

ジェイムズ・ティプトリー・Jr 作品リスト

  • 故郷から10000光年
  • 愛はさだめ、さだめは死
  • 老いたる霊長類の星への賛歌
    • 汝が半数染色体の心
    • エトセトラ、エトセトラ
    • 煙は永遠にたちのぼって
    • 一瞬(ひととき)のいのちの味わい
    • ヒューストン、ヒューストン、聞こえるか?
    • ネズミに残酷なことのできない心理学者
    • すべてのひとふたたび生まるるを待つ
  • 星ぼしの荒野から
  • 輝くもの天より堕ち
  • たったひとつの冴えたやりかた
  • すべてのまぼろしはキンタナ・ローの海に消えた

コード表示(サンプル)

WordPress の code 表示がなかなかうまくいかない。投稿作成画面でビジュアル表示と HTML 表示を行ったり来たりしているといつの間にかスペース部分が無くなっていたり、code タグの閉じている位置が移動していたりする。どうしたものだろう。

<div id="menu">
<ul>
<li>Home</li>
<li>Themes</li>
<li>About</li>
</ul>
</div>