mirror of
https://github.com/Stichting-MINIX-Research-Foundation/netbsd.git
synced 2025-09-12 00:24:52 -04:00
190 lines
7.3 KiB
HTML
190 lines
7.3 KiB
HTML
<HTML>
|
|
<HEAD>
|
|
<!-- This HTML file has been created by texi2html 1.52a
|
|
from gettext.texi on 11 April 2005 -->
|
|
|
|
<TITLE>GNU gettext utilities - 14 Concluding Remarks</TITLE>
|
|
</HEAD>
|
|
<BODY>
|
|
Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_13.html">previous</A>, <A HREF="gettext_15.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
|
|
<P><HR><P>
|
|
|
|
|
|
<H1><A NAME="SEC287" HREF="gettext_toc.html#TOC287">14 Concluding Remarks</A></H1>
|
|
|
|
<P>
|
|
We would like to conclude this GNU <CODE>gettext</CODE> manual by presenting
|
|
an history of the Translation Project so far. We finally give
|
|
a few pointers for those who want to do further research or readings
|
|
about Native Language Support matters.
|
|
|
|
</P>
|
|
|
|
|
|
|
|
<H2><A NAME="SEC288" HREF="gettext_toc.html#TOC288">14.1 History of GNU <CODE>gettext</CODE></A></H2>
|
|
<P>
|
|
<A NAME="IDX1160"></A>
|
|
|
|
</P>
|
|
<P>
|
|
Internationalization concerns and algorithms have been informally
|
|
and casually discussed for years in GNU, sometimes around GNU
|
|
<CODE>libc</CODE>, maybe around the incoming <CODE>Hurd</CODE>, or otherwise
|
|
(nobody clearly remembers). And even then, when the work started for
|
|
real, this was somewhat independently of these previous discussions.
|
|
|
|
</P>
|
|
<P>
|
|
This all began in July 1994, when Patrick D'Cruze had the idea and
|
|
initiative of internationalizing version 3.9.2 of GNU <CODE>fileutils</CODE>.
|
|
He then asked Jim Meyering, the maintainer, how to get those changes
|
|
folded into an official release. That first draft was full of
|
|
<CODE>#ifdef</CODE>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 <CODE>glocale</CODE>, at that time.
|
|
|
|
</P>
|
|
<P>
|
|
Jim implemented <CODE>glocale</CODE> and got a lot of exhausting feedback
|
|
from Patrick and Richard, of course, but also from Mitchum DSouza
|
|
(who wrote a <CODE>catgets</CODE>-like package), Roland McGrath, maybe David
|
|
MacKenzie, Franç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, <CODE>glocale</CODE> was torn apart.
|
|
In particular, Paul Eggert -- always keeping an eye on developments
|
|
in Solaris -- advocated the use of the <CODE>gettext</CODE> API over
|
|
<CODE>glocale</CODE>'s <CODE>catgets</CODE>-based API.
|
|
|
|
</P>
|
|
<P>
|
|
While Jim took some distance and time and became dad for a second
|
|
time, Roland wanted to get GNU <CODE>libc</CODE> internationalized, and
|
|
got Ulrich Drepper involved in that project. Instead of starting
|
|
from <CODE>glocale</CODE>, Ulrich rewrote something from scratch, but
|
|
more conformant to the set of guidelines who emerged out of the
|
|
<CODE>glocale</CODE> effort. Then, Ulrich got people from the previous
|
|
forum to involve themselves into this new project, and the switch
|
|
from <CODE>glocale</CODE> to what was first named <CODE>msgutils</CODE>, renamed
|
|
<CODE>nlsutils</CODE>, and later <CODE>gettext</CODE>, became officially accepted
|
|
by Richard in May 1995 or so.
|
|
|
|
</P>
|
|
<P>
|
|
Let's summarize by saying that Ulrich Drepper wrote GNU <CODE>gettext</CODE>
|
|
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 <CODE>THANKS</CODE> file which comes with the GNU <CODE>gettext</CODE>
|
|
distribution.
|
|
|
|
</P>
|
|
<P>
|
|
While this was being done, François adapted half a dozen of
|
|
GNU packages to <CODE>glocale</CODE> first, then later to <CODE>gettext</CODE>,
|
|
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.
|
|
|
|
</P>
|
|
<P>
|
|
Franç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 <CODE>gettext</CODE> Texinfo manual.
|
|
|
|
</P>
|
|
<P>
|
|
In 1997, Ulrich Drepper released the GNU libc 2.0, which included the
|
|
<CODE>gettext</CODE>, <CODE>textdomain</CODE> and <CODE>bindtextdomain</CODE> functions.
|
|
|
|
</P>
|
|
<P>
|
|
In 2000, Ulrich Drepper added plural form handling (the <CODE>ngettext</CODE>
|
|
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.
|
|
|
|
</P>
|
|
<P>
|
|
Ulrich being quite busy in his role of General Maintainer of GNU libc,
|
|
he handed over the GNU <CODE>gettext</CODE> 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.
|
|
|
|
</P>
|
|
|
|
|
|
<H2><A NAME="SEC289" HREF="gettext_toc.html#TOC289">14.2 Related Readings</A></H2>
|
|
<P>
|
|
<A NAME="IDX1161"></A>
|
|
<A NAME="IDX1162"></A>
|
|
|
|
</P>
|
|
<P>
|
|
Eugene H. Dorr (<TT>`dorre@well.com´</TT>) maintains an interesting
|
|
bibliography on internationalization matters, called
|
|
<CITE>Internationalization Reference List</CITE>, which is available as:
|
|
|
|
<PRE>
|
|
ftp://ftp.ora.com/pub/examples/nutshell/ujip/doc/i18n-books.txt
|
|
</PRE>
|
|
|
|
<P>
|
|
Michael Gschwind (<TT>`mike@vlsivie.tuwien.ac.at´</TT>) maintains a
|
|
Frequently Asked Questions (FAQ) list, entitled <CITE>Programming for
|
|
Internationalisation</CITE>. This FAQ discusses writing programs which
|
|
can handle different language conventions, character sets, etc.;
|
|
and is applicable to all character set encodings, with particular
|
|
emphasis on ISO 8859-1. It is regularly published in Usenet
|
|
groups <TT>`comp.unix.questions´</TT>, <TT>`comp.std.internat´</TT>,
|
|
<TT>`comp.software.international´</TT>, <TT>`comp.lang.c´</TT>,
|
|
<TT>`comp.windows.x´</TT>, <TT>`comp.std.c´</TT>, <TT>`comp.answers´</TT>
|
|
and <TT>`news.answers´</TT>. The home location of this document is:
|
|
|
|
<PRE>
|
|
ftp://ftp.vlsivie.tuwien.ac.at/pub/8bit/ISO-programming
|
|
</PRE>
|
|
|
|
<P>
|
|
Patrick D'Cruze (<TT>`pdcruze@li.org´</TT>) wrote a tutorial about NLS
|
|
matters, and Jochen Hein (<TT>`Hein@student.tu-clausthal.de´</TT>) took
|
|
over the responsibility of maintaining it. It may be found as:
|
|
|
|
<PRE>
|
|
ftp://sunsite.unc.edu/pub/Linux/utils/nls/catalogs/Incoming/...
|
|
...locale-tutorial-0.8.txt.gz
|
|
</PRE>
|
|
|
|
<P>
|
|
This site is mirrored in:
|
|
|
|
<PRE>
|
|
ftp://ftp.ibp.fr/pub/linux/sunsite/
|
|
</PRE>
|
|
|
|
<P>
|
|
A French version of the same tutorial should be findable at:
|
|
|
|
<PRE>
|
|
ftp://ftp.ibp.fr/pub/linux/french/docs/
|
|
</PRE>
|
|
|
|
<P>
|
|
together with French translations of many Linux-related documents.
|
|
|
|
</P>
|
|
<P><HR><P>
|
|
Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_13.html">previous</A>, <A HREF="gettext_15.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
|
|
</BODY>
|
|
</HTML>
|