• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Notes on the Free Translation Project
2*************************************
3
4   Free software is going international!  The Free Translation Project
5is a way to get maintainers of free software, translators, and users all
6together, so that will gradually become able to speak many languages.
7A few packages already provide translations for their messages.
8
9   If you found this `ABOUT-NLS' file inside a distribution, you may
10assume that the distributed package does use GNU `gettext' internally,
11itself available at your nearest GNU archive site.  But you do _not_
12need to install GNU `gettext' prior to configuring, installing or using
13this 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
25INSTALL Matters
26===============
27
28   Some packages are "localizable" when properly installed; the
29programs they contain can be made to speak your own native language.
30Most such packages use GNU `gettext'.  Other packages have their own
31ways to internationalization, predating GNU `gettext'.
32
33   By default, this package will be installed to allow translation of
34messages.  It will automatically detect whether the system already
35provides the GNU `gettext' functions.  If not, the GNU `gettext' own
36library will be used.  This library is wholly contained within this
37package, usually in the `intl/' subdirectory, so prior installation of
38the GNU `gettext' package is _not_ required.  Installers may use
39special options at configuration time for changing the default
40behaviour.  The command:
41
42     ./configure --disable-nls
43
44will bypass any pre-existing `gettext' to _totally_ disable translation
45of messages.
46
47   The configuration process will not test for the `catgets' function
48and therefore it will not be used.  The reason is that even an
49emulation of `gettext' on top of `catgets' could not provide all the
50extensions of the GNU `gettext' library.
51
52   Internationalized packages have usually many `po/LL.po' files, where
53LL gives an ISO 639 two-letter code identifying the language.  Unless
54translations have been forbidden at `configure' time by using the
55`--disable-nls' switch, all available translations are installed
56together with the package.  However, the environment variable `LINGUAS'
57may be set, prior to configuration, to limit the installed set.
58`LINGUAS' should then contain a space separated list of two-letter
59codes, stating which languages are allowed.
60
61Using This Package
62==================
63
64   As a user, if your language has been installed for this package, you
65only have to set the `LANG' environment variable to the appropriate
66`LL_CC' combination.  Here `LL' is an ISO 639 two-letter language code,
67and `CC' is an ISO 3166 two-letter country code.  For example, let's
68suppose that you speak German and live in Germany.  At the shell
69prompt, merely execute `setenv LANG de_DE' (in `csh'),
70`export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash').
71This can be done from your `.login' or `.profile' file, once and for
72all.
73
74   You might think that the country code specification is redundant.
75But in fact, some languages have dialects in different countries.  For
76example, `de_AT' is used for Austria, and `pt_BR' for Brazil.  The
77country code serves to distinguish the dialects.
78
79   The locale naming convention of `LL_CC', with `LL' denoting the
80language and `CC' denoting the country, is the one use on systems based
81on GNU libc.  On other systems, some variations of this scheme are
82used, such as `LL' or `LL_CC.ENCODING'.  You can get the list of
83locales supported by your system for your country by running the command
84`locale -a | grep '^LL''.
85
86   Not all programs have translations for all languages.  By default, an
87English message is shown in place of a nonexistent translation.  If you
88understand other languages, you can set up a priority list of languages.
89This is done through a different environment variable, called
90`LANGUAGE'.  GNU `gettext' gives preference to `LANGUAGE' over `LANG'
91for the purpose of message handling, but you still need to have `LANG'
92set to the primary language; this is required by other parts of the
93system libraries.  For example, some Swedish users who would rather
94read translations in German than English for when Swedish is not
95available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'.
96
97   In the `LANGUAGE' environment variable, but not in the `LANG'
98environment variable, `LL_CC' combinations can be abbreviated as `LL'
99to denote the language's main dialect.  For example, `de' is equivalent
100to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT'
101(Portuguese as spoken in Portugal) in this context.
102
103Translating Teams
104=================
105
106   For the Free Translation Project to be a success, we need interested
107people who like their own language and write it well, and who are also
108able to synergize with other translators speaking the same language.
109Each translation team has its own mailing list.  The up-to-date list of
110teams can be found at the Free Translation Project's homepage,
111`http://www.iro.umontreal.ca/contrib/po/HTML/', in the "National teams"
112area.
113
114   If you'd like to volunteer to _work_ at translating messages, you
115should become a member of the translating team for your own language.
116The subscribing address is _not_ the same as the list itself, it has
117`-request' appended.  For example, speakers of Swedish can send a
118message to `sv-request@li.org', having this message body:
119
120     subscribe
121
122   Keep in mind that team members are expected to participate
123_actively_ in translations, or at solving translational difficulties,
124rather than merely lurking around.  If your team does not exist yet and
125you want to start one, or if you are unsure about what to do or how to
126get started, please write to `translation@iro.umontreal.ca' to reach the
127coordinator for all translator teams.
128
129   The English team is special.  It works at improving and uniformizing
130the terminology in use.  Proven linguistic skill are praised more than
131programming skill, here.
132
133Available Packages
134==================
135
136   Languages are not equally supported in all packages.  The following
137matrix shows the current state of internationalization, as of May 2003.
138The matrix shows, in regard of each package, for which languages PO
139files have been submitted to translation coordination, with a
140translation percentage of at least 50%.
141
142     Ready PO files       am az be bg ca cs da de el en en_GB eo es
143                        +-------------------------------------------+
144     a2ps               |       []          [] [] []                |
145     aegis              |                      ()                   |
146     anubis             |                                           |
147     ap-utils           |                                           |
148     bash               |                      []             [] [] |
149     batchelor          |                                           |
150     bfd                |                   []                   [] |
151     binutils           |                   []                   [] |
152     bison              |                   [] []                [] |
153     bluez-pin          |                []                   []    |
154     clisp              |                                           |
155     clisp              |                      []    []          [] |
156     coreutils          |             []    [] []                [] |
157     cpio               |                   [] []                [] |
158     darkstat           |                   ()                   [] |
159     diffutils          |             [] [] [] [] []          [] [] |
160     e2fsprogs          |                []    []                   |
161     enscript           |             []    [] []        []         |
162     error              |             []    [] []        []      [] |
163     fetchmail          |             [] () [] [] []             [] |
164     fileutils          |                   [] []                [] |
165     findutils          |             []    [] [] []          [] [] |
166     flex               |             []    [] []                [] |
167     gas                |                                        [] |
168     gawk               |             []    [] []                [] |
169     gcal               |             []                            |
170     gcc                |                   []                   [] |
171     gettext            |       []    []    [] []                [] |
172     gettext-runtime    |       []    []    [] []                [] |
173     gettext-tools      |                      []                [] |
174     gimp-print         |                [] [] []        []      [] |
175     gliv               |                                           |
176     glunarclock        |    []             [] []                   |
177     gnucash            |                      ()        []         |
178     gnucash-glossary   |                   [] ()                [] |
179     gnupg              |             [] ()    [] []          [] [] |
180     gpe-calendar       |                      []                   |
181     gpe-conf           |                      []                   |
182     gpe-contacts       |                      []                   |
183     gpe-edit           |                                           |
184     gpe-login          |                      []                   |
185     gpe-ownerinfo      |                      []                   |
186     gpe-sketchbook     |                      []                   |
187     gpe-timesheet      |                                           |
188     gpe-today          |                      []                   |
189     gpe-todo           |                      []                   |
190     gphoto2            |                [] [] []                [] |
191     gprof              |                   []                   [] |
192     gpsdrive           |                      ()    ()          () |
193     grep               |          [] []       [] []             [] |
194     gretl              |                                        [] |
195     hello              |             []    [] [] []          [] [] |
196     id-utils           |                   [] []                   |
197     indent             |             []       []             [] [] |
198     jpilot             |                [] [] []                [] |
199     jwhois             |                                        [] |
200     kbd                |                [] [] [] []             [] |
201     ld                 |                   []                   [] |
202     libc               |             [] [] [] [] []             [] |
203     libgpewidget       |                      []                   |
204     libiconv           |             []    [] []             [] [] |
205     lifelines          |                   [] ()                   |
206     lilypond           |                   []                      |
207     lingoteach         |                                           |
208     lingoteach_lessons |                      ()                () |
209     lynx               |             [] [] [] []                   |
210     m4                 |                [] [] [] []                |
211     mailutils          |             []                         [] |
212     make               |                   [] []                [] |
213     man-db             |             [] () [] []                () |
214     mysecretdiary      |                   [] []                [] |
215     nano               |             [] () [] []                [] |
216     nano_1_0           |             [] () [] []                [] |
217     opcodes            |                   []                   [] |
218     parted             |             [] [] [] []                [] |
219     ptx                |             []    [] []             [] [] |
220     python             |                                           |
221     radius             |                                           |
222     recode             |       []          [] [] []          [] [] |
223     screem             |                                           |
224     sed                |             []    [] []             [] [] |
225     sh-utils           |                   [] []                [] |
226     sharutils          |             [] [] [] [] []             [] |
227     sketch             |                   [] ()                [] |
228     soundtracker       |                   [] []                [] |
229     sp                 |                      []                   |
230     tar                |                [] [] []                [] |
231     texinfo            |                [] [] []             []    |
232     textutils          |             []    [] []                [] |
233     tin                |                      ()        ()         |
234     util-linux         |             [] [] [] []                [] |
235     vorbis-tools       |                [] []                   [] |
236     wastesedge         |                      ()                   |
237     wdiff              |             []    [] []                [] |
238     wget               |          [] [] [] [] [] []             [] |
239     xchat              |             []          []             [] |
240     xpad               |                                           |
241                        +-------------------------------------------+
242                          am az be bg ca cs da de el en en_GB eo es
243                           0  1  4  2 31 17 54 60 14  1   4   12 56
244
245                          et fa fi fr ga gl he hr hu id it ja ko
246                        +----------------------------------------+
247     a2ps               | []    [] []                   ()    () |
248     aegis              |                                        |
249     anubis             |          []                            |
250     ap-utils           |          []                            |
251     bash               |          []             []             |
252     batchelor          |             []                         |
253     bfd                |          []                      []    |
254     binutils           |          []                      []    |
255     bison              | []       []                [] []       |
256     bluez-pin          |          [] []          [] []          |
257     clisp              |                                        |
258     clisp              |          []                            |
259     coreutils          | []       []                   [] []    |
260     cpio               |          []    []       []          [] |
261     darkstat           |          () []          [] []          |
262     diffutils          |       [] []    [] []    [] []    []    |
263     e2fsprogs          |                                        |
264     enscript           |          []          []                |
265     error              |       [] [] []          []             |
266     fetchmail          |                                  []    |
267     fileutils          | []       []             []    [] []    |
268     findutils          | []    [] [] [] []    [] [] [] [] [] [] |
269     flex               |          []                         [] |
270     gas                |          []                            |
271     gawk               |          []       []                   |
272     gcal               |          []                            |
273     gcc                |          []                            |
274     gettext            |          []                      [] [] |
275     gettext-runtime    |          []                []    [] [] |
276     gettext-tools      |                                  []    |
277     gimp-print         |          []                      []    |
278     gliv               |          ()                            |
279     glunarclock        |             [] []       []       []    |
280     gnucash            |                               []       |
281     gnucash-glossary   |                               []       |
282     gnupg              | []    [] []    []          [] [] []    |
283     gpe-calendar       |                            []          |
284     gpe-conf           |                                        |
285     gpe-contacts       |          []                            |
286     gpe-edit           |          []                []          |
287     gpe-login          |          []                            |
288     gpe-ownerinfo      |          []             [] []          |
289     gpe-sketchbook     |          []                            |
290     gpe-timesheet      |          [] []             []          |
291     gpe-today          |          [] []                         |
292     gpe-todo           |          []                []          |
293     gphoto2            |          []             []       []    |
294     gprof              |          []                []          |
295     gpsdrive           |          ()             []    () ()    |
296     grep               | []    [] [] [] [] [] [] [] [] [] []    |
297     gretl              |          []                            |
298     hello              | [] [] [] [] [] [] [] [] [] [] [] [] [] |
299     id-utils           |          []             [] []          |
300     indent             | []    [] []    []       [] [] [] []    |
301     jpilot             |          []                      ()    |
302     jwhois             |          []             [] [] []       |
303     kbd                |          []                            |
304     ld                 |          []                            |
305     libc               |       [] []    []       []       [] [] |
306     libgpewidget       |          [] []             []          |
307     libiconv           |       [] [] [] []    [] [] [] []       |
308     lifelines          |          ()                            |
309     lilypond           |          []                            |
310     lingoteach         |          []                []          |
311     lingoteach_lessons |                                        |
312     lynx               | []                      []    [] []    |
313     m4                 |          []    []          []    []    |
314     mailutils          |                                        |
315     make               |          []    [] [] []          [] [] |
316     man-db             |          []                   () ()    |
317     mysecretdiary      |          []                []          |
318     nano               |          []    []          [] []       |
319     nano_1_0           |          []    []          [] []       |
320     opcodes            |          []                []          |
321     parted             |          []    []                []    |
322     ptx                | []    [] [] [] []       [] []          |
323     python             |                                        |
324     radius             |                                        |
325     recode             |          []    [] []    [] [] []       |
326     screem             |                                        |
327     sed                | []       [] [] []       [] [] [] []    |
328     sh-utils           | []    [] []             []    [] []    |
329     sharutils          | []       []    []       []       []    |
330     sketch             |          []                            |
331     soundtracker       |          []    []    []                |
332     sp                 |          []                      ()    |
333     tar                | []    [] []    []    [] [] [] [] []    |
334     texinfo            |          []       [] []          []    |
335     textutils          |          []    []       []       [] [] |
336     tin                | []       ()                            |
337     util-linux         | []    [] []             []    () []    |
338     vorbis-tools       |          []                            |
339     wastesedge         |          ()                            |
340     wdiff              | []       []    []       [] []          |
341     wget               | []    [] []    [] [] [] []       []    |
342     xchat              | []       []                      []    |
343     xpad               |                                        |
344                        +----------------------------------------+
345                          et fa fi fr ga gl he hr hu id it ja ko
346                          20  1 15 73 14 24  8 10 30 31 19 31  9
347
348                          lg lt lv ms nb nl nn no pl pt pt_BR ro
349                        +----------------------------------------+
350     a2ps               |          []    []    () () ()  []   [] |
351     aegis              |                ()                      |
352     anubis             |          []                         [] |
353     ap-utils           |                         ()             |
354     bash               |                                []      |
355     batchelor          |                                        |
356     bfd                |                                        |
357     binutils           |                                        |
358     bison              |          []    []              []   [] |
359     bluez-pin          |                                     [] |
360     clisp              |                                        |
361     clisp              |                []                      |
362     coreutils          |                         []             |
363     cpio               |                []       []     []      |
364     darkstat           |          []    []              []   [] |
365     diffutils          |          []             []     []      |
366     e2fsprogs          |                                        |
367     enscript           |                []              []      |
368     error              |                []              []      |
369     fetchmail          |                         ()     ()      |
370     fileutils          |                         []             |
371     findutils          |                []       []     []   [] |
372     flex               |                                []      |
373     gas                |                                        |
374     gawk               |                                []      |
375     gcal               |                                        |
376     gcc                |                                        |
377     gettext            |                         []             |
378     gettext-runtime    |                         []             |
379     gettext-tools      |                                        |
380     gimp-print         |                []                      |
381     gliv               |                                []      |
382     glunarclock        |          []                            |
383     gnucash            |                                        |
384     gnucash-glossary   |                []          []          |
385     gnupg              |                                        |
386     gpe-calendar       |                            []       [] |
387     gpe-conf           |                            []       [] |
388     gpe-contacts       |                            []          |
389     gpe-edit           |                            []       [] |
390     gpe-login          |                            []       [] |
391     gpe-ownerinfo      |                            []       [] |
392     gpe-sketchbook     |                            []       [] |
393     gpe-timesheet      |                            []       [] |
394     gpe-today          |                            []       [] |
395     gpe-todo           |                            []       [] |
396     gphoto2            |                                        |
397     gprof              |                                []      |
398     gpsdrive           |                ()    ()        ()      |
399     grep               |                         [] []  []   [] |
400     gretl              |                                        |
401     hello              |       [] [] [] [] [] [] []     []   [] |
402     id-utils           |                []              []   [] |
403     indent             |                []              []   [] |
404     jpilot             |                ()    ()                |
405     jwhois             |                []              []   [] |
406     kbd                |                                        |
407     ld                 |                                        |
408     libc               |             []       [] []     []      |
409     libgpewidget       |                            []       [] |
410     libiconv           |                                []   [] |
411     lifelines          |                                        |
412     lilypond           |                []                      |
413     lingoteach         |                                        |
414     lingoteach_lessons |                                        |
415     lynx               |                []              []      |
416     m4                 |                []       []     []   [] |
417     mailutils          |                                        |
418     make               |                []              []      |
419     man-db             |                                []      |
420     mysecretdiary      |                                []      |
421     nano               |          []    []       []          [] |
422     nano_1_0           |          [] []    []    []             |
423     opcodes            |                []              []   [] |
424     parted             |                   []       []  []      |
425     ptx                |             [] []    [] [] []  []   [] |
426     python             |                                        |
427     radius             |                                        |
428     recode             |                         []     []   [] |
429     screem             |                                        |
430     sed                |                                []   [] |
431     sh-utils           |             []                         |
432     sharutils          |                []                      |
433     sketch             |                                []      |
434     soundtracker       |                                        |
435     sp                 |                                        |
436     tar                |          [] []       [] []     []   [] |
437     texinfo            |                                     [] |
438     textutils          |             []                         |
439     tin                |                                        |
440     util-linux         |                []              []      |
441     vorbis-tools       |                []                   [] |
442     wastesedge         |                                        |
443     wdiff              |          []             []     []   [] |
444     wget               |                []       []          [] |
445     xchat              |       []       []                      |
446     xpad               |                                     [] |
447                        +----------------------------------------+
448                          lg lt lv ms nb nl nn no pl pt pt_BR ro
449                           0  0  2 11  7 26  3  4 18 15  34   34
450
451                          ru sk sl sr sv ta tr uk vi wa zh_CN zh_TW
452                        +-------------------------------------------+
453     a2ps               | []    []    []    [] []                   | 16
454     aegis              | ()                                        |  0
455     anubis             |                   [] []                   |  5
456     ap-utils           |                      ()                   |  1
457     bash               | []                                        |  7
458     batchelor          |                                           |  1
459     bfd                |             []    []           []         |  7
460     binutils           |             []    []           []         |  7
461     bison              | []          []                            | 13
462     bluez-pin          |                                           |  7
463     clisp              |                                           |  0
464     clisp              |                                           |  5
465     coreutils          | []    []    []    []                 []   | 14
466     cpio               | []          []                 []         | 13
467     darkstat           |             []                 ()    ()   |  9
468     diffutils          | []          []    []                 []   | 21
469     e2fsprogs          |                   []                      |  3
470     enscript           | []          []    []                      | 11
471     error              |    []             []                 []   | 14
472     fetchmail          |                   []                      |  7
473     fileutils          | []    []    []    []           []    []   | 15
474     findutils          | [] [] []    []    []           []         | 27
475     flex               | []          []    []                      | 10
476     gas                |                   []                      |  3
477     gawk               |             []    []                      |  9
478     gcal               |             []    []                      |  4
479     gcc                |                   []                      |  4
480     gettext            | [] [] []    []    []                 []   | 15
481     gettext-runtime    | [] [] []    []    []                 []   | 16
482     gettext-tools      |    [] []                                  |  5
483     gimp-print         |    []       []                            | 10
484     gliv               |                                           |  1
485     glunarclock        | []          []             []             | 11
486     gnucash            |    []                                []   |  4
487     gnucash-glossary   |    []       []                       []   |  8
488     gnupg              |    []       []    []                 []   | 16
489     gpe-calendar       |                                      []   |  5
490     gpe-conf           |                                           |  3
491     gpe-contacts       |                                      []   |  4
492     gpe-edit           |                                      []   |  5
493     gpe-login          |                                      []   |  5
494     gpe-ownerinfo      |                                      []   |  7
495     gpe-sketchbook     |                                      []   |  5
496     gpe-timesheet      |                                      []   |  6
497     gpe-today          |                                      []   |  6
498     gpe-todo           |                                      []   |  6
499     gphoto2            |             []                 []         |  9
500     gprof              |             []    []                      |  7
501     gpsdrive           |    []       []                            |  3
502     grep               | []    []          [] []                   | 24
503     gretl              |                                           |  2
504     hello              | [] []       []    [] []                   | 33
505     id-utils           | []          []    []                      | 11
506     indent             | [] []       []    []                      | 19
507     jpilot             |             []    []    []     []    []   | 10
508     jwhois             | ()          ()    []                 []   | 10
509     kbd                |             []    []                      |  8
510     ld                 |             []    []                      |  5
511     libc               |    []       []    []           []         | 20
512     libgpewidget       |                                           |  6
513     libiconv           | [] [] []    []    [] []                   | 21
514     lifelines          |             []                            |  2
515     lilypond           |             []                            |  4
516     lingoteach         |                                           |  2
517     lingoteach_lessons |                                ()         |  0
518     lynx               | []          []    [] []                   | 14
519     m4                 | []          []                 []         | 15
520     mailutils          |                                           |  2
521     make               | []          []    []           []         | 15
522     man-db             |             []                            |  6
523     mysecretdiary      |             []    []                      |  8
524     nano               | []          []       []                   | 15
525     nano_1_0           | []          []       []                   | 15
526     opcodes            |             []    []                      |  9
527     parted             |             []    []                      | 13
528     ptx                | []          []    []                      | 22
529     python             |                                           |  0
530     radius             |                                           |  0
531     recode             | []    []    []    []                      | 19
532     screem             |             []                            |  1
533     sed                |    [] []    []    [] []                   | 20
534     sh-utils           | []    []          []                      | 13
535     sharutils          | []          []    []                 []   | 16
536     sketch             |             []                            |  5
537     soundtracker       |             []                            |  7
538     sp                 |                   []                      |  3
539     tar                |    [] []    []    []           []         | 24
540     texinfo            | []          []    []           []         | 13
541     textutils          | []    []    []    []                 []   | 15
542     tin                |                                           |  1
543     util-linux         |             []    []                      | 14
544     vorbis-tools       | []                                        |  7
545     wastesedge         |                                           |  0
546     wdiff              | [] []       []    []                      | 17
547     wget               | [] [] []    []    [] []              []   | 25
548     xchat              |    [] []    []                            | 11
549     xpad               |                                           |  1
550                        +-------------------------------------------+
551       50 teams           ru sk sl sr sv ta tr uk vi wa zh_CN zh_TW
552       97 domains         32 19 16  0 56  0 48 10  1  1  12    23    913
553
554   Some counters in the preceding matrix are higher than the number of
555visible blocks let us expect.  This is because a few extra PO files are
556used for implementing regional variants of languages, or language
557dialects.
558
559   For a PO file in the matrix above to be effective, the package to
560which it applies should also have been internationalized and
561distributed as such by its maintainer.  There might be an observable
562lag between the mere existence a PO file and its wide availability in a
563distribution.
564
565   If May 2003 seems to be old, you may fetch a more recent copy of
566this `ABOUT-NLS' file on most GNU archive sites.  The most up-to-date
567matrix with full percentage details can be found at
568`http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'.
569
570Using `gettext' in new packages
571===============================
572
573   If you are writing a freely available program and want to
574internationalize it you are welcome to use GNU `gettext' in your
575package.  Of course you have to respect the GNU Library General Public
576License which covers the use of the GNU `gettext' library.  This means
577in particular that even non-free programs can use `libintl' as a shared
578library, whereas only free software can use `libintl' as a static
579library or use modified versions of `libintl'.
580
581   Once the sources are changed appropriately and the setup can handle
582the use of `gettext' the only thing missing are the translations.  The
583Free Translation Project is also available for packages which are not
584developed inside the GNU project.  Therefore the information given above
585applies also for every other Free Software Project.  Contact
586`translation@iro.umontreal.ca' to make the `.pot' files available to
587the translation teams.
588
589