jpayne@68: jpayne@68: jpayne@68: jpayne@68: jpayne@68: jpayne@68: GNU gettext utilities: 17. Concluding Remarks jpayne@68: jpayne@68: jpayne@68: jpayne@68: jpayne@68: jpayne@68: jpayne@68: jpayne@68: jpayne@68: jpayne@68: jpayne@68: jpayne@68: jpayne@68: jpayne@68: jpayne@68: jpayne@68: jpayne@68: jpayne@68: jpayne@68: jpayne@68: jpayne@68: jpayne@68: jpayne@68: jpayne@68: jpayne@68: jpayne@68: jpayne@68:
[ << ][ >> ]           [Top][Contents][Index][ ? ]
jpayne@68: jpayne@68:
jpayne@68: jpayne@68: jpayne@68:

17. Concluding Remarks

jpayne@68: jpayne@68:

We would like to conclude this GNU gettext manual by presenting jpayne@68: an history of the Translation Project so far. We finally give jpayne@68: a few pointers for those who want to do further research or readings jpayne@68: about Native Language Support matters. jpayne@68:

jpayne@68: jpayne@68: jpayne@68: jpayne@68: jpayne@68:

17.1 History of GNU gettext

jpayne@68: jpayne@68:

Internationalization concerns and algorithms have been informally jpayne@68: and casually discussed for years in GNU, sometimes around GNU jpayne@68: libc, maybe around the incoming Hurd, or otherwise jpayne@68: (nobody clearly remembers). And even then, when the work started for jpayne@68: real, this was somewhat independently of these previous discussions. jpayne@68:

jpayne@68:

This all began in July 1994, when Patrick D'Cruze had the idea and jpayne@68: initiative of internationalizing version 3.9.2 of GNU fileutils. jpayne@68: He then asked Jim Meyering, the maintainer, how to get those changes jpayne@68: folded into an official release. That first draft was full of jpayne@68: #ifdefs and somewhat disconcerting, and Jim wanted to find jpayne@68: nicer ways. Patrick and Jim shared some tries and experimentations jpayne@68: in this area. Then, feeling that this might eventually have a deeper jpayne@68: impact on GNU, Jim wanted to know what standards were, and contacted jpayne@68: Richard Stallman, who very quickly and verbally described an overall jpayne@68: design for what was meant to become glocale, at that time. jpayne@68:

jpayne@68:

Jim implemented glocale and got a lot of exhausting feedback jpayne@68: from Patrick and Richard, of course, but also from Mitchum DSouza jpayne@68: (who wrote a catgets-like package), Roland McGrath, maybe David jpayne@68: MacKenzie, François Pinard, and Paul Eggert, all pushing and jpayne@68: pulling in various directions, not always compatible, to the extent jpayne@68: that after a couple of test releases, glocale was torn apart. jpayne@68: In particular, Paul Eggert – always keeping an eye on developments jpayne@68: in Solaris – advocated the use of the gettext API over jpayne@68: glocale's catgets-based API. jpayne@68:

jpayne@68:

While Jim took some distance and time and became dad for a second jpayne@68: time, Roland wanted to get GNU libc internationalized, and jpayne@68: got Ulrich Drepper involved in that project. Instead of starting jpayne@68: from glocale, Ulrich rewrote something from scratch, but jpayne@68: more conforming to the set of guidelines who emerged out of the jpayne@68: glocale effort. Then, Ulrich got people from the previous jpayne@68: forum to involve themselves into this new project, and the switch jpayne@68: from glocale to what was first named msgutils, renamed jpayne@68: nlsutils, and later gettext, became officially accepted jpayne@68: by Richard in May 1995 or so. jpayne@68:

jpayne@68:

Let's summarize by saying that Ulrich Drepper wrote GNU gettext jpayne@68: in April 1995. The first official release of the package, including jpayne@68: PO mode, occurred in July 1995, and was numbered 0.7. Other people jpayne@68: contributed to the effort by providing a discussion forum around jpayne@68: Ulrich, writing little pieces of code, or testing. These are quoted jpayne@68: in the THANKS file which comes with the GNU gettext jpayne@68: distribution. jpayne@68:

jpayne@68:

While this was being done, François adapted half a dozen of jpayne@68: GNU packages to glocale first, then later to gettext, jpayne@68: putting them in pretest, so providing along the way an effective jpayne@68: user environment for fine tuning the evolving tools. He also took jpayne@68: the responsibility of organizing and coordinating the Translation jpayne@68: Project. After nearly a year of informal exchanges between people from jpayne@68: many countries, translator teams started to exist in May 1995, through jpayne@68: the creation and support by Patrick D'Cruze of twenty unmoderated jpayne@68: mailing lists for that many native languages, and two moderated jpayne@68: lists: one for reaching all teams at once, the other for reaching jpayne@68: all willing maintainers of internationalized free software packages. jpayne@68:

jpayne@68:

François also wrote PO mode in June 1995 with the collaboration jpayne@68: of Greg McGary, as a kind of contribution to Ulrich's package. jpayne@68: He also gave a hand with the GNU gettext Texinfo manual. jpayne@68:

jpayne@68:

In 1997, Ulrich Drepper released the GNU libc 2.0, which included the jpayne@68: gettext, textdomain and bindtextdomain functions. jpayne@68:

jpayne@68:

In 2000, Ulrich Drepper added plural form handling (the ngettext jpayne@68: function) to GNU libc. Later, in 2001, he released GNU libc 2.2.x, jpayne@68: which is the first free C library with full internationalization support. jpayne@68:

jpayne@68:

Ulrich being quite busy in his role of General Maintainer of GNU libc, jpayne@68: he handed over the GNU gettext maintenance to Bruno Haible in jpayne@68: 2000. Bruno added the plural form handling to the tools as well, added jpayne@68: support for UTF-8 and CJK locales, and wrote a few new tools for jpayne@68: manipulating PO files. jpayne@68:

jpayne@68: jpayne@68: jpayne@68: jpayne@68: jpayne@68:

17.2 Notes on the Free Translation Project

jpayne@68: jpayne@68:

This section contains the text that was, for a long time, distributed jpayne@68: as a file named ABOUT-NLS. jpayne@68:

jpayne@68:

NOTE: This documentation section is outdated. It it included jpayne@68: here for historical purposes only. jpayne@68:

jpayne@68: jpayne@68:

Free software is going international! The Free Translation Project is jpayne@68: a way to get maintainers of free software, translators, and users all jpayne@68: together, so that free software will gradually become able to speak many jpayne@68: languages. A few packages already provide translations for their messages. jpayne@68:

jpayne@68:

If you found this ‘ABOUT-NLS’ file inside a distribution, you jpayne@68: may assume that the distributed package does use GNU gettext jpayne@68: internally, itself available at your nearest GNU archive site. But you jpayne@68: do not need to install GNU gettext prior to configuring, jpayne@68: installing or using this package with messages translated. jpayne@68:

jpayne@68:

Installers will find here some useful hints. These notes also explain jpayne@68: how users should proceed for getting the programs to use the available jpayne@68: translations. They tell how people wanting to contribute and work jpayne@68: on translations can contact the appropriate team. jpayne@68:

jpayne@68: jpayne@68: jpayne@68: jpayne@68: jpayne@68: jpayne@68:

17.2.1 INSTALL Matters

jpayne@68: jpayne@68:

Some packages are localizable when properly installed; the jpayne@68: programs they contain can be made to speak your own native language. jpayne@68: Most such packages use GNU gettext. Other packages have their jpayne@68: own ways to internationalization, predating GNU gettext. jpayne@68:

jpayne@68:

By default, this package will be installed to allow translation of jpayne@68: messages. It will automatically detect whether the system already jpayne@68: provides the GNU gettext functions. Installers may use special jpayne@68: options at configuration time for changing the default behaviour. The jpayne@68: command: jpayne@68:

jpayne@68:
 
./configure --disable-nls
jpayne@68: 
jpayne@68: jpayne@68:

will totally disable translation of messages. jpayne@68:

jpayne@68:

When you already have GNU gettext installed on your system and jpayne@68: run configure without an option for your new package, configure jpayne@68: will probably detect the previously built and installed ‘libintl’ jpayne@68: library and will decide to use it. If not, you may have to to use the jpayne@68: ‘--with-libintl-prefix’ option to tell configure where to jpayne@68: look for it. jpayne@68:

jpayne@68:

Internationalized packages usually have many ‘po/ll.po’ jpayne@68: files, where ll gives an ISO 639 two-letter code jpayne@68: identifying the language. Unless translations have been forbidden jpayne@68: at configure time by using the ‘--disable-nls’ switch, jpayne@68: all available translations are installed together with the package. jpayne@68: However, the environment variable LINGUAS may be set, prior jpayne@68: to configuration, to limit the installed set. LINGUAS should jpayne@68: then contain a space separated list of two-letter codes, stating jpayne@68: which languages are allowed. jpayne@68:

jpayne@68: jpayne@68: jpayne@68: jpayne@68:

17.2.2 Using This Package

jpayne@68: jpayne@68:

As a user, if your language has been installed for this package, you jpayne@68: only have to set the LANG environment variable to the appropriate jpayne@68: ‘ll_CC’ combination. If you happen to have the LC_ALL jpayne@68: or some other LC_xxx environment variables set, you should unset them jpayne@68: before setting LANG, otherwise the setting of LANG will not jpayne@68: have the desired effect. Here ‘ll’ is an jpayne@68: ISO 639 two-letter language code, and ‘CC’ is an jpayne@68: ISO 3166 two-letter country code. For example, let's suppose that you jpayne@68: speak German and live in Germany. At the shell prompt, merely execute jpayne@68: ‘setenv LANG de_DE’ (in csh), jpayne@68: ‘export LANG; LANG=de_DE’ (in sh) or jpayne@68: ‘export LANG=de_DE’ (in bash). This can be done from your jpayne@68: ‘.login’ or ‘.profile’ file, once and for all. jpayne@68:

jpayne@68:

You might think that the country code specification is redundant. But in jpayne@68: fact, some languages have dialects in different countries. For example, jpayne@68: ‘de_AT’ is used for Austria, and ‘pt_BR’ for Brazil. The country jpayne@68: code serves to distinguish the dialects. jpayne@68:

jpayne@68:

The locale naming convention of ‘ll_CC’, with jpayne@68: ‘ll’ denoting the language and ‘CC’ denoting the jpayne@68: country, is the one use on systems based on GNU libc. On other systems, jpayne@68: some variations of this scheme are used, such as ‘ll’ or jpayne@68: ‘ll_CC.encoding’. You can get the list of jpayne@68: locales supported by your system for your language by running the command jpayne@68: ‘locale -a | grep '^ll'’. jpayne@68:

jpayne@68:

Not all programs have translations for all languages. By default, an jpayne@68: English message is shown in place of a nonexistent translation. If you jpayne@68: understand other languages, you can set up a priority list of languages. jpayne@68: This is done through a different environment variable, called jpayne@68: LANGUAGE. GNU gettext gives preference to LANGUAGE jpayne@68: over LANG for the purpose of message handling, but you still jpayne@68: need to have LANG set to the primary language; this is required jpayne@68: by other parts of the system libraries. jpayne@68: For example, some Swedish users who would rather read translations in jpayne@68: German than English for when Swedish is not available, set LANGUAGE jpayne@68: to ‘sv:de’ while leaving LANG to ‘sv_SE’. jpayne@68:

jpayne@68:

Special advice for Norwegian users: The language code for Norwegian jpayne@68: bokmål changed from ‘no’ to ‘nb’ recently (in 2003). jpayne@68: During the transition period, while some message catalogs for this language jpayne@68: are installed under ‘nb’ and some older ones under ‘no’, it's jpayne@68: recommended for Norwegian users to set LANGUAGE to ‘nb:no’ so that jpayne@68: both newer and older translations are used. jpayne@68:

jpayne@68:

In the LANGUAGE environment variable, but not in the LANG jpayne@68: environment variable, ‘ll_CC’ combinations can be jpayne@68: abbreviated as ‘ll’ to denote the language's main dialect. jpayne@68: For example, ‘de’ is equivalent to ‘de_DE’ (German as spoken in jpayne@68: Germany), and ‘pt’ to ‘pt_PT’ (Portuguese as spoken in Portugal) jpayne@68: in this context. jpayne@68:

jpayne@68: jpayne@68: jpayne@68: jpayne@68: jpayne@68:

17.2.3 Translating Teams

jpayne@68: jpayne@68:

For the Free Translation Project to be a success, we need interested jpayne@68: people who like their own language and write it well, and who are also jpayne@68: able to synergize with other translators speaking the same language. jpayne@68: Each translation team has its own mailing list. The up-to-date list jpayne@68: of teams can be found at the Free Translation Project's homepage, jpayne@68: ‘https://translationproject.org/’, in the "Teams" area. jpayne@68:

jpayne@68:

If you'd like to volunteer to work at translating messages, you jpayne@68: should become a member of the translating team for your own language. jpayne@68: The subscribing address is not the same as the list itself, it jpayne@68: has ‘-request’ appended. For example, speakers of Swedish can send jpayne@68: a message to ‘sv-request@li.org’, having this message body: jpayne@68:

jpayne@68:
 
subscribe
jpayne@68: 
jpayne@68: jpayne@68:

Keep in mind that team members are expected to participate jpayne@68: actively in translations, or at solving translational jpayne@68: difficulties, rather than merely lurking around. If your team does not jpayne@68: exist yet and you want to start one, or if you are unsure about what to jpayne@68: do or how to get started, please write to jpayne@68: ‘coordinator@translationproject.org’ to reach the jpayne@68: coordinator for all translator teams. jpayne@68:

jpayne@68:

The English team is special. It works at improving and uniformizing jpayne@68: the terminology in use. Proven linguistic skills are praised jpayne@68: more than programming skills, here. jpayne@68:

jpayne@68: jpayne@68: jpayne@68: jpayne@68:

17.2.4 Available Packages

jpayne@68: jpayne@68:

Languages are not equally supported in all packages. The following jpayne@68: matrix shows the current state of internationalization, as of jpayne@68: June 2023. The matrix shows, in regard of each package, for which jpayne@68: languages PO files have been submitted to translation coordination, jpayne@68: with a translation percentage of at least 50%. jpayne@68:

jpayne@68:
 
Ready PO files       ab af an ar ast be bg bn bn_IN ca ckb crh cs da 
jpayne@68:                    +--------------------------------------------------+
jpayne@68: a2ps               |                                           []     |
jpayne@68: anubis             |                                              []  |
jpayne@68: aspell             |             []                 []         [] []  |
jpayne@68: bash               |                    []          []         []     |
jpayne@68: beebase            |                                                  |
jpayne@68: bfd                |                                                  |
jpayne@68: binutils           |                                                  |
jpayne@68: bison              |                    []                            |
jpayne@68: bison-runtime      |             []     []          []            []  |
jpayne@68: buzztrax           |                                           [] []  |
jpayne@68: ccd2cue            |                                              []  |
jpayne@68: ccide              |                                              []  |
jpayne@68: cflow              |                                                  |
jpayne@68: clisp              |                                              []  |
jpayne@68: coreutils          |                    []          []         [] []  |
jpayne@68: cpio               |                                              []  |
jpayne@68: cppi               |                                              []  |
jpayne@68: cpplib             |                                []            []  |
jpayne@68: cryptsetup         |                                           [] []  |
jpayne@68: datamash           |                                              []  |
jpayne@68: denemo             |                                []         [] []  |
jpayne@68: dfarc              |                                []            []  |
jpayne@68: dialog             |       []    []                 []         [] []  |
jpayne@68: dico               |                                              []  |
jpayne@68: diffutils          |                    []                     [] []  |
jpayne@68: dink               |                                []            []  |
jpayne@68: direvent           |                                              []  |
jpayne@68: doodle             |                                           [] []  |
jpayne@68: dos2unix           |                                []            []  |
jpayne@68: dos2unix-man       |                                                  |
jpayne@68: e2fsprogs          |                                []         [] []  |
jpayne@68: enscript           |                                []            []  |
jpayne@68: exif               |             []                            [] []  |
jpayne@68: fetchmail          |                                []         [] []  |
jpayne@68: findutils          |                 [] []                     [] []  |
jpayne@68: flex               |                    []          []            []  |
jpayne@68: freedink           |                                []         [] []  |
jpayne@68: fusionforge        |                                                  |
jpayne@68: gas                |                                                  |
jpayne@68: gawk               |                    []          []                |
jpayne@68: gcal               |                                []            []  |
jpayne@68: gcc                |                                                  |
jpayne@68: gdbm               |                                              []  |
jpayne@68: gettext-examples   |    []       []     []          []         [] []  |
jpayne@68: gettext-runtime    |             []     []          []         [] []  |
jpayne@68: gettext-tools      |                    []          []            []  |
jpayne@68: gnubik             |          []                                  []  |
jpayne@68: gnuchess           |                                              []  |
jpayne@68: gnucobol           |                                                  |
jpayne@68: gnulib             |                    []                     [] []  |
jpayne@68: gnunet             |                                                  |
jpayne@68: gnunet-gtk         |                                                  |
jpayne@68: gnutls             |                                           []     |
jpayne@68: gold               |                                                  |
jpayne@68: gphoto2            |                                           [] []  |
jpayne@68: gprof              |                    []                        []  |
jpayne@68: grep               |                 [] []          []         [] []  |
jpayne@68: grip               |                 [] []          []            []  |
jpayne@68: grub               |             []                 []            []  |
jpayne@68: gsasl              |                                              []  |
jpayne@68: gss                |                                              []  |
jpayne@68: gst-plugins-bad    |             []     []                     [] []  |
jpayne@68: gst-plugins-base   |                    []          []         [] []  |
jpayne@68: gst-plugins-good   |                    []          []         [] []  |
jpayne@68: gst-plugins-ugly   |             []     []          []         [] []  |
jpayne@68: gstreamer          |             []     []          []         [] []  |
jpayne@68: gtick              |                                           [] []  |
jpayne@68: gtkam              |                 []                        [] []  |
jpayne@68: gtkspell           |    []       []  []             []         [] []  |
jpayne@68: gutenprint         |                                []            []  |
jpayne@68: hello              |                                           []     |
jpayne@68: help2man           |                                              []  |
jpayne@68: help2man-texi      |                                                  |
jpayne@68: idutils            |                                              []  |
jpayne@68: kbd                |                                           []     |
jpayne@68: klavaro            |          []        [] []       []         [] []  |
jpayne@68: ld                 |                                                  |
jpayne@68: libc               |                    []          []         [] []  |
jpayne@68: libexif            |                                              []  |
jpayne@68: libextractor       |                                              []  |
jpayne@68: libgphoto2         |                                           [] []  |
jpayne@68: libgphoto2_port    |                                           [] []  |
jpayne@68: libiconv           |                 [] []                     [] []  |
jpayne@68: libidn             |                                           [] []  |
jpayne@68: libidn2            |                                           [] []  |
jpayne@68: lilypond           |                                []         [] []  |
jpayne@68: lordsawar          |                                []            []  |
jpayne@68: lynx               |                                []         [] []  |
jpayne@68: m4                 |                    []                            |
jpayne@68: mailfromd          |                                              []  |
jpayne@68: mailutils          |                                                  |
jpayne@68: make               |                    []                     [] []  |
jpayne@68: man-db             |             []                 []         [] []  |
jpayne@68: man-db-manpages    |                                                  |
jpayne@68: meritous           |                                              []  |
jpayne@68: midi-instruments   |          []                    []         [] []  |
jpayne@68: minicom            |                                           [] []  |
jpayne@68: mpop               |                                                  |
jpayne@68: msmtp              |                                                  |
jpayne@68: nano               |                                []         [] []  |
jpayne@68: opcodes            |                                                  |
jpayne@68: parted             |                                           [] []  |
jpayne@68: pies               |                                                  |
jpayne@68: pnmixer            |                                              []  |
jpayne@68: procps-ng          |                                                  |
jpayne@68: procps-ng-man      |                                                  |
jpayne@68: psmisc             |                                           [] []  |
jpayne@68: psmisc-man         |                                                  |
jpayne@68: pspp               |          []                    []                |
jpayne@68: pyspread           |                                              []  |
jpayne@68: radius             |                                []                |
jpayne@68: recode             |                 []             []         [] []  |
jpayne@68: recutils           |                                                  |
jpayne@68: rush               |                                              []  |
jpayne@68: sarg               |                                              []  |
jpayne@68: savane             |                                                  |
jpayne@68: sed                |             []  [] []          []         [] []  |
jpayne@68: sharutils          |                                           []     |
jpayne@68: shepherd           |                                                  |
jpayne@68: shishi             |                                                  |
jpayne@68: skribilo           |                                              []  |
jpayne@68: solfege            |                                []         [] []  |
jpayne@68: solfege-manual     |                                []                |
jpayne@68: spotmachine        |                                              []  |
jpayne@68: sudo               |             []                 []         [] []  |
jpayne@68: sudoers            |                                []         []     |
jpayne@68: sysstat            |                 []                           []  |
jpayne@68: tar                |                    []          []         [] []  |
jpayne@68: texinfo            |                                []         [] []  |
jpayne@68: texinfo_document   |                                []         []     |
jpayne@68: tigervnc           |                    []                     []     |
jpayne@68: tin                |                                              []  |
jpayne@68: tin-man            |                                                  |
jpayne@68: trader             |                                              []  |
jpayne@68: util-linux         |                                           [] []  |
jpayne@68: util-linux-man     |                                                  |
jpayne@68: ve                 |                                                  |
jpayne@68: vmm                |                                                  |
jpayne@68: vorbis-tools       |                                           [] []  |
jpayne@68: wastesedge         |                                              []  |
jpayne@68: wcd                |                                              []  |
jpayne@68: wcd-man            |                                                  |
jpayne@68: wdiff              |                                []         [] []  |
jpayne@68: wget               |                 []                        []     |
jpayne@68: wget2              |                                                  |
jpayne@68: wyslij-po          |                                              []  |
jpayne@68: xboard             |                                              []  |
jpayne@68: xdg-user-dirs      | [] [] [] [] []  [] []     []   [] []  []  [] []  |
jpayne@68: xkeyboard-config   |          []        []          []         [] []  |
jpayne@68: xz                 |                                []         []     |
jpayne@68: xz-man             |                                                  |
jpayne@68:                    +--------------------------------------------------+
jpayne@68:                      ab af an ar ast be bg bn bn_IN ca ckb crh cs da 
jpayne@68:                       1  3  2  6 15  11 30  1   1   52  1   1  64 100
jpayne@68: 
jpayne@68:                      de  el en en_GB eo es  et eu fa fi fr  fur ga gd
jpayne@68:                    +--------------------------------------------------+
jpayne@68: a2ps               | []  []             []                            |
jpayne@68: anubis             | []                 []           [] []            |
jpayne@68: aspell             | []         []   [] []           [] []  []  []    |
jpayne@68: bash               | []              [] []              []      []    |
jpayne@68: beebase            | []                 []              []            |
jpayne@68: bfd                |                                    []            |
jpayne@68: binutils           |                                    []            |
jpayne@68: bison              | []  []          [] []  []       [] []            |
jpayne@68: bison-runtime      | []  []          [] []  []       [] []      []    |
jpayne@68: buzztrax           | []                 []           [] []            |
jpayne@68: ccd2cue            | []              [] []              []            |
jpayne@68: ccide              | []              [] []           [] []  []        |
jpayne@68: cflow              | []              []                 []            |
jpayne@68: clisp              | []     []          []              []            |
jpayne@68: coreutils          | []                 []  []          []            |
jpayne@68: cpio               | []                 []           [] []      []    |
jpayne@68: cppi               | []              [] []           [] []            |
jpayne@68: cpplib             | []              [] []           [] []            |
jpayne@68: cryptsetup         | []                 []              []            |
jpayne@68: datamash           | []              [] []              []            |
jpayne@68: denemo             |                                                  |
jpayne@68: dfarc              | []              [] []           [] []  []        |
jpayne@68: dialog             | []  []          [] []     [] [] [] []  []  [] [] |
jpayne@68: dico               | []                 []           [] []            |
jpayne@68: diffutils          | []  []          [] []           [] []            |
jpayne@68: dink               | []              [] []           [] []            |
jpayne@68: direvent           | []              [] []              []            |
jpayne@68: doodle             | []              [] []           [] []      []    |
jpayne@68: dos2unix           | []              [] []              []  []        |
jpayne@68: dos2unix-man       | []                 []              []            |
jpayne@68: e2fsprogs          | []                 []              []            |
jpayne@68: enscript           | []         []   [] []           [] []      []    |
jpayne@68: exif               | []              [] []           [] []  []        |
jpayne@68: fetchmail          | ()  []     []   [] []              []            |
jpayne@68: findutils          | []  []          [] []  []       [] []            |
jpayne@68: flex               | []              [] []           [] []      []    |
jpayne@68: freedink           | []  []          [] []     []    [] []  []        |
jpayne@68: fusionforge        | []                 []              []            |
jpayne@68: gas                |                    []           [] []            |
jpayne@68: gawk               | []                 []           [] []            |
jpayne@68: gcal               | []                 []              []            |
jpayne@68: gcc                | []                                 []            |
jpayne@68: gdbm               | []              [] []              []            |
jpayne@68: gettext-examples   | []  []          [] []           [] []      []    |
jpayne@68: gettext-runtime    | []              [] []           [] []      []    |
jpayne@68: gettext-tools      | []                 []           [] []            |
jpayne@68: gnubik             | []              [] []           [] []  []        |
jpayne@68: gnuchess           | []              [] []              []            |
jpayne@68: gnucobol           |                                    []            |
jpayne@68: gnulib             | []              [] []  []       [] []            |
jpayne@68: gnunet             |                    []                            |
jpayne@68: gnunet-gtk         | []                 []                            |
jpayne@68: gnutls             | []              [] []           [] []            |
jpayne@68: gold               |                    []           [] []            |
jpayne@68: gphoto2            | ()              []                 []            |
jpayne@68: gprof              | []              [] []           [] []      []    |
jpayne@68: grep               | []              [] []  []       [] []      []    |
jpayne@68: grip               | []                 []           [] []  []        |
jpayne@68: grub               | []                 []           [] []            |
jpayne@68: gsasl              | []              [] []           [] []      []    |
jpayne@68: gss                | []              [] []           [] []      []    |
jpayne@68: gst-plugins-bad    | []              [] []              []  []        |
jpayne@68: gst-plugins-base   | []  []          [] []           [] []  []        |
jpayne@68: gst-plugins-good   | []  []          [] []           [] []  []        |
jpayne@68: gst-plugins-ugly   | []  []          [] []     []    [] []  []        |
jpayne@68: gstreamer          | []  []          [] []     []    [] []  []        |
jpayne@68: gtick              | ()              [] []           [] []      []    |
jpayne@68: gtkam              | ()              [] []           [] []            |
jpayne@68: gtkspell           | []  []          [] []     []    [] []  []  []    |
jpayne@68: gutenprint         | []                 []              []            |
jpayne@68: hello              | []                     []    [] []               |
jpayne@68: help2man           | []  []          [] []           [] []            |
jpayne@68: help2man-texi      | []                 []              []            |
jpayne@68: idutils            | []              [] []           [] []      []    |
jpayne@68: kbd                | []  []          [] []              []            |
jpayne@68: klavaro            | []  []          [] []     []       []            |
jpayne@68: ld                 |                    []              []            |
jpayne@68: libc               | []                 []           [] []            |
jpayne@68: libexif            | []                 []              []            |
jpayne@68: libextractor       | []                 []              []            |
jpayne@68: libgphoto2         | ()                 []              []            |
jpayne@68: libgphoto2_port    | ()                 []     []    [] []  []        |
jpayne@68: libiconv           | []              [] []  []       [] []      []    |
jpayne@68: libidn             | []              [] []           [] []            |
jpayne@68: libidn2            | []              [] []              []  []        |
jpayne@68: lilypond           | []              [] []              []            |
jpayne@68: lordsawar          | []                                 []            |
jpayne@68: lynx               | []              []     []       [] []            |
jpayne@68: m4                 | []              [] []                            |
jpayne@68: mailfromd          |                                    []            |
jpayne@68: mailutils          | []                 []           [] []            |
jpayne@68: make               | []                 []           [] []      []    |
jpayne@68: man-db             | []              [] []              []            |
jpayne@68: man-db-manpages    | []                 []              []            |
jpayne@68: meritous           |                 []                               |
jpayne@68: midi-instruments   | []  []          [] []  []    [] [] []            |
jpayne@68: minicom            | []                 []           [] []            |
jpayne@68: mpop               | []              [] []              []            |
jpayne@68: msmtp              | []              []                 []            |
jpayne@68: nano               | []              [] []           [] []      []    |
jpayne@68: opcodes            | []                 []              []            |
jpayne@68: parted             | []                 []              []  []        |
jpayne@68: pies               | []                 []              []            |
jpayne@68: pnmixer            | []                                 []            |
jpayne@68: procps-ng          | []                 []              []            |
jpayne@68: procps-ng-man      |                                    []            |
jpayne@68: psmisc             | []  []          [] []           [] []            |
jpayne@68: psmisc-man         | []                                 []            |
jpayne@68: pspp               | []  []             []              []            |
jpayne@68: pyspread           | []                                 []            |
jpayne@68: radius             |                    []              []            |
jpayne@68: recode             | []              [] []           [] []      []    |
jpayne@68: recutils           | []                              [] []            |
jpayne@68: rush               | []                              [] []            |
jpayne@68: sarg               | []                 []              []            |
jpayne@68: savane             |                    []              []            |
jpayne@68: sed                | []  []          [] []  []       [] []      []    |
jpayne@68: sharutils          | []              []     []          []            |
jpayne@68: shepherd           | []                                               |
jpayne@68: shishi             | []                              [] []            |
jpayne@68: skribilo           |                 [] []              []  []        |
jpayne@68: solfege            | []              [] []  []    [] [] []            |
jpayne@68: solfege-manual     | []              [] []  []          []            |
jpayne@68: spotmachine        | []              []              [] []            |
jpayne@68: sudo               | []              [] []           [] []  []        |
jpayne@68: sudoers            | []              []              [] []            |
jpayne@68: sysstat            | []              []              [] []  []        |
jpayne@68: tar                | []              [] []  []       [] []      []    |
jpayne@68: texinfo            | []              [] []              []            |
jpayne@68: texinfo_document   | []              [] []           [] []            |
jpayne@68: tigervnc           | []                 []           [] []  []        |
jpayne@68: tin                | []                     []          []            |
jpayne@68: tin-man            | []         []                                    |
jpayne@68: trader             | []         []   []              [] []            |
jpayne@68: util-linux         | []                 []              []            |
jpayne@68: util-linux-man     | []                                 []            |
jpayne@68: ve                 | []              [] []           [] []  []        |
jpayne@68: vmm                |                                                  |
jpayne@68: vorbis-tools       | []              [] []              []            |
jpayne@68: wastesedge         |                                    []            |
jpayne@68: wcd                | []              [] []           [] []  []        |
jpayne@68: wcd-man            | []                                 []            |
jpayne@68: wdiff              | []              [] []  []       [] []      []    |
jpayne@68: wget               | []              [] []  []       [] []      []    |
jpayne@68: wget2              | []                 []              []            |
jpayne@68: wyslij-po          | []              [] []           [] []            |
jpayne@68: xboard             | []                 []              []            |
jpayne@68: xdg-user-dirs      | []  []          [] []  [] [] [] [] []  []  [] [] |
jpayne@68: xkeyboard-config   | []              [] []           [] []  []        |
jpayne@68: xz                 | []              [] []           [] []            |
jpayne@68: xz-man             | []                                 []            |
jpayne@68:                    +--------------------------------------------------+
jpayne@68:                      de  el en en_GB eo es  et eu fa fi fr  fur ga gd
jpayne@68:                      130 22  1   5   83 119 19  8  5 78 141 26  26  2
jpayne@68: 
jpayne@68:                      gl gu he hi hr hu hy id is it ja ka kk kn ko ku
jpayne@68:                    +-------------------------------------------------+
jpayne@68: a2ps               |             []                []                |
jpayne@68: anubis             |             [] []    []    []                   |
jpayne@68: aspell             |             []       []    [] []                |
jpayne@68: bash               |             [] []    []       []          []    |
jpayne@68: beebase            |                            ()                   |
jpayne@68: bfd                |                                                 |
jpayne@68: binutils           |                                                 |
jpayne@68: bison              |                               []                |
jpayne@68: bison-runtime      | []          [] []    []    [] [] []             |
jpayne@68: buzztrax           |                                                 |
jpayne@68: ccd2cue            |                []                               |
jpayne@68: ccide              |             [] []                []             |
jpayne@68: cflow              |                                                 |
jpayne@68: clisp              |                                                 |
jpayne@68: coreutils          |             [] []             []          []    |
jpayne@68: cpio               |             [] []    []    [] []          []    |
jpayne@68: cppi               | []          [] []          [] [] []             |
jpayne@68: cpplib             |                      []       []                |
jpayne@68: cryptsetup         |                            [] []                |
jpayne@68: datamash           |                                                 |
jpayne@68: denemo             |                                                 |
jpayne@68: dfarc              |             [] []          []                   |
jpayne@68: dialog             | []          [] []    [] [] [] [] []          [] |
jpayne@68: dico               |                                                 |
jpayne@68: diffutils          |             [] []    []    [] [] []       []    |
jpayne@68: dink               |                []                               |
jpayne@68: direvent           |                []                               |
jpayne@68: doodle             |                            []                   |
jpayne@68: dos2unix           |                []             [] []       []    |
jpayne@68: dos2unix-man       |                                           []    |
jpayne@68: e2fsprogs          |                []                               |
jpayne@68: enscript           |             []       []                         |
jpayne@68: exif               | []          [] []    [] [] [] [] []       []    |
jpayne@68: fetchmail          |                      []    [] []                |
jpayne@68: findutils          |             [] []    []    []    []       []    |
jpayne@68: flex               |                                                 |
jpayne@68: freedink           |             [] []    []    []                   |
jpayne@68: fusionforge        |                                                 |
jpayne@68: gas                |                      []                         |
jpayne@68: gawk               |                      []    ()             []    |
jpayne@68: gcal               |                                                 |
jpayne@68: gcc                |                                                 |
jpayne@68: gdbm               |                                                 |
jpayne@68: gettext-examples   | []          [] []    []    [] [] []             |
jpayne@68: gettext-runtime    | []          [] []          [] []          []    |
jpayne@68: gettext-tools      |             []       []    [] []          []    |
jpayne@68: gnubik             | []          []             []                   |
jpayne@68: gnuchess           | []                                              |
jpayne@68: gnucobol           |                                                 |
jpayne@68: gnulib             |                []          [] [] []             |
jpayne@68: gnunet             |                                                 |
jpayne@68: gnunet-gtk         |                                                 |
jpayne@68: gnutls             |                            []    []             |
jpayne@68: gold               |                                                 |
jpayne@68: gphoto2            |                []    []    [] []          []    |
jpayne@68: gprof              |                []    []    []    []             |
jpayne@68: grep               | []          [] []    []    [] [] []       []    |
jpayne@68: grip               |                []          [] []          []    |
jpayne@68: grub               | []          [] []          []    []       []    |
jpayne@68: gsasl              |                []    []    []    []             |
jpayne@68: gss                |             [] []    []    []    []             |
jpayne@68: gst-plugins-bad    |             [] []    []    []    []             |
jpayne@68: gst-plugins-base   | []          [] []    []    []    []             |
jpayne@68: gst-plugins-good   | []          [] []    []    [] [] []             |
jpayne@68: gst-plugins-ugly   | []          [] []    []    [] [] []             |
jpayne@68: gstreamer          | []          [] []    []    []                   |
jpayne@68: gtick              | []             []    []    []                   |
jpayne@68: gtkam              |       []       []    [] [] [] []                |
jpayne@68: gtkspell           | []    []    [] [] [] [] [] [] [] []             |
jpayne@68: gutenprint         | []          [] []          []    []             |
jpayne@68: hello              |             []                   []             |
jpayne@68: help2man           |             []             [] []          []    |
jpayne@68: help2man-texi      |                                                 |
jpayne@68: idutils            |                []    []          []             |
jpayne@68: kbd                |                                                 |
jpayne@68: klavaro            | []          [] []    []    []       []          |
jpayne@68: ld                 |                                                 |
jpayne@68: libc               | []          []       []    [] []          []    |
jpayne@68: libexif            |                            []                   |
jpayne@68: libextractor       |                                                 |
jpayne@68: libgphoto2         |                                                 |
jpayne@68: libgphoto2_port    |                            [] [] []             |
jpayne@68: libiconv           | []          [] []    []    [] [] []       []    |
jpayne@68: libidn             |             [] []    []    []             []    |
jpayne@68: libidn2            |                []    []          []       []    |
jpayne@68: lilypond           |                            [] []                |
jpayne@68: lordsawar          |                               []                |
jpayne@68: lynx               |                []    []    [] []                |
jpayne@68: m4                 |                                  []       []    |
jpayne@68: mailfromd          |                                                 |
jpayne@68: mailutils          |                                                 |
jpayne@68: make               |             []       []    [] []          []    |
jpayne@68: man-db             |                      []       []          []    |
jpayne@68: man-db-manpages    |                      []                   []    |
jpayne@68: meritous           |                                                 |
jpayne@68: midi-instruments   | []    []    [] [] [] [] [] [] [] []       [] [] |
jpayne@68: minicom            |                []    []       [] []       []    |
jpayne@68: mpop               |                                                 |
jpayne@68: msmtp              |                                                 |
jpayne@68: nano               | []          [] []    []    [] []          []    |
jpayne@68: opcodes            |                                                 |
jpayne@68: parted             |                []    []    [] [] []       []    |
jpayne@68: pies               |                                                 |
jpayne@68: pnmixer            |             []             []                   |
jpayne@68: procps-ng          |                                           []    |
jpayne@68: procps-ng-man      |                                                 |
jpayne@68: psmisc             |             [] []    []    []    []       []    |
jpayne@68: psmisc-man         |             []                            []    |
jpayne@68: pspp               |                []             []                |
jpayne@68: pyspread           |                                                 |
jpayne@68: radius             |                      []                         |
jpayne@68: recode             | []    []    [] []    []    []                   |
jpayne@68: recutils           |                                                 |
jpayne@68: rush               |                                                 |
jpayne@68: sarg               |                                                 |
jpayne@68: savane             |       []                                        |
jpayne@68: sed                | []          [] []    []    [] [] []       []    |
jpayne@68: sharutils          |                                                 |
jpayne@68: shepherd           |                                                 |
jpayne@68: shishi             |                                                 |
jpayne@68: skribilo           |                []                               |
jpayne@68: solfege            | []                         []                   |
jpayne@68: solfege-manual     |                                                 |
jpayne@68: spotmachine        |                                                 |
jpayne@68: sudo               | []          [] []          [] [] []       []    |
jpayne@68: sudoers            |             []             [] []          []    |
jpayne@68: sysstat            |             []       []    []    []       []    |
jpayne@68: tar                |             [] []    []    [] []          []    |
jpayne@68: texinfo            |             []       []    []                   |
jpayne@68: texinfo_document   |             [] []          []                   |
jpayne@68: tigervnc           |       []             []          []       []    |
jpayne@68: tin                |                                                 |
jpayne@68: tin-man            |                                                 |
jpayne@68: trader             |             [] []                               |
jpayne@68: util-linux         |             []                []          []    |
jpayne@68: util-linux-man     |                                                 |
jpayne@68: ve                 |                         [] []                   |
jpayne@68: vmm                |                                                 |
jpayne@68: vorbis-tools       |             []       []          []             |
jpayne@68: wastesedge         |                            []                   |
jpayne@68: wcd                |                                                 |
jpayne@68: wcd-man            |                                                 |
jpayne@68: wdiff              | []             []          []                   |
jpayne@68: wget               |             [] []    []    [] []          []    |
jpayne@68: wget2              |             []                []                |
jpayne@68: wyslij-po          | []          [] []    []                         |
jpayne@68: xboard             |                                                 |
jpayne@68: xdg-user-dirs      | [] [] [] [] [] []    [] [] [] [] [] [] [] [] [] |
jpayne@68: xkeyboard-config   | []    []    [] []    []    []    []       []    |
jpayne@68: xz                 |             [] []          []             []    |
jpayne@68: xz-man             |                                           []    |
jpayne@68:                    +-------------------------------------------------+
jpayne@68:                      gl gu he hi hr hu hy id is it ja ka kk kn ko ku
jpayne@68:                      30  1  8  1 59 62  2 57  7 67 48 39  2  1 43  3
jpayne@68: 
jpayne@68:                      ky lg lt lv mk ml mn mr ms mt nb ne nl nn or pa
jpayne@68:                    +-------------------------------------------------+
jpayne@68: a2ps               |                         []    []    []          |
jpayne@68: anubis             |                         []    []    []          |
jpayne@68: aspell             |                   []                []          |
jpayne@68: bash               |                               []    []          |
jpayne@68: beebase            |                                     []          |
jpayne@68: bfd                |                                                 |
jpayne@68: binutils           |                                                 |
jpayne@68: bison              |                         []                      |
jpayne@68: bison-runtime      | []    [] []             []    []    []          |
jpayne@68: buzztrax           |                                                 |
jpayne@68: ccd2cue            |                                                 |
jpayne@68: ccide              |          []                         []          |
jpayne@68: cflow              |                                                 |
jpayne@68: clisp              |                                     []          |
jpayne@68: coreutils          |                               []    []          |
jpayne@68: cpio               |                                     []          |
jpayne@68: cppi               |                                                 |
jpayne@68: cpplib             |                                     []          |
jpayne@68: cryptsetup         |                                                 |
jpayne@68: datamash           |                               []    []          |
jpayne@68: denemo             |                                     []          |
jpayne@68: dfarc              |             []                      []          |
jpayne@68: dialog             |       [] []             []    []    []          |
jpayne@68: dico               |                                                 |
jpayne@68: diffutils          |          []             []    []    []          |
jpayne@68: dink               |                                     []          |
jpayne@68: direvent           |                                     []          |
jpayne@68: doodle             |                                     []          |
jpayne@68: dos2unix           |                               []    []          |
jpayne@68: dos2unix-man       |                                     []          |
jpayne@68: e2fsprogs          |                                     []          |
jpayne@68: enscript           |                                     []          |
jpayne@68: exif               |          []             []          []          |
jpayne@68: fetchmail          |                                     []          |
jpayne@68: findutils          |                               []    []          |
jpayne@68: flex               |                                     []          |
jpayne@68: freedink           |                               []    []          |
jpayne@68: fusionforge        |                                                 |
jpayne@68: gas                |                                                 |
jpayne@68: gawk               |                                     []          |
jpayne@68: gcal               |                                                 |
jpayne@68: gcc                |                                                 |
jpayne@68: gdbm               |                                                 |
jpayne@68: gettext-examples   | []       []             [] [] []    [] []       |
jpayne@68: gettext-runtime    |                               []    [] []       |
jpayne@68: gettext-tools      |                                                 |
jpayne@68: gnubik             |                               []    []          |
jpayne@68: gnuchess           |                               []    []          |
jpayne@68: gnucobol           |                                                 |
jpayne@68: gnulib             |                                     []          |
jpayne@68: gnunet             |                                                 |
jpayne@68: gnunet-gtk         |                                                 |
jpayne@68: gnutls             |                         []          []          |
jpayne@68: gold               |                                                 |
jpayne@68: gphoto2            |                                     []          |
jpayne@68: gprof              |                         []          []          |
jpayne@68: grep               |                               []    []          |
jpayne@68: grip               |                               []    []          |
jpayne@68: grub               |       []                      []    []          |
jpayne@68: gsasl              |                                     []          |
jpayne@68: gss                |                                                 |
jpayne@68: gst-plugins-bad    |          []                   []    []          |
jpayne@68: gst-plugins-base   |          []                   []    []          |
jpayne@68: gst-plugins-good   |          []                   []    []          |
jpayne@68: gst-plugins-ugly   |          []             [] [] []    []          |
jpayne@68: gstreamer          |       []                      []    []          |
jpayne@68: gtick              |                               []    []          |
jpayne@68: gtkam              |                               []    []       [] |
jpayne@68: gtkspell           | []    [] []       []    []    []    []          |
jpayne@68: gutenprint         |                                     []          |
jpayne@68: hello              |                               []    []          |
jpayne@68: help2man           |                               []                |
jpayne@68: help2man-texi      |                                                 |
jpayne@68: idutils            |                               []    []          |
jpayne@68: kbd                |                                                 |
jpayne@68: klavaro            |                               []    []       [] |
jpayne@68: ld                 |                                                 |
jpayne@68: libc               |                                     []          |
jpayne@68: libexif            |                                     []          |
jpayne@68: libextractor       |                                     []          |
jpayne@68: libgphoto2         |                                     []          |
jpayne@68: libgphoto2_port    |                                     []          |
jpayne@68: libiconv           |       []                            []          |
jpayne@68: libidn             |                                     []          |
jpayne@68: libidn2            |                                     []          |
jpayne@68: lilypond           |                                     []          |
jpayne@68: lordsawar          |                                                 |
jpayne@68: lynx               |                                     []          |
jpayne@68: m4                 |                                     []          |
jpayne@68: mailfromd          |                                                 |
jpayne@68: mailutils          |                                                 |
jpayne@68: make               |                                     []          |
jpayne@68: man-db             |                                     []          |
jpayne@68: man-db-manpages    |                                                 |
jpayne@68: meritous           |                                                 |
jpayne@68: midi-instruments   |       []          []    []       [] []          |
jpayne@68: minicom            |                               []                |
jpayne@68: mpop               |                                                 |
jpayne@68: msmtp              |                                                 |
jpayne@68: nano               |                         []    []    []          |
jpayne@68: opcodes            |                                                 |
jpayne@68: parted             |                                     []          |
jpayne@68: pies               |                                                 |
jpayne@68: pnmixer            |                                     []          |
jpayne@68: procps-ng          |                                                 |
jpayne@68: procps-ng-man      |                                                 |
jpayne@68: psmisc             |                                     []          |
jpayne@68: psmisc-man         |                                                 |
jpayne@68: pspp               |                                     []          |
jpayne@68: pyspread           |                                        []       |
jpayne@68: radius             |                                     []          |
jpayne@68: recode             |                               []    []          |
jpayne@68: recutils           |                                     []          |
jpayne@68: rush               |                                     []          |
jpayne@68: sarg               |                                                 |
jpayne@68: savane             |                                                 |
jpayne@68: sed                |                               []    []          |
jpayne@68: sharutils          |                                     []          |
jpayne@68: shepherd           |                                                 |
jpayne@68: shishi             |                                                 |
jpayne@68: skribilo           |                                                 |
jpayne@68: solfege            |                               []    []          |
jpayne@68: solfege-manual     |                                     []          |
jpayne@68: spotmachine        |                                     []          |
jpayne@68: sudo               |                               []    []          |
jpayne@68: sudoers            |                               []                |
jpayne@68: sysstat            |                               []    []          |
jpayne@68: tar                | []                            []    []          |
jpayne@68: texinfo            |                               []    []          |
jpayne@68: texinfo_document   |                                     []          |
jpayne@68: tigervnc           |                                                 |
jpayne@68: tin                |                                                 |
jpayne@68: tin-man            |                                                 |
jpayne@68: trader             |                               []                |
jpayne@68: util-linux         |                                     []          |
jpayne@68: util-linux-man     |                                                 |
jpayne@68: ve                 |                                     []          |
jpayne@68: vmm                |                                                 |
jpayne@68: vorbis-tools       |                                     []          |
jpayne@68: wastesedge         |                                     []          |
jpayne@68: wcd                |                                     []          |
jpayne@68: wcd-man            |                                     []          |
jpayne@68: wdiff              |                         []    []    []          |
jpayne@68: wget               |                               []    []          |
jpayne@68: wget2              |                                                 |
jpayne@68: wyslij-po          |                                     [] []       |
jpayne@68: xboard             |                                     []          |
jpayne@68: xdg-user-dirs      | [] [] [] [] [] []    []       []    [] [] [] [] |
jpayne@68: xkeyboard-config   |       []                            []          |
jpayne@68: xz                 |                                                 |
jpayne@68: xz-man             |                                                 |
jpayne@68:                    +-------------------------------------------------+
jpayne@68:                      ky lg lt lv mk ml mn mr ms mt nb ne nl nn or pa
jpayne@68:                       5  1  9 12  2  1  3  1 15  2 44  1 98  5  1  3
jpayne@68: 
jpayne@68:                      pl pt pt_BR ro  ru rw sk sl sq sr  sv  sw ta te
jpayne@68:                    +-------------------------------------------------+
jpayne@68: a2ps               | []          []  []             []  []           |
jpayne@68: anubis             | [] []       []  []             []  []           |
jpayne@68: aspell             | [] []  []   []  []    [] [] [] []  []           |
jpayne@68: bash               | [] []  []   []                 []  []           |
jpayne@68: beebase            |                                []               |
jpayne@68: bfd                |    []       []  []             []               |
jpayne@68: binutils           |    []       []  []             []  []           |
jpayne@68: bison              | [] []  []                      []  []           |
jpayne@68: bison-runtime      | [] []  []   []  []       [] [] []  []     []    |
jpayne@68: buzztrax           |        []                      []  []           |
jpayne@68: ccd2cue            |        []   []                 []  []           |
jpayne@68: ccide              | []          []  []             []  []           |
jpayne@68: cflow              | []     []   []                 []  []           |
jpayne@68: clisp              |                 []             []  []           |
jpayne@68: coreutils          | [] []  []   []  []       []    []  []           |
jpayne@68: cpio               | [] []  []   []  []             []  []           |
jpayne@68: cppi               | []     []   []                 []  []           |
jpayne@68: cpplib             |        []   []  []             []  []           |
jpayne@68: cryptsetup         | []     []   []  []             []  []           |
jpayne@68: datamash           |        []   []                 []  []           |
jpayne@68: denemo             |                                                 |
jpayne@68: dfarc              | []     []   []                 []  []           |
jpayne@68: dialog             | [] []  []   []  []    [] [] [] []  []  []       |
jpayne@68: dico               | []     []                      []  []           |
jpayne@68: diffutils          | [] []  []   []  []             []  []           |
jpayne@68: dink               |                                    []           |
jpayne@68: direvent           | []     []   []                 []  []           |
jpayne@68: doodle             |        []   []              [] []  []           |
jpayne@68: dos2unix           | []     []   []  []             []  []           |
jpayne@68: dos2unix-man       | []     []   []                 []  []           |
jpayne@68: e2fsprogs          | [] []                          []  []           |
jpayne@68: enscript           | []     []   []  []       []    []  []           |
jpayne@68: exif               | [] []  []   []  []    []       []  []           |
jpayne@68: fetchmail          | []          []  []          [] []  []           |
jpayne@68: findutils          | [] []  []   []  []       []    []  []           |
jpayne@68: flex               | [] []  []   []  []             []  []           |
jpayne@68: freedink           | []     []   []  []       []    []  []           |
jpayne@68: fusionforge        |                                                 |
jpayne@68: gas                |                 []                 []           |
jpayne@68: gawk               | [] []  []   []                 []  []           |
jpayne@68: gcal               |                                []  []           |
jpayne@68: gcc                |                 []                 []           |
jpayne@68: gdbm               | []     []   []  []             []  []           |
jpayne@68: gettext-examples   | [] []  []   []  []    [] [] [] []  []     []    |
jpayne@68: gettext-runtime    | [] []  []   []  []    [] []    []  []           |
jpayne@68: gettext-tools      | [] []  []   []  []    [] []    []  []           |
jpayne@68: gnubik             | []     []   []           []    []  []           |
jpayne@68: gnuchess           |        []   []                 []  []           |
jpayne@68: gnucobol           |                                []               |
jpayne@68: gnulib             | [] []  []   []  []       []    []  []           |
jpayne@68: gnunet             |                                []               |
jpayne@68: gnunet-gtk         |                                []               |
jpayne@68: gnutls             | []     []   []                 []  []           |
jpayne@68: gold               |             []                 []               |
jpayne@68: gphoto2            | []     []   []  []             []  []           |
jpayne@68: gprof              |        []   []  []             []  []           |
jpayne@68: grep               | [] []  []   []  []    [] []    []  []     []    |
jpayne@68: grip               | []     []   []  []             []               |
jpayne@68: grub               | [] []  []   []  []       []    []  []           |
jpayne@68: gsasl              | []     []   []        []       []  []           |
jpayne@68: gss                | []     []   []        []       []  []           |
jpayne@68: gst-plugins-bad    | []     []   []  []    []       []  []           |
jpayne@68: gst-plugins-base   | []     []   []  []    [] []    []  []           |
jpayne@68: gst-plugins-good   | []     []   []  []    [] []    []  []           |
jpayne@68: gst-plugins-ugly   | []     []   []  []    [] [] [] []  []     []    |
jpayne@68: gstreamer          | []     []   []  []    [] []    []  []           |
jpayne@68: gtick              | []     []   []  []    []       []  []           |
jpayne@68: gtkam              | []     []   []  []    []       []  []           |
jpayne@68: gtkspell           | [] []  []   []  []    [] [] [] []  []     []    |
jpayne@68: gutenprint         |                 []    [] []        []           |
jpayne@68: hello              | []          []  []    []       []  []     []    |
jpayne@68: help2man           | []     []   []  []             []  []           |
jpayne@68: help2man-texi      | []     []   []                 []  []           |
jpayne@68: idutils            | []     []   []  []             []  []           |
jpayne@68: kbd                | [] []  []   []  []             []  []           |
jpayne@68: klavaro            | [] []  []   []  []       []    []  []           |
jpayne@68: ld                 |        []       []             []               |
jpayne@68: libc               | [] []  []   []  []    []       []  []           |
jpayne@68: libexif            | []                    []       []  []           |
jpayne@68: libextractor       | []     []   []                 []               |
jpayne@68: libgphoto2         | []                                 []           |
jpayne@68: libgphoto2_port    | []     []   []  []    []       []  []           |
jpayne@68: libiconv           | []     []   []  []    [] []    []  []           |
jpayne@68: libidn             | []     []   []                 []  []           |
jpayne@68: libidn2            | []     []   []  []             []  []           |
jpayne@68: lilypond           |                                    []           |
jpayne@68: lordsawar          |                 []                 []           |
jpayne@68: lynx               |        []       []                 []           |
jpayne@68: m4                 |        []   []                 []  []           |
jpayne@68: mailfromd          | []     []                      []               |
jpayne@68: mailutils          | []     []   []                 []               |
jpayne@68: make               | [] []  []   []  []             []  []           |
jpayne@68: man-db             | [] []  []   []  []             []  []           |
jpayne@68: man-db-manpages    | [] []  []   []  []             []  []           |
jpayne@68: meritous           |        []                      []  []           |
jpayne@68: midi-instruments   | [] []  []   []  []    [] []    []  []           |
jpayne@68: minicom            | []     []   []  []             []  []           |
jpayne@68: mpop               |        []       []             []  []           |
jpayne@68: msmtp              |        []       []             []  []           |
jpayne@68: nano               | [] []  []   []  []    []    [] []  []           |
jpayne@68: opcodes            |        []   []                 []  []           |
jpayne@68: parted             | []     []   []  []    [] []    []  []           |
jpayne@68: pies               | []     []                      []               |
jpayne@68: pnmixer            |        []   []  ()             []  []           |
jpayne@68: procps-ng          | []     []   []                     []           |
jpayne@68: procps-ng-man      |             []                     []           |
jpayne@68: psmisc             | [] []  []   []  []             []  []           |
jpayne@68: psmisc-man         |        []   []  []             []  []           |
jpayne@68: pspp               |                 []                              |
jpayne@68: pyspread           |        []                      []               |
jpayne@68: radius             | []              []             []               |
jpayne@68: recode             | [] []  []   []  []    [] []    []  []           |
jpayne@68: recutils           |        []                      []  []           |
jpayne@68: rush               | []     []                      []  []           |
jpayne@68: sarg               |        []       []             []               |
jpayne@68: savane             |        []       ()                              |
jpayne@68: sed                | [] []  []   []  []    [] []    []  []           |
jpayne@68: sharutils          | []     []   []                 []  []           |
jpayne@68: shepherd           |             []                 []  []           |
jpayne@68: shishi             | []                             []  []           |
jpayne@68: skribilo           |        []                      []  []           |
jpayne@68: solfege            | []     []       []    []           []           |
jpayne@68: solfege-manual     | []     []                                       |
jpayne@68: spotmachine        |        []   []                 []  []           |
jpayne@68: sudo               | [] []  []   []  []             []  []           |
jpayne@68: sudoers            | [] []  []   []  []             []  []           |
jpayne@68: sysstat            | [] []  []   []  []    []       []  []           |
jpayne@68: tar                | [] []  []   []  []       []    []  []           |
jpayne@68: texinfo            | [] []  []   []  []    []       []  []           |
jpayne@68: texinfo_document   | [] []  []   []        []       []  []           |
jpayne@68: tigervnc           |             []  []             []  []           |
jpayne@68: tin                |                 []                              |
jpayne@68: tin-man            |                                                 |
jpayne@68: trader             |        []       []             []  []           |
jpayne@68: util-linux         | [] []  []                      []  []           |
jpayne@68: util-linux-man     |                                []               |
jpayne@68: ve                 | []     []   []                 []  []           |
jpayne@68: vmm                |                                []               |
jpayne@68: vorbis-tools       | []          []           []    []  []           |
jpayne@68: wastesedge         |        []                          []           |
jpayne@68: wcd                |        []   []                 []  []           |
jpayne@68: wcd-man            |        []   []                 []  []           |
jpayne@68: wdiff              | []     []   []  []       []    []  []           |
jpayne@68: wget               | [] []  []   []  []    []       []  []           |
jpayne@68: wget2              | []          []  []             []  []           |
jpayne@68: wyslij-po          | []     []   []                 []  []           |
jpayne@68: xboard             | []              []             []  []           |
jpayne@68: xdg-user-dirs      | [] []  []   []  []    [] [] [] []  []     [] [] |
jpayne@68: xkeyboard-config   | [] []  []   []  []          [] []  []           |
jpayne@68: xz                 | [] []  []   []                 []  []           |
jpayne@68: xz-man             |        []   []                                  |
jpayne@68:                    +-------------------------------------------------+
jpayne@68:                      pl pt pt_BR ro  ru rw sk sl sq sr  sv  sw ta te
jpayne@68:                      99 45  113  105 87  0 34 30 11 131 126  1  7  1
jpayne@68: 
jpayne@68:                      tg th tr uk  ur vi wa wo zh_CN zh_HK zh_TW
jpayne@68:                    +--------------------------------------------+
jpayne@68: a2ps               |          []                                | 15
jpayne@68: anubis             |       [] []     []                         | 21
jpayne@68: aspell             |          []     [] []     []               | 32
jpayne@68: bash               |       [] []     []        []          []   | 26
jpayne@68: beebase            |          []                                |  6
jpayne@68: bfd                |          []                                |  6
jpayne@68: binutils           |          []                                |  7
jpayne@68: bison              |          []                           []   | 17
jpayne@68: bison-runtime      |    [] [] []     []        []          []   | 41
jpayne@68: buzztrax           |                 []        []               | 11
jpayne@68: ccd2cue            |    []    []     []        []               | 14
jpayne@68: ccide              |          []     []        []               | 20
jpayne@68: cflow              |          []                                |  9
jpayne@68: clisp              |                                            | 12
jpayne@68: coreutils          |       [] []     []        []          []   | 27
jpayne@68: cpio               |       [] []     []        []               | 24
jpayne@68: cppi               |          []     []        []               | 20
jpayne@68: cpplib             |       [] []     []        []          []   | 20
jpayne@68: cryptsetup         |          []                                | 14
jpayne@68: datamash           |          []                                | 12
jpayne@68: denemo             |                           []    []    []   |  7
jpayne@68: dfarc              |                 []                         | 19
jpayne@68: dialog             |    [] [] []     [] []     []          []   | 48
jpayne@68: dico               |          []                                | 10
jpayne@68: diffutils          |       [] []     []        []          []   | 32
jpayne@68: dink               |       []                                   | 11
jpayne@68: direvent           |          []     []                         | 14
jpayne@68: doodle             |          []     []        []               | 18
jpayne@68: dos2unix           |          []     []        []          []   | 23
jpayne@68: dos2unix-man       |          []               []               | 12
jpayne@68: e2fsprogs          |          []     []        []               | 15
jpayne@68: enscript           |       [] []     []                         | 22
jpayne@68: exif               |       [] []     []        []               | 33
jpayne@68: fetchmail          |       []        []        []               | 21
jpayne@68: findutils          |       [] []     []        []               | 31
jpayne@68: flex               |       [] []     []        []          []   | 22
jpayne@68: freedink           |    []           []                         | 26
jpayne@68: fusionforge        |                                            |  3
jpayne@68: gas                |          []                                |  7
jpayne@68: gawk               |       []        []        []               | 18
jpayne@68: gcal               |       []                  []               |  9
jpayne@68: gcc                |                                            |  4
jpayne@68: gdbm               |          []     []                         | 13
jpayne@68: gettext-examples   |       [] []     []        []    []    []   | 44
jpayne@68: gettext-runtime    |       [] []     []        []          []   | 34
jpayne@68: gettext-tools      |       [] []     []        []          []   | 26
jpayne@68: gnubik             |          []     []        []               | 22
jpayne@68: gnuchess           |          []     []        []               | 15
jpayne@68: gnucobol           |                                            |  2
jpayne@68: gnulib             |          []     []        []          []   | 26
jpayne@68: gnunet             |                                            |  2
jpayne@68: gnunet-gtk         |                                            |  3
jpayne@68: gnutls             |          []     []        []               | 18
jpayne@68: gold               |          []                                |  6
jpayne@68: gphoto2            |          []     []        []          []   | 20
jpayne@68: gprof              |       [] []     []                         | 22
jpayne@68: grep               |    [] [] []     []        []          []   | 38
jpayne@68: grip               |          []     []        []    []    []   | 25
jpayne@68: grub               |       [] []     []        []               | 28
jpayne@68: gsasl              |          []     []        []               | 21
jpayne@68: gss                |                 []        []               | 20
jpayne@68: gst-plugins-bad    |       [] []     []        []          []   | 29
jpayne@68: gst-plugins-base   |       [] []     []        []               | 32
jpayne@68: gst-plugins-good   |       [] []     []        []          []   | 34
jpayne@68: gst-plugins-ugly   |       [] []     []        []          []   | 40
jpayne@68: gstreamer          |       [] []     []        []          []   | 34
jpayne@68: gtick              |          []     []        []               | 23
jpayne@68: gtkam              |          []     []        []               | 26
jpayne@68: gtkspell           |    [] [] []     [] []     []    []    []   | 51
jpayne@68: gutenprint         |       [] []               []               | 18
jpayne@68: hello              |          []               []               | 18
jpayne@68: help2man           |          []     []        []               | 21
jpayne@68: help2man-texi      |          []                                |  9
jpayne@68: idutils            |          []     []        []               | 21
jpayne@68: kbd                |          []               []               | 15
jpayne@68: klavaro            |       [] []  [] []    []  []               | 35
jpayne@68: ld                 |          []                                |  6
jpayne@68: libc               |       [] []     []        []          []   | 28
jpayne@68: libexif            |          []     []                         | 12
jpayne@68: libextractor       |          []     []                         | 11
jpayne@68: libgphoto2         |          []     []                         |  9
jpayne@68: libgphoto2_port    |          []     []        []          []   | 22
jpayne@68: libiconv           |          []     [] []     []          []   | 34
jpayne@68: libidn             |          []     []        []               | 21
jpayne@68: libidn2            |          []               []               | 20
jpayne@68: lilypond           |                           []               | 12
jpayne@68: lordsawar          |       []                                   |  8
jpayne@68: lynx               |       [] []     []                         | 19
jpayne@68: m4                 |          []               []               | 13
jpayne@68: mailfromd          |          []     []                         |  7
jpayne@68: mailutils          |          []     []                         | 10
jpayne@68: make               |          []     []        []          []   | 25
jpayne@68: man-db             |       []        []        []          []   | 23
jpayne@68: man-db-manpages    |       []                  []               | 14
jpayne@68: meritous           |                                            |  5
jpayne@68: midi-instruments   |    [] [] []     []        []          []   | 44
jpayne@68: minicom            |                 []                    []   | 20
jpayne@68: mpop               |          []                                |  9
jpayne@68: msmtp              |          []                                |  8
jpayne@68: nano               |       [] []     []        []          []   | 33
jpayne@68: opcodes            |          []                                |  8
jpayne@68: parted             |       [] []     []        []          []   | 26
jpayne@68: pies               |          []     []                         |  8
jpayne@68: pnmixer            |          []     []        ()               | 14
jpayne@68: procps-ng          |          []     []                         | 10
jpayne@68: procps-ng-man      |          []                                |  4
jpayne@68: psmisc             |          []     []        []          []   | 26
jpayne@68: psmisc-man         |          []                                | 10
jpayne@68: pspp               |          []               []               | 12
jpayne@68: pyspread           |          []                                |  7
jpayne@68: radius             |          []     []                         | 10
jpayne@68: recode             |       [] []     []        []               | 31
jpayne@68: recutils           |          []     []                         |  9
jpayne@68: rush               |          []     []        []               | 12
jpayne@68: sarg               |                                            |  7
jpayne@68: savane             |                                            |  4
jpayne@68: sed                |       [] []     []        []          []   | 38
jpayne@68: sharutils          |          []     []        []               | 14
jpayne@68: shepherd           |          []                                |  5
jpayne@68: shishi             |                 []        []               |  8
jpayne@68: skribilo           |          []                                | 10
jpayne@68: solfege            |       []        []        []               | 22
jpayne@68: solfege-manual     |       []                                   | 10
jpayne@68: spotmachine        |          []     []                         | 12
jpayne@68: sudo               |       [] []     []        []          []   | 31
jpayne@68: sudoers            |          []               []          []   | 21
jpayne@68: sysstat            |       [] []     []        []               | 26
jpayne@68: tar                |       [] []     []        []          []   | 33
jpayne@68: texinfo            |       [] []     []                         | 23
jpayne@68: texinfo_document   |          []                                | 19
jpayne@68: tigervnc           |          []                           []   | 17
jpayne@68: tin                |       []                  []          []   |  8
jpayne@68: tin-man            |                                            |  2
jpayne@68: trader             |                                            | 13
jpayne@68: util-linux         |       [] []     []        []               | 18
jpayne@68: util-linux-man     |          []                                |  4
jpayne@68: ve                 |          []     []        []               | 17
jpayne@68: vmm                |          []                                |  2
jpayne@68: vorbis-tools       |                 []                         | 16
jpayne@68: wastesedge         |       []                                   |  7
jpayne@68: wcd                |          []     []        []               | 15
jpayne@68: wcd-man            |          []                                |  8
jpayne@68: wdiff              |          []     []        []          []   | 27
jpayne@68: wget               |       [] []     []        []          []   | 30
jpayne@68: wget2              |          []                                | 11
jpayne@68: wyslij-po          |          []     []        []               | 20
jpayne@68: xboard             |       [] []               []               | 12
jpayne@68: xdg-user-dirs      |    [] [] []     [] []     []    []    []   | 72
jpayne@68: xkeyboard-config   |       [] []               []               | 32
jpayne@68: xz                 |       [] []     []        []          []   | 22
jpayne@68: xz-man             |          []                                |  6
jpayne@68:                    +--------------------------------------------+
jpayne@68:   85 teams           tg th tr uk  ur vi wa wo zh_CN zh_HK zh_TW
jpayne@68:  151 domains          0  8 54 120  1 93  5  1  87     5    42    2792
jpayne@68: 
jpayne@68: jpayne@68:

Some counters in the preceding matrix are higher than the number of visible jpayne@68: blocks let us expect. This is because a few extra PO files are used for jpayne@68: implementing regional variants of languages, or language dialects. jpayne@68:

jpayne@68:

For a PO file in the matrix above to be effective, the package to which jpayne@68: it applies should also have been internationalized and distributed as jpayne@68: such by its maintainer. There might be an observable lag between the jpayne@68: mere existence a PO file and its wide availability in a distribution. jpayne@68:

jpayne@68:

If June 2023 seems to be old, you may fetch a more recent copy jpayne@68: of this ‘ABOUT-NLS’ file on most GNU archive sites. The most jpayne@68: up-to-date matrix with full percentage details can be found at jpayne@68: ‘https://translationproject.org/extra/matrix.html’. jpayne@68:

jpayne@68: jpayne@68: jpayne@68: jpayne@68: jpayne@68:

17.2.5 Using gettext in new packages

jpayne@68: jpayne@68:

If you are writing a freely available program and want to internationalize jpayne@68: it you are welcome to use GNU ‘gettext’ in your package. Of course jpayne@68: you have to respect the GNU Lesser General Public License which covers jpayne@68: the use of the GNU ‘gettext’ library. This means in particular that jpayne@68: even non-free programs can use libintl as a shared library, whereas jpayne@68: only free software can use libintl as a static library or use jpayne@68: modified versions of libintl. jpayne@68:

jpayne@68:

Once the sources are changed appropriately and the setup can handle the jpayne@68: use of gettext the only thing missing are the translations. The jpayne@68: Free Translation Project is also available for packages which are not jpayne@68: developed inside the GNU project. Therefore the information given above jpayne@68: applies also for every other Free Software Project. Contact jpayne@68: ‘coordinator@translationproject.org’ to make the ‘.pot’ files jpayne@68: available to the translation teams. jpayne@68:

jpayne@68: jpayne@68: jpayne@68: jpayne@68:

17.3 Related Readings

jpayne@68: jpayne@68:

NOTE: This documentation section is outdated and needs to be jpayne@68: revised. jpayne@68:

jpayne@68:

Eugene H. Dorr (‘dorre@well.com’) maintains an interesting jpayne@68: bibliography on internationalization matters, called jpayne@68: Internationalization Reference List, which is available as: jpayne@68:

 
ftp://ftp.ora.com/pub/examples/nutshell/ujip/doc/i18n-books.txt
jpayne@68: 
jpayne@68: jpayne@68:

Michael Gschwind (‘mike@vlsivie.tuwien.ac.at’) maintains a jpayne@68: Frequently Asked Questions (FAQ) list, entitled Programming for jpayne@68: Internationalisation. This FAQ discusses writing programs which jpayne@68: can handle different language conventions, character sets, etc.; jpayne@68: and is applicable to all character set encodings, with particular jpayne@68: emphasis on ISO 8859-1. It is regularly published in Usenet jpayne@68: groups ‘comp.unix.questions’, ‘comp.std.internat’, jpayne@68: ‘comp.software.international’, ‘comp.lang.c’, jpayne@68: ‘comp.windows.x’, ‘comp.std.c’, ‘comp.answers’ jpayne@68: and ‘news.answers’. The home location of this document is: jpayne@68:

 
ftp://ftp.vlsivie.tuwien.ac.at/pub/8bit/ISO-programming
jpayne@68: 
jpayne@68: jpayne@68:

Patrick D'Cruze (‘pdcruze@li.org’) wrote a tutorial about NLS jpayne@68: matters, and Jochen Hein (‘Hein@student.tu-clausthal.de’) took jpayne@68: over the responsibility of maintaining it. It may be found as: jpayne@68:

 
ftp://sunsite.unc.edu/pub/Linux/utils/nls/catalogs/Incoming/...
jpayne@68:      ...locale-tutorial-0.8.txt.gz
jpayne@68: 
jpayne@68:

This site is mirrored in: jpayne@68:

 
ftp://ftp.ibp.fr/pub/linux/sunsite/
jpayne@68: 
jpayne@68: jpayne@68:

A French version of the same tutorial should be findable at: jpayne@68:

 
ftp://ftp.ibp.fr/pub/linux/french/docs/
jpayne@68: 
jpayne@68:

together with French translations of many Linux-related documents. jpayne@68:

jpayne@68: jpayne@68: jpayne@68: jpayne@68: jpayne@68: jpayne@68: jpayne@68: jpayne@68: jpayne@68: jpayne@68: jpayne@68: jpayne@68: jpayne@68: jpayne@68:
[ << ][ >> ]           [Top][Contents][Index][ ? ]
jpayne@68:

jpayne@68: jpayne@68: This document was generated by Bruno Haible on February, 21 2024 using texi2html 1.78a. jpayne@68: jpayne@68:
jpayne@68: jpayne@68:

jpayne@68: jpayne@68: