| Notes on the Free Translation Project | 
 | ************************************* | 
 |  | 
 |    Free software is going international!  The Free Translation Project | 
 | is a way to get maintainers of free software, translators, and users all | 
 | together, so that will gradually become able to speak many languages. | 
 | A few packages already provide translations for their messages. | 
 |  | 
 |    If you found this `ABOUT-NLS' file inside a distribution, you may | 
 | assume that the distributed package does use GNU `gettext' internally, | 
 | itself available at your nearest GNU archive site.  But you do _not_ | 
 | need to install GNU `gettext' prior to configuring, installing or using | 
 | this package with messages translated. | 
 |  | 
 |    Installers will find here some useful hints.  These notes also | 
 | explain how users should proceed for getting the programs to use the | 
 | available translations.  They tell how people wanting to contribute and | 
 | work at translations should contact the appropriate team. | 
 |  | 
 |    When reporting bugs in the `intl/' directory or bugs which may be | 
 | related to internationalization, you should tell about the version of | 
 | `gettext' which is used.  The information can be found in the | 
 | `intl/VERSION' file, in internationalized packages. | 
 |  | 
 | Quick configuration advice | 
 | ========================== | 
 |  | 
 |    If you want to exploit the full power of internationalization, you | 
 | should configure it using | 
 |  | 
 |      ./configure --with-included-gettext | 
 |  | 
 | to force usage of internationalizing routines provided within this | 
 | package, despite the existence of internationalizing capabilities in the | 
 | operating system where this package is being installed.  So far, only | 
 | the `gettext' implementation in the GNU C library version 2 provides as | 
 | many features (such as locale alias, message inheritance, automatic | 
 | charset conversion or plural form handling) as the implementation here. | 
 | It is also not possible to offer this additional functionality on top | 
 | of a `catgets' implementation.  Future versions of GNU `gettext' will | 
 | very likely convey even more functionality.  So it might be a good idea | 
 | to change to GNU `gettext' as soon as possible. | 
 |  | 
 |    So you need _not_ provide this option if you are using GNU libc 2 or | 
 | you have installed a recent copy of the GNU gettext package with the | 
 | included `libintl'. | 
 |  | 
 | INSTALL Matters | 
 | =============== | 
 |  | 
 |    Some packages are "localizable" when properly installed; the | 
 | programs they contain can be made to speak your own native language. | 
 | Most such packages use GNU `gettext'.  Other packages have their own | 
 | ways to internationalization, predating GNU `gettext'. | 
 |  | 
 |    By default, this package will be installed to allow translation of | 
 | messages.  It will automatically detect whether the system already | 
 | provides the GNU `gettext' functions.  If not, the GNU `gettext' own | 
 | library will be used.  This library is wholly contained within this | 
 | package, usually in the `intl/' subdirectory, so prior installation of | 
 | the GNU `gettext' package is _not_ required.  Installers may use | 
 | special options at configuration time for changing the default | 
 | behaviour.  The commands: | 
 |  | 
 |      ./configure --with-included-gettext | 
 |      ./configure --disable-nls | 
 |  | 
 | will respectively bypass any pre-existing `gettext' to use the | 
 | internationalizing routines provided within this package, or else, | 
 | _totally_ disable translation of messages. | 
 |  | 
 |    When you already have GNU `gettext' installed on your system and run | 
 | configure without an option for your new package, `configure' will | 
 | probably detect the previously built and installed `libintl.a' file and | 
 | will decide to use this.  This might be not what is desirable.  You | 
 | should use the more recent version of the GNU `gettext' library.  I.e. | 
 | if the file `intl/VERSION' shows that the library which comes with this | 
 | package is more recent, you should use | 
 |  | 
 |      ./configure --with-included-gettext | 
 |  | 
 | to prevent auto-detection. | 
 |  | 
 |    The configuration process will not test for the `catgets' function | 
 | and therefore it will not be used.  The reason is that even an | 
 | emulation of `gettext' on top of `catgets' could not provide all the | 
 | extensions of the GNU `gettext' library. | 
 |  | 
 |    Internationalized packages have usually many `po/LL.po' files, where | 
 | LL gives an ISO 639 two-letter code identifying the language.  Unless | 
 | translations have been forbidden at `configure' time by using the | 
 | `--disable-nls' switch, all available translations are installed | 
 | together with the package.  However, the environment variable `LINGUAS' | 
 | may be set, prior to configuration, to limit the installed set. | 
 | `LINGUAS' should then contain a space separated list of two-letter | 
 | codes, stating which languages are allowed. | 
 |  | 
 | Using This Package | 
 | ================== | 
 |  | 
 |    As a user, if your language has been installed for this package, you | 
 | only have to set the `LANG' environment variable to the appropriate | 
 | `LL_CC' combination.  Here `LL' is an ISO 639 two-letter language code, | 
 | and `CC' is an ISO 3166 two-letter country code.  For example, let's | 
 | suppose that you speak German and live in Germany.  At the shell | 
 | prompt, merely execute `setenv LANG de_DE' (in `csh'), | 
 | `export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash'). | 
 | This can be done from your `.login' or `.profile' file, once and for | 
 | all. | 
 |  | 
 |    You might think that the country code specification is redundant. | 
 | But in fact, some languages have dialects in different countries.  For | 
 | example, `de_AT' is used for Austria, and `pt_BR' for Brazil.  The | 
 | country code serves to distinguish the dialects. | 
 |  | 
 |    The locale naming convention of `LL_CC', with `LL' denoting the | 
 | language and `CC' denoting the country, is the one use on systems based | 
 | on GNU libc.  On other systems, some variations of this scheme are | 
 | used, such as `LL' or `LL_CC.ENCODING'.  You can get the list of | 
 | locales supported by your system for your country by running the command | 
 | `locale -a | grep '^LL''. | 
 |  | 
 |    Not all programs have translations for all languages.  By default, an | 
 | English message is shown in place of a nonexistent translation.  If you | 
 | understand other languages, you can set up a priority list of languages. | 
 | This is done through a different environment variable, called | 
 | `LANGUAGE'.  GNU `gettext' gives preference to `LANGUAGE' over `LANG' | 
 | for the purpose of message handling, but you still need to have `LANG' | 
 | set to the primary language; this is required by other parts of the | 
 | system libraries.  For example, some Swedish users who would rather | 
 | read translations in German than English for when Swedish is not | 
 | available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'. | 
 |  | 
 |    In the `LANGUAGE' environment variable, but not in the `LANG' | 
 | environment variable, `LL_CC' combinations can be abbreviated as `LL' | 
 | to denote the language's main dialect.  For example, `de' is equivalent | 
 | to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT' | 
 | (Portuguese as spoken in Portugal) in this context. | 
 |  | 
 | Translating Teams | 
 | ================= | 
 |  | 
 |    For the Free Translation Project to be a success, we need interested | 
 | people who like their own language and write it well, and who are also | 
 | able to synergize with other translators speaking the same language. | 
 | Each translation team has its own mailing list.  The up-to-date list of | 
 | teams can be found at the Free Translation Project's homepage, | 
 | `http://www.iro.umontreal.ca/contrib/po/HTML/', in the "National teams" | 
 | area. | 
 |  | 
 |    If you'd like to volunteer to _work_ at translating messages, you | 
 | should become a member of the translating team for your own language. | 
 | The subscribing address is _not_ the same as the list itself, it has | 
 | `-request' appended.  For example, speakers of Swedish can send a | 
 | message to `sv-request@li.org', having this message body: | 
 |  | 
 |      subscribe | 
 |  | 
 |    Keep in mind that team members are expected to participate | 
 | _actively_ in translations, or at solving translational difficulties, | 
 | rather than merely lurking around.  If your team does not exist yet and | 
 | you want to start one, or if you are unsure about what to do or how to | 
 | get started, please write to `translation@iro.umontreal.ca' to reach the | 
 | coordinator for all translator teams. | 
 |  | 
 |    The English team is special.  It works at improving and uniformizing | 
 | the terminology in use.  Proven linguistic skill are praised more than | 
 | programming skill, here. | 
 |  | 
 | Available Packages | 
 | ================== | 
 |  | 
 |    Languages are not equally supported in all packages.  The following | 
 | matrix shows the current state of internationalization, as of August | 
 | 2002.  The matrix shows, in regard of each package, for which languages | 
 | PO files have been submitted to translation coordination, with a | 
 | translation percentage of at least 50%. | 
 |  | 
 |      Ready PO files    be bg ca cs da de el en eo es et fi fr | 
 |                      +----------------------------------------+ | 
 |      a2ps            |             [] []             []    [] | | 
 |      ap-utils        |                                        | | 
 |      bash            |                []       [] []       [] | | 
 |      bfd             |                            []       [] | | 
 |      binutils        |                            []       [] | | 
 |      bison           |                []          [] []    [] | | 
 |      clisp           |                                        | | 
 |      clisp           |                []    []    []       [] | | 
 |      clisplow        |                                        | | 
 |      cpio            |             [] []          []       [] | | 
 |      darkstat        |             ()                         | | 
 |      diffutils       |          [] [] []       [] []       [] | | 
 |      enscript        |                []                   [] | | 
 |      error           |                []          []       [] | | 
 |      fetchmail       |       [] () [] []          []       () | | 
 |      fileutils       |             [] []          [] []    [] | | 
 |      findutils       |             [] []       [] [] []    [] | | 
 |      flex            |       []    [] []          []       [] | | 
 |      gas             |                            []       [] | | 
 |      gawk            |                []          []       [] | | 
 |      gcal            |       []                            [] | | 
 |      gcc             |                            []       [] | | 
 |      gettext         |       []    [] []          []       [] | | 
 |      gnupg           |       []       [] []    [] [] []    [] | | 
 |      gprof           |                            []       [] | | 
 |      gpsdrive        |             () ()    ()    ()       () | | 
 |      grep            |    [] []       [] []       [] [] [] [] | | 
 |      gretl           |                            []          | | 
 |      gthumb          |                ()          ()       () | | 
 |      hello           |       []    [] [] []    [] [] [] [] [] | | 
 |      id-utils        |             [] []                   [] | | 
 |      indent          |       []       []       []    []    [] | | 
 |      jpilot          |          () [] []                   [] | | 
 |      jwhois          |                            []       [] | | 
 |      kbd             |                []          []       [] | | 
 |      ld              |                            []       [] | | 
 |      libc            |       [] [] [] [] []       []    [] [] | | 
 |      libiconv        |       []       []       [] []          | | 
 |      lifelines       |                ()                   () | | 
 |      lilypond        |             []                      [] | | 
 |      lingoteach      |                         []          [] | | 
 |      lingoteach_lessons|                ()          ()          | | 
 |      lynx            |       [] [] [] []             []       | | 
 |      m4              |          [] [] [] []                [] | | 
 |      make            |             [] []          []       [] | | 
 |      man-db          |       [] () () []          ()       () | | 
 |      mysecretdiary   |                []          []       [] | | 
 |      nano            |       [] () [] []          []       [] | | 
 |      nano_1_0        |       [] () [] []          []       [] | | 
 |      opcodes         |             []             []       [] | | 
 |      parted          |       []    [] []          []       [] | | 
 |      ptx             |             [] []       [] [] [] [] [] | | 
 |      python          |                                        | | 
 |      recode          |             [] [] []    [] []       [] | | 
 |      sed             |       [] [] [] [] []    [] [] [] [] [] | | 
 |      sh-utils        |                []          [] []    [] | | 
 |      sharutils       |          [] [] [] []       [] []    [] | | 
 |      sketch          |                ()          []       () | | 
 |      soundtracker    |                []          []       [] | | 
 |      sp              |                []                      | | 
 |      tar             |          [] [] []          [] []    [] | | 
 |      texinfo         |          [] [] []       []          [] | | 
 |      textutils       |       []    [] []          []       [] | | 
 |      util-linux      |          [] [] []          [] []    [] | | 
 |      vorbis-tools    |                                     [] | | 
 |      wastesedge      |                                        | | 
 |      wdiff           |       []    [] []          [] []    [] | | 
 |      wget            |    [] [] [] [] [] []       [] [] [] [] | | 
 |                      +----------------------------------------+ | 
 |                        be bg ca cs da de el en eo es et fi fr | 
 |                         0  2 19 10 30 44  9  1 12 44 17  6 53 | 
 |       | 
 |                        gl he hr hu id it ja ko lv nb nl nn | 
 |                      +-------------------------------------+ | 
 |      a2ps            |                ()    ()       []    | | 
 |      ap-utils        |                                     | | 
 |      bash            |          []                         | | 
 |      bfd             |                   []                | | 
 |      binutils        |                   []                | | 
 |      bison           |       []       [] []          []    | | 
 |      clisp           |                                     | | 
 |      clisp           |                               []    | | 
 |      clisplow        |                                     | | 
 |      cpio            | []       []          []       []    | | 
 |      darkstat        |                                     | | 
 |      diffutils       | [] []    [] []    []                | | 
 |      enscript        |       []                      []    | | 
 |      error           |          []                         | | 
 |      fetchmail       |                   []                | | 
 |      fileutils       |          []    [] []                | | 
 |      findutils       | []    [] [] [] [] [] []       []    | | 
 |      flex            |                      []             | | 
 |      gas             |                                     | | 
 |      gawk            |    []                               | | 
 |      gcal            |                                     | | 
 |      gcc             |                   []                | | 
 |      gettext         |                   [] []             | | 
 |      gnupg           | []          [] [] []                | | 
 |      gprof           |             []                      | | 
 |      gpsdrive        |          []    ()             ()    | | 
 |      grep            | [] [] [] [] [] [] []                | | 
 |      gretl           |                                     | | 
 |      gthumb          |                () ()                | | 
 |      hello           | [] [] [] [] [] [] [] [] [] [] [] [] | | 
 |      id-utils        |          []                   []    | | 
 |      indent          | []       []       []          []    | | 
 |      jpilot          |                   ()          ()    | | 
 |      jwhois          |          [] []                      | | 
 |      kbd             |                                     | | 
 |      ld              |                                     | | 
 |      libc            | []                [] []    []       | | 
 |      libiconv        | []    [] []                         | | 
 |      lifelines       |                                     | | 
 |      lilypond        |                               []    | | 
 |      lingoteach      |          []                         | | 
 |      lingoteach_lessons|                                     | | 
 |      lynx            |          []    [] []          []    | | 
 |      m4              | []          []    []          []    | | 
 |      make            | [] [] []          [] []       []    | | 
 |      man-db          |                () ()                | | 
 |      mysecretdiary   |             []                      | | 
 |      nano            | []          [] []             []    | | 
 |      nano_1_0        | []          [] []          []    [] | | 
 |      opcodes         |             []                []    | | 
 |      parted          | []                []             [] | | 
 |      ptx             | []       [] []             [] []    | | 
 |      python          |                                     | | 
 |      recode          | [] []          []                   | | 
 |      sed             | [] [] []    [] [] [] []       []    | | 
 |      sh-utils        |                [] []       []       | | 
 |      sharutils       | []                []          []    | | 
 |      sketch          |                ()                   | | 
 |      soundtracker    | []    []                            | | 
 |      sp              |                                     | | 
 |      tar             | []    []    [] [] []       []       | | 
 |      texinfo         |    [] []          []                | | 
 |      textutils       | []                [] []    []       | | 
 |      util-linux      |                () []                | | 
 |      vorbis-tools    |          []                         | | 
 |      wastesedge      |                                     | | 
 |      wdiff           | []       [] []                      | | 
 |      wget            | [] [] [] []       []          []    | | 
 |                      +-------------------------------------+ | 
 |                        gl he hr hu id it ja ko lv nb nl nn | 
 |                        23  9 12 19 16 13 26  9  1  7 19  3 | 
 |       | 
 |                        no pl pt pt_BR ru sk sl sv tr uk zh_CN zh_TW | 
 |                      +----------------------------------------------+ | 
 |      a2ps            | () () ()  []   []    [] [] []                | 10 | 
 |      ap-utils        |                               ()             |  0 | 
 |      bash            |           []                                 |  6 | 
 |      bfd             |                         [] []                |  5 | 
 |      binutils        |                         [] []                |  5 | 
 |      bison           |           []   []       [] []                | 12 | 
 |      clisp           |                                              |  0 | 
 |      clisp           |                                              |  5 | 
 |      clisplow        |                                              |  0 | 
 |      cpio            |    []     []   []       []                   | 12 | 
 |      darkstat        |           []            []        ()    ()   |  2 | 
 |      diffutils       |    []     []   []       [] []           []   | 17 | 
 |      enscript        |           []   []       [] []                |  8 | 
 |      error           |                   []       []           []   |  7 | 
 |      fetchmail       |    ()     ()               []                |  6 | 
 |      fileutils       |                []    [] [] []     []    []   | 14 | 
 |      findutils       |    []     []   [] [] [] [] []                | 21 | 
 |      flex            |                []       [] []                |  9 | 
 |      gas             |                            []                |  3 | 
 |      gawk            |                         [] []                |  6 | 
 |      gcal            |                         [] []                |  4 | 
 |      gcc             |                            []                |  4 | 
 |      gettext         |                [] [] [] [] []           []   | 13 | 
 |      gnupg           |    []                   [] []                | 14 | 
 |      gprof           |                         [] []                |  5 | 
 |      gpsdrive        |                   []    []                   |  3 | 
 |      grep            |    []     []   []    []    []                | 20 | 
 |      gretl           |                                              |  1 | 
 |      gthumb          |           ()   ()       []                   |  1 | 
 |      hello           | [] []          [] []    [] [] []             | 28 | 
 |      id-utils        |           []   []       [] []                |  9 | 
 |      indent          |           []   [] []    [] []                | 14 | 
 |      jpilot          | ()                      () []           []   |  5 | 
 |      jwhois          |           []   ()       () []           []   |  7 | 
 |      kbd             |                         [] []                |  5 | 
 |      ld              |                         [] []                |  4 | 
 |      libc            | [] []     []      []    [] []                | 18 | 
 |      libiconv        |           []   [] []    [] []                | 12 | 
 |      lifelines       |                         []                   |  1 | 
 |      lilypond        |                         []                   |  4 | 
 |      lingoteach      |           []            []                   |  5 | 
 |      lingoteach_lessons|                                   ()         |  0 | 
 |      lynx            |           []   []       [] []                | 13 | 
 |      m4              |    []     []   []       []                   | 13 | 
 |      make            |    []     []   []       [] []                | 15 | 
 |      man-db          |                                              |  3 | 
 |      mysecretdiary   |           []            [] []                |  7 | 
 |      nano            |    []          []       []    []             | 13 | 
 |      nano_1_0        |    []          []       []    []             | 14 | 
 |      opcodes         |           []            [] []                |  8 | 
 |      parted          |       []  []            [] []                | 12 | 
 |      ptx             | [] [] []  []   []       [] []                | 19 | 
 |      python          |                                              |  0 | 
 |      recode          |    []     []   []    [] [] []                | 15 | 
 |      sed             |           []   [] [] [] [] []                | 24 | 
 |      sh-utils        |                []          []                |  9 | 
 |      sharutils       |                []       [] []           []   | 14 | 
 |      sketch          |           []   ()       []                   |  4 | 
 |      soundtracker    |                         []                   |  6 | 
 |      sp              |                                              |  1 | 
 |      tar             | [] []     []      [] [] [] []                | 19 | 
 |      texinfo         |                []       []                   | 10 | 
 |      textutils       |                []    [] [] []           []   | 14 | 
 |      util-linux      |           []            [] []                | 10 | 
 |      vorbis-tools    |                         []                   |  3 | 
 |      wastesedge      |                                              |  0 | 
 |      wdiff           |           []   [] []    [] []                | 14 | 
 |      wget            |    []          [] [] [] [] [] []        []   | 24 | 
 |                      +----------------------------------------------+ | 
 |        37 teams        no pl pt pt_BR ru sk sl sv tr uk zh_CN zh_TW | 
 |        68 domains       4 15  2  28   28 12 10 49 43  4   1     9    609 | 
 |  | 
 |    Some counters in the preceding matrix are higher than the number of | 
 | visible blocks let us expect.  This is because a few extra PO files are | 
 | used for implementing regional variants of languages, or language | 
 | dialects. | 
 |  | 
 |    For a PO file in the matrix above to be effective, the package to | 
 | which it applies should also have been internationalized and | 
 | distributed as such by its maintainer.  There might be an observable | 
 | lag between the mere existence a PO file and its wide availability in a | 
 | distribution. | 
 |  | 
 |    If August 2002 seems to be old, you may fetch a more recent copy of | 
 | this `ABOUT-NLS' file on most GNU archive sites.  The most up-to-date | 
 | matrix with full percentage details can be found at | 
 | `http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'. | 
 |  | 
 | Using `gettext' in new packages | 
 | =============================== | 
 |  | 
 |    If you are writing a freely available program and want to | 
 | internationalize it you are welcome to use GNU `gettext' in your | 
 | package.  Of course you have to respect the GNU Library General Public | 
 | License which covers the use of the GNU `gettext' library.  This means | 
 | in particular that even non-free programs can use `libintl' as a shared | 
 | library, whereas only free software can use `libintl' as a static | 
 | library or use modified versions of `libintl'. | 
 |  | 
 |    Once the sources are changed appropriately and the setup can handle | 
 | to use of `gettext' the only thing missing are the translations.  The | 
 | Free Translation Project is also available for packages which are not | 
 | developed inside the GNU project.  Therefore the information given above | 
 | applies also for every other Free Software Project.  Contact | 
 | `translation@iro.umontreal.ca' to make the `.pot' files available to | 
 | the translation teams. | 
 |  |