Mercurial > repos > rliterman > csp2
view CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/share/doc/gettext/gettext_17.html @ 68:5028fdace37b
planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author | jpayne |
---|---|
date | Tue, 18 Mar 2025 16:23:26 -0400 |
parents | |
children |
line wrap: on
line source
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd"> <html> <!-- Created on February, 21 2024 by texi2html 1.78a --> <!-- Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author) Karl Berry <karl@freefriends.org> Olaf Bachmann <obachman@mathematik.uni-kl.de> and many others. Maintained by: Many creative people. Send bugs and suggestions to <texi2html-bug@nongnu.org> --> <head> <title>GNU gettext utilities: 17. Concluding Remarks</title> <meta name="description" content="GNU gettext utilities: 17. Concluding Remarks"> <meta name="keywords" content="GNU gettext utilities: 17. Concluding Remarks"> <meta name="resource-type" content="document"> <meta name="distribution" content="global"> <meta name="Generator" content="texi2html 1.78a"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <style type="text/css"> <!-- a.summary-letter {text-decoration: none} pre.display {font-family: serif} pre.format {font-family: serif} pre.menu-comment {font-family: serif} pre.menu-preformatted {font-family: serif} pre.smalldisplay {font-family: serif; font-size: smaller} pre.smallexample {font-size: smaller} pre.smallformat {font-family: serif; font-size: smaller} pre.smalllisp {font-size: smaller} span.roman {font-family:serif; font-weight:normal;} span.sansserif {font-family:sans-serif; font-weight:normal;} ul.toc {list-style: none} --> </style> </head> <body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> <table cellpadding="1" cellspacing="1" border="0"> <tr><td valign="middle" align="left">[<a href="gettext_16.html#SEC340" title="Beginning of this chapter or previous chapter"> << </a>]</td> <td valign="middle" align="left">[<a href="gettext_18.html#SEC373" title="Next chapter"> >> </a>]</td> <td valign="middle" align="left"> </td> <td valign="middle" align="left"> </td> <td valign="middle" align="left"> </td> <td valign="middle" align="left"> </td> <td valign="middle" align="left"> </td> <td valign="middle" align="left">[<a href="gettext_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td> <td valign="middle" align="left">[<a href="gettext_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td> <td valign="middle" align="left">[<a href="gettext_21.html#SEC389" title="Index">Index</a>]</td> <td valign="middle" align="left">[<a href="gettext_abt.html#SEC_About" title="About (help)"> ? </a>]</td> </tr></table> <hr size="2"> <a name="Conclusion"></a> <a name="SEC364"></a> <h1 class="chapter"> <a href="gettext_toc.html#TOC357">17. Concluding Remarks</a> </h1> <p>We would like to conclude this GNU <code>gettext</code> manual by presenting an history of the Translation Project so far. We finally give a few pointers for those who want to do further research or readings about Native Language Support matters. </p> <a name="History"></a> <a name="SEC365"></a> <h2 class="section"> <a href="gettext_toc.html#TOC358">17.1 History of GNU <code>gettext</code></a> </h2> <p>Internationalization concerns and algorithms have been informally and casually discussed for years in GNU, sometimes around GNU <code>libc</code>, maybe around the incoming <code>Hurd</code>, or otherwise (nobody clearly remembers). And even then, when the work started for real, this was somewhat independently of these previous discussions. </p> <p>This all began in July 1994, when Patrick D'Cruze had the idea and initiative of internationalizing version 3.9.2 of GNU <code>fileutils</code>. He then asked Jim Meyering, the maintainer, how to get those changes folded into an official release. That first draft was full of <code>#ifdef</code>s and somewhat disconcerting, and Jim wanted to find nicer ways. Patrick and Jim shared some tries and experimentations in this area. Then, feeling that this might eventually have a deeper impact on GNU, Jim wanted to know what standards were, and contacted Richard Stallman, who very quickly and verbally described an overall design for what was meant to become <code>glocale</code>, at that time. </p> <p>Jim implemented <code>glocale</code> and got a lot of exhausting feedback from Patrick and Richard, of course, but also from Mitchum DSouza (who wrote a <code>catgets</code>-like package), Roland McGrath, maybe David MacKenzie, François Pinard, and Paul Eggert, all pushing and pulling in various directions, not always compatible, to the extent that after a couple of test releases, <code>glocale</code> was torn apart. In particular, Paul Eggert – always keeping an eye on developments in Solaris – advocated the use of the <code>gettext</code> API over <code>glocale</code>'s <code>catgets</code>-based API. </p> <p>While Jim took some distance and time and became dad for a second time, Roland wanted to get GNU <code>libc</code> internationalized, and got Ulrich Drepper involved in that project. Instead of starting from <code>glocale</code>, Ulrich rewrote something from scratch, but more conforming to the set of guidelines who emerged out of the <code>glocale</code> effort. Then, Ulrich got people from the previous forum to involve themselves into this new project, and the switch from <code>glocale</code> to what was first named <code>msgutils</code>, renamed <code>nlsutils</code>, and later <code>gettext</code>, became officially accepted by Richard in May 1995 or so. </p> <p>Let's summarize by saying that Ulrich Drepper wrote GNU <code>gettext</code> in April 1995. The first official release of the package, including PO mode, occurred in July 1995, and was numbered 0.7. Other people contributed to the effort by providing a discussion forum around Ulrich, writing little pieces of code, or testing. These are quoted in the <code>THANKS</code> file which comes with the GNU <code>gettext</code> distribution. </p> <p>While this was being done, François adapted half a dozen of GNU packages to <code>glocale</code> first, then later to <code>gettext</code>, putting them in pretest, so providing along the way an effective user environment for fine tuning the evolving tools. He also took the responsibility of organizing and coordinating the Translation Project. After nearly a year of informal exchanges between people from many countries, translator teams started to exist in May 1995, through the creation and support by Patrick D'Cruze of twenty unmoderated mailing lists for that many native languages, and two moderated lists: one for reaching all teams at once, the other for reaching all willing maintainers of internationalized free software packages. </p> <p>François also wrote PO mode in June 1995 with the collaboration of Greg McGary, as a kind of contribution to Ulrich's package. He also gave a hand with the GNU <code>gettext</code> Texinfo manual. </p> <p>In 1997, Ulrich Drepper released the GNU libc 2.0, which included the <code>gettext</code>, <code>textdomain</code> and <code>bindtextdomain</code> functions. </p> <p>In 2000, Ulrich Drepper added plural form handling (the <code>ngettext</code> function) to GNU libc. Later, in 2001, he released GNU libc 2.2.x, which is the first free C library with full internationalization support. </p> <p>Ulrich being quite busy in his role of General Maintainer of GNU libc, he handed over the GNU <code>gettext</code> maintenance to Bruno Haible in 2000. Bruno added the plural form handling to the tools as well, added support for UTF-8 and CJK locales, and wrote a few new tools for manipulating PO files. </p> <a name="The-original-ABOUT_002dNLS"></a> <a name="SEC366"></a> <h2 class="section"> <a href="gettext_toc.html#TOC359">17.2 Notes on the Free Translation Project</a> </h2> <p>This section contains the text that was, for a long time, distributed as a file named <code>ABOUT-NLS</code>. </p> <p><strong> NOTE: </strong> This documentation section is outdated. It it included here for historical purposes only. </p> <p>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 free software will gradually become able to speak many languages. A few packages already provide translations for their messages. </p> <p>If you found this ‘<tt>ABOUT-NLS</tt>’ file inside a distribution, you may assume that the distributed package does use GNU <code>gettext</code> internally, itself available at your nearest GNU archive site. But you do <em>not</em> need to install GNU <code>gettext</code> prior to configuring, installing or using this package with messages translated. </p> <p>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 on translations can contact the appropriate team. </p> <a name="INSTALL-Matters"></a> <a name="SEC367"></a> <h3 class="subsection"> <a href="gettext_toc.html#TOC360">17.2.1 INSTALL Matters</a> </h3> <p>Some packages are <em>localizable</em> when properly installed; the programs they contain can be made to speak your own native language. Most such packages use GNU <code>gettext</code>. Other packages have their own ways to internationalization, predating GNU <code>gettext</code>. </p> <p>By default, this package will be installed to allow translation of messages. It will automatically detect whether the system already provides the GNU <code>gettext</code> functions. Installers may use special options at configuration time for changing the default behaviour. The command: </p> <table><tr><td> </td><td><pre class="example">./configure --disable-nls </pre></td></tr></table> <p>will <em>totally</em> disable translation of messages. </p> <p>When you already have GNU <code>gettext</code> installed on your system and run configure without an option for your new package, <code>configure</code> will probably detect the previously built and installed ‘<tt>libintl</tt>’ library and will decide to use it. If not, you may have to to use the ‘<samp>--with-libintl-prefix</samp>’ option to tell <code>configure</code> where to look for it. </p> <p>Internationalized packages usually have many ‘<tt>po/<var>ll</var>.po</tt>’ files, where <var>ll</var> gives an ISO 639 two-letter code identifying the language. Unless translations have been forbidden at <code>configure</code> time by using the ‘<samp>--disable-nls</samp>’ switch, all available translations are installed together with the package. However, the environment variable <code>LINGUAS</code> may be set, prior to configuration, to limit the installed set. <code>LINGUAS</code> should then contain a space separated list of two-letter codes, stating which languages are allowed. </p> <a name="Using-This-Package"></a> <a name="SEC368"></a> <h3 class="subsection"> <a href="gettext_toc.html#TOC361">17.2.2 Using This Package</a> </h3> <p>As a user, if your language has been installed for this package, you only have to set the <code>LANG</code> environment variable to the appropriate ‘<samp><var>ll</var>_<var>CC</var></samp>’ combination. If you happen to have the <code>LC_ALL</code> or some other <code>LC_xxx</code> environment variables set, you should unset them before setting <code>LANG</code>, otherwise the setting of <code>LANG</code> will not have the desired effect. Here ‘<samp><var>ll</var></samp>’ is an ISO 639 two-letter language code, and ‘<samp><var>CC</var></samp>’ 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 ‘<samp>setenv LANG de_DE</samp>’ (in <code>csh</code>), ‘<samp>export LANG; LANG=de_DE</samp>’ (in <code>sh</code>) or ‘<samp>export LANG=de_DE</samp>’ (in <code>bash</code>). This can be done from your ‘<tt>.login</tt>’ or ‘<tt>.profile</tt>’ file, once and for all. </p> <p>You might think that the country code specification is redundant. But in fact, some languages have dialects in different countries. For example, ‘<samp>de_AT</samp>’ is used for Austria, and ‘<samp>pt_BR</samp>’ for Brazil. The country code serves to distinguish the dialects. </p> <p>The locale naming convention of ‘<samp><var>ll</var>_<var>CC</var></samp>’, with ‘<samp><var>ll</var></samp>’ denoting the language and ‘<samp><var>CC</var></samp>’ 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 ‘<samp><var>ll</var></samp>’ or ‘<samp><var>ll</var>_<var>CC</var>.<var>encoding</var></samp>’. You can get the list of locales supported by your system for your language by running the command ‘<samp>locale -a | grep '^<var>ll</var>'</samp>’. </p> <p>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 <code>LANGUAGE</code>. GNU <code>gettext</code> gives preference to <code>LANGUAGE</code> over <code>LANG</code> for the purpose of message handling, but you still need to have <code>LANG</code> 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 <code>LANGUAGE</code> to ‘<samp>sv:de</samp>’ while leaving <code>LANG</code> to ‘<samp>sv_SE</samp>’. </p> <p>Special advice for Norwegian users: The language code for Norwegian bokmål changed from ‘<samp>no</samp>’ to ‘<samp>nb</samp>’ recently (in 2003). During the transition period, while some message catalogs for this language are installed under ‘<samp>nb</samp>’ and some older ones under ‘<samp>no</samp>’, it's recommended for Norwegian users to set <code>LANGUAGE</code> to ‘<samp>nb:no</samp>’ so that both newer and older translations are used. </p> <p>In the <code>LANGUAGE</code> environment variable, but not in the <code>LANG</code> environment variable, ‘<samp><var>ll</var>_<var>CC</var></samp>’ combinations can be abbreviated as ‘<samp><var>ll</var></samp>’ to denote the language's main dialect. For example, ‘<samp>de</samp>’ is equivalent to ‘<samp>de_DE</samp>’ (German as spoken in Germany), and ‘<samp>pt</samp>’ to ‘<samp>pt_PT</samp>’ (Portuguese as spoken in Portugal) in this context. </p> <a name="Translating-Teams"></a> <a name="SEC369"></a> <h3 class="subsection"> <a href="gettext_toc.html#TOC362">17.2.3 Translating Teams</a> </h3> <p>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, ‘<tt>https://translationproject.org/</tt>’, in the "Teams" area. </p> <p>If you'd like to volunteer to <em>work</em> at translating messages, you should become a member of the translating team for your own language. The subscribing address is <em>not</em> the same as the list itself, it has ‘<samp>-request</samp>’ appended. For example, speakers of Swedish can send a message to ‘<tt>sv-request@li.org</tt>’, having this message body: </p> <table><tr><td> </td><td><pre class="example">subscribe </pre></td></tr></table> <p>Keep in mind that team members are expected to participate <em>actively</em> 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 ‘<tt>coordinator@translationproject.org</tt>’ to reach the coordinator for all translator teams. </p> <p>The English team is special. It works at improving and uniformizing the terminology in use. Proven linguistic skills are praised more than programming skills, here. </p> <a name="Available-Packages"></a> <a name="SEC370"></a> <h3 class="subsection"> <a href="gettext_toc.html#TOC363">17.2.4 Available Packages</a> </h3> <p>Languages are not equally supported in all packages. The following matrix shows the current state of internationalization, as of June 2023. 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%. </p> <table><tr><td> </td><td><pre class="example">Ready PO files ab af an ar ast be bg bn bn_IN ca ckb crh cs da +--------------------------------------------------+ a2ps | [] | anubis | [] | aspell | [] [] [] [] | bash | [] [] [] | beebase | | bfd | | binutils | | bison | [] | bison-runtime | [] [] [] [] | buzztrax | [] [] | ccd2cue | [] | ccide | [] | cflow | | clisp | [] | coreutils | [] [] [] [] | cpio | [] | cppi | [] | cpplib | [] [] | cryptsetup | [] [] | datamash | [] | denemo | [] [] [] | dfarc | [] [] | dialog | [] [] [] [] [] | dico | [] | diffutils | [] [] [] | dink | [] [] | direvent | [] | doodle | [] [] | dos2unix | [] [] | dos2unix-man | | e2fsprogs | [] [] [] | enscript | [] [] | exif | [] [] [] | fetchmail | [] [] [] | findutils | [] [] [] [] | flex | [] [] [] | freedink | [] [] [] | fusionforge | | gas | | gawk | [] [] | gcal | [] [] | gcc | | gdbm | [] | gettext-examples | [] [] [] [] [] [] | gettext-runtime | [] [] [] [] [] | gettext-tools | [] [] [] | gnubik | [] [] | gnuchess | [] | gnucobol | | gnulib | [] [] [] | gnunet | | gnunet-gtk | | gnutls | [] | gold | | gphoto2 | [] [] | gprof | [] [] | grep | [] [] [] [] [] | grip | [] [] [] [] | grub | [] [] [] | gsasl | [] | gss | [] | gst-plugins-bad | [] [] [] [] | gst-plugins-base | [] [] [] [] | gst-plugins-good | [] [] [] [] | gst-plugins-ugly | [] [] [] [] [] | gstreamer | [] [] [] [] [] | gtick | [] [] | gtkam | [] [] [] | gtkspell | [] [] [] [] [] [] | gutenprint | [] [] | hello | [] | help2man | [] | help2man-texi | | idutils | [] | kbd | [] | klavaro | [] [] [] [] [] [] | ld | | libc | [] [] [] [] | libexif | [] | libextractor | [] | libgphoto2 | [] [] | libgphoto2_port | [] [] | libiconv | [] [] [] [] | libidn | [] [] | libidn2 | [] [] | lilypond | [] [] [] | lordsawar | [] [] | lynx | [] [] [] | m4 | [] | mailfromd | [] | mailutils | | make | [] [] [] | man-db | [] [] [] [] | man-db-manpages | | meritous | [] | midi-instruments | [] [] [] [] | minicom | [] [] | mpop | | msmtp | | nano | [] [] [] | opcodes | | parted | [] [] | pies | | pnmixer | [] | procps-ng | | procps-ng-man | | psmisc | [] [] | psmisc-man | | pspp | [] [] | pyspread | [] | radius | [] | recode | [] [] [] [] | recutils | | rush | [] | sarg | [] | savane | | sed | [] [] [] [] [] [] | sharutils | [] | shepherd | | shishi | | skribilo | [] | solfege | [] [] [] | solfege-manual | [] | spotmachine | [] | sudo | [] [] [] [] | sudoers | [] [] | sysstat | [] [] | tar | [] [] [] [] | texinfo | [] [] [] | texinfo_document | [] [] | tigervnc | [] [] | tin | [] | tin-man | | trader | [] | util-linux | [] [] | util-linux-man | | ve | | vmm | | vorbis-tools | [] [] | wastesedge | [] | wcd | [] | wcd-man | | wdiff | [] [] [] | wget | [] [] | wget2 | | wyslij-po | [] | xboard | [] | xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] | xkeyboard-config | [] [] [] [] [] | xz | [] [] | xz-man | | +--------------------------------------------------+ ab af an ar ast be bg bn bn_IN ca ckb crh cs da 1 3 2 6 15 11 30 1 1 52 1 1 64 100 de el en en_GB eo es et eu fa fi fr fur ga gd +--------------------------------------------------+ a2ps | [] [] [] | anubis | [] [] [] [] | aspell | [] [] [] [] [] [] [] [] | bash | [] [] [] [] [] | beebase | [] [] [] | bfd | [] | binutils | [] | bison | [] [] [] [] [] [] [] | bison-runtime | [] [] [] [] [] [] [] [] | buzztrax | [] [] [] [] | ccd2cue | [] [] [] [] | ccide | [] [] [] [] [] [] | cflow | [] [] [] | clisp | [] [] [] [] | coreutils | [] [] [] [] | cpio | [] [] [] [] [] | cppi | [] [] [] [] [] | cpplib | [] [] [] [] [] | cryptsetup | [] [] [] | datamash | [] [] [] [] | denemo | | dfarc | [] [] [] [] [] [] | dialog | [] [] [] [] [] [] [] [] [] [] [] | dico | [] [] [] [] | diffutils | [] [] [] [] [] [] | dink | [] [] [] [] [] | direvent | [] [] [] [] | doodle | [] [] [] [] [] [] | dos2unix | [] [] [] [] [] | dos2unix-man | [] [] [] | e2fsprogs | [] [] [] | enscript | [] [] [] [] [] [] [] | exif | [] [] [] [] [] [] | fetchmail | () [] [] [] [] [] | findutils | [] [] [] [] [] [] [] | flex | [] [] [] [] [] [] | freedink | [] [] [] [] [] [] [] [] | fusionforge | [] [] [] | gas | [] [] [] | gawk | [] [] [] [] | gcal | [] [] [] | gcc | [] [] | gdbm | [] [] [] [] | gettext-examples | [] [] [] [] [] [] [] | gettext-runtime | [] [] [] [] [] [] | gettext-tools | [] [] [] [] | gnubik | [] [] [] [] [] [] | gnuchess | [] [] [] [] | gnucobol | [] | gnulib | [] [] [] [] [] [] | gnunet | [] | gnunet-gtk | [] [] | gnutls | [] [] [] [] [] | gold | [] [] [] | gphoto2 | () [] [] | gprof | [] [] [] [] [] [] | grep | [] [] [] [] [] [] [] | grip | [] [] [] [] [] | grub | [] [] [] [] | gsasl | [] [] [] [] [] [] | gss | [] [] [] [] [] [] | gst-plugins-bad | [] [] [] [] [] | gst-plugins-base | [] [] [] [] [] [] [] | gst-plugins-good | [] [] [] [] [] [] [] | gst-plugins-ugly | [] [] [] [] [] [] [] [] | gstreamer | [] [] [] [] [] [] [] [] | gtick | () [] [] [] [] [] | gtkam | () [] [] [] [] | gtkspell | [] [] [] [] [] [] [] [] [] | gutenprint | [] [] [] | hello | [] [] [] [] | help2man | [] [] [] [] [] [] | help2man-texi | [] [] [] | idutils | [] [] [] [] [] [] | kbd | [] [] [] [] [] | klavaro | [] [] [] [] [] [] | ld | [] [] | libc | [] [] [] [] | libexif | [] [] [] | libextractor | [] [] [] | libgphoto2 | () [] [] | libgphoto2_port | () [] [] [] [] [] | libiconv | [] [] [] [] [] [] [] | libidn | [] [] [] [] [] | libidn2 | [] [] [] [] [] | lilypond | [] [] [] [] | lordsawar | [] [] | lynx | [] [] [] [] [] | m4 | [] [] [] | mailfromd | [] | mailutils | [] [] [] [] | make | [] [] [] [] [] | man-db | [] [] [] [] | man-db-manpages | [] [] [] | meritous | [] | midi-instruments | [] [] [] [] [] [] [] [] | minicom | [] [] [] [] | mpop | [] [] [] [] | msmtp | [] [] [] | nano | [] [] [] [] [] [] | opcodes | [] [] [] | parted | [] [] [] [] | pies | [] [] [] | pnmixer | [] [] | procps-ng | [] [] [] | procps-ng-man | [] | psmisc | [] [] [] [] [] [] | psmisc-man | [] [] | pspp | [] [] [] [] | pyspread | [] [] | radius | [] [] | recode | [] [] [] [] [] [] | recutils | [] [] [] | rush | [] [] [] | sarg | [] [] [] | savane | [] [] | sed | [] [] [] [] [] [] [] [] | sharutils | [] [] [] [] | shepherd | [] | shishi | [] [] [] | skribilo | [] [] [] [] | solfege | [] [] [] [] [] [] [] | solfege-manual | [] [] [] [] [] | spotmachine | [] [] [] [] | sudo | [] [] [] [] [] [] | sudoers | [] [] [] [] | sysstat | [] [] [] [] [] | tar | [] [] [] [] [] [] [] | texinfo | [] [] [] [] | texinfo_document | [] [] [] [] [] | tigervnc | [] [] [] [] [] | tin | [] [] [] | tin-man | [] [] | trader | [] [] [] [] [] | util-linux | [] [] [] | util-linux-man | [] [] | ve | [] [] [] [] [] [] | vmm | | vorbis-tools | [] [] [] [] | wastesedge | [] | wcd | [] [] [] [] [] [] | wcd-man | [] [] | wdiff | [] [] [] [] [] [] [] | wget | [] [] [] [] [] [] [] | wget2 | [] [] [] | wyslij-po | [] [] [] [] [] | xboard | [] [] [] | xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] | xkeyboard-config | [] [] [] [] [] [] | xz | [] [] [] [] [] | xz-man | [] [] | +--------------------------------------------------+ de el en en_GB eo es et eu fa fi fr fur ga gd 130 22 1 5 83 119 19 8 5 78 141 26 26 2 gl gu he hi hr hu hy id is it ja ka kk kn ko ku +-------------------------------------------------+ a2ps | [] [] | anubis | [] [] [] [] | aspell | [] [] [] [] | bash | [] [] [] [] [] | beebase | () | bfd | | binutils | | bison | [] | bison-runtime | [] [] [] [] [] [] [] | buzztrax | | ccd2cue | [] | ccide | [] [] [] | cflow | | clisp | | coreutils | [] [] [] [] | cpio | [] [] [] [] [] [] | cppi | [] [] [] [] [] [] | cpplib | [] [] | cryptsetup | [] [] | datamash | | denemo | | dfarc | [] [] [] | dialog | [] [] [] [] [] [] [] [] [] | dico | | diffutils | [] [] [] [] [] [] [] | dink | [] | direvent | [] | doodle | [] | dos2unix | [] [] [] [] | dos2unix-man | [] | e2fsprogs | [] | enscript | [] [] | exif | [] [] [] [] [] [] [] [] [] | fetchmail | [] [] [] | findutils | [] [] [] [] [] [] | flex | | freedink | [] [] [] [] | fusionforge | | gas | [] | gawk | [] () [] | gcal | | gcc | | gdbm | | gettext-examples | [] [] [] [] [] [] [] | gettext-runtime | [] [] [] [] [] [] | gettext-tools | [] [] [] [] [] | gnubik | [] [] [] | gnuchess | [] | gnucobol | | gnulib | [] [] [] [] | gnunet | | gnunet-gtk | | gnutls | [] [] | gold | | gphoto2 | [] [] [] [] [] | gprof | [] [] [] [] | grep | [] [] [] [] [] [] [] [] | grip | [] [] [] [] | grub | [] [] [] [] [] [] | gsasl | [] [] [] [] | gss | [] [] [] [] [] | gst-plugins-bad | [] [] [] [] [] | gst-plugins-base | [] [] [] [] [] [] | gst-plugins-good | [] [] [] [] [] [] [] | gst-plugins-ugly | [] [] [] [] [] [] [] | gstreamer | [] [] [] [] [] | gtick | [] [] [] [] | gtkam | [] [] [] [] [] [] | gtkspell | [] [] [] [] [] [] [] [] [] [] | gutenprint | [] [] [] [] [] | hello | [] [] | help2man | [] [] [] [] | help2man-texi | | idutils | [] [] [] | kbd | | klavaro | [] [] [] [] [] [] | ld | | libc | [] [] [] [] [] [] | libexif | [] | libextractor | | libgphoto2 | | libgphoto2_port | [] [] [] | libiconv | [] [] [] [] [] [] [] [] | libidn | [] [] [] [] [] | libidn2 | [] [] [] [] | lilypond | [] [] | lordsawar | [] | lynx | [] [] [] [] | m4 | [] [] | mailfromd | | mailutils | | make | [] [] [] [] [] | man-db | [] [] [] | man-db-manpages | [] [] | meritous | | midi-instruments | [] [] [] [] [] [] [] [] [] [] [] [] | minicom | [] [] [] [] [] | mpop | | msmtp | | nano | [] [] [] [] [] [] [] | opcodes | | parted | [] [] [] [] [] [] | pies | | pnmixer | [] [] | procps-ng | [] | procps-ng-man | | psmisc | [] [] [] [] [] [] | psmisc-man | [] [] | pspp | [] [] | pyspread | | radius | [] | recode | [] [] [] [] [] [] | recutils | | rush | | sarg | | savane | [] | sed | [] [] [] [] [] [] [] [] | sharutils | | shepherd | | shishi | | skribilo | [] | solfege | [] [] | solfege-manual | | spotmachine | | sudo | [] [] [] [] [] [] [] | sudoers | [] [] [] [] | sysstat | [] [] [] [] [] | tar | [] [] [] [] [] [] | texinfo | [] [] [] | texinfo_document | [] [] [] | tigervnc | [] [] [] [] | tin | | tin-man | | trader | [] [] | util-linux | [] [] [] | util-linux-man | | ve | [] [] | vmm | | vorbis-tools | [] [] [] | wastesedge | [] | wcd | | wcd-man | | wdiff | [] [] [] | wget | [] [] [] [] [] [] | wget2 | [] [] | wyslij-po | [] [] [] [] | xboard | | xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] [] [] | xkeyboard-config | [] [] [] [] [] [] [] [] | xz | [] [] [] [] | xz-man | [] | +-------------------------------------------------+ gl gu he hi hr hu hy id is it ja ka kk kn ko ku 30 1 8 1 59 62 2 57 7 67 48 39 2 1 43 3 ky lg lt lv mk ml mn mr ms mt nb ne nl nn or pa +-------------------------------------------------+ a2ps | [] [] [] | anubis | [] [] [] | aspell | [] [] | bash | [] [] | beebase | [] | bfd | | binutils | | bison | [] | bison-runtime | [] [] [] [] [] [] | buzztrax | | ccd2cue | | ccide | [] [] | cflow | | clisp | [] | coreutils | [] [] | cpio | [] | cppi | | cpplib | [] | cryptsetup | | datamash | [] [] | denemo | [] | dfarc | [] [] | dialog | [] [] [] [] [] | dico | | diffutils | [] [] [] [] | dink | [] | direvent | [] | doodle | [] | dos2unix | [] [] | dos2unix-man | [] | e2fsprogs | [] | enscript | [] | exif | [] [] [] | fetchmail | [] | findutils | [] [] | flex | [] | freedink | [] [] | fusionforge | | gas | | gawk | [] | gcal | | gcc | | gdbm | | gettext-examples | [] [] [] [] [] [] [] | gettext-runtime | [] [] [] | gettext-tools | | gnubik | [] [] | gnuchess | [] [] | gnucobol | | gnulib | [] | gnunet | | gnunet-gtk | | gnutls | [] [] | gold | | gphoto2 | [] | gprof | [] [] | grep | [] [] | grip | [] [] | grub | [] [] [] | gsasl | [] | gss | | gst-plugins-bad | [] [] [] | gst-plugins-base | [] [] [] | gst-plugins-good | [] [] [] | gst-plugins-ugly | [] [] [] [] [] | gstreamer | [] [] [] | gtick | [] [] | gtkam | [] [] [] | gtkspell | [] [] [] [] [] [] [] | gutenprint | [] | hello | [] [] | help2man | [] | help2man-texi | | idutils | [] [] | kbd | | klavaro | [] [] [] | ld | | libc | [] | libexif | [] | libextractor | [] | libgphoto2 | [] | libgphoto2_port | [] | libiconv | [] [] | libidn | [] | libidn2 | [] | lilypond | [] | lordsawar | | lynx | [] | m4 | [] | mailfromd | | mailutils | | make | [] | man-db | [] | man-db-manpages | | meritous | | midi-instruments | [] [] [] [] [] | minicom | [] | mpop | | msmtp | | nano | [] [] [] | opcodes | | parted | [] | pies | | pnmixer | [] | procps-ng | | procps-ng-man | | psmisc | [] | psmisc-man | | pspp | [] | pyspread | [] | radius | [] | recode | [] [] | recutils | [] | rush | [] | sarg | | savane | | sed | [] [] | sharutils | [] | shepherd | | shishi | | skribilo | | solfege | [] [] | solfege-manual | [] | spotmachine | [] | sudo | [] [] | sudoers | [] | sysstat | [] [] | tar | [] [] [] | texinfo | [] [] | texinfo_document | [] | tigervnc | | tin | | tin-man | | trader | [] | util-linux | [] | util-linux-man | | ve | [] | vmm | | vorbis-tools | [] | wastesedge | [] | wcd | [] | wcd-man | [] | wdiff | [] [] [] | wget | [] [] | wget2 | | wyslij-po | [] [] | xboard | [] | xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] | xkeyboard-config | [] [] | xz | | xz-man | | +-------------------------------------------------+ ky lg lt lv mk ml mn mr ms mt nb ne nl nn or pa 5 1 9 12 2 1 3 1 15 2 44 1 98 5 1 3 pl pt pt_BR ro ru rw sk sl sq sr sv sw ta te +-------------------------------------------------+ a2ps | [] [] [] [] [] | anubis | [] [] [] [] [] [] | aspell | [] [] [] [] [] [] [] [] [] [] | bash | [] [] [] [] [] [] | beebase | [] | bfd | [] [] [] [] | binutils | [] [] [] [] [] | bison | [] [] [] [] [] | bison-runtime | [] [] [] [] [] [] [] [] [] [] | buzztrax | [] [] [] | ccd2cue | [] [] [] [] | ccide | [] [] [] [] [] | cflow | [] [] [] [] [] | clisp | [] [] [] | coreutils | [] [] [] [] [] [] [] [] | cpio | [] [] [] [] [] [] [] | cppi | [] [] [] [] [] | cpplib | [] [] [] [] [] | cryptsetup | [] [] [] [] [] [] | datamash | [] [] [] [] | denemo | | dfarc | [] [] [] [] [] | dialog | [] [] [] [] [] [] [] [] [] [] [] | dico | [] [] [] [] | diffutils | [] [] [] [] [] [] [] | dink | [] | direvent | [] [] [] [] [] | doodle | [] [] [] [] [] | dos2unix | [] [] [] [] [] [] | dos2unix-man | [] [] [] [] [] | e2fsprogs | [] [] [] [] | enscript | [] [] [] [] [] [] [] | exif | [] [] [] [] [] [] [] [] | fetchmail | [] [] [] [] [] [] | findutils | [] [] [] [] [] [] [] [] | flex | [] [] [] [] [] [] [] | freedink | [] [] [] [] [] [] [] | fusionforge | | gas | [] [] | gawk | [] [] [] [] [] [] | gcal | [] [] | gcc | [] [] | gdbm | [] [] [] [] [] [] | gettext-examples | [] [] [] [] [] [] [] [] [] [] [] | gettext-runtime | [] [] [] [] [] [] [] [] [] | gettext-tools | [] [] [] [] [] [] [] [] [] | gnubik | [] [] [] [] [] [] | gnuchess | [] [] [] [] | gnucobol | [] | gnulib | [] [] [] [] [] [] [] [] | gnunet | [] | gnunet-gtk | [] | gnutls | [] [] [] [] [] | gold | [] [] | gphoto2 | [] [] [] [] [] [] | gprof | [] [] [] [] [] | grep | [] [] [] [] [] [] [] [] [] [] | grip | [] [] [] [] [] | grub | [] [] [] [] [] [] [] [] | gsasl | [] [] [] [] [] [] | gss | [] [] [] [] [] [] | gst-plugins-bad | [] [] [] [] [] [] [] | gst-plugins-base | [] [] [] [] [] [] [] [] | gst-plugins-good | [] [] [] [] [] [] [] [] | gst-plugins-ugly | [] [] [] [] [] [] [] [] [] [] | gstreamer | [] [] [] [] [] [] [] [] | gtick | [] [] [] [] [] [] [] | gtkam | [] [] [] [] [] [] [] | gtkspell | [] [] [] [] [] [] [] [] [] [] [] | gutenprint | [] [] [] [] | hello | [] [] [] [] [] [] [] | help2man | [] [] [] [] [] [] | help2man-texi | [] [] [] [] [] | idutils | [] [] [] [] [] [] | kbd | [] [] [] [] [] [] [] | klavaro | [] [] [] [] [] [] [] [] | ld | [] [] [] | libc | [] [] [] [] [] [] [] [] | libexif | [] [] [] [] | libextractor | [] [] [] [] | libgphoto2 | [] [] | libgphoto2_port | [] [] [] [] [] [] [] | libiconv | [] [] [] [] [] [] [] [] | libidn | [] [] [] [] [] | libidn2 | [] [] [] [] [] [] | lilypond | [] | lordsawar | [] [] | lynx | [] [] [] | m4 | [] [] [] [] | mailfromd | [] [] [] | mailutils | [] [] [] [] | make | [] [] [] [] [] [] [] | man-db | [] [] [] [] [] [] [] | man-db-manpages | [] [] [] [] [] [] [] | meritous | [] [] [] | midi-instruments | [] [] [] [] [] [] [] [] [] | minicom | [] [] [] [] [] [] | mpop | [] [] [] [] | msmtp | [] [] [] [] | nano | [] [] [] [] [] [] [] [] [] | opcodes | [] [] [] [] | parted | [] [] [] [] [] [] [] [] | pies | [] [] [] | pnmixer | [] [] () [] [] | procps-ng | [] [] [] [] | procps-ng-man | [] [] | psmisc | [] [] [] [] [] [] [] | psmisc-man | [] [] [] [] [] | pspp | [] | pyspread | [] [] | radius | [] [] [] | recode | [] [] [] [] [] [] [] [] [] | recutils | [] [] [] | rush | [] [] [] [] | sarg | [] [] [] | savane | [] () | sed | [] [] [] [] [] [] [] [] [] | sharutils | [] [] [] [] [] | shepherd | [] [] [] | shishi | [] [] [] | skribilo | [] [] [] | solfege | [] [] [] [] [] | solfege-manual | [] [] | spotmachine | [] [] [] [] | sudo | [] [] [] [] [] [] [] | sudoers | [] [] [] [] [] [] [] | sysstat | [] [] [] [] [] [] [] [] | tar | [] [] [] [] [] [] [] [] | texinfo | [] [] [] [] [] [] [] [] | texinfo_document | [] [] [] [] [] [] [] | tigervnc | [] [] [] [] | tin | [] | tin-man | | trader | [] [] [] [] | util-linux | [] [] [] [] [] | util-linux-man | [] | ve | [] [] [] [] [] | vmm | [] | vorbis-tools | [] [] [] [] [] | wastesedge | [] [] | wcd | [] [] [] [] | wcd-man | [] [] [] [] | wdiff | [] [] [] [] [] [] [] | wget | [] [] [] [] [] [] [] [] | wget2 | [] [] [] [] [] | wyslij-po | [] [] [] [] [] | xboard | [] [] [] [] | xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] | xkeyboard-config | [] [] [] [] [] [] [] [] | xz | [] [] [] [] [] [] | xz-man | [] [] | +-------------------------------------------------+ pl pt pt_BR ro ru rw sk sl sq sr sv sw ta te 99 45 113 105 87 0 34 30 11 131 126 1 7 1 tg th tr uk ur vi wa wo zh_CN zh_HK zh_TW +--------------------------------------------+ a2ps | [] | 15 anubis | [] [] [] | 21 aspell | [] [] [] [] | 32 bash | [] [] [] [] [] | 26 beebase | [] | 6 bfd | [] | 6 binutils | [] | 7 bison | [] [] | 17 bison-runtime | [] [] [] [] [] [] | 41 buzztrax | [] [] | 11 ccd2cue | [] [] [] [] | 14 ccide | [] [] [] | 20 cflow | [] | 9 clisp | | 12 coreutils | [] [] [] [] [] | 27 cpio | [] [] [] [] | 24 cppi | [] [] [] | 20 cpplib | [] [] [] [] [] | 20 cryptsetup | [] | 14 datamash | [] | 12 denemo | [] [] [] | 7 dfarc | [] | 19 dialog | [] [] [] [] [] [] [] | 48 dico | [] | 10 diffutils | [] [] [] [] [] | 32 dink | [] | 11 direvent | [] [] | 14 doodle | [] [] [] | 18 dos2unix | [] [] [] [] | 23 dos2unix-man | [] [] | 12 e2fsprogs | [] [] [] | 15 enscript | [] [] [] | 22 exif | [] [] [] [] | 33 fetchmail | [] [] [] | 21 findutils | [] [] [] [] | 31 flex | [] [] [] [] [] | 22 freedink | [] [] | 26 fusionforge | | 3 gas | [] | 7 gawk | [] [] [] | 18 gcal | [] [] | 9 gcc | | 4 gdbm | [] [] | 13 gettext-examples | [] [] [] [] [] [] | 44 gettext-runtime | [] [] [] [] [] | 34 gettext-tools | [] [] [] [] [] | 26 gnubik | [] [] [] | 22 gnuchess | [] [] [] | 15 gnucobol | | 2 gnulib | [] [] [] [] | 26 gnunet | | 2 gnunet-gtk | | 3 gnutls | [] [] [] | 18 gold | [] | 6 gphoto2 | [] [] [] [] | 20 gprof | [] [] [] | 22 grep | [] [] [] [] [] [] | 38 grip | [] [] [] [] [] | 25 grub | [] [] [] [] | 28 gsasl | [] [] [] | 21 gss | [] [] | 20 gst-plugins-bad | [] [] [] [] [] | 29 gst-plugins-base | [] [] [] [] | 32 gst-plugins-good | [] [] [] [] [] | 34 gst-plugins-ugly | [] [] [] [] [] | 40 gstreamer | [] [] [] [] [] | 34 gtick | [] [] [] | 23 gtkam | [] [] [] | 26 gtkspell | [] [] [] [] [] [] [] [] | 51 gutenprint | [] [] [] | 18 hello | [] [] | 18 help2man | [] [] [] | 21 help2man-texi | [] | 9 idutils | [] [] [] | 21 kbd | [] [] | 15 klavaro | [] [] [] [] [] [] | 35 ld | [] | 6 libc | [] [] [] [] [] | 28 libexif | [] [] | 12 libextractor | [] [] | 11 libgphoto2 | [] [] | 9 libgphoto2_port | [] [] [] [] | 22 libiconv | [] [] [] [] [] | 34 libidn | [] [] [] | 21 libidn2 | [] [] | 20 lilypond | [] | 12 lordsawar | [] | 8 lynx | [] [] [] | 19 m4 | [] [] | 13 mailfromd | [] [] | 7 mailutils | [] [] | 10 make | [] [] [] [] | 25 man-db | [] [] [] [] | 23 man-db-manpages | [] [] | 14 meritous | | 5 midi-instruments | [] [] [] [] [] [] | 44 minicom | [] [] | 20 mpop | [] | 9 msmtp | [] | 8 nano | [] [] [] [] [] | 33 opcodes | [] | 8 parted | [] [] [] [] [] | 26 pies | [] [] | 8 pnmixer | [] [] () | 14 procps-ng | [] [] | 10 procps-ng-man | [] | 4 psmisc | [] [] [] [] | 26 psmisc-man | [] | 10 pspp | [] [] | 12 pyspread | [] | 7 radius | [] [] | 10 recode | [] [] [] [] | 31 recutils | [] [] | 9 rush | [] [] [] | 12 sarg | | 7 savane | | 4 sed | [] [] [] [] [] | 38 sharutils | [] [] [] | 14 shepherd | [] | 5 shishi | [] [] | 8 skribilo | [] | 10 solfege | [] [] [] | 22 solfege-manual | [] | 10 spotmachine | [] [] | 12 sudo | [] [] [] [] [] | 31 sudoers | [] [] [] | 21 sysstat | [] [] [] [] | 26 tar | [] [] [] [] [] | 33 texinfo | [] [] [] | 23 texinfo_document | [] | 19 tigervnc | [] [] | 17 tin | [] [] [] | 8 tin-man | | 2 trader | | 13 util-linux | [] [] [] [] | 18 util-linux-man | [] | 4 ve | [] [] [] | 17 vmm | [] | 2 vorbis-tools | [] | 16 wastesedge | [] | 7 wcd | [] [] [] | 15 wcd-man | [] | 8 wdiff | [] [] [] [] | 27 wget | [] [] [] [] [] | 30 wget2 | [] | 11 wyslij-po | [] [] [] | 20 xboard | [] [] [] | 12 xdg-user-dirs | [] [] [] [] [] [] [] [] | 72 xkeyboard-config | [] [] [] | 32 xz | [] [] [] [] [] | 22 xz-man | [] | 6 +--------------------------------------------+ 85 teams tg th tr uk ur vi wa wo zh_CN zh_HK zh_TW 151 domains 0 8 54 120 1 93 5 1 87 5 42 2792 </pre></td></tr></table> <p>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. </p> <p>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. </p> <p>If June 2023 seems to be old, you may fetch a more recent copy of this ‘<tt>ABOUT-NLS</tt>’ file on most GNU archive sites. The most up-to-date matrix with full percentage details can be found at ‘<tt>https://translationproject.org/extra/matrix.html</tt>’. </p> <a name="Using-gettext-in-own-code"></a> <a name="SEC371"></a> <h3 class="subsection"> <a href="gettext_toc.html#TOC364">17.2.5 Using <code>gettext</code> in new packages</a> </h3> <p>If you are writing a freely available program and want to internationalize it you are welcome to use GNU ‘<tt>gettext</tt>’ in your package. Of course you have to respect the GNU Lesser General Public License which covers the use of the GNU ‘<tt>gettext</tt>’ library. This means in particular that even non-free programs can use <code>libintl</code> as a shared library, whereas only free software can use <code>libintl</code> as a static library or use modified versions of <code>libintl</code>. </p> <p>Once the sources are changed appropriately and the setup can handle the use of <code>gettext</code> 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 ‘<tt>coordinator@translationproject.org</tt>’ to make the ‘<tt>.pot</tt>’ files available to the translation teams. </p> <a name="References"></a> <a name="SEC372"></a> <h2 class="section"> <a href="gettext_toc.html#TOC365">17.3 Related Readings</a> </h2> <p><strong> NOTE: </strong> This documentation section is outdated and needs to be revised. </p> <p>Eugene H. Dorr (‘<tt>dorre@well.com</tt>’) maintains an interesting bibliography on internationalization matters, called <cite>Internationalization Reference List</cite>, which is available as: </p><table><tr><td> </td><td><pre class="example">ftp://ftp.ora.com/pub/examples/nutshell/ujip/doc/i18n-books.txt </pre></td></tr></table> <p>Michael Gschwind (‘<tt>mike@vlsivie.tuwien.ac.at</tt>’) maintains a Frequently Asked Questions (FAQ) list, entitled <cite>Programming for Internationalisation</cite>. This FAQ discusses writing programs which can handle different language conventions, character sets, etc.; and is applicable to all character set encodings, with particular emphasis on ISO 8859-1. It is regularly published in Usenet groups ‘<tt>comp.unix.questions</tt>’, ‘<tt>comp.std.internat</tt>’, ‘<tt>comp.software.international</tt>’, ‘<tt>comp.lang.c</tt>’, ‘<tt>comp.windows.x</tt>’, ‘<tt>comp.std.c</tt>’, ‘<tt>comp.answers</tt>’ and ‘<tt>news.answers</tt>’. The home location of this document is: </p><table><tr><td> </td><td><pre class="example">ftp://ftp.vlsivie.tuwien.ac.at/pub/8bit/ISO-programming </pre></td></tr></table> <p>Patrick D'Cruze (‘<tt>pdcruze@li.org</tt>’) wrote a tutorial about NLS matters, and Jochen Hein (‘<tt>Hein@student.tu-clausthal.de</tt>’) took over the responsibility of maintaining it. It may be found as: </p><table><tr><td> </td><td><pre class="example">ftp://sunsite.unc.edu/pub/Linux/utils/nls/catalogs/Incoming/... ...locale-tutorial-0.8.txt.gz </pre></td></tr></table> <p>This site is mirrored in: </p><table><tr><td> </td><td><pre class="example">ftp://ftp.ibp.fr/pub/linux/sunsite/ </pre></td></tr></table> <p>A French version of the same tutorial should be findable at: </p><table><tr><td> </td><td><pre class="example">ftp://ftp.ibp.fr/pub/linux/french/docs/ </pre></td></tr></table> <p>together with French translations of many Linux-related documents. </p> <table cellpadding="1" cellspacing="1" border="0"> <tr><td valign="middle" align="left">[<a href="#SEC364" title="Beginning of this chapter or previous chapter"> << </a>]</td> <td valign="middle" align="left">[<a href="gettext_18.html#SEC373" title="Next chapter"> >> </a>]</td> <td valign="middle" align="left"> </td> <td valign="middle" align="left"> </td> <td valign="middle" align="left"> </td> <td valign="middle" align="left"> </td> <td valign="middle" align="left"> </td> <td valign="middle" align="left">[<a href="gettext_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td> <td valign="middle" align="left">[<a href="gettext_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td> <td valign="middle" align="left">[<a href="gettext_21.html#SEC389" title="Index">Index</a>]</td> <td valign="middle" align="left">[<a href="gettext_abt.html#SEC_About" title="About (help)"> ? </a>]</td> </tr></table> <p> <font size="-1"> This document was generated by <em>Bruno Haible</em> on <em>February, 21 2024</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>. </font> <br> </p> </body> </html>