summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2001-11-30 15:24:16 +0000
committerBruno Haible <bruno@clisp.org>2009-06-21 23:31:23 +0200
commit88498d7b70cffdf8f74768c9d5f477637261da47 (patch)
tree2b6878d994ebfd6d0be10f081f23d21644f92d9b
parent43a1454038bf0d52dba9c99a797b3ae499fc1423 (diff)
downloadexternal_gettext-88498d7b70cffdf8f74768c9d5f477637261da47.zip
external_gettext-88498d7b70cffdf8f74768c9d5f477637261da47.tar.gz
external_gettext-88498d7b70cffdf8f74768c9d5f477637261da47.tar.bz2
Automatically generated.
-rw-r--r--doc/gettext.info-61137
-rw-r--r--doc/gettext.info-72352
-rw-r--r--doc/gettext_15.html523
-rw-r--r--doc/gettext_16.html745
-rw-r--r--po/cs.gmobin0 -> 10416 bytes
-rw-r--r--po/et.gmobin0 -> 10295 bytes
-rw-r--r--po/gl.gmobin0 -> 10520 bytes
-rw-r--r--po/id.gmobin0 -> 6746 bytes
-rw-r--r--po/it.gmobin0 -> 7084 bytes
-rw-r--r--po/ru.gmobin0 -> 11002 bytes
-rw-r--r--po/sk.gmobin0 -> 10509 bytes
-rw-r--r--po/zh.gmobin0 -> 9060 bytes
12 files changed, 4757 insertions, 0 deletions
diff --git a/doc/gettext.info-6 b/doc/gettext.info-6
new file mode 100644
index 0000000..e31199b
--- /dev/null
+++ b/doc/gettext.info-6
@@ -0,0 +1,1137 @@
+This is gettext.info, produced by makeinfo version 4.0 from
+gettext.texi.
+
+INFO-DIR-SECTION GNU Gettext Utilities
+START-INFO-DIR-ENTRY
+* Gettext: (gettext). GNU gettext utilities.
+* gettextize: (gettext)gettextize Invocation. Prepare a package for gettext.
+* msgfmt: (gettext)msgfmt Invocation. Make MO files out of PO files.
+* msgmerge: (gettext)msgmerge Invocation. Update two PO files into one.
+* xgettext: (gettext)xgettext Invocation. Extract strings into a PO file.
+END-INFO-DIR-ENTRY
+
+ This file provides documentation for GNU `gettext' utilities. It
+also serves as a reference for the free Translation Project.
+
+ Copyright (C) 1995, 1996, 1997, 1998, 2001 Free Software Foundation,
+Inc.
+
+ Permission is granted to make and distribute verbatim copies of this
+manual provided the copyright notice and this permission notice are
+preserved on all copies.
+
+ Permission is granted to copy and distribute modified versions of
+this manual under the conditions for verbatim copying, provided that
+the entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+ Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be stated in a
+translation approved by the Foundation.
+
+
+File: gettext.info, Node: Trans Intro 1, Next: Discussions, Prev: Trans Intro 0, Up: Translators
+
+Introduction 1
+==============
+
+ This is now official, GNU is going international! Here is the
+announcement submitted for the January 1995 GNU Bulletin:
+
+ A handful of GNU packages have already been adapted and provided
+ with message translations for several languages. Translation
+ teams have begun to organize, using these packages as a starting
+ point. But there are many more packages and many languages for
+ which we have no volunteer translators. If you'd like to
+ volunteer to work at translating messages, please send mail to
+ `translation@iro.umontreal.ca' indicating what language(s) you can
+ work on.
+
+ This document should answer many questions for those who are curious
+about the process or would like to contribute. Please at least skim
+over it, hoping to cut down a little of the high volume of e-mail
+generated by this collective effort towards internationalization of
+free software.
+
+ Most free programming which is widely shared is done in English, and
+currently, English is used as the main communicating language between
+national communities collaborating to free software. This very document
+is written in English. This will not change in the foreseeable future.
+
+ However, there is a strong appetite from national communities for
+having more software able to write using national language and habits,
+and there is an on-going effort to modify free software in such a way
+that it becomes able to do so. The experiments driven so far raised an
+enthusiastic response from pretesters, so we believe that
+internationalization of free software is dedicated to succeed.
+
+ For suggestion clarifications, additions or corrections to this
+document, please e-mail to `translation@iro.umontreal.ca'.
+
+
+File: gettext.info, Node: Discussions, Next: Organization, Prev: Trans Intro 1, Up: Translators
+
+Discussions
+===========
+
+ Facing this internationalization effort, a few users expressed their
+concerns. Some of these doubts are presented and discussed, here.
+
+ * Smaller groups
+
+ Some languages are not spoken by a very large number of people, so
+ people speaking them sometimes consider that there may not be all
+ that much demand such versions of free software packages.
+ Moreover, many people being _into computers_, in some countries,
+ generally seem to prefer English versions of their software.
+
+ On the other end, people might enjoy their own language a lot, and
+ be very motivated at providing to themselves the pleasure of
+ having their beloved free software speaking their mother tongue.
+ They do themselves a personal favor, and do not pay that much
+ attention to the number of people beneficiating of their work.
+
+ * Misinterpretation
+
+ Other users are shy to push forward their own language, seeing in
+ this some kind of misplaced propaganda. Someone thought there
+ must be some users of the language over the networks pestering
+ other people with it.
+
+ But any spoken language is worth localization, because there are
+ people behind the language for whom the language is important and
+ dear to their hearts.
+
+ * Odd translations
+
+ The biggest problem is to find the right translations so that
+ everybody can understand the messages. Translations are usually a
+ little odd. Some people get used to English, to the extent they
+ may find translations into their own language "rather pushy,
+ obnoxious and sometimes even hilarious." As a French speaking
+ man, I have the experience of those instruction manuals for goods,
+ so poorly translated in French in Korea or Taiwan...
+
+ The fact is that we sometimes have to create a kind of national
+ computer culture, and this is not easy without the collaboration of
+ many people liking their mother tongue. This is why translations
+ are better achieved by people knowing and loving their own
+ language, and ready to work together at improving the results they
+ obtain.
+
+ * Dependencies over the GPL or LGPL
+
+ Some people wonder if using GNU `gettext' necessarily brings their
+ package under the protective wing of the GNU General Public
+ License or the GNU Library General Public License, when they do
+ not want to make their program free, or want other kinds of
+ freedom. The simplest answer is "normally not".
+
+ The GNU `gettext' library, i.e. the contents of `libintl', is
+ covered by the GNU Library General Public License. The rest of
+ the GNU `gettext' package is covered by the GNU General Public
+ License.
+
+ The mere marking of localizable strings in a package, or
+ conditional inclusion of a few lines for initialization, is not
+ really including GPL'ed or LGPL'ed code. However, since the
+ localization routines in `libintl' are under the LGPL, the LGPL
+ needs to be considered. It gives the right to distribute the
+ complete unmodified source of `libintl' even with non-free
+ programs. It also gives the right to use `libintl' as a shared
+ library, even for non-free programs. But it gives the right to
+ use `libintl' as a static library or to incorporate `libintl' into
+ another library only to free software.
+
+
+
+File: gettext.info, Node: Organization, Next: Information Flow, Prev: Discussions, Up: Translators
+
+Organization
+============
+
+ On a larger scale, the true solution would be to organize some kind
+of fairly precise set up in which volunteers could participate. I gave
+some thought to this idea lately, and realize there will be some touchy
+points. I thought of writing to Richard Stallman to launch such a
+project, but feel it might be good to shake out the ideas between
+ourselves first. Most probably that Linux International has some
+experience in the field already, or would like to orchestrate the
+volunteer work, maybe. Food for thought, in any case!
+
+ I guess we have to setup something early, somehow, that will help
+many possible contributors of the same language to interlock and avoid
+work duplication, and further be put in contact for solving together
+problems particular to their tongue (in most languages, there are many
+difficulties peculiar to translating technical English). My Swedish
+contributor acknowledged these difficulties, and I'm well aware of them
+for French.
+
+ This is surely not a technical issue, but we should manage so the
+effort of locale contributors be maximally useful, despite the national
+team layer interface between contributors and maintainers.
+
+ The Translation Project needs some setup for coordinating language
+coordinators. Localizing evolving programs will surely become a
+permanent and continuous activity in the free software community, once
+well started. The setup should be minimally completed and tested
+before GNU `gettext' becomes an official reality. The e-mail address
+`translation@iro.umontreal.ca' has been setup for receiving offers from
+volunteers and general e-mail on these topics. This address reaches
+the Translation Project coordinator.
+
+* Menu:
+
+* Central Coordination:: Central Coordination
+* National Teams:: National Teams
+* Mailing Lists:: Mailing Lists
+
+
+File: gettext.info, Node: Central Coordination, Next: National Teams, Prev: Organization, Up: Organization
+
+Central Coordination
+--------------------
+
+ I also think GNU will need sooner than it thinks, that someone setup
+a way to organize and coordinate these groups. Some kind of group of
+groups. My opinion is that it would be good that GNU delegates this
+task to a small group of collaborating volunteers, shortly. Perhaps in
+`gnu.announce' a list of this national committee's can be published.
+
+ My role as coordinator would simply be to refer to Ulrich any German
+speaking volunteer interested to localization of free software
+packages, and maybe helping national groups to initially organize,
+while maintaining national registries for until national groups are
+ready to take over. In fact, the coordinator should ease volunteers to
+get in contact with one another for creating national teams, which
+should then select one coordinator per language, or country
+(regionalized language). If well done, the coordination should be
+useful without being an overwhelming task, the time to put delegations
+in place.
+
+
+File: gettext.info, Node: National Teams, Next: Mailing Lists, Prev: Central Coordination, Up: Organization
+
+National Teams
+--------------
+
+ I suggest we look for volunteer coordinators/editors for individual
+languages. These people will scan contributions of translation files
+for various programs, for their own languages, and will ensure high and
+uniform standards of diction.
+
+ From my current experience with other people in these days, those who
+provide localizations are very enthusiastic about the process, and are
+more interested in the localization process than in the program they
+localize, and want to do many programs, not just one. This seems to
+confirm that having a coordinator/editor for each language is a good
+idea.
+
+ We need to choose someone who is good at writing clear and concise
+prose in the language in question. That is hard--we can't check it
+ourselves. So we need to ask a few people to judge each others'
+writing and select the one who is best.
+
+ I announce my prerelease to a few dozen people, and you would not
+believe all the discussions it generated already. I shudder to think
+what will happen when this will be launched, for true, officially,
+world wide. Who am I to arbitrate between two Czekolsovak users
+contradicting each other, for example?
+
+ I assume that your German is not much better than my French so that
+I would not be able to judge about these formulations. What I would
+suggest is that for each language there is a group for people who
+maintain the PO files and judge about changes. I suspect there will be
+cultural differences between how such groups of people will behave.
+Some will have relaxed ways, reach consensus easily, and have anyone of
+the group relate to the maintainers, while others will fight to death,
+organize heavy administrations up to national standards, and use strict
+channels.
+
+ The German team is putting out a good example. Right now, they are
+maybe half a dozen people revising translations of each other and
+discussing the linguistic issues. I do not even have all the names.
+Ulrich Drepper is taking care of coordinating the German team. He
+subscribed to all my pretest lists, so I do not even have to warn him
+specifically of incoming releases.
+
+ I'm sure, that is a good idea to get teams for each language working
+on translations. That will make the translations better and more
+consistent.
+
+* Menu:
+
+* Sub-Cultures:: Sub-Cultures
+* Organizational Ideas:: Organizational Ideas
+
+
+File: gettext.info, Node: Sub-Cultures, Next: Organizational Ideas, Prev: National Teams, Up: National Teams
+
+Sub-Cultures
+............
+
+ Taking French for example, there are a few sub-cultures around
+computers which developed diverging vocabularies. Picking volunteers
+here and there without addressing this problem in an organized way,
+soon in the project, might produce a distasteful mix of
+internationalized programs, and possibly trigger endless quarrels among
+those who really care.
+
+ Keeping some kind of unity in the way French localization of
+internationalized programs is achieved is a difficult (and delicate)
+job. Knowing the latin character of French people (:-), if we take this
+the wrong way, we could end up nowhere, or spoil a lot of energies.
+Maybe we should begin to address this problem seriously _before_ GNU
+`gettext' become officially published. And I suspect that this means
+soon!
+
+
+File: gettext.info, Node: Organizational Ideas, Prev: Sub-Cultures, Up: National Teams
+
+Organizational Ideas
+....................
+
+ I expect the next big changes after the official release. Please
+note that I use the German translation of the short GPL message. We
+need to set a few good examples before the localization goes out for
+true in the free software community. Here are a few points to discuss:
+
+ * Each group should have one FTP server (at least one master).
+
+ * The files on the server should reflect the latest version (of
+ course!) and it should also contain a RCS directory with the
+ corresponding archives (I don't have this now).
+
+ * There should also be a ChangeLog file (this is more useful than the
+ RCS archive but can be generated automatically from the later by
+ Emacs).
+
+ * A "core group" should judge about questionable changes (for now
+ this group consists solely by me but I ask some others
+ occasionally; this also seems to work).
+
+
+
+File: gettext.info, Node: Mailing Lists, Prev: National Teams, Up: Organization
+
+Mailing Lists
+-------------
+
+ If we get any inquiries about GNU `gettext', send them on to:
+
+ `translation@iro.umontreal.ca'
+
+ The `*-pretest' lists are quite useful to me, maybe the idea could
+be generalized to many GNU, and non-GNU packages. But each maintainer
+his/her way!
+
+ Franc,ois, we have a mechanism in place here at `gnu.ai.mit.edu' to
+track teams, support mailing lists for them and log members. We have a
+slight preference that you use it. If this is OK with you, I can get
+you clued in.
+
+ Things are changing! A few years ago, when Daniel Fekete and I
+asked for a mailing list for GNU localization, nested at the FSF, we
+were politely invited to organize it anywhere else, and so did we. For
+communicating with my pretesters, I later made a handful of mailing
+lists located at iro.umontreal.ca and administrated by `majordomo'.
+These lists have been _very_ dependable so far...
+
+ I suspect that the German team will organize itself a mailing list
+located in Germany, and so forth for other countries. But before they
+organize for true, it could surely be useful to offer mailing lists
+located at the FSF to each national team. So yes, please explain me
+how I should proceed to create and handle them.
+
+ We should create temporary mailing lists, one per country, to help
+people organize. Temporary, because once regrouped and structured, it
+would be fair the volunteers from country bring back _their_ list in
+there and manage it as they want. My feeling is that, in the long run,
+each team should run its own list, from within their country. There
+also should be some central list to which all teams could subscribe as
+they see fit, as long as each team is represented in it.
+
+
+File: gettext.info, Node: Information Flow, Prev: Organization, Up: Translators
+
+Information Flow
+================
+
+ There will surely be some discussion about this messages after the
+packages are finally released. If people now send you some proposals
+for better messages, how do you proceed? Jim, please note that right
+now, as I put forward nearly a dozen of localizable programs, I receive
+both the translations and the coordination concerns about them.
+
+ If I put one of my things to pretest, Ulrich receives the
+announcement and passes it on to the German team, who make last minute
+revisions. Then he submits the translation files to me _as the
+maintainer_. For free packages I do not maintain, I would not even
+hear about it. This scheme could be made to work for the whole
+Translation Project, I think. For security reasons, maybe Ulrich
+(national coordinators, in fact) should update central registry kept at
+the Translation Project (Jim, me, or Len's recruits) once in a while.
+
+ In December/January, I was aggressively ready to internationalize
+all of GNU, giving myself the duty of one small GNU package per week or
+so, taking many weeks or months for bigger packages. But it does not
+work this way. I first did all the things I'm responsible for. I've
+nothing against some missionary work on other maintainers, but I'm also
+loosing a lot of energy over it--same debates over again.
+
+ And when the first localized packages are released we'll get a lot of
+responses about ugly translations :-). Surely, and we need to have
+beforehand a fairly good idea about how to handle the information flow
+between the national teams and the package maintainers.
+
+ Please start saving somewhere a quick history of each PO file. I
+know for sure that the file format will change, allowing for comments.
+It would be nice that each file has a kind of log, and references for
+those who want to submit comments or gripes, or otherwise contribute.
+I sent a proposal for a fast and flexible format, but it is not
+receiving acceptance yet by the GNU deciders. I'll tell you when I
+have more information about this.
+
+
+File: gettext.info, Node: Maintainers, Next: Programming Languages, Prev: Translators, Up: Top
+
+The Maintainer's View
+*********************
+
+ The maintainer of a package has many responsibilities. One of them
+is ensuring that the package will install easily on many platforms, and
+that the magic we described earlier (*note Users::) will work for
+installers and end users.
+
+ Of course, there are many possible ways by which GNU `gettext' might
+be integrated in a distribution, and this chapter does not cover them
+in all generality. Instead, it details one possible approach which is
+especially adequate for many free software distributions following GNU
+standards, or even better, Gnits standards, because GNU `gettext' is
+purposely for helping the internationalization of the whole GNU
+project, and as many other good free packages as possible. So, the
+maintainer's view presented here presumes that the package already has
+a `configure.in' file and uses GNU Autoconf.
+
+ Nevertheless, GNU `gettext' may surely be useful for free packages
+not following GNU standards and conventions, but the maintainers of such
+packages might have to show imagination and initiative in organizing
+their distributions so `gettext' work for them in all situations.
+There are surely many, out there.
+
+ Even if `gettext' methods are now stabilizing, slight adjustments
+might be needed between successive `gettext' versions, so you should
+ideally revise this chapter in subsequent releases, looking for changes.
+
+* Menu:
+
+* Flat and Non-Flat:: Flat or Non-Flat Directory Structures
+* Prerequisites:: Prerequisite Works
+* gettextize Invocation:: Invoking the `gettextize' Program
+* Adjusting Files:: Files You Must Create or Alter
+
+
+File: gettext.info, Node: Flat and Non-Flat, Next: Prerequisites, Prev: Maintainers, Up: Maintainers
+
+Flat or Non-Flat Directory Structures
+=====================================
+
+ Some free software packages are distributed as `tar' files which
+unpack in a single directory, these are said to be "flat" distributions.
+Other free software packages have a one level hierarchy of
+subdirectories, using for example a subdirectory named `doc/' for the
+Texinfo manual and man pages, another called `lib/' for holding
+functions meant to replace or complement C libraries, and a
+subdirectory `src/' for holding the proper sources for the package.
+These other distributions are said to be "non-flat".
+
+ We cannot say much about flat distributions. A flat directory
+structure has the disadvantage of increasing the difficulty of updating
+to a new version of GNU `gettext'. Also, if you have many PO files,
+this could somewhat pollute your single directory. Also, GNU
+`gettext''s libintl sources consist of C sources, shell scripts, `sed'
+scripts and complicated Makefile rules, which don't fit well into an
+existing flat structure. For these reasons, we recommend to use
+non-flat approach in this case as well.
+
+ Maybe because GNU `gettext' itself has a non-flat structure, we have
+more experience with this approach, and this is what will be described
+in the remaining of this chapter. Some maintainers might use this as
+an opportunity to unflatten their package structure.
+
+
+File: gettext.info, Node: Prerequisites, Next: gettextize Invocation, Prev: Flat and Non-Flat, Up: Maintainers
+
+Prerequisite Works
+==================
+
+ There are some works which are required for using GNU `gettext' in
+one of your package. These works have some kind of generality that
+escape the point by point descriptions used in the remainder of this
+chapter. So, we describe them here.
+
+ * Before attempting to use `gettextize' you should install some
+ other packages first. Ensure that recent versions of GNU `m4',
+ GNU Autoconf and GNU `gettext' are already installed at your site,
+ and if not, proceed to do this first. If you got to install these
+ things, beware that GNU `m4' must be fully installed before GNU
+ Autoconf is even _configured_.
+
+ To further ease the task of a package maintainer the `automake'
+ package was designed and implemented. GNU `gettext' now uses this
+ tool and the `Makefile's in the `intl/' and `po/' therefore know
+ about all the goals necessary for using `automake' and `libintl'
+ in one project.
+
+ Those four packages are only needed to you, as a maintainer; the
+ installers of your own package and end users do not really need
+ any of GNU `m4', GNU Autoconf, GNU `gettext', or GNU `automake'
+ for successfully installing and running your package, with messages
+ properly translated. But this is not completely true if you
+ provide internationalized shell scripts within your own package:
+ GNU `gettext' shall then be installed at the user site if the end
+ users want to see the translation of shell script messages.
+
+ * Your package should use Autoconf and have a `configure.in' or
+ `configure.ac' file. If it does not, you have to learn how. The
+ Autoconf documentation is quite well written, it is a good idea
+ that you print it and get familiar with it.
+
+ * Your C sources should have already been modified according to
+ instructions given earlier in this manual. *Note Sources::.
+
+ * Your `po/' directory should receive all PO files submitted to you
+ by the translator teams, each having `LL.po' as a name. This is
+ not usually easy to get translation work done before your package
+ gets internationalized and available! Since the cycle has to
+ start somewhere, the easiest for the maintainer is to start with
+ absolutely no PO files, and wait until various translator teams
+ get interested in your package, and submit PO files.
+
+
+ It is worth adding here a few words about how the maintainer should
+ideally behave with PO files submissions. As a maintainer, your role is
+to authentify the origin of the submission as being the representative
+of the appropriate translating teams of the Translation Project (forward
+the submission to `translation@iro.umontreal.ca' in case of doubt), to
+ensure that the PO file format is not severely broken and does not
+prevent successful installation, and for the rest, to merely to put
+these PO files in `po/' for distribution.
+
+ As a maintainer, you do not have to take on your shoulders the
+responsibility of checking if the translations are adequate or
+complete, and should avoid diving into linguistic matters. Translation
+teams drive themselves and are fully responsible of their linguistic
+choices for the Translation Project. Keep in mind that translator
+teams are _not_ driven by maintainers. You can help by carefully
+redirecting all communications and reports from users about linguistic
+matters to the appropriate translation team, or explain users how to
+reach or join their team. The simplest might be to send them the
+`ABOUT-NLS' file.
+
+ Maintainers should _never ever_ apply PO file bug reports
+themselves, short-cutting translation teams. If some translator has
+difficulty to get some of her points through her team, it should not be
+an issue for her to directly negotiate translations with maintainers.
+Teams ought to settle their problems themselves, if any. If you, as a
+maintainer, ever think there is a real problem with a team, please
+never try to _solve_ a team's problem on your own.
+
+
+File: gettext.info, Node: gettextize Invocation, Next: Adjusting Files, Prev: Prerequisites, Up: Maintainers
+
+Invoking the `gettextize' Program
+=================================
+
+ Some files are consistently and identically needed in every package
+internationalized through GNU `gettext'. As a matter of convenience,
+the `gettextize' program puts all these files right in your package.
+This program has the following synopsis:
+
+ gettextize [ OPTION... ] [ DIRECTORY ]
+
+and accepts the following options:
+
+`-c'
+`--copy'
+ Copy the needed files instead of making symbolic links. Using
+ links would allow the package to always use the latest `gettext'
+ code available on the system, but it might disturb some mechanism
+ the maintainer is used to apply to the sources. Because running
+ `gettextize' is easy there shouldn't be problems with using copies.
+
+`-f'
+`--force'
+ Force replacement of files which already exist.
+
+`--intl'
+ Install the libintl sources in a subdirectory named `intl/'. This
+ libintl will be used to provide internationalization on systems
+ that don't have GNU libintl installed. If this option is omitted,
+ the call to `AM_GNU_GETTEXT' in `configure.in' should read:
+ `AM_GNU_GETTEXT([external])', and internationalization will not be
+ enabled on systems lacking GNU gettext.
+
+`-h'
+`--help'
+ Display this help and exit.
+
+`--version'
+ Output version information and exit.
+
+ If DIRECTORY is given, this is the top level directory of a package
+to prepare for using GNU `gettext'. If not given, it is assumed that
+the current directory is the top level directory of such a package.
+
+ The program `gettextize' provides the following files. However, no
+existing file will be replaced unless the option `--force' (`-f') is
+specified.
+
+ 1. The `ABOUT-NLS' file is copied in the main directory of your
+ package, the one being at the top level. This file gives the main
+ indications about how to install and use the Native Language
+ Support features of your program. You might elect to use a more
+ recent copy of this `ABOUT-NLS' file than the one provided through
+ `gettextize', if you have one handy. You may also fetch a more
+ recent copy of file `ABOUT-NLS' from Translation Project sites,
+ and from most GNU archive sites.
+
+ 2. A `po/' directory is created for eventually holding all
+ translation files, but initially only containing the file
+ `po/Makefile.in.in' from the GNU `gettext' distribution. (beware
+ the double `.in' in the file name) and a few auxiliary files. If
+ the `po/' directory already exists, it will be preserved along
+ with the files it contains, and only `Makefile.in.in' and the
+ auxiliary files will be overwritten.
+
+ 3. Only of `--intl' has been specified: A `intl/' directory is
+ created and filled with most of the files originally in the
+ `intl/' directory of the GNU `gettext' distribution. Also, if
+ option `--force' (`-f') is given, the `intl/' directory is emptied
+ first.
+
+
+ If your site support symbolic links, `gettextize' will not actually
+copy the files into your package, but establish symbolic links instead.
+This avoids duplicating the disk space needed in all packages. Merely
+using the `-h' option while creating the `tar' archive of your
+distribution will resolve each link by an actual copy in the
+distribution archive. So, to insist, you really should use `-h' option
+with `tar' within your `dist' goal of your main `Makefile.in'.
+
+ It is interesting to understand that most new files for supporting
+GNU `gettext' facilities in one package go in `intl/' and `po/'
+subdirectories. One distinction between these two directories is that
+`intl/' is meant to be completely identical in all packages using GNU
+`gettext', while all newly created files, which have to be different,
+go into `po/'. There is a common `Makefile.in.in' in `po/', because
+the `po/' directory needs its own `Makefile', and it has been designed
+so it can be identical in all packages.
+
+
+File: gettext.info, Node: Adjusting Files, Prev: gettextize Invocation, Up: Maintainers
+
+Files You Must Create or Alter
+==============================
+
+ Besides files which are automatically added through `gettextize',
+there are many files needing revision for properly interacting with GNU
+`gettext'. If you are closely following GNU standards for Makefile
+engineering and auto-configuration, the adaptations should be easier to
+achieve. Here is a point by point description of the changes needed in
+each.
+
+ So, here comes a list of files, each one followed by a description of
+all alterations it needs. Many examples are taken out from the GNU
+`gettext' 0.11-pre2 distribution itself. You may indeed refer to the
+source code of the GNU `gettext' package, as it is intended to be a
+good example and master implementation for using its own functionality.
+
+* Menu:
+
+* po/POTFILES.in:: `POTFILES.in' in `po/'
+* po/LINGUAS:: `LINGUAS' in `po/'
+* po/Makevars:: `Makefile' pieces in `po/'
+* configure.in:: `configure.in' at top level
+* config.guess:: `config.guess', `config.sub' at top level
+* aclocal:: `aclocal.m4' at top level
+* acconfig:: `acconfig.h' at top level
+* Makefile:: `Makefile.in' at top level
+* src/Makefile:: `Makefile.in' in `src/'
+
+
+File: gettext.info, Node: po/POTFILES.in, Next: po/LINGUAS, Prev: Adjusting Files, Up: Adjusting Files
+
+`POTFILES.in' in `po/'
+----------------------
+
+ The `po/' directory should receive a file named `POTFILES.in'. This
+file tells which files, among all program sources, have marked strings
+needing translation. Here is an example of such a file:
+
+ # List of source files containing translatable strings.
+ # Copyright (C) 1995 Free Software Foundation, Inc.
+
+ # Common library files
+ lib/error.c
+ lib/getopt.c
+ lib/xmalloc.c
+
+ # Package source files
+ src/gettext.c
+ src/msgfmt.c
+ src/xgettext.c
+
+Hash-marked comments and white lines are ignored. All other lines list
+those source files containing strings marked for translation (*note
+Mark Keywords::), in a notation relative to the top level of your whole
+distribution, rather than the location of the `POTFILES.in' file itself.
+
+
+File: gettext.info, Node: po/LINGUAS, Next: po/Makevars, Prev: po/POTFILES.in, Up: Adjusting Files
+
+`LINGUAS' in `po/'
+------------------
+
+ The `po/' directory should also receive a file named `LINGUAS'.
+This file contains the list of available translations. It is a
+whitespace separated list. Hash-marked comments and white lines are
+ignored. Here is an example file:
+
+ # Set of available languages.
+ de fr
+
+This example means that German and French PO files are available, so
+that these languages are currently supported by your package. If you
+want to further restrict, at installation time, the set of installed
+languages, this should not be done by modifying the `LINGUAS' file, but
+rather by using the `LINGUAS' environment variable (*note Installers::).
+
+
+File: gettext.info, Node: po/Makevars, Next: configure.in, Prev: po/LINGUAS, Up: Adjusting Files
+
+`Makefile' pieces in `po/'
+--------------------------
+
+ The `po/' directory also has a file named `Makevars'. It can be
+left unmodified if your package has a single message domain and,
+accordingly, a single `po/' directory. Only packages which have
+multiple `po/' directories at different locations need to adjust the
+three variables defined in `Makevars'.
+
+ `po/Makevars' gets inserted into the `po/Makefile' when the latter
+is created. At the same time, all files called `Rules-*' in the `po/'
+directory get appended to the `po/Makefile'. They present an
+opportunity to add rules for special PO files to the Makefile, without
+needing to mess with `po/Makefile.in.in'.
+
+ GNU gettext comes with a `Rules-quot' file, containing rules for
+building catalogs `en@quot.po' and `en@boldquot.po'. The effect of
+`en@quot.po' is that people who set their `LANGUAGE' environment
+variable to `en@quot' will get messages with proper looking symmetric
+Unicode quotation marks instead of abusing the ASCII grave accent and
+the ASCII apostrophe for indicating quotations. To enable this catalog,
+simply add `en@quot' to the `po/LINGUAS' file. The effect of
+`en@boldquot.po' is that people who set `LANGUAGE' to `en@boldquot'
+will get not only proper quotation marks, but also the quoted text will
+be shown in a bold font on terminals and consoles. This catalog is
+useful only for command-line programs, not GUI programs. To enable it,
+similarly add `en@boldquot' to the `po/LINGUAS' file.
+
+
+File: gettext.info, Node: configure.in, Next: config.guess, Prev: po/Makevars, Up: Adjusting Files
+
+`configure.in' at top level
+---------------------------
+
+ `configure.in' or `configure.ac' - this is the source from which
+`autoconf' generates the `configure' script.
+
+ 1. Declare the package and version.
+
+ This is done by a set of lines like these:
+
+ PACKAGE=gettext
+ VERSION=0.11-pre2
+ AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
+ AC_SUBST(PACKAGE)
+ AC_SUBST(VERSION)
+
+ Of course, you replace `gettext' with the name of your package,
+ and `0.11-pre2' by its version numbers, exactly as they should
+ appear in the packaged `tar' file name of your distribution
+ (`gettext-0.11-pre2.tar.gz', here).
+
+ 2. Check for internationalization support.
+
+ Here is the main `m4' macro for triggering internationalization
+ support. Just add this line to `configure.in':
+
+ AM_GNU_GETTEXT
+
+ This call is purposely simple, even if it generates a lot of
+ configure time checking and actions.
+
+ If you have suppressed the `intl/' subdirectory by calling
+ `gettextize' without `--intl' option, this call should read
+
+ AM_GNU_GETTEXT([external])
+
+ 3. Have output files created.
+
+ The `AC_OUTPUT' directive, at the end of your `configure.in' file,
+ needs to be modified in two ways:
+
+ AC_OUTPUT([EXISTING CONFIGURATION FILES intl/Makefile po/Makefile.in],
+ [EXISTING ADDITIONAL ACTIONS])
+
+ The modification to the first argument to `AC_OUTPUT' asks for
+ substitution in the `intl/' and `po/' directories. Note the `.in'
+ suffix used for `po/' only. This is because the distributed file
+ is really `po/Makefile.in.in'.
+
+ If you have suppressed the `intl/' subdirectory by calling
+ `gettextize' without `--intl' option, then you don't need to add
+ `intl/Makefile' to the `AC_OUTPUT' line.
+
+
+
+File: gettext.info, Node: config.guess, Next: aclocal, Prev: configure.in, Up: Adjusting Files
+
+`config.guess', `config.sub' at top level
+-----------------------------------------
+
+ If you don't have suppressed the `intl/' subdirectory, you need to
+add the GNU `config.guess' and `config.sub' files to your distribution.
+They are needed because the `intl/' directory has platform dependent
+support for determining the locale's character encoding and therefore
+needs to identify the platform.
+
+ You can obtain the newest version of `config.guess' and `config.sub'
+from `ftp://ftp.gnu.org/pub/gnu/config/'. Less recent versions are
+also contained in the GNU `automake' and GNU `libtool' packages.
+
+ Normally, `config.guess' and `config.sub' are put at the top level
+of a distribution. But it is also possible to put them in a
+subdirectory, altogether with other configuration support files like
+`install-sh', `ltconfig', `ltmain.sh', `mkinstalldirs' or `missing'.
+All you need to do, other than moving the files, is to add the
+following line to your `configure.in'.
+
+ AC_CONFIG_AUX_DIR([SUBDIR])
+
+
+File: gettext.info, Node: aclocal, Next: acconfig, Prev: config.guess, Up: Adjusting Files
+
+`aclocal.m4' at top level
+-------------------------
+
+ If you do not have an `aclocal.m4' file in your distribution, the
+simplest is to concatenate the files `codeset.m4', `gettext.m4',
+`glibc21.m4', `iconv.m4', `isc-posix.m4', `lcmessage.m4', `progtest.m4'
+from GNU `gettext''s `m4/' directory into a single file. If you have
+suppressed the `intl/' directory, only `gettext.m4', `iconv.m4',
+`progtest.m4' need to be concatenated.
+
+ If you already have an `aclocal.m4' file, then you will have to
+merge the said macro files into your `aclocal.m4'. Note that if you
+are upgrading from a previous release of GNU `gettext', you should most
+probably _replace_ the macros (`AM_GNU_GETTEXT', etc.), as they usually
+change a little from one release of GNU `gettext' to the next. Their
+contents may vary as we get more experience with strange systems out
+there.
+
+ These macros check for the internationalization support functions
+and related informations. Hopefully, once stabilized, these macros
+might be integrated in the standard Autoconf set, because this piece of
+`m4' code will be the same for all projects using GNU `gettext'.
+
+
+File: gettext.info, Node: acconfig, Next: Makefile, Prev: aclocal, Up: Adjusting Files
+
+`acconfig.h' at top level
+-------------------------
+
+ Earlier GNU `gettext' releases required to put definitions for
+`ENABLE_NLS', `HAVE_GETTEXT' and `HAVE_LC_MESSAGES', `HAVE_STPCPY',
+`PACKAGE' and `VERSION' into an `acconfig.h' file. This is not needed
+any more; you can remove them from your `acconfig.h' file unless your
+package uses them independently from the `intl/' directory.
+
+
+File: gettext.info, Node: Makefile, Next: src/Makefile, Prev: acconfig, Up: Adjusting Files
+
+`Makefile.in' at top level
+--------------------------
+
+ Here are a few modifications you need to make to your main, top-level
+`Makefile.in' file.
+
+ 1. Add the following lines near the beginning of your `Makefile.in',
+ so the `dist:' goal will work properly (as explained further down):
+
+ PACKAGE = @PACKAGE@
+ VERSION = @VERSION@
+
+ 2. Add file `ABOUT-NLS' to the `DISTFILES' definition, so the file
+ gets distributed.
+
+ 3. Wherever you process subdirectories in your `Makefile.in', be sure
+ you also process dir subdirectories `intl' and `po'. Special
+ rules in the `Makefiles' take care for the case where no
+ internationalization is wanted.
+
+ If you are using Makefiles, either generated by automake, or
+ hand-written so they carefully follow the GNU coding standards,
+ the effected goals for which the new subdirectories must be
+ handled include `installdirs', `install', `uninstall', `clean',
+ `distclean'.
+
+ Here is an example of a canonical order of processing. In this
+ example, we also define `SUBDIRS' in `Makefile.in' for it to be
+ further used in the `dist:' goal.
+
+ SUBDIRS = doc intl lib src @POSUB@
+
+ Note that you must arrange for `make' to descend into the `intl'
+ directory before descending into other directories containing code
+ which make use of the `libintl.h' header file. For this reason,
+ here we mention `intl' before `lib' and `src'.
+
+ 4. A delicate point is the `dist:' goal, as both `intl/Makefile' and
+ `po/Makefile' will later assume that the proper directory has been
+ set up from the main `Makefile'. Here is an example at what the
+ `dist:' goal might look like:
+
+ distdir = $(PACKAGE)-$(VERSION)
+ dist: Makefile
+ rm -fr $(distdir)
+ mkdir $(distdir)
+ chmod 777 $(distdir)
+ for file in $(DISTFILES); do \
+ ln $$file $(distdir) 2>/dev/null || cp -p $$file $(distdir); \
+ done
+ for subdir in $(SUBDIRS); do \
+ mkdir $(distdir)/$$subdir || exit 1; \
+ chmod 777 $(distdir)/$$subdir; \
+ (cd $$subdir && $(MAKE) $@) || exit 1; \
+ done
+ tar chozf $(distdir).tar.gz $(distdir)
+ rm -fr $(distdir)
+
+
+
+File: gettext.info, Node: src/Makefile, Prev: Makefile, Up: Adjusting Files
+
+`Makefile.in' in `src/'
+-----------------------
+
+ Some of the modifications made in the main `Makefile.in' will also
+be needed in the `Makefile.in' from your package sources, which we
+assume here to be in the `src/' subdirectory. Here are all the
+modifications needed in `src/Makefile.in':
+
+ 1. In view of the `dist:' goal, you should have these lines near the
+ beginning of `src/Makefile.in':
+
+ PACKAGE = @PACKAGE@
+ VERSION = @VERSION@
+
+ 2. If not done already, you should guarantee that `top_srcdir' gets
+ defined. This will serve for `cpp' include files. Just add the
+ line:
+
+ top_srcdir = @top_srcdir@
+
+ 3. You might also want to define `subdir' as `src', later allowing
+ for almost uniform `dist:' goals in all your `Makefile.in'. At
+ list, the `dist:' goal below assume that you used:
+
+ subdir = src
+
+ 4. The `main' function of your program will normally call
+ `bindtextdomain' (see *note Triggering::), like this:
+
+ bindtextdomain (PACKAGE, LOCALEDIR);
+
+ To make LOCALEDIR known to the program, add the following lines to
+ Makefile.in:
+
+ datadir = @datadir@
+ localedir = $(datadir)/locale
+ DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@
+
+ Note that `@datadir@' defaults to `$(prefix)/share', thus
+ `$(localedir)' defaults to `$(prefix)/share/locale'.
+
+ 5. You should ensure that the final linking will use `@INTLLIBS@' as
+ a library. An easy way to achieve this is to manage that it gets
+ into `LIBS', like this:
+
+ LIBS = @INTLLIBS@ @LIBS@
+
+ In most packages internationalized with GNU `gettext', one will
+ find a directory `lib/' in which a library containing some helper
+ functions will be build. (You need at least the few functions
+ which the GNU `gettext' Library itself needs.) However some of
+ the functions in the `lib/' also give messages to the user which
+ of course should be translated, too. Taking care of this, the
+ support library (say `libsupport.a') should be placed before
+ `@INTLLIBS@' and `@LIBS@' in the above example. So one has to
+ write this:
+
+ LIBS = ../lib/libsupport.a @INTLLIBS@ @LIBS@
+
+ 6. You should also ensure that directory `intl/' will be searched for
+ C preprocessor include files in all circumstances. So, you have to
+ manage so both `-I../intl' and `-I$(top_srcdir)/intl' will be
+ given to the C compiler.
+
+ 7. Your `dist:' goal has to conform with others. Here is a
+ reasonable definition for it:
+
+ distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
+ dist: Makefile $(DISTFILES)
+ for file in $(DISTFILES); do \
+ ln $$file $(distdir) 2>/dev/null || cp -p $$file $(distdir); \
+ done
+
+
+
+File: gettext.info, Node: Programming Languages, Next: Conclusion, Prev: Maintainers, Up: Top
+
+Other Programming Languages
+***************************
+
+ While the presentation of `gettext' focuses mostly on C and
+implicitly applies to C++ as well, its scope is far broader than that:
+Many programming languages, scripting languages and other textual data
+like GUI resources or package descriptions can make use of the gettext
+approach.
+
+* Menu:
+
+* Language Implementors:: The Language Implementor's View
+* Programmers for other Languages:: The Programmer's View
+* Translators for other Languages:: The Translator's View
+* List of Programming Languages:: Individual Programming Languages
+* List of Data Formats:: Internationalizable Data
+
+
+File: gettext.info, Node: Language Implementors, Next: Programmers for other Languages, Prev: Programming Languages, Up: Programming Languages
+
+The Language Implementor's View
+===============================
+
+ All programming and scripting languages that have the notion of
+strings are eligible to supporting `gettext'. Supporting `gettext'
+means the following:
+
+ 1. You should add to the language a syntax for translatable strings.
+ In principle, a function call of `gettext' would do, but a
+ shorthand syntax helps keeping the legibility of internationalized
+ programs. For example, in C we use the syntax `_("string")', in
+ bash we use the syntax `$"string"', and in GNU awk we use the
+ shorthand `_"string"'.
+
+ 2. You should arrange that evaluation of such a translatable string at
+ runtime calls the `gettext' function, or performs equivalent
+ processing.
+
+ 3. Similarly, you should make the functions `ngettext', `dcgettext',
+ `dcngettext' available from within the language. These functions
+ are less often used, but are nevertheless necessary for particular
+ purposes: `ngettext' for correct plural handling, and `dcgettext'
+ and `dcngettext' for obeying other locale environment variables
+ than `LC_MESSAGES', such as `LC_TIME' or `LC_MONETARY'. For these
+ latter functions, you need to make the `LC_*' constants, available
+ in the C header `<locale.h>', referenceable from within the
+ language, usually either as enumeration values or as strings.
+
+ 4. You should allow the programmer to designate a message domain,
+ either by making the `textdomain' function available from within
+ the language, or by introducing a magic variable called
+ `TEXTDOMAIN'. Similarly, you should allow the programmer to
+ designate where to search for message catalogs, by providing
+ access to the `bindtextdomain' function.
+
+ 5. You should either perform a `setlocale (LC_ALL, "")' call during
+ the startup of your language runtime, or allow the programmer to
+ do so. Remember that gettext will act as a no-op if the
+ `LC_MESSAGES' and `LC_CTYPE' locale facets are not both set.
+
+ 6. A programmer should have a way to extract translatable strings
+ from a program into a PO file. The GNU `xgettext' program is being
+ extended to support very different programming languages. Please
+ contact the GNU `gettext' maintainers to help them doing this. If
+ the string extractor is best integrated into your language's
+ parser, GNU `xgettext' can function as a front end to your string
+ extractor.
+
+ 7. The language's library should have a string formatting facility
+ where the arguments of a format string are denoted by a positional
+ number or a name. This is needed because for some languages and
+ some messages with more than one substitutable argument, the
+ translation will need to output the substituted arguments in
+ different order. *Note c-format::.
+
+ 8. If the language has more than one implementation, and not all of
+ the implementations use `gettext', but the programs should be
+ portable across implementations, you should provide a no-i18n
+ emulation, that makes the other implementations accept programs
+ written for yours, without actually translating the strings.
+
+ 9. To help the programmer in the task of marking translatable strings,
+ which is usually performed using the Emacs PO mode, you are
+ welcome to contact the GNU `gettext' maintainers, so they can add
+ support for your language to `po-mode.el'.
+
+ On the implementation side, three approaches are possible, with
+different effects on portability and copyright:
+
+ * You may integrate the GNU `gettext''s `intl/' directory in your
+ package, as described in *Note Maintainers::. This allows you to
+ have internationalization on all kinds of platforms. Note that
+ when you then distribute your package, it legally falls under the
+ GNU General Public License, and the GNU project will be glad about
+ your contribution to the Free Software pool.
+
+ * You may link against GNU `gettext' functions if they are found in
+ the C library. For example, an autoconf test for `gettext()' and
+ `ngettext()' will detect this situation. For the moment, this test
+ will succeed on GNU systems and not on other platforms. No severe
+ copyright restrictions apply.
+
+ * You may emulate or reimplement the GNU `gettext' functionality.
+ This has the advantage of full portability and no copyright
+ restrictions, but also the drawback that you have to reimplement
+ the GNU `gettext' features (such as the `LANGUAGE' environment
+ variable, the locale aliases database, the automatic charset
+ conversion, and plural handling).
+
+
+File: gettext.info, Node: Programmers for other Languages, Next: Translators for other Languages, Prev: Language Implementors, Up: Programming Languages
+
+The Programmer's View
+=====================
+
+ For the programmer, the general procedure is the same as for the C
+language. The Emacs PO mode supports other languages, and the GNU
+`xgettext' string extractor recognizes other languages based on the
+file extension or a command-line option. In some languages,
+`setlocale' is not needed because it is already performed by the
+underlying language runtime.
+
+
+File: gettext.info, Node: Translators for other Languages, Next: List of Programming Languages, Prev: Programmers for other Languages, Up: Programming Languages
+
+The Translator's View
+=====================
+
+ The translator works exactly as in the C language case. The only
+difference is that when translating format strings, she has to be aware
+of the language's particular syntax for positional arguments in format
+strings.
+
diff --git a/doc/gettext.info-7 b/doc/gettext.info-7
new file mode 100644
index 0000000..30197ad
--- /dev/null
+++ b/doc/gettext.info-7
@@ -0,0 +1,2352 @@
+This is gettext.info, produced by makeinfo version 4.0 from
+gettext.texi.
+
+INFO-DIR-SECTION GNU Gettext Utilities
+START-INFO-DIR-ENTRY
+* Gettext: (gettext). GNU gettext utilities.
+* gettextize: (gettext)gettextize Invocation. Prepare a package for gettext.
+* msgfmt: (gettext)msgfmt Invocation. Make MO files out of PO files.
+* msgmerge: (gettext)msgmerge Invocation. Update two PO files into one.
+* xgettext: (gettext)xgettext Invocation. Extract strings into a PO file.
+END-INFO-DIR-ENTRY
+
+ This file provides documentation for GNU `gettext' utilities. It
+also serves as a reference for the free Translation Project.
+
+ Copyright (C) 1995, 1996, 1997, 1998, 2001 Free Software Foundation,
+Inc.
+
+ Permission is granted to make and distribute verbatim copies of this
+manual provided the copyright notice and this permission notice are
+preserved on all copies.
+
+ Permission is granted to copy and distribute modified versions of
+this manual under the conditions for verbatim copying, provided that
+the entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+
+ Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be stated in a
+translation approved by the Foundation.
+
+
+File: gettext.info, Node: List of Programming Languages, Next: List of Data Formats, Prev: Translators for other Languages, Up: Programming Languages
+
+Individual Programming Languages
+================================
+
+* Menu:
+
+* C:: C, C++, Objective C
+* sh:: sh - Shell Script
+* bash:: bash - Bourne-Again Shell Script
+* Python:: Python
+* Common Lisp:: GNU clisp - Common Lisp
+* clisp C:: GNU clisp C sources
+* Emacs Lisp:: Emacs Lisp
+* librep:: librep
+* Smalltalk:: GNU Smalltalk
+* Java:: Java
+* gawk:: GNU awk
+* Pascal:: Pascal - Free Pascal Compiler
+* wxWindows:: wxWindows library
+* YCP:: YCP - YaST2 scripting language
+* Perl:: Perl
+* PHP:: PHP Hypertext Preprocessor
+* Pike:: Pike
+
+
+File: gettext.info, Node: C, Next: sh, Prev: List of Programming Languages, Up: List of Programming Languages
+
+C, C++, Objective C
+-------------------
+
+RPMs
+ gcc, gpp, gobjc, glibc, gettext
+
+File extension
+ For C: `c', `h'.
+ For C++: `C', `c++', `cc', `cxx', `cpp', `hpp'.
+ For Objective C: `m'.
+
+String syntax
+ `"abc"'
+
+gettext shorthand
+ `_("abc")'
+
+gettext/ngettext functions
+ `gettext', `dgettext', `dcgettext', `ngettext', `dngettext',
+ `dcngettext'
+
+textdomain
+ `textdomain' function
+
+bindtextdomain
+ `bindtextdomain' function
+
+setlocale
+ Programmer must call `setlocale (LC_ALL, "")'
+
+Prerequisite
+ `#include <libintl.h>'
+ `#include <locale.h>'
+ `#define _(string) gettext (string)'
+
+Use or emulate GNU gettext
+ Use
+
+Extractor
+ `xgettext -k_'
+
+Formatting with positions
+ `fprintf "%2$d %1$d"' (POSIX but not C 99)
+
+Portability
+ autoconf (gettext.m4) and #if ENABLE_NLS
+
+po-mode marking
+ yes
+
+
+File: gettext.info, Node: sh, Next: bash, Prev: C, Up: List of Programming Languages
+
+sh - Shell Script
+-----------------
+
+RPMs
+ bash, gettext
+
+File extension
+ `sh'
+
+String syntax
+ `"abc"', `'abc'', `abc'
+
+gettext shorthand
+ `"`gettext "abc"`"'
+
+gettext/ngettext functions
+ `gettext', `ngettext' programs
+
+textdomain
+ environment variable `TEXTDOMAIN'
+
+bindtextdomain
+ environment variable `TEXTDOMAINDIR'
+
+setlocale
+ automatic
+
+Prerequisite
+ --
+
+Use or emulate GNU gettext
+ use
+
+Extractor
+ --
+
+Formatting with positions
+ --
+
+Portability
+ --
+
+po-mode marking
+ --
+
+
+File: gettext.info, Node: bash, Next: Python, Prev: sh, Up: List of Programming Languages
+
+bash - Bourne-Again Shell Script
+--------------------------------
+
+RPMs
+ bash 2.0 or newer, gettext
+
+File extension
+ `sh'
+
+String syntax
+ `"abc"', `'abc'', `abc'
+
+gettext shorthand
+ `$"abc"'
+
+gettext/ngettext functions
+ `gettext', `ngettext' programs
+
+textdomain
+ environment variable `TEXTDOMAIN'
+
+bindtextdomain
+ environment variable `TEXTDOMAINDIR'
+
+setlocale
+ automatic
+
+Prerequisite
+ --
+
+Use or emulate GNU gettext
+ use
+
+Extractor
+ `bash --dump-po-strings'
+
+Formatting with positions
+ --
+
+Portability
+ --
+
+po-mode marking
+ --
+
+
+File: gettext.info, Node: Python, Next: Common Lisp, Prev: bash, Up: List of Programming Languages
+
+Python
+------
+
+RPMs
+ python
+
+File extension
+ `py'
+
+String syntax
+ `'abc'', `u'abc'', `r'abc'', `ur'abc'',
+ `"abc"', `u"abc"', `r"abc"', `ur"abc"',
+ `'''abc'''', `u'''abc'''', `r'''abc'''', `ur'''abc'''',
+ `"""abc"""', `u"""abc"""', `r"""abc"""', `ur"""abc"""'
+
+gettext shorthand
+ `_('abc')' etc.
+
+gettext/ngettext functions
+ `gettext.gettext', `gettext.dgettext', also `ugettext'
+
+textdomain
+ `gettext.textdomain' function, or `gettext.install(DOMAIN)'
+ function
+
+bindtextdomain
+ `gettext.bindtextdomain' function, or
+ `gettext.install(DOMAIN,LOCALEDIR)' function
+
+setlocale
+ not used by the gettext emulation
+
+Prerequisite
+ `import gettext'
+
+Use or emulate GNU gettext
+ emulate. Bug: uses only the first found .mo file, not all of them
+
+Extractor
+ pygettext.py
+
+Formatting with positions
+ `'...%(ident)d...' % { 'ident': value }'
+
+Portability
+ fully portable
+
+po-mode marking
+ --
+
+
+File: gettext.info, Node: Common Lisp, Next: clisp C, Prev: Python, Up: List of Programming Languages
+
+GNU clisp - Common Lisp
+-----------------------
+
+RPMs
+ clisp 2.28 or newer
+
+File extension
+ `lisp'
+
+String syntax
+ `"abc"'
+
+gettext shorthand
+ `(_ "abc")', `(ENGLISH "abc")'
+
+gettext/ngettext functions
+ `i18n:gettext', `i18n:ngettext'
+
+textdomain
+ `i18n:textdomain'
+
+bindtextdomain
+ `i18n:textdomaindir'
+
+setlocale
+ automatic
+
+Prerequisite
+ --
+
+Use or emulate GNU gettext
+ use
+
+Extractor
+ `clisp-xgettext'
+
+Formatting with positions
+ `format "~1@*~D ~0@*~D"'
+
+Portability
+ On platforms without gettext, no translation.
+
+po-mode marking
+ --
+
+
+File: gettext.info, Node: clisp C, Next: Emacs Lisp, Prev: Common Lisp, Up: List of Programming Languages
+
+GNU clisp C sources
+-------------------
+
+RPMs
+ clisp
+
+File extension
+ `d'
+
+String syntax
+ `"abc"'
+
+gettext shorthand
+ `ENGLISH ? "abc" : ""'
+ `GETTEXT("abc")'
+ `GETTEXTL("abc")'
+
+gettext/ngettext functions
+ `clgettext', `clgettextl'
+
+textdomain
+ --
+
+bindtextdomain
+ --
+
+setlocale
+ automatic
+
+Prerequisite
+ `#include "lispbibl.c"'
+
+Use or emulate GNU gettext
+ use
+
+Extractor
+ `clisp-xgettext'
+
+Formatting with positions
+ `fprintf "%2$d %1$d"' (POSIX but not C 99)
+
+Portability
+ On platforms without gettext, no translation.
+
+po-mode marking
+ --
+
+
+File: gettext.info, Node: Emacs Lisp, Next: librep, Prev: clisp C, Up: List of Programming Languages
+
+Emacs Lisp
+----------
+
+RPMs
+ emacs, xemacs
+
+File extension
+ `el'
+
+String syntax
+ `"abc"'
+
+gettext shorthand
+ `(_"abc")'
+
+gettext/ngettext functions
+ `gettext', `dgettext' (xemacs only)
+
+textdomain
+ `domain' special form (xemacs only)
+
+bindtextdomain
+ `bind-text-domain' function (xemacs only)
+
+setlocale
+ automatic
+
+Prerequisite
+ --
+
+Use or emulate GNU gettext
+ use
+
+Extractor
+ xpot
+
+Formatting with positions
+ `format "%2$d %1$d"'
+
+Portability
+ Only XEmacs. Without `I18N3' defined at build time, no translation.
+
+po-mode marking
+ --
+
+
+File: gettext.info, Node: librep, Next: Smalltalk, Prev: Emacs Lisp, Up: List of Programming Languages
+
+librep
+------
+
+RPMs
+ librep
+
+File extension
+ `jl'
+
+String syntax
+ `"abc"'
+
+gettext shorthand
+ `(_"abc")'
+
+gettext/ngettext functions
+ `gettext'
+
+textdomain
+ `textdomain' function
+
+bindtextdomain
+ `bindtextdomain' function
+
+setlocale
+ --
+
+Prerequisite
+ `(require 'rep.i18n.gettext)'
+
+Use or emulate GNU gettext
+ use
+
+Extractor
+ `rep-xgettext'
+
+Formatting with positions
+ `format "%2$d %1$d"'
+
+Portability
+ On platforms without gettext, no translation.
+
+po-mode marking
+ --
+
+
+File: gettext.info, Node: Smalltalk, Next: Java, Prev: librep, Up: List of Programming Languages
+
+GNU Smalltalk
+-------------
+
+RPMs
+ smalltalk
+
+File extension
+ `st'
+
+String syntax
+ `''abc'''
+
+gettext shorthand
+ `NLS? ''abc'''
+ `self? ''abc'''
+
+gettext/ngettext functions
+ `LcMessagesDomain>>#at:', `LcMessagesDomain>>#at:plural:with:'
+
+textdomain
+ `LcMessages>>#?' (returns a `LcMessagesDomain' object).
+ Example: `Locale default messages ? 'gettext''
+
+bindtextdomain
+ `LcMessages>>#domain:directory:' (returns a `LcMessagesDomain'
+ object)
+
+setlocale
+ You can obtain any `Locale' object from `Locale' class methods
+ such as `#fromString:' or `#default'.
+ Example: `Locale default messages' gives the `LcMessages' object
+ for the default locale.
+
+Prerequisite
+ The gettext code is contained in the `I18N' package.
+
+Use or emulate GNU gettext
+ emulate
+
+Extractor
+ --
+
+Formatting with positions
+ `'%1 %2' bindWith: 'Hello' with: 'world''
+
+Portability
+ fully portable
+
+po-mode marking
+ --
+
+
+File: gettext.info, Node: Java, Next: gawk, Prev: Smalltalk, Up: List of Programming Languages
+
+Java
+----
+
+RPMs
+ java, java2
+
+File extension
+ `java'
+
+String syntax
+ "abc"
+
+gettext shorthand
+ _("abc")
+
+gettext/ngettext functions
+ `GettextResource.gettext', `GettextResource.ngettext'
+
+textdomain
+ --, use `ResourceBundle.getResource' instead
+
+bindtextdomain
+ --, use CLASSPATH instead
+
+setlocale
+ automatic
+
+Prerequisite
+ --
+
+Use or emulate GNU gettext
+ --, uses a Java specific message catalog format
+
+Extractor
+ `xgettext -k_'
+
+Formatting with positions
+ `MessageFormat.format "{1,number} {0,number}"'
+
+Portability
+ fully portable
+
+po-mode marking
+ --
+
+ Before marking strings as internationalizable, uses of the string
+concatenation operator need to be converted to `MessageFormat'
+applications. For example, `"file "+filename+" not found"' becomes
+`MessageFormat.format("file {0} not found", new Object[] { filename })'.
+Only after this is done, can the strings be marked and extracted.
+
+ GNU gettext uses the native Java internationalization mechanism,
+namely `ResourceBundle's. To convert a PO file to a ResourceBundle, the
+`msgfmt' program can be used with the option `--java' or `--java2'. To
+convert a ResourceBundle back to a PO file, the `msgunfmt' program can
+be used with the option `--java'.
+
+ Two different programmatic APIs can be used to access
+ResourceBundles. Note that both APIs work with all kinds of
+ResourceBundles, whether GNU gettext generated classes, or other
+`.class' or `.properties' files.
+
+ 1. The `java.util.ResourceBundle' API.
+
+ In particular, its `getString' function returns a string
+ translation. Note that a missing translation yields a
+ `MissingResourceException'.
+
+ This has the advantage of being the standard API. And it does not
+ require any additional libraries, only the `msgfmt' generated
+ `.class' files. But it cannot do plural handling, even if the
+ resource was generated from a PO file with plural handling.
+
+ 2. The `gnu.gettext.GettextResource' API.
+
+ Reference documentation in Javadoc 1.1 style format is in the
+ javadoc1 directory (javadoc1/tree.html) and in Javadoc 2 style
+ format in the javadoc2 directory (javadoc2/index.html).
+
+ Its `gettext' function returns a string translation. Note that when
+ a translation is missing, the MSGID argument is returned unchanged.
+
+ This has the advantage of having the `ngettext' function for plural
+ handling.
+
+ To use this API, one needs the `libintl.jar' file which is part of
+ the GNU gettext package and distributed under the LGPL.
+
+
+File: gettext.info, Node: gawk, Next: Pascal, Prev: Java, Up: List of Programming Languages
+
+GNU awk
+-------
+
+RPMs
+ gawk 3.1 or newer
+
+File extension
+ `awk'
+
+String syntax
+ `"abc"'
+
+gettext shorthand
+ `_"abc"'
+
+gettext/ngettext functions
+ `dcgettext'
+
+textdomain
+ `TEXTDOMAIN' variable
+
+bindtextdomain
+ `bindtextdomain' function
+
+setlocale
+ automatic, but missing `setlocale (LC_MESSAGES, "")' in gawk-3.1.0
+
+Prerequisite
+ --
+
+Use or emulate GNU gettext
+ use
+
+Extractor
+ `gawk --gen-po'
+
+Formatting with positions
+ `printf "%2$d %1$d"' (GNU awk only)
+
+Portability
+ On platforms without gettext, no translation. On non-GNU awks,
+ you must define `dcgettext' and `bindtextdomain' yourself.
+
+po-mode marking
+ --
+
+
+File: gettext.info, Node: Pascal, Next: wxWindows, Prev: gawk, Up: List of Programming Languages
+
+Pascal - Free Pascal Compiler
+-----------------------------
+
+RPMs
+ fpk
+
+File extension
+ `pp', `pas'
+
+String syntax
+ `'abc''
+
+gettext shorthand
+ automatic
+
+gettext/ngettext functions
+ --, use `ResourceString' data type instead
+
+textdomain
+ --, use `TranslateResourceStrings' function instead
+
+bindtextdomain
+ --, use `TranslateResourceStrings' function instead
+
+setlocale
+ automatic, but uses only LANG, not LC_MESSAGES or LC_ALL
+
+Prerequisite
+ `{$mode delphi}' or `{$mode objfpc}'
+ `uses gettext;'
+
+Use or emulate GNU gettext
+ emulate partially
+
+Extractor
+ `ppc386' followed by `xgettext' or `rstconv'
+
+Formatting with positions
+ `uses sysutils;'
+ `format "%1:d %0:d"'
+
+Portability
+ ?
+
+po-mode marking
+ --
+
+ The Pascal compiler has special support for the `ResourceString' data
+type. It generates a `.rst' file. This is then converted to a `.pot'
+file by use of `xgettext' or `rstconv'. At runtime, a `.mo' file
+corresponding to translations of this `.pot' file can be loaded using
+the `TranslateResourceStrings' function in the `gettext' unit.
+
+
+File: gettext.info, Node: wxWindows, Next: YCP, Prev: Pascal, Up: List of Programming Languages
+
+wxWindows library
+-----------------
+
+RPMs
+ wxGTK, gettext
+
+File extension
+ `cpp'
+
+String syntax
+ `"abc"'
+
+gettext shorthand
+ `_("abc")'
+
+gettext/ngettext functions
+ `wxLocale::GetString', `wxGetTranslation'
+
+textdomain
+ `wxLocale::AddCatalog'
+
+bindtextdomain
+ `wxLocale::AddCatalogLookupPathPrefix'
+
+setlocale
+ `wxLocale::Init', `wxSetLocale'
+
+Prerequisite
+ `#include <wx/intl.h>'
+
+Use or emulate GNU gettext
+ emulate, see `include/wx/intl.h' and `src/common/intl.cpp'
+
+Extractor
+ `xgettext'
+
+Formatting with positions
+ --
+
+Portability
+ fully portable
+
+po-mode marking
+ yes
+
+
+File: gettext.info, Node: YCP, Next: Perl, Prev: wxWindows, Up: List of Programming Languages
+
+YCP - YaST2 scripting language
+------------------------------
+
+RPMs
+ libycp, libycp-devel, yast2-core-translator
+
+File extension
+ `ycp'
+
+String syntax
+ `"abc"'
+
+gettext shorthand
+ `_("abc")'
+
+gettext/ngettext functions
+ `_()' with 1 or 3 arguments
+
+textdomain
+ `textdomain' statement
+
+bindtextdomain
+ --
+
+setlocale
+ --
+
+Prerequisite
+ --
+
+Use or emulate GNU gettext
+ use maps instead
+
+Extractor
+ `xgettext'
+
+Formatting with positions
+ `sformat "%2 %1"'
+
+Portability
+ fully portable
+
+po-mode marking
+ --
+
+
+File: gettext.info, Node: Perl, Next: PHP, Prev: YCP, Up: List of Programming Languages
+
+Perl
+----
+
+RPMs
+ perl, perl-gettext
+
+File extension
+ `pl', `PL'
+
+String syntax
+ `"abc"'
+
+gettext shorthand
+ --
+
+gettext/ngettext functions
+ `gettext', `dgettext', `dcgettext'
+
+textdomain
+ `textdomain' function
+
+bindtextdomain
+ `bindtextdomain' function
+
+setlocale
+ Use `setlocale (LC_ALL, "");'
+
+Prerequisite
+ `use POSIX;'
+ `use Locale::gettext;'
+
+Use or emulate GNU gettext
+ use
+
+Extractor
+ ?
+
+Formatting with positions
+ --
+
+Portability
+ ?
+
+po-mode marking
+ --
+
+
+File: gettext.info, Node: PHP, Next: Pike, Prev: Perl, Up: List of Programming Languages
+
+PHP Hypertext Preprocessor
+--------------------------
+
+RPMs
+ mod_php4, phplib, phpdoc
+
+File extension
+ `php', `php3', `php4'
+
+String syntax
+ `"abc"'
+
+gettext shorthand
+ `_("abc")'
+
+gettext/ngettext functions
+ `gettext', `dgettext', `dcgettext'
+
+textdomain
+ `textdomain' function
+
+bindtextdomain
+ `bindtextdomain' function
+
+setlocale
+ `setlocale' function
+
+Prerequisite
+ --
+
+Use or emulate GNU gettext
+ use
+
+Extractor
+ --
+
+Formatting with positions
+ --
+
+Portability
+ On platforms without gettext, the functions are not available.
+
+po-mode marking
+ --
+
+
+File: gettext.info, Node: Pike, Prev: PHP, Up: List of Programming Languages
+
+Pike
+----
+
+RPMs
+ roxen
+
+File extension
+ `pike'
+
+String syntax
+ `"abc"'
+
+gettext shorthand
+ --
+
+gettext/ngettext functions
+ `gettext', `dgettext', `dcgettext'
+
+textdomain
+ `textdomain' function
+
+bindtextdomain
+ `bindtextdomain' function
+
+setlocale
+ `setlocale' function
+
+Prerequisite
+ `import Locale.Gettext;'
+
+Use or emulate GNU gettext
+ use
+
+Extractor
+ --
+
+Formatting with positions
+ --
+
+Portability
+ On platforms without gettext, the functions are not available.
+
+po-mode marking
+ --
+
+
+File: gettext.info, Node: List of Data Formats, Prev: List of Programming Languages, Up: Programming Languages
+
+Internationalizable Data
+========================
+
+ Here is a list of other data formats which can be internationalized
+using GNU gettext.
+
+* Menu:
+
+* POT:: POT - Portable Object Template
+* RST:: Resource String Table
+
+
+File: gettext.info, Node: POT, Next: RST, Prev: List of Data Formats, Up: List of Data Formats
+
+POT - Portable Object Template
+------------------------------
+
+RPMs
+ gettext
+
+File extension
+ `pot', `po'
+
+Extractor
+ `xgettext'
+
+
+File: gettext.info, Node: RST, Prev: POT, Up: List of Data Formats
+
+Resource String Table
+---------------------
+
+RPMs
+ fpk
+
+File extension
+ `rst'
+
+Extractor
+ `xgettext', `rstconv'
+
+
+File: gettext.info, Node: Conclusion, Next: Language Codes, Prev: Programming Languages, Up: Top
+
+Concluding Remarks
+******************
+
+ We would like to conclude this GNU `gettext' 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.
+
+* Menu:
+
+* History:: History of GNU `gettext'
+* References:: Related Readings
+
+
+File: gettext.info, Node: History, Next: References, Prev: Conclusion, Up: Conclusion
+
+History of GNU `gettext'
+========================
+
+ Internationalization concerns and algorithms have been informally
+and casually discussed for years in GNU, sometimes around GNU `libc',
+maybe around the incoming `Hurd', or otherwise (nobody clearly
+remembers). And even then, when the work started for real, this was
+somewhat independently of these previous discussions.
+
+ This all began in July 1994, when Patrick D'Cruze had the idea and
+initiative of internationalizing version 3.9.2 of GNU `fileutils'. He
+then asked Jim Meyering, the maintainer, how to get those changes
+folded into an official release. That first draft was full of
+`#ifdef'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 `glocale', at that time.
+
+ Jim implemented `glocale' and got a lot of exhausting feedback from
+Patrick and Richard, of course, but also from Mitchum DSouza (who wrote
+a `catgets'-like package), Roland McGrath, maybe David MacKenzie,
+Franc,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, `glocale' was torn apart.
+
+ While Jim took some distance and time and became dad for a second
+time, Roland wanted to get GNU `libc' internationalized, and got Ulrich
+Drepper involved in that project. Instead of starting from `glocale',
+Ulrich rewrote something from scratch, but more conformant to the set
+of guidelines who emerged out of the `glocale' effort. Then, Ulrich
+got people from the previous forum to involve themselves into this new
+project, and the switch from `glocale' to what was first named
+`msgutils', renamed `nlsutils', and later `gettext', became officially
+accepted by Richard in May 1995 or so.
+
+ Let's summarize by saying that Ulrich Drepper wrote GNU `gettext' 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 `THANKS' file which comes with the GNU `gettext' distribution.
+
+ While this was being done, Franc,ois adapted half a dozen of GNU
+packages to `glocale' first, then later to `gettext', 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.
+
+ Franc,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 `gettext' Texinfo manual.
+
+ In 1997, Ulrich Drepper released the GNU libc 2.0, which included the
+`gettext', `textdomain' and `bindtextdomain' functions.
+
+ In 2000, Ulrich Drepper added plural form handling (the `ngettext'
+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.
+
+ Ulrich being quite busy in his role of General Maintainer of GNU
+libc, he handed over the GNU `gettext' 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.
+
+
+File: gettext.info, Node: References, Prev: History, Up: Conclusion
+
+Related Readings
+================
+
+ Eugene H. Dorr (`dorre@well.com') maintains an interesting
+bibliography on internationalization matters, called
+`Internationalization Reference List', which is available as:
+ ftp://ftp.ora.com/pub/examples/nutshell/ujip/doc/i18n-books.txt
+
+ Michael Gschwind (`mike@vlsivie.tuwien.ac.at') maintains a
+Frequently Asked Questions (FAQ) list, entitled `Programming for
+Internationalisation'. 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
+`comp.unix.questions', `comp.std.internat',
+`comp.software.international', `comp.lang.c', `comp.windows.x',
+`comp.std.c', `comp.answers' and `news.answers'. The home location of
+this document is:
+ ftp://ftp.vlsivie.tuwien.ac.at/pub/8bit/ISO-programming
+
+ Patrick D'Cruze (`pdcruze@li.org') wrote a tutorial about NLS
+matters, and Jochen Hein (`Hein@student.tu-clausthal.de') took over the
+responsibility of maintaining it. It may be found as:
+ ftp://sunsite.unc.edu/pub/Linux/utils/nls/catalogs/Incoming/...
+ ...locale-tutorial-0.8.txt.gz
+
+This site is mirrored in:
+ ftp://ftp.ibp.fr/pub/linux/sunsite/
+
+ A French version of the same tutorial should be findable at:
+ ftp://ftp.ibp.fr/pub/linux/french/docs/
+
+together with French translations of many Linux-related documents.
+
+
+File: gettext.info, Node: Language Codes, Next: Country Codes, Prev: Conclusion, Up: Top
+
+Language Codes
+**************
+
+ The ISO 639 standard defines two character codes for many languages.
+All abbreviations for languages used in the Translation Project should
+come from this standard.
+
+`aa'
+ Afar.
+
+`ab'
+ Abkhazian.
+
+`ae'
+ Avestan.
+
+`af'
+ Afrikaans.
+
+`am'
+ Amharic.
+
+`ar'
+ Arabic.
+
+`as'
+ Assamese.
+
+`ay'
+ Aymara.
+
+`az'
+ Azerbaijani.
+
+`ba'
+ Bashkir.
+
+`be'
+ Byelorussian; Belarusian.
+
+`bg'
+ Bulgarian.
+
+`bh'
+ Bihari.
+
+`bi'
+ Bislama.
+
+`bn'
+ Bengali; Bangla.
+
+`bo'
+ Tibetan.
+
+`br'
+ Breton.
+
+`bs'
+ Bosnian.
+
+`ca'
+ Catalan.
+
+`ce'
+ Chechen.
+
+`ch'
+ Chamorro.
+
+`co'
+ Corsican.
+
+`cs'
+ Czech.
+
+`cu'
+ Church Slavic.
+
+`cv'
+ Chuvash.
+
+`cy'
+ Welsh.
+
+`da'
+ Danish.
+
+`de'
+ German.
+
+`dz'
+ Dzongkha; Bhutani.
+
+`el'
+ Greek.
+
+`en'
+ English.
+
+`eo'
+ Esperanto.
+
+`es'
+ Spanish.
+
+`et'
+ Estonian.
+
+`eu'
+ Basque.
+
+`fa'
+ Persian.
+
+`fi'
+ Finnish.
+
+`fj'
+ Fijian; Fiji.
+
+`fo'
+ Faroese.
+
+`fr'
+ French.
+
+`fy'
+ Frisian.
+
+`ga'
+ Irish.
+
+`gd'
+ Scots; Gaelic.
+
+`gl'
+ Gallegan; Galician.
+
+`gn'
+ Guarani.
+
+`gu'
+ Gujarati.
+
+`gv'
+ Manx.
+
+`ha'
+ Hausa (?).
+
+`he'
+ Hebrew (formerly iw).
+
+`hi'
+ Hindi.
+
+`ho'
+ Hiri Motu.
+
+`hr'
+ Croatian.
+
+`hu'
+ Hungarian.
+
+`hy'
+ Armenian.
+
+`hz'
+ Herero.
+
+`ia'
+ Interlingua.
+
+`id'
+ Indonesian (formerly in).
+
+`ie'
+ Interlingue.
+
+`ik'
+ Inupiak.
+
+`is'
+ Icelandic.
+
+`it'
+ Italian.
+
+`iu'
+ Inuktitut.
+
+`ja'
+ Japanese.
+
+`jw'
+ Javanese.
+
+`ka'
+ Georgian.
+
+`ki'
+ Kikuyu.
+
+`kj'
+ Kuanyama.
+
+`kk'
+ Kazakh.
+
+`kl'
+ Kalaallisut; Greenlandic.
+
+`km'
+ Khmer; Cambodian.
+
+`kn'
+ Kannada.
+
+`ko'
+ Korean.
+
+`ks'
+ Kashmiri.
+
+`ku'
+ Kurdish.
+
+`kv'
+ Komi.
+
+`kw'
+ Cornish.
+
+`ky'
+ Kirghiz.
+
+`la'
+ Latin.
+
+`lb'
+ Letzeburgesch.
+
+`ln'
+ Lingala.
+
+`lo'
+ Lao; Laotian.
+
+`lt'
+ Lithuanian.
+
+`lv'
+ Latvian; Lettish.
+
+`mg'
+ Malagasy.
+
+`mh'
+ Marshall.
+
+`mi'
+ Maori.
+
+`mk'
+ Macedonian.
+
+`ml'
+ Malayalam.
+
+`mn'
+ Mongolian.
+
+`mo'
+ Moldavian.
+
+`mr'
+ Marathi.
+
+`ms'
+ Malay.
+
+`mt'
+ Maltese.
+
+`my'
+ Burmese.
+
+`na'
+ Nauru.
+
+`nb'
+ Norwegian Bokmaal.
+
+`nd'
+ Ndebele, North.
+
+`ne'
+ Nepali.
+
+`ng'
+ Ndonga.
+
+`nl'
+ Dutch.
+
+`nn'
+ Norwegian Nynorsk.
+
+`no'
+ Norwegian.
+
+`nr'
+ Ndebele, South.
+
+`nv'
+ Navajo.
+
+`ny'
+ Chichewa; Nyanja.
+
+`oc'
+ Occitan; Provenc,al.
+
+`om'
+ (Afan) Oromo.
+
+`or'
+ Oriya.
+
+`os'
+ Ossetian; Ossetic.
+
+`pa'
+ Panjabi; Punjabi.
+
+`pi'
+ Pali.
+
+`pl'
+ Polish.
+
+`ps'
+ Pashto, Pushto.
+
+`pt'
+ Portuguese.
+
+`qu'
+ Quechua.
+
+`rm'
+ Rhaeto-Romance.
+
+`rn'
+ Rundi; Kirundi.
+
+`ro'
+ Romanian.
+
+`ru'
+ Russian.
+
+`rw'
+ Kinyarwanda.
+
+`sa'
+ Sanskrit.
+
+`sc'
+ Sardinian.
+
+`sd'
+ Sindhi.
+
+`se'
+ Northern Sami.
+
+`sg'
+ Sango; Sangro.
+
+`si'
+ Sinhalese.
+
+`sk'
+ Slovak.
+
+`sl'
+ Slovenian.
+
+`sm'
+ Samoan.
+
+`sn'
+ Shona.
+
+`so'
+ Somali.
+
+`sq'
+ Albanian.
+
+`sr'
+ Serbian.
+
+`ss'
+ Swati; Siswati.
+
+`st'
+ Sesotho; Sotho, Southern.
+
+`su'
+ Sundanese.
+
+`sv'
+ Swedish.
+
+`sw'
+ Swahili.
+
+`ta'
+ Tamil.
+
+`te'
+ Telugu.
+
+`tg'
+ Tajik.
+
+`th'
+ Thai.
+
+`ti'
+ Tigrinya.
+
+`tk'
+ Turkmen.
+
+`tl'
+ Tagalog.
+
+`tn'
+ Tswana; Setswana.
+
+`to'
+ Tonga (?).
+
+`tr'
+ Turkish.
+
+`ts'
+ Tsonga.
+
+`tt'
+ Tatar.
+
+`tw'
+ Twi.
+
+`ty'
+ Tahitian.
+
+`ug'
+ Uighur.
+
+`uk'
+ Ukrainian.
+
+`ur'
+ Urdu.
+
+`uz'
+ Uzbek.
+
+`vi'
+ Vietnamese.
+
+`vo'
+ Volapu"k; Volapuk.
+
+`wo'
+ Wolof.
+
+`xh'
+ Xhosa.
+
+`yi'
+ Yiddish (formerly ji).
+
+`yo'
+ Yoruba.
+
+`za'
+ Zhuang.
+
+`zh'
+ Chinese.
+
+`zu'
+ Zulu.
+
+
+File: gettext.info, Node: Country Codes, Prev: Language Codes, Up: Top
+
+Country Codes
+*************
+
+ The ISO 3166 standard defines two character codes for many countries
+and territories. All abbreviations for countries used in the
+Translation Project should come from this standard.
+
+`AD'
+ Andorra.
+
+`AE'
+ United Arab Emirates.
+
+`AF'
+ Afghanistan.
+
+`AG'
+ Antigua and Barbuda.
+
+`AI'
+ Anguilla.
+
+`AL'
+ Albania.
+
+`AM'
+ Armenia.
+
+`AN'
+ Netherlands Antilles.
+
+`AO'
+ Angola.
+
+`AQ'
+ Antarctica.
+
+`AR'
+ Argentina.
+
+`AS'
+ Samoa (American).
+
+`AT'
+ Austria.
+
+`AU'
+ Australia.
+
+`AW'
+ Aruba.
+
+`AZ'
+ Azerbaijan.
+
+`BA'
+ Bosnia and Herzegovina.
+
+`BB'
+ Barbados.
+
+`BD'
+ Bangladesh.
+
+`BE'
+ Belgium.
+
+`BF'
+ Burkina Faso.
+
+`BG'
+ Bulgaria.
+
+`BH'
+ Bahrain.
+
+`BI'
+ Burundi.
+
+`BJ'
+ Benin.
+
+`BM'
+ Bermuda.
+
+`BN'
+ Brunei.
+
+`BO'
+ Bolivia.
+
+`BR'
+ Brazil.
+
+`BS'
+ Bahamas.
+
+`BT'
+ Bhutan.
+
+`BV'
+ Bouvet Island.
+
+`BW'
+ Botswana.
+
+`BY'
+ Belarus.
+
+`BZ'
+ Belize.
+
+`CA'
+ Canada.
+
+`CC'
+ Cocos (Keeling) Islands.
+
+`CD'
+ Congo (Dem. Rep.).
+
+`CF'
+ Central African Rep..
+
+`CG'
+ Congo (Rep.).
+
+`CH'
+ Switzerland.
+
+`CI'
+ Cote d'Ivoire.
+
+`CK'
+ Cook Islands.
+
+`CL'
+ Chile.
+
+`CM'
+ Cameroon.
+
+`CN'
+ China.
+
+`CO'
+ Colombia.
+
+`CR'
+ Costa Rica.
+
+`CU'
+ Cuba.
+
+`CV'
+ Cape Verde.
+
+`CX'
+ Christmas Island.
+
+`CY'
+ Cyprus.
+
+`CZ'
+ Czech Republic.
+
+`DE'
+ Germany.
+
+`DJ'
+ Djibouti.
+
+`DK'
+ Denmark.
+
+`DM'
+ Dominica.
+
+`DO'
+ Dominican Republic.
+
+`DZ'
+ Algeria.
+
+`EC'
+ Ecuador.
+
+`EE'
+ Estonia.
+
+`EG'
+ Egypt.
+
+`EH'
+ Western Sahara.
+
+`ER'
+ Eritrea.
+
+`ES'
+ Spain.
+
+`ET'
+ Ethiopia.
+
+`FI'
+ Finland.
+
+`FJ'
+ Fiji.
+
+`FK'
+ Falkland Islands.
+
+`FM'
+ Micronesia.
+
+`FO'
+ Faeroe Islands.
+
+`FR'
+ France.
+
+`GA'
+ Gabon.
+
+`GB'
+ Britain (UK).
+
+`GD'
+ Grenada.
+
+`GE'
+ Georgia.
+
+`GF'
+ French Guiana.
+
+`GH'
+ Ghana.
+
+`GI'
+ Gibraltar.
+
+`GL'
+ Greenland.
+
+`GM'
+ Gambia.
+
+`GN'
+ Guinea.
+
+`GP'
+ Guadeloupe.
+
+`GQ'
+ Equatorial Guinea.
+
+`GR'
+ Greece.
+
+`GS'
+ South Georgia and the South Sandwich Islands.
+
+`GT'
+ Guatemala.
+
+`GU'
+ Guam.
+
+`GW'
+ Guinea-Bissau.
+
+`GY'
+ Guyana.
+
+`HK'
+ Hong Kong.
+
+`HM'
+ Heard Island and McDonald Islands.
+
+`HN'
+ Honduras.
+
+`HR'
+ Croatia.
+
+`HT'
+ Haiti.
+
+`HU'
+ Hungary.
+
+`ID'
+ Indonesia.
+
+`IE'
+ Ireland.
+
+`IL'
+ Israel.
+
+`IN'
+ India.
+
+`IO'
+ British Indian Ocean Territory.
+
+`IQ'
+ Iraq.
+
+`IR'
+ Iran.
+
+`IS'
+ Iceland.
+
+`IT'
+ Italy.
+
+`JM'
+ Jamaica.
+
+`JO'
+ Jordan.
+
+`JP'
+ Japan.
+
+`KE'
+ Kenya.
+
+`KG'
+ Kyrgyzstan.
+
+`KH'
+ Cambodia.
+
+`KI'
+ Kiribati.
+
+`KM'
+ Comoros.
+
+`KN'
+ St Kitts and Nevis.
+
+`KP'
+ Korea (North).
+
+`KR'
+ Korea (South).
+
+`KW'
+ Kuwait.
+
+`KY'
+ Cayman Islands.
+
+`KZ'
+ Kazakhstan.
+
+`LA'
+ Laos.
+
+`LB'
+ Lebanon.
+
+`LC'
+ St Lucia.
+
+`LI'
+ Liechtenstein.
+
+`LK'
+ Sri Lanka.
+
+`LR'
+ Liberia.
+
+`LS'
+ Lesotho.
+
+`LT'
+ Lithuania.
+
+`LU'
+ Luxembourg.
+
+`LV'
+ Latvia.
+
+`LY'
+ Libya.
+
+`MA'
+ Morocco.
+
+`MC'
+ Monaco.
+
+`MD'
+ Moldova.
+
+`MG'
+ Madagascar.
+
+`MH'
+ Marshall Islands.
+
+`MK'
+ Macedonia.
+
+`ML'
+ Mali.
+
+`MM'
+ Myanmar (Burma).
+
+`MN'
+ Mongolia.
+
+`MO'
+ Macao.
+
+`MP'
+ Northern Mariana Islands.
+
+`MQ'
+ Martinique.
+
+`MR'
+ Mauritania.
+
+`MS'
+ Montserrat.
+
+`MT'
+ Malta.
+
+`MU'
+ Mauritius.
+
+`MV'
+ Maldives.
+
+`MW'
+ Malawi.
+
+`MX'
+ Mexico.
+
+`MY'
+ Malaysia.
+
+`MZ'
+ Mozambique.
+
+`NA'
+ Namibia.
+
+`NC'
+ New Caledonia.
+
+`NE'
+ Niger.
+
+`NF'
+ Norfolk Island.
+
+`NG'
+ Nigeria.
+
+`NI'
+ Nicaragua.
+
+`NL'
+ Netherlands.
+
+`NO'
+ Norway.
+
+`NP'
+ Nepal.
+
+`NR'
+ Nauru.
+
+`NU'
+ Niue.
+
+`NZ'
+ New Zealand.
+
+`OM'
+ Oman.
+
+`PA'
+ Panama.
+
+`PE'
+ Peru.
+
+`PF'
+ French Polynesia.
+
+`PG'
+ Papua New Guinea.
+
+`PH'
+ Philippines.
+
+`PK'
+ Pakistan.
+
+`PL'
+ Poland.
+
+`PM'
+ St Pierre and Miquelon.
+
+`PN'
+ Pitcairn.
+
+`PR'
+ Puerto Rico.
+
+`PS'
+ Palestine.
+
+`PT'
+ Portugal.
+
+`PW'
+ Palau.
+
+`PY'
+ Paraguay.
+
+`QA'
+ Qatar.
+
+`RE'
+ Reunion.
+
+`RO'
+ Romania.
+
+`RU'
+ Russia.
+
+`RW'
+ Rwanda.
+
+`SA'
+ Saudi Arabia.
+
+`SB'
+ Solomon Islands.
+
+`SC'
+ Seychelles.
+
+`SD'
+ Sudan.
+
+`SE'
+ Sweden.
+
+`SG'
+ Singapore.
+
+`SH'
+ St Helena.
+
+`SI'
+ Slovenia.
+
+`SJ'
+ Svalbard and Jan Mayen.
+
+`SK'
+ Slovakia.
+
+`SL'
+ Sierra Leone.
+
+`SM'
+ San Marino.
+
+`SN'
+ Senegal.
+
+`SO'
+ Somalia.
+
+`SR'
+ Suriname.
+
+`ST'
+ Sao Tome and Principe.
+
+`SV'
+ El Salvador.
+
+`SY'
+ Syria.
+
+`SZ'
+ Swaziland.
+
+`TC'
+ Turks and Caicos Is.
+
+`TD'
+ Chad.
+
+`TF'
+ French Southern and Antarctic Lands.
+
+`TG'
+ Togo.
+
+`TH'
+ Thailand.
+
+`TJ'
+ Tajikistan.
+
+`TK'
+ Tokelau.
+
+`TM'
+ Turkmenistan.
+
+`TN'
+ Tunisia.
+
+`TO'
+ Tonga.
+
+`TP'
+ East Timor.
+
+`TR'
+ Turkey.
+
+`TT'
+ Trinidad and Tobago.
+
+`TV'
+ Tuvalu.
+
+`TW'
+ Taiwan.
+
+`TZ'
+ Tanzania.
+
+`UA'
+ Ukraine.
+
+`UG'
+ Uganda.
+
+`UM'
+ US minor outlying islands.
+
+`US'
+ United States.
+
+`UY'
+ Uruguay.
+
+`UZ'
+ Uzbekistan.
+
+`VA'
+ Vatican City.
+
+`VC'
+ St Vincent.
+
+`VE'
+ Venezuela.
+
+`VG'
+ Virgin Islands (UK).
+
+`VI'
+ Virgin Islands (US).
+
+`VN'
+ Vietnam.
+
+`VU'
+ Vanuatu.
+
+`WF'
+ Wallis and Futuna.
+
+`WS'
+ Samoa (Western).
+
+`YE'
+ Yemen.
+
+`YT'
+ Mayotte.
+
+`YU'
+ Yugoslavia.
+
+`ZA'
+ South Africa.
+
+`ZM'
+ Zambia.
+
+`ZW'
+ Zimbabwe.
+
+
diff --git a/doc/gettext_15.html b/doc/gettext_15.html
new file mode 100644
index 0000000..932a986
--- /dev/null
+++ b/doc/gettext_15.html
@@ -0,0 +1,523 @@
+<HTML>
+<HEAD>
+<!-- This HTML file has been created by texi2html 1.52a
+ from gettext.texi on 30 November 2001 -->
+
+<TITLE>GNU gettext utilities - A Language Codes</TITLE>
+</HEAD>
+<BODY>
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_14.html">previous</A>, <A HREF="gettext_16.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+<P><HR><P>
+
+
+<H1><A NAME="SEC208" HREF="gettext_toc.html#TOC208">A Language Codes</A></H1>
+
+<P>
+The ISO 639 standard defines two character codes for many languages.
+All abbreviations for languages used in the Translation Project should
+come from this standard.
+
+</P>
+<DL COMPACT>
+
+<DT><SAMP>`aa&acute;</SAMP>
+<DD>
+Afar.
+<DT><SAMP>`ab&acute;</SAMP>
+<DD>
+Abkhazian.
+<DT><SAMP>`ae&acute;</SAMP>
+<DD>
+Avestan.
+<DT><SAMP>`af&acute;</SAMP>
+<DD>
+Afrikaans.
+<DT><SAMP>`am&acute;</SAMP>
+<DD>
+Amharic.
+<DT><SAMP>`ar&acute;</SAMP>
+<DD>
+Arabic.
+<DT><SAMP>`as&acute;</SAMP>
+<DD>
+Assamese.
+<DT><SAMP>`ay&acute;</SAMP>
+<DD>
+Aymara.
+<DT><SAMP>`az&acute;</SAMP>
+<DD>
+Azerbaijani.
+<DT><SAMP>`ba&acute;</SAMP>
+<DD>
+Bashkir.
+<DT><SAMP>`be&acute;</SAMP>
+<DD>
+Byelorussian; Belarusian.
+<DT><SAMP>`bg&acute;</SAMP>
+<DD>
+Bulgarian.
+<DT><SAMP>`bh&acute;</SAMP>
+<DD>
+Bihari.
+<DT><SAMP>`bi&acute;</SAMP>
+<DD>
+Bislama.
+<DT><SAMP>`bn&acute;</SAMP>
+<DD>
+Bengali; Bangla.
+<DT><SAMP>`bo&acute;</SAMP>
+<DD>
+Tibetan.
+<DT><SAMP>`br&acute;</SAMP>
+<DD>
+Breton.
+<DT><SAMP>`bs&acute;</SAMP>
+<DD>
+Bosnian.
+<DT><SAMP>`ca&acute;</SAMP>
+<DD>
+Catalan.
+<DT><SAMP>`ce&acute;</SAMP>
+<DD>
+Chechen.
+<DT><SAMP>`ch&acute;</SAMP>
+<DD>
+Chamorro.
+<DT><SAMP>`co&acute;</SAMP>
+<DD>
+Corsican.
+<DT><SAMP>`cs&acute;</SAMP>
+<DD>
+Czech.
+<DT><SAMP>`cu&acute;</SAMP>
+<DD>
+Church Slavic.
+<DT><SAMP>`cv&acute;</SAMP>
+<DD>
+Chuvash.
+<DT><SAMP>`cy&acute;</SAMP>
+<DD>
+Welsh.
+<DT><SAMP>`da&acute;</SAMP>
+<DD>
+Danish.
+<DT><SAMP>`de&acute;</SAMP>
+<DD>
+German.
+<DT><SAMP>`dz&acute;</SAMP>
+<DD>
+Dzongkha; Bhutani.
+<DT><SAMP>`el&acute;</SAMP>
+<DD>
+Greek.
+<DT><SAMP>`en&acute;</SAMP>
+<DD>
+English.
+<DT><SAMP>`eo&acute;</SAMP>
+<DD>
+Esperanto.
+<DT><SAMP>`es&acute;</SAMP>
+<DD>
+Spanish.
+<DT><SAMP>`et&acute;</SAMP>
+<DD>
+Estonian.
+<DT><SAMP>`eu&acute;</SAMP>
+<DD>
+Basque.
+<DT><SAMP>`fa&acute;</SAMP>
+<DD>
+Persian.
+<DT><SAMP>`fi&acute;</SAMP>
+<DD>
+Finnish.
+<DT><SAMP>`fj&acute;</SAMP>
+<DD>
+Fijian; Fiji.
+<DT><SAMP>`fo&acute;</SAMP>
+<DD>
+Faroese.
+<DT><SAMP>`fr&acute;</SAMP>
+<DD>
+French.
+<DT><SAMP>`fy&acute;</SAMP>
+<DD>
+Frisian.
+<DT><SAMP>`ga&acute;</SAMP>
+<DD>
+Irish.
+<DT><SAMP>`gd&acute;</SAMP>
+<DD>
+Scots; Gaelic.
+<DT><SAMP>`gl&acute;</SAMP>
+<DD>
+Gallegan; Galician.
+<DT><SAMP>`gn&acute;</SAMP>
+<DD>
+Guarani.
+<DT><SAMP>`gu&acute;</SAMP>
+<DD>
+Gujarati.
+<DT><SAMP>`gv&acute;</SAMP>
+<DD>
+Manx.
+<DT><SAMP>`ha&acute;</SAMP>
+<DD>
+Hausa (?).
+<DT><SAMP>`he&acute;</SAMP>
+<DD>
+Hebrew (formerly iw).
+<DT><SAMP>`hi&acute;</SAMP>
+<DD>
+Hindi.
+<DT><SAMP>`ho&acute;</SAMP>
+<DD>
+Hiri Motu.
+<DT><SAMP>`hr&acute;</SAMP>
+<DD>
+Croatian.
+<DT><SAMP>`hu&acute;</SAMP>
+<DD>
+Hungarian.
+<DT><SAMP>`hy&acute;</SAMP>
+<DD>
+Armenian.
+<DT><SAMP>`hz&acute;</SAMP>
+<DD>
+Herero.
+<DT><SAMP>`ia&acute;</SAMP>
+<DD>
+Interlingua.
+<DT><SAMP>`id&acute;</SAMP>
+<DD>
+Indonesian (formerly in).
+<DT><SAMP>`ie&acute;</SAMP>
+<DD>
+Interlingue.
+<DT><SAMP>`ik&acute;</SAMP>
+<DD>
+Inupiak.
+<DT><SAMP>`is&acute;</SAMP>
+<DD>
+Icelandic.
+<DT><SAMP>`it&acute;</SAMP>
+<DD>
+Italian.
+<DT><SAMP>`iu&acute;</SAMP>
+<DD>
+Inuktitut.
+<DT><SAMP>`ja&acute;</SAMP>
+<DD>
+Japanese.
+<DT><SAMP>`jw&acute;</SAMP>
+<DD>
+Javanese.
+<DT><SAMP>`ka&acute;</SAMP>
+<DD>
+Georgian.
+<DT><SAMP>`ki&acute;</SAMP>
+<DD>
+Kikuyu.
+<DT><SAMP>`kj&acute;</SAMP>
+<DD>
+Kuanyama.
+<DT><SAMP>`kk&acute;</SAMP>
+<DD>
+Kazakh.
+<DT><SAMP>`kl&acute;</SAMP>
+<DD>
+Kalaallisut; Greenlandic.
+<DT><SAMP>`km&acute;</SAMP>
+<DD>
+Khmer; Cambodian.
+<DT><SAMP>`kn&acute;</SAMP>
+<DD>
+Kannada.
+<DT><SAMP>`ko&acute;</SAMP>
+<DD>
+Korean.
+<DT><SAMP>`ks&acute;</SAMP>
+<DD>
+Kashmiri.
+<DT><SAMP>`ku&acute;</SAMP>
+<DD>
+Kurdish.
+<DT><SAMP>`kv&acute;</SAMP>
+<DD>
+Komi.
+<DT><SAMP>`kw&acute;</SAMP>
+<DD>
+Cornish.
+<DT><SAMP>`ky&acute;</SAMP>
+<DD>
+Kirghiz.
+<DT><SAMP>`la&acute;</SAMP>
+<DD>
+Latin.
+<DT><SAMP>`lb&acute;</SAMP>
+<DD>
+Letzeburgesch.
+<DT><SAMP>`ln&acute;</SAMP>
+<DD>
+Lingala.
+<DT><SAMP>`lo&acute;</SAMP>
+<DD>
+Lao; Laotian.
+<DT><SAMP>`lt&acute;</SAMP>
+<DD>
+Lithuanian.
+<DT><SAMP>`lv&acute;</SAMP>
+<DD>
+Latvian; Lettish.
+<DT><SAMP>`mg&acute;</SAMP>
+<DD>
+Malagasy.
+<DT><SAMP>`mh&acute;</SAMP>
+<DD>
+Marshall.
+<DT><SAMP>`mi&acute;</SAMP>
+<DD>
+Maori.
+<DT><SAMP>`mk&acute;</SAMP>
+<DD>
+Macedonian.
+<DT><SAMP>`ml&acute;</SAMP>
+<DD>
+Malayalam.
+<DT><SAMP>`mn&acute;</SAMP>
+<DD>
+Mongolian.
+<DT><SAMP>`mo&acute;</SAMP>
+<DD>
+Moldavian.
+<DT><SAMP>`mr&acute;</SAMP>
+<DD>
+Marathi.
+<DT><SAMP>`ms&acute;</SAMP>
+<DD>
+Malay.
+<DT><SAMP>`mt&acute;</SAMP>
+<DD>
+Maltese.
+<DT><SAMP>`my&acute;</SAMP>
+<DD>
+Burmese.
+<DT><SAMP>`na&acute;</SAMP>
+<DD>
+Nauru.
+<DT><SAMP>`nb&acute;</SAMP>
+<DD>
+Norwegian Bokm&aring;l.
+<DT><SAMP>`nd&acute;</SAMP>
+<DD>
+Ndebele, North.
+<DT><SAMP>`ne&acute;</SAMP>
+<DD>
+Nepali.
+<DT><SAMP>`ng&acute;</SAMP>
+<DD>
+Ndonga.
+<DT><SAMP>`nl&acute;</SAMP>
+<DD>
+Dutch.
+<DT><SAMP>`nn&acute;</SAMP>
+<DD>
+Norwegian Nynorsk.
+<DT><SAMP>`no&acute;</SAMP>
+<DD>
+Norwegian.
+<DT><SAMP>`nr&acute;</SAMP>
+<DD>
+Ndebele, South.
+<DT><SAMP>`nv&acute;</SAMP>
+<DD>
+Navajo.
+<DT><SAMP>`ny&acute;</SAMP>
+<DD>
+Chichewa; Nyanja.
+<DT><SAMP>`oc&acute;</SAMP>
+<DD>
+Occitan; Proven&ccedil;al.
+<DT><SAMP>`om&acute;</SAMP>
+<DD>
+(Afan) Oromo.
+<DT><SAMP>`or&acute;</SAMP>
+<DD>
+Oriya.
+<DT><SAMP>`os&acute;</SAMP>
+<DD>
+Ossetian; Ossetic.
+<DT><SAMP>`pa&acute;</SAMP>
+<DD>
+Panjabi; Punjabi.
+<DT><SAMP>`pi&acute;</SAMP>
+<DD>
+Pali.
+<DT><SAMP>`pl&acute;</SAMP>
+<DD>
+Polish.
+<DT><SAMP>`ps&acute;</SAMP>
+<DD>
+Pashto, Pushto.
+<DT><SAMP>`pt&acute;</SAMP>
+<DD>
+Portuguese.
+<DT><SAMP>`qu&acute;</SAMP>
+<DD>
+Quechua.
+<DT><SAMP>`rm&acute;</SAMP>
+<DD>
+Rhaeto-Romance.
+<DT><SAMP>`rn&acute;</SAMP>
+<DD>
+Rundi; Kirundi.
+<DT><SAMP>`ro&acute;</SAMP>
+<DD>
+Romanian.
+<DT><SAMP>`ru&acute;</SAMP>
+<DD>
+Russian.
+<DT><SAMP>`rw&acute;</SAMP>
+<DD>
+Kinyarwanda.
+<DT><SAMP>`sa&acute;</SAMP>
+<DD>
+Sanskrit.
+<DT><SAMP>`sc&acute;</SAMP>
+<DD>
+Sardinian.
+<DT><SAMP>`sd&acute;</SAMP>
+<DD>
+Sindhi.
+<DT><SAMP>`se&acute;</SAMP>
+<DD>
+Northern Sami.
+<DT><SAMP>`sg&acute;</SAMP>
+<DD>
+Sango; Sangro.
+<DT><SAMP>`si&acute;</SAMP>
+<DD>
+Sinhalese.
+<DT><SAMP>`sk&acute;</SAMP>
+<DD>
+Slovak.
+<DT><SAMP>`sl&acute;</SAMP>
+<DD>
+Slovenian.
+<DT><SAMP>`sm&acute;</SAMP>
+<DD>
+Samoan.
+<DT><SAMP>`sn&acute;</SAMP>
+<DD>
+Shona.
+<DT><SAMP>`so&acute;</SAMP>
+<DD>
+Somali.
+<DT><SAMP>`sq&acute;</SAMP>
+<DD>
+Albanian.
+<DT><SAMP>`sr&acute;</SAMP>
+<DD>
+Serbian.
+<DT><SAMP>`ss&acute;</SAMP>
+<DD>
+Swati; Siswati.
+<DT><SAMP>`st&acute;</SAMP>
+<DD>
+Sesotho; Sotho, Southern.
+<DT><SAMP>`su&acute;</SAMP>
+<DD>
+Sundanese.
+<DT><SAMP>`sv&acute;</SAMP>
+<DD>
+Swedish.
+<DT><SAMP>`sw&acute;</SAMP>
+<DD>
+Swahili.
+<DT><SAMP>`ta&acute;</SAMP>
+<DD>
+Tamil.
+<DT><SAMP>`te&acute;</SAMP>
+<DD>
+Telugu.
+<DT><SAMP>`tg&acute;</SAMP>
+<DD>
+Tajik.
+<DT><SAMP>`th&acute;</SAMP>
+<DD>
+Thai.
+<DT><SAMP>`ti&acute;</SAMP>
+<DD>
+Tigrinya.
+<DT><SAMP>`tk&acute;</SAMP>
+<DD>
+Turkmen.
+<DT><SAMP>`tl&acute;</SAMP>
+<DD>
+Tagalog.
+<DT><SAMP>`tn&acute;</SAMP>
+<DD>
+Tswana; Setswana.
+<DT><SAMP>`to&acute;</SAMP>
+<DD>
+Tonga (?).
+<DT><SAMP>`tr&acute;</SAMP>
+<DD>
+Turkish.
+<DT><SAMP>`ts&acute;</SAMP>
+<DD>
+Tsonga.
+<DT><SAMP>`tt&acute;</SAMP>
+<DD>
+Tatar.
+<DT><SAMP>`tw&acute;</SAMP>
+<DD>
+Twi.
+<DT><SAMP>`ty&acute;</SAMP>
+<DD>
+Tahitian.
+<DT><SAMP>`ug&acute;</SAMP>
+<DD>
+Uighur.
+<DT><SAMP>`uk&acute;</SAMP>
+<DD>
+Ukrainian.
+<DT><SAMP>`ur&acute;</SAMP>
+<DD>
+Urdu.
+<DT><SAMP>`uz&acute;</SAMP>
+<DD>
+Uzbek.
+<DT><SAMP>`vi&acute;</SAMP>
+<DD>
+Vietnamese.
+<DT><SAMP>`vo&acute;</SAMP>
+<DD>
+Volap&uuml;k; Volapuk.
+<DT><SAMP>`wo&acute;</SAMP>
+<DD>
+Wolof.
+<DT><SAMP>`xh&acute;</SAMP>
+<DD>
+Xhosa.
+<DT><SAMP>`yi&acute;</SAMP>
+<DD>
+Yiddish (formerly ji).
+<DT><SAMP>`yo&acute;</SAMP>
+<DD>
+Yoruba.
+<DT><SAMP>`za&acute;</SAMP>
+<DD>
+Zhuang.
+<DT><SAMP>`zh&acute;</SAMP>
+<DD>
+Chinese.
+<DT><SAMP>`zu&acute;</SAMP>
+<DD>
+Zulu.
+</DL>
+
+<P><HR><P>
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_14.html">previous</A>, <A HREF="gettext_16.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
+</BODY>
+</HTML>
diff --git a/doc/gettext_16.html b/doc/gettext_16.html
new file mode 100644
index 0000000..1e6332c
--- /dev/null
+++ b/doc/gettext_16.html
@@ -0,0 +1,745 @@
+<HTML>
+<HEAD>
+<!-- This HTML file has been created by texi2html 1.52a
+ from gettext.texi on 30 November 2001 -->
+
+<TITLE>GNU gettext utilities - B Country Codes</TITLE>
+</HEAD>
+<BODY>
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_15.html">previous</A>, next, last section, <A HREF="gettext_toc.html">table of contents</A>.
+<P><HR><P>
+
+
+<H1><A NAME="SEC209" HREF="gettext_toc.html#TOC209">B Country Codes</A></H1>
+
+<P>
+The ISO 3166 standard defines two character codes for many countries
+and territories. All abbreviations for countries used in the Translation
+Project should come from this standard.
+
+</P>
+<DL COMPACT>
+
+<DT><SAMP>`AD&acute;</SAMP>
+<DD>
+Andorra.
+<DT><SAMP>`AE&acute;</SAMP>
+<DD>
+United Arab Emirates.
+<DT><SAMP>`AF&acute;</SAMP>
+<DD>
+Afghanistan.
+<DT><SAMP>`AG&acute;</SAMP>
+<DD>
+Antigua and Barbuda.
+<DT><SAMP>`AI&acute;</SAMP>
+<DD>
+Anguilla.
+<DT><SAMP>`AL&acute;</SAMP>
+<DD>
+Albania.
+<DT><SAMP>`AM&acute;</SAMP>
+<DD>
+Armenia.
+<DT><SAMP>`AN&acute;</SAMP>
+<DD>
+Netherlands Antilles.
+<DT><SAMP>`AO&acute;</SAMP>
+<DD>
+Angola.
+<DT><SAMP>`AQ&acute;</SAMP>
+<DD>
+Antarctica.
+<DT><SAMP>`AR&acute;</SAMP>
+<DD>
+Argentina.
+<DT><SAMP>`AS&acute;</SAMP>
+<DD>
+Samoa (American).
+<DT><SAMP>`AT&acute;</SAMP>
+<DD>
+Austria.
+<DT><SAMP>`AU&acute;</SAMP>
+<DD>
+Australia.
+<DT><SAMP>`AW&acute;</SAMP>
+<DD>
+Aruba.
+<DT><SAMP>`AZ&acute;</SAMP>
+<DD>
+Azerbaijan.
+<DT><SAMP>`BA&acute;</SAMP>
+<DD>
+Bosnia and Herzegovina.
+<DT><SAMP>`BB&acute;</SAMP>
+<DD>
+Barbados.
+<DT><SAMP>`BD&acute;</SAMP>
+<DD>
+Bangladesh.
+<DT><SAMP>`BE&acute;</SAMP>
+<DD>
+Belgium.
+<DT><SAMP>`BF&acute;</SAMP>
+<DD>
+Burkina Faso.
+<DT><SAMP>`BG&acute;</SAMP>
+<DD>
+Bulgaria.
+<DT><SAMP>`BH&acute;</SAMP>
+<DD>
+Bahrain.
+<DT><SAMP>`BI&acute;</SAMP>
+<DD>
+Burundi.
+<DT><SAMP>`BJ&acute;</SAMP>
+<DD>
+Benin.
+<DT><SAMP>`BM&acute;</SAMP>
+<DD>
+Bermuda.
+<DT><SAMP>`BN&acute;</SAMP>
+<DD>
+Brunei.
+<DT><SAMP>`BO&acute;</SAMP>
+<DD>
+Bolivia.
+<DT><SAMP>`BR&acute;</SAMP>
+<DD>
+Brazil.
+<DT><SAMP>`BS&acute;</SAMP>
+<DD>
+Bahamas.
+<DT><SAMP>`BT&acute;</SAMP>
+<DD>
+Bhutan.
+<DT><SAMP>`BV&acute;</SAMP>
+<DD>
+Bouvet Island.
+<DT><SAMP>`BW&acute;</SAMP>
+<DD>
+Botswana.
+<DT><SAMP>`BY&acute;</SAMP>
+<DD>
+Belarus.
+<DT><SAMP>`BZ&acute;</SAMP>
+<DD>
+Belize.
+<DT><SAMP>`CA&acute;</SAMP>
+<DD>
+Canada.
+<DT><SAMP>`CC&acute;</SAMP>
+<DD>
+Cocos (Keeling) Islands.
+<DT><SAMP>`CD&acute;</SAMP>
+<DD>
+Congo (Dem. Rep.).
+<DT><SAMP>`CF&acute;</SAMP>
+<DD>
+Central African Rep..
+<DT><SAMP>`CG&acute;</SAMP>
+<DD>
+Congo (Rep.).
+<DT><SAMP>`CH&acute;</SAMP>
+<DD>
+Switzerland.
+<DT><SAMP>`CI&acute;</SAMP>
+<DD>
+Cote d'Ivoire.
+<DT><SAMP>`CK&acute;</SAMP>
+<DD>
+Cook Islands.
+<DT><SAMP>`CL&acute;</SAMP>
+<DD>
+Chile.
+<DT><SAMP>`CM&acute;</SAMP>
+<DD>
+Cameroon.
+<DT><SAMP>`CN&acute;</SAMP>
+<DD>
+China.
+<DT><SAMP>`CO&acute;</SAMP>
+<DD>
+Colombia.
+<DT><SAMP>`CR&acute;</SAMP>
+<DD>
+Costa Rica.
+<DT><SAMP>`CU&acute;</SAMP>
+<DD>
+Cuba.
+<DT><SAMP>`CV&acute;</SAMP>
+<DD>
+Cape Verde.
+<DT><SAMP>`CX&acute;</SAMP>
+<DD>
+Christmas Island.
+<DT><SAMP>`CY&acute;</SAMP>
+<DD>
+Cyprus.
+<DT><SAMP>`CZ&acute;</SAMP>
+<DD>
+Czech Republic.
+<DT><SAMP>`DE&acute;</SAMP>
+<DD>
+Germany.
+<DT><SAMP>`DJ&acute;</SAMP>
+<DD>
+Djibouti.
+<DT><SAMP>`DK&acute;</SAMP>
+<DD>
+Denmark.
+<DT><SAMP>`DM&acute;</SAMP>
+<DD>
+Dominica.
+<DT><SAMP>`DO&acute;</SAMP>
+<DD>
+Dominican Republic.
+<DT><SAMP>`DZ&acute;</SAMP>
+<DD>
+Algeria.
+<DT><SAMP>`EC&acute;</SAMP>
+<DD>
+Ecuador.
+<DT><SAMP>`EE&acute;</SAMP>
+<DD>
+Estonia.
+<DT><SAMP>`EG&acute;</SAMP>
+<DD>
+Egypt.
+<DT><SAMP>`EH&acute;</SAMP>
+<DD>
+Western Sahara.
+<DT><SAMP>`ER&acute;</SAMP>
+<DD>
+Eritrea.
+<DT><SAMP>`ES&acute;</SAMP>
+<DD>
+Spain.
+<DT><SAMP>`ET&acute;</SAMP>
+<DD>
+Ethiopia.
+<DT><SAMP>`FI&acute;</SAMP>
+<DD>
+Finland.
+<DT><SAMP>`FJ&acute;</SAMP>
+<DD>
+Fiji.
+<DT><SAMP>`FK&acute;</SAMP>
+<DD>
+Falkland Islands.
+<DT><SAMP>`FM&acute;</SAMP>
+<DD>
+Micronesia.
+<DT><SAMP>`FO&acute;</SAMP>
+<DD>
+Faeroe Islands.
+<DT><SAMP>`FR&acute;</SAMP>
+<DD>
+France.
+<DT><SAMP>`GA&acute;</SAMP>
+<DD>
+Gabon.
+<DT><SAMP>`GB&acute;</SAMP>
+<DD>
+Britain (UK).
+<DT><SAMP>`GD&acute;</SAMP>
+<DD>
+Grenada.
+<DT><SAMP>`GE&acute;</SAMP>
+<DD>
+Georgia.
+<DT><SAMP>`GF&acute;</SAMP>
+<DD>
+French Guiana.
+<DT><SAMP>`GH&acute;</SAMP>
+<DD>
+Ghana.
+<DT><SAMP>`GI&acute;</SAMP>
+<DD>
+Gibraltar.
+<DT><SAMP>`GL&acute;</SAMP>
+<DD>
+Greenland.
+<DT><SAMP>`GM&acute;</SAMP>
+<DD>
+Gambia.
+<DT><SAMP>`GN&acute;</SAMP>
+<DD>
+Guinea.
+<DT><SAMP>`GP&acute;</SAMP>
+<DD>
+Guadeloupe.
+<DT><SAMP>`GQ&acute;</SAMP>
+<DD>
+Equatorial Guinea.
+<DT><SAMP>`GR&acute;</SAMP>
+<DD>
+Greece.
+<DT><SAMP>`GS&acute;</SAMP>
+<DD>
+South Georgia and the South Sandwich Islands.
+<DT><SAMP>`GT&acute;</SAMP>
+<DD>
+Guatemala.
+<DT><SAMP>`GU&acute;</SAMP>
+<DD>
+Guam.
+<DT><SAMP>`GW&acute;</SAMP>
+<DD>
+Guinea-Bissau.
+<DT><SAMP>`GY&acute;</SAMP>
+<DD>
+Guyana.
+<DT><SAMP>`HK&acute;</SAMP>
+<DD>
+Hong Kong.
+<DT><SAMP>`HM&acute;</SAMP>
+<DD>
+Heard Island and McDonald Islands.
+<DT><SAMP>`HN&acute;</SAMP>
+<DD>
+Honduras.
+<DT><SAMP>`HR&acute;</SAMP>
+<DD>
+Croatia.
+<DT><SAMP>`HT&acute;</SAMP>
+<DD>
+Haiti.
+<DT><SAMP>`HU&acute;</SAMP>
+<DD>
+Hungary.
+<DT><SAMP>`ID&acute;</SAMP>
+<DD>
+Indonesia.
+<DT><SAMP>`IE&acute;</SAMP>
+<DD>
+Ireland.
+<DT><SAMP>`IL&acute;</SAMP>
+<DD>
+Israel.
+<DT><SAMP>`IN&acute;</SAMP>
+<DD>
+India.
+<DT><SAMP>`IO&acute;</SAMP>
+<DD>
+British Indian Ocean Territory.
+<DT><SAMP>`IQ&acute;</SAMP>
+<DD>
+Iraq.
+<DT><SAMP>`IR&acute;</SAMP>
+<DD>
+Iran.
+<DT><SAMP>`IS&acute;</SAMP>
+<DD>
+Iceland.
+<DT><SAMP>`IT&acute;</SAMP>
+<DD>
+Italy.
+<DT><SAMP>`JM&acute;</SAMP>
+<DD>
+Jamaica.
+<DT><SAMP>`JO&acute;</SAMP>
+<DD>
+Jordan.
+<DT><SAMP>`JP&acute;</SAMP>
+<DD>
+Japan.
+<DT><SAMP>`KE&acute;</SAMP>
+<DD>
+Kenya.
+<DT><SAMP>`KG&acute;</SAMP>
+<DD>
+Kyrgyzstan.
+<DT><SAMP>`KH&acute;</SAMP>
+<DD>
+Cambodia.
+<DT><SAMP>`KI&acute;</SAMP>
+<DD>
+Kiribati.
+<DT><SAMP>`KM&acute;</SAMP>
+<DD>
+Comoros.
+<DT><SAMP>`KN&acute;</SAMP>
+<DD>
+St Kitts and Nevis.
+<DT><SAMP>`KP&acute;</SAMP>
+<DD>
+Korea (North).
+<DT><SAMP>`KR&acute;</SAMP>
+<DD>
+Korea (South).
+<DT><SAMP>`KW&acute;</SAMP>
+<DD>
+Kuwait.
+<DT><SAMP>`KY&acute;</SAMP>
+<DD>
+Cayman Islands.
+<DT><SAMP>`KZ&acute;</SAMP>
+<DD>
+Kazakhstan.
+<DT><SAMP>`LA&acute;</SAMP>
+<DD>
+Laos.
+<DT><SAMP>`LB&acute;</SAMP>
+<DD>
+Lebanon.
+<DT><SAMP>`LC&acute;</SAMP>
+<DD>
+St Lucia.
+<DT><SAMP>`LI&acute;</SAMP>
+<DD>
+Liechtenstein.
+<DT><SAMP>`LK&acute;</SAMP>
+<DD>
+Sri Lanka.
+<DT><SAMP>`LR&acute;</SAMP>
+<DD>
+Liberia.
+<DT><SAMP>`LS&acute;</SAMP>
+<DD>
+Lesotho.
+<DT><SAMP>`LT&acute;</SAMP>
+<DD>
+Lithuania.
+<DT><SAMP>`LU&acute;</SAMP>
+<DD>
+Luxembourg.
+<DT><SAMP>`LV&acute;</SAMP>
+<DD>
+Latvia.
+<DT><SAMP>`LY&acute;</SAMP>
+<DD>
+Libya.
+<DT><SAMP>`MA&acute;</SAMP>
+<DD>
+Morocco.
+<DT><SAMP>`MC&acute;</SAMP>
+<DD>
+Monaco.
+<DT><SAMP>`MD&acute;</SAMP>
+<DD>
+Moldova.
+<DT><SAMP>`MG&acute;</SAMP>
+<DD>
+Madagascar.
+<DT><SAMP>`MH&acute;</SAMP>
+<DD>
+Marshall Islands.
+<DT><SAMP>`MK&acute;</SAMP>
+<DD>
+Macedonia.
+<DT><SAMP>`ML&acute;</SAMP>
+<DD>
+Mali.
+<DT><SAMP>`MM&acute;</SAMP>
+<DD>
+Myanmar (Burma).
+<DT><SAMP>`MN&acute;</SAMP>
+<DD>
+Mongolia.
+<DT><SAMP>`MO&acute;</SAMP>
+<DD>
+Macao.
+<DT><SAMP>`MP&acute;</SAMP>
+<DD>
+Northern Mariana Islands.
+<DT><SAMP>`MQ&acute;</SAMP>
+<DD>
+Martinique.
+<DT><SAMP>`MR&acute;</SAMP>
+<DD>
+Mauritania.
+<DT><SAMP>`MS&acute;</SAMP>
+<DD>
+Montserrat.
+<DT><SAMP>`MT&acute;</SAMP>
+<DD>
+Malta.
+<DT><SAMP>`MU&acute;</SAMP>
+<DD>
+Mauritius.
+<DT><SAMP>`MV&acute;</SAMP>
+<DD>
+Maldives.
+<DT><SAMP>`MW&acute;</SAMP>
+<DD>
+Malawi.
+<DT><SAMP>`MX&acute;</SAMP>
+<DD>
+Mexico.
+<DT><SAMP>`MY&acute;</SAMP>
+<DD>
+Malaysia.
+<DT><SAMP>`MZ&acute;</SAMP>
+<DD>
+Mozambique.
+<DT><SAMP>`NA&acute;</SAMP>
+<DD>
+Namibia.
+<DT><SAMP>`NC&acute;</SAMP>
+<DD>
+New Caledonia.
+<DT><SAMP>`NE&acute;</SAMP>
+<DD>
+Niger.
+<DT><SAMP>`NF&acute;</SAMP>
+<DD>
+Norfolk Island.
+<DT><SAMP>`NG&acute;</SAMP>
+<DD>
+Nigeria.
+<DT><SAMP>`NI&acute;</SAMP>
+<DD>
+Nicaragua.
+<DT><SAMP>`NL&acute;</SAMP>
+<DD>
+Netherlands.
+<DT><SAMP>`NO&acute;</SAMP>
+<DD>
+Norway.
+<DT><SAMP>`NP&acute;</SAMP>
+<DD>
+Nepal.
+<DT><SAMP>`NR&acute;</SAMP>
+<DD>
+Nauru.
+<DT><SAMP>`NU&acute;</SAMP>
+<DD>
+Niue.
+<DT><SAMP>`NZ&acute;</SAMP>
+<DD>
+New Zealand.
+<DT><SAMP>`OM&acute;</SAMP>
+<DD>
+Oman.
+<DT><SAMP>`PA&acute;</SAMP>
+<DD>
+Panama.
+<DT><SAMP>`PE&acute;</SAMP>
+<DD>
+Peru.
+<DT><SAMP>`PF&acute;</SAMP>
+<DD>
+French Polynesia.
+<DT><SAMP>`PG&acute;</SAMP>
+<DD>
+Papua New Guinea.
+<DT><SAMP>`PH&acute;</SAMP>
+<DD>
+Philippines.
+<DT><SAMP>`PK&acute;</SAMP>
+<DD>
+Pakistan.
+<DT><SAMP>`PL&acute;</SAMP>
+<DD>
+Poland.
+<DT><SAMP>`PM&acute;</SAMP>
+<DD>
+St Pierre and Miquelon.
+<DT><SAMP>`PN&acute;</SAMP>
+<DD>
+Pitcairn.
+<DT><SAMP>`PR&acute;</SAMP>
+<DD>
+Puerto Rico.
+<DT><SAMP>`PS&acute;</SAMP>
+<DD>
+Palestine.
+<DT><SAMP>`PT&acute;</SAMP>
+<DD>
+Portugal.
+<DT><SAMP>`PW&acute;</SAMP>
+<DD>
+Palau.
+<DT><SAMP>`PY&acute;</SAMP>
+<DD>
+Paraguay.
+<DT><SAMP>`QA&acute;</SAMP>
+<DD>
+Qatar.
+<DT><SAMP>`RE&acute;</SAMP>
+<DD>
+Reunion.
+<DT><SAMP>`RO&acute;</SAMP>
+<DD>
+Romania.
+<DT><SAMP>`RU&acute;</SAMP>
+<DD>
+Russia.
+<DT><SAMP>`RW&acute;</SAMP>
+<DD>
+Rwanda.
+<DT><SAMP>`SA&acute;</SAMP>
+<DD>
+Saudi Arabia.
+<DT><SAMP>`SB&acute;</SAMP>
+<DD>
+Solomon Islands.
+<DT><SAMP>`SC&acute;</SAMP>
+<DD>
+Seychelles.
+<DT><SAMP>`SD&acute;</SAMP>
+<DD>
+Sudan.
+<DT><SAMP>`SE&acute;</SAMP>
+<DD>
+Sweden.
+<DT><SAMP>`SG&acute;</SAMP>
+<DD>
+Singapore.
+<DT><SAMP>`SH&acute;</SAMP>
+<DD>
+St Helena.
+<DT><SAMP>`SI&acute;</SAMP>
+<DD>
+Slovenia.
+<DT><SAMP>`SJ&acute;</SAMP>
+<DD>
+Svalbard and Jan Mayen.
+<DT><SAMP>`SK&acute;</SAMP>
+<DD>
+Slovakia.
+<DT><SAMP>`SL&acute;</SAMP>
+<DD>
+Sierra Leone.
+<DT><SAMP>`SM&acute;</SAMP>
+<DD>
+San Marino.
+<DT><SAMP>`SN&acute;</SAMP>
+<DD>
+Senegal.
+<DT><SAMP>`SO&acute;</SAMP>
+<DD>
+Somalia.
+<DT><SAMP>`SR&acute;</SAMP>
+<DD>
+Suriname.
+<DT><SAMP>`ST&acute;</SAMP>
+<DD>
+Sao Tome and Principe.
+<DT><SAMP>`SV&acute;</SAMP>
+<DD>
+El Salvador.
+<DT><SAMP>`SY&acute;</SAMP>
+<DD>
+Syria.
+<DT><SAMP>`SZ&acute;</SAMP>
+<DD>
+Swaziland.
+<DT><SAMP>`TC&acute;</SAMP>
+<DD>
+Turks and Caicos Is.
+<DT><SAMP>`TD&acute;</SAMP>
+<DD>
+Chad.
+<DT><SAMP>`TF&acute;</SAMP>
+<DD>
+French Southern and Antarctic Lands.
+<DT><SAMP>`TG&acute;</SAMP>
+<DD>
+Togo.
+<DT><SAMP>`TH&acute;</SAMP>
+<DD>
+Thailand.
+<DT><SAMP>`TJ&acute;</SAMP>
+<DD>
+Tajikistan.
+<DT><SAMP>`TK&acute;</SAMP>
+<DD>
+Tokelau.
+<DT><SAMP>`TM&acute;</SAMP>
+<DD>
+Turkmenistan.
+<DT><SAMP>`TN&acute;</SAMP>
+<DD>
+Tunisia.
+<DT><SAMP>`TO&acute;</SAMP>
+<DD>
+Tonga.
+<DT><SAMP>`TP&acute;</SAMP>
+<DD>
+East Timor.
+<DT><SAMP>`TR&acute;</SAMP>
+<DD>
+Turkey.
+<DT><SAMP>`TT&acute;</SAMP>
+<DD>
+Trinidad and Tobago.
+<DT><SAMP>`TV&acute;</SAMP>
+<DD>
+Tuvalu.
+<DT><SAMP>`TW&acute;</SAMP>
+<DD>
+Taiwan.
+<DT><SAMP>`TZ&acute;</SAMP>
+<DD>
+Tanzania.
+<DT><SAMP>`UA&acute;</SAMP>
+<DD>
+Ukraine.
+<DT><SAMP>`UG&acute;</SAMP>
+<DD>
+Uganda.
+<DT><SAMP>`UM&acute;</SAMP>
+<DD>
+US minor outlying islands.
+<DT><SAMP>`US&acute;</SAMP>
+<DD>
+United States.
+<DT><SAMP>`UY&acute;</SAMP>
+<DD>
+Uruguay.
+<DT><SAMP>`UZ&acute;</SAMP>
+<DD>
+Uzbekistan.
+<DT><SAMP>`VA&acute;</SAMP>
+<DD>
+Vatican City.
+<DT><SAMP>`VC&acute;</SAMP>
+<DD>
+St Vincent.
+<DT><SAMP>`VE&acute;</SAMP>
+<DD>
+Venezuela.
+<DT><SAMP>`VG&acute;</SAMP>
+<DD>
+Virgin Islands (UK).
+<DT><SAMP>`VI&acute;</SAMP>
+<DD>
+Virgin Islands (US).
+<DT><SAMP>`VN&acute;</SAMP>
+<DD>
+Vietnam.
+<DT><SAMP>`VU&acute;</SAMP>
+<DD>
+Vanuatu.
+<DT><SAMP>`WF&acute;</SAMP>
+<DD>
+Wallis and Futuna.
+<DT><SAMP>`WS&acute;</SAMP>
+<DD>
+Samoa (Western).
+<DT><SAMP>`YE&acute;</SAMP>
+<DD>
+Yemen.
+<DT><SAMP>`YT&acute;</SAMP>
+<DD>
+Mayotte.
+<DT><SAMP>`YU&acute;</SAMP>
+<DD>
+Yugoslavia.
+<DT><SAMP>`ZA&acute;</SAMP>
+<DD>
+South Africa.
+<DT><SAMP>`ZM&acute;</SAMP>
+<DD>
+Zambia.
+<DT><SAMP>`ZW&acute;</SAMP>
+<DD>
+Zimbabwe.
+</DL>
+
+<P><HR><P>
+Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_15.html">previous</A>, next, last section, <A HREF="gettext_toc.html">table of contents</A>.
+</BODY>
+</HTML>
diff --git a/po/cs.gmo b/po/cs.gmo
new file mode 100644
index 0000000..5977667
--- /dev/null
+++ b/po/cs.gmo
Binary files differ
diff --git a/po/et.gmo b/po/et.gmo
new file mode 100644
index 0000000..00c8700
--- /dev/null
+++ b/po/et.gmo
Binary files differ
diff --git a/po/gl.gmo b/po/gl.gmo
new file mode 100644
index 0000000..587b57d
--- /dev/null
+++ b/po/gl.gmo
Binary files differ
diff --git a/po/id.gmo b/po/id.gmo
new file mode 100644
index 0000000..1e49279
--- /dev/null
+++ b/po/id.gmo
Binary files differ
diff --git a/po/it.gmo b/po/it.gmo
new file mode 100644
index 0000000..07129b7
--- /dev/null
+++ b/po/it.gmo
Binary files differ
diff --git a/po/ru.gmo b/po/ru.gmo
new file mode 100644
index 0000000..ae7152b
--- /dev/null
+++ b/po/ru.gmo
Binary files differ
diff --git a/po/sk.gmo b/po/sk.gmo
new file mode 100644
index 0000000..b53bbc8
--- /dev/null
+++ b/po/sk.gmo
Binary files differ
diff --git a/po/zh.gmo b/po/zh.gmo
new file mode 100644
index 0000000..518f625
--- /dev/null
+++ b/po/zh.gmo
Binary files differ