6.6. 国際化 & ローカル化 (I18N & L10N)

6.6.1. 国際化 (I18N)・ローカル化 (L10N) ってなに?

 GNU gettext info ページから引用:

国際化(internationalization)というのは、プログラム、またはパッケージ化されたプログラム群が複数の言語を理解できて、サポートできるようにするための操作をさす。これは汎用化・一般化プロセスであり、プログラムが英語のストリングや英語特有の慣習にしばられなくなって、同じことがもっと一般化されたやりかたと結びつけられるようになる、ということだ。プログラム開発者たちは、自分のプログラムを国際化するためにいろいろな技法を使える。そういう技法の一部は標準化されている。 GNU gettext も、そういう標準の一つを提供するものだ。

ローカル化(localization)というのは、すでに国際化されたプログラム群において、そのプログラムがその特定の母語や文化慣習からみて正しい入出力を行うために自分を変更できるようにするための、あらゆる情報を与えるという操作をさす。これは特化プロセスであり、国際化プログラムにおいてすでに実装された汎用メソッドが、特化されたかたちで使われることになる。プログラミング環境は、これを実行時に設定できるようにするために、いくつかの機能・関数をプログラマに提供している。ある国の文化的な慣習群についての形式化された記述は、その同じ母語にあわせた関連翻訳すべてとともに、その言語や国の locale と呼ばれる。ユーザは、そのプログラムの実行に先立って特別な環境変数を設定し、どの locale を使うべきか指定することで、プログラムのローカル化を実現する。

6.6.2. GNOME はどの I18N と L10N API を使ってるの?

 GNOME は Uniforum の国際化標準規格を使用している。この「標準規格」は Sun Microsystems に よって開発され、GNU プロジェクトの "gettext" パッケージで採用されている標準 だ。これは競合する X/Open の標準とは異なっている。

6.6.3. I18N や L10N を使ったプログラミングはどうやるの、またはもっと詳しく知りたいんだけれど。

 GNU gettextパッケージのinfoページ http://gnu.org/manual/gettext/html_chapter/gettext_toc.html を見てね。

 さらに、i18n FAQ ( http://www.vlsivie.tuwien.ac.at/mike/i18n.html) にも情報がある。