« | »

WordPress の多言語化

wp_mapWordPress が世界中の方々に使用できるように、多言語化が進められています。「ブログ」という言葉を重視したシステムのツールである限り、多言語で使用できることが大切です。しかも、効率良く多言語化することが重要です。

WordPress は、多言語対応のソフトウェアを開発するための「gettext 」を利用して多言語に対応しています。「gettext 」はGPLでライセンスされ、ライブラリと翻訳ファイルを作成するためのツールで構成されています。

「gettext」は、ソフトウェアで使用される定型文を、母国語などに合わせて翻訳文に差し替えることができます。例えば、英文で「Not Found」の定型文を「見つかりませんでした」という翻訳文に差し替えます。予め、差し替える文言のリスト(ファイル)を持っておき、そのリスト(ファイル)を作成・維持管理することで安定した多言語化をおこないます。

WordPressの多言語化に関するファイルはwp-content/language/内にある「ja.po」と「ja.mo」によって構成されています。「ja.po」はテキスト形式の翻訳リソースファイルで、「ja.mo」は実際に利用されるバイナリ形式の言語ファイルです。通常は「ja.po」を編集して、「ja.mo」ファイルにコンパイルすることで使用することができます。(→翻訳に関するCodex

「gettext 」で翻訳される定型文はテンプレーに変換用の関数として埋め込まれます。例えば<?php _e(‘Not Found’); ?>と記述されれば、実際のサイト画面では「見つかりませんでした」と翻訳され表示されます。(→変換用の関数

(Point!!)
WordPressが日本語で使用できるのも、新しいバージョンの対応が早いのも、実はこの仕組みと多言語化を推進するコミュニティの方々の作業があるおかげです。感謝!!

関連情報:

  1. WordPress.org

  2. WordPress.tv

  3. WordPress MU

  4. WordPress 2.8-Chet Baker

  5. WordPress.com

  6. 基本からしっかりわかる WordPress 2.7 カスタマイズブック

2009.02.25 21;47

« | »

⇒この記事を印刷する

コメント&トラックバック

トラックバックURL: http://www.exe1993.jp/wpbusiness/archives/wordpress_language/trackback/

はじめまして。
まだWordPressを使い始めたところで、多言語化について調べていてたどり着きました。
検索が十分ではないかもしれないのですが、あまり引っかからないので質問させてもらいます。
gettextはファイル内の変数に含まれる表示される文字を任意の言語に変換するものだと理解しています。
なので、DBに登録される記事そのものの翻訳にはこのgettextは利用できないと考えていいでしょうか。
おそらくDBに別のテーブルかそれにかわる対処が必要と想像できるのですが、その部分についてはみなさんどうしているのでしょう。
たとえばWordPress2.7以上ではqTranslateというプラグインが存在ことを知りました。
この場合は手動による記事作成画面が言語分管理画面に用意され、そこから記事を言語分、手で書いていくようです。
これ以外のポピュラーな方法をご存知でしたら教えていただきたいのですが。

2009/07/15 2:42 PM posted by s

S 様

ご質問いただきましたgettextの件ですが、確かに、gettextはwordpressのコアシステムのためのものであって、
「gettextはファイル内の変数に含まれる表示される文字を任意の言語に変換するもの」で
「DBに登録される記事そのものの翻訳にはこのgettextは利用できない」と理解しています。
但し、投稿記事の特定用語を翻訳できたら・・・とお考えになるのも理解いたしますが、現状では対応方法は、これといってないかと思います。(プラグインもないかと思います。)

ご質問の主旨とは違うと思いますが、サイトごと翻訳するという考えなら、翻訳のプラグインはあります。
Global Translator

ただ、特定用語の翻訳ではないので、ちょっと違いますよねえ。

2009/07/16 1:52 PM posted by info@exe1993.jp

ありがとうございます。
言い方を変えてさらにもう一点質問よろしいでしょうか。
WordPressでシステムのメッセージやテンプレートの文言をgettextを利用して多言語化する場合、データの翻訳も必須になると思うのですが、皆さんどうしているのでしょうか。
多言語化であるからには、たちえばある記事を複数の言語に翻訳し、それらすべてをサイト上の切り替えスイッチなどでみることができるようにするのだと考えるのが自然だと思われるのですが。

検索をかけてみたのですが、gettextについて触れている文書は多く見つけられるのですが、では実際の記事データの翻訳について触れているものはあまり見つけられませんでした。

紹介してもらった「Global Translator」は参考になります。
ありがとうございます。

何か大きく勘違いしている場合はご容赦下さい。

2009/07/17 2:44 AM posted by s

S 様
WordPressにおいてのgettext利用はシステムメッセージの多言語化の効率化のために利用しているものと思います。
したがって、多言語化にともなって、gettextが多言語化する対象はシステムが出すシステムに関するメッセージに限定されるものとお考えになったらいかがでしょうか?
ご質問の「多言語化であるからには、たちえばある記事を複数の言語に翻訳し、それらすべてをサイト上の切り替えスイッチなどでみることができるようにする」ことは、どちらかというと翻訳をする拡張機能ととらえて、プラグイン開発に任せているのが実情だと思います。

PS:コメントの更新が遅れ、スイマセンでした。
WordPressの機能改良のスピードはとても速いので、今後の開発では、この点も改良されるかもしれませんね。期待してください。

2009/07/21 11:06 AM posted by info@exe1993.jp

レスポンス遅れすみません。
ありがとうございます。
参考にさせていただきます。

2009/07/24 2:24 AM posted by s





このページのトップへ

ewb_blue-l_160170.png
art-img.gif