Next: References, Previous: Conclusion, Up: Conclusion [Contents][Index]
gettext
の歴史国際対応の重要性やアルゴリズムは、非公式にではありますがが毎日のように数年に渡ってGNUで論議されてきました。ときにはGNU
libc
に関係して、あるときはHurd
に関係して、あるいはその他のものに関係してです(誰もはっきり
とは覚えていません)。そしてそれから作業は実際に始まりましたが、これは先だっての議論とは独立したものでした。
全ては、Patrick D’CruzeがGNU
fileutils
バージョン3.9.2の国際対応についてのアイディアそして主導権を得たとき、つまり1994年の7月に始まりました。彼はそれから保守担当者であるJim
Meyeringに、国際対応に関する変更をどのようにして正式リリースに含めるかについて尋ねました。最初のドラフトは#ifdef
の塊で面食らうような代物でしたので、Jimはもっと良い方法を求めていました。PatrickとJimはこの分野においての試みや経験を共有していました。そして、結局のところこの作業はGNUに大きなインパクトを与えると感じたので、Jimは標準がどのようなものであるかを知りたくなり、そして彼はRichard
Stallmanにコンタクトを取りました。Richardはその時点で、glocale
となるコード全体のデザインについて非常に手早くかつ丁寧に記述しました。
Jimはglocale
を実装し、PatrickやRichardから多くのフィードバックを受けました。もちろん、Mitchum
DSouza(catgets
のようなパッケージを記述した)やRoland McGrath,またDavid
MacKenzieやFrançois Pinard、Paul
Eggertらからのフィードバックもありました。様々な方向性が入り乱れ、しかもそれら全てに互換性があるというわけではなかったため、2、3のテストリリースの後、glocale
は破棄されました。特にPaul
Eggert — 彼は常にSolarisを注視していました —
は、glocale
のcatgets
にもとづくAPI上にgettext
APIを使用することを提唱しました。
Jimがある程度距離と時間をおき、そして二人目のパパになった間に、RolandはGNU
libc
を国際対応させたいと望んでおり、Ulrich
Drepperがそのプロジェクトに加わりました。glocale
から作業を始める代わりに、Ulrichは一からコードを書き直しましたが、それはglocale
の作業で明らかになったガイドラインにより一層従う形になっていました。それからUlrichは以前のフォーラムから新しいプロジェクト用に人員を獲得し、glocale
をまずmsgutils
と改称しました。それは後にnlsutils
という名前になり、さらにgettext
という名称になりました。これは1995年5月頃にRichardによって公式に受諾されました。
Ulrich Drepperが1995年の四月にGNU
gettext
で書いたことに言及してまとめとしようかと思います。POモードを含んだパッケージの最初の公式リリースは1995年の7月に行われ、そのバージョン番号は0.7でした。その他の人々はUlrichの回りの議論フォーラムで作成された、小さなコードのかけらやテストの結
果といった諸々のものを寄贈しました。彼らの名前はGNU gettext
に付随するTHANKS
ファイルに納められました。
この作業が進んでいた間、Françoisは最初に半ダースのGNUパッケージにglocale
を、続いてgettext
を現在のように適用してプリテストの状態にし、進化するツールを微調整するための効果的なユーザ環境を準備しました。
彼はまた、翻訳プロジェクトを組織化し統合する責任をも引き受けました。 Patrick
D’Cruzeは多くのネイティブランゲージのための20の非モデレートなメーリングリスト、そして二つのモデレートされたリスト(一つは全てのチームに直ちに届くもの、もう一つは国際化されたフリーソフトウェアパッケージの全ての自発的な管理者に連絡するためのもの)を作成し管理しました。そしてほぼ一年の間に
多くの国々の人々の間で非公式な情報交換が行われ、翻訳者チームが1995年5月に発足しました。
FrançoisはまたGreg
McGaryの協力を受け、1995年の六月にPOモードを書きあげています。これはUlrichのパッケージに寄贈されました。彼はまたGNU
gettext
のTexinfoマニュアルも寄贈しています。
1997年に、Ulrich DrepperはGNU libc
2.0をリリースし、これには関数gettext
、textdomain
、bindtextdomain
が含まれていました。
2000年に、Ulrich Drepperはplural form処理(ngettext
関数)をGNU
libcに追加しました。その後2001年、彼はGNU libc
2.2.xをリリースし、これには完全なインターナショナリゼーションをもつ、最初のフリーなCライブラリーでした。
GNU libcのGeneral Maintainerとしての役割によりUlrichは極めて多忙になったため、2000年にGNU gettextのメンテナンスをBruno Haibleに譲り渡しました。Brunoもツールにplural form処理を追加し、UTF-8とCJK localeのサポートの追加、およびPOファイルを取り扱うための新しいツールをいくつか記述しました。