1Notes on the GNU Translation Project
2************************************
3
4   GNU is going international!  The GNU Translation Project is a way to
5get maintainers, translators and users all together, so GNU will
6gradually become able to speak many native languages.  A few packages
7already provide native language translation for their messages.
8
9   If you found this `ABOUT-NLS' file inside a GNU distribution, you
10may assume that the distributed package does use GNU `gettext'
11internally, itself available at your nearest GNU archive site.  But you
12do not need to install GNU `gettext' prior to configuring, installing
13or using this package with messages translated.
14
15   Installers will find here some useful hints.  These notes also
16explain how users should proceed for getting the programs to use the
17available translations.  They tell how people wanting to contribute and
18work at translations should contact the appropriate team.
19
20   When reporting bugs in the `intl/' directory or bugs which may be
21related to internationalization, you should tell about the version of
22`gettext' which is used.  The information can be found in the
23`intl/VERSION' file, in internationalized packages.
24
25One advise in advance
26=====================
27
28   If you want to exploit the full power of the GNU `gettext' package
29you should configure it using
30
31             --with-gnu-gettext.
32
33   No existing implementation at this point provides so many useful
34features (such as locale alias or message inheritance).  It is also not
35possible to provide this additional functionality on top of a catgets
36implementation.
37
38   Future versions of GNU `gettext' will very likely provide even more
39functionality.  So it might be a good idea to change to GNU `gettext'
40as soon as possible.
41
42INSTALL Matters
43===============
44
45   Some GNU packages are "localizable" when properly installed; the
46programs they contain can be made to speak your own native language.
47Most such packages use GNU `gettext'.  Other packages have their own
48ways to internationalization, predating GNU `gettext'.
49
50   By default, this package will be installed to allow translation of
51messages.  It will automatically detect whether the system provides
52usable `catgets' or `gettext' functions.  If neither is available, the
53GNU `gettext' own library will be used.  However, installers may use
54special options at configuration time for changing this behaviour.  The
55commands:
56
57     ./configure --with-gnu-gettext
58     ./configure --disable-nls
59
60will respectively bypass system `catgets' or `gettext' to use GNU
61`gettext', or else, totally disable translation of messages.
62
63   When you already have GNU `gettext' installed on your system and run
64configure without an option for your new package, configure will
65probably detect the previously built and installed `libintl.a' file and
66will decide to use this.  This might be not what is desirable.  You
67should use the more recent version of the GNU `gettext' library.  I.e.
68if the file `intl/VERSION' shows that the library which comes with this
69package is more recent, you should use
70
71     ./configure --with-gnu-gettext
72
73to prevent auto-detection.
74
75   Internationalized packages have usually many `po/LL.po' files, where
76LL gives an ISO 639 two-letter code identifying the language.  Unless
77translations are disabled, all those available are installed together
78with the package.  However, the environment variable `LINGUAS' may be
79set, prior to configuration, to limit the installed set.  `LINGUAS'
80should then contain a space separated list of two-letter codes, stating
81which languages are allowed.
82
83Using This Package
84==================
85
86   As a user, if your language has been installed for this package, you
87only have to set the `LANG' environment variable to the appropriate
88ISO 639 `LL' two-letter code prior to using the programs in the
89package.  For example, let's suppose that you speak German.  At the
90shell prompt, merely execute `setenv LANG de' (in `csh') or
91`export LANG; LANG=de' (in `sh').  This can be done from your `.login'
92or `.profile' file, once and for all.  Packages which are not
93internationalized will merely ignore the setting of this variable.
94
95Translating Teams
96=================
97
98   The GNU `gettext' tool set contains *everything* maintainers need
99for internationalizing their packages for messages.  It also contains
100quite useful tools for helping translators at localizing messages to
101their native language, once a package has already been
102internationalized.
103
104   To achieve the GNU Translation Project, we need many interested
105people who like their own language and write it well, and who are also
106able to synergize with other translators speaking the same language.
107Each translating team has its own mailing list, courtesy of Linux
108International.  You may reach your translating team at the address
109`LL@li.org', replacing LL by the two-letter ISO 639 code for your
110language.  Language codes are *not* the same as country codes given in
111ISO 3166.  The following translating teams exist, as of November 1995:
112
113     Chinese `zh', Czech `cs', Danish `da', Dutch `nl', English `en',
114     Esperanto `eo', Finnish `fi', French `fr', Irish `ga', German
115     `de', Greek `el', Italian `it', Japanese `ja', Indonesian `in',
116     Norwegian `no', Persian `fa', Polish `pl', Portuguese `pt',
117     Russian `ru', Spanish `es', Swedish `sv', Telugu `te' and Turkish
118     `tr'.
119
120For example, you may reach the Chinese translating team by writing to
121`zh@li.org'.
122
123   If you'd like to volunteer to *work* at translating messages, you
124should become a member of the translating team for your own language.
125The subscribing address is *not* the same as the list itself, it has
126`-request' appended.  For example, Swedish people can send a message to
127`sv-request@li.org', having this message body:
128
129     subscribe
130
131   Keep in mind that team members should be interested in *working* at
132translations, or at solving translational difficulties, rather than
133merely lurking around.  If your team does not exist yet and you want to
134start one, please write to `gnu-translation@prep.ai.mit.edu'; you will
135then reach the GNU coordinator for all translator teams.
136
137   The English team is special.  It works at improving and uniformizing
138the terminology used in GNU.  Proven linguistic skill are praised more
139than programming skill, here.  For the time being, please avoid
140subscribing to the English team unless explicitely invited to do so.
141
142Available Packages
143==================
144
145   Languages are not equally supported in all GNU packages.  The
146following matrix shows the current state of GNU internationalization,
147as of November 1995.  Listed are: internationalized packages, and
148languages for which work is in progress, or about to start.
149
150          See note    cs de en fr it ja nl no pt sv
151                \   .-------------------------------.
152     chess      (1) |    X  /                    X  |
153     clisp          |    X  X  X                    |
154     diffutils  (2) |       /  .                    |
155     fileutils      |    .  /                       |
156     flex       (3) |       /  .                    |
157     m4             |    -  /  -  -  .           -  |
158     gettext        |    X  /  X           X     X  |
159     ptx            |    -  /  -                 -  |
160     recode         |    -  /  -        -     -     |
161     sh-utils       |    .  /  .                    |
162     sharutils      |    X  /  X     X  X     X  X  |
163     tar            |    X  /  X           -  X  X  |
164     textutils      |    .  /  .                    |
165     wdiff          | -  -  /  -  -                 |
166                    `-------------------------------'
167                      cs de en fr it ja nl no pt sv
168
169   The interpretation legend and notes are:
170
171`/'
172     There is no PO file, this package merely defaults to this language.
173
174`.'
175     The effort of localizing this package has been undertaken by
176     someone, or by a translating team, and work is, or should be in
177     progress.
178
179`-'
180     A PO file for this package and this language is completed and is
181     currently available in a pretest release, or is all ready for
182     inclusion in the next release of this package.
183
184`X'
185     The localization of this package to this particular language is
186     fully completed, and now distributed through an official release.
187
188(1)
189     This package is translated to specific languages by methods
190     predating GNU `gettext'.  Translations are all kept on disk files,
191     and sources contain numbers where one normally expects strings.
192
193(2)
194     This package is planned to switch to GNU `gettext'.  For the time
195     being, it uses temporary means for internationalization.
196
197(3)
198     This package has its translatable strings marked, but does not use
199     GNU `gettext'.  A convenience patch may be available separately.
200
201   If November 1995 seems to be old, you may fetch a more recent copy
202of this `ABOUT-NLS' file on most GNU archive sites.
203
204