Statistics
| Revision:

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&ccedil;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&ccedil;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&ccedil;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&acute;</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&acute;</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&acute;</TT>, <TT>`comp.std.internat&acute;</TT>,
150
<TT>`comp.software.international&acute;</TT>, <TT>`comp.lang.c&acute;</TT>,
151
<TT>`comp.windows.x&acute;</TT>, <TT>`comp.std.c&acute;</TT>, <TT>`comp.answers&acute;</TT>
152
and <TT>`news.answers&acute;</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&acute;</TT>) wrote a tutorial about NLS
160
matters, and Jochen Hein (<TT>`Hein@student.tu-clausthal.de&acute;</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>