svn-gvsig-desktop / trunk / install / launcher / izpack-launcher-1.3 / src / gettext / share / doc / gettext / gettext_14.html @ 7940
History | View | Annotate | Download (7.33 KB)
1 |
<HTML>
|
---|---|
2 |
<HEAD>
|
3 |
<!-- This HTML file has been created by texi2html 1.52a
|
4 |
from gettext.texi on 9 December 2003 -->
|
5 |
|
6 |
<TITLE>GNU gettext utilities - 14 Concluding Remarks</TITLE> |
7 |
</HEAD>
|
8 |
<BODY>
|
9 |
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>. |
10 |
<P><HR><P> |
11 |
|
12 |
|
13 |
<H1><A NAME="SEC279" HREF="gettext_toc.html#TOC279">14 Concluding Remarks</A></H1> |
14 |
|
15 |
<P>
|
16 |
We would like to conclude this GNU <CODE>gettext</CODE> manual by presenting |
17 |
an history of the Translation Project so far. We finally give |
18 |
a few pointers for those who want to do further research or readings |
19 |
about Native Language Support matters. |
20 |
|
21 |
</P>
|
22 |
|
23 |
|
24 |
|
25 |
<H2><A NAME="SEC280" HREF="gettext_toc.html#TOC280">14.1 History of GNU <CODE>gettext</CODE></A></H2> |
26 |
<P>
|
27 |
<A NAME="IDX1129"></A> |
28 |
|
29 |
</P>
|
30 |
<P>
|
31 |
Internationalization concerns and algorithms have been informally |
32 |
and casually discussed for years in GNU, sometimes around GNU |
33 |
<CODE>libc</CODE>, maybe around the incoming <CODE>Hurd</CODE>, or otherwise |
34 |
(nobody clearly remembers). And even then, when the work started for |
35 |
real, this was somewhat independently of these previous discussions. |
36 |
|
37 |
</P>
|
38 |
<P>
|
39 |
This all began in July 1994, when Patrick D'Cruze had the idea and |
40 |
initiative of internationalizing version 3.9.2 of GNU <CODE>fileutils</CODE>. |
41 |
He then asked Jim Meyering, the maintainer, how to get those changes |
42 |
folded into an official release. That first draft was full of |
43 |
<CODE>#ifdef</CODE>s and somewhat disconcerting, and Jim wanted to find |
44 |
nicer ways. Patrick and Jim shared some tries and experimentations |
45 |
in this area. Then, feeling that this might eventually have a deeper |
46 |
impact on GNU, Jim wanted to know what standards were, and contacted |
47 |
Richard Stallman, who very quickly and verbally described an overall |
48 |
design for what was meant to become <CODE>glocale</CODE>, at that time. |
49 |
|
50 |
</P>
|
51 |
<P>
|
52 |
Jim implemented <CODE>glocale</CODE> and got a lot of exhausting feedback |
53 |
from Patrick and Richard, of course, but also from Mitchum DSouza |
54 |
(who wrote a <CODE>catgets</CODE>-like package), Roland McGrath, maybe David |
55 |
MacKenzie, François Pinard, and Paul Eggert, all pushing and
|
56 |
pulling in various directions, not always compatible, to the extent |
57 |
that after a couple of test releases, <CODE>glocale</CODE> was torn apart. |
58 |
In particular, Paul Eggert -- always keeping an eye on developments |
59 |
in Solaris -- advocated the use of the <CODE>gettext</CODE> API over |
60 |
<CODE>glocale</CODE>'s <CODE>catgets</CODE>-based API. |
61 |
|
62 |
</P>
|
63 |
<P>
|
64 |
While Jim took some distance and time and became dad for a second |
65 |
time, Roland wanted to get GNU <CODE>libc</CODE> internationalized, and |
66 |
got Ulrich Drepper involved in that project. Instead of starting |
67 |
from <CODE>glocale</CODE>, Ulrich rewrote something from scratch, but |
68 |
more conformant to the set of guidelines who emerged out of the |
69 |
<CODE>glocale</CODE> effort. Then, Ulrich got people from the previous |
70 |
forum to involve themselves into this new project, and the switch |
71 |
from <CODE>glocale</CODE> to what was first named <CODE>msgutils</CODE>, renamed |
72 |
<CODE>nlsutils</CODE>, and later <CODE>gettext</CODE>, became officially accepted |
73 |
by Richard in May 1995 or so. |
74 |
|
75 |
</P>
|
76 |
<P>
|
77 |
Let's summarize by saying that Ulrich Drepper wrote GNU <CODE>gettext</CODE> |
78 |
in April 1995. The first official release of the package, including |
79 |
PO mode, occurred in July 1995, and was numbered 0.7. Other people |
80 |
contributed to the effort by providing a discussion forum around |
81 |
Ulrich, writing little pieces of code, or testing. These are quoted |
82 |
in the <CODE>THANKS</CODE> file which comes with the GNU <CODE>gettext</CODE> |
83 |
distribution. |
84 |
|
85 |
</P>
|
86 |
<P>
|
87 |
While this was being done, François adapted half a dozen of
|
88 |
GNU packages to <CODE>glocale</CODE> first, then later to <CODE>gettext</CODE>, |
89 |
putting them in pretest, so providing along the way an effective |
90 |
user environment for fine tuning the evolving tools. He also took |
91 |
the responsibility of organizing and coordinating the Translation |
92 |
Project. After nearly a year of informal exchanges between people from |
93 |
many countries, translator teams started to exist in May 1995, through |
94 |
the creation and support by Patrick D'Cruze of twenty unmoderated |
95 |
mailing lists for that many native languages, and two moderated |
96 |
lists: one for reaching all teams at once, the other for reaching |
97 |
all willing maintainers of internationalized free software packages. |
98 |
|
99 |
</P>
|
100 |
<P>
|
101 |
François also wrote PO mode in June 1995 with the collaboration
|
102 |
of Greg McGary, as a kind of contribution to Ulrich's package. |
103 |
He also gave a hand with the GNU <CODE>gettext</CODE> Texinfo manual. |
104 |
|
105 |
</P>
|
106 |
<P>
|
107 |
In 1997, Ulrich Drepper released the GNU libc 2.0, which included the |
108 |
<CODE>gettext</CODE>, <CODE>textdomain</CODE> and <CODE>bindtextdomain</CODE> functions. |
109 |
|
110 |
</P>
|
111 |
<P>
|
112 |
In 2000, Ulrich Drepper added plural form handling (the <CODE>ngettext</CODE> |
113 |
function) to GNU libc. Later, in 2001, he released GNU libc 2.2.x, |
114 |
which is the first free C library with full internationalization support. |
115 |
|
116 |
</P>
|
117 |
<P>
|
118 |
Ulrich being quite busy in his role of General Maintainer of GNU libc, |
119 |
he handed over the GNU <CODE>gettext</CODE> maintenance to Bruno Haible in |
120 |
2000. Bruno added the plural form handling to the tools as well, added |
121 |
support for UTF-8 and CJK locales, and wrote a few new tools for |
122 |
manipulating PO files. |
123 |
|
124 |
</P>
|
125 |
|
126 |
|
127 |
<H2><A NAME="SEC281" HREF="gettext_toc.html#TOC281">14.2 Related Readings</A></H2> |
128 |
<P>
|
129 |
<A NAME="IDX1130"></A> |
130 |
<A NAME="IDX1131"></A> |
131 |
|
132 |
</P>
|
133 |
<P>
|
134 |
Eugene H. Dorr (<TT>`dorre@well.com´</TT>) maintains an interesting |
135 |
bibliography on internationalization matters, called |
136 |
<CITE>Internationalization Reference List</CITE>, which is available as: |
137 |
|
138 |
<PRE>
|
139 |
ftp://ftp.ora.com/pub/examples/nutshell/ujip/doc/i18n-books.txt |
140 |
</PRE>
|
141 |
|
142 |
<P>
|
143 |
Michael Gschwind (<TT>`mike@vlsivie.tuwien.ac.at´</TT>) maintains a |
144 |
Frequently Asked Questions (FAQ) list, entitled <CITE>Programming for
|
145 |
Internationalisation</CITE>. This FAQ discusses writing programs which
|
146 |
can handle different language conventions, character sets, etc.; |
147 |
and is applicable to all character set encodings, with particular |
148 |
emphasis on ISO 8859-1. It is regularly published in Usenet |
149 |
groups <TT>`comp.unix.questions´</TT>, <TT>`comp.std.internat´</TT>, |
150 |
<TT>`comp.software.international´</TT>, <TT>`comp.lang.c´</TT>, |
151 |
<TT>`comp.windows.x´</TT>, <TT>`comp.std.c´</TT>, <TT>`comp.answers´</TT> |
152 |
and <TT>`news.answers´</TT>. The home location of this document is: |
153 |
|
154 |
<PRE>
|
155 |
ftp://ftp.vlsivie.tuwien.ac.at/pub/8bit/ISO-programming |
156 |
</PRE>
|
157 |
|
158 |
<P>
|
159 |
Patrick D'Cruze (<TT>`pdcruze@li.org´</TT>) wrote a tutorial about NLS |
160 |
matters, and Jochen Hein (<TT>`Hein@student.tu-clausthal.de´</TT>) took |
161 |
over the responsibility of maintaining it. It may be found as: |
162 |
|
163 |
<PRE>
|
164 |
ftp://sunsite.unc.edu/pub/Linux/utils/nls/catalogs/Incoming/... |
165 |
...locale-tutorial-0.8.txt.gz |
166 |
</PRE>
|
167 |
|
168 |
<P>
|
169 |
This site is mirrored in: |
170 |
|
171 |
<PRE>
|
172 |
ftp://ftp.ibp.fr/pub/linux/sunsite/ |
173 |
</PRE>
|
174 |
|
175 |
<P>
|
176 |
A French version of the same tutorial should be findable at: |
177 |
|
178 |
<PRE>
|
179 |
ftp://ftp.ibp.fr/pub/linux/french/docs/ |
180 |
</PRE>
|
181 |
|
182 |
<P>
|
183 |
together with French translations of many Linux-related documents. |
184 |
|
185 |
</P>
|
186 |
<P><HR><P> |
187 |
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>. |
188 |
</BODY>
|
189 |
</HTML>
|