DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

(gettext.info.gz) History

Info Catalog (gettext.info.gz) Conclusion (gettext.info.gz) Conclusion (gettext.info.gz) References
 
 16.1 History of GNU `gettext'
 =============================
 
 Internationalization concerns and algorithms have been informally and
 casually discussed for years in GNU, sometimes around GNU `libc', maybe
 around the incoming `Hurd', or otherwise (nobody clearly remembers).
 And even then, when the work started for real, this was somewhat
 independently of these previous discussions.
 
    This all began in July 1994, when Patrick D'Cruze had the idea and
 initiative of internationalizing version 3.9.2 of GNU `fileutils'.  He
 then asked Jim Meyering, the maintainer, how to get those changes
 folded into an official release.  That first draft was full of
 `#ifdef's and somewhat disconcerting, and Jim wanted to find nicer
 ways.  Patrick and Jim shared some tries and experimentations in this
 area.  Then, feeling that this might eventually have a deeper impact on
 GNU, Jim wanted to know what standards were, and contacted Richard
 Stallman, who very quickly and verbally described an overall design for
 what was meant to become `glocale', at that time.
 
    Jim implemented `glocale' and got a lot of exhausting feedback from
 Patrick and Richard, of course, but also from Mitchum DSouza (who wrote
 a `catgets'-like package), Roland McGrath, maybe David MacKenzie,
 Franc,ois Pinard, and Paul Eggert, all pushing and pulling in various
 directions, not always compatible, to the extent that after a couple of
 test releases, `glocale' was torn apart.  In particular, Paul Eggert -
 always keeping an eye on developments in Solaris - advocated the use of
 the `gettext' API over `glocale''s `catgets'-based API.
 
    While Jim took some distance and time and became dad for a second
 time, Roland wanted to get GNU `libc' internationalized, and got Ulrich
 Drepper involved in that project.  Instead of starting from `glocale',
 Ulrich rewrote something from scratch, but more conforming to the set
 of guidelines who emerged out of the `glocale' effort.  Then, Ulrich
 got people from the previous forum to involve themselves into this new
 project, and the switch from `glocale' to what was first named
 `msgutils', renamed `nlsutils', and later `gettext', became officially
 accepted by Richard in May 1995 or so.
 
    Let's summarize by saying that Ulrich Drepper wrote GNU `gettext' in
 April 1995.  The first official release of the package, including PO
 mode, occurred in July 1995, and was numbered 0.7.  Other people
 contributed to the effort by providing a discussion forum around
 Ulrich, writing little pieces of code, or testing.  These are quoted in
 the `THANKS' file which comes with the GNU `gettext' distribution.
 
    While this was being done, Franc,ois adapted half a dozen of GNU
 packages to `glocale' first, then later to `gettext', putting them in
 pretest, so providing along the way an effective user environment for
 fine tuning the evolving tools.  He also took the responsibility of
 organizing and coordinating the Translation Project.  After nearly a
 year of informal exchanges between people from many countries,
 translator teams started to exist in May 1995, through the creation and
 support by Patrick D'Cruze of twenty unmoderated mailing lists for that
 many native languages, and two moderated lists: one for reaching all
 teams at once, the other for reaching all willing maintainers of
 internationalized free software packages.
 
    Franc,ois also wrote PO mode in June 1995 with the collaboration of
 Greg McGary, as a kind of contribution to Ulrich's package.  He also
 gave a hand with the GNU `gettext' Texinfo manual.
 
    In 1997, Ulrich Drepper released the GNU libc 2.0, which included the
 `gettext', `textdomain' and `bindtextdomain' functions.
 
    In 2000, Ulrich Drepper added plural form handling (the `ngettext'
 function) to GNU libc.  Later, in 2001, he released GNU libc 2.2.x,
 which is the first free C library with full internationalization
 support.
 
    Ulrich being quite busy in his role of General Maintainer of GNU
 libc, he handed over the GNU `gettext' maintenance to Bruno Haible in
 2000.  Bruno added the plural form handling to the tools as well, added
 support for UTF-8 and CJK locales, and wrote a few new tools for
 manipulating PO files.
 
Info Catalog (gettext.info.gz) Conclusion (gettext.info.gz) Conclusion (gettext.info.gz) References
automatically generated byinfo2html