summaryrefslogtreecommitdiffstats
path: root/gettext-tools/doc
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2007-11-07 00:41:45 +0000
committerBruno Haible <bruno@clisp.org>2009-06-23 12:15:30 +0200
commit51985ab7783d0b3dd5f22655a2db7ba55115756b (patch)
tree9b4ca104fd0c832e0920ccb90e3795498d1371bf /gettext-tools/doc
parent7a1c53703e011294b774d837b565f74ca8a05d6d (diff)
downloadexternal_gettext-51985ab7783d0b3dd5f22655a2db7ba55115756b.zip
external_gettext-51985ab7783d0b3dd5f22655a2db7ba55115756b.tar.gz
external_gettext-51985ab7783d0b3dd5f22655a2db7ba55115756b.tar.bz2
Regenerated for 0.17.
Diffstat (limited to 'gettext-tools/doc')
-rw-r--r--gettext-tools/doc/gettext.info2659
-rw-r--r--gettext-tools/doc/gettext_1.html67
-rw-r--r--gettext-tools/doc/gettext_10.html276
-rw-r--r--gettext-tools/doc/gettext_11.html171
-rw-r--r--gettext-tools/doc/gettext_12.html46
-rw-r--r--gettext-tools/doc/gettext_13.html302
-rw-r--r--gettext-tools/doc/gettext_14.html14
-rw-r--r--gettext-tools/doc/gettext_15.html386
-rw-r--r--gettext-tools/doc/gettext_16.html14
-rw-r--r--gettext-tools/doc/gettext_17.html12
-rw-r--r--gettext-tools/doc/gettext_18.html8
-rw-r--r--gettext-tools/doc/gettext_19.html42
-rw-r--r--gettext-tools/doc/gettext_2.html351
-rw-r--r--gettext-tools/doc/gettext_20.html46
-rw-r--r--gettext-tools/doc/gettext_21.html1110
-rw-r--r--gettext-tools/doc/gettext_22.html43
-rw-r--r--gettext-tools/doc/gettext_23.html66
-rw-r--r--gettext-tools/doc/gettext_24.html17
-rw-r--r--gettext-tools/doc/gettext_25.html653
-rw-r--r--gettext-tools/doc/gettext_3.html168
-rw-r--r--gettext-tools/doc/gettext_4.html194
-rw-r--r--gettext-tools/doc/gettext_5.html206
-rw-r--r--gettext-tools/doc/gettext_6.html103
-rw-r--r--gettext-tools/doc/gettext_7.html122
-rw-r--r--gettext-tools/doc/gettext_8.html502
-rw-r--r--gettext-tools/doc/gettext_9.html1515
-rw-r--r--gettext-tools/doc/gettext_foot.html10
-rw-r--r--gettext-tools/doc/gettext_toc.html800
-rw-r--r--gettext-tools/doc/version.texi8
29 files changed, 5921 insertions, 3990 deletions
diff --git a/gettext-tools/doc/gettext.info b/gettext-tools/doc/gettext.info
index 838b473..7333578 100644
--- a/gettext-tools/doc/gettext.info
+++ b/gettext-tools/doc/gettext.info
@@ -1,8 +1,7 @@
-This is gettext.info, produced by makeinfo version 4.8 from
-gettext.texi.
-
INFO-DIR-SECTION GNU Gettext Utilities
START-INFO-DIR-ENTRY
+This is gettext.info, produced by makeinfo version 4.11 from gettext.texi.
+
* gettext: (gettext). GNU gettext utilities.
* autopoint: (gettext)autopoint Invocation. Copy gettext infrastructure.
* envsubst: (gettext)envsubst Invocation. Expand environment variables.
@@ -30,7 +29,7 @@ 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-1998, 2001-2006 Free Software Foundation, Inc.
+ Copyright (C) 1995-1998, 2001-2007 Free Software Foundation, Inc.
This manual is free documentation. It is dually licensed under the
GNU FDL and the GNU GPL. This means that you can redistribute this
@@ -42,13 +41,13 @@ Free Documentation License (FDL), either version 1.2 of the License, or
(at your option) any later version published by the Free Software
Foundation (FSF); with no Invariant Sections, with no Front-Cover Text,
and with no Back-Cover Texts. A copy of the license is included in
-*Note GNU FDL::.
+*note GNU FDL::.
This manual is covered by the GNU GPL. You can redistribute it
and/or modify it under the terms of the GNU General Public License
(GPL), either version 2 of the License, or (at your option) any later
version published by the Free Software Foundation (FSF). A copy of the
-license is included in *Note GNU GPL::.
+license is included in *note GNU GPL::.

File: gettext.info, Node: Top, Next: Introduction, Prev: (dir), Up: (dir)
@@ -56,8 +55,8 @@ File: gettext.info, Node: Top, Next: Introduction, Prev: (dir), Up: (dir)
GNU `gettext' utilities
***********************
-This manual documents the GNU gettext tools and the GNU libintl library,
-version 0.16.
+ This manual documents the GNU gettext tools and the GNU libintl
+library, version 0.17.
* Menu:
@@ -101,8 +100,16 @@ Introduction
The User's View
-* Matrix:: The Current `ABOUT-NLS' Matrix
-* End Users:: Magic for End Users
+* System Installation:: Questions During Operating System Installation
+* Setting the GUI Locale:: How to Specify the Locale Used by GUI Programs
+* Setting the POSIX Locale:: How to Specify the Locale According to POSIX
+* Installing Localizations:: How to Install Additional Translations
+
+Setting the POSIX Locale
+
+* Locale Names:: How a Locale Specification Looks Like
+* Locale Environment Variables:: Which Environment Variable Specfies What
+* The LANGUAGE variable:: How to Specify a Priority List of Languages
Preparing Program Sources
@@ -113,6 +120,7 @@ Preparing Program Sources
* Marking:: Marking Translatable Strings
* c-format Flag:: Telling something about the following string
* Special cases:: Special Cases of Translatable Strings
+* Bug Report Address:: Letting Users Report Translation Bugs
* Names:: Marking Proper Names for Translation
* Libraries:: Preparing Library Sources
@@ -134,6 +142,7 @@ Editing PO Files
* KBabel:: KDE's PO File Editor
* Gtranslator:: GNOME's PO File Editor
* PO Mode:: Emacs's PO File Editor
+* Compendium:: Using Translation Compendia
Emacs's PO File Editor
@@ -150,7 +159,6 @@ Emacs's PO File Editor
* Subedit:: Mode for Editing Translations
* C Sources Context:: C Sources Context
* Auxiliary:: Consulting Auxiliary PO Files
-* Compendium:: Using Translation Compendia
Using Translation Compendia
@@ -169,8 +177,17 @@ Manipulating PO Files
* msgattrib Invocation:: Invoking the `msgattrib' Program
* msgen Invocation:: Invoking the `msgen' Program
* msgexec Invocation:: Invoking the `msgexec' Program
+* Colorizing:: Highlighting parts of PO files
* libgettextpo:: Writing your own programs that process PO files
+Highlighting parts of PO files
+
+* The --color option:: Triggering colorized output
+* The TERM variable:: The environment variable `TERM'
+* The --style option:: The `--style' option
+* Style rules:: Style rules for PO files
+* Customizing less:: Customizing `less' for viewing PO files
+
Producing Binary MO Files
* msgfmt Invocation:: Invoking the `msgfmt' Program
@@ -234,7 +251,7 @@ The Maintainer's View
* Prerequisites:: Prerequisite Works
* gettextize Invocation:: Invoking the `gettextize' Program
* Adjusting Files:: Files You Must Create or Alter
-* autoconf macros:: Autoconf macros for use in `configure.in'
+* autoconf macros:: Autoconf macros for use in `configure.ac'
* CVS Issues:: Integrating with CVS
* Release Management:: Creating a Distribution Tarball
@@ -244,7 +261,7 @@ Files You Must Create or Alter
* po/LINGUAS:: `LINGUAS' in `po/'
* po/Makevars:: `Makevars' in `po/'
* po/Rules-*:: Extending `Makefile' in `po/'
-* configure.in:: `configure.in' at top level
+* configure.ac:: `configure.ac' at top level
* config.guess:: `config.guess', `config.sub' at top level
* mkinstalldirs:: `mkinstalldirs' at top level
* aclocal:: `aclocal.m4' at top level
@@ -254,7 +271,7 @@ Files You Must Create or Alter
* src/Makefile:: `Makefile.in' in `src/'
* lib/gettext.h:: `gettext.h' in `lib/'
-Autoconf macros for use in `configure.in'
+Autoconf macros for use in `configure.ac'
* AM_GNU_GETTEXT:: AM_GNU_GETTEXT in `gettext.m4'
* AM_GNU_GETTEXT_VERSION:: AM_GNU_GETTEXT_VERSION in `gettext.m4'
@@ -299,6 +316,7 @@ The Translator's View
* php-format:: PHP Format Strings
* gcc-internal-format:: GCC internal Format Strings
* qt-format:: Qt Format Strings
+* kde-format:: KDE Format Strings
* boost-format:: Boost Format Strings
Individual Programming Languages
@@ -375,9 +393,9 @@ File: gettext.info, Node: Introduction, Next: Users, Prev: Top, Up: Top
1 Introduction
**************
-This chapter explains the goals sought in the creation of GNU `gettext'
-and the free Translation Project. Then, it explains a few broad
-concepts around Native Language Support, and positions message
+ This chapter explains the goals sought in the creation of GNU
+`gettext' and the free Translation Project. Then, it explains a few
+broad concepts around Native Language Support, and positions message
translation with regard to other aspects of national and cultural
variance, as they apply to programs. It also surveys those files used
to convey the translations. It explains how the various tools interact
@@ -415,9 +433,9 @@ File: gettext.info, Node: Why, Next: Concepts, Prev: Introduction, Up: Intro
1.1 The Purpose of GNU `gettext'
================================
-Usually, programs are written and documented in English, and use
+ Usually, programs are written and documented in English, and use
English at execution time to interact with users. This is true not
-only of GNU software, but also of a great deal of commercial and free
+only of GNU software, but also of a great deal of proprietary and free
software. Using a common language is quite handy for communication
between developers, maintainers and users from all countries. On the
other hand, most people are less comfortable with English than with
@@ -487,7 +505,7 @@ File: gettext.info, Node: Concepts, Next: Aspects, Prev: Why, Up: Introducti
1.2 I18n, L10n, and Such
========================
-Two long words appear all the time when we discuss support of native
+ Two long words appear all the time when we discuss support of native
language in programs, and these words have a precise meaning, worth
being explained here, once and for all in this document. The words are
_internationalization_ and _localization_. Many people, tired of
@@ -549,7 +567,7 @@ File: gettext.info, Node: Aspects, Next: Files, Prev: Concepts, Up: Introduc
1.3 Aspects in Native Language Support
======================================
-For a totally multi-lingual distribution, there are many things to
+ For a totally multi-lingual distribution, there are many things to
translate beyond output messages.
* As of today, GNU `gettext' offers a complete toolset for
@@ -657,10 +675,22 @@ _Messages_
communicate to the user.
+ These areas of cultural conventions are called _locale categories_.
+It is an unfortunate term; _locale aspects_ or _locale feature
+categories_ would be a better term, because each "locale category"
+describes an area or task that requires localization. The concrete data
+that describes the cultural conventions for such an area and for a
+particular culture is also called a _locale category_. In this sense,
+a locale is composed of several locale categories: the locale category
+describing the codeset, the locale category describing the formatting
+of numbers, the locale category containing the translated messages, and
+so on.
+
Components of locale outside of message handling are standardized in
-the ISO C standard and the SUSV2 specification. GNU `libc' fully
-implements this, and most other modern systems provide a more or less
-reasonable support for at least some of the missing components.
+the ISO C standard and the POSIX:2001 standard (also known as the SUSV3
+specification). GNU `libc' fully implements this, and most other
+modern systems provide a more or less reasonable support for at least
+some of the missing components.

File: gettext.info, Node: Files, Next: Overview, Prev: Aspects, Up: Introduction
@@ -668,11 +698,11 @@ File: gettext.info, Node: Files, Next: Overview, Prev: Aspects, Up: Introduc
1.4 Files Conveying Translations
================================
-The letters PO in `.po' files means Portable Object, to distinguish it
-from `.mo' files, where MO stands for Machine Object. This paradigm,
-as well as the PO file format, is inspired by the NLS standard
-developed by Uniforum, and first implemented by Sun in their Solaris
-system.
+ The letters PO in `.po' files means Portable Object, to distinguish
+it from `.mo' files, where MO stands for Machine Object. This
+paradigm, as well as the PO file format, is inspired by the NLS
+standard developed by Uniforum, and first implemented by Sun in their
+Solaris system.
PO files are meant to be read and edited by humans, and associate
each original, translatable string of a given package with its
@@ -704,10 +734,10 @@ File: gettext.info, Node: Overview, Prev: Files, Up: Introduction
1.5 Overview of GNU `gettext'
=============================
-The following diagram summarizes the relation between the files handled
-by GNU `gettext' and the tools acting on these files. It is followed
-by somewhat detailed explanations, which you should read while keeping
-an eye on the diagram. Having a clear understanding of these
+ The following diagram summarizes the relation between the files
+handled by GNU `gettext' and the tools acting on these files. It is
+followed by somewhat detailed explanations, which you should read while
+keeping an eye on the diagram. Having a clear understanding of these
interrelations will surely help programmers, translators and
maintainers.
@@ -775,12 +805,12 @@ towards any particular language. *Note xgettext Invocation::, for more
details about how one calls the `xgettext' program. If you are
_really_ lazy, you might be interested at working a lot more right
away, and preparing the whole distribution setup (*note Maintainers::).
-By doing so, you spare yourself typing the `xgettext' command, as
-`make' should now generate the proper things automatically for you!
+By doing so, you spare yourself typing the `xgettext' command, as `make'
+should now generate the proper things automatically for you!
The first time through, there is no `LANG.po' yet, so the `msgmerge'
step may be skipped and replaced by a mere copy of `PACKAGE.pot' to
-`LANG.po', where LANG represents the target language. See *Note
+`LANG.po', where LANG represents the target language. See *note
Creating:: for details.
Then comes the initial translation of messages. Translation in
@@ -874,8 +904,9 @@ with the GNU `gettext' library, usually through the operation of
`make', given a suitable `Makefile' exists for the project, and the
resulting executable is installed somewhere users will find it. The MO
files themselves should also be properly installed. Given the
-appropriate environment variables are set (*note End Users::), the
-program should localize itself automatically, whenever it executes.
+appropriate environment variables are set (*note Setting the POSIX
+Locale::), the program should localize itself automatically, whenever
+it executes.
The remainder of this manual has the purpose of explaining in depth
the various steps outlined above.
@@ -886,71 +917,268 @@ File: gettext.info, Node: Users, Next: PO Files, Prev: Introduction, Up: Top
2 The User's View
*****************
-When GNU `gettext' will truly have reached its goal, average users
-should feel some kind of astonished pleasure, seeing the effect of that
-strange kind of magic that just makes their own native language appear
-everywhere on their screens. As for naive users, they would ideally
-have no special pleasure about it, merely taking their own language for
-_granted_, and becoming rather unhappy otherwise.
-
- So, let's try to describe here how we would like the magic to
-operate, as we want the users' view to be the simplest, among all ways
-one could look at GNU `gettext'. All other software engineers:
-programmers, translators, maintainers, should work together in such a
-way that the magic becomes possible. This is a long and progressive
-undertaking, and information is available about the progress of the
-Translation Project.
-
- When a package is distributed, there are two kinds of users:
-"installers" who fetch the distribution, unpack it, configure it,
-compile it and install it for themselves or others to use; and "end
-users" that call programs of the package, once these have been
-installed at their site. GNU `gettext' is offering magic for both
-installers and end users.
+ Nowadays, when users log into a computer, they usually find that all
+their programs show messages in their native language - at least for
+users of languages with an active free software community, like French
+or German; to a lesser extent for languages with a smaller
+participation in free software and the GNU project, like Hindi and
+Filipino.
+
+ How does this work? How can the user influence the language that is
+used by the programs? This chapter will answer it.
* Menu:
-* Matrix:: The Current `ABOUT-NLS' Matrix
-* End Users:: Magic for End Users
+* System Installation:: Questions During Operating System Installation
+* Setting the GUI Locale:: How to Specify the Locale Used by GUI Programs
+* Setting the POSIX Locale:: How to Specify the Locale According to POSIX
+* Installing Localizations:: How to Install Additional Translations

-File: gettext.info, Node: Matrix, Next: End Users, Prev: Users, Up: Users
+File: gettext.info, Node: System Installation, Next: Setting the GUI Locale, Prev: Users, Up: Users
-2.1 The Current `ABOUT-NLS' Matrix
-==================================
+2.1 Operating System Installation
+=================================
-Languages are not equally supported in all packages using GNU
-`gettext'. To know if some package uses GNU `gettext', one may check
-the distribution for the `ABOUT-NLS' information file, for some `LL.po'
-files, often kept together into some `po/' directory, or for an `intl/'
-directory. Internationalized packages have usually many `LL.po' files,
-where LL represents the language. *Note End Users:: for a complete
-description of the format for LL.
-
- More generally, a matrix is available for showing the current state
-of the Translation Project, listing which packages are prepared for
-multi-lingual messages, and which languages are supported by each.
-Because this information changes often, this matrix is not kept within
-this GNU `gettext' manual. This information is often found in file
-`ABOUT-NLS' from various distributions, but is also as old as the
-distribution itself. A recent copy of this `ABOUT-NLS' file,
-containing up-to-date information, should generally be found on the
-Translation Project sites, and also on most GNU archive sites.
+ The default language is often already specified during operating
+system installation. When the operating system is installed, the
+installer typically asks for the language used for the installation
+process and, separately, for the language to use in the installed
+system. Some OS installers only ask for the language once.
+
+ This determines the system-wide default language for all users. But
+the installers often give the possibility to install extra
+localizations for additional languages. For example, the localizations
+of KDE (the K Desktop Environment) and OpenOffice.org are often bundled
+separately, as one installable package per language.
+
+ At this point it is good to consider the intended use of the
+machine: If it is a machine designated for personal use, additional
+localizations are probably not necessary. If, however, the machine is
+in use in an organization or company that has international
+relationships, one can consider the needs of guest users. If you have
+a guest from abroad, for a week, what could be his preferred locales?
+It may be worth installing these additional localizations ahead of
+time, since they cost only a bit of disk space at this point.
+
+ The system-wide default language is the locale configuration that is
+used when a new user account is created. But the user can have his own
+locale configuration that is different from the one of the other users
+of the same machine. He can specify it, typically after the first
+login, as described in the next section.

-File: gettext.info, Node: End Users, Prev: Matrix, Up: Users
+File: gettext.info, Node: Setting the GUI Locale, Next: Setting the POSIX Locale, Prev: System Installation, Up: Users
-2.2 Magic for End Users
-=======================
+2.2 Setting the Locale Used by GUI Programs
+===========================================
+
+ The immediately available programs in a user's desktop come from a
+group of programs called a "desktop environment"; it usually includes
+the window manager, a web browser, a text editor, and more. The most
+common free desktop environments are KDE, GNOME, and Xfce.
+
+ The locale used by GUI programs of the desktop environment can be
+specified in a configuration screen called "control center", "language
+settings" or "country settings".
+
+ Individual GUI programs that are not part of the desktop environment
+can have their locale specified either in a settings panel, or through
+environment variables.
+
+ For some programs, it is possible to specify the locale through
+environment variables, possibly even to a different locale than the
+desktop's locale. This means, instead of starting a program through a
+menu or from the file system, you can start it from the command-line,
+after having set some environment variables. The environment variables
+can be those specified in the next section (*note Setting the POSIX
+Locale::); for some versions of KDE, however, the locale is specified
+through a variable `KDE_LANG', rather than `LANG' or `LC_ALL'.
+
+
+File: gettext.info, Node: Setting the POSIX Locale, Next: Installing Localizations, Prev: Setting the GUI Locale, Up: Users
+
+2.3 Setting the Locale through Environment Variables
+====================================================
+
+ As a user, if your language has been installed for this package, in
+the simplest case, you only have to set the `LANG' environment variable
+to the appropriate `LL_CC' combination. For example, let's suppose
+that you speak German and live in Germany. At the shell prompt, merely
+execute `setenv LANG de_DE' (in `csh'), `export LANG; LANG=de_DE' (in
+`sh') or `export LANG=de_DE' (in `bash'). This can be done from your
+`.login' or `.profile' file, once and for all.
+
+* Menu:
+
+* Locale Names:: How a Locale Specification Looks Like
+* Locale Environment Variables:: Which Environment Variable Specfies What
+* The LANGUAGE variable:: How to Specify a Priority List of Languages
+
+
+File: gettext.info, Node: Locale Names, Next: Locale Environment Variables, Prev: Setting the POSIX Locale, Up: Setting the POSIX Locale
+
+2.3.1 Locale Names
+------------------
+
+ A locale name usually has the form `LL_CC'. Here `LL' is an ISO 639
+two-letter language code, and `CC' is an ISO 3166 two-letter country
+code. For example, for German in Germany, LL is `de', and CC is `DE'.
+You find a list of the language codes in appendix *note Language
+Codes:: and a list of the country codes in appendix *note Country
+Codes::.
+
+ You might think that the country code specification is redundant.
+But in fact, some languages have dialects in different countries. For
+example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The
+country code serves to distinguish the dialects.
+
+ Many locale names have an extended syntax `LL_CC.ENCODING' that also
+specifies the character encoding. These are in use because between
+2000 and 2005, most users have switched to locales in UTF-8 encoding.
+For example, the German locale on glibc systems is nowadays
+`de_DE.UTF-8'. The older name `de_DE' still refers to the German
+locale as of 2000 that stores characters in ISO-8859-1 encoding - a
+text encoding that cannot even accomodate the Euro currency sign.
+
+ Some locale names use `LL_CC.@VARIANT' instead of `LL_CC'. The
+`@VARIANT' can denote any kind of characteristics that is not already
+implied by the language LL and the country CC. It can denote a
+particular monetary unit. For example, on glibc systems, `de_DE@euro'
+denotes the locale that uses the Euro currency, in contrast to the
+older locale `de_DE' which implies the use of the currency before 2002.
+It can also denote a dialect of the language, or the script used to
+write text (for example, `sr_RS@latin' uses the Latin script, whereas
+`sr_RS' uses the Cyrillic script to write Serbian), or the orthography
+rules, or similar.
+
+ On other systems, some variations of this scheme are used, such as
+`LL'. You can get the list of locales supported by your system for
+your language by running the command `locale -a | grep '^LL''.
+
+ There is also a special locale, called `C'. When it is used, it
+disables all localization: in this locale, all programs standardized by
+POSIX use English messages and an unspecified character encoding (often
+US-ASCII, but sometimes also ISO-8859-1 or UTF-8, depending on the
+operating system).
+
+
+File: gettext.info, Node: Locale Environment Variables, Next: The LANGUAGE variable, Prev: Locale Names, Up: Setting the POSIX Locale
-We consider here those packages using GNU `gettext' internally, and for
-which the installers did not disable translation at _configure_ time.
-Then, users only have to set the `LANG' environment variable to the
-appropriate `LL_CC' combination prior to using the programs in the
-package. *Note Matrix::. For example, let's presume a German site.
-At the shell prompt, users merely have to execute `setenv LANG de_DE'
-(in `csh') or `export LANG; LANG=de_DE' (in `sh'). They could even do
-this from their `.login' or `.profile' file.
+2.3.2 Locale Environment Variables
+----------------------------------
+
+ A locale is composed of several _locale categories_, see *note
+Aspects::. When a program looks up locale dependent values, it does
+this according to the following environment variables, in priority
+order:
+
+ 1. `LANGUAGE'
+
+ 2. `LC_ALL'
+
+ 3. `LC_xxx', according to selected locale category: `LC_CTYPE',
+ `LC_NUMERIC', `LC_TIME', `LC_COLLATE', `LC_MONETARY',
+ `LC_MESSAGES', ...
+
+ 4. `LANG'
+
+ Variables whose value is set but is empty are ignored in this lookup.
+
+ `LANG' is the normal environment variable for specifying a locale.
+As a user, you normally set this variable (unless some of the other
+variables have already been set by the system, in `/etc/profile' or
+similar initialization files).
+
+ `LC_CTYPE', `LC_NUMERIC', `LC_TIME', `LC_COLLATE', `LC_MONETARY',
+`LC_MESSAGES', and so on, are the environment variables meant to
+override `LANG' and affecting a single locale category only. For
+example, assume you are a Swedish user in Spain, and you want your
+programs to handle numbers and dates according to Spanish conventions,
+and only the messages should be in Swedish. Then you could create a
+locale named `sv_ES' or `sv_ES.UTF-8' by use of the `localedef'
+program. But it is simpler, and achieves the same effect, to set the
+`LANG' variable to `es_ES.UTF-8' and the `LC_MESSAGES' variable to
+`sv_SE.UTF-8'; these two locales come already preinstalled with the
+operating system.
+
+ `LC_ALL' is an environment variable that overrides all of these. It
+is typically used in scripts that run particular programs. For example,
+`configure' scripts generated by GNU autoconf use `LC_ALL' to make sure
+that the configuration tests don't operate in locale dependent ways.
+
+ Some systems, unfortunately, set `LC_ALL' in `/etc/profile' or in
+similar initialization files. As a user, you therefore have to unset
+this variable if you want to set `LANG' and optionally some of the other
+`LC_xxx' variables.
+
+ The `LANGUAGE' variable is described in the next subsection.
+
+
+File: gettext.info, Node: The LANGUAGE variable, Prev: Locale Environment Variables, Up: Setting the POSIX Locale
+
+2.3.3 Specifying a Priority List of Languages
+---------------------------------------------
+
+ Not all programs have translations for all languages. By default, an
+English message is shown in place of a nonexistent translation. If you
+understand other languages, you can set up a priority list of languages.
+This is done through a different environment variable, called
+`LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LC_ALL'
+and `LANG' for the purpose of message handling, but you still need to
+have `LANG' (or `LC_ALL') set to the primary language; this is required
+by other parts of the system libraries. For example, some Swedish
+users who would rather read translations in German than English for
+when Swedish is not available, set `LANGUAGE' to `sv:de' while leaving
+`LANG' to `sv_SE'.
+
+ Special advice for Norwegian users: The language code for Norwegian
+bokma*l changed from `no' to `nb' recently (in 2003). During the
+transition period, while some message catalogs for this language are
+installed under `nb' and some older ones under `no', it is recommended
+for Norwegian users to set `LANGUAGE' to `nb:no' so that both newer and
+older translations are used.
+
+ In the `LANGUAGE' environment variable, but not in the other
+environment variables, `LL_CC' combinations can be abbreviated as `LL'
+to denote the language's main dialect. For example, `de' is equivalent
+to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT'
+(Portuguese as spoken in Portugal) in this context.
+
+ Note: The variable `LANGUAGE' is ignored if the locale is set to
+`C'. In other words, you have to first enable localization, by setting
+`LANG' (or `LC_ALL') to a value other than `C', before you can use a
+language priority list through the `LANGUAGE' variable.
+
+
+File: gettext.info, Node: Installing Localizations, Prev: Setting the POSIX Locale, Up: Users
+
+2.4 Installing Translations for Particular Programs
+===================================================
+
+ Languages are not equally well supported in all packages using GNU
+`gettext', and more translations are added over time. Usually, you use
+the translations that are shipped with the operating system or with
+particular packages that you install afterwards. But you can also
+install newer localizations directly. For doing this, you will need an
+understanding where each localization file is stored on the file system.
+
+ For programs that participate in the Translation Project, you can
+start looking for translations here:
+`http://translationproject.org/team/index.html'. A snapshot of this
+information is also found in the `ABOUT-NLS' file that is shipped with
+GNU gettext.
+
+ For programs that are part of the KDE project, the starting point is:
+`http://i18n.kde.org/'.
+
+ For programs that are part of the GNOME project, the starting point
+is: `http://www.gnome.org/i18n/'.
+
+ For other programs, you may check whether the program's source code
+package contains some `LL.po' files; often they are kept together in a
+directory called `po/'. Each `LL.po' file contains the message
+translations for the language whose abbreviation of LL.

File: gettext.info, Node: PO Files, Next: Sources, Prev: Users, Up: Top
@@ -958,7 +1186,7 @@ File: gettext.info, Node: PO Files, Next: Sources, Prev: Users, Up: Top
3 The Format of PO Files
************************
-The GNU `gettext' toolset helps programmers and translators at
+ The GNU `gettext' toolset helps programmers and translators at
producing, updating and using translation files, mainly those PO files
which are textual, editable files. This chapter explains the format of
PO files.
@@ -1057,88 +1285,92 @@ forms of flags defined:
In case the `c-format' flag is given for a string the `msgfmt'
does some more tests to check to validity of the translation.
- *Note msgfmt Invocation::, *Note c-format Flag:: and *Note
+ *Note msgfmt Invocation::, *note c-format Flag:: and *note
c-format::.
`objc-format'
`no-objc-format'
- Likewise for Objective C, see *Note objc-format::.
+ Likewise for Objective C, see *note objc-format::.
`sh-format'
`no-sh-format'
- Likewise for Shell, see *Note sh-format::.
+ Likewise for Shell, see *note sh-format::.
`python-format'
`no-python-format'
- Likewise for Python, see *Note python-format::.
+ Likewise for Python, see *note python-format::.
`lisp-format'
`no-lisp-format'
- Likewise for Lisp, see *Note lisp-format::.
+ Likewise for Lisp, see *note lisp-format::.
`elisp-format'
`no-elisp-format'
- Likewise for Emacs Lisp, see *Note elisp-format::.
+ Likewise for Emacs Lisp, see *note elisp-format::.
`librep-format'
`no-librep-format'
- Likewise for librep, see *Note librep-format::.
+ Likewise for librep, see *note librep-format::.
`scheme-format'
`no-scheme-format'
- Likewise for Scheme, see *Note scheme-format::.
+ Likewise for Scheme, see *note scheme-format::.
`smalltalk-format'
`no-smalltalk-format'
- Likewise for Smalltalk, see *Note smalltalk-format::.
+ Likewise for Smalltalk, see *note smalltalk-format::.
`java-format'
`no-java-format'
- Likewise for Java, see *Note java-format::.
+ Likewise for Java, see *note java-format::.
`csharp-format'
`no-csharp-format'
- Likewise for C#, see *Note csharp-format::.
+ Likewise for C#, see *note csharp-format::.
`awk-format'
`no-awk-format'
- Likewise for awk, see *Note awk-format::.
+ Likewise for awk, see *note awk-format::.
`object-pascal-format'
`no-object-pascal-format'
- Likewise for Object Pascal, see *Note object-pascal-format::.
+ Likewise for Object Pascal, see *note object-pascal-format::.
`ycp-format'
`no-ycp-format'
- Likewise for YCP, see *Note ycp-format::.
+ Likewise for YCP, see *note ycp-format::.
`tcl-format'
`no-tcl-format'
- Likewise for Tcl, see *Note tcl-format::.
+ Likewise for Tcl, see *note tcl-format::.
`perl-format'
`no-perl-format'
- Likewise for Perl, see *Note perl-format::.
+ Likewise for Perl, see *note perl-format::.
`perl-brace-format'
`no-perl-brace-format'
- Likewise for Perl brace, see *Note perl-format::.
+ Likewise for Perl brace, see *note perl-format::.
`php-format'
`no-php-format'
- Likewise for PHP, see *Note php-format::.
+ Likewise for PHP, see *note php-format::.
`gcc-internal-format'
`no-gcc-internal-format'
- Likewise for the GCC sources, see *Note gcc-internal-format::.
+ Likewise for the GCC sources, see *note gcc-internal-format::.
`qt-format'
`no-qt-format'
- Likewise for Qt, see *Note qt-format::.
+ Likewise for Qt, see *note qt-format::.
+
+`kde-format'
+`no-kde-format'
+ Likewise for KDE, see *note kde-format::.
`boost-format'
`no-boost-format'
- Likewise for Boost, see *Note boost-format::.
+ Likewise for Boost, see *note boost-format::.
It is also possible to have entries with a context specifier. They
@@ -1255,7 +1487,7 @@ File: gettext.info, Node: Sources, Next: Template, Prev: PO Files, Up: Top
4 Preparing Program Sources
***************************
-For the programmer, changes to the C source code fall into three
+ For the programmer, changes to the C source code fall into three
categories. First, you have to make the localization functions known
to all modules needing message translation. Second, you should
properly trigger the operation of GNU `gettext' when the program
@@ -1272,6 +1504,7 @@ translation.
* Marking:: Marking Translatable Strings
* c-format Flag:: Telling something about the following string
* Special cases:: Special Cases of Translatable Strings
+* Bug Report Address:: Letting Users Report Translation Bugs
* Names:: Marking Proper Names for Translation
* Libraries:: Preparing Library Sources
@@ -1281,10 +1514,10 @@ File: gettext.info, Node: Importing, Next: Triggering, Prev: Sources, Up: So
4.1 Importing the `gettext' declaration
=======================================
-Presuming that your set of programs, or package, has been adjusted so
-all needed GNU `gettext' files are available, and your `Makefile' files
-are adjusted (*note Maintainers::), each C module having translated C
-strings should contain the line:
+ Presuming that your set of programs, or package, has been adjusted
+so all needed GNU `gettext' files are available, and your `Makefile'
+files are adjusted (*note Maintainers::), each C module having
+translated C strings should contain the line:
#include <libintl.h>
@@ -1300,8 +1533,8 @@ File: gettext.info, Node: Triggering, Next: Preparing Strings, Prev: Importin
4.2 Triggering `gettext' Operations
===================================
-The initialization of locale data should be done with more or less the
-same code in every program, as demonstrated below:
+ The initialization of locale data should be done with more or less
+the same code in every program, as demonstrated below:
int
main (int argc, char *argv[])
@@ -1318,23 +1551,24 @@ the Makefile. For now consult the `gettext' or `hello' sources for
more information.
The use of `LC_ALL' might not be appropriate for you. `LC_ALL'
-includes all locale categories and especially `LC_CTYPE'. This later
+includes all locale categories and especially `LC_CTYPE'. This latter
category is responsible for determining character classes with the
`isalnum' etc. functions from `ctype.h' which could especially for
programs, which process some kind of input language, be wrong. For
-example this would mean that a source code using the c, (c-cedilla
+example this would mean that a source code using the ç (c-cedilla
character) is runnable in France but not in the U.S.
Some systems also have problems with parsing numbers using the
-`scanf' functions if an other but the `LC_ALL' locale is used. The
-standards say that additional formats but the one known in the `"C"'
-locale might be recognized. But some systems seem to reject numbers in
-the `"C"' locale format. In some situation, it might also be a problem
-with the notation itself which makes it impossible to recognize whether
-the number is in the `"C"' locale or the local format. This can happen
-if thousands separator characters are used. Some locales define this
-character according to the national conventions to `'.'' which is the
-same character used in the `"C"' locale to denote the decimal point.
+`scanf' functions if an other but the `LC_ALL' locale category is used.
+The standards say that additional formats but the one known in the
+`"C"' locale might be recognized. But some systems seem to reject
+numbers in the `"C"' locale format. In some situation, it might also
+be a problem with the notation itself which makes it impossible to
+recognize whether the number is in the `"C"' locale or the local
+format. This can happen if thousands separator characters are used.
+Some locales define this character according to the national
+conventions to `'.'' which is the same character used in the `"C"'
+locale to denote the decimal point.
So it is sometimes necessary to replace the `LC_ALL' line in the
code above by a sequence of `setlocale' lines
@@ -1350,14 +1584,15 @@ On all POSIX conformant systems the locale categories `LC_CTYPE',
`LC_MESSAGES', `LC_COLLATE', `LC_MONETARY', `LC_NUMERIC', and `LC_TIME'
are available. On some systems which are only ISO C compliant,
`LC_MESSAGES' is missing, but a substitute for it is defined in GNU
-gettext's `<libintl.h>'.
+gettext's `<libintl.h>' and in GNU gnulib's `<locale.h>'.
Note that changing the `LC_CTYPE' also affects the functions
-declared in the `<ctype.h>' standard header. If this is not desirable
-in your application (for example in a compiler's parser), you can use a
-set of substitute functions which hardwire the C locale, such as found
-in the `<c-ctype.h>' and `<c-ctype.c>' files in the gettext source
-distribution.
+declared in the `<ctype.h>' standard header and some functions declared
+in the `<string.h>' and `<stdlib.h>' standard headers. If this is not
+desirable in your application (for example in a compiler's parser), you
+can use a set of substitute functions which hardwire the C locale, such
+as found in the modules `c-ctype', `c-strcase', `c-strcasestr',
+`c-strtod', `c-strtold' in the GNU gnulib source distribution.
It is also possible to switch the locale forth and back between the
environment dependent locale and the C locale, but this approach is
@@ -1372,7 +1607,7 @@ File: gettext.info, Node: Preparing Strings, Next: Mark Keywords, Prev: Trigg
4.3 Preparing Translatable Strings
==================================
-Before strings can be marked for translations, they sometimes need to
+ Before strings can be marked for translations, they sometimes need to
be adjusted. Usually preparing a string for translation is done right
before marking it, during the marking phase which is described in the
next sections. What you have to keep in mind while doing that is the
@@ -1586,7 +1821,7 @@ File: gettext.info, Node: Mark Keywords, Next: Marking, Prev: Preparing Strin
4.4 How Marks Appear in Sources
===============================
-All strings requiring translation should be marked in the C sources.
+ All strings requiring translation should be marked in the C sources.
Marking is done in such a way that each translatable string appears to
be the sole argument of some function or preprocessor macro. There are
only a few such possible functions or macros meant for translation, and
@@ -1667,7 +1902,7 @@ File: gettext.info, Node: Marking, Next: c-format Flag, Prev: Mark Keywords,
4.5 Marking Translatable Strings
================================
-In PO mode, one set of features is meant more for the programmer than
+ In PO mode, one set of features is meant more for the programmer than
for the translator, and allows him to interactively mark which strings,
in a set of program sources, are translatable, and which are not. Even
if it is a fairly easy job for a programmer to find and mark such
@@ -1812,10 +2047,10 @@ File: gettext.info, Node: c-format Flag, Next: Special cases, Prev: Marking,
4.6 Special Comments preceding Keywords
=======================================
-In C programs strings are often used within calls of functions from the
-`printf' family. The special thing about these format strings is that
-they can contain format specifiers introduced with `%'. Assume we have
-the code
+ In C programs strings are often used within calls of functions from
+the `printf' family. The special thing about these format strings is
+that they can contain format specifiers introduced with `%'. Assume we
+have the code
printf (gettext ("String `%s' has %d characters\n"), s, strlen (s));
@@ -1882,19 +2117,19 @@ wrong decision is similar to the one used above, only the comment to
use must contain the string `xgettext:no-c-format'.
If a string is marked with `c-format' and this is not correct the
-user can find out who is responsible for the decision. See *Note
+user can find out who is responsible for the decision. See *note
xgettext Invocation:: to see how the `--debug' option can be used for
solving this problem.

-File: gettext.info, Node: Special cases, Next: Names, Prev: c-format Flag, Up: Sources
+File: gettext.info, Node: Special cases, Next: Bug Report Address, Prev: c-format Flag, Up: Sources
4.7 Special Cases of Translatable Strings
=========================================
-The attentive reader might now point out that it is not always possible
-to mark translatable string with `gettext' or something like this.
-Consider the following case:
+ The attentive reader might now point out that it is not always
+possible to mark translatable string with `gettext' or something like
+this. Consider the following case:
{
static const char *messages[] = {
@@ -1939,7 +2174,7 @@ string from the array. So one solution can look like this:
Please convince yourself that the string which is written by `fputs'
is translated in any case. How to get `xgettext' know the additional
-keyword `gettext_noop' is explained in *Note xgettext Invocation::.
+keyword `gettext_noop' is explained in *note xgettext Invocation::.
The above is of course not the only solution. You could also come
along with the following one:
@@ -1970,12 +2205,57 @@ generally not very difficult. If it should be in any situation you can
use this second method in this situation.

-File: gettext.info, Node: Names, Next: Libraries, Prev: Special cases, Up: Sources
+File: gettext.info, Node: Bug Report Address, Next: Names, Prev: Special cases, Up: Sources
+
+4.8 Letting Users Report Translation Bugs
+=========================================
+
+ Code sometimes has bugs, but translations sometimes have bugs too.
+The users need to be able to report them. Reporting translation bugs
+to the programmer or maintainer of a package is not very useful, since
+the maintainer must never change a translation, except on behalf of the
+translator. Hence the translation bugs must be reported to the
+translators.
+
+ Here is a way to organize this so that the maintainer does not need
+to forward translation bug reports, nor even keep a list of the
+addresses of the translators or their translation teams.
+
+ Every program has a place where is shows the bug report address. For
+GNU programs, it is the code which handles the "-help" option,
+typically in a function called "usage". In this place, instruct the
+translator to add her own bug reporting address. For example, if that
+code has a statement
+
+ printf (_("Report bugs to <%s>.\n"), PACKAGE_BUGREPORT);
+
+ you can add some translator instructions like this:
+
+ /* TRANSLATORS: The placeholder indicates the bug-reporting address
+ for this package. Please add _another line_ saying
+ "Report translation bugs to <...>\n" with the address for translation
+ bugs (typically your translation team's web or email address). */
+ printf (_("Report bugs to <%s>.\n"), PACKAGE_BUGREPORT);
+
+ These will be extracted by `xgettext', leading to a .pot file that
+contains this:
+
+ #. TRANSLATORS: The placeholder indicates the bug-reporting address
+ #. for this package. Please add _another line_ saying
+ #. "Report translation bugs to <...>\n" with the address for translation
+ #. bugs (typically your translation team's web or email address).
+ #: src/hello.c:178
+ #, c-format
+ msgid "Report bugs to <%s>.\n"
+ msgstr ""
+
+
+File: gettext.info, Node: Names, Next: Libraries, Prev: Bug Report Address, Up: Sources
-4.8 Marking Proper Names for Translation
+4.9 Marking Proper Names for Translation
========================================
-Should names of persons, cities, locations etc. be marked for
+ Should names of persons, cities, locations etc. be marked for
translation or not? People who only know languages that can be written
with Latin letters (English, Spanish, French, German, etc.) are tempted
to say "no", because names usually do not change when transported
@@ -2040,10 +2320,10 @@ major hassle for translators using GNU Emacs or XEmacs with po-mode.

File: gettext.info, Node: Libraries, Prev: Names, Up: Sources
-4.9 Preparing Library Sources
-=============================
+4.10 Preparing Library Sources
+==============================
-When you are preparing a library, not a program, for the use of
+ When you are preparing a library, not a program, for the use of
`gettext', only a few details are different. Here we assume that the
library has a translation domain and a POT file of its own. (If it
uses the translation domain and POT file of the main program, then the
@@ -2126,8 +2406,8 @@ File: gettext.info, Node: Template, Next: Creating, Prev: Sources, Up: Top
5 Making the PO Template File
*****************************
-After preparing the sources, the programmer creates a PO template file.
-This section explains how to use `xgettext' for this purpose.
+ After preparing the sources, the programmer creates a PO template
+file. This section explains how to use `xgettext' for this purpose.
`xgettext' creates a file named `DOMAINNAME.po'. You should then
rename it to `DOMAINNAME.pot'. (Why doesn't `xgettext' create it under
@@ -2312,10 +2592,14 @@ extension.
* For Scheme: `gettext', `ngettext:1,2', `gettext-noop'.
* For Java: `GettextResource.gettext:2',
- `GettextResource.ngettext:2,3', `gettext', `ngettext:1,2',
- `getString'.
+ `GettextResource.ngettext:2,3',
+ `GettextResource.pgettext:2c,3',
+ `GettextResource.npgettext:2c,3,4', `gettext', `ngettext:1,2',
+ `pgettext:1c,2', `npgettext:1c,2,3', `getString'.
- * For C#: `GetString', `GetPluralString:1,2'.
+ * For C#: `GetString', `GetPluralString:1,2',
+ `GetParticularString:1c,2',
+ `GetParticularPluralString:1c,2,3'.
* For awk: `dcgettext', `dcngettext:1,2'.
@@ -2383,6 +2667,10 @@ extension.
Recognize Qt format strings.
This option has an effect only with the language C++.
+`--kde'
+ Recognize KDE 4 format strings.
+ This option has an effect only with the language C++.
+
`--boost'
Recognize Boost format strings.
This option has an effect only with the language C++.
@@ -2412,7 +2700,9 @@ adjacent strings, and escaped end of lines for continued strings.
Write the .po file using indented style.
`--no-location'
- Do not write `#: FILENAME:LINE' lines.
+ Do not write `#: FILENAME:LINE' lines. Note that using this
+ option makes it harder for technically skilled translators to
+ understand each message's context.
`-n'
`--add-location'
@@ -2462,6 +2752,9 @@ adjacent strings, and escaped end of lines for continued strings.
invocations of `xgettext' on the same files with the same options
at different times are guaranteed to produce the same results.
+ Note that using this option will lead to an error if the resulting
+ file would not entirely be in ASCII.
+
`--copyright-holder=STRING'
Set the copyright holder in the output. STRING should be the
copyright holder of the surrounding package. (Note that the msgstr
@@ -2483,13 +2776,20 @@ adjacent strings, and escaped end of lines for continued strings.
the GNU project that want their translations to be in the public
domain.
+`--package-name=PACKAGE'
+ Set the package name in the header of the output.
+
+`--package-version=VERSION'
+ Set the package version in the header of the output. This option
+ has an effect only if the `--package-name' option is also used.
+
`--msgid-bugs-address=EMAIL@ADDRESS'
Set the reporting address for msgid bugs. This is the email
address or URL to which the translators shall report bugs in the
untranslated strings:
- Strings which are not entire sentences, see the maintainer
- guidelines in *Note Preparing Strings::.
+ guidelines in *note Preparing Strings::.
- Strings which use unclear terms or require additional context
to be understood.
@@ -2537,7 +2837,7 @@ File: gettext.info, Node: Creating, Next: Updating, Prev: Template, Up: Top
6 Creating a New PO File
************************
-When starting a new translation, the translator creates a file called
+ When starting a new translation, the translator creates a file called
`LANG.po', as a copy of the `PACKAGE.pot' template file with
modifications in the initial comments (at the beginning of the file)
and in the header entry (the first entry, near the beginning of the
@@ -2662,18 +2962,19 @@ File: gettext.info, Node: Header Entry, Prev: msginit Invocation, Up: Creatin
6.2 Filling in the Header Entry
===============================
-The initial comments "SOME DESCRIPTIVE TITLE", "YEAR" and "FIRST AUTHOR
-<EMAIL@ADDRESS>, YEAR" ought to be replaced by sensible information.
-This can be done in any text editor; if Emacs is used and it switched
-to PO mode automatically (because it has recognized the file's suffix),
-you can disable it by typing `M-x fundamental-mode'.
+ The initial comments "SOME DESCRIPTIVE TITLE", "YEAR" and "FIRST
+AUTHOR <EMAIL@ADDRESS>, YEAR" ought to be replaced by sensible
+information. This can be done in any text editor; if Emacs is used and
+it switched to PO mode automatically (because it has recognized the
+file's suffix), you can disable it by typing `M-x fundamental-mode'.
Modifying the header entry can already be done using PO mode: in
Emacs, type `M-x po-mode RET' and then `RET' again to start editing the
entry. You should fill in the following fields.
Project-Id-Version
- This is the name and version of the package.
+ This is the name and version of the package. Fill it in if it has
+ not already been filled in by `xgettext'.
Report-Msgid-Bugs-To
This has already been filled in by `xgettext'. It contains an
@@ -2681,7 +2982,7 @@ Report-Msgid-Bugs-To
strings:
- Strings which are not entire sentences, see the maintainer
- guidelines in *Note Preparing Strings::.
+ guidelines in *note Preparing Strings::.
- Strings which use unclear terms or require additional context
to be understood.
@@ -2717,15 +3018,14 @@ Language-Team
In the Free Translation Project, each translation team has its own
mailing list. The up-to-date list of teams can be found at the
Free Translation Project's homepage,
- `http://www.iro.umontreal.ca/contrib/po/HTML/', in the "National
- teams" area.
+ `http://translationproject.org/', in the "Teams" area.
Content-Type
Replace `CHARSET' with the character encoding used for your
language, in your locale, or UTF-8. This field is needed for
correct operation of the `msgmerge' and `msgfmt' programs, as well
as for users whose locale's character encoding differs from yours
- (see *Note Charset conversion::).
+ (see *note Charset conversion::).
You get the character encoding of your locale by running the shell
command `locale charmap'. If the result is `C' or
@@ -2808,10 +3108,10 @@ Content-Type
because in UTF-8 the real quote characters can be represented
(single quote characters: U+2018, U+2019, double quote characters:
U+201C, U+201D), whereas none of ISO-8859-* charsets has them all.
- Users in UTF-8 locales will see the real quote characters,
- whereas users in ISO-8859-* locales will see the vertical
- apostrophe and the vertical double quote instead (because that's
- what the character set conversion will transliterate them to).
+ Users in UTF-8 locales will see the real quote characters, whereas
+ users in ISO-8859-* locales will see the vertical apostrophe and
+ the vertical double quote instead (because that's what the
+ character set conversion will transliterate them to).
To enter such quote characters under X11, you can change your
keyboard mapping using the `xmodmap' program. The X11 names of
@@ -2833,7 +3133,7 @@ Plural-Forms
This field is optional. It is only needed if the PO file has
plural forms. You can find them by searching for the
`msgid_plural' keyword. The format of the plural forms field is
- described in *Note Plural forms::.
+ described in *note Plural forms::.

File: gettext.info, Node: Updating, Next: Editing, Prev: Creating, Up: Top
@@ -2907,7 +3207,7 @@ specified or if it is `-'.
7.1.4 Output file location in update mode
-----------------------------------------
-The result is written back to DEF.po.
+ The result is written back to DEF.po.
`--backup=CONTROL'
Make a backup of DEF.po
@@ -3056,6 +3356,7 @@ File: gettext.info, Node: Editing, Next: Manipulating, Prev: Updating, Up: T
* KBabel:: KDE's PO File Editor
* Gtranslator:: GNOME's PO File Editor
* PO Mode:: Emacs's PO File Editor
+* Compendium:: Using Translation Compendia

File: gettext.info, Node: KBabel, Next: Gtranslator, Prev: Editing, Up: Editing
@@ -3070,12 +3371,12 @@ File: gettext.info, Node: Gtranslator, Next: PO Mode, Prev: KBabel, Up: Edit
==========================

-File: gettext.info, Node: PO Mode, Prev: Gtranslator, Up: Editing
+File: gettext.info, Node: PO Mode, Next: Compendium, Prev: Gtranslator, Up: Editing
8.3 Emacs's PO File Editor
==========================
-For those of you being the lucky users of Emacs, PO mode has been
+ For those of you being the lucky users of Emacs, PO mode has been
specifically created for providing a cozy environment for editing or
modifying PO files. While editing a PO file, PO mode allows for the
easy browsing of auxiliary and compendium PO files, as well as for
@@ -3105,7 +3406,6 @@ Untranslated Entries::).
* Subedit:: Mode for Editing Translations
* C Sources Context:: C Sources Context
* Auxiliary:: Consulting Auxiliary PO Files
-* Compendium:: Using Translation Compendia

File: gettext.info, Node: Installation, Next: Main PO Commands, Prev: PO Mode, Up: PO Mode
@@ -3113,7 +3413,7 @@ File: gettext.info, Node: Installation, Next: Main PO Commands, Prev: PO Mode
8.3.1 Completing GNU `gettext' Installation
-------------------------------------------
-Once you have received, unpacked, configured and compiled the GNU
+ Once you have received, unpacked, configured and compiled the GNU
`gettext' distribution, the `make install' command puts in place the
programs `xgettext', `msgfmt', `gettext', and `msgmerge', as well as
their available message catalogs. To top off a comfortable
@@ -3156,7 +3456,7 @@ File: gettext.info, Node: Main PO Commands, Next: Entry Positioning, Prev: In
8.3.2 Main PO mode Commands
---------------------------
-After setting up Emacs with something similar to the lines in *Note
+ After setting up Emacs with something similar to the lines in *note
Installation::, PO mode is activated for a window when Emacs finds a PO
file in that window. This puts the window read-only and establishes a
po-mode-map, which is a genuine Emacs mode, in a way that is not derived
@@ -3264,13 +3564,13 @@ File: gettext.info, Node: Entry Positioning, Next: Normalizing, Prev: Main PO
8.3.3 Entry Positioning
-----------------------
-The cursor in a PO file window is almost always part of an entry. The
-only exceptions are the special case when the cursor is after the last
-entry in the file, or when the PO file is empty. The entry where the
-cursor is found to be is said to be the current entry. Many PO mode
-commands operate on the current entry, so moving the cursor does more
-than allowing the translator to browse the PO file, this also selects
-on which entry commands operate.
+ The cursor in a PO file window is almost always part of an entry.
+The only exceptions are the special case when the cursor is after the
+last entry in the file, or when the PO file is empty. The entry where
+the cursor is found to be is said to be the current entry. Many PO
+mode commands operate on the current entry, so moving the cursor does
+more than allowing the translator to browse the PO file, this also
+selects on which entry commands operate.
Some PO mode commands alter the position of the cursor in a
specialized way. A few of those special purpose positioning are
@@ -3378,7 +3678,7 @@ File: gettext.info, Node: Normalizing, Next: Translated Entries, Prev: Entry
8.3.4 Normalizing Strings in Entries
------------------------------------
-There are many different ways for encoding a particular string into a
+ There are many different ways for encoding a particular string into a
PO file entry, because there are so many different ways to split and
quote multi-line strings, and even, to represent special characters by
backslashed escaped sequences. Some features of PO mode rely on the
@@ -3476,8 +3776,8 @@ File: gettext.info, Node: Translated Entries, Next: Fuzzy Entries, Prev: Norm
8.3.5 Translated Entries
------------------------
-Each PO file entry for which the `msgstr' field has been filled with a
-translation, and which is not marked as fuzzy (*note Fuzzy Entries::),
+ Each PO file entry for which the `msgstr' field has been filled with
+a translation, and which is not marked as fuzzy (*note Fuzzy Entries::),
is said to be a "translated" entry. Only translated entries will later
be compiled by GNU `msgfmt' and become usable in programs. Other entry
types will be excluded; translation will not occur for them.
@@ -3499,7 +3799,7 @@ for an translated entry. If none is found, the search is extended and
wraps around in the PO file buffer.
Translated entries usually result from the translator having edited
-in a translation for them, *Note Modifying Translations::. However, if
+in a translation for them, *note Modifying Translations::. However, if
the variable `po-auto-fuzzy-on-edit' is not `nil', the entry having
received a new translation first becomes a fuzzy entry, which ought to
be later unfuzzied before becoming an official, genuine translated
@@ -3511,11 +3811,11 @@ File: gettext.info, Node: Fuzzy Entries, Next: Untranslated Entries, Prev: Tr
8.3.6 Fuzzy Entries
-------------------
-Each PO file entry may have a set of "attributes", which are qualities
-given a name and explicitly associated with the translation, using a
-special system comment. One of these attributes has the name `fuzzy',
-and entries having this attribute are said to have a fuzzy translation.
-They are called fuzzy entries, for short.
+ Each PO file entry may have a set of "attributes", which are
+qualities given a name and explicitly associated with the translation,
+using a special system comment. One of these attributes has the name
+`fuzzy', and entries having this attribute are said to have a fuzzy
+translation. They are called fuzzy entries, for short.
Fuzzy entries, even if they account for translated entries for most
other purposes, usually call for revision by the translator. Those may
@@ -3580,9 +3880,9 @@ File: gettext.info, Node: Untranslated Entries, Next: Obsolete Entries, Prev:
8.3.7 Untranslated Entries
--------------------------
-When `xgettext' originally creates a PO file, unless told otherwise, it
-initializes the `msgid' field with the untranslated string, and leaves
-the `msgstr' string to be empty. Such entries, having an empty
+ When `xgettext' originally creates a PO file, unless told otherwise,
+it initializes the `msgid' field with the untranslated string, and
+leaves the `msgstr' string to be empty. Such entries, having an empty
translation, are said to be "untranslated" entries. Later, when the
programmer slightly modifies some string right in the program, this
change is later reflected in the PO file by the appearance of a new
@@ -3628,7 +3928,7 @@ File: gettext.info, Node: Obsolete Entries, Next: Modifying Translations, Pre
8.3.8 Obsolete Entries
----------------------
-By "obsolete" PO file entries, we mean those entries which are
+ By "obsolete" PO file entries, we mean those entries which are
commented out, usually by `msgmerge' when it found that the translation
is not needed anymore by the package being localized.
@@ -3698,16 +3998,16 @@ File: gettext.info, Node: Modifying Translations, Next: Modifying Comments, P
8.3.9 Modifying Translations
----------------------------
-PO mode prevents direct modification of the PO file, by the usual means
-Emacs gives for altering a buffer's contents. By doing so, it pretends
-helping the translator to avoid little clerical errors about the
-overall file format, or the proper quoting of strings, as those errors
-would be easily made. Other kinds of errors are still possible, but
-some may be caught and diagnosed by the batch validation process, which
-the translator may always trigger by the `V' command. For all other
-errors, the translator has to rely on her own judgment, and also on the
-linguistic reports submitted to her by the users of the translated
-package, having the same mother tongue.
+ PO mode prevents direct modification of the PO file, by the usual
+means Emacs gives for altering a buffer's contents. By doing so, it
+pretends helping the translator to avoid little clerical errors about
+the overall file format, or the proper quoting of strings, as those
+errors would be easily made. Other kinds of errors are still possible,
+but some may be caught and diagnosed by the batch validation process,
+which the translator may always trigger by the `V' command. For all
+other errors, the translator has to rely on her own judgment, and also
+on the linguistic reports submitted to her by the users of the
+translated package, having the same mother tongue.
When the time comes to create a translation, correct an error
diagnosed mechanically or reported by a user, the translators have to
@@ -3851,7 +4151,7 @@ File: gettext.info, Node: Modifying Comments, Next: Subedit, Prev: Modifying
8.3.10 Modifying Comments
-------------------------
-Any translation work done seriously will raise many linguistic
+ Any translation work done seriously will raise many linguistic
difficulties, for which decisions have to be made, and the choices
further documented. These documents may be saved within the PO file in
form of translator comments, which the translator is free to create,
@@ -3941,9 +4241,9 @@ File: gettext.info, Node: Subedit, Next: C Sources Context, Prev: Modifying C
8.3.11 Details of Sub Edition
-----------------------------
-The PO subedit minor mode has a few peculiarities worth being described
-in fuller detail. It installs a few commands over the usual editing set
-of Emacs, which are described below.
+ The PO subedit minor mode has a few peculiarities worth being
+described in fuller detail. It installs a few commands over the usual
+editing set of Emacs, which are described below.
`C-c C-c'
Complete edition (`po-subedit-exit').
@@ -4020,7 +4320,7 @@ File: gettext.info, Node: C Sources Context, Next: Auxiliary, Prev: Subedit,
8.3.12 C Sources Context
------------------------
-PO mode is particularly powerful when used with PO files created
+ PO mode is particularly powerful when used with PO files created
through GNU `gettext' utilities, as those utilities insert special
comments in the PO files they generate. Some of these special comments
relate the PO file entry to exactly where the untranslated string
@@ -4118,12 +4418,12 @@ directory at the front of the search path, and the command `M-S'
the directories she does not want anymore on the search path.

-File: gettext.info, Node: Auxiliary, Next: Compendium, Prev: C Sources Context, Up: PO Mode
+File: gettext.info, Node: Auxiliary, Prev: C Sources Context, Up: PO Mode
8.3.13 Consulting Auxiliary PO Files
------------------------------------
-PO mode is able to help the knowledgeable translator, being fluent in
+ PO mode is able to help the knowledgeable translator, being fluent in
many languages, at taking advantage of translations already achieved in
other languages she just happens to know. It provides these other
language translations as additional context for her own work. Moreover,
@@ -4188,12 +4488,12 @@ between PO mode and other GNU `gettext' tools get fully resolved, the
translator should stay aware of normalisation issues.

-File: gettext.info, Node: Compendium, Prev: Auxiliary, Up: PO Mode
+File: gettext.info, Node: Compendium, Prev: PO Mode, Up: Editing
-8.3.14 Using Translation Compendia
-----------------------------------
+8.4 Using Translation Compendia
+===============================
-A "compendium" is a special PO file containing a set of translations
+ A "compendium" is a special PO file containing a set of translations
recurring in many different packages. The translator can use gettext
tools to build a new compendium, to add entries to her compendium, and
to initialize untranslated entries, or to update already translated
@@ -4207,19 +4507,19 @@ entries, from translations kept in the compendium.

File: gettext.info, Node: Creating Compendia, Next: Using Compendia, Prev: Compendium, Up: Compendium
-8.3.14.1 Creating Compendia
-...........................
+8.4.1 Creating Compendia
+------------------------
-Basically every PO file consisting of translated entries only can be
+ Basically every PO file consisting of translated entries only can be
declared as a valid compendium. Often the translator wants to have
special compendia; let's consider two cases: `concatenating PO files'
and `extracting a message subset from a PO file'.
-8.3.14.2 Concatenate PO Files
-.............................
+8.4.1.1 Concatenate PO Files
+............................
-To concatenate several valid PO files into one compendium file you can
-use `msgcomm' or `msgcat' (the latter preferred):
+ To concatenate several valid PO files into one compendium file you
+can use `msgcomm' or `msgcat' (the latter preferred):
msgcat -o compendium.po file1.po file2.po
@@ -4266,10 +4566,10 @@ entries. If input files are "dirty" you must preprocess the input
files or postprocess the result using `msgattrib --translated
--no-fuzzy'.
-8.3.14.3 Extract a Message Subset from a PO File
-................................................
+8.4.1.2 Extract a Message Subset from a PO File
+...............................................
-Nobody wants to translate the same messages again and again; thus you
+ Nobody wants to translate the same messages again and again; thus you
may wish to have a compendium file containing `getopt.c' messages.
To extract a message subset (e.g., all `getopt.c' messages) from an
@@ -4280,29 +4580,29 @@ existing PO file into one compendium file you can use `msggrep':

File: gettext.info, Node: Using Compendia, Prev: Creating Compendia, Up: Compendium
-8.3.14.4 Using Compendia
-........................
+8.4.2 Using Compendia
+---------------------
-You can use a compendium file to initialize a translation from scratch
-or to update an already existing translation.
+ You can use a compendium file to initialize a translation from
+scratch or to update an already existing translation.
-8.3.14.5 Initialize a New Translation File
-..........................................
+8.4.2.1 Initialize a New Translation File
+.........................................
-Since a PO file with translations does not exist the translator can
+ Since a PO file with translations does not exist the translator can
merely use `/dev/null' to fake the "old" translation file.
msgmerge --compendium compendium.po -o file.po /dev/null file.pot
-8.3.14.6 Update an Existing Translation File
-............................................
+8.4.2.2 Update an Existing Translation File
+...........................................
-Concatenate the compendium file(s) and the existing PO, merge the
+ Concatenate the compendium file(s) and the existing PO, merge the
result with the POT file and remove the obsolete entries (optional,
here done using `sed'):
msgcat --use-first -o update.po compendium1.po compendium2.po file.po
- msgmerge update.po file.pot | sed -e '/^#~/d' > file.po
+ msgmerge update.po file.pot | msgattrib --no-obsolete > file.po

File: gettext.info, Node: Manipulating, Next: Binaries, Prev: Editing, Up: Top
@@ -4310,8 +4610,8 @@ File: gettext.info, Node: Manipulating, Next: Binaries, Prev: Editing, Up: T
9 Manipulating PO Files
***********************
-Sometimes it is necessary to manipulate PO files in a way that is better
-performed automatically than by hand. GNU `gettext' includes a
+ Sometimes it is necessary to manipulate PO files in a way that is
+better performed automatically than by hand. GNU `gettext' includes a
complete set of tools for this purpose.
When merging two packages into a single package, the resulting POT
@@ -4382,6 +4682,7 @@ write other specialized programs that process PO files.
* msgattrib Invocation:: Invoking the `msgattrib' Program
* msgen Invocation:: Invoking the `msgen' Program
* msgexec Invocation:: Invoking the `msgexec' Program
+* Colorizing:: Highlighting parts of PO files
* libgettextpo:: Writing your own programs that process PO files

@@ -4477,6 +4778,15 @@ specified or if it is `-'.
Use first available translation for each message. Don't merge
several translations into one.
+`--color'
+`--color=WHEN'
+ Specify whether or when to use colors and other text attributes.
+ See *note The --color option:: for details.
+
+`--style=STYLE_FILE'
+ Specify the CSS style rule file to use for `--color'. See *note
+ The --style option:: for details.
+
`--force-po'
Always write an output file even if it contains no message.
@@ -4708,7 +5018,7 @@ specified or if it is `-'.
-----------------------
[-N SOURCEFILE]... [-M DOMAINNAME]...
- [-J MSGCTXT-PATTERN [-K MSGID-PATTERN] [-T MSGSTR-PATTERN]
+ [-J MSGCTXT-PATTERN] [-K MSGID-PATTERN] [-T MSGSTR-PATTERN]
[-C COMMENT-PATTERN]
A message is selected if
@@ -4732,7 +5042,7 @@ specified or if it is `-'.
selected messages is the union of the selected messages of each
criterion.
- MSGID-PATTERN or MSGSTR-PATTERN syntax:
+ MSGCTXT-PATTERN or MSGID-PATTERN or MSGSTR-PATTERN syntax:
[-E | -F] [-e PATTERN | -f FILE]...
PATTERNs are basic regular expressions by default, or extended
regular expressions if -E is given, or fixed strings if -F is given.
@@ -4869,6 +5179,29 @@ regular expressions if -E is given, or fixed strings if -F is given.
Output version information and exit.
+9.3.7 Examples
+--------------
+
+ To extract the messages that come from the source files
+`gnulib-lib/error.c' and `gnulib-lib/getopt.c':
+
+ msggrep -N gnulib-lib/error.c -N gnulib-lib/getopt.c input.po
+
+ To extract the messages that contain the string "Please specify" in
+the original string:
+
+ msggrep --msgid -F -e 'Please specify' input.po
+
+ To extract the messages that have a context specifier of either
+"Menu>File" or "Menu>Edit" or a submenu of them:
+
+ msggrep --msgctxt -E -e '^Menu>(File|Edit)' input.po
+
+ To extract the messages whose translation contains one of the
+strings in the file `wordlist.txt':
+
+ msggrep --msgstr -F -f wordlist.txt input.po
+

File: gettext.info, Node: msgfilter Invocation, Next: msguniq Invocation, Prev: msggrep Invocation, Up: Manipulating
@@ -4910,7 +5243,7 @@ specified or if it is `-'.
9.4.3 The filter
----------------
-The FILTER can be any program that reads a translation from standard
+ The FILTER can be any program that reads a translation from standard
input and writes a modified translation to standard output. A
frequently used filter is `sed'. A few particular built-in filters are
also recognized.
@@ -4954,8 +5287,8 @@ does not have this limitation.
9.4.5 Built-in FILTERs
----------------------
-The filter `recode-sr-latin' is recognized as a built-in filter. The
-command `recode-sr-latin' converts Serbian text, written in the
+ The filter `recode-sr-latin' is recognized as a built-in filter.
+The command `recode-sr-latin' converts Serbian text, written in the
Cyrillic script, to the Latin script. The command `msgfilter
recode-sr-latin' applies this conversion to the translations of a PO
file. Thus, it can be used to convert an `sr.po' file to an
@@ -5049,6 +5382,18 @@ needed.
Output version information and exit.
+9.4.9 Examples
+--------------
+
+ To convert German translations to Swiss orthography (in an UTF-8
+locale):
+
+ msgconv -t UTF-8 de.po | msgfilter sed -e 's/ß/ss/g'
+
+ To convert Serbian translations in Cyrillic script to Latin script:
+
+ msgfilter recode-sr-latin sr.po
+

File: gettext.info, Node: msguniq Invocation, Next: msgcomm Invocation, Prev: msgfilter Invocation, Up: Manipulating
@@ -5479,7 +5824,7 @@ specified or if it is `-'.
9.8.4 Attribute manipulation
----------------------------
-Attributes are modified after the message selection/removal has been
+ Attributes are modified after the message selection/removal has been
performed. If the `--only-file' or `--ignore-file' option is
specified, the attribute modification is applied only to those messages
that are listed in the ONLY-FILE and not listed in the IGNORE-FILE.
@@ -5719,7 +6064,7 @@ specified or if it is `-'.

-File: gettext.info, Node: msgexec Invocation, Next: libgettextpo, Prev: msgen Invocation, Up: Manipulating
+File: gettext.info, Node: msgexec Invocation, Next: Colorizing, Prev: msgen Invocation, Up: Manipulating
9.10 Invoking the `msgexec' Program
===================================
@@ -5795,18 +6140,398 @@ using the `LC_ALL' environment variable.

-File: gettext.info, Node: libgettextpo, Prev: msgexec Invocation, Up: Manipulating
+File: gettext.info, Node: Colorizing, Next: libgettextpo, Prev: msgexec Invocation, Up: Manipulating
+
+9.11 Highlighting parts of PO files
+===================================
+
+ Translators are usually only interested in seeing the untranslated
+and fuzzy messages of a PO file. Also, when a message is set fuzzy
+because the msgid changed, they want to see the differences between the
+previous msgid and the current one (especially if the msgid is long and
+only few words in it have changed). Finally, it's always welcome to
+highlight the different sections of a message in a PO file (comments,
+msgid, msgstr, etc.).
+
+ Such highlighting is possible through the `msgcat' options `--color'
+and `--style'.
+
+* Menu:
+
+* The --color option:: Triggering colorized output
+* The TERM variable:: The environment variable `TERM'
+* The --style option:: The `--style' option
+* Style rules:: Style rules for PO files
+* Customizing less:: Customizing `less' for viewing PO files
+
+
+File: gettext.info, Node: The --color option, Next: The TERM variable, Up: Colorizing
+
+9.11.1 The `--color' option
+---------------------------
+
+ The `--color=WHEN' option specifies under which conditions colorized
+output should be generated. The WHEN part can be one of the following:
+
+`always'
+`yes'
+ The output will be colorized.
+
+`never'
+`no'
+ The output will not be colorized.
+
+`auto'
+`tty'
+ The output will be colorized if the output device is a tty, i.e.
+ when the output goes directly to a text screen or terminal
+ emulator window.
+
+`html'
+ The output will be colorized and be in HTML format.
+
+`--color' is equivalent to `--color=yes'. The default is
+`--color=auto'.
+
+ Thus, a command like `msgcat vi.po' will produce colorized output
+when called by itself in a command window. Whereas in a pipe, such as
+`msgcat vi.po | less -R', it will not produce colorized output. To get
+colorized output in this situation nevertheless, use the command
+`msgcat --color vi.po | less -R'.
+
+ The `--color=html' option will produce output that can be viewed in
+a browser. This can be useful, for example, for Indic languages,
+because the renderic of Indic scripts in browser is usually better than
+in terminal emulators.
+
+ Note that the output produced with the `--color' option is _not_ a
+valid PO file in itself. It contains additional terminal-specific
+escape sequences or HTML tags. A PO file reader will give a syntax
+error when confronted with such content. Except for the `--color=html'
+case, you therefore normally don't need to save output produced with the
+`--color' option in a file.
+
+
+File: gettext.info, Node: The TERM variable, Next: The --style option, Prev: The --color option, Up: Colorizing
+
+9.11.2 The environment variable `TERM'
+--------------------------------------
+
+ The environment variable `TERM' contains a identifier for the text
+window's capabilities. You can get a detailed list of these
+cababilities by using the `infocmp' command, using `man 5 terminfo' as a
+reference.
+
+ When producing text with embedded color directives, `msgcat' looks
+at the `TERM' variable. Text windows today typically support at least
+8 colors. Often, however, the text window supports 16 or more colors,
+even though the `TERM' variable is set to a identifier denoting only 8
+supported colors. It can be worth setting the `TERM' variable to a
+different value in these cases:
+
+`xterm'
+ `xterm' is in most cases built with support for 16 colors. It can
+ also be built with support for 88 or 256 colors (but not both).
+ You can try to set `TERM' to either `xterm-16color',
+ `xterm-88color', or `xterm-256color'.
+
+`rxvt'
+ `rxvt' is often built with support for 16 colors. You can try to
+ set `TERM' to `rxvt-16color'.
+
+`konsole'
+ `konsole' too is often built with support for 16 colors. You can
+ try to set `TERM' to `konsole-16color' or `xterm-16color'.
+
+ After setting `TERM', you can verify it by invoking `msgcat
+--color=test' and seeing whether the output looks like a reasonable
+color map.
+
+
+File: gettext.info, Node: The --style option, Next: Style rules, Prev: The TERM variable, Up: Colorizing
+
+9.11.3 The `--style' option
+---------------------------
+
+ The `--style=STYLE_FILE' option specifies the style file to use when
+colorizing. It has an effect only when the `--color' option is
+effective.
+
+ If the `--style' option is not specified, the environment variable
+`PO_STYLE' is considered. It is meant to point to the user's preferred
+style for PO files.
+
+ The default style file is
+`$prefix/share/gettext/styles/po-default.css', where `$prefix' is the
+installation location.
+
+ A few style files are predefined:
+`po-vim.css'
+ This style imitates the look used by vim 7.
+
+`po-emacs-x.css'
+ This style imitates the look used by GNU Emacs 21 and 22 in an X11
+ window.
+
+`po-emacs-xterm.css'
+`po-emacs-xterm16.css'
+`po-emacs-xterm256.css'
+ This style imitates the look used by GNU Emacs 22 in a terminal of
+ type `xterm' (8 colors) or `xterm-16color' (16 colors) or
+ `xterm-256color' (256 colors), respectively.
+
+You can use these styles without specifying a directory. They are
+actually located in `$prefix/share/gettext/styles/', where `$prefix' is
+the installation location.
+
+ You can also design your own styles. This is described in the next
+section.
+
+
+File: gettext.info, Node: Style rules, Next: Customizing less, Prev: The --style option, Up: Colorizing
+
+9.11.4 Style rules for PO files
+-------------------------------
+
+ The same style file can be used for styling of a PO file, for
+terminal output and for HTML output. It is written in CSS (Cascading
+Style Sheet) syntax. See `http://www.w3.org/TR/css2/cover.html' for a
+formal definition of CSS. Many HTML authoring tutorials also contain
+explanations of CSS.
+
+ In the case of HTML output, the style file is embedded in the HTML
+output. In the case of text output, the style file is interpreted by
+the `msgcat' program. This means, in particular, that when `@import'
+is used with relative file names, the file names are
+
+ - relative to the resulting HTML file, in the case of HTML output,
+
+ - relative to the style sheet containing the `@import', in the case
+ of text output. (Actually, `@import's are not yet supported in
+ this case, due to a limitation in `libcroco'.)
+
+ CSS rules are built up from selectors and declarations. The
+declarations specify graphical properties; the selectors specify
+specify when they apply.
+
+ In PO files, the following simple selectors (based on "CSS classes",
+see the CSS2 spec, section 5.8.3) are supported.
+
+ * Selectors that apply to entire messages:
+
+ `.header'
+ This matches the header entry of a PO file.
+
+ `.translated'
+ This matches a translated message.
+
+ `.untranslated'
+ This matches an untranslated message (i.e. a message with
+ empty translation).
+
+ `.fuzzy'
+ This matches a fuzzy message (i.e. a message which has a
+ translation that needs review by the translator).
+
+ `.obsolete'
+ This matches an obsolete message (i.e. a message that was
+ translated but is not needed by the current POT file any
+ more).
+
+ * Selectors that apply to parts of a message in PO syntax. Recall
+ the general structure of a message in PO syntax:
+
+ WHITE-SPACE
+ # TRANSLATOR-COMMENTS
+ #. EXTRACTED-COMMENTS
+ #: REFERENCE...
+ #, FLAG...
+ #| msgid PREVIOUS-UNTRANSLATED-STRING
+ msgid UNTRANSLATED-STRING
+ msgstr TRANSLATED-STRING
+
+ `.comment'
+ This matches all comments (translator comments, extracted
+ comments, source file reference comments, flag comments,
+ previous message comments, as well as the entire obsolete
+ messages).
+
+ `.translator-comment'
+ This matches the translator comments.
+
+ `.extracted-comment'
+ This matches the extracted comments, i.e. the comments placed
+ by the programmer at the attention of the translator.
+
+ `.reference-comment'
+ This matches the source file reference comments (entire
+ lines).
+
+ `.reference'
+ This matches the individual source file references inside the
+ source file reference comment lines.
+
+ `.flag-comment'
+ This matches the flag comment lines (entire lines).
+
+ `.flag'
+ This matches the individual flags inside flag comment lines.
+
+ `.fuzzy-flag'
+ This matches the `fuzzy' flag inside flag comment lines.
+
+ `.previous-comment'
+ This matches the comments containing the previous
+ untranslated string (entire lines).
+
+ `.previous'
+ This matches the previous untranslated string including the
+ string delimiters, the associated keywords (`msgid' etc.) and
+ the spaces between them.
+
+ `.msgid'
+ This matches the untranslated string including the string
+ delimiters, the associated keywords (`msgid' etc.) and the
+ spaces between them.
+
+ `.msgstr'
+ This matches the translated string including the string
+ delimiters, the associated keywords (`msgstr' etc.) and the
+ spaces between them.
+
+ `.keyword'
+ This matches the keywords (`msgid', `msgstr', etc.).
+
+ `.string'
+ This matches strings, including the string delimiters (double
+ quotes).
+
+ * Selectors that apply to parts of strings:
+
+ `.text'
+ This matches the entire contents of a string (excluding the
+ string delimiters, i.e. the double quotes).
+
+ `.escape-sequence'
+ This matches an escape sequence (starting with a backslash).
+
+ `.format-directive'
+ This matches a format string directive (starting with a `%'
+ sign in the case of most programming languages, with a `{' in
+ the case of `java-format' and `csharp-format', with a `~' in
+ the case of `lisp-format' and `scheme-format', or with `$' in
+ the case of `sh-format').
+
+ `.invalid-format-directive'
+ This matches an invalid format string directive.
+
+ `.added'
+ In an untranslated string, this matches a part of the string
+ that was not present in the previous untranslated string.
+ (Not yet implemented in this release.)
+
+ `.changed'
+ In an untranslated string or in a previous untranslated
+ string, this matches a part of the string that is changed or
+ replaced. (Not yet implemented in this release.)
+
+ `.removed'
+ In a previous untranslated string, this matches a part of the
+ string that is not present in the current untranslated
+ string. (Not yet implemented in this release.)
+
+ These selectors can be combined to hierarchical selectors. For
+example,
+
+ .msgstr .invalid-format-directive { color: red; }
+
+will highlight the invalid format directives in the translated strings.
+
+ In text mode, pseudo-classes (CSS2 spec, section 5.11) and
+pseudo-elements (CSS2 spec, section 5.12) are not supported.
+
+ The declarations in HTML mode are not limited; any graphical
+attribute supported by the browsers can be used.
+
+ The declarations in text mode are limited to the following
+properties. Other properties will be silently ignored.
+
+`color' (CSS2 spec, section 14.1)
+`background-color' (CSS2 spec, section 14.2.1)
+ These properties is supported. Colors will be adjusted to match
+ the terminal's capabilities. Note that many terminals support
+ only 8 colors.
+
+`font-weight' (CSS2 spec, section 15.2.3)
+ This property is supported, but most terminals can only render two
+ different weights: `normal' and `bold'. Values >= 600 are
+ rendered as `bold'.
+
+`font-style' (CSS2 spec, section 15.2.3)
+ This property is supported. The values `italic' and `oblique' are
+ rendered the same way.
+
+`text-decoration' (CSS2 spec, section 16.3.1)
+ This property is supported, limited to the values `none' and
+ `underline'.
+
+
+File: gettext.info, Node: Customizing less, Prev: Style rules, Up: Colorizing
+
+9.11.5 Customizing `less' for viewing PO files
+----------------------------------------------
+
+ The `less' program is a popular text file browser for use in a text
+screen or terminal emulator. It also supports text with embedded escape
+sequences for colors and text decorations.
+
+ You can use `less' to view a PO file like this (assuming an UTF-8
+environment):
+
+ msgcat --to-code=UTF-8 --color xyz.po | less -R
+
+ You can simplify this to this simple command:
+
+ less xyz.po
+
+after these three preparations:
+
+ 1. Add the options `-R' and `-f' to the `LESS' environment variable.
+ In sh shells:
+ $ LESS="$LESS -R -f"
+ $ export LESS
+
+ 2. If your system does not already have the `lessopen.sh' and
+ `lessclose.sh' scripts, create them and set the `LESSOPEN' and
+ `LESSCLOSE' environment variables, as indicated in the manual page
+ (`man less').
+
+ 3. Add to `lessopen.sh' a piece of script that recognizes PO files
+ through their file extension and invokes `msgcat' on them,
+ producing a temporary file. Like this:
+
+ case "$1" in
+ *.po)
+ tmpfile=`mktemp "${TMPDIR-/tmp}/less.XXXXXX"`
+ msgcat --to-code=UTF-8 --color "$1" > "$tmpfile"
+ echo "$tmpfile"
+ exit 0
+ ;;
+ esac
+
+
+File: gettext.info, Node: libgettextpo, Prev: Colorizing, Up: Manipulating
-9.11 Writing your own programs that process PO files
+9.12 Writing your own programs that process PO files
====================================================
-For the tasks for which a combination of `msgattrib', `msgcat' etc. is
-not sufficient, a set of C functions is provided in a library, to make
-it possible to process PO files in your own programs. When you use
-this library, you don't need to write routines to parse the PO file;
-instead, you retrieve a pointer in memory to each of messages contained
-in the PO file. Functions for writing PO files are not provided at
-this time.
+ For the tasks for which a combination of `msgattrib', `msgcat' etc.
+is not sufficient, a set of C functions is provided in a library, to
+make it possible to process PO files in your own programs. When you
+use this library, you don't need to write routines to parse the PO
+file; instead, you retrieve a pointer in memory to each of messages
+contained in the PO file. Functions for writing PO files are not
+provided at this time.
The functions are declared in the header file `<gettext-po.h>', and
are defined in a library called `libgettextpo'.
@@ -6336,7 +7061,7 @@ File: gettext.info, Node: MO Files, Prev: msgunfmt Invocation, Up: Binaries
10.3 The Format of GNU MO Files
===============================
-The format of the generated MO files is best described by a picture,
+ The format of the generated MO files is best described by a picture,
which appears below.
The first two words serve the identification of the file. The magic
@@ -6476,8 +7201,8 @@ File: gettext.info, Node: Programmers, Next: Translators, Prev: Binaries, Up
11 The Programmer's View
************************
-One aim of the current message catalog implementation provided by GNU
-`gettext' was to use the system's message catalog handling, if the
+ One aim of the current message catalog implementation provided by
+GNU `gettext' was to use the system's message catalog handling, if the
installer wishes to do so. So we perhaps should first take a look at
the solutions we know about. The people in the POSIX committee did not
manage to agree on one of the semi-official standards which we'll
@@ -6502,7 +7227,7 @@ File: gettext.info, Node: catgets, Next: gettext, Prev: Programmers, Up: Pro
11.1 About `catgets'
====================
-The `catgets' implementation is defined in the X/Open Portability
+ The `catgets' implementation is defined in the X/Open Portability
Guide, Volume 3, XSI Supplementary Definitions, Chapter 5. But the
process of creating this standard seemed to be too slow for some of the
Unix vendors so they created their implementations on preliminary
@@ -6534,7 +7259,7 @@ File: gettext.info, Node: Interface to catgets, Next: Problems with catgets,
11.1.1 The Interface
--------------------
-The interface to the `catgets' implementation consists of three
+ The interface to the `catgets' implementation consists of three
functions which correspond to those used in file access: `catopen' to
open the catalog for using, `catgets' for accessing the message tables,
and `catclose' for closing after work is done. Prototypes for the
@@ -6584,7 +7309,7 @@ File: gettext.info, Node: Problems with catgets, Prev: Interface to catgets,
11.1.2 Problems with the `catgets' Interface?!
----------------------------------------------
-Now that this description seemed to be really easy -- where are the
+ Now that this description seemed to be really easy -- where are the
problems we speak of? In fact the interface could be used in a
reasonable way, but constructing the message catalogs is a pain. The
reason for this lies in the third argument of `catgets': the unique
@@ -6602,7 +7327,7 @@ File: gettext.info, Node: gettext, Next: Comparison, Prev: catgets, Up: Prog
11.2 About `gettext'
====================
-The definition of the `gettext' interface comes from a Uniforum
+ The definition of the `gettext' interface comes from a Uniforum
proposal. It was submitted there by Sun, who had implemented the
`gettext' function in SunOS 4, around 1990. Nowadays, the `gettext'
interface is specified by the OpenI18N standard.
@@ -6611,7 +7336,7 @@ interface is specified by the OpenI18N standard.
method of normal file handling (open-use-close) and that it does not
burden the programmer with so many tasks, especially the unique key
handling. Of course here also a unique key is needed, but this key is
-the message itself (how long or short it is). See *Note Comparison::
+the message itself (how long or short it is). See *note Comparison::
for a more detailed comparison of the two methods.
The following section contains a rather detailed description of the
@@ -6635,7 +7360,7 @@ File: gettext.info, Node: Interface to gettext, Next: Ambiguities, Prev: gett
11.2.1 The Interface
--------------------
-The minimal functionality an interface must have is a) to select a
+ The minimal functionality an interface must have is a) to select a
domain the strings are coming from (a single domain for all programs is
not reasonable because its construction and maintenance is difficult,
perhaps impossible) and b) to access a string in a selected domain.
@@ -6667,10 +7392,9 @@ the current domain. If it is not available, the argument itself is
returned. If the argument is `NULL' the result is undefined.
One thing which should come into mind is that no explicit dependency
-to the used domain is given. The current value of the domain for the
-`LC_MESSAGES' locale is used. If this changes between two executions
-of the same `gettext' call in the program, both calls reference a
-different message catalog.
+to the used domain is given. The current value of the domain is used.
+If this changes between two executions of the same `gettext' call in
+the program, both calls reference a different message catalog.
For the easiest case, which is normally used in internationalized
packages, once at the beginning of execution a call to `textdomain' is
@@ -6685,7 +7409,7 @@ File: gettext.info, Node: Ambiguities, Next: Locating Catalogs, Prev: Interfa
11.2.2 Solving Ambiguities
--------------------------
-While this single name domain works well for most applications there
+ While this single name domain works well for most applications there
might be the need to get translations from more than one domain. Of
course one could switch between different domains with calls to
`textdomain', but this is really not convenient nor is it fast. A
@@ -6704,9 +7428,9 @@ For this reasons there are two more functions to retrieve strings:
Both take an additional argument at the first place, which
corresponds to the argument of `textdomain'. The third argument of
-`dcgettext' allows to use another locale but `LC_MESSAGES'. But I
-really don't know where this can be useful. If the DOMAIN_NAME is
-`NULL' or CATEGORY has an value beside the known ones, the result is
+`dcgettext' allows to use another locale category but `LC_MESSAGES'.
+But I really don't know where this can be useful. If the DOMAIN_NAME
+is `NULL' or CATEGORY has an value beside the known ones, the result is
undefined. It should also be noted that this function is not part of
the second known implementation of this function family, the one found
in Solaris.
@@ -6740,13 +7464,13 @@ File: gettext.info, Node: Locating Catalogs, Next: Charset conversion, Prev:
11.2.3 Locating Message Catalog Files
-------------------------------------
-Because many different languages for many different packages have to be
-stored we need some way to add these information to file message catalog
-files. The way usually used in Unix environments is have this encoding
-in the file name. This is also done here. The directory name given in
-`bindtextdomain's second argument (or the default directory), followed
-by the value and name of the locale and the domain name are
-concatenated:
+ Because many different languages for many different packages have to
+be stored we need some way to add these information to file message
+catalog files. The way usually used in Unix environments is have this
+encoding in the file name. This is also done here. The directory name
+given in `bindtextdomain's second argument (or the default directory),
+followed by the name of the locale, the locale category, and the domain
+name are concatenated:
DIR_NAME/LOCALE/LC_CATEGORY/DOMAIN_NAME.mo
@@ -6754,18 +7478,19 @@ concatenated:
library, and for packages adhering to its conventions, it's:
/usr/local/share/locale
-LOCALE is the value of the locale whose name is this `LC_CATEGORY'.
-For `gettext' and `dgettext' this `LC_CATEGORY' is always
-`LC_MESSAGES'.(1) The value of the locale is determined through
-`setlocale (LC_CATEGORY, NULL)'. (2) `dcgettext' specifies the locale
-category by the third argument.
+LOCALE is the name of the locale category which is designated by
+`LC_CATEGORY'. For `gettext' and `dgettext' this `LC_CATEGORY' is
+always `LC_MESSAGES'.(1) The name of the locale category is determined
+through `setlocale (LC_CATEGORY, NULL)'. (2) When using the function
+`dcgettext', you can specify the locale category through the third
+argument.
---------- Footnotes ----------
- (1) Some system, eg Ultrix, don't have `LC_MESSAGES'. Here we use a
-more or less arbitrary value for it, namely 1729, the smallest positive
-integer which can be represented in two different ways as the sum of
-two cubes.
+ (1) Some system, e.g. mingw, don't have `LC_MESSAGES'. Here we use
+a more or less arbitrary value for it, namely 1729, the smallest
+positive integer which can be represented in two different ways as the
+sum of two cubes.
(2) When the system does not support `setlocale' its behavior in
setting the locale values is simulated by looking at the environment
@@ -6777,7 +7502,7 @@ File: gettext.info, Node: Charset conversion, Next: Contexts, Prev: Locating
11.2.4 How to specify the output character set `gettext' uses
-------------------------------------------------------------
-`gettext' not only looks up a translation in a message catalog. It
+ `gettext' not only looks up a translation in a message catalog. It
also converts the translation on the fly to the desired output character
set. This is useful if the user is working in a different character set
than the translator who created the message catalog, because it avoids
@@ -6826,7 +7551,7 @@ File: gettext.info, Node: Contexts, Next: Plural forms, Prev: Charset convers
11.2.5 Using contexts for solving ambiguities
---------------------------------------------
-One place where the `gettext' functions, if used normally, have big
+ One place where the `gettext' functions, if used normally, have big
problems is within programs with graphical user interfaces (GUIs). The
problem is that many of the strings which have to be translated are very
short. They have to appear in pull-down menus which restricts the
@@ -6885,7 +7610,7 @@ particular translation of the MSGID.
These are generalizations of `pgettext'. They behave similarly to
`dgettext' and `dcgettext', respectively. The DOMAIN_NAME argument
defines the translation domain. The CATEGORY argument allows to use
-another locale facet than `LC_MESSAGES'.
+another locale category than `LC_MESSAGES'.
As as example consider the following fictional situation. A GUI
program has a menu bar with the following entries:
@@ -6950,7 +7675,7 @@ File: gettext.info, Node: Plural forms, Next: Optimized gettext, Prev: Contex
11.2.6 Additional functions for plural forms
--------------------------------------------
-The functions of the `gettext' family described so far (and all the
+ The functions of the `gettext' family described so far (and all the
`catgets' functions as well) have one problem in the real world which
have been neglected completely in all existing approaches. What is
meant here is the handling of plural forms.
@@ -7167,7 +7892,7 @@ Two forms, singular used for one only
sentences involving cardinal numbers. For example, "1 apple" is
"1 alma", and "123 apples" is "123 alma". But when the number is
not explicit, the distinction between singular and plural exists:
- "the apple" is "az alma", and "the apples" is "az alma'k". Since
+ "the apple" is "az alma", and "the apples" is "az almák". Since
`ngettext' has to support both types of sentences, it is
classified here, under "two forms".
@@ -7319,9 +8044,9 @@ File: gettext.info, Node: Optimized gettext, Prev: Plural forms, Up: gettext
11.2.7 Optimization of the *gettext functions
---------------------------------------------
-At this point of the discussion we should talk about an advantage of the
-GNU `gettext' implementation. Some readers might have pointed out that
-an internationalized program might have a poor performance if some
+ At this point of the discussion we should talk about an advantage of
+the GNU `gettext' implementation. Some readers might have pointed out
+that an internationalized program might have a poor performance if some
string has to be translated in an inner loop. While this is unavoidable
when the string varies from one run of the loop to the other it is
simply a waste of time when the string is always the same. Take the
@@ -7359,7 +8084,7 @@ File: gettext.info, Node: Comparison, Next: Using libintl.a, Prev: gettext,
11.3 Comparing the Two Interfaces
=================================
-The following discussion is perhaps a little bit colored. As said
+ The following discussion is perhaps a little bit colored. As said
above we implemented GNU `gettext' following the Uniforum proposal and
this surely has its reasons. But it should show how we came to this
decision.
@@ -7456,7 +8181,7 @@ File: gettext.info, Node: Using libintl.a, Next: gettext grok, Prev: Comparis
11.4 Using libintl.a in own programs
====================================
-Starting with version 0.9.4 the library `libintl.h' should be
+ Starting with version 0.9.4 the library `libintl.h' should be
self-contained. I.e., you can use it in your own programs without
providing additional functions. The `Makefile' will put the header and
the library in directories selected using the `$(prefix)'.
@@ -7467,7 +8192,7 @@ File: gettext.info, Node: gettext grok, Next: Temp Programmers, Prev: Using l
11.5 Being a `gettext' grok
===========================
-* NOTE: * This documentation section is outdated and needs to be
+ * NOTE: * This documentation section is outdated and needs to be
revised.
To fully exploit the functionality of the GNU `gettext' library it
@@ -7493,7 +8218,7 @@ is a list comments:
2. `LC_ALL'
- 3. `LC_xxx', according to selected locale
+ 3. `LC_xxx', according to selected locale category
4. `LANG'
@@ -7535,7 +8260,7 @@ File: gettext.info, Node: Temp Programmers, Prev: gettext grok, Up: Programme
11.6 Temporary Notes for the Programmers Chapter
================================================
-* NOTE: * This documentation section is outdated and needs to be
+ * NOTE: * This documentation section is outdated and needs to be
revised.
* Menu:
@@ -7551,8 +8276,8 @@ File: gettext.info, Node: Temp Implementations, Next: Temp catgets, Prev: Tem
11.6.1 Temporary - Two Possible Implementations
-----------------------------------------------
-There are two competing methods for language independent messages: the
-X/Open `catgets' method, and the Uniforum `gettext' method. The
+ There are two competing methods for language independent messages:
+the X/Open `catgets' method, and the Uniforum `gettext' method. The
`catgets' method indexes messages by integers; the `gettext' method
indexes them by their English translations. The `catgets' method has
been around longer and is supported by more vendors. The `gettext'
@@ -7578,8 +8303,8 @@ File: gettext.info, Node: Temp catgets, Next: Temp WSI, Prev: Temp Implementa
11.6.2 Temporary - About `catgets'
----------------------------------
-There have been a few discussions of late on the use of `catgets' as a
-base. I think it important to present both sides of the argument and
+ There have been a few discussions of late on the use of `catgets' as
+a base. I think it important to present both sides of the argument and
hence am opting to play devil's advocate for a little bit.
I'll not deny the fact that `catgets' could have been designed a lot
@@ -7613,7 +8338,7 @@ File: gettext.info, Node: Temp WSI, Next: Temp Notes, Prev: Temp catgets, Up
11.6.3 Temporary - Why a single implementation
----------------------------------------------
-Now it seems kind of wasteful to me to have two different systems
+ Now it seems kind of wasteful to me to have two different systems
installed for accessing message catalogs. If we do want to remedy
`catgets' deficiencies why don't we try to expand `catgets' (in a
compatible manner) rather than implement an entirely new system.
@@ -7636,7 +8361,7 @@ access routines) with their software instead of just including the
`libintl' code with their software.
Message catalog support is however only the tip of the iceberg.
-What about the data for the other locale categories. They also have a
+What about the data for the other locale categories? They also have a
number of deficiencies. Are we going to abandon them as well and
develop another duplicate set of routines (should `libintl' expand
beyond message catalog support)?
@@ -7651,7 +8376,7 @@ File: gettext.info, Node: Temp Notes, Prev: Temp WSI, Up: Temp Programmers
11.6.4 Temporary - Notes
------------------------
-X/Open agreed very late on the standard form so that many
+ X/Open agreed very late on the standard form so that many
implementations differ from the final form. Both of my system (old
Linux catgets and Ultrix-4) have a strange variation.
@@ -7680,7 +8405,7 @@ File: gettext.info, Node: Trans Intro 0, Next: Trans Intro 1, Prev: Translato
12.1 Introduction 0
===================
-* NOTE: * This documentation section is outdated and needs to be
+ * NOTE: * This documentation section is outdated and needs to be
revised.
Free software is going international! The Translation Project is a
@@ -7722,8 +8447,8 @@ body:
Keep in mind that team members should be interested in _working_ at
translations, or at solving translational difficulties, rather than
merely lurking around. If your team does not exist yet and you want to
-start one, please write to `translation@iro.umontreal.ca'; you will
-then reach the coordinator for all translator teams.
+start one, please write to `coordinator@translationproject.org'; you
+will then reach the coordinator for all translator teams.
A handful of GNU packages have already been adapted and provided
with message translations for several languages. Translation teams
@@ -7731,8 +8456,8 @@ 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 would like to volunteer to work at
translating messages, please send mail to
-`translation@iro.umontreal.ca' indicating what language(s) you can work
-on.
+`coordinator@translationproject.org' indicating what language(s) you
+can work on.

File: gettext.info, Node: Trans Intro 1, Next: Discussions, Prev: Trans Intro 0, Up: Translators
@@ -7740,7 +8465,7 @@ File: gettext.info, Node: Trans Intro 1, Next: Discussions, Prev: Trans Intro
12.2 Introduction 1
===================
-* NOTE: * This documentation section is outdated and needs to be
+ * NOTE: * This documentation section is outdated and needs to be
revised.
This is now official, GNU is going international! Here is the
@@ -7752,8 +8477,8 @@ announcement submitted for the January 1995 GNU Bulletin:
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.
+ `coordinator@translationproject.org' 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
@@ -7774,7 +8499,7 @@ 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'.
+document, please e-mail to `coordinator@translationproject.org'.

File: gettext.info, Node: Discussions, Next: Organization, Prev: Trans Intro 1, Up: Translators
@@ -7782,7 +8507,7 @@ File: gettext.info, Node: Discussions, Next: Organization, Prev: Trans Intro
12.3 Discussions
================
-* NOTE: * This documentation section is outdated and needs to be
+ * NOTE: * This documentation section is outdated and needs to be
revised.
Facing this internationalization effort, a few users expressed their
@@ -7862,7 +8587,7 @@ File: gettext.info, Node: Organization, Next: Information Flow, Prev: Discuss
12.4 Organization
=================
-* NOTE: * This documentation section is outdated and needs to be
+ * NOTE: * This documentation section is outdated and needs to be
revised.
On a larger scale, the true solution would be to organize some kind
@@ -7891,9 +8616,9 @@ 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.
+`coordinator@translationproject.org' has been set up for receiving
+offers from volunteers and general e-mail on these topics. This address
+reaches the Translation Project coordinator.
* Menu:
@@ -7907,8 +8632,8 @@ File: gettext.info, Node: Central Coordination, Next: National Teams, Prev: O
12.4.1 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
+ I also think GNU will need sooner than it thinks, that someone set up
+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.
@@ -7930,7 +8655,7 @@ File: gettext.info, Node: National Teams, Next: Mailing Lists, Prev: Central
12.4.2 National Teams
---------------------
-I suggest we look for volunteer coordinators/editors for individual
+ 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.
@@ -7985,11 +8710,12 @@ File: gettext.info, Node: Sub-Cultures, Next: Organizational Ideas, Prev: Nat
12.4.2.1 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.
+ 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)
@@ -8005,10 +8731,10 @@ File: gettext.info, Node: Organizational Ideas, Prev: Sub-Cultures, Up: Natio
12.4.2.2 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:
+ 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).
@@ -8031,15 +8757,15 @@ File: gettext.info, Node: Mailing Lists, Prev: National Teams, Up: Organizati
12.4.3 Mailing Lists
--------------------
-If we get any inquiries about GNU `gettext', send them on to:
+ If we get any inquiries about GNU `gettext', send them on to:
- `translation@iro.umontreal.ca'
+ `coordinator@translationproject.org'
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
+ Franç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.
@@ -8071,7 +8797,7 @@ File: gettext.info, Node: Information Flow, Next: Prioritizing messages, Prev
12.5 Information Flow
=====================
-* NOTE: * This documentation section is outdated and needs to be
+ * NOTE: * This documentation section is outdated and needs to be
revised.
There will surely be some discussion about this messages after the
@@ -8115,7 +8841,7 @@ File: gettext.info, Node: Prioritizing messages, Prev: Information Flow, Up:
12.6 Prioritizing messages: How to determine which messages to translate first
==============================================================================
-A translator sometimes has only a limited amount of time per week to
+ A translator sometimes has only a limited amount of time per week to
spend on a package, and some packages have quite large message catalogs
(over 1000 messages). Therefore she wishes to translate the messages
first that are the most visible to the user, or that occur most
@@ -8184,7 +8910,7 @@ domain and source package.
She takes the latest copy of `$lang.po' from the Translation Project,
or from the package (in most cases, `$package/po/$lang.po'), or creates
-a fresh one if she's the first translator (see *Note Creating::). She
+a fresh one if she's the first translator (see *note Creating::). She
then uses the following commands to mark the not urgent messages as
"obsolete". (This doesn't mean that these messages - translated and
untranslated ones - will go away. It simply means that the PO file
@@ -8214,8 +8940,8 @@ File: gettext.info, Node: Maintainers, Next: Installers, Prev: Translators,
13 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
+ 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.
@@ -8227,7 +8953,7 @@ 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.
+a `configure.ac' 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
@@ -8245,7 +8971,7 @@ ideally revise this chapter in subsequent releases, looking for changes.
* Prerequisites:: Prerequisite Works
* gettextize Invocation:: Invoking the `gettextize' Program
* Adjusting Files:: Files You Must Create or Alter
-* autoconf macros:: Autoconf macros for use in `configure.in'
+* autoconf macros:: Autoconf macros for use in `configure.ac'
* CVS Issues:: Integrating with CVS
* Release Management:: Creating a Distribution Tarball
@@ -8255,8 +8981,8 @@ File: gettext.info, Node: Flat and Non-Flat, Next: Prerequisites, Prev: Maint
13.1 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.
+ 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
@@ -8284,10 +9010,10 @@ File: gettext.info, Node: Prerequisites, Next: gettextize Invocation, Prev: F
13.2 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.
+ 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',
@@ -8311,8 +9037,8 @@ So, we describe them here.
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
+ * Your package should use Autoconf and have a `configure.ac' or
+ `configure.in' 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.
@@ -8332,10 +9058,10 @@ So, we describe them here.
ideally behave with PO files submissions. As a maintainer, your role is
to authenticate 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 put these
-PO files in `po/' for distribution.
+the submission to `coordinator@translationproject.org' 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
+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
@@ -8362,7 +9088,7 @@ File: gettext.info, Node: gettextize Invocation, Next: Adjusting Files, Prev:
13.3 Invoking the `gettextize' Program
======================================
-The `gettextize' program is an interactive tool that helps the
+ The `gettextize' program is an interactive tool that helps the
maintainer of a package internationalized through GNU `gettext'. It is
used for two purposes:
@@ -8379,7 +9105,7 @@ used for two purposes:
`gettext'.
* It performs as many of the tasks mentioned in the next section
- *Note Adjusting Files:: as can be performed automatically.
+ *note Adjusting Files:: as can be performed automatically.
* It removes obsolete files and idioms used for previous GNU
`gettext' versions to the form recommended for the current GNU
@@ -8402,10 +9128,17 @@ and accepts the following options:
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:
+ the call to `AM_GNU_GETTEXT' in `configure.ac' should read:
`AM_GNU_GETTEXT([external])', and internationalization will not be
enabled on systems lacking GNU gettext.
+`--po-dir=DIR'
+ Specify a directory containing PO files. Such a directory
+ contains the translations into various languages of a particular
+ POT file. This option can be specified multiple times, once for
+ each translation domain. If it is not specified, the directory
+ named `po/' is updated.
+
`--no-changelog'
Don't update or create ChangeLog files. By default, `gettextize'
logs all changes (file additions, modifications and removals) in a
@@ -8457,6 +9190,9 @@ specified.
with the files it contains, and only `Makefile.in.in' and the
auxiliary files will be overwritten.
+ If `--po-dir' has been specified, this holds for every directory
+ specified through `--po-dir', instead of `po/'.
+
3. Only if `--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
@@ -8480,8 +9216,8 @@ distribution archive. So, to insist, you really should use `-h' option
with `tar' within your `dist' goal of your main `Makefile.in'.
Furthermore, `gettextize' will update all `Makefile.am' files in
-each affected directory, as well as the top level `configure.in' or
-`configure.ac' file.
+each affected directory, as well as the top level `configure.ac' or
+`configure.in' file.
It is interesting to understand that most new files for supporting
GNU `gettext' facilities in one package go in `intl/', `po/' and `m4/'
@@ -8501,18 +9237,18 @@ is added or replaced or removed as a whole.
entire job of adapting a package for using GNU `gettext'. The amount
of remaining work depends on whether the package uses GNU `automake' or
not. But in any case, the maintainer should still read the section
-*Note Adjusting Files:: after invoking `gettextize'.
+*note Adjusting Files:: after invoking `gettextize'.
In particular, if after using `gettexize', you get an error
`AC_COMPILE_IFELSE was called before AC_GNU_SOURCE' or `AC_RUN_IFELSE
was called before AC_GNU_SOURCE', you can fix it by modifying
-`configure.ac', as described in *Note configure.in::.
+`configure.ac', as described in *note configure.ac::.
It is also important to understand that `gettextize' is not part of
the GNU build system, in the sense that it should not be invoked
automatically, and not be invoked by someone who doesn't assume the
responsibilities of a package maintainer. For the latter purpose, a
-separate tool is provided, see *Note autopoint Invocation::.
+separate tool is provided, see *note autopoint Invocation::.

File: gettext.info, Node: Adjusting Files, Next: autoconf macros, Prev: gettextize Invocation, Up: Maintainers
@@ -8520,8 +9256,8 @@ File: gettext.info, Node: Adjusting Files, Next: autoconf macros, Prev: gette
13.4 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
+ 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
@@ -8529,7 +9265,7 @@ 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.16 distribution itself, or from the GNU `hello'
+`gettext' 0.17 distribution itself, or from the GNU `hello'
distribution (`http://www.franken.de/users/gnu/ke/hello' or
`http://www.gnu.franken.de/ke/hello/') You may indeed refer to the
source code of the GNU `gettext' and GNU `hello' packages, as they are
@@ -8541,7 +9277,7 @@ intended to be good examples for using GNU gettext functionality.
* po/LINGUAS:: `LINGUAS' in `po/'
* po/Makevars:: `Makevars' in `po/'
* po/Rules-*:: Extending `Makefile' in `po/'
-* configure.in:: `configure.in' at top level
+* configure.ac:: `configure.ac' at top level
* config.guess:: `config.guess', `config.sub' at top level
* mkinstalldirs:: `mkinstalldirs' at top level
* aclocal:: `aclocal.m4' at top level
@@ -8557,7 +9293,7 @@ File: gettext.info, Node: po/POTFILES.in, Next: po/LINGUAS, Prev: Adjusting F
13.4.1 `POTFILES.in' in `po/'
-----------------------------
-The `po/' directory should receive a file named `POTFILES.in'. This
+ 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:
@@ -8591,10 +9327,10 @@ File: gettext.info, Node: po/LINGUAS, Next: po/Makevars, Prev: po/POTFILES.in
13.4.2 `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:
+ 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
@@ -8627,7 +9363,7 @@ File: gettext.info, Node: po/Makevars, Next: po/Rules-*, Prev: po/LINGUAS, U
13.4.3 `Makevars' in `po/'
--------------------------
-The `po/' directory also has a file named `Makevars'. It contains
+ The `po/' directory also has a file named `Makevars'. It contains
variables that are specific to your project. `po/Makevars' gets
inserted into the `po/Makefile' when the latter is created. The
variables thus take effect when the POT file is created or updated, and
@@ -8639,15 +9375,19 @@ Only packages which have multiple `po/' directories at different
locations need to adjust the three first variables defined in
`Makevars'.
+ As an alternative to the `XGETTEXT_OPTIONS' variables, it is also
+possible to specify `xgettext' options through the `AM_XGETTEXT_OPTION'
+autoconf macro. See *note AM_XGETTEXT_OPTION::.
+

-File: gettext.info, Node: po/Rules-*, Next: configure.in, Prev: po/Makevars, Up: Adjusting Files
+File: gettext.info, Node: po/Rules-*, Next: configure.ac, Prev: po/Makevars, Up: Adjusting Files
13.4.4 Extending `Makefile' in `po/'
------------------------------------
-All files called `Rules-*' in the `po/' directory get appended to the
-`po/Makefile' when it is created. They present an opportunity to add
-rules for special PO files to the Makefile, without needing to mess
+ All files called `Rules-*' in the `po/' directory get appended to
+the `po/Makefile' when it is created. 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
@@ -8666,15 +9406,15 @@ similarly add `en@boldquot' to the `po/LINGUAS' file.
Similarly, you can create rules for building message catalogs for the
`sr@latin' locale - Serbian written with the Latin alphabet - from
those for the `sr' locale - Serbian written with Cyrillic letters. See
-*Note msgfilter Invocation::.
+*note msgfilter Invocation::.

-File: gettext.info, Node: configure.in, Next: config.guess, Prev: po/Rules-*, Up: Adjusting Files
+File: gettext.info, Node: configure.ac, Next: config.guess, Prev: po/Rules-*, Up: Adjusting Files
-13.4.5 `configure.in' at top level
+13.4.5 `configure.ac' at top level
----------------------------------
-`configure.in' or `configure.ac' - this is the source from which
+ `configure.ac' or `configure.in' - this is the source from which
`autoconf' generates the `configure' script.
1. Declare the package and version.
@@ -8682,7 +9422,7 @@ File: gettext.info, Node: configure.in, Next: config.guess, Prev: po/Rules-*,
This is done by a set of lines like these:
PACKAGE=gettext
- VERSION=0.16
+ VERSION=0.17
AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
AC_SUBST(PACKAGE)
@@ -8690,17 +9430,17 @@ File: gettext.info, Node: configure.in, Next: config.guess, Prev: po/Rules-*,
or, if you are using GNU `automake', by a line like this:
- AM_INIT_AUTOMAKE(gettext, 0.16)
+ AM_INIT_AUTOMAKE(gettext, 0.17)
Of course, you replace `gettext' with the name of your package,
- and `0.16' by its version numbers, exactly as they should appear
+ and `0.17' by its version numbers, exactly as they should appear
in the packaged `tar' file name of your distribution
- (`gettext-0.16.tar.gz', here).
+ (`gettext-0.17.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':
+ support. Just add this line to `configure.ac':
AM_GNU_GETTEXT
@@ -8714,7 +9454,7 @@ File: gettext.info, Node: configure.in, Next: config.guess, Prev: po/Rules-*,
3. Have output files created.
- The `AC_OUTPUT' directive, at the end of your `configure.in' file,
+ The `AC_OUTPUT' directive, at the end of your `configure.ac' file,
needs to be modified in two ways:
AC_OUTPUT([EXISTING CONFIGURATION FILES intl/Makefile po/Makefile.in],
@@ -8749,16 +9489,16 @@ most likely very close to the `AC_PROG_CC' invocation. This is
necessary because of ordering restrictions imposed by GNU autoconf.

-File: gettext.info, Node: config.guess, Next: mkinstalldirs, Prev: configure.in, Up: Adjusting Files
+File: gettext.info, Node: config.guess, Next: mkinstalldirs, Prev: configure.ac, Up: Adjusting Files
13.4.6 `config.guess', `config.sub' at top level
------------------------------------------------
-If you haven't 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.
+ If you haven't 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 the CVS of the `config' project at `http://savannah.gnu.org/'. The
@@ -8773,7 +9513,7 @@ 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' or `missing'. All you need to
do, other than moving the files, is to add the following line to your
-`configure.in'.
+`configure.ac'.
AC_CONFIG_AUX_DIR([SUBDIR])
@@ -8783,7 +9523,7 @@ File: gettext.info, Node: mkinstalldirs, Next: aclocal, Prev: config.guess,
13.4.7 `mkinstalldirs' at top level
-----------------------------------
-With earlier versions of GNU gettext, you needed to add the GNU
+ With earlier versions of GNU gettext, you needed to add the GNU
`mkinstalldirs' script to your distribution. This is not needed any
more. You can remove it if you not also using an automake version
older than automake 1.9.
@@ -8794,14 +9534,14 @@ File: gettext.info, Node: aclocal, Next: acconfig, Prev: mkinstalldirs, Up:
13.4.8 `aclocal.m4' at top level
--------------------------------
-If you do not have an `aclocal.m4' file in your distribution, the
+ If you do not have an `aclocal.m4' file in your distribution, the
simplest is to concatenate the files `codeset.m4', `gettext.m4',
`glibc2.m4', `glibc21.m4', `iconv.m4', `intdiv0.m4', `intl.m4',
-`intldir.m4', `intmax.m4', `inttypes_h.m4', `inttypes-pri.m4',
-`lcmessage.m4', `lib-ld.m4', `lib-link.m4', `lib-prefix.m4', `lock.m4',
-`longdouble.m4', `longlong.m4', `nls.m4', `po.m4', `printf-posix.m4',
-`progtest.m4', `size_max.m4', `stdint_h.m4', `uintmax_t.m4',
-`ulonglong.m4', `visibility.m4', `wchar_t.m4', `wint_t.m4', `xsize.m4'
+`intldir.m4', `intlmacosx.m4', `intmax.m4', `inttypes_h.m4',
+`inttypes-pri.m4', `lcmessage.m4', `lib-ld.m4', `lib-link.m4',
+`lib-prefix.m4', `lock.m4', `longlong.m4', `nls.m4', `po.m4',
+`printf-posix.m4', `progtest.m4', `size_max.m4', `stdint_h.m4',
+`uintmax_t.m4', `visibility.m4', `wchar_t.m4', `wint_t.m4', `xsize.m4'
from GNU `gettext''s `m4/' directory into a single file. If you have
suppressed the `intl/' directory, only `gettext.m4', `iconv.m4',
`lib-ld.m4', `lib-link.m4', `lib-prefix.m4', `nls.m4', `po.m4',
@@ -8837,7 +9577,7 @@ File: gettext.info, Node: acconfig, Next: config.h.in, Prev: aclocal, Up: Ad
13.4.9 `acconfig.h' at top level
--------------------------------
-Earlier GNU `gettext' releases required to put definitions for
+ 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
@@ -8849,7 +9589,7 @@ File: gettext.info, Node: config.h.in, Next: Makefile, Prev: acconfig, Up: A
13.4.10 `config.h.in' at top level
----------------------------------
-The include file template that holds the C macros to be defined by
+ The include file template that holds the C macros to be defined by
`configure' is usually called `config.h.in' and may be maintained
either manually or automatically.
@@ -8884,7 +9624,7 @@ File: gettext.info, Node: Makefile, Next: src/Makefile, Prev: config.h.in, U
13.4.11 `Makefile.in' at top level
----------------------------------
-Here are a few modifications you need to make to your main, 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',
@@ -8950,10 +9690,10 @@ File: gettext.info, Node: src/Makefile, Next: lib/gettext.h, Prev: Makefile,
13.4.12 `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':
+ 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':
@@ -9069,7 +9809,7 @@ File: gettext.info, Node: lib/gettext.h, Prev: src/Makefile, Up: Adjusting Fi
13.4.13 `gettext.h' in `lib/'
-----------------------------
-Internationalization of packages, as provided by GNU `gettext', is
+ Internationalization of packages, as provided by GNU `gettext', is
optional. It can be turned off in two situations:
* When the installer has specified `./configure --disable-nls'. This
@@ -9117,12 +9857,12 @@ package that needs it should contain a copy of it on its own.

File: gettext.info, Node: autoconf macros, Next: CVS Issues, Prev: Adjusting Files, Up: Maintainers
-13.5 Autoconf macros for use in `configure.in'
+13.5 Autoconf macros for use in `configure.ac'
==============================================
-GNU `gettext' installs macros for use in a package's `configure.in' or
-`configure.ac'. *Note Introduction: (autoconf)Top. The primary macro
-is, of course, `AM_GNU_GETTEXT'.
+ GNU `gettext' installs macros for use in a package's `configure.ac'
+or `configure.in'. *Note Introduction: (autoconf)Top. The primary
+macro is, of course, `AM_GNU_GETTEXT'.
* Menu:
@@ -9131,6 +9871,7 @@ is, of course, `AM_GNU_GETTEXT'.
* AM_GNU_GETTEXT_NEED:: AM_GNU_GETTEXT_NEED in `gettext.m4'
* AM_GNU_GETTEXT_INTL_SUBDIR:: AM_GNU_GETTEXT_INTL_SUBDIR in `intldir.m4'
* AM_PO_SUBDIRS:: AM_PO_SUBDIRS in `po.m4'
+* AM_XGETTEXT_OPTION:: AM_XGETTEXT_OPTION in `po.m4'
* AM_ICONV:: AM_ICONV in `iconv.m4'

@@ -9139,7 +9880,7 @@ File: gettext.info, Node: AM_GNU_GETTEXT, Next: AM_GNU_GETTEXT_VERSION, Prev:
13.5.1 AM_GNU_GETTEXT in `gettext.m4'
-------------------------------------
-The `AM_GNU_GETTEXT' macro tests for the presence of the GNU gettext
+ The `AM_GNU_GETTEXT' macro tests for the presence of the GNU gettext
function family in either the C library or a separate `libintl' library
(shared or static libraries are both supported) or in the package's
`intl/' directory. It also invokes `AM_PO_SUBDIRS', thus preparing the
@@ -9218,8 +9959,8 @@ File: gettext.info, Node: AM_GNU_GETTEXT_VERSION, Next: AM_GNU_GETTEXT_NEED,
13.5.2 AM_GNU_GETTEXT_VERSION in `gettext.m4'
---------------------------------------------
-The `AM_GNU_GETTEXT_VERSION' macro declares the version number of the
-GNU gettext infrastructure that is used by the package.
+ The `AM_GNU_GETTEXT_VERSION' macro declares the version number of
+the GNU gettext infrastructure that is used by the package.
The use of this macro is optional; only the `autopoint' program makes
use of it (*note CVS Issues::).
@@ -9230,8 +9971,8 @@ File: gettext.info, Node: AM_GNU_GETTEXT_NEED, Next: AM_GNU_GETTEXT_INTL_SUBDI
13.5.3 AM_GNU_GETTEXT_NEED in `gettext.m4'
------------------------------------------
-The `AM_GNU_GETTEXT_NEED' macro declares a constraint regarding the GNU
-gettext implementation. The syntax is
+ The `AM_GNU_GETTEXT_NEED' macro declares a constraint regarding the
+GNU gettext implementation. The syntax is
AM_GNU_GETTEXT_NEED([NEEDSYMBOL])
@@ -9253,7 +9994,7 @@ File: gettext.info, Node: AM_GNU_GETTEXT_INTL_SUBDIR, Next: AM_PO_SUBDIRS, Pr
13.5.4 AM_GNU_GETTEXT_INTL_SUBDIR in `intldir.m4'
-------------------------------------------------
-The `AM_GNU_GETTEXT_INTL_SUBDIR' macro specifies that the
+ The `AM_GNU_GETTEXT_INTL_SUBDIR' macro specifies that the
`AM_GNU_GETTEXT' macro, although invoked with the first argument
`external', should also prepare for building the `intl/' subdirectory.
@@ -9264,17 +10005,17 @@ the `AM_GNU_GETTEXT' invocation; the order doesn't matter.
autoconf 2.61 or newer.

-File: gettext.info, Node: AM_PO_SUBDIRS, Next: AM_ICONV, Prev: AM_GNU_GETTEXT_INTL_SUBDIR, Up: autoconf macros
+File: gettext.info, Node: AM_PO_SUBDIRS, Next: AM_XGETTEXT_OPTION, Prev: AM_GNU_GETTEXT_INTL_SUBDIR, Up: autoconf macros
13.5.5 AM_PO_SUBDIRS in `po.m4'
-------------------------------
-The `AM_PO_SUBDIRS' macro prepares the `po/' directories of the package
-for building. This macro should be used in internationalized programs
-written in other programming languages than C, C++, Objective C, for
-example `sh', `Python', `Lisp'. See *Note Programming Languages:: for
-a list of programming languages that support localization through PO
-files.
+ The `AM_PO_SUBDIRS' macro prepares the `po/' directories of the
+package for building. This macro should be used in internationalized
+programs written in other programming languages than C, C++, Objective
+C, for example `sh', `Python', `Lisp'. See *note Programming
+Languages:: for a list of programming languages that support
+localization through PO files.
The `AM_PO_SUBDIRS' macro determines whether internationalization
should be used. If so, it sets the `USE_NLS' variable to `yes',
@@ -9282,12 +10023,34 @@ otherwise to `no'. It also determines the right values for Makefile
variables in each `po/' directory.

-File: gettext.info, Node: AM_ICONV, Prev: AM_PO_SUBDIRS, Up: autoconf macros
+File: gettext.info, Node: AM_XGETTEXT_OPTION, Next: AM_ICONV, Prev: AM_PO_SUBDIRS, Up: autoconf macros
+
+13.5.6 AM_XGETTEXT_OPTION in `po.m4'
+------------------------------------
+
+ The `AM_XGETTEXT_OPTION' macro registers a command-line option to be
+used in the invocations of `xgettext' in the `po/' directories of the
+package.
+
+ For example, if you have a source file that defines a function
+`error_at_line' whose fifth argument is a format string, you can use
+ AM_XGETTEXT_OPTION([--flag=error_at_line:5:c-format])
+ to instruct `xgettext' to mark all translatable strings in `gettext'
+invocations that occur as fifth argument to this function as `c-format'.
+
+ See *note xgettext Invocation:: for the list of options that
+`xgettext' accepts.
+
+ The use of this macro is an alternative to the use of the
+`XGETTEXT_OPTIONS' variable in `po/Makevars'.
+
+
+File: gettext.info, Node: AM_ICONV, Prev: AM_XGETTEXT_OPTION, Up: autoconf macros
-13.5.6 AM_ICONV in `iconv.m4'
+13.5.7 AM_ICONV in `iconv.m4'
-----------------------------
-The `AM_ICONV' macro tests for the presence of the POSIX/XSI `iconv'
+ The `AM_ICONV' macro tests for the presence of the POSIX/XSI `iconv'
function family in either the C library or a separate `libiconv'
library. If found, it sets the `am_cv_func_iconv' variable to `yes';
it defines `HAVE_ICONV' to 1 in the autoconf generated configuration
@@ -9333,9 +10096,9 @@ File: gettext.info, Node: CVS Issues, Next: Release Management, Prev: autocon
13.6 Integrating with CVS
=========================
-Many projects use CVS for distributed development, version control and
-source backup. This section gives some advice how to manage the uses
-of `cvs', `gettextize', `autopoint' and `autoconf'.
+ Many projects use CVS for distributed development, version control
+and source backup. This section gives some advice how to manage the
+uses of `cvs', `gettextize', `autopoint' and `autoconf'.
* Menu:
@@ -9349,10 +10112,10 @@ File: gettext.info, Node: Distributed CVS, Next: Files under CVS, Prev: CVS I
13.6.1 Avoiding version mismatch in distributed development
-----------------------------------------------------------
-In a project development with multiple developers, using CVS, there
+ In a project development with multiple developers, using CVS, there
should be a single developer who occasionally - when there is desire to
upgrade to a new `gettext' version - runs `gettextize' and performs the
-changes listed in *Note Adjusting Files::, and then commits his changes
+changes listed in *note Adjusting Files::, and then commits his changes
to the CVS.
It is highly recommended that all developers on a project use the
@@ -9362,7 +10125,7 @@ necessary remaining changes and commit his changes to the CVS.
Otherwise the following damages will likely occur:
* Apparent version mismatch between developers. Since some `gettext'
- specific portions in `configure.in', `configure.ac' and
+ specific portions in `configure.ac', `configure.in' and
`Makefile.am', `Makefile.in' files depend on the `gettext'
version, the use of infrastructure files belonging to different
`gettext' versions can easily lead to build errors.
@@ -9386,9 +10149,9 @@ File: gettext.info, Node: Files under CVS, Next: autopoint Invocation, Prev:
13.6.2 Files to put under CVS version control
---------------------------------------------
-There are basically three ways to deal with generated files in the
+ There are basically three ways to deal with generated files in the
context of a CVS repository, such as `configure' generated from
-`configure.in', `PARSER.c' generated from `PARSER.y', or
+`configure.ac', `PARSER.c' generated from `PARSER.y', or
`po/Makefile.in.in' autoinstalled by `gettextize' or `autopoint'.
1. All generated files are always committed into the repository.
@@ -9427,10 +10190,10 @@ committed into the CVS.
For the third approach, the maintainer can omit from the CVS
repository all the files that `gettextize' mentions as "copy".
-Instead, he adds to the `configure.in' or `configure.ac' a line of the
+Instead, he adds to the `configure.ac' or `configure.in' a line of the
form
- AM_GNU_GETTEXT_VERSION(0.16)
+ AM_GNU_GETTEXT_VERSION(0.17)
and adds to the package's pre-build script an invocation of
`autopoint'. For everyone who checks out the CVS, this `autopoint'
@@ -9489,8 +10252,8 @@ into the package.
`autopoint' supports the GNU `gettext' versions from 0.10.35 to the
-current one, 0.16. In order to apply `autopoint' to a package using a
-`gettext' version newer than 0.16, you need to install this same
+current one, 0.17. In order to apply `autopoint' to a package using a
+`gettext' version newer than 0.17, you need to install this same
version of GNU `gettext' at least.
In packages using GNU `automake', an invocation of `autopoint'
@@ -9511,8 +10274,8 @@ File: gettext.info, Node: Release Management, Prev: CVS Issues, Up: Maintaine
13.7 Creating a Distribution Tarball
====================================
-In projects that use GNU `automake', the usual commands for creating a
-distribution tarball, `make dist' or `make distcheck', automatically
+ In projects that use GNU `automake', the usual commands for creating
+a distribution tarball, `make dist' or `make distcheck', automatically
update the PO files as needed.
If GNU `automake' is not used, the maintainer needs to perform this
@@ -9528,7 +10291,7 @@ File: gettext.info, Node: Installers, Next: Programming Languages, Prev: Main
14 The Installer's and Distributor's View
*****************************************
-By default, packages fully using GNU `gettext', internally, are
+ By default, packages fully using GNU `gettext', internally, are
installed in such a way that they to allow translation of messages. At
_configuration_ time, those packages should automatically detect
whether the underlying host system already provides the GNU `gettext'
@@ -9552,10 +10315,10 @@ File: gettext.info, Node: Programming Languages, Next: Conclusion, Prev: Inst
15 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
+ 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:
@@ -9573,9 +10336,9 @@ File: gettext.info, Node: Language Implementors, Next: Programmers for other L
15.1 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:
+ 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
@@ -9591,11 +10354,11 @@ following:
`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.
+ and `dcngettext' for obeying other locale-related 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
@@ -9607,7 +10370,7 @@ following:
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.
+ `LC_MESSAGES' and `LC_CTYPE' locale categories 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
@@ -9640,7 +10403,7 @@ following:
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
+ 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
@@ -9665,7 +10428,7 @@ File: gettext.info, Node: Programmers for other Languages, Next: Translators f
15.2 The Programmer's View
==========================
-For the programmer, the general procedure is the same as for the C
+ For the programmer, the general procedure is the same as for the C
language. The Emacs PO mode marking 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,
@@ -9678,7 +10441,7 @@ File: gettext.info, Node: Translators for other Languages, Next: Maintainers f
15.3 The Translator's View
==========================
-The translator works exactly as in the C language case. The only
+ 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.
@@ -9704,6 +10467,7 @@ strings.
* php-format:: PHP Format Strings
* gcc-internal-format:: GCC internal Format Strings
* qt-format:: Qt Format Strings
+* kde-format:: KDE Format Strings
* boost-format:: Boost Format Strings

@@ -9712,7 +10476,7 @@ File: gettext.info, Node: c-format, Next: objc-format, Prev: Translators for
15.3.1 C Format Strings
-----------------------
-C format strings are described in POSIX (IEEE P1003.1 2001), section
+ C format strings are described in POSIX (IEEE P1003.1 2001), section
XSH 3 fprintf(),
`http://www.opengroup.org/onlinepubs/007904975/functions/fprintf.html'.
See also the fprintf() manual page,
@@ -9739,7 +10503,7 @@ translators can insert an `I' flag into numeric format directives. For
example, the translation of `"%d"' can be `"%Id"'. The effect of this
flag, on systems with GNU `libc', is that in the output, the ASCII
digits are replaced with the `outdigits' defined in the `LC_CTYPE'
-locale facet. On other systems, the `gettext' function removes this
+locale category. On other systems, the `gettext' function removes this
flag, so that it has no effect.
Note that the programmer should _not_ put this flag into the
@@ -9753,8 +10517,8 @@ File: gettext.info, Node: objc-format, Next: sh-format, Prev: c-format, Up:
15.3.2 Objective C Format Strings
---------------------------------
-Objective C format strings are like C format strings. They support an
-additional format directive: "$@", which when executed consumes an
+ Objective C format strings are like C format strings. They support
+an additional format directive: "$@", which when executed consumes an
argument of type `Object *'.

@@ -9763,7 +10527,7 @@ File: gettext.info, Node: sh-format, Next: python-format, Prev: objc-format,
15.3.3 Shell Format Strings
---------------------------
-Shell format strings, as supported by GNU gettext and the `envsubst'
+ Shell format strings, as supported by GNU gettext and the `envsubst'
program, are strings with references to shell variables in the form
`$VARIABLE' or `${VARIABLE}'. References of the form
`${VARIABLE-DEFAULT}', `${VARIABLE:-DEFAULT}', `${VARIABLE=DEFAULT}',
@@ -9780,7 +10544,7 @@ File: gettext.info, Node: python-format, Next: lisp-format, Prev: sh-format,
15.3.4 Python Format Strings
----------------------------
-Python format strings are described in Python Library reference /
+ Python format strings are described in Python Library reference /
2. Built-in Types, Exceptions and Functions / 2.2. Built-in Types /
2.2.6. Sequence Types / 2.2.6.2. String Formatting Operations.
`http://www.python.org/doc/2.2.1/lib/typesseq-strings.html'.
@@ -9791,8 +10555,8 @@ File: gettext.info, Node: lisp-format, Next: elisp-format, Prev: python-forma
15.3.5 Lisp Format Strings
--------------------------
-Lisp format strings are described in the Common Lisp HyperSpec, chapter
-22.3 Formatted Output,
+ Lisp format strings are described in the Common Lisp HyperSpec,
+chapter 22.3 Formatted Output,
`http://www.lisp.org/HyperSpec/Body/sec_22-3.html'.

@@ -9801,7 +10565,7 @@ File: gettext.info, Node: elisp-format, Next: librep-format, Prev: lisp-forma
15.3.6 Emacs Lisp Format Strings
--------------------------------
-Emacs Lisp format strings are documented in the Emacs Lisp reference,
+ Emacs Lisp format strings are documented in the Emacs Lisp reference,
section Formatting Strings,
`http://www.gnu.org/manual/elisp-manual-21-2.8/html_chapter/elisp_4.html#SEC75'.
Note that as of version 21, XEmacs supports numbered argument
@@ -9813,7 +10577,7 @@ File: gettext.info, Node: librep-format, Next: scheme-format, Prev: elisp-for
15.3.7 librep Format Strings
----------------------------
-librep format strings are documented in the librep manual, section
+ librep format strings are documented in the librep manual, section
Formatted Output,
`http://librep.sourceforge.net/librep-manual.html#Formatted%20Output',
`http://www.gwinnup.org/research/docs/librep.html#SEC122'.
@@ -9824,7 +10588,7 @@ File: gettext.info, Node: scheme-format, Next: smalltalk-format, Prev: librep
15.3.8 Scheme Format Strings
----------------------------
-Scheme format strings are documented in the SLIB manual, section
+ Scheme format strings are documented in the SLIB manual, section
Format Specification.

@@ -9833,7 +10597,7 @@ File: gettext.info, Node: smalltalk-format, Next: java-format, Prev: scheme-f
15.3.9 Smalltalk Format Strings
-------------------------------
-Smalltalk format strings are described in the GNU Smalltalk
+ Smalltalk format strings are described in the GNU Smalltalk
documentation, class `CharArray', methods `bindWith:' and
`bindWithArguments:'.
`http://www.gnu.org/software/smalltalk/gst-manual/gst_68.html#SEC238'.
@@ -9846,7 +10610,7 @@ File: gettext.info, Node: java-format, Next: csharp-format, Prev: smalltalk-f
15.3.10 Java Format Strings
---------------------------
-Java format strings are described in the JDK documentation for class
+ Java format strings are described in the JDK documentation for class
`java.text.MessageFormat',
`http://java.sun.com/j2se/1.4/docs/api/java/text/MessageFormat.html'.
See also the ICU documentation
@@ -9858,7 +10622,7 @@ File: gettext.info, Node: csharp-format, Next: awk-format, Prev: java-format,
15.3.11 C# Format Strings
-------------------------
-C# format strings are described in the .NET documentation for class
+ C# format strings are described in the .NET documentation for class
`System.String' and in
`http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpguide/html/cpConFormattingOverview.asp'.
@@ -9868,7 +10632,7 @@ File: gettext.info, Node: awk-format, Next: object-pascal-format, Prev: cshar
15.3.12 awk Format Strings
--------------------------
-awk format strings are described in the gawk documentation, section
+ awk format strings are described in the gawk documentation, section
Printf, `http://www.gnu.org/manual/gawk/html_node/Printf.html#Printf'.

@@ -9877,7 +10641,7 @@ File: gettext.info, Node: object-pascal-format, Next: ycp-format, Prev: awk-f
15.3.13 Object Pascal Format Strings
------------------------------------
-Where is this documented?
+ Where is this documented?

File: gettext.info, Node: ycp-format, Next: tcl-format, Prev: object-pascal-format, Up: Translators for other Languages
@@ -9885,7 +10649,7 @@ File: gettext.info, Node: ycp-format, Next: tcl-format, Prev: object-pascal-f
15.3.14 YCP Format Strings
--------------------------
-YCP sformat strings are described in the libycp documentation
+ YCP sformat strings are described in the libycp documentation
`file:/usr/share/doc/packages/libycp/YCP-builtins.html'. In summary, a
directive starts with `%' and is followed by `%' or a nonzero digit
(`1' to `9').
@@ -9896,7 +10660,7 @@ File: gettext.info, Node: tcl-format, Next: perl-format, Prev: ycp-format, U
15.3.15 Tcl Format Strings
--------------------------
-Tcl format strings are described in the `format.n' manual page,
+ Tcl format strings are described in the `format.n' manual page,
`http://www.scriptics.com/man/tcl8.3/TclCmd/format.htm'.

@@ -9905,7 +10669,7 @@ File: gettext.info, Node: perl-format, Next: php-format, Prev: tcl-format, U
15.3.16 Perl Format Strings
---------------------------
-There are two kinds format strings in Perl: those acceptable to the
+ There are two kinds format strings in Perl: those acceptable to the
Perl built-in function `printf', labelled as `perl-format', and those
acceptable to the `libintl-perl' function `__x', labelled as
`perl-brace-format'.
@@ -9924,7 +10688,7 @@ File: gettext.info, Node: php-format, Next: gcc-internal-format, Prev: perl-f
15.3.17 PHP Format Strings
--------------------------
-PHP format strings are described in the documentation of the PHP
+ PHP format strings are described in the documentation of the PHP
function `sprintf', in `phpdoc/manual/function.sprintf.html' or
`http://www.php.net/manual/en/function.sprintf.php'.
@@ -9934,10 +10698,10 @@ File: gettext.info, Node: gcc-internal-format, Next: qt-format, Prev: php-for
15.3.18 GCC internal Format Strings
-----------------------------------
-These format strings are used inside the GCC sources. In such a format
-string, a directive starts with `%', is optionally followed by a size
-specifier `l', an optional flag `+', another optional flag `#', and is
-finished by a specifier: `%' denotes a literal percent sign, `c'
+ These format strings are used inside the GCC sources. In such a
+format string, a directive starts with `%', is optionally followed by a
+size specifier `l', an optional flag `+', another optional flag `#',
+and is finished by a specifier: `%' denotes a literal percent sign, `c'
denotes a character, `s' denotes a string, `i' and `d' denote an
integer, `o', `u', `x' denote an unsigned integer, `.*s' denotes a
string preceded by a width specification, `H' denotes a `location_t *'
@@ -9949,23 +10713,34 @@ function parameter, `Q' denotes an assignment operator, `V' denotes a
const/volatile qualifier.

-File: gettext.info, Node: qt-format, Next: boost-format, Prev: gcc-internal-format, Up: Translators for other Languages
+File: gettext.info, Node: qt-format, Next: kde-format, Prev: gcc-internal-format, Up: Translators for other Languages
15.3.19 Qt Format Strings
-------------------------
-Qt format strings are described in the documentation of the QString
-class `file:/usr/lib/qt-3.0.5/doc/html/qstring.html'. In summary, a
+ Qt format strings are described in the documentation of the QString
+class `file:/usr/lib/qt-4.3.0/doc/html/qstring.html'. In summary, a
directive consists of a `%' followed by a digit. The same directive
cannot occur more than once in a format string.

-File: gettext.info, Node: boost-format, Prev: qt-format, Up: Translators for other Languages
+File: gettext.info, Node: kde-format, Next: boost-format, Prev: qt-format, Up: Translators for other Languages
+
+15.3.20 KDE Format Strings
+--------------------------
+
+ KDE 4 format strings are defined as follows: A directive consists of
+a `%' followed by a non-zero decimal number. If a `%n' occurs in a
+format strings, all of `%1', ..., `%(n-1)' must occur as well, except
+possibly one of them.
+
+
+File: gettext.info, Node: boost-format, Prev: kde-format, Up: Translators for other Languages
-15.3.20 Boost Format Strings
+15.3.21 Boost Format Strings
----------------------------
-Boost format strings are described in the documentation of the
+ Boost format strings are described in the documentation of the
`boost::format' class, at
`http://www.boost.org/libs/format/doc/format.html'. In summary, a
directive has either the same syntax as in a C format string, such as
@@ -9979,7 +10754,7 @@ File: gettext.info, Node: Maintainers for other Languages, Next: List of Progr
15.4 The Maintainer's View
==========================
-For the maintainer, the general procedure differs from the C language
+ For the maintainer, the general procedure differs from the C language
case in two ways.
* For those languages that don't use GNU gettext, the `intl/'
@@ -10156,8 +10931,8 @@ File: gettext.info, Node: Preparing Shell Scripts, Next: gettext.sh, Prev: sh
15.5.2.1 Preparing Shell Scripts for Internationalization
.........................................................
-Preparing a shell script for internationalization is conceptually
-similar to the steps described in *Note Sources::. The concrete steps
+ Preparing a shell script for internationalization is conceptually
+similar to the steps described in *note Sources::. The concrete steps
for shell scripts are as follows.
1. Insert the line
@@ -10165,8 +10940,8 @@ for shell scripts are as follows.
. gettext.sh
near the top of the script. `gettext.sh' is a shell function
- library that provides the functions `eval_gettext' (see *Note
- eval_gettext Invocation::) and `eval_ngettext' (see *Note
+ library that provides the functions `eval_gettext' (see *note
+ eval_gettext Invocation::) and `eval_ngettext' (see *note
eval_ngettext Invocation::). You have to ensure that `gettext.sh'
can be found in the `PATH'.
@@ -10181,7 +10956,7 @@ for shell scripts are as follows.
TEXTDOMAINDIR=@LOCALEDIR@
export TEXTDOMAINDIR
- 3. Prepare the strings for translation, as described in *Note
+ 3. Prepare the strings for translation, as described in *note
Preparing Strings::.
4. Simplify translatable strings so that they don't contain command
@@ -10250,16 +11025,16 @@ File: gettext.info, Node: gettext.sh, Next: gettext Invocation, Prev: Prepari
15.5.2.2 Contents of `gettext.sh'
.................................
-`gettext.sh', contained in the run-time package of GNU gettext, provides
-the following:
+ `gettext.sh', contained in the run-time package of GNU gettext,
+provides the following:
* $echo The variable `echo' is set to a command that outputs its
first argument and a newline, without interpreting backslashes in
the argument string.
- * eval_gettext See *Note eval_gettext Invocation::.
+ * eval_gettext See *note eval_gettext Invocation::.
- * eval_ngettext See *Note eval_ngettext Invocation::.
+ * eval_ngettext See *note eval_ngettext Invocation::.

File: gettext.info, Node: gettext Invocation, Next: ngettext Invocation, Prev: gettext.sh, Up: sh
@@ -10448,7 +11223,7 @@ File: gettext.info, Node: bash, Next: Python, Prev: sh, Up: List of Programm
15.5.3 bash - Bourne-Again Shell Script
---------------------------------------
-GNU `bash' 2.0 or newer has a special shorthand for translating a
+ GNU `bash' 2.0 or newer has a special shorthand for translating a
string and substituting variable values in it: `$"msgid"'. But the use
of this construct is *discouraged*, due to the security holes it opens
and due to its portability problems.
@@ -10860,7 +11635,8 @@ gettext shorthand
_("abc")
gettext/ngettext functions
- `GettextResource.gettext', `GettextResource.ngettext'
+ `GettextResource.gettext', `GettextResource.ngettext',
+ `GettextResource.pgettext', `GettextResource.npgettext'
textdomain
--, use `ResourceBundle.getResource' instead
@@ -10935,21 +11711,22 @@ ResourceBundles, whether GNU gettext generated classes, or other
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).
+ 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.
+ handling and the `pgettext' and `npgettext' for strings constraint
+ to a particular context.
To use this API, one needs the `libintl.jar' file which is part of
the GNU gettext package and distributed under the LGPL.
- Three examples, using the second API, are available in the `examples'
-directory: `hello-java', `hello-java-awt', `hello-java-swing'.
+ Four examples, using the second API, are available in the `examples'
+directory: `hello-java', `hello-java-awt', `hello-java-swing',
+`hello-java-qtjambi'.
Now, to make use of the API and define a shorthand for `getString',
there are three idioms that you can choose from:
@@ -11028,6 +11805,8 @@ gettext shorthand
gettext/ngettext functions
`GettextResourceManager.GetString',
`GettextResourceManager.GetPluralString'
+ `GettextResourceManager.GetParticularString'
+ `GettextResourceManager.GetParticularPluralString'
textdomain
`new GettextResourceManager(domain)'
@@ -11120,7 +11899,13 @@ can be used with the option `--csharp'.
files can only contain data and only support lookups that depend
on a single string.
- 3. The `GettextResourceManager' that loads the message catalogs in
+ 3. Context handling: A message catalog in `.dll' format supports the
+ query-with-context functions `GetParticularString' and
+ `GetParticularPluralString'. Whereas `.resources' files can only
+ contain data and only support lookups that depend on a single
+ string.
+
+ 4. The `GettextResourceManager' that loads the message catalogs in
`.dll' format also provides for inheritance on a per-message basis.
For example, in Austrian (`de_AT') locale, translations from the
German (`de') message catalog will be used for messages not found
@@ -11130,7 +11915,7 @@ can be used with the option `--csharp'.
one. Whereas when working with `.resources' files, each message
catalog must provide the translations of all messages by itself.
- 4. The `GettextResourceManager' that loads the message catalogs in
+ 5. The `GettextResourceManager' that loads the message catalogs in
`.dll' format also provides for a fallback: The English MSGID is
returned when no translation can be found. Whereas when working
with `.resources' files, a language-neutral `.resources' file must
@@ -11168,6 +11953,15 @@ API. The latter is an extension of the former, because
The `GetPluralString' function returns a string translation with
plural handling, like the `ngettext' function in C.
+ The `GetParticularString' function returns a string's translation,
+ specific to a particular context, like the `pgettext' function in
+ C. Note that when a translation is missing, the MSGID argument is
+ returned unchanged.
+
+ The `GetParticularPluralString' function returns a string
+ translation, specific to a particular context, with plural
+ handling, like the `npgettext' function in C.
+
To use this API, one needs the `GNU.Gettext.dll' file which is
part of the GNU gettext package and distributed under the LGPL.
@@ -11607,7 +12401,7 @@ File: gettext.info, Node: General Problems, Next: Default Keywords, Up: Perl
15.5.18.1 General Problems Parsing Perl Code
............................................
-It is often heard that only Perl can parse Perl. This is not true.
+ It is often heard that only Perl can parse Perl. This is not true.
Perl cannot be _parsed_ at all, it can only be _executed_. Perl has
various built-in ambiguities that can only be resolved at runtime.
@@ -11702,9 +12496,9 @@ File: gettext.info, Node: Default Keywords, Next: Special Keywords, Prev: Gen
15.5.18.2 Which keywords will xgettext look for?
................................................
-Unless you instruct `xgettext' otherwise by invoking it with one of the
-options `--keyword' or `-k', it will recognize the following keywords
-in your Perl sources:
+ Unless you instruct `xgettext' otherwise by invoking it with one of
+the options `--keyword' or `-k', it will recognize the following
+keywords in your Perl sources:
* `gettext'
@@ -11745,8 +12539,8 @@ File: gettext.info, Node: Special Keywords, Next: Quote-like Expressions, Pre
15.5.18.3 How to Extract Hash Keys
..................................
-Translating messages at runtime is normally performed by looking up the
-original string in the translation database and returning the
+ Translating messages at runtime is normally performed by looking up
+the original string in the translation database and returning the
translated version. The "natural" Perl implementation is a hash
lookup, and, of course, `xgettext' supports such practice.
@@ -11781,8 +12575,8 @@ File: gettext.info, Node: Quote-like Expressions, Next: Interpolation I, Prev
15.5.18.4 What are Strings And Quote-like Expressions?
......................................................
-Perl offers a plethora of different string constructs. Those that can
-be used either as arguments to functions or inside braces for hash
+ Perl offers a plethora of different string constructs. Those that
+can be used either as arguments to functions or inside braces for hash
lookups are generally supported by `xgettext'.
* *double-quoted strings*
@@ -11846,7 +12640,7 @@ File: gettext.info, Node: Interpolation I, Next: Interpolation II, Prev: Quot
15.5.18.5 Invalid Uses Of String Interpolation
..............................................
-Perl is capable of interpolating variables into strings. This offers
+ Perl is capable of interpolating variables into strings. This offers
some nice features in localized programs but can also lead to problems.
A common error is a construct like the following:
@@ -11874,8 +12668,8 @@ what you are doing, you can always circumvent this behavior:
Since the parser only recognizes strings and quote-like expressions,
but not variables or other terms, the above construct will be accepted.
-You will have to find another way, however, to let your original
-string make it into your message catalog.
+You will have to find another way, however, to let your original string
+make it into your message catalog.
If invoked with the option `--extract-all', resp. `-a', variable
interpolation will be accepted. Rationale: You will generally use this
@@ -11938,9 +12732,9 @@ File: gettext.info, Node: Interpolation II, Next: Parentheses, Prev: Interpol
15.5.18.6 Valid Uses Of String Interpolation
............................................
-Perl is often used to generate sources for other programming languages
-or arbitrary file formats. Web applications that output HTML code make
-a prominent example for such usage.
+ Perl is often used to generate sources for other programming
+languages or arbitrary file formats. Web applications that output HTML
+code make a prominent example for such usage.
You will often come across situations where you want to intersperse
code written in the target (programming) language with translatable
@@ -12000,7 +12794,7 @@ File: gettext.info, Node: Parentheses, Next: Long Lines, Prev: Interpolation
15.5.18.7 When To Use Parentheses
.................................
-In Perl, parentheses around function arguments are mostly optional.
+ In Perl, parentheses around function arguments are mostly optional.
`xgettext' will always assume that all recognized keywords (except for
hashes and hash references) are names of properly prototyped functions,
and will (hopefully) only require parentheses where Perl itself
@@ -12040,7 +12834,7 @@ File: gettext.info, Node: Long Lines, Next: Perl Pitfalls, Prev: Parentheses,
15.5.18.8 How To Grok with Long Lines
.....................................
-The necessity of long messages can often lead to a cumbersome or
+ The necessity of long messages can often lead to a cumbersome or
unreadable coding style. Perl has several options that may prevent you
from writing unreadable code, and `xgettext' does its best to do
likewise. This is where the dot operator (the string concatenation
@@ -12090,7 +12884,7 @@ File: gettext.info, Node: Perl Pitfalls, Prev: Long Lines, Up: Perl
15.5.18.9 Bugs, Pitfalls, And Things That Do Not Work
.....................................................
-The foregoing sections should have proven that `xgettext' is quite
+ The foregoing sections should have proven that `xgettext' is quite
smart in extracting translatable strings from Perl sources. Yet, some
more or less exotic constructs that could be expected to work, actually
do not work.
@@ -12336,7 +13130,7 @@ File: gettext.info, Node: List of Data Formats, Prev: List of Programming Lang
15.6 Internationalizable Data
=============================
-Here is a list of other data formats which can be internationalized
+ Here is a list of other data formats which can be internationalized
using GNU gettext.
* Menu:
@@ -12397,7 +13191,7 @@ File: gettext.info, Node: Conclusion, Next: Language Codes, Prev: Programming
16 Concluding Remarks
*********************
-We would like to conclude this GNU `gettext' manual by presenting an
+ 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.
@@ -12413,11 +13207,11 @@ File: gettext.info, Node: History, Next: References, Prev: Conclusion, Up: C
16.1 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.
+ 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
@@ -12433,7 +13227,7 @@ 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
+François Pinard, and Paul Eggert, all pushing and pulling in various
directions, not always compatible, to the extent that after a couple of
test releases, `glocale' was torn apart. In particular, Paul Eggert -
always keeping an eye on developments in Solaris - advocated the use of
@@ -12456,7 +13250,7 @@ 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
+ While this was being done, Franç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
@@ -12468,7 +13262,7 @@ 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
+ François also wrote PO mode in June 1995 with the collaboration of
Greg McGary, as a kind of contribution to Ulrich's package. He also
gave a hand with the GNU `gettext' Texinfo manual.
@@ -12492,7 +13286,7 @@ File: gettext.info, Node: References, Prev: History, Up: Conclusion
16.2 Related Readings
=====================
-* NOTE: * This documentation section is outdated and needs to be
+ * NOTE: * This documentation section is outdated and needs to be
revised.
Eugene H. Dorr (`dorre@well.com') maintains an interesting
@@ -12530,7 +13324,7 @@ File: gettext.info, Node: Language Codes, Next: Country Codes, Prev: Conclusi
Appendix A Language Codes
*************************
-The ISO 639 standard defines two-letter codes for many languages, and
+ The ISO 639 standard defines two-letter codes for many languages, and
three-letter codes for more rarely used languages. All abbreviations
for languages used in the Translation Project should come from this
standard.
@@ -12546,7 +13340,7 @@ File: gettext.info, Node: Usual Language Codes, Next: Rare Language Codes, Pr
A.1 Usual Language Codes
========================
-For the commonly used languages, the ISO 639-1 standard defines
+ For the commonly used languages, the ISO 639-1 standard defines
two-letter codes.
`aa'
@@ -12658,7 +13452,7 @@ two-letter codes.
Dzongkha; Bhutani.
`ee'
- E'we'.
+ Éwé.
`el'
Greek.
@@ -12889,7 +13683,7 @@ two-letter codes.
Nauru.
`nb'
- Norwegian Bokmaal.
+ Norwegian Bokmål.
`nd'
Ndebele, North.
@@ -12919,7 +13713,7 @@ two-letter codes.
Chichewa; Nyanja.
`oc'
- Occitan; Provenc,al.
+ Occitan; Provençal.
`oj'
Ojibwa.
@@ -13081,7 +13875,7 @@ two-letter codes.
Vietnamese.
`vo'
- Volapu"k; Volapuk.
+ Volapük; Volapuk.
`wa'
Walloon.
@@ -13113,9 +13907,9 @@ File: gettext.info, Node: Rare Language Codes, Prev: Usual Language Codes, Up
A.2 Rare Language Codes
=======================
-For rarely used languages, the ISO 639-2 standard defines three-letter
-codes. Here is the current list, reduced to only living languages with
-at least one million of speakers.
+ For rarely used languages, the ISO 639-2 standard defines
+three-letter codes. Here is the current list, reduced to only living
+languages with at least one million of speakers.
`ace'
Achinese.
@@ -13306,7 +14100,7 @@ File: gettext.info, Node: Country Codes, Next: Licenses, Prev: Language Codes
Appendix B Country Codes
************************
-The ISO 3166 standard defines two character codes for many countries
+ 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.
@@ -13437,7 +14231,7 @@ Translation Project should come from this standard.
Switzerland.
`CI'
- Co^te d'Ivoire.
+ Côte d'Ivoire.
`CK'
Cook Islands.
@@ -14048,16 +14842,16 @@ File: gettext.info, Node: Licenses, Next: Program Index, Prev: Country Codes,
Appendix C Licenses
*******************
-The files of this package are covered by the licenses indicated in each
-particular file or directory. Here is a summary:
+ The files of this package are covered by the licenses indicated in
+each particular file or directory. Here is a summary:
* The `libintl' and `libasprintf' libraries are covered by the GNU
Library General Public License (LGPL). A copy of the license is
- included in *Note GNU LGPL::.
+ included in *note GNU LGPL::.
* The executable programs of this package and the `libgettextpo'
library are covered by the GNU General Public License (GPL). A
- copy of the license is included in *Note GNU GPL::.
+ copy of the license is included in *note GNU GPL::.
* This manual is free documentation. It is dually licensed under the
GNU FDL and the GNU GPL. This means that you can redistribute this
@@ -14068,12 +14862,12 @@ particular file or directory. Here is a summary:
License, or (at your option) any later version published by the
Free Software Foundation (FSF); with no Invariant Sections, with no
Front-Cover Text, and with no Back-Cover Texts. A copy of the
- license is included in *Note GNU FDL::.
+ license is included in *note GNU FDL::.
This manual is covered by the GNU GPL. You can redistribute it
and/or modify it under the terms of the GNU General Public License
(GPL), either version 2 of the License, or (at your option) any
later version published by the Free Software Foundation (FSF). A
- copy of the license is included in *Note GNU GPL::.
+ copy of the license is included in *note GNU GPL::.
* Menu:
@@ -14098,9 +14892,9 @@ C.1 GNU GENERAL PUBLIC LICENSE
Preamble
--------
-The licenses for most software are designed to take away your freedom
-to share and change it. By contrast, the GNU General Public License is
-intended to guarantee your freedom to share and change free
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
@@ -14382,7 +15176,7 @@ modification follow.
Appendix: How to Apply These Terms to Your New Programs
-------------------------------------------------------
-If you develop a new program, and you want it to be of the greatest
+ If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these
terms.
@@ -14463,10 +15257,10 @@ C.2 GNU LESSER GENERAL PUBLIC LICENSE
Preamble
--------
-The licenses for most software are designed to take away your freedom
-to share and change it. By contrast, the GNU General Public Licenses
-are intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users.
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
This license, the Lesser General Public License, applies to some
specially designated software--typically libraries--of the Free
@@ -14925,7 +15719,7 @@ be combined with the library in order to run.
How to Apply These Terms to Your New Libraries
----------------------------------------------
-If you develop a new library, and you want it to be of the greatest
+ If you develop a new library, and you want it to be of the greatest
possible use to the public, we recommend making it free software that
everyone can redistribute and change. You can do so by permitting
redistribution under these terms (or, alternatively, under the terms of
@@ -15374,7 +16168,7 @@ C.3 GNU Free Documentation License
ADDENDUM: How to use this License for your documents
----------------------------------------------------
-To use this License in a document you have written, include a copy of
+ To use this License in a document you have written, include a copy of
the License in the document and put the following copyright and license
notices just after the title page:
@@ -15448,7 +16242,7 @@ Option Index
* --add-comments, xgettext option: xgettext Invocation. (line 97)
* --add-location, msgattrib option: msgattrib Invocation.
(line 127)
-* --add-location, msgcat option: msgcat Invocation. (line 105)
+* --add-location, msgcat option: msgcat Invocation. (line 114)
* --add-location, msgcomm option: msgcomm Invocation. (line 95)
* --add-location, msgconv option: msgconv Invocation. (line 74)
* --add-location, msgen option: msgen Invocation. (line 70)
@@ -15457,10 +16251,10 @@ Option Index
* --add-location, msggrep option: msggrep Invocation. (line 152)
* --add-location, msgmerge option: msgmerge Invocation. (line 139)
* --add-location, msguniq option: msguniq Invocation. (line 92)
-* --add-location, xgettext option: xgettext Invocation. (line 276)
+* --add-location, xgettext option: xgettext Invocation. (line 286)
* --alignment, msgfmt option: msgfmt Invocation. (line 209)
* --backup, msgmerge option: msgmerge Invocation. (line 65)
-* --boost, xgettext option: xgettext Invocation. (line 244)
+* --boost, xgettext option: xgettext Invocation. (line 252)
* --c++, xgettext option: xgettext Invocation. (line 64)
* --check, msgfmt option: msgfmt Invocation. (line 146)
* --check-accelerators, msgfmt option: msgfmt Invocation. (line 187)
@@ -15474,14 +16268,16 @@ Option Index
(line 77)
* --clear-previous, msgattrib option: msgattrib Invocation.
(line 80)
+* --color, msgcat option <1>: The --color option. (line 6)
+* --color, msgcat option: msgcat Invocation. (line 95)
* --comment, msggrep option: msggrep Invocation. (line 93)
* --compendium, msgmerge option: msgmerge Invocation. (line 36)
-* --copyright-holder, xgettext option: xgettext Invocation. (line 323)
+* --copyright-holder, xgettext option: xgettext Invocation. (line 336)
* --csharp, msgfmt option: msgfmt Invocation. (line 36)
* --csharp, msgunfmt option: msgunfmt Invocation. (line 19)
* --csharp-resources, msgfmt option: msgfmt Invocation. (line 40)
* --csharp-resources, msgunfmt option: msgunfmt Invocation. (line 23)
-* --debug, xgettext option: xgettext Invocation. (line 248)
+* --debug, xgettext option: xgettext Invocation. (line 256)
* --default-domain, xgettext option: xgettext Invocation. (line 36)
* --directory, msgattrib option: msgattrib Invocation.
(line 19)
@@ -15504,7 +16300,7 @@ Option Index
* --dry-run, autopoint option: autopoint Invocation.
(line 24)
* --dry-run, gettextize option: gettextize Invocation.
- (line 65)
+ (line 72)
* --exclude-file, xgettext option: xgettext Invocation. (line 92)
* --expression, msgfilter option: msgfilter Invocation.
(line 70)
@@ -15518,14 +16314,14 @@ Option Index
* --files-from, msgcomm option: msgcomm Invocation. (line 25)
* --files-from, xgettext option: xgettext Invocation. (line 19)
* --fixed-strings, msggrep option: msggrep Invocation. (line 105)
-* --flag, xgettext option: xgettext Invocation. (line 195)
+* --flag, xgettext option: xgettext Invocation. (line 199)
* --force, autopoint option: autopoint Invocation.
(line 20)
* --force, gettextize option: gettextize Invocation.
(line 40)
* --force-po, msgattrib option: msgattrib Invocation.
(line 116)
-* --force-po, msgcat option: msgcat Invocation. (line 94)
+* --force-po, msgcat option: msgcat Invocation. (line 103)
* --force-po, msgcomm option: msgcomm Invocation. (line 84)
* --force-po, msgconv option: msgconv Invocation. (line 64)
* --force-po, msgen option: msgen Invocation. (line 60)
@@ -15535,8 +16331,8 @@ Option Index
* --force-po, msgmerge option: msgmerge Invocation. (line 129)
* --force-po, msgunfmt option: msgunfmt Invocation. (line 108)
* --force-po, msguniq option: msguniq Invocation. (line 81)
-* --force-po, xgettext option: xgettext Invocation. (line 265)
-* --foreign-user, xgettext option: xgettext Invocation. (line 338)
+* --force-po, xgettext option: xgettext Invocation. (line 273)
+* --foreign-user, xgettext option: xgettext Invocation. (line 351)
* --from-code, xgettext option: xgettext Invocation. (line 74)
* --fuzzy, msgattrib option: msgattrib Invocation.
(line 91)
@@ -15545,10 +16341,10 @@ Option Index
* --help, envsubst option: envsubst Invocation. (line 22)
* --help, gettext option: gettext Invocation. (line 32)
* --help, gettextize option: gettextize Invocation.
- (line 70)
+ (line 77)
* --help, msgattrib option: msgattrib Invocation.
(line 172)
-* --help, msgcat option: msgcat Invocation. (line 150)
+* --help, msgcat option: msgcat Invocation. (line 159)
* --help, msgcmp option: msgcmp Invocation. (line 67)
* --help, msgcomm option: msgcomm Invocation. (line 143)
* --help, msgconv option: msgconv Invocation. (line 119)
@@ -15563,13 +16359,13 @@ Option Index
* --help, msgunfmt option: msgunfmt Invocation. (line 153)
* --help, msguniq option: msguniq Invocation. (line 137)
* --help, ngettext option: ngettext Invocation. (line 31)
-* --help, xgettext option: xgettext Invocation. (line 384)
+* --help, xgettext option: xgettext Invocation. (line 404)
* --ignore-case, msggrep option: msggrep Invocation. (line 117)
* --ignore-file, msgattrib option: msgattrib Invocation.
(line 87)
* --indent, msgattrib option: msgattrib Invocation.
(line 120)
-* --indent, msgcat option: msgcat Invocation. (line 98)
+* --indent, msgcat option: msgcat Invocation. (line 107)
* --indent, msgcomm option: msgcomm Invocation. (line 88)
* --indent, msgconv option: msgconv Invocation. (line 68)
* --indent, msgen option: msgen Invocation. (line 64)
@@ -15579,7 +16375,7 @@ Option Index
* --indent, msgmerge option: msgmerge Invocation. (line 133)
* --indent, msgunfmt option: msgunfmt Invocation. (line 112)
* --indent, msguniq option: msguniq Invocation. (line 85)
-* --indent, xgettext option: xgettext Invocation. (line 269)
+* --indent, xgettext option: xgettext Invocation. (line 277)
* --input, msgexec option: msgexec Invocation. (line 40)
* --input, msgfilter option: msgfilter Invocation.
(line 16)
@@ -15591,6 +16387,7 @@ Option Index
* --java, msgunfmt option: msgunfmt Invocation. (line 16)
* --java2, msgfmt option: msgfmt Invocation. (line 33)
* --join-existing, xgettext option: xgettext Invocation. (line 88)
+* --kde, xgettext option: xgettext Invocation. (line 248)
* --keep-header, msgfilter option: msgfilter Invocation.
(line 120)
* --keyword, xgettext option: xgettext Invocation. (line 114)
@@ -15605,21 +16402,21 @@ Option Index
* --more-than, msgcomm option: msgcomm Invocation. (line 58)
* --msgctxt, msggrep option: msggrep Invocation. (line 81)
* --msgid, msggrep option: msggrep Invocation. (line 85)
-* --msgid-bugs-address, xgettext option: xgettext Invocation. (line 344)
+* --msgid-bugs-address, xgettext option: xgettext Invocation. (line 364)
* --msgstr, msggrep option: msggrep Invocation. (line 89)
-* --msgstr-prefix, xgettext option: xgettext Invocation. (line 372)
-* --msgstr-suffix, xgettext option: xgettext Invocation. (line 376)
+* --msgstr-prefix, xgettext option: xgettext Invocation. (line 392)
+* --msgstr-suffix, xgettext option: xgettext Invocation. (line 396)
* --multi-domain, msgcmp option: msgcmp Invocation. (line 36)
* --multi-domain, msgmerge option: msgmerge Invocation. (line 101)
* --no-changelog, gettextize option: gettextize Invocation.
- (line 51)
+ (line 58)
* --no-fuzzy, msgattrib option: msgattrib Invocation.
(line 47)
* --no-fuzzy-matching, msgmerge option: msgmerge Invocation. (line 105)
* --no-hash, msgfmt option: msgfmt Invocation. (line 212)
* --no-location, msgattrib option: msgattrib Invocation.
(line 123)
-* --no-location, msgcat option: msgcat Invocation. (line 101)
+* --no-location, msgcat option: msgcat Invocation. (line 110)
* --no-location, msgcomm option: msgcomm Invocation. (line 91)
* --no-location, msgconv option: msgconv Invocation. (line 71)
* --no-location, msgen option: msgen Invocation. (line 67)
@@ -15628,13 +16425,13 @@ Option Index
* --no-location, msggrep option: msggrep Invocation. (line 149)
* --no-location, msgmerge option: msgmerge Invocation. (line 136)
* --no-location, msguniq option: msguniq Invocation. (line 88)
-* --no-location, xgettext option: xgettext Invocation. (line 272)
+* --no-location, xgettext option: xgettext Invocation. (line 280)
* --no-obsolete, msgattrib option: msgattrib Invocation.
(line 53)
* --no-translator, msginit option: msginit Invocation. (line 58)
* --no-wrap, msgattrib option: msgattrib Invocation.
(line 152)
-* --no-wrap, msgcat option: msgcat Invocation. (line 130)
+* --no-wrap, msgcat option: msgcat Invocation. (line 139)
* --no-wrap, msgcomm option: msgcomm Invocation. (line 120)
* --no-wrap, msgconv option: msgconv Invocation. (line 99)
* --no-wrap, msgen option: msgen Invocation. (line 95)
@@ -15645,11 +16442,11 @@ Option Index
* --no-wrap, msgmerge option: msgmerge Invocation. (line 164)
* --no-wrap, msgunfmt option: msgunfmt Invocation. (line 137)
* --no-wrap, msguniq option: msguniq Invocation. (line 117)
-* --no-wrap, xgettext option: xgettext Invocation. (line 300)
+* --no-wrap, xgettext option: xgettext Invocation. (line 310)
* --obsolete, msgattrib option: msgattrib Invocation.
(line 95)
* --omit-header, msgcomm option: msgcomm Invocation. (line 135)
-* --omit-header, xgettext option: xgettext Invocation. (line 315)
+* --omit-header, xgettext option: xgettext Invocation. (line 325)
* --only-file, msgattrib option: msgattrib Invocation.
(line 83)
* --only-fuzzy, msgattrib option: msgattrib Invocation.
@@ -15672,6 +16469,10 @@ Option Index
* --output-file, msgmerge option: msgmerge Invocation. (line 53)
* --output-file, msgunfmt option: msgunfmt Invocation. (line 98)
* --output-file, msguniq option: msguniq Invocation. (line 38)
+* --package-name, xgettext option: xgettext Invocation. (line 357)
+* --package-version, xgettext option: xgettext Invocation. (line 360)
+* --po-dir, gettextize option: gettextize Invocation.
+ (line 51)
* --previous, msgmerge option: msgmerge Invocation. (line 109)
* --properties-input, msgattrib option: msgattrib Invocation.
(line 104)
@@ -15690,7 +16491,7 @@ Option Index
* --properties-input, msguniq option: msguniq Invocation. (line 61)
* --properties-output, msgattrib option: msgattrib Invocation.
(line 136)
-* --properties-output, msgcat option: msgcat Invocation. (line 114)
+* --properties-output, msgcat option: msgcat Invocation. (line 123)
* --properties-output, msgcomm option: msgcomm Invocation. (line 104)
* --properties-output, msgconv option: msgconv Invocation. (line 83)
* --properties-output, msgen option: msgen Invocation. (line 79)
@@ -15701,9 +16502,9 @@ Option Index
* --properties-output, msgmerge option: msgmerge Invocation. (line 148)
* --properties-output, msgunfmt option: msgunfmt Invocation. (line 121)
* --properties-output, msguniq option: msguniq Invocation. (line 101)
-* --properties-output, xgettext option: xgettext Invocation. (line 284)
+* --properties-output, xgettext option: xgettext Invocation. (line 294)
* --qt, msgfmt option: msgfmt Invocation. (line 46)
-* --qt, xgettext option: xgettext Invocation. (line 240)
+* --qt, xgettext option: xgettext Invocation. (line 244)
* --quiet, msgfilter option: msgfilter Invocation.
(line 79)
* --quiet, msgmerge option: msgmerge Invocation. (line 197)
@@ -15720,7 +16521,7 @@ Option Index
* --silent, msgmerge option: msgmerge Invocation. (line 197)
* --sort-by-file, msgattrib option: msgattrib Invocation.
(line 164)
-* --sort-by-file, msgcat option: msgcat Invocation. (line 142)
+* --sort-by-file, msgcat option: msgcat Invocation. (line 151)
* --sort-by-file, msgcomm option: msgcomm Invocation. (line 132)
* --sort-by-file, msgconv option: msgconv Invocation. (line 111)
* --sort-by-file, msgen option: msgen Invocation. (line 107)
@@ -15729,10 +16530,10 @@ Option Index
* --sort-by-file, msggrep option: msggrep Invocation. (line 187)
* --sort-by-file, msgmerge option: msgmerge Invocation. (line 176)
* --sort-by-file, msguniq option: msguniq Invocation. (line 129)
-* --sort-by-file, xgettext option: xgettext Invocation. (line 312)
+* --sort-by-file, xgettext option: xgettext Invocation. (line 322)
* --sort-output, msgattrib option: msgattrib Invocation.
(line 159)
-* --sort-output, msgcat option: msgcat Invocation. (line 137)
+* --sort-output, msgcat option: msgcat Invocation. (line 146)
* --sort-output, msgcomm option: msgcomm Invocation. (line 127)
* --sort-output, msgconv option: msgconv Invocation. (line 106)
* --sort-output, msgen option: msgen Invocation. (line 102)
@@ -15742,11 +16543,11 @@ Option Index
* --sort-output, msgmerge option: msgmerge Invocation. (line 171)
* --sort-output, msgunfmt option: msgunfmt Invocation. (line 144)
* --sort-output, msguniq option: msguniq Invocation. (line 124)
-* --sort-output, xgettext option: xgettext Invocation. (line 307)
+* --sort-output, xgettext option: xgettext Invocation. (line 317)
* --statistics, msgfmt option: msgfmt Invocation. (line 229)
* --strict, msgattrib option: msgattrib Invocation.
(line 130)
-* --strict, msgcat option: msgcat Invocation. (line 108)
+* --strict, msgcat option: msgcat Invocation. (line 117)
* --strict, msgcomm option: msgcomm Invocation. (line 98)
* --strict, msgconv option: msgconv Invocation. (line 77)
* --strict, msgen option: msgen Invocation. (line 73)
@@ -15757,7 +16558,7 @@ Option Index
* --strict, msgmerge option: msgmerge Invocation. (line 142)
* --strict, msgunfmt option: msgunfmt Invocation. (line 115)
* --strict, msguniq option: msguniq Invocation. (line 95)
-* --strict, xgettext option: xgettext Invocation. (line 279)
+* --strict, xgettext option: xgettext Invocation. (line 289)
* --stringtable-input, msgattrib option: msgattrib Invocation.
(line 108)
* --stringtable-input, msgcat option: msgcat Invocation. (line 78)
@@ -15775,7 +16576,7 @@ Option Index
* --stringtable-input, msguniq option: msguniq Invocation. (line 65)
* --stringtable-output, msgattrib option: msgattrib Invocation.
(line 141)
-* --stringtable-output, msgcat option: msgcat Invocation. (line 119)
+* --stringtable-output, msgcat option: msgcat Invocation. (line 128)
* --stringtable-output, msgcomm option: msgcomm Invocation. (line 109)
* --stringtable-output, msgconv option: msgconv Invocation. (line 88)
* --stringtable-output, msgen option: msgen Invocation. (line 84)
@@ -15786,10 +16587,12 @@ Option Index
* --stringtable-output, msgmerge option: msgmerge Invocation. (line 153)
* --stringtable-output, msgunfmt option: msgunfmt Invocation. (line 126)
* --stringtable-output, msguniq option: msguniq Invocation. (line 106)
-* --stringtable-output, xgettext option: xgettext Invocation. (line 289)
+* --stringtable-output, xgettext option: xgettext Invocation. (line 299)
+* --style, msgcat option <1>: The --style option. (line 6)
+* --style, msgcat option: msgcat Invocation. (line 99)
* --suffix, msgmerge option: msgmerge Invocation. (line 68)
* --symlink, gettextize option: gettextize Invocation.
- (line 56)
+ (line 63)
* --tcl, msgfmt option: msgfmt Invocation. (line 43)
* --tcl, msgunfmt option: msgunfmt Invocation. (line 26)
* --to-code, msgcat option: msgcat Invocation. (line 87)
@@ -15797,7 +16600,7 @@ Option Index
* --to-code, msguniq option: msguniq Invocation. (line 74)
* --translated, msgattrib option: msgattrib Invocation.
(line 41)
-* --trigraphs, xgettext option: xgettext Invocation. (line 235)
+* --trigraphs, xgettext option: xgettext Invocation. (line 239)
* --unique, msgcat option: msgcat Invocation. (line 65)
* --unique, msgcomm option: msgcomm Invocation. (line 63)
* --unique, msguniq option: msguniq Invocation. (line 53)
@@ -15818,10 +16621,10 @@ Option Index
* --version, envsubst option: envsubst Invocation. (line 26)
* --version, gettext option: gettext Invocation. (line 40)
* --version, gettextize option: gettextize Invocation.
- (line 73)
+ (line 80)
* --version, msgattrib option: msgattrib Invocation.
(line 176)
-* --version, msgcat option: msgcat Invocation. (line 154)
+* --version, msgcat option: msgcat Invocation. (line 163)
* --version, msgcmp option: msgcmp Invocation. (line 71)
* --version, msgcomm option: msgcomm Invocation. (line 147)
* --version, msgconv option: msgconv Invocation. (line 123)
@@ -15836,10 +16639,10 @@ Option Index
* --version, msgunfmt option: msgunfmt Invocation. (line 157)
* --version, msguniq option: msguniq Invocation. (line 141)
* --version, ngettext option: ngettext Invocation. (line 35)
-* --version, xgettext option: xgettext Invocation. (line 388)
+* --version, xgettext option: xgettext Invocation. (line 408)
* --width, msgattrib option: msgattrib Invocation.
(line 146)
-* --width, msgcat option: msgcat Invocation. (line 124)
+* --width, msgcat option: msgcat Invocation. (line 133)
* --width, msgcomm option: msgcomm Invocation. (line 114)
* --width, msgconv option: msgconv Invocation. (line 93)
* --width, msgen option: msgen Invocation. (line 89)
@@ -15850,7 +16653,7 @@ Option Index
* --width, msgmerge option: msgmerge Invocation. (line 158)
* --width, msgunfmt option: msgunfmt Invocation. (line 131)
* --width, msguniq option: msguniq Invocation. (line 111)
-* --width, xgettext option: xgettext Invocation. (line 294)
+* --width, xgettext option: xgettext Invocation. (line 304)
* -<, msgcat option: msgcat Invocation. (line 55)
* -<, msgcomm option: msgcomm Invocation. (line 53)
* ->, msgcat option: msgcat Invocation. (line 60)
@@ -15867,7 +16670,7 @@ Option Index
(line 24)
* -d, gettext option: gettext Invocation. (line 16)
* -d, gettextize option: gettextize Invocation.
- (line 65)
+ (line 72)
* -D, msgattrib option: msgattrib Invocation.
(line 19)
* -D, msgcat option: msgcat Invocation. (line 32)
@@ -15902,7 +16705,7 @@ Option Index
(line 40)
* -F, msgattrib option: msgattrib Invocation.
(line 164)
-* -F, msgcat option: msgcat Invocation. (line 142)
+* -F, msgcat option: msgcat Invocation. (line 151)
* -f, msgcat option: msgcat Invocation. (line 27)
* -F, msgcomm option: msgcomm Invocation. (line 132)
* -f, msgcomm option: msgcomm Invocation. (line 25)
@@ -15917,13 +16720,13 @@ Option Index
* -F, msggrep option: msggrep Invocation. (line 105)
* -F, msgmerge option: msgmerge Invocation. (line 176)
* -F, msguniq option: msguniq Invocation. (line 129)
-* -F, xgettext option: xgettext Invocation. (line 312)
+* -F, xgettext option: xgettext Invocation. (line 322)
* -f, xgettext option: xgettext Invocation. (line 19)
* -h, envsubst option: envsubst Invocation. (line 22)
* -h, gettext option: gettext Invocation. (line 32)
* -h, msgattrib option: msgattrib Invocation.
(line 172)
-* -h, msgcat option: msgcat Invocation. (line 150)
+* -h, msgcat option: msgcat Invocation. (line 159)
* -h, msgcmp option: msgcmp Invocation. (line 67)
* -h, msgcomm option: msgcomm Invocation. (line 143)
* -h, msgconv option: msgconv Invocation. (line 119)
@@ -15938,10 +16741,10 @@ Option Index
* -h, msgunfmt option: msgunfmt Invocation. (line 153)
* -h, msguniq option: msguniq Invocation. (line 137)
* -h, ngettext option: ngettext Invocation. (line 31)
-* -h, xgettext option: xgettext Invocation. (line 384)
+* -h, xgettext option: xgettext Invocation. (line 404)
* -i, msgattrib option: msgattrib Invocation.
(line 120)
-* -i, msgcat option: msgcat Invocation. (line 98)
+* -i, msgcat option: msgcat Invocation. (line 107)
* -i, msgcomm option: msgcomm Invocation. (line 88)
* -i, msgconv option: msgconv Invocation. (line 68)
* -i, msgen option: msgen Invocation. (line 64)
@@ -15953,7 +16756,7 @@ Option Index
* -i, msgmerge option: msgmerge Invocation. (line 133)
* -i, msgunfmt option: msgunfmt Invocation. (line 112)
* -i, msguniq option: msguniq Invocation. (line 85)
-* -i, xgettext option: xgettext Invocation. (line 269)
+* -i, xgettext option: xgettext Invocation. (line 277)
* -j, msgfmt option: msgfmt Invocation. (line 30)
* -J, msggrep option: msggrep Invocation. (line 81)
* -j, msgunfmt option: msgunfmt Invocation. (line 16)
@@ -15967,19 +16770,19 @@ Option Index
* -m, msgcmp option: msgcmp Invocation. (line 36)
* -M, msggrep option: msggrep Invocation. (line 77)
* -m, msgmerge option: msgmerge Invocation. (line 101)
-* -M, xgettext option: xgettext Invocation. (line 376)
-* -m, xgettext option: xgettext Invocation. (line 372)
+* -M, xgettext option: xgettext Invocation. (line 396)
+* -m, xgettext option: xgettext Invocation. (line 392)
* -n, gettext option: gettext Invocation. (line 35)
* -n, msgattrib option: msgattrib Invocation.
(line 127)
-* -n, msgcat option: msgcat Invocation. (line 105)
+* -n, msgcat option: msgcat Invocation. (line 114)
* -n, msgcomm option: msgcomm Invocation. (line 95)
* -n, msgfilter option: msgfilter Invocation.
(line 79)
* -N, msggrep option: msggrep Invocation. (line 72)
* -N, msgmerge option: msgmerge Invocation. (line 105)
* -n, msguniq option: msguniq Invocation. (line 92)
-* -n, xgettext option: xgettext Invocation. (line 276)
+* -n, xgettext option: xgettext Invocation. (line 286)
* -o, msgattrib option: msgattrib Invocation.
(line 31)
* -o, msgcat option: msgcat Invocation. (line 44)
@@ -15999,7 +16802,7 @@ Option Index
(line 136)
* -P, msgattrib option: msgattrib Invocation.
(line 104)
-* -p, msgcat option: msgcat Invocation. (line 114)
+* -p, msgcat option: msgcat Invocation. (line 123)
* -P, msgcat option: msgcat Invocation. (line 74)
* -P, msgcmp option: msgcmp Invocation. (line 54)
* -p, msgcomm option: msgcomm Invocation. (line 104)
@@ -16029,7 +16832,7 @@ Option Index
* -r, msgunfmt option: msgunfmt Invocation. (line 43)
* -s, msgattrib option: msgattrib Invocation.
(line 159)
-* -s, msgcat option: msgcat Invocation. (line 137)
+* -s, msgcat option: msgcat Invocation. (line 146)
* -s, msgcomm option: msgcomm Invocation. (line 127)
* -s, msgconv option: msgconv Invocation. (line 106)
* -s, msgen option: msgen Invocation. (line 102)
@@ -16038,12 +16841,12 @@ Option Index
* -s, msgmerge option: msgmerge Invocation. (line 171)
* -s, msgunfmt option: msgunfmt Invocation. (line 144)
* -s, msguniq option: msguniq Invocation. (line 124)
-* -s, xgettext option: xgettext Invocation. (line 307)
+* -s, xgettext option: xgettext Invocation. (line 317)
* -t, msgcat option: msgcat Invocation. (line 87)
* -t, msgconv option: msgconv Invocation. (line 42)
* -T, msggrep option: msggrep Invocation. (line 89)
* -t, msguniq option: msguniq Invocation. (line 74)
-* -T, xgettext option: xgettext Invocation. (line 235)
+* -T, xgettext option: xgettext Invocation. (line 239)
* -u, msgcat option: msgcat Invocation. (line 65)
* -u, msgcomm option: msgcomm Invocation. (line 63)
* -U, msgmerge option: msgmerge Invocation. (line 45)
@@ -16053,7 +16856,7 @@ Option Index
* -V, gettext option: gettext Invocation. (line 40)
* -V, msgattrib option: msgattrib Invocation.
(line 176)
-* -V, msgcat option: msgcat Invocation. (line 154)
+* -V, msgcat option: msgcat Invocation. (line 163)
* -V, msgcmp option: msgcmp Invocation. (line 71)
* -V, msgcomm option: msgcomm Invocation. (line 147)
* -V, msgconv option: msgconv Invocation. (line 123)
@@ -16072,10 +16875,10 @@ Option Index
* -V, msgunfmt option: msgunfmt Invocation. (line 157)
* -V, msguniq option: msguniq Invocation. (line 141)
* -V, ngettext option: ngettext Invocation. (line 35)
-* -V, xgettext option: xgettext Invocation. (line 388)
+* -V, xgettext option: xgettext Invocation. (line 408)
* -w, msgattrib option: msgattrib Invocation.
(line 146)
-* -w, msgcat option: msgcat Invocation. (line 124)
+* -w, msgcat option: msgcat Invocation. (line 133)
* -w, msgcomm option: msgcomm Invocation. (line 114)
* -w, msgconv option: msgconv Invocation. (line 93)
* -w, msgen option: msgen Invocation. (line 89)
@@ -16086,7 +16889,7 @@ Option Index
* -w, msgmerge option: msgmerge Invocation. (line 158)
* -w, msgunfmt option: msgunfmt Invocation. (line 131)
* -w, msguniq option: msguniq Invocation. (line 111)
-* -w, xgettext option: xgettext Invocation. (line 294)
+* -w, xgettext option: xgettext Invocation. (line 304)
* -X, msggrep option: msggrep Invocation. (line 97)
* -x, xgettext option: xgettext Invocation. (line 92)
@@ -16102,20 +16905,39 @@ Variable Index
* GETTEXT_LOG_UNTRANSLATED, environment variable: Prioritizing messages.
(line 23)
* LANG, environment variable <1>: gettext grok. (line 32)
-* LANG, environment variable: End Users. (line 6)
+* LANG, environment variable: Locale Environment Variables.
+ (line 17)
* LANGUAGE, environment variable <1>: po/Rules-*. (line 11)
-* LANGUAGE, environment variable: gettext grok. (line 28)
-* LC_ALL, environment variable: gettext grok. (line 28)
-* LC_COLLATE, environment variable: gettext grok. (line 30)
-* LC_CTYPE, environment variable: gettext grok. (line 30)
-* LC_MESSAGES, environment variable: gettext grok. (line 30)
-* LC_MONETARY, environment variable: gettext grok. (line 30)
-* LC_NUMERIC, environment variable: gettext grok. (line 30)
-* LC_TIME, environment variable: gettext grok. (line 30)
+* LANGUAGE, environment variable <2>: gettext grok. (line 28)
+* LANGUAGE, environment variable: Locale Environment Variables.
+ (line 11)
+* LC_ALL, environment variable <1>: gettext grok. (line 28)
+* LC_ALL, environment variable: Locale Environment Variables.
+ (line 11)
+* LC_COLLATE, environment variable <1>: gettext grok. (line 30)
+* LC_COLLATE, environment variable: Locale Environment Variables.
+ (line 13)
+* LC_CTYPE, environment variable <1>: gettext grok. (line 30)
+* LC_CTYPE, environment variable: Locale Environment Variables.
+ (line 13)
+* LC_MESSAGES, environment variable <1>: gettext grok. (line 30)
+* LC_MESSAGES, environment variable: Locale Environment Variables.
+ (line 13)
+* LC_MONETARY, environment variable <1>: gettext grok. (line 30)
+* LC_MONETARY, environment variable: Locale Environment Variables.
+ (line 13)
+* LC_NUMERIC, environment variable <1>: gettext grok. (line 30)
+* LC_NUMERIC, environment variable: Locale Environment Variables.
+ (line 13)
+* LC_TIME, environment variable <1>: gettext grok. (line 30)
+* LC_TIME, environment variable: Locale Environment Variables.
+ (line 13)
* LINGUAS, environment variable: Installers. (line 17)
* MSGEXEC_LOCATION, environment variable: msgexec Invocation. (line 18)
* MSGEXEC_MSGCTXT, environment variable: msgexec Invocation. (line 18)
* MSGEXEC_MSGID, environment variable: msgexec Invocation. (line 18)
+* PO_STYLE, environment variable: The --style option. (line 10)
+* TERM, environment variable: The TERM variable. (line 6)
* TEXTDOMAIN, environment variable: sh. (line 23)
* TEXTDOMAINDIR, environment variable: sh. (line 26)
@@ -16337,6 +17159,7 @@ Autoconf Macro Index
(line 6)
* AM_ICONV: AM_ICONV. (line 6)
* AM_PO_SUBDIRS: AM_PO_SUBDIRS. (line 6)
+* AM_XGETTEXT_OPTION: AM_XGETTEXT_OPTION. (line 6)

File: gettext.info, Node: Index, Prev: Autoconf Macro Index, Up: Top
@@ -16349,7 +17172,8 @@ General Index
* _, a macro to mark strings for translation: Mark Keywords. (line 45)
* _nl_msg_cat_cntr: gettext grok. (line 62)
-* ABOUT-NLS file: Matrix. (line 6)
+* ABOUT-NLS file: Installing Localizations.
+ (line 13)
* acconfig.h file: acconfig. (line 6)
* accumulating translations: Creating Compendia. (line 14)
* aclocal.m4 file: aclocal. (line 6)
@@ -16369,7 +17193,8 @@ General Index
* autopoint program, usage: autopoint Invocation.
(line 6)
* auxiliary PO file: Auxiliary. (line 13)
-* available translations: Matrix. (line 6)
+* available translations: Installing Localizations.
+ (line 6)
* awk: gawk. (line 6)
* awk-format flag: PO Files. (line 149)
* backup old file, and msgmerge program: msgmerge Invocation. (line 65)
@@ -16377,11 +17202,11 @@ General Index
* bibliography: References. (line 6)
* big picture: Overview. (line 6)
* bind_textdomain_codeset: Charset conversion. (line 28)
-* Boost format strings: xgettext Invocation. (line 244)
-* boost-format flag: PO Files. (line 185)
+* Boost format strings: xgettext Invocation. (line 252)
+* boost-format flag: PO Files. (line 189)
* bug report address: Introduction. (line 24)
* C and C-like languages: C. (line 6)
-* C trigraphs: xgettext Invocation. (line 235)
+* C trigraphs: xgettext Invocation. (line 239)
* C#: C#. (line 6)
* C# mode, and msgfmt program: msgfmt Invocation. (line 36)
* C# mode, and msgunfmt program: msgunfmt Invocation. (line 19)
@@ -16407,7 +17232,7 @@ General Index
* clisp: Common Lisp. (line 6)
* clisp C sources: clisp C. (line 6)
* codeset: Aspects. (line 67)
-* comments in PO files: PO Files. (line 284)
+* comments in PO files: PO Files. (line 288)
* comments, automatic: PO Files. (line 36)
* comments, extracted: PO Files. (line 36)
* comments, translator: PO Files. (line 36)
@@ -16426,7 +17251,7 @@ General Index
* context, argument specification in xgettext: xgettext Invocation.
(line 117)
* context, in MO files: MO Files. (line 63)
-* context, in PO files: PO Files. (line 189)
+* context, in PO files: PO Files. (line 193)
* control characters: Preparing Strings. (line 190)
* convert binary message catalog into PO file: msgunfmt Invocation.
(line 8)
@@ -16444,7 +17269,7 @@ General Index
* dcpgettext: Contexts. (line 56)
* dcpgettext_expr: Contexts. (line 112)
* debugging messages marked as format strings: xgettext Invocation.
- (line 248)
+ (line 256)
* dialect: Manipulating. (line 28)
* disabling NLS: lib/gettext.h. (line 6)
* distribution tarball: Release Management. (line 6)
@@ -16488,8 +17313,8 @@ General Index
* force use of fuzzy entries: msgfmt Invocation. (line 199)
* format strings: c-format Flag. (line 6)
* Free Pascal: Pascal. (line 6)
-* function attribute, __format__: xgettext Invocation. (line 199)
-* function attribute, __format_arg__: xgettext Invocation. (line 213)
+* function attribute, __format__: xgettext Invocation. (line 203)
+* function attribute, __format_arg__: xgettext Invocation. (line 217)
* fuzzy entries: Fuzzy Entries. (line 6)
* fuzzy flag: PO Files. (line 80)
* gawk: gawk. (line 6)
@@ -16538,17 +17363,20 @@ General Index
* Java mode, and msgunfmt program: msgunfmt Invocation. (line 16)
* Java, string concatenation: Preparing Strings. (line 168)
* java-format flag: PO Files. (line 141)
+* KDE format strings: xgettext Invocation. (line 248)
* KDE PO file editor: KBabel. (line 6)
+* kde-format flag: PO Files. (line 185)
* keyboard accelerator checking: msgfmt Invocation. (line 187)
* l10n: Concepts. (line 6)
* language codes: Language Codes. (line 6)
-* language selection: End Users. (line 6)
+* language selection: Locale Environment Variables.
+ (line 6)
* language selection at runtime: gettext grok. (line 14)
* large package: Ambiguities. (line 6)
* LGPL, GNU Lesser General Public License: GNU LGPL. (line 6)
* libiconv library: AM_ICONV. (line 21)
-* libintl for C#: C#. (line 161)
-* libintl for Java: Java. (line 104)
+* libintl for C#: C#. (line 178)
+* libintl for Java: Java. (line 105)
* libintl library: AM_GNU_GETTEXT. (line 53)
* librep Lisp: librep. (line 6)
* librep-format flag: PO Files. (line 129)
@@ -16560,24 +17388,24 @@ General Index
* link with libintl: Overview. (line 62)
* Linux <1>: Header Entry. (line 91)
* Linux <2>: Overview. (line 62)
-* Linux: Aspects. (line 114)
+* Linux: Aspects. (line 125)
* Lisp: Common Lisp. (line 6)
* lisp-format flag: PO Files. (line 121)
-* list of translation teams, where to find: Header Entry. (line 58)
-* locale facet, LC_ALL: Triggering. (line 23)
-* locale facet, LC_COLLATE: Triggering. (line 52)
-* locale facet, LC_CTYPE <1>: Triggering. (line 23)
-* locale facet, LC_CTYPE: Aspects. (line 67)
-* locale facet, LC_MESSAGES <1>: Triggering. (line 52)
-* locale facet, LC_MESSAGES: Aspects. (line 108)
-* locale facet, LC_MONETARY <1>: Triggering. (line 52)
-* locale facet, LC_MONETARY: Aspects. (line 79)
-* locale facet, LC_NUMERIC <1>: Triggering. (line 52)
-* locale facet, LC_NUMERIC: Aspects. (line 94)
-* locale facet, LC_RESPONSES: Triggering. (line 52)
-* locale facet, LC_TIME <1>: Triggering. (line 52)
-* locale facet, LC_TIME: Aspects. (line 84)
-* locale facets: Aspects. (line 61)
+* list of translation teams, where to find: Header Entry. (line 59)
+* locale categories: Aspects. (line 61)
+* locale category, LC_ALL: Triggering. (line 23)
+* locale category, LC_COLLATE: Triggering. (line 53)
+* locale category, LC_CTYPE <1>: Triggering. (line 23)
+* locale category, LC_CTYPE: Aspects. (line 67)
+* locale category, LC_MESSAGES <1>: Triggering. (line 53)
+* locale category, LC_MESSAGES: Aspects. (line 108)
+* locale category, LC_MONETARY <1>: Triggering. (line 53)
+* locale category, LC_MONETARY: Aspects. (line 79)
+* locale category, LC_NUMERIC <1>: Triggering. (line 53)
+* locale category, LC_NUMERIC: Aspects. (line 94)
+* locale category, LC_RESPONSES: Triggering. (line 53)
+* locale category, LC_TIME <1>: Triggering. (line 53)
+* locale category, LC_TIME: Aspects. (line 84)
* locale program: Header Entry. (line 71)
* localization: Concepts. (line 26)
* lookup message translation <1>: eval_gettext Invocation.
@@ -16614,7 +17442,7 @@ General Index
* msgcmp program, usage: msgcmp Invocation. (line 6)
* msgcomm program, usage: msgcomm Invocation. (line 6)
* msgconv program, usage: msgconv Invocation. (line 6)
-* msgctxt: PO Files. (line 189)
+* msgctxt: PO Files. (line 193)
* msgen program, usage: msgen Invocation. (line 6)
* msgexec program, usage: msgexec Invocation. (line 6)
* msgfilter filter and catalog encoding: msgfilter Invocation.
@@ -16624,7 +17452,7 @@ General Index
* msgfmt program, usage: msgfmt Invocation. (line 6)
* msggrep program, usage: msggrep Invocation. (line 6)
* msgid: PO Files. (line 56)
-* msgid_plural: PO Files. (line 209)
+* msgid_plural: PO Files. (line 213)
* msginit program, usage: msginit Invocation. (line 6)
* msgmerge program, usage: msgmerge Invocation. (line 6)
* msgstr: PO Files. (line 56)
@@ -16634,18 +17462,19 @@ General Index
* N_, a convenience macro: Comparison. (line 41)
* Native Language Support: Concepts. (line 51)
* Natural Language Support: Concepts. (line 51)
-* newlines in PO files: PO Files. (line 279)
+* newlines in PO files: PO Files. (line 283)
* ngettext: Plural forms. (line 84)
* ngettext program, usage: ngettext Invocation. (line 6)
* NLS: Concepts. (line 51)
* no-awk-format flag: PO Files. (line 150)
-* no-boost-format flag: PO Files. (line 186)
+* no-boost-format flag: PO Files. (line 190)
* no-c-format flag: PO Files. (line 91)
* no-c-format, and xgettext: c-format Flag. (line 48)
* no-csharp-format flag: PO Files. (line 146)
* no-elisp-format flag: PO Files. (line 126)
* no-gcc-internal-format flag: PO Files. (line 178)
* no-java-format flag: PO Files. (line 142)
+* no-kde-format flag: PO Files. (line 186)
* no-librep-format flag: PO Files. (line 130)
* no-lisp-format flag: PO Files. (line 122)
* no-objc-format flag: PO Files. (line 110)
@@ -16671,7 +17500,7 @@ General Index
* outdigits: c-format. (line 28)
* output to stdout, xgettext: xgettext Invocation. (line 48)
* overview of gettext: Overview. (line 6)
-* package and version declaration in configure.in: configure.in.
+* package and version declaration in configure.ac: configure.ac.
(line 9)
* package build and installation options: Installers. (line 6)
* package distributor's view of gettext: Installers. (line 6)
@@ -16699,7 +17528,7 @@ General Index
* plural form formulas: Plural forms. (line 165)
* plural forms: Plural forms. (line 6)
* plural forms, in MO files: MO Files. (line 66)
-* plural forms, in PO files: PO Files. (line 209)
+* plural forms, in PO files: PO Files. (line 213)
* plural, in a PO file header: Plural forms. (line 145)
* PO files' format: PO Files. (line 6)
* PO mode (Emacs) commands: Main PO Commands. (line 6)
@@ -16726,7 +17555,7 @@ General Index
(line 6)
* Python: Python. (line 6)
* python-format flag: PO Files. (line 117)
-* Qt format strings: xgettext Invocation. (line 240)
+* Qt format strings: xgettext Invocation. (line 244)
* Qt mode, and msgfmt program: msgfmt Invocation. (line 46)
* qt-format flag: PO Files. (line 181)
* quotation marks <1>: po/Rules-*. (line 11)
@@ -16742,10 +17571,12 @@ General Index
* scripting languages: Language Implementors.
(line 6)
* search messages in a catalog: msggrep Invocation. (line 8)
-* selecting message language: End Users. (line 6)
+* selecting message language: Locale Environment Variables.
+ (line 6)
* sentences: Preparing Strings. (line 44)
* setting up gettext at build time: Installers. (line 6)
-* setting up gettext at run time: End Users. (line 6)
+* setting up gettext at run time: Locale Environment Variables.
+ (line 6)
* several domains: Ambiguities. (line 6)
* sex: Introduction. (line 15)
* sh-format flag: PO Files. (line 113)
@@ -16754,10 +17585,10 @@ General Index
* shell scripts: sh. (line 6)
* Smalltalk: Smalltalk. (line 6)
* smalltalk-format flag: PO Files. (line 137)
-* sorting msgcat output: msgcat Invocation. (line 137)
+* sorting msgcat output: msgcat Invocation. (line 146)
* sorting msgmerge output: msgmerge Invocation. (line 171)
* sorting msgunfmt output: msgunfmt Invocation. (line 144)
-* sorting output of xgettext: xgettext Invocation. (line 307)
+* sorting output of xgettext: xgettext Invocation. (line 317)
* specifying plural form in a PO file: Plural forms. (line 145)
* standard output, and msgcat: msgcat Invocation. (line 47)
* standard output, and msgmerge program: msgmerge Invocation. (line 56)
@@ -16770,12 +17601,13 @@ General Index
* Tcl mode, and msgunfmt program: msgunfmt Invocation. (line 26)
* tcl-format flag: PO Files. (line 161)
* template PO file: Overview. (line 67)
-* testing .po files for equivalence: xgettext Invocation. (line 317)
+* testing .po files for equivalence: xgettext Invocation. (line 327)
* Tk's scripting language: Tcl. (line 6)
* translated entries: Translated Entries. (line 6)
* translating menu entries: Contexts. (line 6)
* translation aspects: Aspects. (line 6)
-* Translation Matrix: Matrix. (line 6)
+* Translation Matrix: Installing Localizations.
+ (line 6)
* Translation Project: Why. (line 17)
* turning off NLS support: lib/gettext.h. (line 6)
* tutorial of gettext usage: Overview. (line 6)
@@ -16797,221 +17629,240 @@ General Index

Tag Table:
-Node: Top2955
-Node: Introduction16245
-Node: Why17865
-Ref: Why-Footnote-121075
-Node: Concepts21231
-Node: Aspects24649
-Node: Files30507
-Node: Overview32413
-Node: Users42331
-Node: Matrix43763
-Node: End Users44971
-Node: PO Files45620
-Ref: PO Files-Footnote-156968
-Node: Sources57095
-Node: Importing58248
-Node: Triggering58928
-Node: Preparing Strings61965
-Node: Mark Keywords71005
-Node: Marking75315
-Node: c-format Flag83042
-Node: Special cases86958
-Node: Names89684
-Node: Libraries93282
-Node: Template96314
-Node: xgettext Invocation97035
-Node: Creating111351
-Node: msginit Invocation112233
-Node: Header Entry114859
-Node: Updating121865
-Node: msgmerge Invocation122080
-Node: Editing127232
-Node: KBabel127530
-Node: Gtranslator127668
-Node: PO Mode127810
-Node: Installation129502
-Node: Main PO Commands131463
-Node: Entry Positioning136548
-Node: Normalizing142014
-Node: Translated Entries146505
-Node: Fuzzy Entries147860
-Node: Untranslated Entries151037
-Node: Obsolete Entries152966
-Node: Modifying Translations156188
-Node: Modifying Comments164154
-Node: Subedit168578
-Node: C Sources Context172471
-Node: Auxiliary177592
-Node: Compendium180824
-Node: Creating Compendia181444
-Node: Using Compendia183929
-Node: Manipulating184862
-Node: msgcat Invocation188624
-Node: msgconv Invocation192874
-Node: msggrep Invocation196053
-Node: msgfilter Invocation201234
-Node: msguniq Invocation206858
-Node: msgcomm Invocation210747
-Node: msgcmp Invocation214792
-Node: msgattrib Invocation216804
-Node: msgen Invocation221486
-Node: msgexec Invocation224821
-Node: libgettextpo227402
-Node: Binaries232524
-Node: msgfmt Invocation232868
-Node: msgunfmt Invocation239873
-Node: MO Files244035
-Node: Programmers252276
-Node: catgets253455
-Node: Interface to catgets254866
-Node: Problems with catgets256872
-Node: gettext257784
-Node: Interface to gettext259284
-Node: Ambiguities261641
-Node: Locating Catalogs264345
-Ref: Locating Catalogs-Footnote-1265503
-Ref: Locating Catalogs-Footnote-2265728
-Node: Charset conversion265877
-Node: Contexts268328
-Node: Plural forms273828
-Ref: Plural forms-Footnote-1288024
-Node: Optimized gettext288146
-Node: Comparison289482
-Node: Using libintl.a293749
-Node: gettext grok294189
-Node: Temp Programmers296818
-Node: Temp Implementations297343
-Node: Temp catgets298720
-Node: Temp WSI300418
-Node: Temp Notes302417
-Node: Translators302917
-Node: Trans Intro 0303380
-Node: Trans Intro 1306114
-Node: Discussions308063
-Node: Organization311718
-Node: Central Coordination313784
-Node: National Teams314923
-Node: Sub-Cultures317447
-Node: Organizational Ideas318381
-Node: Mailing Lists319399
-Node: Information Flow321213
-Node: Prioritizing messages323461
-Node: Maintainers327757
-Node: Flat and Non-Flat329710
-Node: Prerequisites331200
-Node: gettextize Invocation335347
-Node: Adjusting Files342311
-Node: po/POTFILES.in344095
-Node: po/LINGUAS345341
-Node: po/Makevars347030
-Node: po/Rules-*347778
-Node: configure.in349246
-Node: config.guess352257
-Node: mkinstalldirs353610
-Node: aclocal354012
-Node: acconfig356009
-Node: config.h.in356506
-Node: Makefile357971
-Node: src/Makefile360565
-Node: lib/gettext.h364952
-Node: autoconf macros367197
-Node: AM_GNU_GETTEXT367974
-Node: AM_GNU_GETTEXT_VERSION371936
-Node: AM_GNU_GETTEXT_NEED372388
-Node: AM_GNU_GETTEXT_INTL_SUBDIR373278
-Node: AM_PO_SUBDIRS373930
-Node: AM_ICONV374712
-Node: CVS Issues376919
-Node: Distributed CVS377507
-Node: Files under CVS379432
-Node: autopoint Invocation382703
-Node: Release Management384543
-Node: Installers385053
-Node: Programming Languages386277
-Node: Language Implementors387100
-Node: Programmers for other Languages391914
-Node: Translators for other Languages392495
-Node: c-format394021
-Node: objc-format395734
-Node: sh-format396086
-Node: python-format396888
-Node: lisp-format397326
-Node: elisp-format397652
-Node: librep-format398142
-Node: scheme-format398542
-Node: smalltalk-format398818
-Node: java-format399318
-Node: csharp-format399766
-Node: awk-format400141
-Node: object-pascal-format400466
-Node: ycp-format400695
-Node: tcl-format401094
-Node: perl-format401389
-Node: php-format402134
-Node: gcc-internal-format402499
-Node: qt-format403541
-Node: boost-format403975
-Node: Maintainers for other Languages404519
-Node: List of Programming Languages405754
-Node: C407037
-Node: sh408337
-Node: Preparing Shell Scripts409611
-Node: gettext.sh413000
-Node: gettext Invocation413547
-Node: ngettext Invocation415302
-Node: envsubst Invocation416890
-Node: eval_gettext Invocation418311
-Node: eval_ngettext Invocation418772
-Node: bash419286
-Node: Python421262
-Node: Common Lisp422412
-Node: clisp C423212
-Node: Emacs Lisp423927
-Node: librep424653
-Node: Scheme425388
-Node: Smalltalk426172
-Node: Java427206
-Node: C#432914
-Node: gawk441331
-Node: Pascal442243
-Node: wxWidgets443551
-Node: YCP444458
-Node: Tcl445197
-Node: Perl446607
-Node: General Problems449615
-Node: Default Keywords453273
-Node: Special Keywords454225
-Node: Quote-like Expressions455738
-Node: Interpolation I458013
-Node: Interpolation II461803
-Node: Parentheses464168
-Node: Long Lines465686
-Node: Perl Pitfalls467531
-Node: PHP471773
-Node: Pike472704
-Node: GCC-source473365
-Node: List of Data Formats474112
-Node: POT474578
-Node: RST474836
-Node: Glade475062
-Node: Conclusion475422
-Node: History475925
-Node: References480191
-Node: Language Codes481835
-Node: Usual Language Codes482347
-Node: Rare Language Codes486718
-Node: Country Codes488375
-Node: Licenses494261
-Node: GNU GPL496103
-Node: GNU LGPL515280
-Node: GNU FDL543413
-Node: Program Index565799
-Node: Option Index567685
-Node: Variable Index613915
-Node: PO Mode Index615453
-Node: Autoconf Macro Index629289
-Node: Index630023
+Node: Top2956
+Node: Introduction17210
+Node: Why18833
+Ref: Why-Footnote-122047
+Node: Concepts22203
+Node: Aspects25624
+Node: Files32158
+Node: Overview34067
+Node: Users44003
+Node: System Installation44914
+Node: Setting the GUI Locale46606
+Node: Setting the POSIX Locale47982
+Node: Locale Names48921
+Node: Locale Environment Variables51326
+Node: The LANGUAGE variable53539
+Node: Installing Localizations55439
+Node: PO Files56794
+Ref: PO Files-Footnote-168222
+Node: Sources68349
+Node: Importing69575
+Node: Triggering70258
+Node: Preparing Strings73458
+Node: Mark Keywords82501
+Node: Marking86814
+Node: c-format Flag94544
+Node: Special cases98463
+Node: Bug Report Address101206
+Node: Names103171
+Node: Libraries106777
+Node: Template109814
+Node: xgettext Invocation110539
+Node: Creating125664
+Node: msginit Invocation126549
+Node: Header Entry129175
+Node: Updating136226
+Node: msgmerge Invocation136441
+Node: Editing141596
+Node: KBabel141954
+Node: Gtranslator142092
+Node: PO Mode142234
+Node: Installation143888
+Node: Main PO Commands145852
+Node: Entry Positioning150940
+Node: Normalizing156408
+Node: Translated Entries160902
+Node: Fuzzy Entries162260
+Node: Untranslated Entries165441
+Node: Obsolete Entries167373
+Node: Modifying Translations170598
+Node: Modifying Comments178567
+Node: Subedit182994
+Node: C Sources Context186890
+Node: Auxiliary192014
+Node: Compendium195230
+Node: Creating Compendia195845
+Node: Using Compendia198329
+Node: Manipulating199269
+Node: msgcat Invocation203097
+Node: msgconv Invocation207623
+Node: msggrep Invocation210802
+Node: msgfilter Invocation216686
+Node: msguniq Invocation222594
+Node: msgcomm Invocation226483
+Node: msgcmp Invocation230528
+Node: msgattrib Invocation232540
+Node: msgen Invocation237225
+Node: msgexec Invocation240560
+Node: Colorizing243139
+Node: The --color option244168
+Node: The TERM variable245800
+Node: The --style option247252
+Node: Style rules248560
+Node: Customizing less255302
+Node: libgettextpo256705
+Node: Binaries261821
+Node: msgfmt Invocation262165
+Node: msgunfmt Invocation269170
+Node: MO Files273332
+Node: Programmers281576
+Node: catgets282758
+Node: Interface to catgets284172
+Node: Problems with catgets286181
+Node: gettext287096
+Node: Interface to gettext288599
+Node: Ambiguities290929
+Node: Locating Catalogs293644
+Ref: Locating Catalogs-Footnote-1294874
+Ref: Locating Catalogs-Footnote-2295100
+Node: Charset conversion295249
+Node: Contexts297703
+Node: Plural forms303209
+Ref: Plural forms-Footnote-1317408
+Node: Optimized gettext317530
+Node: Comparison318869
+Node: Using libintl.a323139
+Node: gettext grok323582
+Node: Temp Programmers326223
+Node: Temp Implementations326751
+Node: Temp catgets328131
+Node: Temp WSI329832
+Node: Temp Notes331834
+Node: Translators332337
+Node: Trans Intro 0332800
+Node: Trans Intro 1335549
+Node: Discussions337513
+Node: Organization341171
+Node: Central Coordination343247
+Node: National Teams344390
+Node: Sub-Cultures346917
+Node: Organizational Ideas347854
+Node: Mailing Lists348875
+Node: Information Flow350698
+Node: Prioritizing messages352949
+Node: Maintainers357248
+Node: Flat and Non-Flat359204
+Node: Prerequisites360697
+Node: gettextize Invocation364854
+Node: Adjusting Files372263
+Node: po/POTFILES.in374050
+Node: po/LINGUAS375299
+Node: po/Makevars376991
+Node: po/Rules-*377933
+Node: configure.ac379404
+Node: config.guess382418
+Node: mkinstalldirs383773
+Node: aclocal384178
+Node: acconfig386162
+Node: config.h.in386662
+Node: Makefile388130
+Node: src/Makefile390727
+Node: lib/gettext.h395117
+Node: autoconf macros397365
+Node: AM_GNU_GETTEXT398207
+Node: AM_GNU_GETTEXT_VERSION402172
+Node: AM_GNU_GETTEXT_NEED402627
+Node: AM_GNU_GETTEXT_INTL_SUBDIR403520
+Node: AM_PO_SUBDIRS404175
+Node: AM_XGETTEXT_OPTION404970
+Node: AM_ICONV405840
+Node: CVS Issues408055
+Node: Distributed CVS408646
+Node: Files under CVS410574
+Node: autopoint Invocation413848
+Node: Release Management415688
+Node: Installers416201
+Node: Programming Languages417428
+Node: Language Implementors418254
+Node: Programmers for other Languages423082
+Node: Translators for other Languages423666
+Node: c-format425246
+Node: objc-format426965
+Node: sh-format427320
+Node: python-format428125
+Node: lisp-format428566
+Node: elisp-format428895
+Node: librep-format429388
+Node: scheme-format429791
+Node: smalltalk-format430070
+Node: java-format430573
+Node: csharp-format431024
+Node: awk-format431402
+Node: object-pascal-format431730
+Node: ycp-format431962
+Node: tcl-format432364
+Node: perl-format432662
+Node: php-format433410
+Node: gcc-internal-format433778
+Node: qt-format434823
+Node: kde-format435258
+Node: boost-format435664
+Node: Maintainers for other Languages436212
+Node: List of Programming Languages437450
+Node: C438733
+Node: sh440033
+Node: Preparing Shell Scripts441307
+Node: gettext.sh444699
+Node: gettext Invocation445249
+Node: ngettext Invocation447004
+Node: envsubst Invocation448592
+Node: eval_gettext Invocation450013
+Node: eval_ngettext Invocation450474
+Node: bash450988
+Node: Python452967
+Node: Common Lisp454117
+Node: clisp C454917
+Node: Emacs Lisp455632
+Node: librep456358
+Node: Scheme457093
+Node: Smalltalk457877
+Node: Java458911
+Node: C#464707
+Node: gawk473933
+Node: Pascal474845
+Node: wxWidgets476153
+Node: YCP477060
+Node: Tcl477799
+Node: Perl479209
+Node: General Problems482217
+Node: Default Keywords485878
+Node: Special Keywords486833
+Node: Quote-like Expressions488349
+Node: Interpolation I490627
+Node: Interpolation II494420
+Node: Parentheses496788
+Node: Long Lines498309
+Node: Perl Pitfalls500157
+Node: PHP504402
+Node: Pike505333
+Node: GCC-source505994
+Node: List of Data Formats506741
+Node: POT507210
+Node: RST507468
+Node: Glade507694
+Node: Conclusion508054
+Node: History508560
+Node: References512830
+Node: Language Codes514477
+Node: Usual Language Codes514992
+Node: Rare Language Codes519366
+Node: Country Codes521026
+Node: Licenses526915
+Node: GNU GPL528760
+Node: GNU LGPL547943
+Node: GNU FDL576082
+Node: Program Index598471
+Node: Option Index600357
+Node: Variable Index647235
+Node: PO Mode Index650142
+Node: Autoconf Macro Index663978
+Node: Index664785

End Tag Table
+
+
+Local Variables:
+coding: utf-8
+End:
diff --git a/gettext-tools/doc/gettext_1.html b/gettext-tools/doc/gettext_1.html
index 227afdf..005e3a8 100644
--- a/gettext-tools/doc/gettext_1.html
+++ b/gettext-tools/doc/gettext_1.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 25 October 2006 -->
+ from gettext.texi on 4 November 2007 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - 1 Introduction</TITLE>
@@ -63,7 +63,7 @@ Please include the manual's edition number and update date in your messages.
<P>
Usually, programs are written and documented in English, and use
English at execution time to interact with users. This is true
-not only of GNU software, but also of a great deal of commercial
+not only of GNU software, but also of a great deal of proprietary
and free software. Using a common language is quite handy for
communication between developers, maintainers and users from all
countries. On the other hand, most people are less comfortable with
@@ -174,7 +174,7 @@ by which the programs are untied from calling only English strings or
other English specific habits, and connected to generic ways of doing
the same, instead. Program developers may use various techniques to
internationalize their programs. Some of these have been standardized.
-GNU <CODE>gettext</CODE> offers one of these standards. See section <A HREF="gettext_11.html#SEC164">11 The Programmer's View</A>.
+GNU <CODE>gettext</CODE> offers one of these standards. See section <A HREF="gettext_11.html#SEC178">11 The Programmer's View</A>.
</P>
<P>
@@ -391,8 +391,22 @@ the user.
<P>
<A NAME="IDX27"></A>
+These areas of cultural conventions are called <EM>locale categories</EM>.
+It is an unfortunate term; <EM>locale aspects</EM> or <EM>locale feature
+categories</EM> would be a better term, because each “locale categoryâ€
+describes an area or task that requires localization. The concrete data
+that describes the cultural conventions for such an area and for a particular
+culture is also called a <EM>locale category</EM>. In this sense, a locale
+is composed of several locale categories: the locale category describing
+the codeset, the locale category describing the formatting of numbers,
+the locale category containing the translated messages, and so on.
+
+</P>
+<P>
+<A NAME="IDX28"></A>
Components of locale outside of message handling are standardized in
-the ISO C standard and the SUSV2 specification. GNU <CODE>libc</CODE>
+the ISO C standard and the POSIX:2001 standard (also known as the SUSV3
+specification). GNU <CODE>libc</CODE>
fully implements this, and most other modern systems provide a more
or less reasonable support for at least some of the missing components.
@@ -402,7 +416,7 @@ or less reasonable support for at least some of the missing components.
<H2><A NAME="SEC5" HREF="gettext_toc.html#TOC5">1.4 Files Conveying Translations</A></H2>
<P>
-<A NAME="IDX28"></A>
+<A NAME="IDX29"></A>
The letters PO in <TT>&lsquo;.po&rsquo;</TT> files means Portable Object, to
distinguish it from <TT>&lsquo;.mo&rsquo;</TT> files, where MO stands for Machine
Object. This paradigm, as well as the PO file format, is inspired
@@ -444,9 +458,9 @@ the GNU format.
<H2><A NAME="SEC6" HREF="gettext_toc.html#TOC6">1.5 Overview of GNU <CODE>gettext</CODE></A></H2>
<P>
-<A NAME="IDX29"></A>
<A NAME="IDX30"></A>
<A NAME="IDX31"></A>
+<A NAME="IDX32"></A>
The following diagram summarizes the relation between the files
handled by GNU <CODE>gettext</CODE> and the tools acting on these files.
It is followed by somewhat detailed explanations, which you should
@@ -455,8 +469,7 @@ of these interrelations will surely help programmers, translators
and maintainers.
</P>
-
-<PRE>
+@example
@group
Original C Sources ───> Preparation ───> Marked C Sources ───╮
│
@@ -479,17 +492,17 @@ Original C Sources ───> Preparation ───> Marked C Sources ───â
│ ├───> "Hello world!"
╰───────> install ───> /.../bin/PROGRAM ───────╯
@end group
-</PRE>
+@end example
<P>
-<A NAME="IDX32"></A>
+<A NAME="IDX33"></A>
As a programmer, the first step to bringing GNU <CODE>gettext</CODE>
into your package is identifying, right in the C sources, those strings
which are meant to be translatable, and those which are untranslatable.
This tedious job can be done a little more comfortably using emacs PO
mode, but you can use any means familiar to you for modifying your
C sources. Beside this some other simple, standard changes are needed to
-properly initialize the translation library. See section <A HREF="gettext_4.html#SEC11">4 Preparing Program Sources</A>, for
+properly initialize the translation library. See section <A HREF="gettext_4.html#SEC16">4 Preparing Program Sources</A>, for
more information about all this.
</P>
@@ -515,7 +528,7 @@ simply replace these definitions by the following:
</P>
<P>
-<A NAME="IDX33"></A>
+<A NAME="IDX34"></A>
<PRE>
#include &#60;libintl.h&#62;
@@ -525,8 +538,8 @@ simply replace these definitions by the following:
</PRE>
<P>
-<A NAME="IDX34"></A>
<A NAME="IDX35"></A>
+<A NAME="IDX36"></A>
and link against <TT>&lsquo;libintl.a&rsquo;</TT> or <TT>&lsquo;libintl.so&rsquo;</TT>. Note that on
GNU systems, you don't need to link with <CODE>libintl</CODE> because the
<CODE>gettext</CODE> library functions are already contained in GNU libc.
@@ -534,8 +547,8 @@ That is all you have to change.
</P>
<P>
-<A NAME="IDX36"></A>
<A NAME="IDX37"></A>
+<A NAME="IDX38"></A>
Once the C sources have been modified, the <CODE>xgettext</CODE> program
is used to find and extract all translatable strings, and create a
PO template file out of all these. This <TT>&lsquo;<VAR>package</VAR>.pot&rsquo;</TT> file
@@ -543,10 +556,10 @@ contains all original program strings. It has sets of pointers to
exactly where in C sources each string is used. All translations
are set to empty. The letter <CODE>t</CODE> in <TT>&lsquo;.pot&rsquo;</TT> marks this as
a Template PO file, not yet oriented towards any particular language.
-See section <A HREF="gettext_5.html#SEC22">5.1 Invoking the <CODE>xgettext</CODE> Program</A>, for more details about how one calls the
+See section <A HREF="gettext_5.html#SEC28">5.1 Invoking the <CODE>xgettext</CODE> Program</A>, for more details about how one calls the
<CODE>xgettext</CODE> program. If you are <EM>really</EM> lazy, you might
be interested at working a lot more right away, and preparing the
-whole distribution setup (see section <A HREF="gettext_13.html#SEC196">13 The Maintainer's View</A>). By doing so, you
+whole distribution setup (see section <A HREF="gettext_13.html#SEC210">13 The Maintainer's View</A>). By doing so, you
spare yourself typing the <CODE>xgettext</CODE> command, as <CODE>make</CODE>
should now generate the proper things automatically for you!
@@ -555,7 +568,7 @@ should now generate the proper things automatically for you!
The first time through, there is no <TT>&lsquo;<VAR>lang</VAR>.po&rsquo;</TT> yet, so the
<CODE>msgmerge</CODE> step may be skipped and replaced by a mere copy of
<TT>&lsquo;<VAR>package</VAR>.pot&rsquo;</TT> to <TT>&lsquo;<VAR>lang</VAR>.po&rsquo;</TT>, where <VAR>lang</VAR>
-represents the target language. See section <A HREF="gettext_6.html#SEC31">6 Creating a New PO File</A> for details.
+represents the target language. See section <A HREF="gettext_6.html#SEC37">6 Creating a New PO File</A> for details.
</P>
<P>
@@ -563,7 +576,7 @@ Then comes the initial translation of messages. Translation in
itself is a whole matter, still exclusively meant for humans,
and whose complexity far overwhelms the level of this manual.
Nevertheless, a few hints are given in some other chapter of this
-manual (see section <A HREF="gettext_12.html#SEC184">12 The Translator's View</A>). You will also find there indications
+manual (see section <A HREF="gettext_12.html#SEC198">12 The Translator's View</A>). You will also find there indications
about how to contact translating teams, or becoming part of them,
for sharing your translating concerns with others who target the same
native language.
@@ -572,9 +585,9 @@ native language.
<P>
While adding the translated messages into the <TT>&lsquo;<VAR>lang</VAR>.po&rsquo;</TT>
PO file, if you are not using one of the dedicated PO file editors
-(see section <A HREF="gettext_8.html#SEC49">8 Editing PO Files</A>), you are on your own
+(see section <A HREF="gettext_8.html#SEC55">8 Editing PO Files</A>), you are on your own
for ensuring that your efforts fully respect the PO file format, and quoting
-conventions (see section <A HREF="gettext_3.html#SEC10">3 The Format of PO Files</A>). This is surely not an impossible task,
+conventions (see section <A HREF="gettext_3.html#SEC15">3 The Format of PO Files</A>). This is surely not an impossible task,
as this is the way many people have handled PO files around 1995.
On the other hand, by using a PO file editor, most details
of PO file format are taken care of for you, but you have to acquire
@@ -585,7 +598,7 @@ some familiarity with PO file editor itself.
If some common translations have already been saved into a compendium
PO file, translators may use PO mode for initializing untranslated
entries from the compendium, and also save selected translations into
-the compendium, updating it (see section <A HREF="gettext_8.html#SEC66">8.3.14 Using Translation Compendia</A>). Compendium files
+the compendium, updating it (see section <A HREF="gettext_8.html#SEC72">8.4 Using Translation Compendia</A>). Compendium files
are meant to be exchanged between members of a given translation team.
</P>
@@ -613,7 +626,7 @@ are slowly fading out of date.
</P>
<P>
-<A NAME="IDX38"></A>
+<A NAME="IDX39"></A>
It is important for translators (and even maintainers) to understand
that package translation is a continuous process in the lifetime of a
package, and not something which is done once and for all at the start.
@@ -631,8 +644,8 @@ out of recent C sources. The refreshing operation adjusts all
references to C source locations for strings, since these strings
move as programs are modified. Also, <CODE>msgmerge</CODE> comments out as
obsolete, in <TT>&lsquo;<VAR>lang</VAR>.po&rsquo;</TT>, those already translated entries
-which are no longer used in the program sources (see section <A HREF="gettext_8.html#SEC60">8.3.8 Obsolete Entries</A>). It finally discovers new strings and inserts them in
-the resulting PO file as untranslated entries (see section <A HREF="gettext_8.html#SEC59">8.3.7 Untranslated Entries</A>). See section <A HREF="gettext_7.html#SEC40">7.1 Invoking the <CODE>msgmerge</CODE> Program</A>, for more information about what
+which are no longer used in the program sources (see section <A HREF="gettext_8.html#SEC66">8.3.8 Obsolete Entries</A>). It finally discovers new strings and inserts them in
+the resulting PO file as untranslated entries (see section <A HREF="gettext_8.html#SEC65">8.3.7 Untranslated Entries</A>). See section <A HREF="gettext_7.html#SEC46">7.1 Invoking the <CODE>msgmerge</CODE> Program</A>, for more information about what
<CODE>msgmerge</CODE> really does.
</P>
@@ -662,7 +675,7 @@ distribution.
Once the PO file is complete and dependable, the <CODE>msgfmt</CODE> program
is used for turning the PO file into a machine-oriented format, which
may yield efficient retrieval of translations by the programs of the
-package, whenever needed at runtime (see section <A HREF="gettext_10.html#SEC163">10.3 The Format of GNU MO Files</A>). See section <A HREF="gettext_10.html#SEC143">10.1 Invoking the <CODE>msgfmt</CODE> Program</A>, for more information about all modes of execution
+package, whenever needed at runtime (see section <A HREF="gettext_10.html#SEC177">10.3 The Format of GNU MO Files</A>). See section <A HREF="gettext_10.html#SEC157">10.1 Invoking the <CODE>msgfmt</CODE> Program</A>, for more information about all modes of execution
for the <CODE>msgfmt</CODE> program.
</P>
@@ -672,8 +685,8 @@ with the GNU <CODE>gettext</CODE> library, usually through the operation of
<CODE>make</CODE>, given a suitable <TT>&lsquo;Makefile&rsquo;</TT> exists for the project,
and the resulting executable is installed somewhere users will find it.
The MO files themselves should also be properly installed. Given the
-appropriate environment variables are set (see section <A HREF="gettext_2.html#SEC9">2.2 Magic for End Users</A>), the
-program should localize itself automatically, whenever it executes.
+appropriate environment variables are set (see section <A HREF="gettext_2.html#SEC10">2.3 Setting the Locale through Environment Variables</A>),
+the program should localize itself automatically, whenever it executes.
</P>
<P>
diff --git a/gettext-tools/doc/gettext_10.html b/gettext-tools/doc/gettext_10.html
index 58290c8..e05e61c 100644
--- a/gettext-tools/doc/gettext_10.html
+++ b/gettext-tools/doc/gettext_10.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 25 October 2006 -->
+ from gettext.texi on 4 November 2007 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - 10 Producing Binary MO Files</TITLE>
@@ -11,29 +11,29 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_9.html">previous<
<P><HR><P>
-<H1><A NAME="SEC142" HREF="gettext_toc.html#TOC142">10 Producing Binary MO Files</A></H1>
+<H1><A NAME="SEC156" HREF="gettext_toc.html#TOC156">10 Producing Binary MO Files</A></H1>
-<H2><A NAME="SEC143" HREF="gettext_toc.html#TOC143">10.1 Invoking the <CODE>msgfmt</CODE> Program</A></H2>
+<H2><A NAME="SEC157" HREF="gettext_toc.html#TOC157">10.1 Invoking the <CODE>msgfmt</CODE> Program</A></H2>
<P>
-<A NAME="IDX893"></A>
-<A NAME="IDX894"></A>
+<A NAME="IDX914"></A>
+<A NAME="IDX915"></A>
<PRE>
msgfmt [<VAR>option</VAR>] <VAR>filename</VAR>.po ...
</PRE>
<P>
-<A NAME="IDX895"></A>
+<A NAME="IDX916"></A>
The <CODE>msgfmt</CODE> programs generates a binary message catalog from a textual
translation description.
</P>
-<H3><A NAME="SEC144" HREF="gettext_toc.html#TOC144">10.1.1 Input file location</A></H3>
+<H3><A NAME="SEC158" HREF="gettext_toc.html#TOC158">10.1.1 Input file location</A></H3>
<DL COMPACT>
@@ -43,8 +43,8 @@ translation description.
<DD>
<DT><SAMP>&lsquo;--directory=<VAR>directory</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX896"></A>
-<A NAME="IDX897"></A>
+<A NAME="IDX917"></A>
+<A NAME="IDX918"></A>
Add <VAR>directory</VAR> to the list of directories. Source files are
searched relative to this list of directories. The resulting <TT>&lsquo;.po&rsquo;</TT>
file will be written relative to the current directory, though.
@@ -57,7 +57,7 @@ If an input file is <SAMP>&lsquo;-&rsquo;</SAMP>, standard input is read.
</P>
-<H3><A NAME="SEC145" HREF="gettext_toc.html#TOC145">10.1.2 Operation mode</A></H3>
+<H3><A NAME="SEC159" HREF="gettext_toc.html#TOC159">10.1.2 Operation mode</A></H3>
<DL COMPACT>
@@ -65,46 +65,46 @@ If an input file is <SAMP>&lsquo;-&rsquo;</SAMP>, standard input is read.
<DD>
<DT><SAMP>&lsquo;--java&rsquo;</SAMP>
<DD>
-<A NAME="IDX898"></A>
-<A NAME="IDX899"></A>
-<A NAME="IDX900"></A>
+<A NAME="IDX919"></A>
+<A NAME="IDX920"></A>
+<A NAME="IDX921"></A>
Java mode: generate a Java <CODE>ResourceBundle</CODE> class.
<DT><SAMP>&lsquo;--java2&rsquo;</SAMP>
<DD>
-<A NAME="IDX901"></A>
+<A NAME="IDX922"></A>
Like --java, and assume Java2 (JDK 1.2 or higher).
<DT><SAMP>&lsquo;--csharp&rsquo;</SAMP>
<DD>
-<A NAME="IDX902"></A>
-<A NAME="IDX903"></A>
+<A NAME="IDX923"></A>
+<A NAME="IDX924"></A>
C# mode: generate a .NET .dll file containing a subclass of
<CODE>GettextResourceSet</CODE>.
<DT><SAMP>&lsquo;--csharp-resources&rsquo;</SAMP>
<DD>
-<A NAME="IDX904"></A>
-<A NAME="IDX905"></A>
+<A NAME="IDX925"></A>
+<A NAME="IDX926"></A>
C# resources mode: generate a .NET <TT>&lsquo;.resources&rsquo;</TT> file.
<DT><SAMP>&lsquo;--tcl&rsquo;</SAMP>
<DD>
-<A NAME="IDX906"></A>
-<A NAME="IDX907"></A>
+<A NAME="IDX927"></A>
+<A NAME="IDX928"></A>
Tcl mode: generate a tcl/msgcat <TT>&lsquo;.msg&rsquo;</TT> file.
<DT><SAMP>&lsquo;--qt&rsquo;</SAMP>
<DD>
-<A NAME="IDX908"></A>
-<A NAME="IDX909"></A>
+<A NAME="IDX929"></A>
+<A NAME="IDX930"></A>
Qt mode: generate a Qt <TT>&lsquo;.qm&rsquo;</TT> file.
</DL>
-<H3><A NAME="SEC146" HREF="gettext_toc.html#TOC146">10.1.3 Output file location</A></H3>
+<H3><A NAME="SEC160" HREF="gettext_toc.html#TOC160">10.1.3 Output file location</A></H3>
<DL COMPACT>
@@ -112,13 +112,13 @@ Qt mode: generate a Qt <TT>&lsquo;.qm&rsquo;</TT> file.
<DD>
<DT><SAMP>&lsquo;--output-file=<VAR>file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX910"></A>
-<A NAME="IDX911"></A>
+<A NAME="IDX931"></A>
+<A NAME="IDX932"></A>
Write output to specified file.
<DT><SAMP>&lsquo;--strict&rsquo;</SAMP>
<DD>
-<A NAME="IDX912"></A>
+<A NAME="IDX933"></A>
Direct the program to work strictly following the Uniforum/Sun
implementation. Currently this only affects the naming of the output
file. If this option is not given the name of the output file is the
@@ -137,7 +137,7 @@ If the output <VAR>file</VAR> is <SAMP>&lsquo;-&rsquo;</SAMP>, output is written
</P>
-<H3><A NAME="SEC147" HREF="gettext_toc.html#TOC147">10.1.4 Output file location in Java mode</A></H3>
+<H3><A NAME="SEC161" HREF="gettext_toc.html#TOC161">10.1.4 Output file location in Java mode</A></H3>
<DL COMPACT>
@@ -145,22 +145,22 @@ If the output <VAR>file</VAR> is <SAMP>&lsquo;-&rsquo;</SAMP>, output is written
<DD>
<DT><SAMP>&lsquo;--resource=<VAR>resource</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX913"></A>
-<A NAME="IDX914"></A>
+<A NAME="IDX934"></A>
+<A NAME="IDX935"></A>
Specify the resource name.
<DT><SAMP>&lsquo;-l <VAR>locale</VAR>&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--locale=<VAR>locale</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX915"></A>
-<A NAME="IDX916"></A>
+<A NAME="IDX936"></A>
+<A NAME="IDX937"></A>
Specify the locale name, either a language specification of the form <VAR>ll</VAR>
or a combined language and country specification of the form <VAR>ll_CC</VAR>.
<DT><SAMP>&lsquo;-d <VAR>directory</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX917"></A>
+<A NAME="IDX938"></A>
Specify the base directory of classes directory hierarchy.
</DL>
@@ -173,7 +173,7 @@ is written under the specified directory.
</P>
-<H3><A NAME="SEC148" HREF="gettext_toc.html#TOC148">10.1.5 Output file location in C# mode</A></H3>
+<H3><A NAME="SEC162" HREF="gettext_toc.html#TOC162">10.1.5 Output file location in C# mode</A></H3>
<DL COMPACT>
@@ -181,22 +181,22 @@ is written under the specified directory.
<DD>
<DT><SAMP>&lsquo;--resource=<VAR>resource</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX918"></A>
-<A NAME="IDX919"></A>
+<A NAME="IDX939"></A>
+<A NAME="IDX940"></A>
Specify the resource name.
<DT><SAMP>&lsquo;-l <VAR>locale</VAR>&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--locale=<VAR>locale</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX920"></A>
-<A NAME="IDX921"></A>
+<A NAME="IDX941"></A>
+<A NAME="IDX942"></A>
Specify the locale name, either a language specification of the form <VAR>ll</VAR>
or a combined language and country specification of the form <VAR>ll_CC</VAR>.
<DT><SAMP>&lsquo;-d <VAR>directory</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX922"></A>
+<A NAME="IDX943"></A>
Specify the base directory for locale dependent <TT>&lsquo;.dll&rsquo;</TT> files.
</DL>
@@ -209,7 +209,7 @@ locale.
</P>
-<H3><A NAME="SEC149" HREF="gettext_toc.html#TOC149">10.1.6 Output file location in Tcl mode</A></H3>
+<H3><A NAME="SEC163" HREF="gettext_toc.html#TOC163">10.1.6 Output file location in Tcl mode</A></H3>
<DL COMPACT>
@@ -217,14 +217,14 @@ locale.
<DD>
<DT><SAMP>&lsquo;--locale=<VAR>locale</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX923"></A>
-<A NAME="IDX924"></A>
+<A NAME="IDX944"></A>
+<A NAME="IDX945"></A>
Specify the locale name, either a language specification of the form <VAR>ll</VAR>
or a combined language and country specification of the form <VAR>ll_CC</VAR>.
<DT><SAMP>&lsquo;-d <VAR>directory</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX925"></A>
+<A NAME="IDX946"></A>
Specify the base directory of <TT>&lsquo;.msg&rsquo;</TT> message catalogs.
</DL>
@@ -236,7 +236,7 @@ written in the specified directory.
</P>
-<H3><A NAME="SEC150" HREF="gettext_toc.html#TOC150">10.1.7 Input file syntax</A></H3>
+<H3><A NAME="SEC164" HREF="gettext_toc.html#TOC164">10.1.7 Input file syntax</A></H3>
<DL COMPACT>
@@ -244,14 +244,14 @@ written in the specified directory.
<DD>
<DT><SAMP>&lsquo;--properties-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX926"></A>
-<A NAME="IDX927"></A>
+<A NAME="IDX947"></A>
+<A NAME="IDX948"></A>
Assume the input files are Java ResourceBundles in Java <CODE>.properties</CODE>
syntax, not in PO file syntax.
<DT><SAMP>&lsquo;--stringtable-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX928"></A>
+<A NAME="IDX949"></A>
Assume the input files are NeXTstep/GNUstep localized resource files in
<CODE>.strings</CODE> syntax, not in PO file syntax.
@@ -259,7 +259,7 @@ Assume the input files are NeXTstep/GNUstep localized resource files in
-<H3><A NAME="SEC151" HREF="gettext_toc.html#TOC151">10.1.8 Input file interpretation</A></H3>
+<H3><A NAME="SEC165" HREF="gettext_toc.html#TOC165">10.1.8 Input file interpretation</A></H3>
<DL COMPACT>
@@ -267,15 +267,15 @@ Assume the input files are NeXTstep/GNUstep localized resource files in
<DD>
<DT><SAMP>&lsquo;--check&rsquo;</SAMP>
<DD>
-<A NAME="IDX929"></A>
-<A NAME="IDX930"></A>
+<A NAME="IDX950"></A>
+<A NAME="IDX951"></A>
Perform all the checks implied by <CODE>--check-format</CODE>, <CODE>--check-header</CODE>,
<CODE>--check-domain</CODE>.
<DT><SAMP>&lsquo;--check-format&rsquo;</SAMP>
<DD>
-<A NAME="IDX931"></A>
-<A NAME="IDX932"></A>
+<A NAME="IDX952"></A>
+<A NAME="IDX953"></A>
Check language dependent format strings.
If the string represents a format string used in a
@@ -294,19 +294,19 @@ used in a <CODE>printf</CODE>-like function and so <CODE>msgfmt</CODE> might rep
errors where there are none.
To solve this problem the programmer can dictate the decision to the
-<CODE>xgettext</CODE> program (see section <A HREF="gettext_15.html#SEC233">15.3.1 C Format Strings</A>). The translator should not
+<CODE>xgettext</CODE> program (see section <A HREF="gettext_15.html#SEC248">15.3.1 C Format Strings</A>). The translator should not
consider removing the flag from the <KBD>#,</KBD> line. This "fix" would be
reversed again as soon as <CODE>msgmerge</CODE> is called the next time.
<DT><SAMP>&lsquo;--check-header&rsquo;</SAMP>
<DD>
-<A NAME="IDX933"></A>
-Verify presence and contents of the header entry. See section <A HREF="gettext_6.html#SEC38">6.2 Filling in the Header Entry</A>,
+<A NAME="IDX954"></A>
+Verify presence and contents of the header entry. See section <A HREF="gettext_6.html#SEC44">6.2 Filling in the Header Entry</A>,
for a description of the various fields in the header entry.
<DT><SAMP>&lsquo;--check-domain&rsquo;</SAMP>
<DD>
-<A NAME="IDX934"></A>
+<A NAME="IDX955"></A>
Check for conflicts between domain directives and the <CODE>--output-file</CODE>
option
@@ -314,18 +314,18 @@ option
<DD>
<DT><SAMP>&lsquo;--check-compatibility&rsquo;</SAMP>
<DD>
-<A NAME="IDX935"></A>
-<A NAME="IDX936"></A>
-<A NAME="IDX937"></A>
+<A NAME="IDX956"></A>
+<A NAME="IDX957"></A>
+<A NAME="IDX958"></A>
Check that GNU msgfmt behaves like X/Open msgfmt. This will give an error
when attempting to use the GNU extensions.
<DT><SAMP>&lsquo;--check-accelerators[=<VAR>char</VAR>]&rsquo;</SAMP>
<DD>
-<A NAME="IDX938"></A>
-<A NAME="IDX939"></A>
-<A NAME="IDX940"></A>
-<A NAME="IDX941"></A>
+<A NAME="IDX959"></A>
+<A NAME="IDX960"></A>
+<A NAME="IDX961"></A>
+<A NAME="IDX962"></A>
Check presence of keyboard accelerators for menu items. This is based on
the convention used in some GUIs that a keyboard accelerator in a menu
item string is designated by an immediately preceding <SAMP>&lsquo;&#38;&rsquo;</SAMP> character.
@@ -340,9 +340,9 @@ instead of <SAMP>&lsquo;&#38;&rsquo;</SAMP>.
<DD>
<DT><SAMP>&lsquo;--use-fuzzy&rsquo;</SAMP>
<DD>
-<A NAME="IDX942"></A>
-<A NAME="IDX943"></A>
-<A NAME="IDX944"></A>
+<A NAME="IDX963"></A>
+<A NAME="IDX964"></A>
+<A NAME="IDX965"></A>
Use fuzzy entries in output. Note that using this option is usually wrong,
because fuzzy messages are exactly those which have not been validated by
a human translator.
@@ -351,7 +351,7 @@ a human translator.
-<H3><A NAME="SEC152" HREF="gettext_toc.html#TOC152">10.1.9 Output details</A></H3>
+<H3><A NAME="SEC166" HREF="gettext_toc.html#TOC166">10.1.9 Output details</A></H3>
<DL COMPACT>
@@ -359,13 +359,13 @@ a human translator.
<DD>
<DT><SAMP>&lsquo;--alignment=<VAR>number</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX945"></A>
-<A NAME="IDX946"></A>
+<A NAME="IDX966"></A>
+<A NAME="IDX967"></A>
Align strings to <VAR>number</VAR> bytes (default: 1).
<DT><SAMP>&lsquo;--no-hash&rsquo;</SAMP>
<DD>
-<A NAME="IDX947"></A>
+<A NAME="IDX968"></A>
Don't include a hash table in the binary file. Lookup will be more expensive
at run time (binary search instead of hash table lookup).
@@ -373,7 +373,7 @@ at run time (binary search instead of hash table lookup).
-<H3><A NAME="SEC153" HREF="gettext_toc.html#TOC153">10.1.10 Informative output</A></H3>
+<H3><A NAME="SEC167" HREF="gettext_toc.html#TOC167">10.1.10 Informative output</A></H3>
<DL COMPACT>
@@ -381,54 +381,54 @@ at run time (binary search instead of hash table lookup).
<DD>
<DT><SAMP>&lsquo;--help&rsquo;</SAMP>
<DD>
-<A NAME="IDX948"></A>
-<A NAME="IDX949"></A>
+<A NAME="IDX969"></A>
+<A NAME="IDX970"></A>
Display this help and exit.
<DT><SAMP>&lsquo;-V&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--version&rsquo;</SAMP>
<DD>
-<A NAME="IDX950"></A>
-<A NAME="IDX951"></A>
+<A NAME="IDX971"></A>
+<A NAME="IDX972"></A>
Output version information and exit.
<DT><SAMP>&lsquo;--statistics&rsquo;</SAMP>
<DD>
-<A NAME="IDX952"></A>
+<A NAME="IDX973"></A>
Print statistics about translations.
<DT><SAMP>&lsquo;-v&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--verbose&rsquo;</SAMP>
<DD>
-<A NAME="IDX953"></A>
-<A NAME="IDX954"></A>
+<A NAME="IDX974"></A>
+<A NAME="IDX975"></A>
Increase verbosity level.
</DL>
-<H2><A NAME="SEC154" HREF="gettext_toc.html#TOC154">10.2 Invoking the <CODE>msgunfmt</CODE> Program</A></H2>
+<H2><A NAME="SEC168" HREF="gettext_toc.html#TOC168">10.2 Invoking the <CODE>msgunfmt</CODE> Program</A></H2>
<P>
-<A NAME="IDX955"></A>
-<A NAME="IDX956"></A>
+<A NAME="IDX976"></A>
+<A NAME="IDX977"></A>
<PRE>
msgunfmt [<VAR>option</VAR>] [<VAR>file</VAR>]...
</PRE>
<P>
-<A NAME="IDX957"></A>
+<A NAME="IDX978"></A>
The <CODE>msgunfmt</CODE> program converts a binary message catalog to a
Uniforum style .po file.
</P>
-<H3><A NAME="SEC155" HREF="gettext_toc.html#TOC155">10.2.1 Operation mode</A></H3>
+<H3><A NAME="SEC169" HREF="gettext_toc.html#TOC169">10.2.1 Operation mode</A></H3>
<DL COMPACT>
@@ -436,35 +436,35 @@ Uniforum style .po file.
<DD>
<DT><SAMP>&lsquo;--java&rsquo;</SAMP>
<DD>
-<A NAME="IDX958"></A>
-<A NAME="IDX959"></A>
-<A NAME="IDX960"></A>
+<A NAME="IDX979"></A>
+<A NAME="IDX980"></A>
+<A NAME="IDX981"></A>
Java mode: input is a Java <CODE>ResourceBundle</CODE> class.
<DT><SAMP>&lsquo;--csharp&rsquo;</SAMP>
<DD>
-<A NAME="IDX961"></A>
-<A NAME="IDX962"></A>
+<A NAME="IDX982"></A>
+<A NAME="IDX983"></A>
C# mode: input is a .NET .dll file containing a subclass of
<CODE>GettextResourceSet</CODE>.
<DT><SAMP>&lsquo;--csharp-resources&rsquo;</SAMP>
<DD>
-<A NAME="IDX963"></A>
-<A NAME="IDX964"></A>
+<A NAME="IDX984"></A>
+<A NAME="IDX985"></A>
C# resources mode: input is a .NET <TT>&lsquo;.resources&rsquo;</TT> file.
<DT><SAMP>&lsquo;--tcl&rsquo;</SAMP>
<DD>
-<A NAME="IDX965"></A>
-<A NAME="IDX966"></A>
+<A NAME="IDX986"></A>
+<A NAME="IDX987"></A>
Tcl mode: input is a tcl/msgcat <TT>&lsquo;.msg&rsquo;</TT> file.
</DL>
-<H3><A NAME="SEC156" HREF="gettext_toc.html#TOC156">10.2.2 Input file location</A></H3>
+<H3><A NAME="SEC170" HREF="gettext_toc.html#TOC170">10.2.2 Input file location</A></H3>
<DL COMPACT>
@@ -480,7 +480,7 @@ If no input <VAR>file</VAR> is given or if it is <SAMP>&lsquo;-&rsquo;</SAMP>, s
</P>
-<H3><A NAME="SEC157" HREF="gettext_toc.html#TOC157">10.2.3 Input file location in Java mode</A></H3>
+<H3><A NAME="SEC171" HREF="gettext_toc.html#TOC171">10.2.3 Input file location in Java mode</A></H3>
<DL COMPACT>
@@ -488,16 +488,16 @@ If no input <VAR>file</VAR> is given or if it is <SAMP>&lsquo;-&rsquo;</SAMP>, s
<DD>
<DT><SAMP>&lsquo;--resource=<VAR>resource</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX967"></A>
-<A NAME="IDX968"></A>
+<A NAME="IDX988"></A>
+<A NAME="IDX989"></A>
Specify the resource name.
<DT><SAMP>&lsquo;-l <VAR>locale</VAR>&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--locale=<VAR>locale</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX969"></A>
-<A NAME="IDX970"></A>
+<A NAME="IDX990"></A>
+<A NAME="IDX991"></A>
Specify the locale name, either a language specification of the form <VAR>ll</VAR>
or a combined language and country specification of the form <VAR>ll_CC</VAR>.
@@ -510,7 +510,7 @@ separated with an underscore. The class is located using the <CODE>CLASSPATH</C
</P>
-<H3><A NAME="SEC158" HREF="gettext_toc.html#TOC158">10.2.4 Input file location in C# mode</A></H3>
+<H3><A NAME="SEC172" HREF="gettext_toc.html#TOC172">10.2.4 Input file location in C# mode</A></H3>
<DL COMPACT>
@@ -518,22 +518,22 @@ separated with an underscore. The class is located using the <CODE>CLASSPATH</C
<DD>
<DT><SAMP>&lsquo;--resource=<VAR>resource</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX971"></A>
-<A NAME="IDX972"></A>
+<A NAME="IDX992"></A>
+<A NAME="IDX993"></A>
Specify the resource name.
<DT><SAMP>&lsquo;-l <VAR>locale</VAR>&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--locale=<VAR>locale</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX973"></A>
-<A NAME="IDX974"></A>
+<A NAME="IDX994"></A>
+<A NAME="IDX995"></A>
Specify the locale name, either a language specification of the form <VAR>ll</VAR>
or a combined language and country specification of the form <VAR>ll_CC</VAR>.
<DT><SAMP>&lsquo;-d <VAR>directory</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX975"></A>
+<A NAME="IDX996"></A>
Specify the base directory for locale dependent <TT>&lsquo;.dll&rsquo;</TT> files.
</DL>
@@ -546,7 +546,7 @@ locale.
</P>
-<H3><A NAME="SEC159" HREF="gettext_toc.html#TOC159">10.2.5 Input file location in Tcl mode</A></H3>
+<H3><A NAME="SEC173" HREF="gettext_toc.html#TOC173">10.2.5 Input file location in Tcl mode</A></H3>
<DL COMPACT>
@@ -554,14 +554,14 @@ locale.
<DD>
<DT><SAMP>&lsquo;--locale=<VAR>locale</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX976"></A>
-<A NAME="IDX977"></A>
+<A NAME="IDX997"></A>
+<A NAME="IDX998"></A>
Specify the locale name, either a language specification of the form <VAR>ll</VAR>
or a combined language and country specification of the form <VAR>ll_CC</VAR>.
<DT><SAMP>&lsquo;-d <VAR>directory</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX978"></A>
+<A NAME="IDX999"></A>
Specify the base directory of <TT>&lsquo;.msg&rsquo;</TT> message catalogs.
</DL>
@@ -573,7 +573,7 @@ located in the specified directory.
</P>
-<H3><A NAME="SEC160" HREF="gettext_toc.html#TOC160">10.2.6 Output file location</A></H3>
+<H3><A NAME="SEC174" HREF="gettext_toc.html#TOC174">10.2.6 Output file location</A></H3>
<DL COMPACT>
@@ -581,8 +581,8 @@ located in the specified directory.
<DD>
<DT><SAMP>&lsquo;--output-file=<VAR>file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX979"></A>
-<A NAME="IDX980"></A>
+<A NAME="IDX1000"></A>
+<A NAME="IDX1001"></A>
Write output to specified file.
</DL>
@@ -594,26 +594,26 @@ or if it is <SAMP>&lsquo;-&rsquo;</SAMP>.
</P>
-<H3><A NAME="SEC161" HREF="gettext_toc.html#TOC161">10.2.7 Output details</A></H3>
+<H3><A NAME="SEC175" HREF="gettext_toc.html#TOC175">10.2.7 Output details</A></H3>
<DL COMPACT>
<DT><SAMP>&lsquo;--force-po&rsquo;</SAMP>
<DD>
-<A NAME="IDX981"></A>
+<A NAME="IDX1002"></A>
Always write an output file even if it contains no message.
<DT><SAMP>&lsquo;-i&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--indent&rsquo;</SAMP>
<DD>
-<A NAME="IDX982"></A>
-<A NAME="IDX983"></A>
+<A NAME="IDX1003"></A>
+<A NAME="IDX1004"></A>
Write the .po file using indented style.
<DT><SAMP>&lsquo;--strict&rsquo;</SAMP>
<DD>
-<A NAME="IDX984"></A>
+<A NAME="IDX1005"></A>
Write out a strict Uniforum conforming PO file. Note that this
Uniforum format should be avoided because it doesn't support the
GNU extensions.
@@ -622,15 +622,15 @@ GNU extensions.
<DD>
<DT><SAMP>&lsquo;--properties-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX985"></A>
-<A NAME="IDX986"></A>
+<A NAME="IDX1006"></A>
+<A NAME="IDX1007"></A>
Write out a Java ResourceBundle in Java <CODE>.properties</CODE> syntax. Note
that this file format doesn't support plural forms and silently drops
obsolete messages.
<DT><SAMP>&lsquo;--stringtable-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX987"></A>
+<A NAME="IDX1008"></A>
Write out a NeXTstep/GNUstep localized resource file in <CODE>.strings</CODE> syntax.
Note that this file format doesn't support plural forms.
@@ -638,15 +638,15 @@ Note that this file format doesn't support plural forms.
<DD>
<DT><SAMP>&lsquo;--width=<VAR>number</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX988"></A>
-<A NAME="IDX989"></A>
+<A NAME="IDX1009"></A>
+<A NAME="IDX1010"></A>
Set the output page width. Long strings in the output files will be
split across multiple lines in order to ensure that each line's width
(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
<DT><SAMP>&lsquo;--no-wrap&rsquo;</SAMP>
<DD>
-<A NAME="IDX990"></A>
+<A NAME="IDX1011"></A>
Do not break long message lines. Message lines whose width exceeds the
output page width will not be split into several lines. Only file reference
lines which are wider than the output page width will be split.
@@ -655,9 +655,9 @@ lines which are wider than the output page width will be split.
<DD>
<DT><SAMP>&lsquo;--sort-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX991"></A>
-<A NAME="IDX992"></A>
-<A NAME="IDX993"></A>
+<A NAME="IDX1012"></A>
+<A NAME="IDX1013"></A>
+<A NAME="IDX1014"></A>
Generate sorted output. Note that using this option makes it much harder
for the translator to understand each message's context.
@@ -665,7 +665,7 @@ for the translator to understand each message's context.
-<H3><A NAME="SEC162" HREF="gettext_toc.html#TOC162">10.2.8 Informative output</A></H3>
+<H3><A NAME="SEC176" HREF="gettext_toc.html#TOC176">10.2.8 Informative output</A></H3>
<DL COMPACT>
@@ -673,34 +673,34 @@ for the translator to understand each message's context.
<DD>
<DT><SAMP>&lsquo;--help&rsquo;</SAMP>
<DD>
-<A NAME="IDX994"></A>
-<A NAME="IDX995"></A>
+<A NAME="IDX1015"></A>
+<A NAME="IDX1016"></A>
Display this help and exit.
<DT><SAMP>&lsquo;-V&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--version&rsquo;</SAMP>
<DD>
-<A NAME="IDX996"></A>
-<A NAME="IDX997"></A>
+<A NAME="IDX1017"></A>
+<A NAME="IDX1018"></A>
Output version information and exit.
<DT><SAMP>&lsquo;-v&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--verbose&rsquo;</SAMP>
<DD>
-<A NAME="IDX998"></A>
-<A NAME="IDX999"></A>
+<A NAME="IDX1019"></A>
+<A NAME="IDX1020"></A>
Increase verbosity level.
</DL>
-<H2><A NAME="SEC163" HREF="gettext_toc.html#TOC163">10.3 The Format of GNU MO Files</A></H2>
+<H2><A NAME="SEC177" HREF="gettext_toc.html#TOC177">10.3 The Format of GNU MO Files</A></H2>
<P>
-<A NAME="IDX1000"></A>
-<A NAME="IDX1001"></A>
+<A NAME="IDX1021"></A>
+<A NAME="IDX1022"></A>
</P>
<P>
@@ -709,7 +709,7 @@ which appears below.
</P>
<P>
-<A NAME="IDX1002"></A>
+<A NAME="IDX1023"></A>
The first two words serve the identification of the file. The magic
number will always signal GNU MO files. The number is stored in the
byte order of the generating machine, so the magic number really is
@@ -757,7 +757,7 @@ translated tables, making the system information very easy to find.
</P>
<P>
-<A NAME="IDX1003"></A>
+<A NAME="IDX1024"></A>
The size <VAR>S</VAR> of the hash table can be zero. In this case, the
hash table itself is not contained in the MO file. Some people might
prefer this because a precomputed hashing table takes disk space, and
@@ -778,13 +778,13 @@ machines, a correct alignment will speed things up.
</P>
<P>
-<A NAME="IDX1004"></A>
+<A NAME="IDX1025"></A>
Contexts are stored by storing the concatenation of the context, a
<KBD>EOT</KBD> byte, and the original string, instead of the original string.
</P>
<P>
-<A NAME="IDX1005"></A>
+<A NAME="IDX1026"></A>
Plural forms are stored by letting the plural of the original string
follow the singular of the original string, separated through a
<KBD>NUL</KBD> byte. The length which appears in the string descriptor
diff --git a/gettext-tools/doc/gettext_11.html b/gettext-tools/doc/gettext_11.html
index 1f53477..3a05e98 100644
--- a/gettext-tools/doc/gettext_11.html
+++ b/gettext-tools/doc/gettext_11.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 25 October 2006 -->
+ from gettext.texi on 4 November 2007 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - 11 The Programmer's View</TITLE>
@@ -11,7 +11,7 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_10.html">previous
<P><HR><P>
-<H1><A NAME="SEC164" HREF="gettext_toc.html#TOC164">11 The Programmer's View</A></H1>
+<H1><A NAME="SEC178" HREF="gettext_toc.html#TOC178">11 The Programmer's View</A></H1>
<P>
One aim of the current message catalog implementation provided by
@@ -29,9 +29,9 @@ later explain our solution of this dilemma.
-<H2><A NAME="SEC165" HREF="gettext_toc.html#TOC165">11.1 About <CODE>catgets</CODE></A></H2>
+<H2><A NAME="SEC179" HREF="gettext_toc.html#TOC179">11.1 About <CODE>catgets</CODE></A></H2>
<P>
-<A NAME="IDX1006"></A>
+<A NAME="IDX1027"></A>
</P>
<P>
@@ -64,9 +64,9 @@ therefore part of all Unix implementation (implementations, which are
-<H3><A NAME="SEC166" HREF="gettext_toc.html#TOC166">11.1.1 The Interface</A></H3>
+<H3><A NAME="SEC180" HREF="gettext_toc.html#TOC180">11.1.1 The Interface</A></H3>
<P>
-<A NAME="IDX1007"></A>
+<A NAME="IDX1028"></A>
</P>
<P>
@@ -79,7 +79,7 @@ for the functions and the needed definitions are in the
</P>
<P>
-<A NAME="IDX1008"></A>
+<A NAME="IDX1029"></A>
<CODE>catopen</CODE> is used like in this:
</P>
@@ -98,7 +98,7 @@ message catalog, equivalent to handles to file returned by <CODE>open</CODE>.
</P>
<P>
-<A NAME="IDX1009"></A>
+<A NAME="IDX1030"></A>
This handle is of course used in the <CODE>catgets</CODE> function which can
be used like this:
@@ -130,7 +130,7 @@ should better be <CODE>const char *</CODE>, but the standard is published in
</P>
<P>
-<A NAME="IDX1010"></A>
+<A NAME="IDX1031"></A>
The last of these functions is used and behaves as expected:
</P>
@@ -145,9 +145,9 @@ After this no <CODE>catgets</CODE> call using the descriptor is legal anymore.
</P>
-<H3><A NAME="SEC167" HREF="gettext_toc.html#TOC167">11.1.2 Problems with the <CODE>catgets</CODE> Interface?!</A></H3>
+<H3><A NAME="SEC181" HREF="gettext_toc.html#TOC181">11.1.2 Problems with the <CODE>catgets</CODE> Interface?!</A></H3>
<P>
-<A NAME="IDX1011"></A>
+<A NAME="IDX1032"></A>
</P>
<P>
@@ -166,9 +166,9 @@ more easy to manage.
</P>
-<H2><A NAME="SEC168" HREF="gettext_toc.html#TOC168">11.2 About <CODE>gettext</CODE></A></H2>
+<H2><A NAME="SEC182" HREF="gettext_toc.html#TOC182">11.2 About <CODE>gettext</CODE></A></H2>
<P>
-<A NAME="IDX1012"></A>
+<A NAME="IDX1033"></A>
</P>
<P>
@@ -183,7 +183,7 @@ The main point about this solution is that it does not follow the
method of normal file handling (open-use-close) and that it does not
burden the programmer with so many tasks, especially the unique key handling.
Of course here also a unique key is needed, but this key is the message
-itself (how long or short it is). See section <A HREF="gettext_11.html#SEC176">11.3 Comparing the Two Interfaces</A> for a more
+itself (how long or short it is). See section <A HREF="gettext_11.html#SEC190">11.3 Comparing the Two Interfaces</A> for a more
detailed comparison of the two methods.
</P>
@@ -197,9 +197,9 @@ in using this library will be interested in this description.
-<H3><A NAME="SEC169" HREF="gettext_toc.html#TOC169">11.2.1 The Interface</A></H3>
+<H3><A NAME="SEC183" HREF="gettext_toc.html#TOC183">11.2.1 The Interface</A></H3>
<P>
-<A NAME="IDX1013"></A>
+<A NAME="IDX1034"></A>
</P>
<P>
@@ -251,8 +251,8 @@ returned. If the argument is <CODE>NULL</CODE> the result is undefined.
</P>
<P>
One thing which should come into mind is that no explicit dependency to
-the used domain is given. The current value of the domain for the
-<CODE>LC_MESSAGES</CODE> locale is used. If this changes between two
+the used domain is given. The current value of the domain is used.
+If this changes between two
executions of the same <CODE>gettext</CODE> call in the program, both calls
reference a different message catalog.
@@ -268,11 +268,11 @@ your language.
</P>
-<H3><A NAME="SEC170" HREF="gettext_toc.html#TOC170">11.2.2 Solving Ambiguities</A></H3>
+<H3><A NAME="SEC184" HREF="gettext_toc.html#TOC184">11.2.2 Solving Ambiguities</A></H3>
<P>
-<A NAME="IDX1014"></A>
-<A NAME="IDX1015"></A>
-<A NAME="IDX1016"></A>
+<A NAME="IDX1035"></A>
+<A NAME="IDX1036"></A>
+<A NAME="IDX1037"></A>
</P>
<P>
@@ -303,7 +303,7 @@ char *dcgettext (const char *domain_name, const char *msgid,
<P>
Both take an additional argument at the first place, which corresponds
to the argument of <CODE>textdomain</CODE>. The third argument of
-<CODE>dcgettext</CODE> allows to use another locale but <CODE>LC_MESSAGES</CODE>.
+<CODE>dcgettext</CODE> allows to use another locale category but <CODE>LC_MESSAGES</CODE>.
But I really don't know where this can be useful. If the
<VAR>domain_name</VAR> is <CODE>NULL</CODE> or <VAR>category</VAR> has an value beside
the known ones, the result is undefined. It should also be noted that
@@ -346,9 +346,9 @@ unreliabilities.
</P>
-<H3><A NAME="SEC171" HREF="gettext_toc.html#TOC171">11.2.3 Locating Message Catalog Files</A></H3>
+<H3><A NAME="SEC185" HREF="gettext_toc.html#TOC185">11.2.3 Locating Message Catalog Files</A></H3>
<P>
-<A NAME="IDX1017"></A>
+<A NAME="IDX1038"></A>
</P>
<P>
@@ -357,8 +357,8 @@ stored we need some way to add these information to file message catalog
files. The way usually used in Unix environments is have this encoding
in the file name. This is also done here. The directory name given in
<CODE>bindtextdomain</CODE>s second argument (or the default directory),
-followed by the value and name of the locale and the domain name are
-concatenated:
+followed by the name of the locale, the locale category, and the domain name
+are concatenated:
</P>
@@ -375,21 +375,22 @@ library, and for packages adhering to its conventions, it's:
</PRE>
<P>
-<VAR>locale</VAR> is the value of the locale whose name is this
+<VAR>locale</VAR> is the name of the locale category which is designated by
<CODE>LC_<VAR>category</VAR></CODE>. For <CODE>gettext</CODE> and <CODE>dgettext</CODE> this
<CODE>LC_<VAR>category</VAR></CODE> is always <CODE>LC_MESSAGES</CODE>.<A NAME="DOCF3" HREF="gettext_foot.html#FOOT3">(3)</A>
-The value of the locale is determined through
+The name of the locale category is determined through
<CODE>setlocale (LC_<VAR>category</VAR>, NULL)</CODE>.
<A NAME="DOCF4" HREF="gettext_foot.html#FOOT4">(4)</A>
-<CODE>dcgettext</CODE> specifies the locale category by the third argument.
+When using the function <CODE>dcgettext</CODE>, you can specify the locale category
+through the third argument.
</P>
-<H3><A NAME="SEC172" HREF="gettext_toc.html#TOC172">11.2.4 How to specify the output character set <CODE>gettext</CODE> uses</A></H3>
+<H3><A NAME="SEC186" HREF="gettext_toc.html#TOC186">11.2.4 How to specify the output character set <CODE>gettext</CODE> uses</A></H3>
<P>
-<A NAME="IDX1018"></A>
-<A NAME="IDX1019"></A>
+<A NAME="IDX1039"></A>
+<A NAME="IDX1040"></A>
</P>
<P>
@@ -421,7 +422,7 @@ recommended that all <VAR>msgid</VAR>s be US-ASCII strings.
<P>
<DL>
<DT><U>Function:</U> char * <B>bind_textdomain_codeset</B> <I>(const char *<VAR>domainname</VAR>, const char *<VAR>codeset</VAR>)</I>
-<DD><A NAME="IDX1020"></A>
+<DD><A NAME="IDX1041"></A>
The <CODE>bind_textdomain_codeset</CODE> function can be used to specify the
output character set for message catalogs for domain <VAR>domainname</VAR>.
The <VAR>codeset</VAR> argument must be a valid codeset name which can be used
@@ -453,12 +454,12 @@ global variable <VAR>errno</VAR> is set accordingly.
</P>
-<H3><A NAME="SEC173" HREF="gettext_toc.html#TOC173">11.2.5 Using contexts for solving ambiguities</A></H3>
+<H3><A NAME="SEC187" HREF="gettext_toc.html#TOC187">11.2.5 Using contexts for solving ambiguities</A></H3>
<P>
-<A NAME="IDX1021"></A>
-<A NAME="IDX1022"></A>
-<A NAME="IDX1023"></A>
-<A NAME="IDX1024"></A>
+<A NAME="IDX1042"></A>
+<A NAME="IDX1043"></A>
+<A NAME="IDX1044"></A>
+<A NAME="IDX1045"></A>
</P>
<P>
@@ -496,7 +497,7 @@ over the functions from <CODE>&#60;libintl.h&#62;</CODE>.
</P>
<P>
-<A NAME="IDX1025"></A>
+<A NAME="IDX1046"></A>
<PRE>
const char *pgettext (const char *msgctxt, const char *msgid);
@@ -531,8 +532,8 @@ fetches a particular translation of the <VAR>msgid</VAR>.
</P>
<P>
-<A NAME="IDX1026"></A>
-<A NAME="IDX1027"></A>
+<A NAME="IDX1047"></A>
+<A NAME="IDX1048"></A>
<PRE>
const char *dpgettext (const char *domain_name,
@@ -546,7 +547,7 @@ const char *dcpgettext (const char *domain_name,
These are generalizations of <CODE>pgettext</CODE>. They behave similarly to
<CODE>dgettext</CODE> and <CODE>dcgettext</CODE>, respectively. The <VAR>domain_name</VAR>
argument defines the translation domain. The <VAR>category</VAR> argument
-allows to use another locale facet than <CODE>LC_MESSAGES</CODE>.
+allows to use another locale category than <CODE>LC_MESSAGES</CODE>.
</P>
<P>
@@ -617,9 +618,9 @@ string literals, more general macros are available:
</P>
<P>
-<A NAME="IDX1028"></A>
-<A NAME="IDX1029"></A>
-<A NAME="IDX1030"></A>
+<A NAME="IDX1049"></A>
+<A NAME="IDX1050"></A>
+<A NAME="IDX1051"></A>
<PRE>
const char *pgettext_expr (const char *msgctxt, const char *msgid);
@@ -639,9 +640,9 @@ efficient.
</P>
-<H3><A NAME="SEC174" HREF="gettext_toc.html#TOC174">11.2.6 Additional functions for plural forms</A></H3>
+<H3><A NAME="SEC188" HREF="gettext_toc.html#TOC188">11.2.6 Additional functions for plural forms</A></H3>
<P>
-<A NAME="IDX1031"></A>
+<A NAME="IDX1052"></A>
</P>
<P>
@@ -764,7 +765,7 @@ purpose.
<P>
<DL>
<DT><U>Function:</U> char * <B>ngettext</B> <I>(const char *<VAR>msgid1</VAR>, const char *<VAR>msgid2</VAR>, unsigned long int <VAR>n</VAR>)</I>
-<DD><A NAME="IDX1032"></A>
+<DD><A NAME="IDX1053"></A>
The <CODE>ngettext</CODE> function is similar to the <CODE>gettext</CODE> function
as it finds the message catalogs in the same way. But it takes two
extra arguments. The <VAR>msgid1</VAR> parameter must contain the singular
@@ -825,7 +826,7 @@ In this case the number <VAR>n</VAR> is only used to choose the plural form.
<P>
<DL>
<DT><U>Function:</U> char * <B>dngettext</B> <I>(const char *<VAR>domain</VAR>, const char *<VAR>msgid1</VAR>, const char *<VAR>msgid2</VAR>, unsigned long int <VAR>n</VAR>)</I>
-<DD><A NAME="IDX1033"></A>
+<DD><A NAME="IDX1054"></A>
The <CODE>dngettext</CODE> is similar to the <CODE>dgettext</CODE> function in the
way the message catalog is selected. The difference is that it takes
two extra parameter to provide the correct plural form. These two
@@ -836,7 +837,7 @@ parameters are handled in the same way <CODE>ngettext</CODE> handles them.
<P>
<DL>
<DT><U>Function:</U> char * <B>dcngettext</B> <I>(const char *<VAR>domain</VAR>, const char *<VAR>msgid1</VAR>, const char *<VAR>msgid2</VAR>, unsigned long int <VAR>n</VAR>, int <VAR>category</VAR>)</I>
-<DD><A NAME="IDX1034"></A>
+<DD><A NAME="IDX1055"></A>
The <CODE>dcngettext</CODE> is similar to the <CODE>dcgettext</CODE> function in the
way the message catalog is selected. The difference is that it takes
two extra parameter to provide the correct plural form. These two
@@ -861,9 +862,9 @@ possibility of extensions to not prevent the use of new languages).
</P>
<P>
-<A NAME="IDX1035"></A>
-<A NAME="IDX1036"></A>
-<A NAME="IDX1037"></A>
+<A NAME="IDX1056"></A>
+<A NAME="IDX1057"></A>
+<A NAME="IDX1058"></A>
The information about the plural form selection has to be stored in the
header entry of the PO file (the one with the empty <CODE>msgid</CODE> string).
The plural form information looks like this:
@@ -891,7 +892,7 @@ value of <CODE>nplurals</CODE>.
</P>
<P>
-<A NAME="IDX1038"></A>
+<A NAME="IDX1059"></A>
The following rules are known at this point. The language with families
are listed. But this does not necessarily mean the information can be
generalized for the whole family (as can be easily seen in the table
@@ -1206,9 +1207,9 @@ is acceptable in English, and similarly for other languages.
</P>
-<H3><A NAME="SEC175" HREF="gettext_toc.html#TOC175">11.2.7 Optimization of the *gettext functions</A></H3>
+<H3><A NAME="SEC189" HREF="gettext_toc.html#TOC189">11.2.7 Optimization of the *gettext functions</A></H3>
<P>
-<A NAME="IDX1039"></A>
+<A NAME="IDX1060"></A>
</P>
<P>
@@ -1261,10 +1262,10 @@ find the result through a single cache lookup.
</P>
-<H2><A NAME="SEC176" HREF="gettext_toc.html#TOC176">11.3 Comparing the Two Interfaces</A></H2>
+<H2><A NAME="SEC190" HREF="gettext_toc.html#TOC190">11.3 Comparing the Two Interfaces</A></H2>
<P>
-<A NAME="IDX1040"></A>
-<A NAME="IDX1041"></A>
+<A NAME="IDX1061"></A>
+<A NAME="IDX1062"></A>
</P>
@@ -1314,7 +1315,7 @@ by
</P>
<P>
-<A NAME="IDX1042"></A>
+<A NAME="IDX1063"></A>
<PRE>
#include &#60;libintl.h&#62;
@@ -1329,9 +1330,9 @@ can use any that becomes available.
</P>
<P>
-<A NAME="IDX1043"></A>
+<A NAME="IDX1064"></A>
The same procedure can be done for the <CODE>gettext_noop</CODE> invocations
-(see section <A HREF="gettext_4.html#SEC18">4.7 Special Cases of Translatable Strings</A>). One usually defines <CODE>gettext_noop</CODE> as a
+(see section <A HREF="gettext_4.html#SEC23">4.7 Special Cases of Translatable Strings</A>). One usually defines <CODE>gettext_noop</CODE> as a
no-op macro. So you should consider the following code for your project:
</P>
@@ -1408,12 +1409,12 @@ little bit. But it is not impossible to overcome.
<P>
<CODE>catgets</CODE> allows same original entry to have different translations,
but <CODE>gettext</CODE> has another, scalable approach for solving ambiguities
-of this kind: See section <A HREF="gettext_11.html#SEC170">11.2.2 Solving Ambiguities</A>.
+of this kind: See section <A HREF="gettext_11.html#SEC184">11.2.2 Solving Ambiguities</A>.
</P>
-<H2><A NAME="SEC177" HREF="gettext_toc.html#TOC177">11.4 Using libintl.a in own programs</A></H2>
+<H2><A NAME="SEC191" HREF="gettext_toc.html#TOC191">11.4 Using libintl.a in own programs</A></H2>
<P>
Starting with version 0.9.4 the library <CODE>libintl.h</CODE> should be
@@ -1424,7 +1425,7 @@ and the library in directories selected using the <CODE>$(prefix)</CODE>.
</P>
-<H2><A NAME="SEC178" HREF="gettext_toc.html#TOC178">11.5 Being a <CODE>gettext</CODE> grok</A></H2>
+<H2><A NAME="SEC192" HREF="gettext_toc.html#TOC192">11.5 Being a <CODE>gettext</CODE> grok</A></H2>
<P>
<STRONG> NOTE: </STRONG> This documentation section is outdated and needs to be
@@ -1442,7 +1443,7 @@ is a list comments:
<UL>
<LI>Changing the language at runtime
-<A NAME="IDX1044"></A>
+<A NAME="IDX1065"></A>
For interactive programs it might be useful to offer a selection of the
used language at runtime. To understand how to do this one need to know
@@ -1459,20 +1460,20 @@ priority:
<OL>
<LI><CODE>LANGUAGE</CODE>
-<A NAME="IDX1045"></A>
+<A NAME="IDX1066"></A>
-<A NAME="IDX1046"></A>
+<A NAME="IDX1067"></A>
<LI><CODE>LC_ALL</CODE>
-<A NAME="IDX1047"></A>
-<A NAME="IDX1048"></A>
-<A NAME="IDX1049"></A>
-<A NAME="IDX1050"></A>
-<A NAME="IDX1051"></A>
-<A NAME="IDX1052"></A>
-<LI><CODE>LC_xxx</CODE>, according to selected locale
+<A NAME="IDX1068"></A>
+<A NAME="IDX1069"></A>
+<A NAME="IDX1070"></A>
+<A NAME="IDX1071"></A>
+<A NAME="IDX1072"></A>
+<A NAME="IDX1073"></A>
+<LI><CODE>LC_xxx</CODE>, according to selected locale category
-<A NAME="IDX1053"></A>
+<A NAME="IDX1074"></A>
<LI><CODE>LANG</CODE>
</OL>
@@ -1490,7 +1491,7 @@ But there is one little hook. The code for gcc-2.7.0 and up provides
some optimization. This optimization normally prevents the calling of
the <CODE>dcgettext</CODE> function as long as no new catalog is loaded. But
if <CODE>dcgettext</CODE> is not called the program also cannot find the
-<CODE>LANGUAGE</CODE> variable be changed (see section <A HREF="gettext_11.html#SEC175">11.2.7 Optimization of the *gettext functions</A>). A
+<CODE>LANGUAGE</CODE> variable be changed (see section <A HREF="gettext_11.html#SEC189">11.2.7 Optimization of the *gettext functions</A>). A
solution for this is very easy. Include the following code in the
language switching function.
@@ -1506,7 +1507,7 @@ language switching function.
}
</PRE>
-<A NAME="IDX1054"></A>
+<A NAME="IDX1075"></A>
The variable <CODE>_nl_msg_cat_cntr</CODE> is defined in <TT>&lsquo;loadmsgcat.c&rsquo;</TT>.
You don't need to know what this is for. But it can be used to detect
whether a <CODE>gettext</CODE> implementation is GNU gettext and not non-GNU
@@ -1516,7 +1517,7 @@ system's native gettext implementation.
-<H2><A NAME="SEC179" HREF="gettext_toc.html#TOC179">11.6 Temporary Notes for the Programmers Chapter</A></H2>
+<H2><A NAME="SEC193" HREF="gettext_toc.html#TOC193">11.6 Temporary Notes for the Programmers Chapter</A></H2>
<P>
<STRONG> NOTE: </STRONG> This documentation section is outdated and needs to be
@@ -1526,7 +1527,7 @@ revised.
-<H3><A NAME="SEC180" HREF="gettext_toc.html#TOC180">11.6.1 Temporary - Two Possible Implementations</A></H3>
+<H3><A NAME="SEC194" HREF="gettext_toc.html#TOC194">11.6.1 Temporary - Two Possible Implementations</A></H3>
<P>
There are two competing methods for language independent messages:
@@ -1558,7 +1559,7 @@ see the Programming for Internationalization FAQ.
</P>
-<H3><A NAME="SEC181" HREF="gettext_toc.html#TOC181">11.6.2 Temporary - About <CODE>catgets</CODE></A></H3>
+<H3><A NAME="SEC195" HREF="gettext_toc.html#TOC195">11.6.2 Temporary - About <CODE>catgets</CODE></A></H3>
<P>
There have been a few discussions of late on the use of
@@ -1603,7 +1604,7 @@ of all Unix systems.
</P>
-<H3><A NAME="SEC182" HREF="gettext_toc.html#TOC182">11.6.3 Temporary - Why a single implementation</A></H3>
+<H3><A NAME="SEC196" HREF="gettext_toc.html#TOC196">11.6.3 Temporary - Why a single implementation</A></H3>
<P>
Now it seems kind of wasteful to me to have two different systems
@@ -1634,7 +1635,7 @@ access routines) with their software instead of just including the
</P>
<P>
Message catalog support is however only the tip of the iceberg.
-What about the data for the other locale categories. They also have
+What about the data for the other locale categories? They also have
a number of deficiencies. Are we going to abandon them as well and
develop another duplicate set of routines (should <CODE>libintl</CODE>
expand beyond message catalog support)?
@@ -1648,7 +1649,7 @@ the future.
</P>
-<H3><A NAME="SEC183" HREF="gettext_toc.html#TOC183">11.6.4 Temporary - Notes</A></H3>
+<H3><A NAME="SEC197" HREF="gettext_toc.html#TOC197">11.6.4 Temporary - Notes</A></H3>
<P>
X/Open agreed very late on the standard form so that many
diff --git a/gettext-tools/doc/gettext_12.html b/gettext-tools/doc/gettext_12.html
index e6f5f7d..ed80aed 100644
--- a/gettext-tools/doc/gettext_12.html
+++ b/gettext-tools/doc/gettext_12.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 25 October 2006 -->
+ from gettext.texi on 4 November 2007 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - 12 The Translator's View</TITLE>
@@ -11,11 +11,11 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_11.html">previous
<P><HR><P>
-<H1><A NAME="SEC184" HREF="gettext_toc.html#TOC184">12 The Translator's View</A></H1>
+<H1><A NAME="SEC198" HREF="gettext_toc.html#TOC198">12 The Translator's View</A></H1>
-<H2><A NAME="SEC185" HREF="gettext_toc.html#TOC185">12.1 Introduction 0</A></H2>
+<H2><A NAME="SEC199" HREF="gettext_toc.html#TOC199">12.1 Introduction 0</A></H2>
<P>
<STRONG> NOTE: </STRONG> This documentation section is outdated and needs to be
@@ -81,7 +81,7 @@ subscribe
Keep in mind that team members should be interested in <EM>working</EM>
at translations, or at solving translational difficulties, rather than
merely lurking around. If your team does not exist yet and you want to
-start one, please write to <TT>&lsquo;translation@iro.umontreal.ca&rsquo;</TT>;
+start one, please write to <TT>&lsquo;coordinator@translationproject.org&rsquo;</TT>;
you will then reach the coordinator for all translator teams.
</P>
@@ -92,13 +92,13 @@ 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 would like to
volunteer to work at translating messages, please send mail to
-<TT>&lsquo;translation@iro.umontreal.ca&rsquo;</TT> indicating what language(s)
+<TT>&lsquo;coordinator@translationproject.org&rsquo;</TT> indicating what language(s)
you can work on.
</P>
-<H2><A NAME="SEC186" HREF="gettext_toc.html#TOC186">12.2 Introduction 1</A></H2>
+<H2><A NAME="SEC200" HREF="gettext_toc.html#TOC200">12.2 Introduction 1</A></H2>
<P>
<STRONG> NOTE: </STRONG> This documentation section is outdated and needs to be
@@ -119,7 +119,7 @@ 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
-<SAMP>&lsquo;translation@iro.umontreal.ca&rsquo;</SAMP> indicating what language(s)
+<SAMP>&lsquo;coordinator@translationproject.org&rsquo;</SAMP> indicating what language(s)
you can work on.
</BLOCKQUOTE>
@@ -148,12 +148,12 @@ internationalization of free software is dedicated to succeed.
</P>
<P>
For suggestion clarifications, additions or corrections to this
-document, please e-mail to <TT>&lsquo;translation@iro.umontreal.ca&rsquo;</TT>.
+document, please e-mail to <TT>&lsquo;coordinator@translationproject.org&rsquo;</TT>.
</P>
-<H2><A NAME="SEC187" HREF="gettext_toc.html#TOC187">12.3 Discussions</A></H2>
+<H2><A NAME="SEC201" HREF="gettext_toc.html#TOC201">12.3 Discussions</A></H2>
<P>
<STRONG> NOTE: </STRONG> This documentation section is outdated and needs to be
@@ -236,7 +236,7 @@ software.
-<H2><A NAME="SEC188" HREF="gettext_toc.html#TOC188">12.4 Organization</A></H2>
+<H2><A NAME="SEC202" HREF="gettext_toc.html#TOC202">12.4 Organization</A></H2>
<P>
<STRONG> NOTE: </STRONG> This documentation section is outdated and needs to be
@@ -277,7 +277,7 @@ become a permanent and continuous activity in the free software community,
once well started.
The setup should be minimally completed and tested before GNU
<CODE>gettext</CODE> becomes an official reality. The e-mail address
-<TT>&lsquo;translation@iro.umontreal.ca&rsquo;</TT> has been setup for receiving
+<TT>&lsquo;coordinator@translationproject.org&rsquo;</TT> has been set up for receiving
offers from volunteers and general e-mail on these topics. This address
reaches the Translation Project coordinator.
@@ -285,10 +285,10 @@ reaches the Translation Project coordinator.
-<H3><A NAME="SEC189" HREF="gettext_toc.html#TOC189">12.4.1 Central Coordination</A></H3>
+<H3><A NAME="SEC203" HREF="gettext_toc.html#TOC203">12.4.1 Central Coordination</A></H3>
<P>
-I also think GNU will need sooner than it thinks, that someone setup
+I also think GNU will need sooner than it thinks, that someone set up
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.
@@ -310,7 +310,7 @@ overwhelming task, the time to put delegations in place.
</P>
-<H3><A NAME="SEC190" HREF="gettext_toc.html#TOC190">12.4.2 National Teams</A></H3>
+<H3><A NAME="SEC204" HREF="gettext_toc.html#TOC204">12.4.2 National Teams</A></H3>
<P>
I suggest we look for volunteer coordinators/editors for individual
@@ -373,7 +373,7 @@ consistent.
-<H4><A NAME="SEC191" HREF="gettext_toc.html#TOC191">12.4.2.1 Sub-Cultures</A></H4>
+<H4><A NAME="SEC205" HREF="gettext_toc.html#TOC205">12.4.2.1 Sub-Cultures</A></H4>
<P>
Taking French for example, there are a few sub-cultures around computers
@@ -395,7 +395,7 @@ means soon!
</P>
-<H4><A NAME="SEC192" HREF="gettext_toc.html#TOC192">12.4.2.2 Organizational Ideas</A></H4>
+<H4><A NAME="SEC206" HREF="gettext_toc.html#TOC206">12.4.2.2 Organizational Ideas</A></H4>
<P>
I expect the next big changes after the official release. Please note
@@ -432,7 +432,7 @@ this also seems to work).
-<H3><A NAME="SEC193" HREF="gettext_toc.html#TOC193">12.4.3 Mailing Lists</A></H3>
+<H3><A NAME="SEC207" HREF="gettext_toc.html#TOC207">12.4.3 Mailing Lists</A></H3>
<P>
If we get any inquiries about GNU <CODE>gettext</CODE>, send them on to:
@@ -440,7 +440,7 @@ If we get any inquiries about GNU <CODE>gettext</CODE>, send them on to:
</P>
<PRE>
-<TT>&lsquo;translation@iro.umontreal.ca&rsquo;</TT>
+<TT>&lsquo;coordinator@translationproject.org&rsquo;</TT>
</PRE>
<P>
@@ -486,7 +486,7 @@ subscribe as they see fit, as long as each team is represented in it.
</P>
-<H2><A NAME="SEC194" HREF="gettext_toc.html#TOC194">12.5 Information Flow</A></H2>
+<H2><A NAME="SEC208" HREF="gettext_toc.html#TOC208">12.5 Information Flow</A></H2>
<P>
<STRONG> NOTE: </STRONG> This documentation section is outdated and needs to be
@@ -540,7 +540,7 @@ have more information about this.
</P>
-<H2><A NAME="SEC195" HREF="gettext_toc.html#TOC195">12.6 Prioritizing messages: How to determine which messages to translate first</A></H2>
+<H2><A NAME="SEC209" HREF="gettext_toc.html#TOC209">12.6 Prioritizing messages: How to determine which messages to translate first</A></H2>
<P>
A translator sometimes has only a limited amount of time per week to
@@ -564,7 +564,7 @@ of messages.
</P>
<P>
-<A NAME="IDX1055"></A>
+<A NAME="IDX1076"></A>
Here a more details. The GNU <CODE>libintl</CODE> library (but not the
corresponding functions in GNU <CODE>libc</CODE>) supports an environment variable
<CODE>GETTEXT_LOG_UNTRANSLATED</CODE>. The GNU <CODE>libintl</CODE> library will
@@ -649,7 +649,7 @@ $ package=/usr/src/gnu/coreutils-4.5.4 # the package where it comes from
<P>
She takes the latest copy of <TT>&lsquo;$lang.po&rsquo;</TT> from the Translation Project,
or from the package (in most cases, <TT>&lsquo;$package/po/$lang.po&rsquo;</TT>), or
-creates a fresh one if she's the first translator (see section <A HREF="gettext_6.html#SEC31">6 Creating a New PO File</A>).
+creates a fresh one if she's the first translator (see section <A HREF="gettext_6.html#SEC37">6 Creating a New PO File</A>).
She then uses the following commands to mark the not urgent messages as
"obsolete". (This doesn't mean that these messages - translated and
untranslated ones - will go away. It simply means that the PO file editor
@@ -666,7 +666,7 @@ $ msgattrib --set-obsolete --ignore-file $domain-missing.po $domain.$lang.po \
<P>
The she translates <TT>&lsquo;$domain.$lang-urgent.po&rsquo;</TT> by use of a PO file editor
-(see section <A HREF="gettext_8.html#SEC49">8 Editing PO Files</A>).
+(see section <A HREF="gettext_8.html#SEC55">8 Editing PO Files</A>).
(FIXME: I don't know whether <CODE>KBabel</CODE> and <CODE>gtranslator</CODE> also
preserve obsolete messages, as they should.)
Finally she restores the not urgent messages (with their earlier
diff --git a/gettext-tools/doc/gettext_13.html b/gettext-tools/doc/gettext_13.html
index fd29fa7..119db60 100644
--- a/gettext-tools/doc/gettext_13.html
+++ b/gettext-tools/doc/gettext_13.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 25 October 2006 -->
+ from gettext.texi on 4 November 2007 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - 13 The Maintainer's View</TITLE>
@@ -11,9 +11,9 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_12.html">previous
<P><HR><P>
-<H1><A NAME="SEC196" HREF="gettext_toc.html#TOC196">13 The Maintainer's View</A></H1>
+<H1><A NAME="SEC210" HREF="gettext_toc.html#TOC210">13 The Maintainer's View</A></H1>
<P>
-<A NAME="IDX1056"></A>
+<A NAME="IDX1077"></A>
</P>
<P>
@@ -32,7 +32,7 @@ standards, or even better, Gnits standards, because GNU <CODE>gettext</CODE>
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 <TT>&lsquo;configure.in&rsquo;</TT> file and uses GNU Autoconf.
+a <TT>&lsquo;configure.ac&rsquo;</TT> file and uses GNU Autoconf.
</P>
<P>
@@ -53,7 +53,7 @@ for changes.
-<H2><A NAME="SEC197" HREF="gettext_toc.html#TOC197">13.1 Flat or Non-Flat Directory Structures</A></H2>
+<H2><A NAME="SEC211" HREF="gettext_toc.html#TOC211">13.1 Flat or Non-Flat Directory Structures</A></H2>
<P>
Some free software packages are distributed as <CODE>tar</CODE> files which unpack
@@ -86,11 +86,11 @@ use this as an opportunity to unflatten their package structure.
</P>
-<H2><A NAME="SEC198" HREF="gettext_toc.html#TOC198">13.2 Prerequisite Works</A></H2>
+<H2><A NAME="SEC212" HREF="gettext_toc.html#TOC212">13.2 Prerequisite Works</A></H2>
<P>
-<A NAME="IDX1057"></A>
-<A NAME="IDX1058"></A>
-<A NAME="IDX1059"></A>
+<A NAME="IDX1078"></A>
+<A NAME="IDX1079"></A>
+<A NAME="IDX1080"></A>
</P>
<P>
@@ -129,8 +129,8 @@ want to see the translation of shell script messages.
<LI>
-Your package should use Autoconf and have a <TT>&lsquo;configure.in&rsquo;</TT> or
-<TT>&lsquo;configure.ac&rsquo;</TT> file.
+Your package should use Autoconf and have a <TT>&lsquo;configure.ac&rsquo;</TT> or
+<TT>&lsquo;configure.in&rsquo;</TT> 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.
@@ -138,7 +138,7 @@ familiar with it.
<LI>
Your C sources should have already been modified according to
-instructions given earlier in this manual. See section <A HREF="gettext_4.html#SEC11">4 Preparing Program Sources</A>.
+instructions given earlier in this manual. See section <A HREF="gettext_4.html#SEC16">4 Preparing Program Sources</A>.
<LI>
@@ -157,7 +157,7 @@ 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 authenticate the origin of the submission as being the representative
of the appropriate translating teams of the Translation Project (forward
-the submission to <TT>&lsquo;translation@iro.umontreal.ca&rsquo;</TT> in case of doubt),
+the submission to <TT>&lsquo;coordinator@translationproject.org&rsquo;</TT> 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 put these
PO files in <TT>&lsquo;po/&rsquo;</TT> for distribution.
@@ -187,7 +187,7 @@ never try to <EM>solve</EM> a team's problem on your own.
</P>
-<H2><A NAME="SEC199" HREF="gettext_toc.html#TOC199">13.3 Invoking the <CODE>gettextize</CODE> Program</A></H2>
+<H2><A NAME="SEC213" HREF="gettext_toc.html#TOC213">13.3 Invoking the <CODE>gettextize</CODE> Program</A></H2>
<P>
The <CODE>gettextize</CODE> program is an interactive tool that helps the
@@ -222,7 +222,7 @@ GNU <CODE>gettext</CODE>.
<LI>It performs as many of the tasks mentioned in the next section
-section <A HREF="gettext_13.html#SEC200">13.4 Files You Must Create or Alter</A> as can be performed automatically.
+section <A HREF="gettext_13.html#SEC214">13.4 Files You Must Create or Alter</A> as can be performed automatically.
<LI>It removes obsolete files and idioms used for previous GNU
@@ -239,8 +239,8 @@ It can be invoked as follows:
</P>
<P>
-<A NAME="IDX1060"></A>
-<A NAME="IDX1061"></A>
+<A NAME="IDX1081"></A>
+<A NAME="IDX1082"></A>
<PRE>
gettextize [ <VAR>option</VAR>... ] [ <VAR>directory</VAR> ]
@@ -256,30 +256,38 @@ and accepts the following options:
<DD>
<DT><SAMP>&lsquo;--force&rsquo;</SAMP>
<DD>
-<A NAME="IDX1062"></A>
-<A NAME="IDX1063"></A>
+<A NAME="IDX1083"></A>
+<A NAME="IDX1084"></A>
Force replacement of files which already exist.
<DT><SAMP>&lsquo;--intl&rsquo;</SAMP>
<DD>
-<A NAME="IDX1064"></A>
+<A NAME="IDX1085"></A>
Install the libintl sources in a subdirectory named <TT>&lsquo;intl/&rsquo;</TT>.
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 <CODE>AM_GNU_GETTEXT</CODE> in <TT>&lsquo;configure.in&rsquo;</TT> should read:
+the call to <CODE>AM_GNU_GETTEXT</CODE> in <TT>&lsquo;configure.ac&rsquo;</TT> should read:
<SAMP>&lsquo;AM_GNU_GETTEXT([external])&rsquo;</SAMP>, and internationalization will not
be enabled on systems lacking GNU gettext.
+<DT><SAMP>&lsquo;--po-dir=<VAR>dir</VAR>&rsquo;</SAMP>
+<DD>
+<A NAME="IDX1086"></A>
+Specify a directory containing PO files. Such a directory contains the
+translations into various languages of a particular POT file. This
+option can be specified multiple times, once for each translation domain.
+If it is not specified, the directory named <TT>&lsquo;po/&rsquo;</TT> is updated.
+
<DT><SAMP>&lsquo;--no-changelog&rsquo;</SAMP>
<DD>
-<A NAME="IDX1065"></A>
+<A NAME="IDX1087"></A>
Don't update or create ChangeLog files. By default, <CODE>gettextize</CODE>
logs all changes (file additions, modifications and removals) in a
file called <SAMP>&lsquo;ChangeLog&rsquo;</SAMP> in each affected directory.
<DT><SAMP>&lsquo;--symlink&rsquo;</SAMP>
<DD>
-<A NAME="IDX1066"></A>
+<A NAME="IDX1088"></A>
Make symbolic links instead of copying the needed files. This can be
useful to save a few kilobytes of disk space, but it requires extra
effort to create self-contained tarballs, it may disturb some mechanism
@@ -290,20 +298,20 @@ bugs when a newer version of <CODE>gettext</CODE> is installed on the system.
<DD>
<DT><SAMP>&lsquo;--dry-run&rsquo;</SAMP>
<DD>
-<A NAME="IDX1067"></A>
-<A NAME="IDX1068"></A>
+<A NAME="IDX1089"></A>
+<A NAME="IDX1090"></A>
Print modifications but don't perform them. All actions that
<CODE>gettextize</CODE> would normally execute are inhibited and instead only
listed on standard output.
<DT><SAMP>&lsquo;--help&rsquo;</SAMP>
<DD>
-<A NAME="IDX1069"></A>
+<A NAME="IDX1091"></A>
Display this help and exit.
<DT><SAMP>&lsquo;--version&rsquo;</SAMP>
<DD>
-<A NAME="IDX1070"></A>
+<A NAME="IDX1092"></A>
Output version information and exit.
</DL>
@@ -344,6 +352,9 @@ files. If the <TT>&lsquo;po/&rsquo;</TT> directory already exists, it will be p
along with the files it contains, and only <TT>&lsquo;Makefile.in.in&rsquo;</TT> and
the auxiliary files will be overwritten.
+If <SAMP>&lsquo;--po-dir&rsquo;</SAMP> has been specified, this holds for every directory
+specified through <SAMP>&lsquo;--po-dir&rsquo;</SAMP>, instead of <TT>&lsquo;po/&rsquo;</TT>.
+
<LI>
Only if <SAMP>&lsquo;--intl&rsquo;</SAMP> has been specified:
@@ -378,8 +389,8 @@ goal of your main <TT>&lsquo;Makefile.in&rsquo;</TT>.
</P>
<P>
Furthermore, <CODE>gettextize</CODE> will update all <TT>&lsquo;Makefile.am&rsquo;</TT> files
-in each affected directory, as well as the top level <TT>&lsquo;configure.in&rsquo;</TT>
-or <TT>&lsquo;configure.ac&rsquo;</TT> file.
+in each affected directory, as well as the top level <TT>&lsquo;configure.ac&rsquo;</TT>
+or <TT>&lsquo;configure.in&rsquo;</TT> file.
</P>
<P>
@@ -406,14 +417,14 @@ It is important to understand that <CODE>gettextize</CODE> can not do the
entire job of adapting a package for using GNU <CODE>gettext</CODE>. The
amount of remaining work depends on whether the package uses GNU
<CODE>automake</CODE> or not. But in any case, the maintainer should still
-read the section section <A HREF="gettext_13.html#SEC200">13.4 Files You Must Create or Alter</A> after invoking <CODE>gettextize</CODE>.
+read the section section <A HREF="gettext_13.html#SEC214">13.4 Files You Must Create or Alter</A> after invoking <CODE>gettextize</CODE>.
</P>
<P>
In particular, if after using <SAMP>&lsquo;gettexize&rsquo;</SAMP>, you get an error
<SAMP>&lsquo;AC_COMPILE_IFELSE was called before AC_GNU_SOURCE&rsquo;</SAMP> or
<SAMP>&lsquo;AC_RUN_IFELSE was called before AC_GNU_SOURCE&rsquo;</SAMP>, you can fix it
-by modifying <TT>&lsquo;configure.ac&rsquo;</TT>, as described in section <A HREF="gettext_13.html#SEC205">13.4.5 <TT>&lsquo;configure.in&rsquo;</TT> at top level</A>.
+by modifying <TT>&lsquo;configure.ac&rsquo;</TT>, as described in section <A HREF="gettext_13.html#SEC219">13.4.5 <TT>&lsquo;configure.ac&rsquo;</TT> at top level</A>.
</P>
<P>
@@ -421,14 +432,14 @@ It is also important to understand that <CODE>gettextize</CODE> is not part
of the GNU build system, in the sense that it should not be invoked
automatically, and not be invoked by someone who doesn't assume the
responsibilities of a package maintainer. For the latter purpose, a
-separate tool is provided, see section <A HREF="gettext_13.html#SEC224">13.6.3 Invoking the <CODE>autopoint</CODE> Program</A>.
+separate tool is provided, see section <A HREF="gettext_13.html#SEC239">13.6.3 Invoking the <CODE>autopoint</CODE> Program</A>.
</P>
-<H2><A NAME="SEC200" HREF="gettext_toc.html#TOC200">13.4 Files You Must Create or Alter</A></H2>
+<H2><A NAME="SEC214" HREF="gettext_toc.html#TOC214">13.4 Files You Must Create or Alter</A></H2>
<P>
-<A NAME="IDX1071"></A>
+<A NAME="IDX1093"></A>
</P>
<P>
@@ -443,7 +454,7 @@ changes needed in each.
<P>
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
-<CODE>gettext</CODE> 0.16 distribution itself, or from the GNU
+<CODE>gettext</CODE> 0.17 distribution itself, or from the GNU
<CODE>hello</CODE> distribution (<A HREF="http://www.franken.de/users/gnu/ke/hello">http://www.franken.de/users/gnu/ke/hello</A>
or <A HREF="http://www.gnu.franken.de/ke/hello/">http://www.gnu.franken.de/ke/hello/</A>) You may indeed
refer to the source code of the GNU <CODE>gettext</CODE> and GNU <CODE>hello</CODE>
@@ -454,9 +465,9 @@ gettext functionality.
-<H3><A NAME="SEC201" HREF="gettext_toc.html#TOC201">13.4.1 <TT>&lsquo;POTFILES.in&rsquo;</TT> in <TT>&lsquo;po/&rsquo;</TT></A></H3>
+<H3><A NAME="SEC215" HREF="gettext_toc.html#TOC215">13.4.1 <TT>&lsquo;POTFILES.in&rsquo;</TT> in <TT>&lsquo;po/&rsquo;</TT></A></H3>
<P>
-<A NAME="IDX1072"></A>
+<A NAME="IDX1094"></A>
</P>
<P>
@@ -485,7 +496,7 @@ src/xgettext.c
<P>
Hash-marked comments and white lines are ignored. All other lines
list those source files containing strings marked for translation
-(see section <A HREF="gettext_4.html#SEC15">4.4 How Marks Appear in Sources</A>), in a notation relative to the top level
+(see section <A HREF="gettext_4.html#SEC20">4.4 How Marks Appear in Sources</A>), in a notation relative to the top level
of your whole distribution, rather than the location of the
<TT>&lsquo;POTFILES.in&rsquo;</TT> file itself.
@@ -500,9 +511,9 @@ case of <CODE>bison</CODE>), not the generated C file.
</P>
-<H3><A NAME="SEC202" HREF="gettext_toc.html#TOC202">13.4.2 <TT>&lsquo;LINGUAS&rsquo;</TT> in <TT>&lsquo;po/&rsquo;</TT></A></H3>
+<H3><A NAME="SEC216" HREF="gettext_toc.html#TOC216">13.4.2 <TT>&lsquo;LINGUAS&rsquo;</TT> in <TT>&lsquo;po/&rsquo;</TT></A></H3>
<P>
-<A NAME="IDX1073"></A>
+<A NAME="IDX1095"></A>
</P>
<P>
@@ -524,7 +535,7 @@ 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 <TT>&lsquo;LINGUAS&rsquo;</TT> file,
but rather by using the <CODE>LINGUAS</CODE> environment variable
-(see section <A HREF="gettext_14.html#SEC228">14 The Installer's and Distributor's View</A>).
+(see section <A HREF="gettext_14.html#SEC243">14 The Installer's and Distributor's View</A>).
</P>
<P>
@@ -549,9 +560,9 @@ directory; they are also installed by running <CODE>gettextize</CODE>.
</P>
-<H3><A NAME="SEC203" HREF="gettext_toc.html#TOC203">13.4.3 <TT>&lsquo;Makevars&rsquo;</TT> in <TT>&lsquo;po/&rsquo;</TT></A></H3>
+<H3><A NAME="SEC217" HREF="gettext_toc.html#TOC217">13.4.3 <TT>&lsquo;Makevars&rsquo;</TT> in <TT>&lsquo;po/&rsquo;</TT></A></H3>
<P>
-<A NAME="IDX1074"></A>
+<A NAME="IDX1096"></A>
</P>
<P>
@@ -570,11 +581,17 @@ locations need to adjust the three first variables defined in
<TT>&lsquo;Makevars&rsquo;</TT>.
</P>
+<P>
+As an alternative to the <CODE>XGETTEXT_OPTIONS</CODE> variables, it is also
+possible to specify <CODE>xgettext</CODE> options through the
+<CODE>AM_XGETTEXT_OPTION</CODE> autoconf macro. See section <A HREF="gettext_13.html#SEC234">13.5.6 AM_XGETTEXT_OPTION in <TT>&lsquo;po.m4&rsquo;</TT></A>.
+
+</P>
-<H3><A NAME="SEC204" HREF="gettext_toc.html#TOC204">13.4.4 Extending <TT>&lsquo;Makefile&rsquo;</TT> in <TT>&lsquo;po/&rsquo;</TT></A></H3>
+<H3><A NAME="SEC218" HREF="gettext_toc.html#TOC218">13.4.4 Extending <TT>&lsquo;Makefile&rsquo;</TT> in <TT>&lsquo;po/&rsquo;</TT></A></H3>
<P>
-<A NAME="IDX1075"></A>
+<A NAME="IDX1097"></A>
</P>
<P>
@@ -585,8 +602,8 @@ with <TT>&lsquo;po/Makefile.in.in&rsquo;</TT>.
</P>
<P>
-<A NAME="IDX1076"></A>
-<A NAME="IDX1077"></A>
+<A NAME="IDX1098"></A>
+<A NAME="IDX1099"></A>
GNU gettext comes with a <TT>&lsquo;Rules-quot&rsquo;</TT> file, containing rules for
building catalogs <TT>&lsquo;en@quot.po&rsquo;</TT> and <TT>&lsquo;en@boldquot.po&rsquo;</TT>. The
effect of <TT>&lsquo;en@quot.po&rsquo;</TT> is that people who set their <CODE>LANGUAGE</CODE>
@@ -606,15 +623,15 @@ GUI programs. To enable it, similarly add <CODE>en@boldquot</CODE> to the
Similarly, you can create rules for building message catalogs for the
<TT>&lsquo;sr@latin&rsquo;</TT> locale -- Serbian written with the Latin alphabet --
from those for the <TT>&lsquo;sr&rsquo;</TT> locale -- Serbian written with Cyrillic
-letters. See section <A HREF="gettext_9.html#SEC95">9.4 Invoking the <CODE>msgfilter</CODE> Program</A>.
+letters. See section <A HREF="gettext_9.html#SEC102">9.4 Invoking the <CODE>msgfilter</CODE> Program</A>.
</P>
-<H3><A NAME="SEC205" HREF="gettext_toc.html#TOC205">13.4.5 <TT>&lsquo;configure.in&rsquo;</TT> at top level</A></H3>
+<H3><A NAME="SEC219" HREF="gettext_toc.html#TOC219">13.4.5 <TT>&lsquo;configure.ac&rsquo;</TT> at top level</A></H3>
<P>
-<TT>&lsquo;configure.in&rsquo;</TT> or <TT>&lsquo;configure.ac&rsquo;</TT> - this is the source from which
+<TT>&lsquo;configure.ac&rsquo;</TT> or <TT>&lsquo;configure.in&rsquo;</TT> - this is the source from which
<CODE>autoconf</CODE> generates the <TT>&lsquo;configure&rsquo;</TT> script.
</P>
@@ -622,14 +639,14 @@ letters. See section <A HREF="gettext_9.html#SEC95">9.4 Invoking the <CODE>msg
<OL>
<LI>Declare the package and version.
-<A NAME="IDX1078"></A>
+<A NAME="IDX1100"></A>
This is done by a set of lines like these:
<PRE>
PACKAGE=gettext
-VERSION=0.16
+VERSION=0.17
AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
AC_SUBST(PACKAGE)
@@ -640,18 +657,18 @@ or, if you are using GNU <CODE>automake</CODE>, by a line like this:
<PRE>
-AM_INIT_AUTOMAKE(gettext, 0.16)
+AM_INIT_AUTOMAKE(gettext, 0.17)
</PRE>
Of course, you replace <SAMP>&lsquo;gettext&rsquo;</SAMP> with the name of your package,
-and <SAMP>&lsquo;0.16&rsquo;</SAMP> by its version numbers, exactly as they
+and <SAMP>&lsquo;0.17&rsquo;</SAMP> by its version numbers, exactly as they
should appear in the packaged <CODE>tar</CODE> file name of your distribution
-(<TT>&lsquo;gettext-0.16.tar.gz&rsquo;</TT>, here).
+(<TT>&lsquo;gettext-0.17.tar.gz&rsquo;</TT>, here).
<LI>Check for internationalization support.
Here is the main <CODE>m4</CODE> macro for triggering internationalization
-support. Just add this line to <TT>&lsquo;configure.in&rsquo;</TT>:
+support. Just add this line to <TT>&lsquo;configure.ac&rsquo;</TT>:
<PRE>
@@ -671,7 +688,7 @@ AM_GNU_GETTEXT([external])
<LI>Have output files created.
-The <CODE>AC_OUTPUT</CODE> directive, at the end of your <TT>&lsquo;configure.in&rsquo;</TT>
+The <CODE>AC_OUTPUT</CODE> directive, at the end of your <TT>&lsquo;configure.ac&rsquo;</TT>
file, needs to be modified in two ways:
@@ -719,7 +736,7 @@ by GNU autoconf.
</P>
-<H3><A NAME="SEC206" HREF="gettext_toc.html#TOC206">13.4.6 <TT>&lsquo;config.guess&rsquo;</TT>, <TT>&lsquo;config.sub&rsquo;</TT> at top level</A></H3>
+<H3><A NAME="SEC220" HREF="gettext_toc.html#TOC220">13.4.6 <TT>&lsquo;config.guess&rsquo;</TT>, <TT>&lsquo;config.sub&rsquo;</TT> at top level</A></H3>
<P>
If you haven't suppressed the <TT>&lsquo;intl/&rsquo;</TT> subdirectory,
@@ -750,7 +767,7 @@ top level of a distribution. But it is also possible to put them in a
subdirectory, altogether with other configuration support files like
<TT>&lsquo;install-sh&rsquo;</TT>, <TT>&lsquo;ltconfig&rsquo;</TT>, <TT>&lsquo;ltmain.sh&rsquo;</TT> or <TT>&lsquo;missing&rsquo;</TT>.
All you need to do, other than moving the files, is to add the following line
-to your <TT>&lsquo;configure.in&rsquo;</TT>.
+to your <TT>&lsquo;configure.ac&rsquo;</TT>.
</P>
@@ -760,9 +777,9 @@ AC_CONFIG_AUX_DIR([<VAR>subdir</VAR>])
-<H3><A NAME="SEC207" HREF="gettext_toc.html#TOC207">13.4.7 <TT>&lsquo;mkinstalldirs&rsquo;</TT> at top level</A></H3>
+<H3><A NAME="SEC221" HREF="gettext_toc.html#TOC221">13.4.7 <TT>&lsquo;mkinstalldirs&rsquo;</TT> at top level</A></H3>
<P>
-<A NAME="IDX1079"></A>
+<A NAME="IDX1101"></A>
</P>
<P>
@@ -774,22 +791,22 @@ automake 1.9.
</P>
-<H3><A NAME="SEC208" HREF="gettext_toc.html#TOC208">13.4.8 <TT>&lsquo;aclocal.m4&rsquo;</TT> at top level</A></H3>
+<H3><A NAME="SEC222" HREF="gettext_toc.html#TOC222">13.4.8 <TT>&lsquo;aclocal.m4&rsquo;</TT> at top level</A></H3>
<P>
-<A NAME="IDX1080"></A>
+<A NAME="IDX1102"></A>
</P>
<P>
If you do not have an <TT>&lsquo;aclocal.m4&rsquo;</TT> file in your distribution,
the simplest is to concatenate the files <TT>&lsquo;codeset.m4&rsquo;</TT>,
<TT>&lsquo;gettext.m4&rsquo;</TT>, <TT>&lsquo;glibc2.m4&rsquo;</TT>, <TT>&lsquo;glibc21.m4&rsquo;</TT>, <TT>&lsquo;iconv.m4&rsquo;</TT>,
-<TT>&lsquo;intdiv0.m4&rsquo;</TT>, <TT>&lsquo;intl.m4&rsquo;</TT>, <TT>&lsquo;intldir.m4&rsquo;</TT>, <TT>&lsquo;intmax.m4&rsquo;</TT>,
-<TT>&lsquo;inttypes_h.m4&rsquo;</TT>, <TT>&lsquo;inttypes-pri.m4&rsquo;</TT>, <TT>&lsquo;lcmessage.m4&rsquo;</TT>,
-<TT>&lsquo;lib-ld.m4&rsquo;</TT>, <TT>&lsquo;lib-link.m4&rsquo;</TT>, <TT>&lsquo;lib-prefix.m4&rsquo;</TT>, <TT>&lsquo;lock.m4&rsquo;</TT>,
-<TT>&lsquo;longdouble.m4&rsquo;</TT>, <TT>&lsquo;longlong.m4&rsquo;</TT>, <TT>&lsquo;nls.m4&rsquo;</TT>, <TT>&lsquo;po.m4&rsquo;</TT>,
-<TT>&lsquo;printf-posix.m4&rsquo;</TT>, <TT>&lsquo;progtest.m4&rsquo;</TT>, <TT>&lsquo;size_max.m4&rsquo;</TT>,
-<TT>&lsquo;stdint_h.m4&rsquo;</TT>, <TT>&lsquo;uintmax_t.m4&rsquo;</TT>, <TT>&lsquo;ulonglong.m4&rsquo;</TT>,
-<TT>&lsquo;visibility.m4&rsquo;</TT>, <TT>&lsquo;wchar_t.m4&rsquo;</TT>, <TT>&lsquo;wint_t.m4&rsquo;</TT>, <TT>&lsquo;xsize.m4&rsquo;</TT>
+<TT>&lsquo;intdiv0.m4&rsquo;</TT>, <TT>&lsquo;intl.m4&rsquo;</TT>, <TT>&lsquo;intldir.m4&rsquo;</TT>, <TT>&lsquo;intlmacosx.m4&rsquo;</TT>,
+<TT>&lsquo;intmax.m4&rsquo;</TT>, <TT>&lsquo;inttypes_h.m4&rsquo;</TT>, <TT>&lsquo;inttypes-pri.m4&rsquo;</TT>,
+<TT>&lsquo;lcmessage.m4&rsquo;</TT>, <TT>&lsquo;lib-ld.m4&rsquo;</TT>, <TT>&lsquo;lib-link.m4&rsquo;</TT>,
+<TT>&lsquo;lib-prefix.m4&rsquo;</TT>, <TT>&lsquo;lock.m4&rsquo;</TT>, <TT>&lsquo;longlong.m4&rsquo;</TT>, <TT>&lsquo;nls.m4&rsquo;</TT>,
+<TT>&lsquo;po.m4&rsquo;</TT>, <TT>&lsquo;printf-posix.m4&rsquo;</TT>, <TT>&lsquo;progtest.m4&rsquo;</TT>, <TT>&lsquo;size_max.m4&rsquo;</TT>,
+<TT>&lsquo;stdint_h.m4&rsquo;</TT>, <TT>&lsquo;uintmax_t.m4&rsquo;</TT>, <TT>&lsquo;visibility.m4&rsquo;</TT>,
+<TT>&lsquo;wchar_t.m4&rsquo;</TT>, <TT>&lsquo;wint_t.m4&rsquo;</TT>, <TT>&lsquo;xsize.m4&rsquo;</TT>
from GNU <CODE>gettext</CODE>'s
<TT>&lsquo;m4/&rsquo;</TT> directory into a single file. If you have suppressed the
<TT>&lsquo;intl/&rsquo;</TT> directory, only <TT>&lsquo;gettext.m4&rsquo;</TT>, <TT>&lsquo;iconv.m4&rsquo;</TT>,
@@ -838,9 +855,9 @@ piece of <CODE>m4</CODE> code will be the same for all projects using GNU
</P>
-<H3><A NAME="SEC209" HREF="gettext_toc.html#TOC209">13.4.9 <TT>&lsquo;acconfig.h&rsquo;</TT> at top level</A></H3>
+<H3><A NAME="SEC223" HREF="gettext_toc.html#TOC223">13.4.9 <TT>&lsquo;acconfig.h&rsquo;</TT> at top level</A></H3>
<P>
-<A NAME="IDX1081"></A>
+<A NAME="IDX1103"></A>
</P>
<P>
@@ -854,9 +871,9 @@ independently from the <TT>&lsquo;intl/&rsquo;</TT> directory.
</P>
-<H3><A NAME="SEC210" HREF="gettext_toc.html#TOC210">13.4.10 <TT>&lsquo;config.h.in&rsquo;</TT> at top level</A></H3>
+<H3><A NAME="SEC224" HREF="gettext_toc.html#TOC224">13.4.10 <TT>&lsquo;config.h.in&rsquo;</TT> at top level</A></H3>
<P>
-<A NAME="IDX1082"></A>
+<A NAME="IDX1104"></A>
</P>
<P>
@@ -903,7 +920,7 @@ following lines to <TT>&lsquo;config.h.in&rsquo;</TT>:
-<H3><A NAME="SEC211" HREF="gettext_toc.html#TOC211">13.4.11 <TT>&lsquo;Makefile.in&rsquo;</TT> at top level</A></H3>
+<H3><A NAME="SEC225" HREF="gettext_toc.html#TOC225">13.4.11 <TT>&lsquo;Makefile.in&rsquo;</TT> at top level</A></H3>
<P>
Here are a few modifications you need to make to your main, top-level
@@ -990,7 +1007,7 @@ to <TT>&lsquo;Makefile.am&rsquo;</TT> are already made by running <SAMP>&lsquo;g
</P>
-<H3><A NAME="SEC212" HREF="gettext_toc.html#TOC212">13.4.12 <TT>&lsquo;Makefile.in&rsquo;</TT> in <TT>&lsquo;src/&rsquo;</TT></A></H3>
+<H3><A NAME="SEC226" HREF="gettext_toc.html#TOC226">13.4.12 <TT>&lsquo;Makefile.in&rsquo;</TT> in <TT>&lsquo;src/&rsquo;</TT></A></H3>
<P>
Some of the modifications made in the main <TT>&lsquo;Makefile.in&rsquo;</TT> will
@@ -1038,7 +1055,7 @@ subdir = src
<LI>
The <CODE>main</CODE> function of your program will normally call
-<CODE>bindtextdomain</CODE> (see see section <A HREF="gettext_4.html#SEC13">4.2 Triggering <CODE>gettext</CODE> Operations</A>), like this:
+<CODE>bindtextdomain</CODE> (see see section <A HREF="gettext_4.html#SEC18">4.2 Triggering <CODE>gettext</CODE> Operations</A>), like this:
<PRE>
@@ -1181,11 +1198,11 @@ AM_CPPFLAGS = -I../intl -I$(top_srcdir)/intl
-<H3><A NAME="SEC213" HREF="gettext_toc.html#TOC213">13.4.13 <TT>&lsquo;gettext.h&rsquo;</TT> in <TT>&lsquo;lib/&rsquo;</TT></A></H3>
+<H3><A NAME="SEC227" HREF="gettext_toc.html#TOC227">13.4.13 <TT>&lsquo;gettext.h&rsquo;</TT> in <TT>&lsquo;lib/&rsquo;</TT></A></H3>
<P>
-<A NAME="IDX1083"></A>
-<A NAME="IDX1084"></A>
-<A NAME="IDX1085"></A>
+<A NAME="IDX1105"></A>
+<A NAME="IDX1106"></A>
+<A NAME="IDX1107"></A>
</P>
<P>
@@ -1222,7 +1239,7 @@ to 0 in C preprocessor expressions.
</P>
<P>
-<A NAME="IDX1086"></A>
+<A NAME="IDX1108"></A>
<TT>&lsquo;gettext.h&rsquo;</TT> is a convenience header file for conditional use of
<TT>&lsquo;&#60;libintl.h&#62;&rsquo;</TT>, depending on the <CODE>ENABLE_NLS</CODE> macro. If
<CODE>ENABLE_NLS</CODE> is set, it includes <TT>&lsquo;&#60;libintl.h&#62;&rsquo;</TT>; otherwise it
@@ -1261,14 +1278,14 @@ package that needs it should contain a copy of it on its own.
</P>
-<H2><A NAME="SEC214" HREF="gettext_toc.html#TOC214">13.5 Autoconf macros for use in <TT>&lsquo;configure.in&rsquo;</TT></A></H2>
+<H2><A NAME="SEC228" HREF="gettext_toc.html#TOC228">13.5 Autoconf macros for use in <TT>&lsquo;configure.ac&rsquo;</TT></A></H2>
<P>
-<A NAME="IDX1087"></A>
+<A NAME="IDX1109"></A>
</P>
<P>
GNU <CODE>gettext</CODE> installs macros for use in a package's
-<TT>&lsquo;configure.in&rsquo;</TT> or <TT>&lsquo;configure.ac&rsquo;</TT>.
+<TT>&lsquo;configure.ac&rsquo;</TT> or <TT>&lsquo;configure.in&rsquo;</TT>.
See section ‘Introduction’ in <CITE>The Autoconf Manual</CITE>.
The primary macro is, of course, <CODE>AM_GNU_GETTEXT</CODE>.
@@ -1276,10 +1293,10 @@ The primary macro is, of course, <CODE>AM_GNU_GETTEXT</CODE>.
-<H3><A NAME="SEC215" HREF="gettext_toc.html#TOC215">13.5.1 AM_GNU_GETTEXT in <TT>&lsquo;gettext.m4&rsquo;</TT></A></H3>
+<H3><A NAME="SEC229" HREF="gettext_toc.html#TOC229">13.5.1 AM_GNU_GETTEXT in <TT>&lsquo;gettext.m4&rsquo;</TT></A></H3>
<P>
-<A NAME="IDX1088"></A>
+<A NAME="IDX1110"></A>
The <CODE>AM_GNU_GETTEXT</CODE> macro tests for the presence of the GNU gettext
function family in either the C library or a separate <CODE>libintl</CODE>
library (shared or static libraries are both supported) or in the package's
@@ -1349,7 +1366,7 @@ The complexities that <CODE>AM_GNU_GETTEXT</CODE> deals with are the following:
<UL>
<LI>
-<A NAME="IDX1089"></A>
+<A NAME="IDX1111"></A>
Some operating systems have <CODE>gettext</CODE> in the C library, for example
glibc. Some have it in a separate library <CODE>libintl</CODE>. GNU <CODE>libintl</CODE>
might have been installed as part of the GNU <CODE>gettext</CODE> package.
@@ -1385,26 +1402,25 @@ and <CODE>LTLIBINTL</CODE> variables.
-<H3><A NAME="SEC216" HREF="gettext_toc.html#TOC216">13.5.2 AM_GNU_GETTEXT_VERSION in <TT>&lsquo;gettext.m4&rsquo;</TT></A></H3>
+<H3><A NAME="SEC230" HREF="gettext_toc.html#TOC230">13.5.2 AM_GNU_GETTEXT_VERSION in <TT>&lsquo;gettext.m4&rsquo;</TT></A></H3>
<P>
-<A NAME="IDX1090"></A>
+<A NAME="IDX1112"></A>
The <CODE>AM_GNU_GETTEXT_VERSION</CODE> macro declares the version number of
the GNU gettext infrastructure that is used by the package.
</P>
<P>
The use of this macro is optional; only the <CODE>autopoint</CODE> program makes
-use of it (see section <A HREF="gettext_13.html#SEC221">13.6 Integrating with CVS</A>).
+use of it (see section <A HREF="gettext_13.html#SEC236">13.6 Integrating with CVS</A>).
</P>
-
-<H3><A NAME="SEC217" HREF="gettext_toc.html#TOC217">13.5.3 AM_GNU_GETTEXT_NEED in <TT>&lsquo;gettext.m4&rsquo;</TT></A></H3>
+<H3><A NAME="SEC231" HREF="gettext_toc.html#TOC231">13.5.3 AM_GNU_GETTEXT_NEED in <TT>&lsquo;gettext.m4&rsquo;</TT></A></H3>
<P>
-<A NAME="IDX1091"></A>
+<A NAME="IDX1113"></A>
The <CODE>AM_GNU_GETTEXT_NEED</CODE> macro declares a constraint regarding the
GNU gettext implementation. The syntax is
@@ -1434,10 +1450,10 @@ the <CODE>AM_GNU_GETTEXT</CODE> invocation; the order doesn't matter.
</P>
-<H3><A NAME="SEC218" HREF="gettext_toc.html#TOC218">13.5.4 AM_GNU_GETTEXT_INTL_SUBDIR in <TT>&lsquo;intldir.m4&rsquo;</TT></A></H3>
+<H3><A NAME="SEC232" HREF="gettext_toc.html#TOC232">13.5.4 AM_GNU_GETTEXT_INTL_SUBDIR in <TT>&lsquo;intldir.m4&rsquo;</TT></A></H3>
<P>
-<A NAME="IDX1092"></A>
+<A NAME="IDX1114"></A>
The <CODE>AM_GNU_GETTEXT_INTL_SUBDIR</CODE> macro specifies that the
<CODE>AM_GNU_GETTEXT</CODE> macro, although invoked with the first argument
<SAMP>&lsquo;external&rsquo;</SAMP>, should also prepare for building the <TT>&lsquo;intl/&rsquo;</TT>
@@ -1456,14 +1472,14 @@ GNU autoconf 2.61 or newer.
</P>
-<H3><A NAME="SEC219" HREF="gettext_toc.html#TOC219">13.5.5 AM_PO_SUBDIRS in <TT>&lsquo;po.m4&rsquo;</TT></A></H3>
+<H3><A NAME="SEC233" HREF="gettext_toc.html#TOC233">13.5.5 AM_PO_SUBDIRS in <TT>&lsquo;po.m4&rsquo;</TT></A></H3>
<P>
-<A NAME="IDX1093"></A>
+<A NAME="IDX1115"></A>
The <CODE>AM_PO_SUBDIRS</CODE> macro prepares the <TT>&lsquo;po/&rsquo;</TT> directories of the
package for building. This macro should be used in internationalized
programs written in other programming languages than C, C++, Objective C,
-for example <CODE>sh</CODE>, <CODE>Python</CODE>, <CODE>Lisp</CODE>. See section <A HREF="gettext_15.html#SEC229">15 Other Programming Languages</A> for a list of programming languages that support localization
+for example <CODE>sh</CODE>, <CODE>Python</CODE>, <CODE>Lisp</CODE>. See section <A HREF="gettext_15.html#SEC244">15 Other Programming Languages</A> for a list of programming languages that support localization
through PO files.
</P>
@@ -1476,10 +1492,44 @@ variables in each <TT>&lsquo;po/&rsquo;</TT> directory.
</P>
-<H3><A NAME="SEC220" HREF="gettext_toc.html#TOC220">13.5.6 AM_ICONV in <TT>&lsquo;iconv.m4&rsquo;</TT></A></H3>
+<H3><A NAME="SEC234" HREF="gettext_toc.html#TOC234">13.5.6 AM_XGETTEXT_OPTION in <TT>&lsquo;po.m4&rsquo;</TT></A></H3>
<P>
-<A NAME="IDX1094"></A>
+<A NAME="IDX1116"></A>
+The <CODE>AM_XGETTEXT_OPTION</CODE> macro registers a command-line option to be
+used in the invocations of <CODE>xgettext</CODE> in the <TT>&lsquo;po/&rsquo;</TT> directories
+of the package.
+
+</P>
+<P>
+For example, if you have a source file that defines a function
+<SAMP>&lsquo;error_at_line&rsquo;</SAMP> whose fifth argument is a format string, you can use
+
+<PRE>
+AM_XGETTEXT_OPTION([--flag=error_at_line:5:c-format])
+</PRE>
+
+<P>
+to instruct <CODE>xgettext</CODE> to mark all translatable strings in <SAMP>&lsquo;gettext&rsquo;</SAMP>
+invocations that occur as fifth argument to this function as <SAMP>&lsquo;c-format&rsquo;</SAMP>.
+
+</P>
+<P>
+See section <A HREF="gettext_5.html#SEC28">5.1 Invoking the <CODE>xgettext</CODE> Program</A> for the list of options that <CODE>xgettext</CODE>
+accepts.
+
+</P>
+<P>
+The use of this macro is an alternative to the use of the
+<SAMP>&lsquo;XGETTEXT_OPTIONS&rsquo;</SAMP> variable in <TT>&lsquo;po/Makevars&rsquo;</TT>.
+
+</P>
+
+
+<H3><A NAME="SEC235" HREF="gettext_toc.html#TOC235">13.5.7 AM_ICONV in <TT>&lsquo;iconv.m4&rsquo;</TT></A></H3>
+
+<P>
+<A NAME="IDX1117"></A>
The <CODE>AM_ICONV</CODE> macro tests for the presence of the POSIX/XSI
<CODE>iconv</CODE> function family in either the C library or a separate
<CODE>libiconv</CODE> library. If found, it sets the <CODE>am_cv_func_iconv</CODE>
@@ -1503,7 +1553,7 @@ The complexities that <CODE>AM_ICONV</CODE> deals with are the following:
<UL>
<LI>
-<A NAME="IDX1095"></A>
+<A NAME="IDX1118"></A>
Some operating systems have <CODE>iconv</CODE> in the C library, for example
glibc. Some have it in a separate library <CODE>libiconv</CODE>, for example
OSF/1 or FreeBSD. Regardless of the operating system, GNU <CODE>libiconv</CODE>
@@ -1540,7 +1590,7 @@ library support, like SCO.
</P>
-<H2><A NAME="SEC221" HREF="gettext_toc.html#TOC221">13.6 Integrating with CVS</A></H2>
+<H2><A NAME="SEC236" HREF="gettext_toc.html#TOC236">13.6 Integrating with CVS</A></H2>
<P>
Many projects use CVS for distributed development, version control and
@@ -1551,13 +1601,13 @@ of <CODE>cvs</CODE>, <CODE>gettextize</CODE>, <CODE>autopoint</CODE> and <CODE>a
-<H3><A NAME="SEC222" HREF="gettext_toc.html#TOC222">13.6.1 Avoiding version mismatch in distributed development</A></H3>
+<H3><A NAME="SEC237" HREF="gettext_toc.html#TOC237">13.6.1 Avoiding version mismatch in distributed development</A></H3>
<P>
In a project development with multiple developers, using CVS, there
should be a single developer who occasionally - when there is desire to
upgrade to a new <CODE>gettext</CODE> version - runs <CODE>gettextize</CODE> and
-performs the changes listed in section <A HREF="gettext_13.html#SEC200">13.4 Files You Must Create or Alter</A>, and then commits
+performs the changes listed in section <A HREF="gettext_13.html#SEC214">13.4 Files You Must Create or Alter</A>, and then commits
his changes to the CVS.
</P>
@@ -1574,7 +1624,7 @@ Otherwise the following damages will likely occur:
<LI>
Apparent version mismatch between developers. Since some <CODE>gettext</CODE>
-specific portions in <TT>&lsquo;configure.in&rsquo;</TT>, <TT>&lsquo;configure.ac&rsquo;</TT> and
+specific portions in <TT>&lsquo;configure.ac&rsquo;</TT>, <TT>&lsquo;configure.in&rsquo;</TT> and
<CODE>Makefile.am</CODE>, <CODE>Makefile.in</CODE> files depend on the <CODE>gettext</CODE>
version, the use of infrastructure files belonging to different
<CODE>gettext</CODE> versions can easily lead to build errors.
@@ -1599,12 +1649,12 @@ undiscovered due to this constellation.
-<H3><A NAME="SEC223" HREF="gettext_toc.html#TOC223">13.6.2 Files to put under CVS version control</A></H3>
+<H3><A NAME="SEC238" HREF="gettext_toc.html#TOC238">13.6.2 Files to put under CVS version control</A></H3>
<P>
There are basically three ways to deal with generated files in the
context of a CVS repository, such as <TT>&lsquo;configure&rsquo;</TT> generated from
-<TT>&lsquo;configure.in&rsquo;</TT>, <CODE><VAR>parser</VAR>.c</CODE> generated from
+<TT>&lsquo;configure.ac&rsquo;</TT>, <CODE><VAR>parser</VAR>.c</CODE> generated from
<CODE><VAR>parser</VAR>.y</CODE>, or <CODE>po/Makefile.in.in</CODE> autoinstalled by
<CODE>gettextize</CODE> or <CODE>autopoint</CODE>.
@@ -1667,13 +1717,13 @@ committed into the CVS.
<P>
For the third approach, the maintainer can omit from the CVS repository
all the files that <CODE>gettextize</CODE> mentions as "copy". Instead, he
-adds to the <TT>&lsquo;configure.in&rsquo;</TT> or <TT>&lsquo;configure.ac&rsquo;</TT> a line of the
+adds to the <TT>&lsquo;configure.ac&rsquo;</TT> or <TT>&lsquo;configure.in&rsquo;</TT> a line of the
form
</P>
<PRE>
-AM_GNU_GETTEXT_VERSION(0.16)
+AM_GNU_GETTEXT_VERSION(0.17)
</PRE>
<P>
@@ -1699,11 +1749,11 @@ installed.
</P>
-<H3><A NAME="SEC224" HREF="gettext_toc.html#TOC224">13.6.3 Invoking the <CODE>autopoint</CODE> Program</A></H3>
+<H3><A NAME="SEC239" HREF="gettext_toc.html#TOC239">13.6.3 Invoking the <CODE>autopoint</CODE> Program</A></H3>
<P>
-<A NAME="IDX1096"></A>
-<A NAME="IDX1097"></A>
+<A NAME="IDX1119"></A>
+<A NAME="IDX1120"></A>
<PRE>
autopoint [<VAR>option</VAR>]...
@@ -1720,7 +1770,7 @@ this version into the package.
</P>
-<H4><A NAME="SEC225" HREF="gettext_toc.html#TOC225">13.6.3.1 Options</A></H4>
+<H4><A NAME="SEC240" HREF="gettext_toc.html#TOC240">13.6.3.1 Options</A></H4>
<DL COMPACT>
@@ -1728,16 +1778,16 @@ this version into the package.
<DD>
<DT><SAMP>&lsquo;--force&rsquo;</SAMP>
<DD>
-<A NAME="IDX1098"></A>
-<A NAME="IDX1099"></A>
+<A NAME="IDX1121"></A>
+<A NAME="IDX1122"></A>
Force overwriting of files that already exist.
<DT><SAMP>&lsquo;-n&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--dry-run&rsquo;</SAMP>
<DD>
-<A NAME="IDX1100"></A>
-<A NAME="IDX1101"></A>
+<A NAME="IDX1123"></A>
+<A NAME="IDX1124"></A>
Print modifications but don't perform them. All file copying actions that
<CODE>autopoint</CODE> would normally execute are inhibited and instead only
listed on standard output.
@@ -1746,26 +1796,26 @@ listed on standard output.
-<H4><A NAME="SEC226" HREF="gettext_toc.html#TOC226">13.6.3.2 Informative output</A></H4>
+<H4><A NAME="SEC241" HREF="gettext_toc.html#TOC241">13.6.3.2 Informative output</A></H4>
<DL COMPACT>
<DT><SAMP>&lsquo;--help&rsquo;</SAMP>
<DD>
-<A NAME="IDX1102"></A>
+<A NAME="IDX1125"></A>
Display this help and exit.
<DT><SAMP>&lsquo;--version&rsquo;</SAMP>
<DD>
-<A NAME="IDX1103"></A>
+<A NAME="IDX1126"></A>
Output version information and exit.
</DL>
<P>
<CODE>autopoint</CODE> supports the GNU <CODE>gettext</CODE> versions from 0.10.35 to
-the current one, 0.16. In order to apply <CODE>autopoint</CODE> to
-a package using a <CODE>gettext</CODE> version newer than 0.16, you
+the current one, 0.17. In order to apply <CODE>autopoint</CODE> to
+a package using a <CODE>gettext</CODE> version newer than 0.17, you
need to install this same version of GNU <CODE>gettext</CODE> at least.
</P>
@@ -1787,11 +1837,11 @@ the tool copies or updates mostly files in the <TT>&lsquo;po&rsquo;</TT>, <TT>&l
</P>
-<H2><A NAME="SEC227" HREF="gettext_toc.html#TOC227">13.7 Creating a Distribution Tarball</A></H2>
+<H2><A NAME="SEC242" HREF="gettext_toc.html#TOC242">13.7 Creating a Distribution Tarball</A></H2>
<P>
-<A NAME="IDX1104"></A>
-<A NAME="IDX1105"></A>
+<A NAME="IDX1127"></A>
+<A NAME="IDX1128"></A>
In projects that use GNU <CODE>automake</CODE>, the usual commands for creating
a distribution tarball, <SAMP>&lsquo;make dist&rsquo;</SAMP> or <SAMP>&lsquo;make distcheck&rsquo;</SAMP>,
automatically update the PO files as needed.
diff --git a/gettext-tools/doc/gettext_14.html b/gettext-tools/doc/gettext_14.html
index 434b0fe..50035e8 100644
--- a/gettext-tools/doc/gettext_14.html
+++ b/gettext-tools/doc/gettext_14.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 25 October 2006 -->
+ from gettext.texi on 4 November 2007 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - 14 The Installer's and Distributor's View</TITLE>
@@ -11,12 +11,12 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_13.html">previous
<P><HR><P>
-<H1><A NAME="SEC228" HREF="gettext_toc.html#TOC228">14 The Installer's and Distributor's View</A></H1>
+<H1><A NAME="SEC243" HREF="gettext_toc.html#TOC243">14 The Installer's and Distributor's View</A></H1>
<P>
-<A NAME="IDX1106"></A>
-<A NAME="IDX1107"></A>
-<A NAME="IDX1108"></A>
-<A NAME="IDX1109"></A>
+<A NAME="IDX1129"></A>
+<A NAME="IDX1130"></A>
+<A NAME="IDX1131"></A>
+<A NAME="IDX1132"></A>
</P>
<P>
@@ -35,7 +35,7 @@ produces programs totally unable to translate messages.
</P>
<P>
-<A NAME="IDX1110"></A>
+<A NAME="IDX1133"></A>
Internationalized packages have usually many <TT>&lsquo;<VAR>ll</VAR>.po&rsquo;</TT>
files. Unless
translations are disabled, all those available are installed together
diff --git a/gettext-tools/doc/gettext_15.html b/gettext-tools/doc/gettext_15.html
index 72b8e94..0ac29a3 100644
--- a/gettext-tools/doc/gettext_15.html
+++ b/gettext-tools/doc/gettext_15.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 25 October 2006 -->
+ from gettext.texi on 4 November 2007 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - 15 Other Programming Languages</TITLE>
@@ -11,7 +11,7 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_14.html">previous
<P><HR><P>
-<H1><A NAME="SEC229" HREF="gettext_toc.html#TOC229">15 Other Programming Languages</A></H1>
+<H1><A NAME="SEC244" HREF="gettext_toc.html#TOC244">15 Other Programming Languages</A></H1>
<P>
While the presentation of <CODE>gettext</CODE> focuses mostly on C and
@@ -24,10 +24,10 @@ approach.
-<H2><A NAME="SEC230" HREF="gettext_toc.html#TOC230">15.1 The Language Implementor's View</A></H2>
+<H2><A NAME="SEC245" HREF="gettext_toc.html#TOC245">15.1 The Language Implementor's View</A></H2>
<P>
-<A NAME="IDX1111"></A>
-<A NAME="IDX1112"></A>
+<A NAME="IDX1134"></A>
+<A NAME="IDX1135"></A>
</P>
<P>
@@ -58,7 +58,7 @@ Similarly, you should make the functions <CODE>ngettext</CODE>,
<CODE>dcgettext</CODE>, <CODE>dcngettext</CODE> available from within the language.
These functions are less often used, but are nevertheless necessary for
particular purposes: <CODE>ngettext</CODE> for correct plural handling, and
-<CODE>dcgettext</CODE> and <CODE>dcngettext</CODE> for obeying other locale
+<CODE>dcgettext</CODE> and <CODE>dcngettext</CODE> for obeying other locale-related
environment variables than <CODE>LC_MESSAGES</CODE>, such as <CODE>LC_TIME</CODE> or
<CODE>LC_MONETARY</CODE>. For these latter functions, you need to make the
<CODE>LC_*</CODE> constants, available in the C header <CODE>&#60;locale.h&#62;</CODE>,
@@ -79,7 +79,7 @@ function.
You should either perform a <CODE>setlocale (LC_ALL, "")</CODE> 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 <CODE>LC_MESSAGES</CODE> and
-<CODE>LC_CTYPE</CODE> locale facets are not both set.
+<CODE>LC_CTYPE</CODE> locale categories are not both set.
<LI>
@@ -96,7 +96,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. See section <A HREF="gettext_4.html#SEC17">4.6 Special Comments preceding Keywords</A>.
+output the substituted arguments in different order. See section <A HREF="gettext_4.html#SEC22">4.6 Special Comments preceding Keywords</A>.
<LI>
@@ -109,7 +109,7 @@ without actually translating the strings.
<LI>
To help the programmer in the task of marking translatable strings,
-which is sometimes performed using the Emacs PO mode (see section <A HREF="gettext_4.html#SEC16">4.5 Marking Translatable Strings</A>),
+which is sometimes performed using the Emacs PO mode (see section <A HREF="gettext_4.html#SEC21">4.5 Marking Translatable Strings</A>),
you are welcome to
contact the GNU <CODE>gettext</CODE> maintainers, so they can add support for
your language to <TT>&lsquo;po-mode.el&rsquo;</TT>.
@@ -125,7 +125,7 @@ different effects on portability and copyright:
<LI>
You may integrate the GNU <CODE>gettext</CODE>'s <TT>&lsquo;intl/&rsquo;</TT> directory in
-your package, as described in section <A HREF="gettext_13.html#SEC196">13 The Maintainer's View</A>. This allows you to
+your package, as described in section <A HREF="gettext_13.html#SEC210">13 The Maintainer's View</A>. 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
@@ -151,7 +151,7 @@ and plural handling).
-<H2><A NAME="SEC231" HREF="gettext_toc.html#TOC231">15.2 The Programmer's View</A></H2>
+<H2><A NAME="SEC246" HREF="gettext_toc.html#TOC246">15.2 The Programmer's View</A></H2>
<P>
For the programmer, the general procedure is the same as for the C
@@ -164,7 +164,7 @@ underlying language runtime.
</P>
-<H2><A NAME="SEC232" HREF="gettext_toc.html#TOC232">15.3 The Translator's View</A></H2>
+<H2><A NAME="SEC247" HREF="gettext_toc.html#TOC247">15.3 The Translator's View</A></H2>
<P>
The translator works exactly as in the C language case. The only
@@ -176,7 +176,7 @@ strings.
-<H3><A NAME="SEC233" HREF="gettext_toc.html#TOC233">15.3.1 C Format Strings</A></H3>
+<H3><A NAME="SEC248" HREF="gettext_toc.html#TOC248">15.3.1 C Format Strings</A></H3>
<P>
C format strings are described in POSIX (IEEE P1003.1 2001), section
@@ -214,14 +214,14 @@ activates these replacement functions automatically.
</P>
<P>
-<A NAME="IDX1113"></A>
-<A NAME="IDX1114"></A>
+<A NAME="IDX1136"></A>
+<A NAME="IDX1137"></A>
As a special feature for Farsi (Persian) and maybe Arabic, translators can
insert an <SAMP>&lsquo;I&rsquo;</SAMP> flag into numeric format directives. For example, the
translation of <CODE>"%d"</CODE> can be <CODE>"%Id"</CODE>. The effect of this flag,
on systems with GNU <CODE>libc</CODE>, is that in the output, the ASCII digits are
replaced with the <SAMP>&lsquo;outdigits&rsquo;</SAMP> defined in the <CODE>LC_CTYPE</CODE> locale
-facet. On other systems, the <CODE>gettext</CODE> function removes this flag,
+category. On other systems, the <CODE>gettext</CODE> function removes this flag,
so that it has no effect.
</P>
@@ -234,7 +234,7 @@ glibc when NLS is disabled.)
</P>
-<H3><A NAME="SEC234" HREF="gettext_toc.html#TOC234">15.3.2 Objective C Format Strings</A></H3>
+<H3><A NAME="SEC249" HREF="gettext_toc.html#TOC249">15.3.2 Objective C Format Strings</A></H3>
<P>
Objective C format strings are like C format strings. They support an
@@ -244,7 +244,7 @@ of type <CODE>Object *</CODE>.
</P>
-<H3><A NAME="SEC235" HREF="gettext_toc.html#TOC235">15.3.3 Shell Format Strings</A></H3>
+<H3><A NAME="SEC250" HREF="gettext_toc.html#TOC250">15.3.3 Shell Format Strings</A></H3>
<P>
Shell format strings, as supported by GNU gettext and the <SAMP>&lsquo;envsubst&rsquo;</SAMP>
@@ -266,7 +266,7 @@ a variable reference is ignored.
</P>
-<H3><A NAME="SEC236" HREF="gettext_toc.html#TOC236">15.3.4 Python Format Strings</A></H3>
+<H3><A NAME="SEC251" HREF="gettext_toc.html#TOC251">15.3.4 Python Format Strings</A></H3>
<P>
Python format strings are described in
@@ -280,7 +280,7 @@ Python Library reference /
</P>
-<H3><A NAME="SEC237" HREF="gettext_toc.html#TOC237">15.3.5 Lisp Format Strings</A></H3>
+<H3><A NAME="SEC252" HREF="gettext_toc.html#TOC252">15.3.5 Lisp Format Strings</A></H3>
<P>
Lisp format strings are described in the Common Lisp HyperSpec,
@@ -290,7 +290,7 @@ chapter 22.3 Formatted Output,
</P>
-<H3><A NAME="SEC238" HREF="gettext_toc.html#TOC238">15.3.6 Emacs Lisp Format Strings</A></H3>
+<H3><A NAME="SEC253" HREF="gettext_toc.html#TOC253">15.3.6 Emacs Lisp Format Strings</A></H3>
<P>
Emacs Lisp format strings are documented in the Emacs Lisp reference,
@@ -302,7 +302,7 @@ in format strings while FSF Emacs doesn't.
</P>
-<H3><A NAME="SEC239" HREF="gettext_toc.html#TOC239">15.3.7 librep Format Strings</A></H3>
+<H3><A NAME="SEC254" HREF="gettext_toc.html#TOC254">15.3.7 librep Format Strings</A></H3>
<P>
librep format strings are documented in the librep manual, section
@@ -313,7 +313,7 @@ Formatted Output,
</P>
-<H3><A NAME="SEC240" HREF="gettext_toc.html#TOC240">15.3.8 Scheme Format Strings</A></H3>
+<H3><A NAME="SEC255" HREF="gettext_toc.html#TOC255">15.3.8 Scheme Format Strings</A></H3>
<P>
Scheme format strings are documented in the SLIB manual, section
@@ -322,7 +322,7 @@ Format Specification.
</P>
-<H3><A NAME="SEC241" HREF="gettext_toc.html#TOC241">15.3.9 Smalltalk Format Strings</A></H3>
+<H3><A NAME="SEC256" HREF="gettext_toc.html#TOC256">15.3.9 Smalltalk Format Strings</A></H3>
<P>
Smalltalk format strings are described in the GNU Smalltalk documentation,
@@ -335,7 +335,7 @@ or a nonzero digit (<SAMP>&lsquo;1&rsquo;</SAMP> to <SAMP>&lsquo;9&rsquo;</SAMP>
</P>
-<H3><A NAME="SEC242" HREF="gettext_toc.html#TOC242">15.3.10 Java Format Strings</A></H3>
+<H3><A NAME="SEC257" HREF="gettext_toc.html#TOC257">15.3.10 Java Format Strings</A></H3>
<P>
Java format strings are described in the JDK documentation for class
@@ -347,7 +347,7 @@ See also the ICU documentation
</P>
-<H3><A NAME="SEC243" HREF="gettext_toc.html#TOC243">15.3.11 C# Format Strings</A></H3>
+<H3><A NAME="SEC258" HREF="gettext_toc.html#TOC258">15.3.11 C# Format Strings</A></H3>
<P>
C# format strings are described in the .NET documentation for class
@@ -357,7 +357,7 @@ C# format strings are described in the .NET documentation for class
</P>
-<H3><A NAME="SEC244" HREF="gettext_toc.html#TOC244">15.3.12 awk Format Strings</A></H3>
+<H3><A NAME="SEC259" HREF="gettext_toc.html#TOC259">15.3.12 awk Format Strings</A></H3>
<P>
awk format strings are described in the gawk documentation, section
@@ -367,7 +367,7 @@ Printf,
</P>
-<H3><A NAME="SEC245" HREF="gettext_toc.html#TOC245">15.3.13 Object Pascal Format Strings</A></H3>
+<H3><A NAME="SEC260" HREF="gettext_toc.html#TOC260">15.3.13 Object Pascal Format Strings</A></H3>
<P>
Where is this documented?
@@ -375,7 +375,7 @@ Where is this documented?
</P>
-<H3><A NAME="SEC246" HREF="gettext_toc.html#TOC246">15.3.14 YCP Format Strings</A></H3>
+<H3><A NAME="SEC261" HREF="gettext_toc.html#TOC261">15.3.14 YCP Format Strings</A></H3>
<P>
YCP sformat strings are described in the libycp documentation
@@ -386,7 +386,7 @@ or a nonzero digit (<SAMP>&lsquo;1&rsquo;</SAMP> to <SAMP>&lsquo;9&rsquo;</SAMP>
</P>
-<H3><A NAME="SEC247" HREF="gettext_toc.html#TOC247">15.3.15 Tcl Format Strings</A></H3>
+<H3><A NAME="SEC262" HREF="gettext_toc.html#TOC262">15.3.15 Tcl Format Strings</A></H3>
<P>
Tcl format strings are described in the <TT>&lsquo;format.n&rsquo;</TT> manual page,
@@ -395,7 +395,7 @@ Tcl format strings are described in the <TT>&lsquo;format.n&rsquo;</TT> manual p
</P>
-<H3><A NAME="SEC248" HREF="gettext_toc.html#TOC248">15.3.16 Perl Format Strings</A></H3>
+<H3><A NAME="SEC263" HREF="gettext_toc.html#TOC263">15.3.16 Perl Format Strings</A></H3>
<P>
There are two kinds format strings in Perl: those acceptable to the
@@ -419,7 +419,7 @@ of simple identifiers.
</P>
-<H3><A NAME="SEC249" HREF="gettext_toc.html#TOC249">15.3.17 PHP Format Strings</A></H3>
+<H3><A NAME="SEC264" HREF="gettext_toc.html#TOC264">15.3.17 PHP Format Strings</A></H3>
<P>
PHP format strings are described in the documentation of the PHP function
@@ -429,7 +429,7 @@ PHP format strings are described in the documentation of the PHP function
</P>
-<H3><A NAME="SEC250" HREF="gettext_toc.html#TOC250">15.3.18 GCC internal Format Strings</A></H3>
+<H3><A NAME="SEC265" HREF="gettext_toc.html#TOC265">15.3.18 GCC internal Format Strings</A></H3>
<P>
These format strings are used inside the GCC sources. In such a format
@@ -450,18 +450,29 @@ operator, <SAMP>&lsquo;V&rsquo;</SAMP> denotes a const/volatile qualifier.
</P>
-<H3><A NAME="SEC251" HREF="gettext_toc.html#TOC251">15.3.19 Qt Format Strings</A></H3>
+<H3><A NAME="SEC266" HREF="gettext_toc.html#TOC266">15.3.19 Qt Format Strings</A></H3>
<P>
Qt format strings are described in the documentation of the QString class
-<A HREF="file:/usr/lib/qt-3.0.5/doc/html/qstring.html">file:/usr/lib/qt-3.0.5/doc/html/qstring.html</A>.
+<A HREF="file:/usr/lib/qt-4.3.0/doc/html/qstring.html">file:/usr/lib/qt-4.3.0/doc/html/qstring.html</A>.
In summary, a directive consists of a <SAMP>&lsquo;%&rsquo;</SAMP> followed by a digit. The same
directive cannot occur more than once in a format string.
</P>
-<H3><A NAME="SEC252" HREF="gettext_toc.html#TOC252">15.3.20 Boost Format Strings</A></H3>
+<H3><A NAME="SEC267" HREF="gettext_toc.html#TOC267">15.3.20 KDE Format Strings</A></H3>
+
+<P>
+KDE 4 format strings are defined as follows:
+A directive consists of a <SAMP>&lsquo;%&rsquo;</SAMP> followed by a non-zero decimal number.
+If a <SAMP>&lsquo;%n&rsquo;</SAMP> occurs in a format strings, all of <SAMP>&lsquo;%1&rsquo;</SAMP>, ..., <SAMP>&lsquo;%(n-1)&rsquo;</SAMP>
+must occur as well, except possibly one of them.
+
+</P>
+
+
+<H3><A NAME="SEC268" HREF="gettext_toc.html#TOC268">15.3.21 Boost Format Strings</A></H3>
<P>
Boost format strings are described in the documentation of the
@@ -475,7 +486,7 @@ between percent signs, such as <SAMP>&lsquo;%1%&rsquo;</SAMP>.
</P>
-<H2><A NAME="SEC253" HREF="gettext_toc.html#TOC253">15.4 The Maintainer's View</A></H2>
+<H2><A NAME="SEC269" HREF="gettext_toc.html#TOC269">15.4 The Maintainer's View</A></H2>
<P>
For the maintainer, the general procedure differs from the C language
@@ -495,7 +506,7 @@ invokes the <CODE>AM_GNU_GETTEXT</CODE> autoconf macro via
<LI>
If only a single programming language is used, the <CODE>XGETTEXT_OPTIONS</CODE>
-variable in <TT>&lsquo;po/Makevars&rsquo;</TT> (see section <A HREF="gettext_13.html#SEC203">13.4.3 <TT>&lsquo;Makevars&rsquo;</TT> in <TT>&lsquo;po/&rsquo;</TT></A>) should be adjusted to
+variable in <TT>&lsquo;po/Makevars&rsquo;</TT> (see section <A HREF="gettext_13.html#SEC217">13.4.3 <TT>&lsquo;Makevars&rsquo;</TT> in <TT>&lsquo;po/&rsquo;</TT></A>) should be adjusted to
match the <CODE>xgettext</CODE> options for that particular programming language.
If the package uses more than one programming language with <CODE>gettext</CODE>
support, it becomes necessary to change the POT file construction rule
@@ -506,13 +517,13 @@ that language, and to combine the resulting files using <CODE>msgcat</CODE>.
-<H2><A NAME="SEC254" HREF="gettext_toc.html#TOC254">15.5 Individual Programming Languages</A></H2>
+<H2><A NAME="SEC270" HREF="gettext_toc.html#TOC270">15.5 Individual Programming Languages</A></H2>
-<H3><A NAME="SEC255" HREF="gettext_toc.html#TOC255">15.5.1 C, C++, Objective C</A></H3>
+<H3><A NAME="SEC271" HREF="gettext_toc.html#TOC271">15.5.1 C, C++, Objective C</A></H3>
<P>
-<A NAME="IDX1115"></A>
+<A NAME="IDX1138"></A>
</P>
<DL COMPACT>
@@ -590,9 +601,9 @@ The following examples are available in the <TT>&lsquo;examples&rsquo;</TT> dire
</P>
-<H3><A NAME="SEC256" HREF="gettext_toc.html#TOC256">15.5.2 sh - Shell Script</A></H3>
+<H3><A NAME="SEC272" HREF="gettext_toc.html#TOC272">15.5.2 sh - Shell Script</A></H3>
<P>
-<A NAME="IDX1116"></A>
+<A NAME="IDX1139"></A>
</P>
<DL COMPACT>
@@ -615,19 +626,19 @@ bash, gettext
<DT>gettext/ngettext functions
<DD>
-<A NAME="IDX1117"></A>
-<A NAME="IDX1118"></A>
+<A NAME="IDX1140"></A>
+<A NAME="IDX1141"></A>
<CODE>gettext</CODE>, <CODE>ngettext</CODE> programs
<BR><CODE>eval_gettext</CODE>, <CODE>eval_ngettext</CODE> shell functions
<DT>textdomain
<DD>
-<A NAME="IDX1119"></A>
+<A NAME="IDX1142"></A>
environment variable <CODE>TEXTDOMAIN</CODE>
<DT>bindtextdomain
<DD>
-<A NAME="IDX1120"></A>
+<A NAME="IDX1143"></A>
environment variable <CODE>TEXTDOMAINDIR</CODE>
<DT>setlocale
@@ -666,14 +677,14 @@ An example is available in the <TT>&lsquo;examples&rsquo;</TT> directory: <CODE>
-<H4><A NAME="SEC257" HREF="gettext_toc.html#TOC257">15.5.2.1 Preparing Shell Scripts for Internationalization</A></H4>
+<H4><A NAME="SEC273" HREF="gettext_toc.html#TOC273">15.5.2.1 Preparing Shell Scripts for Internationalization</A></H4>
<P>
-<A NAME="IDX1121"></A>
+<A NAME="IDX1144"></A>
</P>
<P>
Preparing a shell script for internationalization is conceptually similar
-to the steps described in section <A HREF="gettext_4.html#SEC11">4 Preparing Program Sources</A>. The concrete steps for shell
+to the steps described in section <A HREF="gettext_4.html#SEC16">4 Preparing Program Sources</A>. The concrete steps for shell
scripts are as follows.
</P>
@@ -690,8 +701,8 @@ Insert the line
near the top of the script. <CODE>gettext.sh</CODE> is a shell function library
that provides the functions
-<CODE>eval_gettext</CODE> (see section <A HREF="gettext_15.html#SEC262">15.5.2.6 Invoking the <CODE>eval_gettext</CODE> function</A>) and
-<CODE>eval_ngettext</CODE> (see section <A HREF="gettext_15.html#SEC263">15.5.2.7 Invoking the <CODE>eval_ngettext</CODE> function</A>).
+<CODE>eval_gettext</CODE> (see section <A HREF="gettext_15.html#SEC278">15.5.2.6 Invoking the <CODE>eval_gettext</CODE> function</A>) and
+<CODE>eval_ngettext</CODE> (see section <A HREF="gettext_15.html#SEC279">15.5.2.7 Invoking the <CODE>eval_ngettext</CODE> function</A>).
You have to ensure that <CODE>gettext.sh</CODE> can be found in the <CODE>PATH</CODE>.
<LI>
@@ -711,7 +722,7 @@ export TEXTDOMAINDIR
<LI>
-Prepare the strings for translation, as described in section <A HREF="gettext_4.html#SEC14">4.3 Preparing Translatable Strings</A>.
+Prepare the strings for translation, as described in section <A HREF="gettext_4.html#SEC19">4.3 Preparing Translatable Strings</A>.
<LI>
@@ -806,7 +817,7 @@ error "`eval_gettext \"file not found: \\\$filename\"`"
-<H4><A NAME="SEC258" HREF="gettext_toc.html#TOC258">15.5.2.2 Contents of <CODE>gettext.sh</CODE></A></H4>
+<H4><A NAME="SEC274" HREF="gettext_toc.html#TOC274">15.5.2.2 Contents of <CODE>gettext.sh</CODE></A></H4>
<P>
<CODE>gettext.sh</CODE>, contained in the run-time package of GNU gettext, provides
@@ -822,20 +833,20 @@ and a newline, without interpreting backslashes in the argument string.
<LI>eval_gettext
-See section <A HREF="gettext_15.html#SEC262">15.5.2.6 Invoking the <CODE>eval_gettext</CODE> function</A>.
+See section <A HREF="gettext_15.html#SEC278">15.5.2.6 Invoking the <CODE>eval_gettext</CODE> function</A>.
<LI>eval_ngettext
-See section <A HREF="gettext_15.html#SEC263">15.5.2.7 Invoking the <CODE>eval_ngettext</CODE> function</A>.
+See section <A HREF="gettext_15.html#SEC279">15.5.2.7 Invoking the <CODE>eval_ngettext</CODE> function</A>.
</UL>
-<H4><A NAME="SEC259" HREF="gettext_toc.html#TOC259">15.5.2.3 Invoking the <CODE>gettext</CODE> program</A></H4>
+<H4><A NAME="SEC275" HREF="gettext_toc.html#TOC275">15.5.2.3 Invoking the <CODE>gettext</CODE> program</A></H4>
<P>
-<A NAME="IDX1122"></A>
-<A NAME="IDX1123"></A>
+<A NAME="IDX1145"></A>
+<A NAME="IDX1146"></A>
<PRE>
gettext [<VAR>option</VAR>] [[<VAR>textdomain</VAR>] <VAR>msgid</VAR>]
@@ -843,7 +854,7 @@ gettext [<VAR>option</VAR>] -s [<VAR>msgid</VAR>]...
</PRE>
<P>
-<A NAME="IDX1124"></A>
+<A NAME="IDX1147"></A>
The <CODE>gettext</CODE> program displays the native language translation of a
textual message.
@@ -858,14 +869,14 @@ textual message.
<DD>
<DT><SAMP>&lsquo;--domain=<VAR>textdomain</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX1125"></A>
-<A NAME="IDX1126"></A>
+<A NAME="IDX1148"></A>
+<A NAME="IDX1149"></A>
Retrieve translated messages from <VAR>textdomain</VAR>. Usually a <VAR>textdomain</VAR>
corresponds to a package, a program, or a module of a program.
<DT><SAMP>&lsquo;-e&rsquo;</SAMP>
<DD>
-<A NAME="IDX1127"></A>
+<A NAME="IDX1150"></A>
Enable expansion of some escape sequences. This option is for compatibility
with the <SAMP>&lsquo;echo&rsquo;</SAMP> program or shell built-in. The escape sequences
<SAMP>&lsquo;\a&rsquo;</SAMP>, <SAMP>&lsquo;\b&rsquo;</SAMP>, <SAMP>&lsquo;\c&rsquo;</SAMP>, <SAMP>&lsquo;\f&rsquo;</SAMP>, <SAMP>&lsquo;\n&rsquo;</SAMP>, <SAMP>&lsquo;\r&rsquo;</SAMP>, <SAMP>&lsquo;\t&rsquo;</SAMP>,
@@ -874,7 +885,7 @@ interpreted like the System V <SAMP>&lsquo;echo&rsquo;</SAMP> program did.
<DT><SAMP>&lsquo;-E&rsquo;</SAMP>
<DD>
-<A NAME="IDX1128"></A>
+<A NAME="IDX1151"></A>
This option is only for compatibility with the <SAMP>&lsquo;echo&rsquo;</SAMP> program or shell
built-in. It has no effect.
@@ -882,13 +893,13 @@ built-in. It has no effect.
<DD>
<DT><SAMP>&lsquo;--help&rsquo;</SAMP>
<DD>
-<A NAME="IDX1129"></A>
-<A NAME="IDX1130"></A>
+<A NAME="IDX1152"></A>
+<A NAME="IDX1153"></A>
Display this help and exit.
<DT><SAMP>&lsquo;-n&rsquo;</SAMP>
<DD>
-<A NAME="IDX1131"></A>
+<A NAME="IDX1154"></A>
Suppress trailing newline. By default, <CODE>gettext</CODE> adds a newline to
the output.
@@ -896,8 +907,8 @@ the output.
<DD>
<DT><SAMP>&lsquo;--version&rsquo;</SAMP>
<DD>
-<A NAME="IDX1132"></A>
-<A NAME="IDX1133"></A>
+<A NAME="IDX1155"></A>
+<A NAME="IDX1156"></A>
Output version information and exit.
<DT><SAMP>&lsquo;[<VAR>textdomain</VAR>] <VAR>msgid</VAR>&rsquo;</SAMP>
@@ -921,18 +932,18 @@ messages found in the selected catalog are translated.
</P>
-<H4><A NAME="SEC260" HREF="gettext_toc.html#TOC260">15.5.2.4 Invoking the <CODE>ngettext</CODE> program</A></H4>
+<H4><A NAME="SEC276" HREF="gettext_toc.html#TOC276">15.5.2.4 Invoking the <CODE>ngettext</CODE> program</A></H4>
<P>
-<A NAME="IDX1134"></A>
-<A NAME="IDX1135"></A>
+<A NAME="IDX1157"></A>
+<A NAME="IDX1158"></A>
<PRE>
ngettext [<VAR>option</VAR>] [<VAR>textdomain</VAR>] <VAR>msgid</VAR> <VAR>msgid-plural</VAR> <VAR>count</VAR>
</PRE>
<P>
-<A NAME="IDX1136"></A>
+<A NAME="IDX1159"></A>
The <CODE>ngettext</CODE> program displays the native language translation of a
textual message whose grammatical form depends on a number.
@@ -947,14 +958,14 @@ textual message whose grammatical form depends on a number.
<DD>
<DT><SAMP>&lsquo;--domain=<VAR>textdomain</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX1137"></A>
-<A NAME="IDX1138"></A>
+<A NAME="IDX1160"></A>
+<A NAME="IDX1161"></A>
Retrieve translated messages from <VAR>textdomain</VAR>. Usually a <VAR>textdomain</VAR>
corresponds to a package, a program, or a module of a program.
<DT><SAMP>&lsquo;-e&rsquo;</SAMP>
<DD>
-<A NAME="IDX1139"></A>
+<A NAME="IDX1162"></A>
Enable expansion of some escape sequences. This option is for compatibility
with the <SAMP>&lsquo;gettext&rsquo;</SAMP> program. The escape sequences
<SAMP>&lsquo;\a&rsquo;</SAMP>, <SAMP>&lsquo;\b&rsquo;</SAMP>, <SAMP>&lsquo;\c&rsquo;</SAMP>, <SAMP>&lsquo;\f&rsquo;</SAMP>, <SAMP>&lsquo;\n&rsquo;</SAMP>, <SAMP>&lsquo;\r&rsquo;</SAMP>, <SAMP>&lsquo;\t&rsquo;</SAMP>,
@@ -963,7 +974,7 @@ interpreted like the System V <SAMP>&lsquo;echo&rsquo;</SAMP> program did.
<DT><SAMP>&lsquo;-E&rsquo;</SAMP>
<DD>
-<A NAME="IDX1140"></A>
+<A NAME="IDX1163"></A>
This option is only for compatibility with the <SAMP>&lsquo;gettext&rsquo;</SAMP> program. It has
no effect.
@@ -971,16 +982,16 @@ no effect.
<DD>
<DT><SAMP>&lsquo;--help&rsquo;</SAMP>
<DD>
-<A NAME="IDX1141"></A>
-<A NAME="IDX1142"></A>
+<A NAME="IDX1164"></A>
+<A NAME="IDX1165"></A>
Display this help and exit.
<DT><SAMP>&lsquo;-V&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--version&rsquo;</SAMP>
<DD>
-<A NAME="IDX1143"></A>
-<A NAME="IDX1144"></A>
+<A NAME="IDX1166"></A>
+<A NAME="IDX1167"></A>
Output version information and exit.
<DT><SAMP>&lsquo;<VAR>textdomain</VAR>&rsquo;</SAMP>
@@ -1006,20 +1017,20 @@ environment variable <CODE>TEXTDOMAINDIR</CODE>.
</P>
-<H4><A NAME="SEC261" HREF="gettext_toc.html#TOC261">15.5.2.5 Invoking the <CODE>envsubst</CODE> program</A></H4>
+<H4><A NAME="SEC277" HREF="gettext_toc.html#TOC277">15.5.2.5 Invoking the <CODE>envsubst</CODE> program</A></H4>
<P>
-<A NAME="IDX1145"></A>
-<A NAME="IDX1146"></A>
+<A NAME="IDX1168"></A>
+<A NAME="IDX1169"></A>
<PRE>
envsubst [<VAR>option</VAR>] [<VAR>shell-format</VAR>]
</PRE>
<P>
-<A NAME="IDX1147"></A>
-<A NAME="IDX1148"></A>
-<A NAME="IDX1149"></A>
+<A NAME="IDX1170"></A>
+<A NAME="IDX1171"></A>
+<A NAME="IDX1172"></A>
The <CODE>envsubst</CODE> program substitutes the values of environment variables.
</P>
@@ -1033,8 +1044,8 @@ The <CODE>envsubst</CODE> program substitutes the values of environment variable
<DD>
<DT><SAMP>&lsquo;--variables&rsquo;</SAMP>
<DD>
-<A NAME="IDX1150"></A>
-<A NAME="IDX1151"></A>
+<A NAME="IDX1173"></A>
+<A NAME="IDX1174"></A>
Output the variables occurring in <VAR>shell-format</VAR>.
</DL>
@@ -1049,16 +1060,16 @@ Output the variables occurring in <VAR>shell-format</VAR>.
<DD>
<DT><SAMP>&lsquo;--help&rsquo;</SAMP>
<DD>
-<A NAME="IDX1152"></A>
-<A NAME="IDX1153"></A>
+<A NAME="IDX1175"></A>
+<A NAME="IDX1176"></A>
Display this help and exit.
<DT><SAMP>&lsquo;-V&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--version&rsquo;</SAMP>
<DD>
-<A NAME="IDX1154"></A>
-<A NAME="IDX1155"></A>
+<A NAME="IDX1177"></A>
+<A NAME="IDX1178"></A>
Output version information and exit.
</DL>
@@ -1088,17 +1099,17 @@ consists of the environment variables that are referenced in
</P>
-<H4><A NAME="SEC262" HREF="gettext_toc.html#TOC262">15.5.2.6 Invoking the <CODE>eval_gettext</CODE> function</A></H4>
+<H4><A NAME="SEC278" HREF="gettext_toc.html#TOC278">15.5.2.6 Invoking the <CODE>eval_gettext</CODE> function</A></H4>
<P>
-<A NAME="IDX1156"></A>
+<A NAME="IDX1179"></A>
<PRE>
eval_gettext <VAR>msgid</VAR>
</PRE>
<P>
-<A NAME="IDX1157"></A>
+<A NAME="IDX1180"></A>
This function outputs the native language translation of a textual message,
performing dollar-substitution on the result. Note that only shell variables
mentioned in <VAR>msgid</VAR> will be dollar-substituted in the result.
@@ -1106,17 +1117,17 @@ mentioned in <VAR>msgid</VAR> will be dollar-substituted in the result.
</P>
-<H4><A NAME="SEC263" HREF="gettext_toc.html#TOC263">15.5.2.7 Invoking the <CODE>eval_ngettext</CODE> function</A></H4>
+<H4><A NAME="SEC279" HREF="gettext_toc.html#TOC279">15.5.2.7 Invoking the <CODE>eval_ngettext</CODE> function</A></H4>
<P>
-<A NAME="IDX1158"></A>
+<A NAME="IDX1181"></A>
<PRE>
eval_ngettext <VAR>msgid</VAR> <VAR>msgid-plural</VAR> <VAR>count</VAR>
</PRE>
<P>
-<A NAME="IDX1159"></A>
+<A NAME="IDX1182"></A>
This function outputs the native language translation of a textual message
whose grammatical form depends on a number, performing dollar-substitution
on the result. Note that only shell variables mentioned in <VAR>msgid</VAR> or
@@ -1125,9 +1136,9 @@ on the result. Note that only shell variables mentioned in <VAR>msgid</VAR> or
</P>
-<H3><A NAME="SEC264" HREF="gettext_toc.html#TOC264">15.5.3 bash - Bourne-Again Shell Script</A></H3>
+<H3><A NAME="SEC280" HREF="gettext_toc.html#TOC280">15.5.3 bash - Bourne-Again Shell Script</A></H3>
<P>
-<A NAME="IDX1160"></A>
+<A NAME="IDX1183"></A>
</P>
<P>
@@ -1176,9 +1187,9 @@ that don't have the <CODE>gettext()</CODE> function in libc.
</P>
-<H3><A NAME="SEC265" HREF="gettext_toc.html#TOC265">15.5.4 Python</A></H3>
+<H3><A NAME="SEC281" HREF="gettext_toc.html#TOC281">15.5.4 Python</A></H3>
<P>
-<A NAME="IDX1161"></A>
+<A NAME="IDX1184"></A>
</P>
<DL COMPACT>
@@ -1253,11 +1264,11 @@ An example is available in the <TT>&lsquo;examples&rsquo;</TT> directory: <CODE>
</P>
-<H3><A NAME="SEC266" HREF="gettext_toc.html#TOC266">15.5.5 GNU clisp - Common Lisp</A></H3>
+<H3><A NAME="SEC282" HREF="gettext_toc.html#TOC282">15.5.5 GNU clisp - Common Lisp</A></H3>
<P>
-<A NAME="IDX1162"></A>
-<A NAME="IDX1163"></A>
-<A NAME="IDX1164"></A>
+<A NAME="IDX1185"></A>
+<A NAME="IDX1186"></A>
+<A NAME="IDX1187"></A>
</P>
<DL COMPACT>
@@ -1325,9 +1336,9 @@ An example is available in the <TT>&lsquo;examples&rsquo;</TT> directory: <CODE>
</P>
-<H3><A NAME="SEC267" HREF="gettext_toc.html#TOC267">15.5.6 GNU clisp C sources</A></H3>
+<H3><A NAME="SEC283" HREF="gettext_toc.html#TOC283">15.5.6 GNU clisp C sources</A></H3>
<P>
-<A NAME="IDX1165"></A>
+<A NAME="IDX1188"></A>
</P>
<DL COMPACT>
@@ -1393,9 +1404,9 @@ On platforms without gettext, no translation.
-<H3><A NAME="SEC268" HREF="gettext_toc.html#TOC268">15.5.7 Emacs Lisp</A></H3>
+<H3><A NAME="SEC284" HREF="gettext_toc.html#TOC284">15.5.7 Emacs Lisp</A></H3>
<P>
-<A NAME="IDX1166"></A>
+<A NAME="IDX1189"></A>
</P>
<DL COMPACT>
@@ -1459,9 +1470,9 @@ Only XEmacs. Without <CODE>I18N3</CODE> defined at build time, no translation.
-<H3><A NAME="SEC269" HREF="gettext_toc.html#TOC269">15.5.8 librep</A></H3>
+<H3><A NAME="SEC285" HREF="gettext_toc.html#TOC285">15.5.8 librep</A></H3>
<P>
-<A NAME="IDX1167"></A>
+<A NAME="IDX1190"></A>
</P>
<DL COMPACT>
@@ -1529,10 +1540,10 @@ An example is available in the <TT>&lsquo;examples&rsquo;</TT> directory: <CODE>
</P>
-<H3><A NAME="SEC270" HREF="gettext_toc.html#TOC270">15.5.9 GNU guile - Scheme</A></H3>
+<H3><A NAME="SEC286" HREF="gettext_toc.html#TOC286">15.5.9 GNU guile - Scheme</A></H3>
<P>
-<A NAME="IDX1168"></A>
-<A NAME="IDX1169"></A>
+<A NAME="IDX1191"></A>
+<A NAME="IDX1192"></A>
</P>
<DL COMPACT>
@@ -1600,9 +1611,9 @@ An example is available in the <TT>&lsquo;examples&rsquo;</TT> directory: <CODE>
</P>
-<H3><A NAME="SEC271" HREF="gettext_toc.html#TOC271">15.5.10 GNU Smalltalk</A></H3>
+<H3><A NAME="SEC287" HREF="gettext_toc.html#TOC287">15.5.10 GNU Smalltalk</A></H3>
<P>
-<A NAME="IDX1170"></A>
+<A NAME="IDX1193"></A>
</P>
<DL COMPACT>
@@ -1673,9 +1684,9 @@ An example is available in the <TT>&lsquo;examples&rsquo;</TT> directory:
</P>
-<H3><A NAME="SEC272" HREF="gettext_toc.html#TOC272">15.5.11 Java</A></H3>
+<H3><A NAME="SEC288" HREF="gettext_toc.html#TOC288">15.5.11 Java</A></H3>
<P>
-<A NAME="IDX1171"></A>
+<A NAME="IDX1194"></A>
</P>
<DL COMPACT>
@@ -1698,7 +1709,8 @@ _("abc")
<DT>gettext/ngettext functions
<DD>
-<CODE>GettextResource.gettext</CODE>, <CODE>GettextResource.ngettext</CODE>
+<CODE>GettextResource.gettext</CODE>, <CODE>GettextResource.ngettext</CODE>,
+<CODE>GettextResource.pgettext</CODE>, <CODE>GettextResource.npgettext</CODE>
<DT>textdomain
<DD>
@@ -1798,25 +1810,25 @@ a PO file with plural handling.
The <CODE>gnu.gettext.GettextResource</CODE> API.
-Reference documentation in Javadoc 1.1 style format
-is in the <A HREF="javadoc1/tree.html">javadoc1 directory</A> and
-in Javadoc 2 style format
-in the <A HREF="javadoc2/index.html">javadoc2 directory</A>.
+Reference documentation in Javadoc 1.1 style format is in the
+<A HREF="javadoc2/index.html">javadoc2 directory</A>.
Its <CODE>gettext</CODE> function returns a string translation. Note that when
a translation is missing, the <VAR>msgid</VAR> argument is returned unchanged.
This has the advantage of having the <CODE>ngettext</CODE> function for plural
-handling.
+handling and the <CODE>pgettext</CODE> and <CODE>npgettext</CODE> for strings constraint
+to a particular context.
-<A NAME="IDX1172"></A>
+<A NAME="IDX1195"></A>
To use this API, one needs the <CODE>libintl.jar</CODE> file which is part of
the GNU gettext package and distributed under the LGPL.
</OL>
<P>
-Three examples, using the second API, are available in the <TT>&lsquo;examples&rsquo;</TT>
-directory: <CODE>hello-java</CODE>, <CODE>hello-java-awt</CODE>, <CODE>hello-java-swing</CODE>.
+Four examples, using the second API, are available in the <TT>&lsquo;examples&rsquo;</TT>
+directory: <CODE>hello-java</CODE>, <CODE>hello-java-awt</CODE>, <CODE>hello-java-swing</CODE>,
+<CODE>hello-java-qtjambi</CODE>.
</P>
<P>
@@ -1915,9 +1927,9 @@ than a class with a single-letter name.
</P>
-<H3><A NAME="SEC273" HREF="gettext_toc.html#TOC273">15.5.12 C#</A></H3>
+<H3><A NAME="SEC289" HREF="gettext_toc.html#TOC289">15.5.12 C#</A></H3>
<P>
-<A NAME="IDX1173"></A>
+<A NAME="IDX1196"></A>
</P>
<DL COMPACT>
@@ -1942,6 +1954,8 @@ _("abc")
<DD>
<CODE>GettextResourceManager.GetString</CODE>,
<CODE>GettextResourceManager.GetPluralString</CODE>
+<CODE>GettextResourceManager.GetParticularString</CODE>
+<CODE>GettextResourceManager.GetParticularPluralString</CODE>
<DT>textdomain
<DD>
@@ -2072,6 +2086,13 @@ only contain data and only support lookups that depend on a single string.
<LI>
+Context handling: A message catalog in <CODE>.dll</CODE> format supports the
+query-with-context functions <CODE>GetParticularString</CODE> and
+<CODE>GetParticularPluralString</CODE>. Whereas <CODE>.resources</CODE> files can
+only contain data and only support lookups that depend on a single string.
+
+<LI>
+
The <CODE>GettextResourceManager</CODE> that loads the message catalogs in
<CODE>.dll</CODE> format also provides for inheritance on a per-message basis.
For example, in Austrian (<CODE>de_AT</CODE>) locale, translations from the German
@@ -2138,7 +2159,16 @@ a translation is missing, the <VAR>msgid</VAR> argument is returned unchanged.
The <CODE>GetPluralString</CODE> function returns a string translation with plural
handling, like the <CODE>ngettext</CODE> function in C.
-<A NAME="IDX1174"></A>
+The <CODE>GetParticularString</CODE> function returns a string's translation,
+specific to a particular context, like the <CODE>pgettext</CODE> function in C.
+Note that when a translation is missing, the <VAR>msgid</VAR> argument is returned
+unchanged.
+
+The <CODE>GetParticularPluralString</CODE> function returns a string translation,
+specific to a particular context, with plural handling, like the
+<CODE>npgettext</CODE> function in C.
+
+<A NAME="IDX1197"></A>
To use this API, one needs the <CODE>GNU.Gettext.dll</CODE> file which is part of
the GNU gettext package and distributed under the LGPL.
</OL>
@@ -2223,10 +2253,10 @@ with a single-letter name.
</P>
-<H3><A NAME="SEC274" HREF="gettext_toc.html#TOC274">15.5.13 GNU awk</A></H3>
+<H3><A NAME="SEC290" HREF="gettext_toc.html#TOC290">15.5.13 GNU awk</A></H3>
<P>
-<A NAME="IDX1175"></A>
-<A NAME="IDX1176"></A>
+<A NAME="IDX1198"></A>
+<A NAME="IDX1199"></A>
</P>
<DL COMPACT>
@@ -2296,11 +2326,11 @@ An example is available in the <TT>&lsquo;examples&rsquo;</TT> directory: <CODE>
</P>
-<H3><A NAME="SEC275" HREF="gettext_toc.html#TOC275">15.5.14 Pascal - Free Pascal Compiler</A></H3>
+<H3><A NAME="SEC291" HREF="gettext_toc.html#TOC291">15.5.14 Pascal - Free Pascal Compiler</A></H3>
<P>
-<A NAME="IDX1177"></A>
-<A NAME="IDX1178"></A>
-<A NAME="IDX1179"></A>
+<A NAME="IDX1200"></A>
+<A NAME="IDX1201"></A>
+<A NAME="IDX1202"></A>
</P>
<DL COMPACT>
@@ -2377,9 +2407,9 @@ An example is available in the <TT>&lsquo;examples&rsquo;</TT> directory: <CODE>
</P>
-<H3><A NAME="SEC276" HREF="gettext_toc.html#TOC276">15.5.15 wxWidgets library</A></H3>
+<H3><A NAME="SEC292" HREF="gettext_toc.html#TOC292">15.5.15 wxWidgets library</A></H3>
<P>
-<A NAME="IDX1180"></A>
+<A NAME="IDX1203"></A>
</P>
<DL COMPACT>
@@ -2445,10 +2475,10 @@ yes
-<H3><A NAME="SEC277" HREF="gettext_toc.html#TOC277">15.5.16 YCP - YaST2 scripting language</A></H3>
+<H3><A NAME="SEC293" HREF="gettext_toc.html#TOC293">15.5.16 YCP - YaST2 scripting language</A></H3>
<P>
-<A NAME="IDX1181"></A>
-<A NAME="IDX1182"></A>
+<A NAME="IDX1204"></A>
+<A NAME="IDX1205"></A>
</P>
<DL COMPACT>
@@ -2516,10 +2546,10 @@ An example is available in the <TT>&lsquo;examples&rsquo;</TT> directory: <CODE>
</P>
-<H3><A NAME="SEC278" HREF="gettext_toc.html#TOC278">15.5.17 Tcl - Tk's scripting language</A></H3>
+<H3><A NAME="SEC294" HREF="gettext_toc.html#TOC294">15.5.17 Tcl - Tk's scripting language</A></H3>
<P>
-<A NAME="IDX1183"></A>
-<A NAME="IDX1184"></A>
+<A NAME="IDX1206"></A>
+<A NAME="IDX1207"></A>
</P>
<DL COMPACT>
@@ -2602,9 +2632,9 @@ argument is given.
</P>
-<H3><A NAME="SEC279" HREF="gettext_toc.html#TOC279">15.5.18 Perl</A></H3>
+<H3><A NAME="SEC295" HREF="gettext_toc.html#TOC295">15.5.18 Perl</A></H3>
<P>
-<A NAME="IDX1185"></A>
+<A NAME="IDX1208"></A>
</P>
<DL COMPACT>
@@ -2717,7 +2747,7 @@ An example is available in the <TT>&lsquo;examples&rsquo;</TT> directory: <CODE>
</P>
<P>
-<A NAME="IDX1186"></A>
+<A NAME="IDX1209"></A>
</P>
<P>
@@ -2732,7 +2762,7 @@ worst probably being its imperfectness.
-<H4><A NAME="SEC280" HREF="gettext_toc.html#TOC280">15.5.18.1 General Problems Parsing Perl Code</A></H4>
+<H4><A NAME="SEC296" HREF="gettext_toc.html#TOC296">15.5.18.1 General Problems Parsing Perl Code</A></H4>
<P>
It is often heard that only Perl can parse Perl. This is not true.
@@ -2866,9 +2896,9 @@ reformulate your code in a manner less challenging to <CODE>xgettext</CODE>.
</P>
-<H4><A NAME="SEC281" HREF="gettext_toc.html#TOC281">15.5.18.2 Which keywords will xgettext look for?</A></H4>
+<H4><A NAME="SEC297" HREF="gettext_toc.html#TOC297">15.5.18.2 Which keywords will xgettext look for?</A></H4>
<P>
-<A NAME="IDX1187"></A>
+<A NAME="IDX1210"></A>
</P>
<P>
@@ -2915,9 +2945,9 @@ The keys of lookups into the hash reference <CODE>$gettext</CODE> will be extrac
-<H4><A NAME="SEC282" HREF="gettext_toc.html#TOC282">15.5.18.3 How to Extract Hash Keys</A></H4>
+<H4><A NAME="SEC298" HREF="gettext_toc.html#TOC298">15.5.18.3 How to Extract Hash Keys</A></H4>
<P>
-<A NAME="IDX1188"></A>
+<A NAME="IDX1211"></A>
</P>
<P>
@@ -2970,9 +3000,9 @@ are <EM>not</EM> allowed, regardless of the <CODE>use utf8</CODE> pragma.
</P>
-<H4><A NAME="SEC283" HREF="gettext_toc.html#TOC283">15.5.18.4 What are Strings And Quote-like Expressions?</A></H4>
+<H4><A NAME="SEC299" HREF="gettext_toc.html#TOC299">15.5.18.4 What are Strings And Quote-like Expressions?</A></H4>
<P>
-<A NAME="IDX1189"></A>
+<A NAME="IDX1212"></A>
</P>
<P>
@@ -3070,9 +3100,9 @@ Delimiters that start with a digit are not supported!
-<H4><A NAME="SEC284" HREF="gettext_toc.html#TOC284">15.5.18.5 Invalid Uses Of String Interpolation</A></H4>
+<H4><A NAME="SEC300" HREF="gettext_toc.html#TOC300">15.5.18.5 Invalid Uses Of String Interpolation</A></H4>
<P>
-<A NAME="IDX1190"></A>
+<A NAME="IDX1213"></A>
</P>
<P>
@@ -3208,9 +3238,9 @@ well write what you mean.
</P>
-<H4><A NAME="SEC285" HREF="gettext_toc.html#TOC285">15.5.18.6 Valid Uses Of String Interpolation</A></H4>
+<H4><A NAME="SEC301" HREF="gettext_toc.html#TOC301">15.5.18.6 Valid Uses Of String Interpolation</A></H4>
<P>
-<A NAME="IDX1191"></A>
+<A NAME="IDX1214"></A>
</P>
<P>
@@ -3296,9 +3326,9 @@ s/$gettext{"U. S. A."}/$gettext{"U. S. A."} $gettext{"(dial +0)"}/g;
-<H4><A NAME="SEC286" HREF="gettext_toc.html#TOC286">15.5.18.7 When To Use Parentheses</A></H4>
+<H4><A NAME="SEC302" HREF="gettext_toc.html#TOC302">15.5.18.7 When To Use Parentheses</A></H4>
<P>
-<A NAME="IDX1192"></A>
+<A NAME="IDX1215"></A>
</P>
<P>
@@ -3342,9 +3372,9 @@ print dngettext 'package', ("one cake", "several cakes", $n), $discarded;
-<H4><A NAME="SEC287" HREF="gettext_toc.html#TOC287">15.5.18.8 How To Grok with Long Lines</A></H4>
+<H4><A NAME="SEC303" HREF="gettext_toc.html#TOC303">15.5.18.8 How To Grok with Long Lines</A></H4>
<P>
-<A NAME="IDX1193"></A>
+<A NAME="IDX1216"></A>
</P>
<P>
@@ -3416,9 +3446,9 @@ the resulting POT file.
</P>
-<H4><A NAME="SEC288" HREF="gettext_toc.html#TOC288">15.5.18.9 Bugs, Pitfalls, And Things That Do Not Work</A></H4>
+<H4><A NAME="SEC304" HREF="gettext_toc.html#TOC304">15.5.18.9 Bugs, Pitfalls, And Things That Do Not Work</A></H4>
<P>
-<A NAME="IDX1194"></A>
+<A NAME="IDX1217"></A>
</P>
<P>
@@ -3568,9 +3598,9 @@ get executed. Most of the time you will happily get along with
</P>
-<H3><A NAME="SEC289" HREF="gettext_toc.html#TOC289">15.5.19 PHP Hypertext Preprocessor</A></H3>
+<H3><A NAME="SEC305" HREF="gettext_toc.html#TOC305">15.5.19 PHP Hypertext Preprocessor</A></H3>
<P>
-<A NAME="IDX1195"></A>
+<A NAME="IDX1218"></A>
</P>
<DL COMPACT>
@@ -3639,9 +3669,9 @@ An example is available in the <TT>&lsquo;examples&rsquo;</TT> directory: <CODE>
</P>
-<H3><A NAME="SEC290" HREF="gettext_toc.html#TOC290">15.5.20 Pike</A></H3>
+<H3><A NAME="SEC306" HREF="gettext_toc.html#TOC306">15.5.20 Pike</A></H3>
<P>
-<A NAME="IDX1196"></A>
+<A NAME="IDX1219"></A>
</P>
<DL COMPACT>
@@ -3705,9 +3735,9 @@ On platforms without gettext, the functions are not available.
-<H3><A NAME="SEC291" HREF="gettext_toc.html#TOC291">15.5.21 GNU Compiler Collection sources</A></H3>
+<H3><A NAME="SEC307" HREF="gettext_toc.html#TOC307">15.5.21 GNU Compiler Collection sources</A></H3>
<P>
-<A NAME="IDX1197"></A>
+<A NAME="IDX1220"></A>
</P>
<DL COMPACT>
@@ -3772,7 +3802,7 @@ yes
-<H2><A NAME="SEC292" HREF="gettext_toc.html#TOC292">15.6 Internationalizable Data</A></H2>
+<H2><A NAME="SEC308" HREF="gettext_toc.html#TOC308">15.6 Internationalizable Data</A></H2>
<P>
Here is a list of other data formats which can be internationalized
@@ -3782,7 +3812,7 @@ using GNU gettext.
-<H3><A NAME="SEC293" HREF="gettext_toc.html#TOC293">15.6.1 POT - Portable Object Template</A></H3>
+<H3><A NAME="SEC309" HREF="gettext_toc.html#TOC309">15.6.1 POT - Portable Object Template</A></H3>
<DL COMPACT>
@@ -3801,9 +3831,9 @@ gettext
-<H3><A NAME="SEC294" HREF="gettext_toc.html#TOC294">15.6.2 Resource String Table</A></H3>
+<H3><A NAME="SEC310" HREF="gettext_toc.html#TOC310">15.6.2 Resource String Table</A></H3>
<P>
-<A NAME="IDX1198"></A>
+<A NAME="IDX1221"></A>
</P>
<DL COMPACT>
@@ -3823,7 +3853,7 @@ fpk
-<H3><A NAME="SEC295" HREF="gettext_toc.html#TOC295">15.6.3 Glade - GNOME user interface description</A></H3>
+<H3><A NAME="SEC311" HREF="gettext_toc.html#TOC311">15.6.3 Glade - GNOME user interface description</A></H3>
<DL COMPACT>
diff --git a/gettext-tools/doc/gettext_16.html b/gettext-tools/doc/gettext_16.html
index 3855208..2fa5a07 100644
--- a/gettext-tools/doc/gettext_16.html
+++ b/gettext-tools/doc/gettext_16.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 25 October 2006 -->
+ from gettext.texi on 4 November 2007 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - 16 Concluding Remarks</TITLE>
@@ -11,7 +11,7 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_15.html">previous
<P><HR><P>
-<H1><A NAME="SEC296" HREF="gettext_toc.html#TOC296">16 Concluding Remarks</A></H1>
+<H1><A NAME="SEC312" HREF="gettext_toc.html#TOC312">16 Concluding Remarks</A></H1>
<P>
We would like to conclude this GNU <CODE>gettext</CODE> manual by presenting
@@ -23,9 +23,9 @@ about Native Language Support matters.
-<H2><A NAME="SEC297" HREF="gettext_toc.html#TOC297">16.1 History of GNU <CODE>gettext</CODE></A></H2>
+<H2><A NAME="SEC313" HREF="gettext_toc.html#TOC313">16.1 History of GNU <CODE>gettext</CODE></A></H2>
<P>
-<A NAME="IDX1199"></A>
+<A NAME="IDX1222"></A>
</P>
<P>
@@ -125,10 +125,10 @@ manipulating PO files.
</P>
-<H2><A NAME="SEC298" HREF="gettext_toc.html#TOC298">16.2 Related Readings</A></H2>
+<H2><A NAME="SEC314" HREF="gettext_toc.html#TOC314">16.2 Related Readings</A></H2>
<P>
-<A NAME="IDX1200"></A>
-<A NAME="IDX1201"></A>
+<A NAME="IDX1223"></A>
+<A NAME="IDX1224"></A>
</P>
<P>
diff --git a/gettext-tools/doc/gettext_17.html b/gettext-tools/doc/gettext_17.html
index 2fe84d8..09b28d3 100644
--- a/gettext-tools/doc/gettext_17.html
+++ b/gettext-tools/doc/gettext_17.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 25 October 2006 -->
+ from gettext.texi on 4 November 2007 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - A Language Codes</TITLE>
@@ -11,10 +11,10 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_16.html">previous
<P><HR><P>
-<H1><A NAME="SEC299" HREF="gettext_toc.html#TOC299">A Language Codes</A></H1>
+<H1><A NAME="SEC315" HREF="gettext_toc.html#TOC315">A Language Codes</A></H1>
<P>
-<A NAME="IDX1202"></A>
-<A NAME="IDX1203"></A>
+<A NAME="IDX1225"></A>
+<A NAME="IDX1226"></A>
</P>
<P>
@@ -27,7 +27,7 @@ come from this standard.
-<H2><A NAME="SEC300" HREF="gettext_toc.html#TOC300">A.1 Usual Language Codes</A></H2>
+<H2><A NAME="SEC316" HREF="gettext_toc.html#TOC316">A.1 Usual Language Codes</A></H2>
<P>
For the commonly used languages, the ISO 639-1 standard defines two-letter
@@ -598,7 +598,7 @@ Zulu.
-<H2><A NAME="SEC301" HREF="gettext_toc.html#TOC301">A.2 Rare Language Codes</A></H2>
+<H2><A NAME="SEC317" HREF="gettext_toc.html#TOC317">A.2 Rare Language Codes</A></H2>
<P>
For rarely used languages, the ISO 639-2 standard defines three-letter
diff --git a/gettext-tools/doc/gettext_18.html b/gettext-tools/doc/gettext_18.html
index d1b75c5..2bb97db 100644
--- a/gettext-tools/doc/gettext_18.html
+++ b/gettext-tools/doc/gettext_18.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 25 October 2006 -->
+ from gettext.texi on 4 November 2007 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - B Country Codes</TITLE>
@@ -11,10 +11,10 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_17.html">previous
<P><HR><P>
-<H1><A NAME="SEC302" HREF="gettext_toc.html#TOC302">B Country Codes</A></H1>
+<H1><A NAME="SEC318" HREF="gettext_toc.html#TOC318">B Country Codes</A></H1>
<P>
-<A NAME="IDX1204"></A>
-<A NAME="IDX1205"></A>
+<A NAME="IDX1227"></A>
+<A NAME="IDX1228"></A>
</P>
<P>
diff --git a/gettext-tools/doc/gettext_19.html b/gettext-tools/doc/gettext_19.html
index 71b9338..3734e71 100644
--- a/gettext-tools/doc/gettext_19.html
+++ b/gettext-tools/doc/gettext_19.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 25 October 2006 -->
+ from gettext.texi on 4 November 2007 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - C Licenses</TITLE>
@@ -11,9 +11,9 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_18.html">previous
<P><HR><P>
-<H1><A NAME="SEC303" HREF="gettext_toc.html#TOC303">C Licenses</A></H1>
+<H1><A NAME="SEC319" HREF="gettext_toc.html#TOC319">C Licenses</A></H1>
<P>
-<A NAME="IDX1206"></A>
+<A NAME="IDX1229"></A>
</P>
<P>
@@ -27,13 +27,13 @@ particular file or directory. Here is a summary:
The <CODE>libintl</CODE> and <CODE>libasprintf</CODE> libraries are covered by the
GNU Library General Public License (LGPL).
-A copy of the license is included in section <A HREF="gettext_19.html#SEC307">C.2 GNU LESSER GENERAL PUBLIC LICENSE</A>.
+A copy of the license is included in section <A HREF="gettext_19.html#SEC323">C.2 GNU LESSER GENERAL PUBLIC LICENSE</A>.
<LI>
The executable programs of this package and the <CODE>libgettextpo</CODE> library
are covered by the GNU General Public License (GPL).
-A copy of the license is included in section <A HREF="gettext_19.html#SEC304">C.1 GNU GENERAL PUBLIC LICENSE</A>.
+A copy of the license is included in section <A HREF="gettext_19.html#SEC320">C.1 GNU GENERAL PUBLIC LICENSE</A>.
<LI>
@@ -47,21 +47,21 @@ GNU Free Documentation License (FDL), either version 1.2 of the
License, or (at your option) any later version published by the
Free Software Foundation (FSF); with no Invariant Sections, with no
Front-Cover Text, and with no Back-Cover Texts.
-A copy of the license is included in section <A HREF="gettext_19.html#SEC310">C.3 GNU Free Documentation License</A>.
+A copy of the license is included in section <A HREF="gettext_19.html#SEC326">C.3 GNU Free Documentation License</A>.
<BR>
This manual is covered by the GNU GPL. You can redistribute it and/or
modify it under the terms of the GNU General Public License (GPL), either
version 2 of the License, or (at your option) any later version published
by the Free Software Foundation (FSF).
-A copy of the license is included in section <A HREF="gettext_19.html#SEC304">C.1 GNU GENERAL PUBLIC LICENSE</A>.
+A copy of the license is included in section <A HREF="gettext_19.html#SEC320">C.1 GNU GENERAL PUBLIC LICENSE</A>.
</UL>
-<H2><A NAME="SEC304" HREF="gettext_toc.html#TOC304">C.1 GNU GENERAL PUBLIC LICENSE</A></H2>
+<H2><A NAME="SEC320" HREF="gettext_toc.html#TOC320">C.1 GNU GENERAL PUBLIC LICENSE</A></H2>
<P>
-<A NAME="IDX1207"></A>
-<A NAME="IDX1208"></A>
+<A NAME="IDX1230"></A>
+<A NAME="IDX1231"></A>
Version 2, June 1991
</P>
@@ -77,7 +77,7 @@ of this license document, but changing it is not allowed.
-<H3><A NAME="SEC305" HREF="gettext_toc.html#TOC305">Preamble</A></H3>
+<H3><A NAME="SEC321" HREF="gettext_toc.html#TOC321">Preamble</A></H3>
<P>
The licenses for most software are designed to take away your
@@ -409,7 +409,7 @@ POSSIBILITY OF SUCH DAMAGES.
-<H3><A NAME="SEC306" HREF="gettext_toc.html#TOC306">Appendix: How to Apply These Terms to Your New Programs</A></H3>
+<H3><A NAME="SEC322" HREF="gettext_toc.html#TOC322">Appendix: How to Apply These Terms to Your New Programs</A></H3>
<P>
If you develop a new program, and you want it to be of the greatest
@@ -492,10 +492,10 @@ library. If this is what you want to do, use the GNU Library General
Public License instead of this License.
-<H2><A NAME="SEC307" HREF="gettext_toc.html#TOC307">C.2 GNU LESSER GENERAL PUBLIC LICENSE</A></H2>
+<H2><A NAME="SEC323" HREF="gettext_toc.html#TOC323">C.2 GNU LESSER GENERAL PUBLIC LICENSE</A></H2>
<P>
-<A NAME="IDX1209"></A>
-<A NAME="IDX1210"></A>
+<A NAME="IDX1232"></A>
+<A NAME="IDX1233"></A>
Version 2.1, February 1999
</P>
@@ -514,7 +514,7 @@ version number 2.1.]
-<H3><A NAME="SEC308" HREF="gettext_toc.html#TOC308">Preamble</A></H3>
+<H3><A NAME="SEC324" HREF="gettext_toc.html#TOC324">Preamble</A></H3>
<P>
The licenses for most software are designed to take away your
@@ -1055,7 +1055,7 @@ DAMAGES.
-<H3><A NAME="SEC309" HREF="gettext_toc.html#TOC309">How to Apply These Terms to Your New Libraries</A></H3>
+<H3><A NAME="SEC325" HREF="gettext_toc.html#TOC325">How to Apply These Terms to Your New Libraries</A></H3>
<P>
If you develop a new library, and you want it to be of the greatest
@@ -1116,10 +1116,10 @@ Ty Coon, President of Vice
That's all there is to it!
-<H2><A NAME="SEC310" HREF="gettext_toc.html#TOC310">C.3 GNU Free Documentation License</A></H2>
+<H2><A NAME="SEC326" HREF="gettext_toc.html#TOC326">C.3 GNU Free Documentation License</A></H2>
<P>
-<A NAME="IDX1211"></A>
-<A NAME="IDX1212"></A>
+<A NAME="IDX1234"></A>
+<A NAME="IDX1235"></A>
Version 1.2, November 2002
</P>
@@ -1556,7 +1556,7 @@ as a draft) by the Free Software Foundation.
-<H3><A NAME="SEC311" HREF="gettext_toc.html#TOC311">ADDENDUM: How to use this License for your documents</A></H3>
+<H3><A NAME="SEC327" HREF="gettext_toc.html#TOC327">ADDENDUM: How to use this License for your documents</A></H3>
<P>
To use this License in a document you have written, include a copy of
diff --git a/gettext-tools/doc/gettext_2.html b/gettext-tools/doc/gettext_2.html
index fad6fb6..7159a24 100644
--- a/gettext-tools/doc/gettext_2.html
+++ b/gettext-tools/doc/gettext_2.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 25 October 2006 -->
+ from gettext.texi on 4 November 2007 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - 2 The User's View</TITLE>
@@ -14,86 +14,333 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_1.html">previous<
<H1><A NAME="SEC7" HREF="gettext_toc.html#TOC7">2 The User's View</A></H1>
<P>
-When GNU <CODE>gettext</CODE> will truly have reached its goal, average users
-should feel some kind of astonished pleasure, seeing the effect of
-that strange kind of magic that just makes their own native language
-appear everywhere on their screens. As for naive users, they would
-ideally have no special pleasure about it, merely taking their own
-language for <EM>granted</EM>, and becoming rather unhappy otherwise.
+Nowadays, when users log into a computer, they usually find that all
+their programs show messages in their native language -- at least for
+users of languages with an active free software community, like French or
+German; to a lesser extent for languages with a smaller participation in
+free software and the GNU project, like Hindi and Filipino.
</P>
<P>
-So, let's try to describe here how we would like the magic to operate,
-as we want the users' view to be the simplest, among all ways one
-could look at GNU <CODE>gettext</CODE>. All other software engineers:
-programmers, translators, maintainers, should work together in such a
-way that the magic becomes possible. This is a long and progressive
-undertaking, and information is available about the progress of the
-Translation Project.
+How does this work? How can the user influence the language that is used
+by the programs? This chapter will answer it.
+
+</P>
+
+
+
+<H2><A NAME="SEC8" HREF="gettext_toc.html#TOC8">2.1 Operating System Installation</A></H2>
+
+<P>
+The default language is often already specified during operating system
+installation. When the operating system is installed, the installer
+typically asks for the language used for the installation process and,
+separately, for the language to use in the installed system. Some OS
+installers only ask for the language once.
</P>
<P>
-When a package is distributed, there are two kinds of users:
-<EM>installers</EM> who fetch the distribution, unpack it, configure
-it, compile it and install it for themselves or others to use; and
-<EM>end users</EM> that call programs of the package, once these have
-been installed at their site. GNU <CODE>gettext</CODE> is offering magic
-for both installers and end users.
+This determines the system-wide default language for all users. But the
+installers often give the possibility to install extra localizations for
+additional languages. For example, the localizations of KDE (the K
+Desktop Environment) and OpenOffice.org are often bundled separately,
+as one installable package per language.
</P>
+<P>
+At this point it is good to consider the intended use of the machine: If
+it is a machine designated for personal use, additional localizations are
+probably not necessary. If, however, the machine is in use in an
+organization or company that has international relationships, one can
+consider the needs of guest users. If you have a guest from abroad, for
+a week, what could be his preferred locales? It may be worth installing
+these additional localizations ahead of time, since they cost only a bit
+of disk space at this point.
+</P>
+<P>
+The system-wide default language is the locale configuration that is used
+when a new user account is created. But the user can have his own locale
+configuration that is different from the one of the other users of the
+same machine. He can specify it, typically after the first login, as
+described in the next section.
+</P>
+
+
+<H2><A NAME="SEC9" HREF="gettext_toc.html#TOC9">2.2 Setting the Locale Used by GUI Programs</A></H2>
-<H2><A NAME="SEC8" HREF="gettext_toc.html#TOC8">2.1 The Current <TT>&lsquo;ABOUT-NLS&rsquo;</TT> Matrix</A></H2>
<P>
-<A NAME="IDX39"></A>
-<A NAME="IDX40"></A>
-<A NAME="IDX41"></A>
+The immediately available programs in a user's desktop come from a group
+of programs called a “desktop environmentâ€; it usually includes the window
+manager, a web browser, a text editor, and more. The most common free
+desktop environments are KDE, GNOME, and Xfce.
+
+</P>
+<P>
+The locale used by GUI programs of the desktop environment can be specified
+in a configuration screen called “control centerâ€, “language settingsâ€
+or “country settingsâ€.
+
+</P>
+<P>
+Individual GUI programs that are not part of the desktop environment can
+have their locale specified either in a settings panel, or through environment
+variables.
</P>
<P>
-Languages are not equally supported in all packages using GNU
-<CODE>gettext</CODE>. To know if some package uses GNU <CODE>gettext</CODE>, one
-may check the distribution for the <TT>&lsquo;ABOUT-NLS&rsquo;</TT> information file, for
-some <TT>&lsquo;<VAR>ll</VAR>.po&rsquo;</TT> files, often kept together into some <TT>&lsquo;po/&rsquo;</TT>
-directory, or for an <TT>&lsquo;intl/&rsquo;</TT> directory. Internationalized packages
-have usually many <TT>&lsquo;<VAR>ll</VAR>.po&rsquo;</TT> files, where <VAR>ll</VAR> represents
-the language. section <A HREF="gettext_2.html#SEC9">2.2 Magic for End Users</A> for a complete description of the format
-for <VAR>ll</VAR>.
+For some programs, it is possible to specify the locale through environment
+variables, possibly even to a different locale than the desktop's locale.
+This means, instead of starting a program through a menu or from the file
+system, you can start it from the command-line, after having set some
+environment variables. The environment variables can be those specified
+in the next section (section <A HREF="gettext_2.html#SEC10">2.3 Setting the Locale through Environment Variables</A>); for some versions of
+KDE, however, the locale is specified through a variable <CODE>KDE_LANG</CODE>,
+rather than <CODE>LANG</CODE> or <CODE>LC_ALL</CODE>.
</P>
+
+
+<H2><A NAME="SEC10" HREF="gettext_toc.html#TOC10">2.3 Setting the Locale through Environment Variables</A></H2>
+
<P>
-More generally, a matrix is available for showing the current state
-of the Translation Project, listing which packages are prepared for
-multi-lingual messages, and which languages are supported by each.
-Because this information changes often, this matrix is not kept within
-this GNU <CODE>gettext</CODE> manual. This information is often found in
-file <TT>&lsquo;ABOUT-NLS&rsquo;</TT> from various distributions, but is also as old as
-the distribution itself. A recent copy of this <TT>&lsquo;ABOUT-NLS&rsquo;</TT> file,
-containing up-to-date information, should generally be found on the
-Translation Project sites, and also on most GNU archive sites.
+As a user, if your language has been installed for this package, in the
+simplest case, you only have to set the <CODE>LANG</CODE> environment variable
+to the appropriate <SAMP>&lsquo;<VAR>ll</VAR>_<VAR>CC</VAR>&rsquo;</SAMP> combination. For example,
+let's suppose that you speak German and live in Germany. At the shell
+prompt, merely execute
+<SAMP>&lsquo;setenv LANG de_DE&rsquo;</SAMP> (in <CODE>csh</CODE>),
+<SAMP>&lsquo;export LANG; LANG=de_DE&rsquo;</SAMP> (in <CODE>sh</CODE>) or
+<SAMP>&lsquo;export LANG=de_DE&rsquo;</SAMP> (in <CODE>bash</CODE>). This can be done from your
+<TT>&lsquo;.login&rsquo;</TT> or <TT>&lsquo;.profile&rsquo;</TT> file, once and for all.
</P>
-<H2><A NAME="SEC9" HREF="gettext_toc.html#TOC9">2.2 Magic for End Users</A></H2>
+
+<H3><A NAME="SEC11" HREF="gettext_toc.html#TOC11">2.3.1 Locale Names</A></H3>
+
<P>
+A locale name usually has the form <SAMP>&lsquo;<VAR>ll</VAR>_<VAR>CC</VAR>&rsquo;</SAMP>. Here
+<SAMP>&lsquo;<VAR>ll</VAR>&rsquo;</SAMP> is an ISO 639 two-letter language code, and
+<SAMP>&lsquo;<VAR>CC</VAR>&rsquo;</SAMP> is an ISO 3166 two-letter country code. For example,
+for German in Germany, <VAR>ll</VAR> is <CODE>de</CODE>, and <VAR>CC</VAR> is <CODE>DE</CODE>.
+You find a list of the language codes in appendix section <A HREF="gettext_17.html#SEC315">A Language Codes</A> and
+a list of the country codes in appendix section <A HREF="gettext_18.html#SEC318">B Country Codes</A>.
+
+</P>
+<P>
+You might think that the country code specification is redundant. But in
+fact, some languages have dialects in different countries. For example,
+<SAMP>&lsquo;de_AT&rsquo;</SAMP> is used for Austria, and <SAMP>&lsquo;pt_BR&rsquo;</SAMP> for Brazil. The country
+code serves to distinguish the dialects.
+
+</P>
+<P>
+Many locale names have an extended syntax
+<SAMP>&lsquo;<VAR>ll</VAR>_<VAR>CC</VAR>.<VAR>encoding</VAR>&rsquo;</SAMP> that also specifies the character
+encoding. These are in use because between 2000 and 2005, most users have
+switched to locales in UTF-8 encoding. For example, the German locale on
+glibc systems is nowadays <SAMP>&lsquo;de_DE.UTF-8&rsquo;</SAMP>. The older name <SAMP>&lsquo;de_DE&rsquo;</SAMP>
+still refers to the German locale as of 2000 that stores characters in
+ISO-8859-1 encoding -- a text encoding that cannot even accomodate the Euro
+currency sign.
+
+</P>
+<P>
+Some locale names use <SAMP>&lsquo;<VAR>ll</VAR>_<VAR>CC</VAR>.@<VAR>variant</VAR>&rsquo;</SAMP> instead of
+<SAMP>&lsquo;<VAR>ll</VAR>_<VAR>CC</VAR>&rsquo;</SAMP>. The <SAMP>&lsquo;@<VAR>variant</VAR>&rsquo;</SAMP> can denote any kind of
+characteristics that is not already implied by the language <VAR>ll</VAR> and
+the country <VAR>CC</VAR>. It can denote a particular monetary unit. For example,
+on glibc systems, <SAMP>&lsquo;de_DE@euro&rsquo;</SAMP> denotes the locale that uses the Euro
+currency, in contrast to the older locale <SAMP>&lsquo;de_DE&rsquo;</SAMP> which implies the use
+of the currency before 2002. It can also denote a dialect of the language,
+or the script used to write text (for example, <SAMP>&lsquo;sr_RS@latin&rsquo;</SAMP> uses the
+Latin script, whereas <SAMP>&lsquo;sr_RS&rsquo;</SAMP> uses the Cyrillic script to write Serbian),
+or the orthography rules, or similar.
+
+</P>
+<P>
+On other systems, some variations of this scheme are used, such as
+<SAMP>&lsquo;<VAR>ll</VAR>&rsquo;</SAMP>. You can get the list of locales supported by your system
+for your language by running the command <SAMP>&lsquo;locale -a | grep '^<VAR>ll</VAR>'&rsquo;</SAMP>.
+
+</P>
+<P>
+There is also a special locale, called <SAMP>&lsquo;C&rsquo;</SAMP>.
+When it is used, it disables all localization: in this locale, all programs
+standardized by POSIX use English messages and an unspecified character
+encoding (often US-ASCII, but sometimes also ISO-8859-1 or UTF-8, depending on
+the operating system).
+
+</P>
+
+
+<H3><A NAME="SEC12" HREF="gettext_toc.html#TOC12">2.3.2 Locale Environment Variables</A></H3>
+<P>
+<A NAME="IDX40"></A>
+<A NAME="IDX41"></A>
<A NAME="IDX42"></A>
+
+</P>
+<P>
+A locale is composed of several <EM>locale categories</EM>, see section <A HREF="gettext_1.html#SEC4">1.3 Aspects in Native Language Support</A>.
+When a program looks up locale dependent values, it does this according to
+the following environment variables, in priority order:
+
+</P>
+
+<OL>
+<LI><CODE>LANGUAGE</CODE>
+
<A NAME="IDX43"></A>
+
<A NAME="IDX44"></A>
+<LI><CODE>LC_ALL</CODE>
+
+<A NAME="IDX45"></A>
+<A NAME="IDX46"></A>
+<A NAME="IDX47"></A>
+<A NAME="IDX48"></A>
+<A NAME="IDX49"></A>
+<A NAME="IDX50"></A>
+<LI><CODE>LC_xxx</CODE>, according to selected locale category:
+
+<CODE>LC_CTYPE</CODE>, <CODE>LC_NUMERIC</CODE>, <CODE>LC_TIME</CODE>, <CODE>LC_COLLATE</CODE>,
+<CODE>LC_MONETARY</CODE>, <CODE>LC_MESSAGES</CODE>, ...
+<A NAME="IDX51"></A>
+<LI><CODE>LANG</CODE>
+
+</OL>
+
+<P>
+Variables whose value is set but is empty are ignored in this lookup.
</P>
<P>
-<A NAME="IDX45"></A>
-We consider here those packages using GNU <CODE>gettext</CODE> internally,
-and for which the installers did not disable translation at
-<EM>configure</EM> time. Then, users only have to set the <CODE>LANG</CODE>
-environment variable to the appropriate <SAMP>&lsquo;<VAR>ll</VAR>_<VAR>CC</VAR>&rsquo;</SAMP>
-combination prior to using the programs in the package. See section <A HREF="gettext_2.html#SEC8">2.1 The Current <TT>&lsquo;ABOUT-NLS&rsquo;</TT> Matrix</A>.
-For example, let's presume a German site. At the shell prompt, users
-merely have to execute <SAMP>&lsquo;setenv LANG de_DE&rsquo;</SAMP> (in <CODE>csh</CODE>) or
-<SAMP>&lsquo;export LANG; LANG=de_DE&rsquo;</SAMP> (in <CODE>sh</CODE>). They could even do
-this from their <TT>&lsquo;.login&rsquo;</TT> or <TT>&lsquo;.profile&rsquo;</TT> file.
+<CODE>LANG</CODE> is the normal environment variable for specifying a locale.
+As a user, you normally set this variable (unless some of the other variables
+have already been set by the system, in <TT>&lsquo;/etc/profile&rsquo;</TT> or similar
+initialization files).
+
+</P>
+<P>
+<CODE>LC_CTYPE</CODE>, <CODE>LC_NUMERIC</CODE>, <CODE>LC_TIME</CODE>, <CODE>LC_COLLATE</CODE>,
+<CODE>LC_MONETARY</CODE>, <CODE>LC_MESSAGES</CODE>, and so on, are the environment
+variables meant to override <CODE>LANG</CODE> and affecting a single locale
+category only. For example, assume you are a Swedish user in Spain, and you
+want your programs to handle numbers and dates according to Spanish
+conventions, and only the messages should be in Swedish. Then you could
+create a locale named <SAMP>&lsquo;sv_ES&rsquo;</SAMP> or <SAMP>&lsquo;sv_ES.UTF-8&rsquo;</SAMP> by use of the
+<CODE>localedef</CODE> program. But it is simpler, and achieves the same effect,
+to set the <CODE>LANG</CODE> variable to <CODE>es_ES.UTF-8</CODE> and the
+<CODE>LC_MESSAGES</CODE> variable to <CODE>sv_SE.UTF-8</CODE>; these two locales come
+already preinstalled with the operating system.
+
+</P>
+<P>
+<CODE>LC_ALL</CODE> is an environment variable that overrides all of these.
+It is typically used in scripts that run particular programs. For example,
+<CODE>configure</CODE> scripts generated by GNU autoconf use <CODE>LC_ALL</CODE> to make
+sure that the configuration tests don't operate in locale dependent ways.
+
+</P>
+<P>
+Some systems, unfortunately, set <CODE>LC_ALL</CODE> in <TT>&lsquo;/etc/profile&rsquo;</TT> or in
+similar initialization files. As a user, you therefore have to unset this
+variable if you want to set <CODE>LANG</CODE> and optionally some of the other
+<CODE>LC_xxx</CODE> variables.
+
+</P>
+<P>
+The <CODE>LANGUAGE</CODE> variable is described in the next subsection.
+
+</P>
+
+
+<H3><A NAME="SEC13" HREF="gettext_toc.html#TOC13">2.3.3 Specifying a Priority List of Languages</A></H3>
+
+<P>
+Not all programs have translations for all languages. By default, an
+English message is shown in place of a nonexistent translation. If you
+understand other languages, you can set up a priority list of languages.
+This is done through a different environment variable, called
+<CODE>LANGUAGE</CODE>. GNU <CODE>gettext</CODE> gives preference to <CODE>LANGUAGE</CODE>
+over <CODE>LC_ALL</CODE> and <CODE>LANG</CODE> for the purpose of message handling,
+but you still need to have <CODE>LANG</CODE> (or <CODE>LC_ALL</CODE>) set to the primary
+language; this is required by other parts of the system libraries.
+For example, some Swedish users who would rather read translations in
+German than English for when Swedish is not available, set <CODE>LANGUAGE</CODE>
+to <SAMP>&lsquo;sv:de&rsquo;</SAMP> while leaving <CODE>LANG</CODE> to <SAMP>&lsquo;sv_SE&rsquo;</SAMP>.
+
+</P>
+<P>
+Special advice for Norwegian users: The language code for Norwegian
+bokm@ringaccent{a}l changed from <SAMP>&lsquo;no&rsquo;</SAMP> to <SAMP>&lsquo;nb&rsquo;</SAMP> recently (in 2003).
+During the transition period, while some message catalogs for this language
+are installed under <SAMP>&lsquo;nb&rsquo;</SAMP> and some older ones under <SAMP>&lsquo;no&rsquo;</SAMP>, it is
+recommended for Norwegian users to set <CODE>LANGUAGE</CODE> to <SAMP>&lsquo;nb:no&rsquo;</SAMP> so that
+both newer and older translations are used.
+
+</P>
+<P>
+In the <CODE>LANGUAGE</CODE> environment variable, but not in the other
+environment variables, <SAMP>&lsquo;<VAR>ll</VAR>_<VAR>CC</VAR>&rsquo;</SAMP> combinations can be
+abbreviated as <SAMP>&lsquo;<VAR>ll</VAR>&rsquo;</SAMP> to denote the language's main dialect.
+For example, <SAMP>&lsquo;de&rsquo;</SAMP> is equivalent to <SAMP>&lsquo;de_DE&rsquo;</SAMP> (German as spoken in
+Germany), and <SAMP>&lsquo;pt&rsquo;</SAMP> to <SAMP>&lsquo;pt_PT&rsquo;</SAMP> (Portuguese as spoken in Portugal)
+in this context.
+
+</P>
+<P>
+Note: The variable <CODE>LANGUAGE</CODE> is ignored if the locale is set to
+<SAMP>&lsquo;C&rsquo;</SAMP>. In other words, you have to first enable localization, by setting
+<CODE>LANG</CODE> (or <CODE>LC_ALL</CODE>) to a value other than <SAMP>&lsquo;C&rsquo;</SAMP>, before you can
+use a language priority list through the <CODE>LANGUAGE</CODE> variable.
+
+</P>
+
+
+<H2><A NAME="SEC14" HREF="gettext_toc.html#TOC14">2.4 Installing Translations for Particular Programs</A></H2>
+<P>
+<A NAME="IDX52"></A>
+<A NAME="IDX53"></A>
+
+</P>
+<P>
+Languages are not equally well supported in all packages using GNU
+<CODE>gettext</CODE>, and more translations are added over time. Usually, you
+use the translations that are shipped with the operating system
+or with particular packages that you install afterwards. But you can also
+install newer localizations directly. For doing this, you will need an
+understanding where each localization file is stored on the file system.
+
+</P>
+<P>
+<A NAME="IDX54"></A>
+For programs that participate in the Translation Project, you can start
+looking for translations here:
+<A HREF="http://translationproject.org/team/index.html">http://translationproject.org/team/index.html</A>.
+A snapshot of this information is also found in the <TT>&lsquo;ABOUT-NLS&rsquo;</TT> file
+that is shipped with GNU gettext.
+
+</P>
+<P>
+For programs that are part of the KDE project, the starting point is:
+<A HREF="http://i18n.kde.org/">http://i18n.kde.org/</A>.
+
+</P>
+<P>
+For programs that are part of the GNOME project, the starting point is:
+<A HREF="http://www.gnome.org/i18n/">http://www.gnome.org/i18n/</A>.
+
+</P>
+<P>
+For other programs, you may check whether the program's source code package
+contains some <TT>&lsquo;<VAR>ll</VAR>.po&rsquo;</TT> files; often they are kept together in a
+directory called <TT>&lsquo;po/&rsquo;</TT>. Each <TT>&lsquo;<VAR>ll</VAR>.po&rsquo;</TT> file contains the
+message translations for the language whose abbreviation of <VAR>ll</VAR>.
</P>
<P><HR><P>
diff --git a/gettext-tools/doc/gettext_20.html b/gettext-tools/doc/gettext_20.html
index ffec300..035dd25 100644
--- a/gettext-tools/doc/gettext_20.html
+++ b/gettext-tools/doc/gettext_20.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 25 October 2006 -->
+ from gettext.texi on 4 November 2007 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - Program Index</TITLE>
@@ -11,7 +11,7 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_19.html">previous
<P><HR><P>
-<H1><A NAME="SEC312" HREF="gettext_toc.html#TOC312">Program Index</A></H1>
+<H1><A NAME="SEC328" HREF="gettext_toc.html#TOC328">Program Index</A></H1>
<P>
Jump to:
@@ -31,45 +31,45 @@ Jump to:
<P>
<H2><A NAME="pindex_a">a</A></H2>
<DIR>
-<LI><A HREF="gettext_13.html#IDX1096">autopoint</A>
+<LI><A HREF="gettext_13.html#IDX1119">autopoint</A>
</DIR>
<H2><A NAME="pindex_e">e</A></H2>
<DIR>
-<LI><A HREF="gettext_15.html#IDX1145">envsubst</A>
+<LI><A HREF="gettext_15.html#IDX1168">envsubst</A>
</DIR>
<H2><A NAME="pindex_g">g</A></H2>
<DIR>
-<LI><A HREF="gettext_15.html#IDX1117">gettext</A>, <A HREF="gettext_15.html#IDX1122">gettext</A>
-<LI><A HREF="gettext_13.html#IDX1060">gettextize</A>
+<LI><A HREF="gettext_15.html#IDX1140">gettext</A>, <A HREF="gettext_15.html#IDX1145">gettext</A>
+<LI><A HREF="gettext_13.html#IDX1081">gettextize</A>
</DIR>
<H2><A NAME="pindex_m">m</A></H2>
<DIR>
-<LI><A HREF="gettext_9.html#IDX783">msgattrib</A>
-<LI><A HREF="gettext_9.html#IDX515">msgcat</A>
-<LI><A HREF="gettext_9.html#IDX767">msgcmp</A>
-<LI><A HREF="gettext_9.html#IDX727">msgcomm</A>
-<LI><A HREF="gettext_9.html#IDX560">msgconv</A>
-<LI><A HREF="gettext_9.html#IDX831">msgen</A>
-<LI><A HREF="gettext_9.html#IDX861">msgexec</A>
-<LI><A HREF="gettext_9.html#IDX645">msgfilter</A>
-<LI><A HREF="gettext_10.html#IDX893">msgfmt</A>
-<LI><A HREF="gettext_9.html#IDX592">msggrep</A>
-<LI><A HREF="gettext_6.html#IDX217">msginit</A>
-<LI><A HREF="gettext_7.html#IDX252">msgmerge</A>
-<LI><A HREF="gettext_10.html#IDX955">msgunfmt</A>
-<LI><A HREF="gettext_9.html#IDX688">msguniq</A>
+<LI><A HREF="gettext_9.html#IDX800">msgattrib</A>
+<LI><A HREF="gettext_9.html#IDX530">msgcat</A>
+<LI><A HREF="gettext_9.html#IDX784">msgcmp</A>
+<LI><A HREF="gettext_9.html#IDX744">msgcomm</A>
+<LI><A HREF="gettext_9.html#IDX577">msgconv</A>
+<LI><A HREF="gettext_9.html#IDX848">msgen</A>
+<LI><A HREF="gettext_9.html#IDX878">msgexec</A>
+<LI><A HREF="gettext_9.html#IDX662">msgfilter</A>
+<LI><A HREF="gettext_10.html#IDX914">msgfmt</A>
+<LI><A HREF="gettext_9.html#IDX609">msggrep</A>
+<LI><A HREF="gettext_6.html#IDX232">msginit</A>
+<LI><A HREF="gettext_7.html#IDX267">msgmerge</A>
+<LI><A HREF="gettext_10.html#IDX976">msgunfmt</A>
+<LI><A HREF="gettext_9.html#IDX705">msguniq</A>
</DIR>
<H2><A NAME="pindex_n">n</A></H2>
<DIR>
-<LI><A HREF="gettext_15.html#IDX1118">ngettext</A>, <A HREF="gettext_15.html#IDX1134">ngettext</A>
+<LI><A HREF="gettext_15.html#IDX1141">ngettext</A>, <A HREF="gettext_15.html#IDX1157">ngettext</A>
</DIR>
<H2><A NAME="pindex_r">r</A></H2>
<DIR>
-<LI><A HREF="gettext_9.html#IDX663">recode-sr-latin</A>
+<LI><A HREF="gettext_9.html#IDX680">recode-sr-latin</A>
</DIR>
<H2><A NAME="pindex_x">x</A></H2>
<DIR>
-<LI><A HREF="gettext_5.html#IDX143">xgettext</A>
+<LI><A HREF="gettext_5.html#IDX154">xgettext</A>
</DIR>
</P>
diff --git a/gettext-tools/doc/gettext_21.html b/gettext-tools/doc/gettext_21.html
index 237aa66..abcb288 100644
--- a/gettext-tools/doc/gettext_21.html
+++ b/gettext-tools/doc/gettext_21.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 25 October 2006 -->
+ from gettext.texi on 4 November 2007 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - Option Index</TITLE>
@@ -11,7 +11,7 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_20.html">previous
<P><HR><P>
-<H1><A NAME="SEC313" HREF="gettext_toc.html#TOC313">Option Index</A></H1>
+<H1><A NAME="SEC329" HREF="gettext_toc.html#TOC329">Option Index</A></H1>
<P>
Jump to:
@@ -19,556 +19,562 @@ Jump to:
<P>
<H2><A NAME="opindex_-">-</A></H2>
<DIR>
-<LI><A HREF="gettext_5.html#IDX167">--add-comments, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX815">--add-location, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX543">--add-location, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX750">--add-location, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX576">--add-location, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX845">--add-location, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX672">--add-location, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX631">--add-location, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX279">--add-location, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX711">--add-location, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX191">--add-location, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX946">--alignment, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX263">--backup, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX182">--boost, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX160">--c++, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX930">--check, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX938">--check-accelerators, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX936">--check-compatibility, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX934">--check-domain, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX931">--check-format, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX933">--check-header, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX799">--clear-fuzzy, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX801">--clear-obsolete, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX802">--clear-previous, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX610">--comment, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX257">--compendium, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX205">--copyright-holder, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX902">--csharp, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX961">--csharp, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX904">--csharp-resources, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX963">--csharp-resources, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX184">--debug, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX150">--default-domain, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX788">--directory, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX522">--directory, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX771">--directory, <CODE>msgcmp</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX733">--directory, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX564">--directory, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX835">--directory, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX872">--directory, <CODE>msgexec</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX651">--directory, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX897">--directory, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX596">--directory, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX255">--directory, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX693">--directory, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX148">--directory, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_15.html#IDX1126">--domain, <CODE>gettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX602">--domain, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_15.html#IDX1138">--domain, <CODE>ngettext</CODE> option</A>
-<LI><A HREF="gettext_13.html#IDX1101">--dry-run, <CODE>autopoint</CODE> option</A>
-<LI><A HREF="gettext_13.html#IDX1068">--dry-run, <CODE>gettextize</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX165">--exclude-file, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX657">--expression, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX614">--extended-regexp, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX169">--extract-all, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX612">--extracted-comment, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX659">--file, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX620">--file, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX520">--files-from, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX731">--files-from, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX146">--files-from, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX616">--fixed-strings, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX174">--flag, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_13.html#IDX1099">--force, <CODE>autopoint</CODE> option</A>
-<LI><A HREF="gettext_13.html#IDX1063">--force, <CODE>gettextize</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX810">--force-po, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX538">--force-po, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX745">--force-po, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX572">--force-po, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX841">--force-po, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX668">--force-po, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX628">--force-po, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX275">--force-po, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX981">--force-po, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX706">--force-po, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX186">--force-po, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX206">--foreign-user, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX161">--from-code, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX805">--fuzzy, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_13.html#IDX1102">--help, <CODE>autopoint</CODE> option</A>
-<LI><A HREF="gettext_15.html#IDX1153">--help, <CODE>envsubst</CODE> option</A>
-<LI><A HREF="gettext_15.html#IDX1130">--help, <CODE>gettext</CODE> option</A>
-<LI><A HREF="gettext_13.html#IDX1069">--help, <CODE>gettextize</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX828">--help, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX557">--help, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX780">--help, <CODE>msgcmp</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX764">--help, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX589">--help, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX858">--help, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX877">--help, <CODE>msgexec</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX685">--help, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX949">--help, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX642">--help, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX238">--help, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX293">--help, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX995">--help, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX724">--help, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_15.html#IDX1142">--help, <CODE>ngettext</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX213">--help, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX622">--ignore-case, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX804">--ignore-file, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX812">--indent, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX540">--indent, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX747">--indent, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX574">--indent, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX843">--indent, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX669">--indent, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX629">--indent, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX277">--indent, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX983">--indent, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX708">--indent, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX188">--indent, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX870">--input, <CODE>msgexec</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX649">--input, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX222">--input, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_13.html#IDX1064">--intl, <CODE>gettextize</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX624">--invert-match, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX899">--java, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX959">--java, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX901">--java2, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX163">--join-existing, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX670">--keep-header, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX171">--keyword, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX157">--language, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX527">--less-than, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX737">--less-than, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX916">--locale, <CODE>msgfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX921">--locale, <CODE>msgfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX924">--locale, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX229">--locale, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX970">--locale, <CODE>msgunfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX974">--locale, <CODE>msgunfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX977">--locale, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX600">--location, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX529">--more-than, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX739">--more-than, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX604">--msgctxt, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX606">--msgid, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX207">--msgid-bugs-address, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX608">--msgstr, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX209">--msgstr-prefix, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX211">--msgstr-suffix, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX773">--multi-domain, <CODE>msgcmp</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX268">--multi-domain, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_13.html#IDX1065">--no-changelog, <CODE>gettextize</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX793">--no-fuzzy, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX270">--no-fuzzy-matching, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX947">--no-hash, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX813">--no-location, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX541">--no-location, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX748">--no-location, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX575">--no-location, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX844">--no-location, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX671">--no-location, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX630">--no-location, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX278">--no-location, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX709">--no-location, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX189">--no-location, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX795">--no-obsolete, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX230">--no-translator, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX822">--no-wrap, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX550">--no-wrap, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX757">--no-wrap, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX583">--no-wrap, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX852">--no-wrap, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX679">--no-wrap, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX638">--no-wrap, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX236">--no-wrap, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX286">--no-wrap, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX990">--no-wrap, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX718">--no-wrap, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX197">--no-wrap, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX806">--obsolete, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX762">--omit-header, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX203">--omit-header, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX803">--only-file, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX794">--only-fuzzy, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX796">--only-obsolete, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX152">--output, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX154">--output-dir, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX790">--output-file, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX524">--output-file, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX735">--output-file, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX566">--output-file, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX837">--output-file, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX653">--output-file, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX911">--output-file, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX598">--output-file, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX224">--output-file, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX261">--output-file, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX980">--output-file, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX695">--output-file, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX271">--previous, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX808">--properties-input, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX533">--properties-input, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX777">--properties-input, <CODE>msgcmp</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX743">--properties-input, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX570">--properties-input, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX839">--properties-input, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX874">--properties-input, <CODE>msgexec</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX666">--properties-input, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX927">--properties-input, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX626">--properties-input, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX226">--properties-input, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX273">--properties-input, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX701">--properties-input, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX818">--properties-output, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX546">--properties-output, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX753">--properties-output, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX579">--properties-output, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX848">--properties-output, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX675">--properties-output, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX634">--properties-output, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX232">--properties-output, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX282">--properties-output, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX986">--properties-output, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX714">--properties-output, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX193">--properties-output, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX908">--qt, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX180">--qt, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX661">--quiet, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX299">--quiet, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX618">--regexp=, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX697">--repeated, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX914">--resource, <CODE>msgfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX919">--resource, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX968">--resource, <CODE>msgunfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX972">--resource, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX798">--set-fuzzy, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX800">--set-obsolete, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX662">--silent, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX300">--silent, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX826">--sort-by-file, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX555">--sort-by-file, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX761">--sort-by-file, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX587">--sort-by-file, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX856">--sort-by-file, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX683">--sort-by-file, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX640">--sort-by-file, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX291">--sort-by-file, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX722">--sort-by-file, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX202">--sort-by-file, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX824">--sort-output, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX552">--sort-output, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX759">--sort-output, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX585">--sort-output, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX854">--sort-output, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX681">--sort-output, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX639">--sort-output, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX288">--sort-output, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX992">--sort-output, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX720">--sort-output, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX199">--sort-output, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX952">--statistics, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX816">--strict, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX544">--strict, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX751">--strict, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX577">--strict, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX846">--strict, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX673">--strict, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX912">--strict, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX632">--strict, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX280">--strict, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX984">--strict, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX712">--strict, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX192">--strict, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX809">--stringtable-input, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX534">--stringtable-input, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX778">--stringtable-input, <CODE>msgcmp</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX744">--stringtable-input, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX840">--stringtable-input, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX875">--stringtable-input, <CODE>msgexec</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX667">--stringtable-input, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX928">--stringtable-input, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX627">--stringtable-input, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX227">--stringtable-input, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX274">--stringtable-input, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX571">--stringtable-input, <CODE>msgonv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX702">--stringtable-input, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX819">--stringtable-output, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX547">--stringtable-output, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX754">--stringtable-output, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX580">--stringtable-output, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX849">--stringtable-output, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX676">--stringtable-output, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX635">--stringtable-output, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX233">--stringtable-output, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX283">--stringtable-output, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX987">--stringtable-output, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX715">--stringtable-output, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX194">--stringtable-output, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX265">--suffix, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_13.html#IDX1066">--symlink, <CODE>gettextize</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX906">--tcl, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX965">--tcl, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX536">--to-code, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX568">--to-code, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX704">--to-code, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX791">--translated, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX178">--trigraphs, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX531">--unique, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX741">--unique, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX699">--unique, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX792">--untranslated, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX259">--update, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX537">--use-first, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX705">--use-first, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX774">--use-fuzzy, <CODE>msgcmp</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX943">--use-fuzzy, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX775">--use-untranslated, <CODE>msgcmp</CODE> option</A>
-<LI><A HREF="gettext_15.html#IDX1151">--variables, <CODE>envsubst</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX954">--verbose, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX297">--verbose, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX999">--verbose, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_13.html#IDX1103">--version, <CODE>autopoint</CODE> option</A>
-<LI><A HREF="gettext_15.html#IDX1155">--version, <CODE>envsubst</CODE> option</A>
-<LI><A HREF="gettext_15.html#IDX1133">--version, <CODE>gettext</CODE> option</A>
-<LI><A HREF="gettext_13.html#IDX1070">--version, <CODE>gettextize</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX830">--version, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX559">--version, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX782">--version, <CODE>msgcmp</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX766">--version, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX591">--version, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX860">--version, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX879">--version, <CODE>msgexec</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX687">--version, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX951">--version, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX644">--version, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX240">--version, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX295">--version, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX997">--version, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX726">--version, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_15.html#IDX1144">--version, <CODE>ngettext</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX215">--version, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX821">--width, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX549">--width, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX756">--width, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX582">--width, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX851">--width, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX678">--width, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX637">--width, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX235">--width, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX285">--width, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX989">--width, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX717">--width, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX196">--width, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX526">-&#60;, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX736">-&#60;, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX528">-&#62;, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX738">-&#62;, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX945">-a, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX168">-a, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX935">-C, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX929">-c, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX609">-C, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX256">-C, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX159">-C, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX166">-c, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_13.html#IDX1100">-d, <CODE>autopoint</CODE> option</A>
-<LI><A HREF="gettext_15.html#IDX1125">-d, <CODE>gettext</CODE> option</A>
-<LI><A HREF="gettext_13.html#IDX1067">-d, <CODE>gettextize</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX787">-D, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX521">-D, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX770">-D, <CODE>msgcmp</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX732">-D, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX563">-D, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX834">-D, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX871">-D, <CODE>msgexec</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX650">-D, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX917">-d, <CODE>msgfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX922">-d, <CODE>msgfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX925">-d, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX896">-D, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX595">-D, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX254">-D, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX975">-d, <CODE>msgunfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX978">-d, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX692">-D, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX696">-d, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_15.html#IDX1137">-d, <CODE>ngettext</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX147">-D, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX149">-d, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_15.html#IDX1127">-e, <CODE>gettext</CODE> option</A>
-<LI><A HREF="gettext_15.html#IDX1128">-E, <CODE>gettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX656">-e, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX613">-E, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX617">-e, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_15.html#IDX1139">-e, <CODE>ngettext</CODE> option</A>
-<LI><A HREF="gettext_15.html#IDX1140">-E, <CODE>ngettext</CODE> option</A>
-<LI><A HREF="gettext_13.html#IDX1098">-f, <CODE>autopoint</CODE> option</A>
-<LI><A HREF="gettext_13.html#IDX1062">-f, <CODE>gettextize</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX825">-F, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX519">-f, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX554">-F, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX760">-F, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX730">-f, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX586">-F, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX855">-F, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX682">-F, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX658">-f, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX942">-f, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX619">-f, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX615">-F, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX290">-F, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX721">-F, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX201">-F, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX145">-f, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_15.html#IDX1152">-h, <CODE>envsubst</CODE> option</A>
-<LI><A HREF="gettext_15.html#IDX1129">-h, <CODE>gettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX827">-h, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX556">-h, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX779">-h, <CODE>msgcmp</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX763">-h, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX588">-h, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX857">-h, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX876">-h, <CODE>msgexec</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX684">-h, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX948">-h, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX641">-h, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX237">-h, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX292">-h, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX994">-h, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX723">-h, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_15.html#IDX1141">-h, <CODE>ngettext</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX212">-h, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX811">-i, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX539">-i, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX746">-i, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX573">-i, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX842">-i, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX869">-i, <CODE>msgexec</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX648">-i, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX621">-i, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX221">-i, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX276">-i, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX982">-i, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX707">-i, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX187">-i, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX898">-j, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX603">-J, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX958">-j, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX162">-j, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX605">-K, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX170">-k, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX915">-l, <CODE>msgfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX920">-l, <CODE>msgfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX923">-l, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX228">-l, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX969">-l, <CODE>msgunfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX973">-l, <CODE>msgunfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX976">-l, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX156">-L, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX772">-m, <CODE>msgcmp</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX601">-M, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX267">-m, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX210">-M, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX208">-m, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_15.html#IDX1131">-n, <CODE>gettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX814">-n, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX542">-n, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX749">-n, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX660">-n, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX599">-N, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX269">-N, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX710">-n, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX190">-n, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX789">-o, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX523">-o, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX734">-o, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX565">-o, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX836">-o, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX652">-o, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX910">-o, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX597">-o, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX223">-o, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX260">-o, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX979">-o, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX694">-o, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX151">-o, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX807">-P, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX817">-p, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX532">-P, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX545">-p, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX776">-P, <CODE>msgcmp</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX742">-P, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX752">-p, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX569">-P, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX578">-p, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX838">-P, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX847">-p, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX873">-P, <CODE>msgexec</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX665">-P, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX674">-p, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX926">-P, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX633">-p, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX625">-P, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX225">-P, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX231">-p, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX281">-p, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX272">-P, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX985">-p, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX713">-p, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX700">-P, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX153">-p, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX298">-q, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX913">-r, <CODE>msgfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX918">-r, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX967">-r, <CODE>msgunfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX971">-r, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX823">-s, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX551">-s, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX758">-s, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX584">-s, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX853">-s, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX680">-s, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX287">-s, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX991">-s, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX719">-s, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX198">-s, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX535">-t, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX567">-t, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX607">-T, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX703">-t, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX177">-T, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX530">-u, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX740">-u, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX258">-U, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX698">-u, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_15.html#IDX1150">-v, <CODE>envsubst</CODE> option</A>
-<LI><A HREF="gettext_15.html#IDX1154">-V, <CODE>envsubst</CODE> option</A>
-<LI><A HREF="gettext_15.html#IDX1132">-V, <CODE>gettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX829">-V, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX558">-V, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX781">-V, <CODE>msgcmp</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX765">-V, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX590">-V, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX859">-V, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX878">-V, <CODE>msgexec</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX686">-V, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX950">-V, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX953">-v, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX643">-V, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX623">-v, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX239">-V, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX296">-v, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX294">-V, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX998">-v, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX996">-V, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX725">-V, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_15.html#IDX1143">-V, <CODE>ngettext</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX214">-V, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX820">-w, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX548">-w, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX755">-w, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX581">-w, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX850">-w, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX677">-w, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX636">-w, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX234">-w, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX284">-w, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_10.html#IDX988">-w, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX716">-w, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX195">-w, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_9.html#IDX611">-X, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX164">-x, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX178">--add-comments, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX832">--add-location, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX560">--add-location, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX767">--add-location, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX593">--add-location, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX862">--add-location, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX689">--add-location, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX648">--add-location, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX294">--add-location, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX728">--add-location, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX204">--add-location, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX967">--alignment, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX278">--backup, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX195">--boost, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX171">--c++, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX951">--check, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX959">--check-accelerators, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX957">--check-compatibility, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX955">--check-domain, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX952">--check-format, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX954">--check-header, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX816">--clear-fuzzy, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX818">--clear-obsolete, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX819">--clear-previous, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX553">--color, <CODE>msgcat</CODE> option</A>, <A HREF="gettext_9.html#IDX897">--color, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX627">--comment, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX272">--compendium, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX218">--copyright-holder, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX923">--csharp, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX982">--csharp, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX925">--csharp-resources, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX984">--csharp-resources, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX197">--debug, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX161">--default-domain, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX805">--directory, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX537">--directory, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX788">--directory, <CODE>msgcmp</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX750">--directory, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX581">--directory, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX852">--directory, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX889">--directory, <CODE>msgexec</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX668">--directory, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX918">--directory, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX613">--directory, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX270">--directory, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX710">--directory, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX159">--directory, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_15.html#IDX1149">--domain, <CODE>gettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX619">--domain, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_15.html#IDX1161">--domain, <CODE>ngettext</CODE> option</A>
+<LI><A HREF="gettext_13.html#IDX1124">--dry-run, <CODE>autopoint</CODE> option</A>
+<LI><A HREF="gettext_13.html#IDX1090">--dry-run, <CODE>gettextize</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX176">--exclude-file, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX674">--expression, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX631">--extended-regexp, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX180">--extract-all, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX629">--extracted-comment, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX676">--file, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX637">--file, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX535">--files-from, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX748">--files-from, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX157">--files-from, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX633">--fixed-strings, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX185">--flag, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_13.html#IDX1122">--force, <CODE>autopoint</CODE> option</A>
+<LI><A HREF="gettext_13.html#IDX1084">--force, <CODE>gettextize</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX827">--force-po, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX555">--force-po, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX762">--force-po, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX589">--force-po, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX858">--force-po, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX685">--force-po, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX645">--force-po, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX290">--force-po, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1002">--force-po, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX723">--force-po, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX199">--force-po, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX219">--foreign-user, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX172">--from-code, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX822">--fuzzy, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_13.html#IDX1125">--help, <CODE>autopoint</CODE> option</A>
+<LI><A HREF="gettext_15.html#IDX1176">--help, <CODE>envsubst</CODE> option</A>
+<LI><A HREF="gettext_15.html#IDX1153">--help, <CODE>gettext</CODE> option</A>
+<LI><A HREF="gettext_13.html#IDX1091">--help, <CODE>gettextize</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX845">--help, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX574">--help, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX797">--help, <CODE>msgcmp</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX781">--help, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX606">--help, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX875">--help, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX894">--help, <CODE>msgexec</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX702">--help, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX970">--help, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX659">--help, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_6.html#IDX253">--help, <CODE>msginit</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX308">--help, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1016">--help, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX741">--help, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_15.html#IDX1165">--help, <CODE>ngettext</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX228">--help, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX639">--ignore-case, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX821">--ignore-file, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX829">--indent, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX557">--indent, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX764">--indent, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX591">--indent, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX860">--indent, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX686">--indent, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX646">--indent, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX292">--indent, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1004">--indent, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX725">--indent, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX201">--indent, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX887">--input, <CODE>msgexec</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX666">--input, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_6.html#IDX237">--input, <CODE>msginit</CODE> option</A>
+<LI><A HREF="gettext_13.html#IDX1085">--intl, <CODE>gettextize</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX641">--invert-match, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX920">--java, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX980">--java, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX922">--java2, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX174">--join-existing, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX193">--kde, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX687">--keep-header, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX182">--keyword, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX168">--language, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX542">--less-than, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX754">--less-than, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX937">--locale, <CODE>msgfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX942">--locale, <CODE>msgfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX945">--locale, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_6.html#IDX244">--locale, <CODE>msginit</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX991">--locale, <CODE>msgunfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX995">--locale, <CODE>msgunfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX998">--locale, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX617">--location, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX544">--more-than, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX756">--more-than, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX621">--msgctxt, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX623">--msgid, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX222">--msgid-bugs-address, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX625">--msgstr, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX224">--msgstr-prefix, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX226">--msgstr-suffix, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX790">--multi-domain, <CODE>msgcmp</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX283">--multi-domain, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_13.html#IDX1087">--no-changelog, <CODE>gettextize</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX810">--no-fuzzy, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX285">--no-fuzzy-matching, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX968">--no-hash, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX830">--no-location, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX558">--no-location, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX765">--no-location, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX592">--no-location, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX861">--no-location, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX688">--no-location, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX647">--no-location, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX293">--no-location, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX726">--no-location, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX202">--no-location, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX812">--no-obsolete, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_6.html#IDX245">--no-translator, <CODE>msginit</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX839">--no-wrap, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX567">--no-wrap, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX774">--no-wrap, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX600">--no-wrap, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX869">--no-wrap, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX696">--no-wrap, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX655">--no-wrap, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_6.html#IDX251">--no-wrap, <CODE>msginit</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX301">--no-wrap, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1011">--no-wrap, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX735">--no-wrap, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX210">--no-wrap, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX823">--obsolete, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX779">--omit-header, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX216">--omit-header, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX820">--only-file, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX811">--only-fuzzy, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX813">--only-obsolete, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX163">--output, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX165">--output-dir, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX807">--output-file, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX539">--output-file, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX752">--output-file, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX583">--output-file, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX854">--output-file, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX670">--output-file, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX932">--output-file, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX615">--output-file, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_6.html#IDX239">--output-file, <CODE>msginit</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX276">--output-file, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1001">--output-file, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX712">--output-file, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX220">--package-name, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX221">--package-version, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_13.html#IDX1086">--po-dir, <CODE>gettextize</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX286">--previous, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX825">--properties-input, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX548">--properties-input, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX794">--properties-input, <CODE>msgcmp</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX760">--properties-input, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX587">--properties-input, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX856">--properties-input, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX891">--properties-input, <CODE>msgexec</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX683">--properties-input, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX948">--properties-input, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX643">--properties-input, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_6.html#IDX241">--properties-input, <CODE>msginit</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX288">--properties-input, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX718">--properties-input, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX835">--properties-output, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX563">--properties-output, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX770">--properties-output, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX596">--properties-output, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX865">--properties-output, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX692">--properties-output, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX651">--properties-output, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_6.html#IDX247">--properties-output, <CODE>msginit</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX297">--properties-output, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1007">--properties-output, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX731">--properties-output, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX206">--properties-output, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX929">--qt, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX191">--qt, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX678">--quiet, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX314">--quiet, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX635">--regexp=, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX714">--repeated, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX935">--resource, <CODE>msgfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX940">--resource, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX989">--resource, <CODE>msgunfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX993">--resource, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX815">--set-fuzzy, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX817">--set-obsolete, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX679">--silent, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX315">--silent, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX843">--sort-by-file, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX572">--sort-by-file, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX778">--sort-by-file, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX604">--sort-by-file, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX873">--sort-by-file, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX700">--sort-by-file, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX657">--sort-by-file, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX306">--sort-by-file, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX739">--sort-by-file, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX215">--sort-by-file, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX841">--sort-output, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX569">--sort-output, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX776">--sort-output, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX602">--sort-output, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX871">--sort-output, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX698">--sort-output, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX656">--sort-output, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX303">--sort-output, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1013">--sort-output, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX737">--sort-output, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX212">--sort-output, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX973">--statistics, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX833">--strict, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX561">--strict, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX768">--strict, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX594">--strict, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX863">--strict, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX690">--strict, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX933">--strict, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX649">--strict, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX295">--strict, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1005">--strict, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX729">--strict, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX205">--strict, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX826">--stringtable-input, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX549">--stringtable-input, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX795">--stringtable-input, <CODE>msgcmp</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX761">--stringtable-input, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX857">--stringtable-input, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX892">--stringtable-input, <CODE>msgexec</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX684">--stringtable-input, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX949">--stringtable-input, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX644">--stringtable-input, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_6.html#IDX242">--stringtable-input, <CODE>msginit</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX289">--stringtable-input, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX588">--stringtable-input, <CODE>msgonv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX719">--stringtable-input, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX836">--stringtable-output, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX564">--stringtable-output, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX771">--stringtable-output, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX597">--stringtable-output, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX866">--stringtable-output, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX693">--stringtable-output, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX652">--stringtable-output, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_6.html#IDX248">--stringtable-output, <CODE>msginit</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX298">--stringtable-output, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1008">--stringtable-output, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX732">--stringtable-output, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX207">--stringtable-output, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX554">--style, <CODE>msgcat</CODE> option</A>, <A HREF="gettext_9.html#IDX899">--style, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX280">--suffix, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_13.html#IDX1088">--symlink, <CODE>gettextize</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX927">--tcl, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX986">--tcl, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX551">--to-code, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX585">--to-code, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX721">--to-code, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX808">--translated, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX189">--trigraphs, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX546">--unique, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX758">--unique, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX716">--unique, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX809">--untranslated, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX274">--update, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX552">--use-first, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX722">--use-first, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX791">--use-fuzzy, <CODE>msgcmp</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX964">--use-fuzzy, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX792">--use-untranslated, <CODE>msgcmp</CODE> option</A>
+<LI><A HREF="gettext_15.html#IDX1174">--variables, <CODE>envsubst</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX975">--verbose, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX312">--verbose, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1020">--verbose, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_13.html#IDX1126">--version, <CODE>autopoint</CODE> option</A>
+<LI><A HREF="gettext_15.html#IDX1178">--version, <CODE>envsubst</CODE> option</A>
+<LI><A HREF="gettext_15.html#IDX1156">--version, <CODE>gettext</CODE> option</A>
+<LI><A HREF="gettext_13.html#IDX1092">--version, <CODE>gettextize</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX847">--version, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX576">--version, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX799">--version, <CODE>msgcmp</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX783">--version, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX608">--version, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX877">--version, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX896">--version, <CODE>msgexec</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX704">--version, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX972">--version, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX661">--version, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_6.html#IDX255">--version, <CODE>msginit</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX310">--version, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1018">--version, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX743">--version, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_15.html#IDX1167">--version, <CODE>ngettext</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX230">--version, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX838">--width, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX566">--width, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX773">--width, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX599">--width, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX868">--width, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX695">--width, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX654">--width, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_6.html#IDX250">--width, <CODE>msginit</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX300">--width, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1010">--width, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX734">--width, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX209">--width, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX541">-&#60;, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX753">-&#60;, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX543">-&#62;, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX755">-&#62;, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX966">-a, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX179">-a, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX956">-C, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX950">-c, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX626">-C, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX271">-C, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX170">-C, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX177">-c, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_13.html#IDX1123">-d, <CODE>autopoint</CODE> option</A>
+<LI><A HREF="gettext_15.html#IDX1148">-d, <CODE>gettext</CODE> option</A>
+<LI><A HREF="gettext_13.html#IDX1089">-d, <CODE>gettextize</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX804">-D, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX536">-D, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX787">-D, <CODE>msgcmp</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX749">-D, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX580">-D, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX851">-D, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX888">-D, <CODE>msgexec</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX667">-D, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX938">-d, <CODE>msgfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX943">-d, <CODE>msgfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX946">-d, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX917">-D, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX612">-D, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX269">-D, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX996">-d, <CODE>msgunfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX999">-d, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX713">-d, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX709">-D, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_15.html#IDX1160">-d, <CODE>ngettext</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX160">-d, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX158">-D, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_15.html#IDX1150">-e, <CODE>gettext</CODE> option</A>
+<LI><A HREF="gettext_15.html#IDX1151">-E, <CODE>gettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX673">-e, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX634">-e, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX630">-E, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_15.html#IDX1162">-e, <CODE>ngettext</CODE> option</A>
+<LI><A HREF="gettext_15.html#IDX1163">-E, <CODE>ngettext</CODE> option</A>
+<LI><A HREF="gettext_13.html#IDX1121">-f, <CODE>autopoint</CODE> option</A>
+<LI><A HREF="gettext_13.html#IDX1083">-f, <CODE>gettextize</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX842">-F, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX534">-f, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX571">-F, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX777">-F, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX747">-f, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX603">-F, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX872">-F, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX699">-F, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX675">-f, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX963">-f, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX636">-f, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX632">-F, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX305">-F, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX738">-F, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX214">-F, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX156">-f, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_15.html#IDX1175">-h, <CODE>envsubst</CODE> option</A>
+<LI><A HREF="gettext_15.html#IDX1152">-h, <CODE>gettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX844">-h, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX573">-h, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX796">-h, <CODE>msgcmp</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX780">-h, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX605">-h, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX874">-h, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX893">-h, <CODE>msgexec</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX701">-h, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX969">-h, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX658">-h, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_6.html#IDX252">-h, <CODE>msginit</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX307">-h, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1015">-h, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX740">-h, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_15.html#IDX1164">-h, <CODE>ngettext</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX227">-h, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX828">-i, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX556">-i, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX763">-i, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX590">-i, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX859">-i, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX886">-i, <CODE>msgexec</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX665">-i, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX638">-i, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_6.html#IDX236">-i, <CODE>msginit</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX291">-i, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1003">-i, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX724">-i, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX200">-i, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX919">-j, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX620">-J, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX979">-j, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX173">-j, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX622">-K, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX181">-k, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX936">-l, <CODE>msgfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX941">-l, <CODE>msgfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX944">-l, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_6.html#IDX243">-l, <CODE>msginit</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX990">-l, <CODE>msgunfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX994">-l, <CODE>msgunfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX997">-l, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX167">-L, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX789">-m, <CODE>msgcmp</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX618">-M, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX282">-m, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX225">-M, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX223">-m, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_15.html#IDX1154">-n, <CODE>gettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX831">-n, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX559">-n, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX766">-n, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX677">-n, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX616">-N, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX284">-N, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX727">-n, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX203">-n, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX806">-o, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX538">-o, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX751">-o, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX582">-o, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX853">-o, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX669">-o, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX931">-o, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX614">-o, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_6.html#IDX238">-o, <CODE>msginit</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX275">-o, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1000">-o, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX711">-o, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX162">-o, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX834">-p, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX824">-P, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX562">-p, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX547">-P, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX793">-P, <CODE>msgcmp</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX769">-p, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX759">-P, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX595">-p, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX586">-P, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX864">-p, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX855">-P, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX890">-P, <CODE>msgexec</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX682">-P, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX691">-p, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX947">-P, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX642">-P, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX650">-p, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_6.html#IDX246">-p, <CODE>msginit</CODE> option</A>
+<LI><A HREF="gettext_6.html#IDX240">-P, <CODE>msginit</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX296">-p, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX287">-P, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1006">-p, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX730">-p, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX717">-P, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX164">-p, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX313">-q, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX934">-r, <CODE>msgfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX939">-r, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX988">-r, <CODE>msgunfmt</CODE> option</A>, <A HREF="gettext_10.html#IDX992">-r, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX840">-s, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX568">-s, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX775">-s, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX601">-s, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX870">-s, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX697">-s, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX302">-s, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1012">-s, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX736">-s, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX211">-s, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX550">-t, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX584">-t, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX624">-T, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX720">-t, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX188">-T, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX545">-u, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX757">-u, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX273">-U, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX715">-u, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_15.html#IDX1173">-v, <CODE>envsubst</CODE> option</A>
+<LI><A HREF="gettext_15.html#IDX1177">-V, <CODE>envsubst</CODE> option</A>
+<LI><A HREF="gettext_15.html#IDX1155">-V, <CODE>gettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX846">-V, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX575">-V, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX798">-V, <CODE>msgcmp</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX782">-V, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX607">-V, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX876">-V, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX895">-V, <CODE>msgexec</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX703">-V, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX974">-v, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX971">-V, <CODE>msgfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX660">-V, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX640">-v, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_6.html#IDX254">-V, <CODE>msginit</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX309">-V, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX311">-v, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1019">-v, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1017">-V, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX742">-V, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_15.html#IDX1166">-V, <CODE>ngettext</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX229">-V, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX837">-w, <CODE>msgattrib</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX565">-w, <CODE>msgcat</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX772">-w, <CODE>msgcomm</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX598">-w, <CODE>msgconv</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX867">-w, <CODE>msgen</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX694">-w, <CODE>msgfilter</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX653">-w, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_6.html#IDX249">-w, <CODE>msginit</CODE> option</A>
+<LI><A HREF="gettext_7.html#IDX299">-w, <CODE>msgmerge</CODE> option</A>
+<LI><A HREF="gettext_10.html#IDX1009">-w, <CODE>msgunfmt</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX733">-w, <CODE>msguniq</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX208">-w, <CODE>xgettext</CODE> option</A>
+<LI><A HREF="gettext_9.html#IDX628">-X, <CODE>msggrep</CODE> option</A>
+<LI><A HREF="gettext_5.html#IDX175">-x, <CODE>xgettext</CODE> option</A>
</DIR>
</P>
diff --git a/gettext-tools/doc/gettext_22.html b/gettext-tools/doc/gettext_22.html
index 9e51665..6072fd9 100644
--- a/gettext-tools/doc/gettext_22.html
+++ b/gettext-tools/doc/gettext_22.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 25 October 2006 -->
+ from gettext.texi on 4 November 2007 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - Variable Index</TITLE>
@@ -11,7 +11,7 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_21.html">previous
<P><HR><P>
-<H1><A NAME="SEC314" HREF="gettext_toc.html#TOC314">Variable Index</A></H1>
+<H1><A NAME="SEC330" HREF="gettext_toc.html#TOC330">Variable Index</A></H1>
<P>
Jump to:
@@ -21,35 +21,42 @@ Jump to:
-
<A HREF="#vindex_m">m</A>
-
+<A HREF="#vindex_p">p</A>
+-
<A HREF="#vindex_t">t</A>
<P>
<H2><A NAME="vindex_g">g</A></H2>
<DIR>
-<LI><A HREF="gettext_12.html#IDX1055">GETTEXT_LOG_UNTRANSLATED, environment variable</A>
+<LI><A HREF="gettext_12.html#IDX1076">GETTEXT_LOG_UNTRANSLATED, environment variable</A>
</DIR>
<H2><A NAME="vindex_l">l</A></H2>
<DIR>
-<LI><A HREF="gettext_2.html#IDX45">LANG, environment variable</A>, <A HREF="gettext_11.html#IDX1053">LANG, environment variable</A>
-<LI><A HREF="gettext_11.html#IDX1045">LANGUAGE, environment variable</A>, <A HREF="gettext_13.html#IDX1077">LANGUAGE, environment variable</A>
-<LI><A HREF="gettext_11.html#IDX1046">LC_ALL, environment variable</A>
-<LI><A HREF="gettext_11.html#IDX1050">LC_COLLATE, environment variable</A>
-<LI><A HREF="gettext_11.html#IDX1047">LC_CTYPE, environment variable</A>
-<LI><A HREF="gettext_11.html#IDX1052">LC_MESSAGES, environment variable</A>
-<LI><A HREF="gettext_11.html#IDX1051">LC_MONETARY, environment variable</A>
-<LI><A HREF="gettext_11.html#IDX1048">LC_NUMERIC, environment variable</A>
-<LI><A HREF="gettext_11.html#IDX1049">LC_TIME, environment variable</A>
-<LI><A HREF="gettext_14.html#IDX1110">LINGUAS, environment variable</A>
+<LI><A HREF="gettext_2.html#IDX51">LANG, environment variable</A>, <A HREF="gettext_11.html#IDX1074">LANG, environment variable</A>
+<LI><A HREF="gettext_2.html#IDX43">LANGUAGE, environment variable</A>, <A HREF="gettext_11.html#IDX1066">LANGUAGE, environment variable</A>, <A HREF="gettext_13.html#IDX1099">LANGUAGE, environment variable</A>
+<LI><A HREF="gettext_2.html#IDX44">LC_ALL, environment variable</A>, <A HREF="gettext_11.html#IDX1067">LC_ALL, environment variable</A>
+<LI><A HREF="gettext_2.html#IDX48">LC_COLLATE, environment variable</A>, <A HREF="gettext_11.html#IDX1071">LC_COLLATE, environment variable</A>
+<LI><A HREF="gettext_2.html#IDX45">LC_CTYPE, environment variable</A>, <A HREF="gettext_11.html#IDX1068">LC_CTYPE, environment variable</A>
+<LI><A HREF="gettext_2.html#IDX50">LC_MESSAGES, environment variable</A>, <A HREF="gettext_11.html#IDX1073">LC_MESSAGES, environment variable</A>
+<LI><A HREF="gettext_2.html#IDX49">LC_MONETARY, environment variable</A>, <A HREF="gettext_11.html#IDX1072">LC_MONETARY, environment variable</A>
+<LI><A HREF="gettext_2.html#IDX46">LC_NUMERIC, environment variable</A>, <A HREF="gettext_11.html#IDX1069">LC_NUMERIC, environment variable</A>
+<LI><A HREF="gettext_2.html#IDX47">LC_TIME, environment variable</A>, <A HREF="gettext_11.html#IDX1070">LC_TIME, environment variable</A>
+<LI><A HREF="gettext_14.html#IDX1133">LINGUAS, environment variable</A>
</DIR>
<H2><A NAME="vindex_m">m</A></H2>
<DIR>
-<LI><A HREF="gettext_9.html#IDX867">MSGEXEC_LOCATION, environment variable</A>
-<LI><A HREF="gettext_9.html#IDX865">MSGEXEC_MSGCTXT, environment variable</A>
-<LI><A HREF="gettext_9.html#IDX866">MSGEXEC_MSGID, environment variable</A>
+<LI><A HREF="gettext_9.html#IDX884">MSGEXEC_LOCATION, environment variable</A>
+<LI><A HREF="gettext_9.html#IDX882">MSGEXEC_MSGCTXT, environment variable</A>
+<LI><A HREF="gettext_9.html#IDX883">MSGEXEC_MSGID, environment variable</A>
+</DIR>
+<H2><A NAME="vindex_p">p</A></H2>
+<DIR>
+<LI><A HREF="gettext_9.html#IDX900">PO_STYLE, environment variable</A>
</DIR>
<H2><A NAME="vindex_t">t</A></H2>
<DIR>
-<LI><A HREF="gettext_15.html#IDX1119">TEXTDOMAIN, environment variable</A>
-<LI><A HREF="gettext_15.html#IDX1120">TEXTDOMAINDIR, environment variable</A>
+<LI><A HREF="gettext_9.html#IDX898">TERM, environment variable</A>
+<LI><A HREF="gettext_15.html#IDX1142">TEXTDOMAIN, environment variable</A>
+<LI><A HREF="gettext_15.html#IDX1143">TEXTDOMAINDIR, environment variable</A>
</DIR>
</P>
diff --git a/gettext-tools/doc/gettext_23.html b/gettext-tools/doc/gettext_23.html
index be513f9..032136c 100644
--- a/gettext-tools/doc/gettext_23.html
+++ b/gettext-tools/doc/gettext_23.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 25 October 2006 -->
+ from gettext.texi on 4 November 2007 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - PO Mode Index</TITLE>
@@ -11,7 +11,7 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_22.html">previous
<P><HR><P>
-<H1><A NAME="SEC315" HREF="gettext_toc.html#TOC315">PO Mode Index</A></H1>
+<H1><A NAME="SEC331" HREF="gettext_toc.html#TOC331">PO Mode Index</A></H1>
<P>
Jump to:
@@ -41,70 +41,70 @@ Jump to:
<P>
<H2><A NAME="emindex_&">&#38;</A></H2>
<DIR>
-<LI><A HREF="gettext_8.html#IDX307"><TT>&lsquo;.emacs&rsquo;</TT> customizations</A>
-<LI><A HREF="gettext_4.html#IDX131"><TT>&lsquo;TAGS&rsquo;</TT>, and marking translatable strings</A>
+<LI><A HREF="gettext_8.html#IDX322"><TT>&lsquo;.emacs&rsquo;</TT> customizations</A>
+<LI><A HREF="gettext_4.html#IDX142"><TT>&lsquo;TAGS&rsquo;</TT>, and marking translatable strings</A>
</DIR>
<H2><A NAME="emindex_a">a</A></H2>
<DIR>
-<LI><A HREF="gettext_8.html#IDX484">auxiliary PO file</A>
+<LI><A HREF="gettext_8.html#IDX499">auxiliary PO file</A>
</DIR>
<H2><A NAME="emindex_c">c</A></H2>
<DIR>
-<LI><A HREF="gettext_8.html#IDX310">commands</A>
-<LI><A HREF="gettext_8.html#IDX414">comment out PO file entry</A>
-<LI><A HREF="gettext_8.html#IDX466">consulting program sources</A>
-<LI><A HREF="gettext_8.html#IDX482">consulting translations to other languages</A>
-<LI><A HREF="gettext_8.html#IDX335">current entry of a PO file</A>
-<LI><A HREF="gettext_8.html#IDX430">cut and paste for translated strings</A>
+<LI><A HREF="gettext_8.html#IDX325">commands</A>
+<LI><A HREF="gettext_8.html#IDX429">comment out PO file entry</A>
+<LI><A HREF="gettext_8.html#IDX481">consulting program sources</A>
+<LI><A HREF="gettext_8.html#IDX497">consulting translations to other languages</A>
+<LI><A HREF="gettext_8.html#IDX350">current entry of a PO file</A>
+<LI><A HREF="gettext_8.html#IDX445">cut and paste for translated strings</A>
</DIR>
<H2><A NAME="emindex_e">e</A></H2>
<DIR>
-<LI><A HREF="gettext_8.html#IDX439">editing comments</A>
-<LI><A HREF="gettext_8.html#IDX464">editing multiple entries</A>
-<LI><A HREF="gettext_8.html#IDX416">editing translations</A>
-<LI><A HREF="gettext_4.html#IDX130"><CODE>etags</CODE>, using for marking strings</A>
-<LI><A HREF="gettext_8.html#IDX457">exiting PO subedit</A>
+<LI><A HREF="gettext_8.html#IDX454">editing comments</A>
+<LI><A HREF="gettext_8.html#IDX479">editing multiple entries</A>
+<LI><A HREF="gettext_8.html#IDX431">editing translations</A>
+<LI><A HREF="gettext_4.html#IDX141"><CODE>etags</CODE>, using for marking strings</A>
+<LI><A HREF="gettext_8.html#IDX472">exiting PO subedit</A>
</DIR>
<H2><A NAME="emindex_f">f</A></H2>
<DIR>
-<LI><A HREF="gettext_8.html#IDX469">find source fragment for a PO file entry</A>
+<LI><A HREF="gettext_8.html#IDX484">find source fragment for a PO file entry</A>
</DIR>
<H2><A NAME="emindex_i">i</A></H2>
<DIR>
-<LI><A HREF="gettext_8.html#IDX308">installing PO mode</A>
+<LI><A HREF="gettext_8.html#IDX323">installing PO mode</A>
</DIR>
<H2><A NAME="emindex_l">l</A></H2>
<DIR>
-<LI><A HREF="gettext_8.html#IDX467">looking at the source to aid translation</A>
+<LI><A HREF="gettext_8.html#IDX482">looking at the source to aid translation</A>
</DIR>
<H2><A NAME="emindex_m">m</A></H2>
<DIR>
-<LI><A HREF="gettext_4.html#IDX129">marking strings for translation</A>
-<LI><A HREF="gettext_8.html#IDX378">moving by fuzzy entries</A>
-<LI><A HREF="gettext_8.html#IDX403">moving by obsolete entries</A>
-<LI><A HREF="gettext_8.html#IDX367">moving by translated entries</A>
-<LI><A HREF="gettext_8.html#IDX392">moving by untranslated entries</A>
-<LI><A HREF="gettext_8.html#IDX336">moving through a PO file</A>
+<LI><A HREF="gettext_4.html#IDX140">marking strings for translation</A>
+<LI><A HREF="gettext_8.html#IDX393">moving by fuzzy entries</A>
+<LI><A HREF="gettext_8.html#IDX418">moving by obsolete entries</A>
+<LI><A HREF="gettext_8.html#IDX382">moving by translated entries</A>
+<LI><A HREF="gettext_8.html#IDX407">moving by untranslated entries</A>
+<LI><A HREF="gettext_8.html#IDX351">moving through a PO file</A>
</DIR>
<H2><A NAME="emindex_o">o</A></H2>
<DIR>
-<LI><A HREF="gettext_8.html#IDX413">obsolete active entry</A>
+<LI><A HREF="gettext_8.html#IDX428">obsolete active entry</A>
</DIR>
<H2><A NAME="emindex_p">p</A></H2>
<DIR>
-<LI><A HREF="gettext_8.html#IDX465">pending subedits</A>
+<LI><A HREF="gettext_8.html#IDX480">pending subedits</A>
</DIR>
<H2><A NAME="emindex_s">s</A></H2>
<DIR>
-<LI><A HREF="gettext_8.html#IDX429">starting a string translation</A>
-<LI><A HREF="gettext_8.html#IDX362">string normalization in entries</A>
-<LI><A HREF="gettext_8.html#IDX453">subedit minor mode</A>
+<LI><A HREF="gettext_8.html#IDX444">starting a string translation</A>
+<LI><A HREF="gettext_8.html#IDX377">string normalization in entries</A>
+<LI><A HREF="gettext_8.html#IDX468">subedit minor mode</A>
</DIR>
<H2><A NAME="emindex_u">u</A></H2>
<DIR>
-<LI><A HREF="gettext_8.html#IDX468">use the source, Luke</A>
-<LI><A HREF="gettext_8.html#IDX437">using obsolete translations to make new entries</A>
-<LI><A HREF="gettext_8.html#IDX498">using translation compendia</A>
+<LI><A HREF="gettext_8.html#IDX483">use the source, Luke</A>
+<LI><A HREF="gettext_8.html#IDX452">using obsolete translations to make new entries</A>
+<LI><A HREF="gettext_8.html#IDX513">using translation compendia</A>
</DIR>
</P>
diff --git a/gettext-tools/doc/gettext_24.html b/gettext-tools/doc/gettext_24.html
index df70394..d83fcd2 100644
--- a/gettext-tools/doc/gettext_24.html
+++ b/gettext-tools/doc/gettext_24.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 25 October 2006 -->
+ from gettext.texi on 4 November 2007 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - Autoconf Macro Index</TITLE>
@@ -11,7 +11,7 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_23.html">previous
<P><HR><P>
-<H1><A NAME="SEC316" HREF="gettext_toc.html#TOC316">Autoconf Macro Index</A></H1>
+<H1><A NAME="SEC332" HREF="gettext_toc.html#TOC332">Autoconf Macro Index</A></H1>
<P>
Jump to:
@@ -19,12 +19,13 @@ Jump to:
<P>
<H2><A NAME="amindex_a">a</A></H2>
<DIR>
-<LI><A HREF="gettext_13.html#IDX1088">AM_GNU_GETTEXT</A>
-<LI><A HREF="gettext_13.html#IDX1092">AM_GNU_GETTEXT_INTL_SUBDIR</A>
-<LI><A HREF="gettext_13.html#IDX1091">AM_GNU_GETTEXT_NEED</A>
-<LI><A HREF="gettext_13.html#IDX1090">AM_GNU_GETTEXT_VERSION</A>
-<LI><A HREF="gettext_13.html#IDX1094">AM_ICONV</A>
-<LI><A HREF="gettext_13.html#IDX1093">AM_PO_SUBDIRS</A>
+<LI><A HREF="gettext_13.html#IDX1110">AM_GNU_GETTEXT</A>
+<LI><A HREF="gettext_13.html#IDX1114">AM_GNU_GETTEXT_INTL_SUBDIR</A>
+<LI><A HREF="gettext_13.html#IDX1113">AM_GNU_GETTEXT_NEED</A>
+<LI><A HREF="gettext_13.html#IDX1112">AM_GNU_GETTEXT_VERSION</A>
+<LI><A HREF="gettext_13.html#IDX1117">AM_ICONV</A>
+<LI><A HREF="gettext_13.html#IDX1115">AM_PO_SUBDIRS</A>
+<LI><A HREF="gettext_13.html#IDX1116">AM_XGETTEXT_OPTION</A>
</DIR>
</P>
diff --git a/gettext-tools/doc/gettext_25.html b/gettext-tools/doc/gettext_25.html
index 4de97f8..45aa7d5 100644
--- a/gettext-tools/doc/gettext_25.html
+++ b/gettext-tools/doc/gettext_25.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 25 October 2006 -->
+ from gettext.texi on 4 November 2007 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - General Index</TITLE>
@@ -11,7 +11,7 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_24.html">previous
<P><HR><P>
-<H1><A NAME="SEC317" HREF="gettext_toc.html#TOC317">General Index</A></H1>
+<H1><A NAME="SEC333" HREF="gettext_toc.html#TOC333">General Index</A></H1>
<P>
Jump to:
@@ -71,428 +71,429 @@ Jump to:
<P>
<H2><A NAME="cindex_&">&#38;</A></H2>
<DIR>
-<LI><A HREF="gettext_2.html#IDX41"><TT>&lsquo;ABOUT-NLS&rsquo;</TT> file</A>
-<LI><A HREF="gettext_13.html#IDX1081"><TT>&lsquo;acconfig.h&rsquo;</TT> file</A>
-<LI><A HREF="gettext_13.html#IDX1080"><TT>&lsquo;aclocal.m4&rsquo;</TT> file</A>
-<LI><A HREF="gettext_13.html#IDX1082"><TT>&lsquo;config.h.in&rsquo;</TT> file</A>
-<LI><A HREF="gettext_13.html#IDX1083"><TT>&lsquo;gettext.h&rsquo;</TT> file</A>
-<LI><A HREF="gettext_13.html#IDX1073"><TT>&lsquo;LINGUAS&rsquo;</TT> file</A>
-<LI><A HREF="gettext_13.html#IDX1075"><TT>&lsquo;Makefile.in.in&rsquo;</TT> extensions</A>
-<LI><A HREF="gettext_13.html#IDX1074"><TT>&lsquo;Makevars&rsquo;</TT> file</A>
-<LI><A HREF="gettext_13.html#IDX1079"><TT>&lsquo;mkinstalldirs&rsquo;</TT> file</A>
-<LI><A HREF="gettext_13.html#IDX1072"><TT>&lsquo;POTFILES.in&rsquo;</TT> file</A>
+<LI><A HREF="gettext_2.html#IDX54"><TT>&lsquo;ABOUT-NLS&rsquo;</TT> file</A>
+<LI><A HREF="gettext_13.html#IDX1103"><TT>&lsquo;acconfig.h&rsquo;</TT> file</A>
+<LI><A HREF="gettext_13.html#IDX1102"><TT>&lsquo;aclocal.m4&rsquo;</TT> file</A>
+<LI><A HREF="gettext_13.html#IDX1104"><TT>&lsquo;config.h.in&rsquo;</TT> file</A>
+<LI><A HREF="gettext_13.html#IDX1105"><TT>&lsquo;gettext.h&rsquo;</TT> file</A>
+<LI><A HREF="gettext_13.html#IDX1095"><TT>&lsquo;LINGUAS&rsquo;</TT> file</A>
+<LI><A HREF="gettext_13.html#IDX1097"><TT>&lsquo;Makefile.in.in&rsquo;</TT> extensions</A>
+<LI><A HREF="gettext_13.html#IDX1096"><TT>&lsquo;Makevars&rsquo;</TT> file</A>
+<LI><A HREF="gettext_13.html#IDX1101"><TT>&lsquo;mkinstalldirs&rsquo;</TT> file</A>
+<LI><A HREF="gettext_13.html#IDX1094"><TT>&lsquo;POTFILES.in&rsquo;</TT> file</A>
</DIR>
<H2><A NAME="cindex__">_</A></H2>
<DIR>
-<LI><A HREF="gettext_4.html#IDX128"><CODE>_</CODE>, a macro to mark strings for translation</A>
-<LI><A HREF="gettext_11.html#IDX1054"><CODE>_nl_msg_cat_cntr</CODE></A>
+<LI><A HREF="gettext_4.html#IDX139"><CODE>_</CODE>, a macro to mark strings for translation</A>
+<LI><A HREF="gettext_11.html#IDX1075"><CODE>_nl_msg_cat_cntr</CODE></A>
</DIR>
<H2><A NAME="cindex_a">a</A></H2>
<DIR>
-<LI><A HREF="gettext_8.html#IDX503">accumulating translations</A>
-<LI><A HREF="gettext_5.html#IDX172">adding keywords, <CODE>xgettext</CODE></A>
-<LI><A HREF="gettext_4.html#IDX116">ambiguities</A>
-<LI><A HREF="gettext_9.html#IDX647">apply a filter to translations</A>
-<LI><A HREF="gettext_9.html#IDX863">apply command to all translations in a catalog</A>
-<LI><A HREF="gettext_15.html#IDX1114">Arabic digits</A>
-<LI><A HREF="gettext_9.html#IDX786">attribute manipulation</A>
-<LI><A HREF="gettext_8.html#IDX377">attribute, fuzzy</A>
-<LI><A HREF="gettext_8.html#IDX376">attributes of a PO file entry</A>
-<LI><A HREF="gettext_9.html#IDX514">attributes, manipulating</A>
-<LI><A HREF="gettext_13.html#IDX1087">autoconf macros for <CODE>gettext</CODE></A>
-<LI><A HREF="gettext_13.html#IDX1097"><CODE>autopoint</CODE> program, usage</A>
-<LI><A HREF="gettext_8.html#IDX483">auxiliary PO file</A>
-<LI><A HREF="gettext_2.html#IDX40">available translations</A>
-<LI><A HREF="gettext_15.html#IDX1175">awk</A>
+<LI><A HREF="gettext_8.html#IDX518">accumulating translations</A>
+<LI><A HREF="gettext_5.html#IDX183">adding keywords, <CODE>xgettext</CODE></A>
+<LI><A HREF="gettext_4.html#IDX127">ambiguities</A>
+<LI><A HREF="gettext_9.html#IDX664">apply a filter to translations</A>
+<LI><A HREF="gettext_9.html#IDX880">apply command to all translations in a catalog</A>
+<LI><A HREF="gettext_15.html#IDX1137">Arabic digits</A>
+<LI><A HREF="gettext_9.html#IDX803">attribute manipulation</A>
+<LI><A HREF="gettext_8.html#IDX392">attribute, fuzzy</A>
+<LI><A HREF="gettext_8.html#IDX391">attributes of a PO file entry</A>
+<LI><A HREF="gettext_9.html#IDX529">attributes, manipulating</A>
+<LI><A HREF="gettext_13.html#IDX1109">autoconf macros for <CODE>gettext</CODE></A>
+<LI><A HREF="gettext_13.html#IDX1120"><CODE>autopoint</CODE> program, usage</A>
+<LI><A HREF="gettext_8.html#IDX498">auxiliary PO file</A>
+<LI><A HREF="gettext_2.html#IDX53">available translations</A>
+<LI><A HREF="gettext_15.html#IDX1198">awk</A>
</DIR>
<H2><A NAME="cindex_b">b</A></H2>
<DIR>
-<LI><A HREF="gettext_7.html#IDX264">backup old file, and <CODE>msgmerge</CODE> program</A>
-<LI><A HREF="gettext_15.html#IDX1160">bash</A>
-<LI><A HREF="gettext_16.html#IDX1201">bibliography</A>
-<LI><A HREF="gettext_1.html#IDX30">big picture</A>
-<LI><A HREF="gettext_11.html#IDX1020">bind_textdomain_codeset</A>
-<LI><A HREF="gettext_5.html#IDX183">Boost format strings</A>
+<LI><A HREF="gettext_7.html#IDX279">backup old file, and <CODE>msgmerge</CODE> program</A>
+<LI><A HREF="gettext_15.html#IDX1183">bash</A>
+<LI><A HREF="gettext_16.html#IDX1224">bibliography</A>
+<LI><A HREF="gettext_1.html#IDX31">big picture</A>
+<LI><A HREF="gettext_11.html#IDX1041">bind_textdomain_codeset</A>
+<LI><A HREF="gettext_5.html#IDX196">Boost format strings</A>
<LI><A HREF="gettext_1.html#IDX4">bug report address</A>
</DIR>
<H2><A NAME="cindex_c">c</A></H2>
<DIR>
-<LI><A HREF="gettext_15.html#IDX1115">C and C-like languages</A>
-<LI><A HREF="gettext_5.html#IDX179">C trigraphs</A>
-<LI><A HREF="gettext_15.html#IDX1173">C#</A>
-<LI><A HREF="gettext_10.html#IDX903">C# mode, and <CODE>msgfmt</CODE> program</A>
-<LI><A HREF="gettext_10.html#IDX962">C# mode, and <CODE>msgunfmt</CODE> program</A>
-<LI><A HREF="gettext_10.html#IDX905">C# resources mode, and <CODE>msgfmt</CODE> program</A>
-<LI><A HREF="gettext_10.html#IDX964">C# resources mode, and <CODE>msgunfmt</CODE> program</A>
-<LI><A HREF="gettext_4.html#IDX124">C#, string concatenation</A>
-<LI><A HREF="gettext_9.html#IDX868">catalog encoding and <CODE>msgexec</CODE> output</A>
-<LI><A HREF="gettext_11.html#IDX1010"><CODE>catclose</CODE>, a <CODE>catgets</CODE> function</A>
-<LI><A HREF="gettext_11.html#IDX1006"><CODE>catgets</CODE>, X/Open specification</A>
-<LI><A HREF="gettext_11.html#IDX1009"><CODE>catgets</CODE>, a <CODE>catgets</CODE> function</A>
-<LI><A HREF="gettext_11.html#IDX1008"><CODE>catopen</CODE>, a <CODE>catgets</CODE> function</A>
+<LI><A HREF="gettext_15.html#IDX1138">C and C-like languages</A>
+<LI><A HREF="gettext_5.html#IDX190">C trigraphs</A>
+<LI><A HREF="gettext_15.html#IDX1196">C#</A>
+<LI><A HREF="gettext_10.html#IDX924">C# mode, and <CODE>msgfmt</CODE> program</A>
+<LI><A HREF="gettext_10.html#IDX983">C# mode, and <CODE>msgunfmt</CODE> program</A>
+<LI><A HREF="gettext_10.html#IDX926">C# resources mode, and <CODE>msgfmt</CODE> program</A>
+<LI><A HREF="gettext_10.html#IDX985">C# resources mode, and <CODE>msgunfmt</CODE> program</A>
+<LI><A HREF="gettext_4.html#IDX135">C#, string concatenation</A>
+<LI><A HREF="gettext_9.html#IDX885">catalog encoding and <CODE>msgexec</CODE> output</A>
+<LI><A HREF="gettext_11.html#IDX1031"><CODE>catclose</CODE>, a <CODE>catgets</CODE> function</A>
+<LI><A HREF="gettext_11.html#IDX1027"><CODE>catgets</CODE>, X/Open specification</A>
+<LI><A HREF="gettext_11.html#IDX1030"><CODE>catgets</CODE>, a <CODE>catgets</CODE> function</A>
+<LI><A HREF="gettext_11.html#IDX1029"><CODE>catopen</CODE>, a <CODE>catgets</CODE> function</A>
<LI><A HREF="gettext_1.html#IDX17">character encoding</A>
-<LI><A HREF="gettext_11.html#IDX1018">charset conversion at runtime</A>
-<LI><A HREF="gettext_6.html#IDX244">charset of PO files</A>
-<LI><A HREF="gettext_10.html#IDX932">check format strings</A>
-<LI><A HREF="gettext_9.html#IDX512">checking of translations</A>
-<LI><A HREF="gettext_15.html#IDX1164">clisp</A>
-<LI><A HREF="gettext_15.html#IDX1165">clisp C sources</A>
+<LI><A HREF="gettext_11.html#IDX1039">charset conversion at runtime</A>
+<LI><A HREF="gettext_6.html#IDX259">charset of PO files</A>
+<LI><A HREF="gettext_10.html#IDX953">check format strings</A>
+<LI><A HREF="gettext_9.html#IDX527">checking of translations</A>
+<LI><A HREF="gettext_15.html#IDX1187">clisp</A>
+<LI><A HREF="gettext_15.html#IDX1188">clisp C sources</A>
<LI><A HREF="gettext_1.html#IDX15">codeset</A>
-<LI><A HREF="gettext_3.html#IDX101">comments in PO files</A>
-<LI><A HREF="gettext_3.html#IDX49">comments, automatic</A>
-<LI><A HREF="gettext_3.html#IDX50">comments, extracted</A>
-<LI><A HREF="gettext_3.html#IDX48">comments, translator</A>
-<LI><A HREF="gettext_15.html#IDX1162">Common Lisp</A>
-<LI><A HREF="gettext_9.html#IDX769">compare PO files</A>
-<LI><A HREF="gettext_11.html#IDX1041">comparison of interfaces</A>
-<LI><A HREF="gettext_10.html#IDX937">compatibility with X/Open <CODE>msgfmt</CODE></A>
-<LI><A HREF="gettext_8.html#IDX499">compendium</A>
-<LI><A HREF="gettext_8.html#IDX501">compendium, creating</A>
-<LI><A HREF="gettext_9.html#IDX517">concatenate PO files</A>
-<LI><A HREF="gettext_8.html#IDX502">concatenating PO files into a compendium</A>
-<LI><A HREF="gettext_4.html#IDX121">concatenation of strings</A>
-<LI><A HREF="gettext_11.html#IDX1021">context</A>
-<LI><A HREF="gettext_5.html#IDX173">context, argument specification in <CODE>xgettext</CODE></A>
-<LI><A HREF="gettext_10.html#IDX1004">context, in MO files</A>
-<LI><A HREF="gettext_3.html#IDX97">context, in PO files</A>
-<LI><A HREF="gettext_4.html#IDX126">control characters</A>
-<LI><A HREF="gettext_10.html#IDX957">convert binary message catalog into PO file</A>
-<LI><A HREF="gettext_9.html#IDX562">convert translations to a different encoding</A>
-<LI><A HREF="gettext_13.html#IDX1057">converting a package to use <CODE>gettext</CODE></A>
-<LI><A HREF="gettext_18.html#IDX1204">country codes</A>
-<LI><A HREF="gettext_6.html#IDX219">create new PO file</A>
-<LI><A HREF="gettext_6.html#IDX216">creating a new PO file</A>
-<LI><A HREF="gettext_8.html#IDX500">creating compendia</A>
+<LI><A HREF="gettext_3.html#IDX112">comments in PO files</A>
+<LI><A HREF="gettext_3.html#IDX58">comments, automatic</A>
+<LI><A HREF="gettext_3.html#IDX59">comments, extracted</A>
+<LI><A HREF="gettext_3.html#IDX57">comments, translator</A>
+<LI><A HREF="gettext_15.html#IDX1185">Common Lisp</A>
+<LI><A HREF="gettext_9.html#IDX786">compare PO files</A>
+<LI><A HREF="gettext_11.html#IDX1062">comparison of interfaces</A>
+<LI><A HREF="gettext_10.html#IDX958">compatibility with X/Open <CODE>msgfmt</CODE></A>
+<LI><A HREF="gettext_8.html#IDX514">compendium</A>
+<LI><A HREF="gettext_8.html#IDX516">compendium, creating</A>
+<LI><A HREF="gettext_9.html#IDX532">concatenate PO files</A>
+<LI><A HREF="gettext_8.html#IDX517">concatenating PO files into a compendium</A>
+<LI><A HREF="gettext_4.html#IDX132">concatenation of strings</A>
+<LI><A HREF="gettext_11.html#IDX1042">context</A>
+<LI><A HREF="gettext_5.html#IDX184">context, argument specification in <CODE>xgettext</CODE></A>
+<LI><A HREF="gettext_10.html#IDX1025">context, in MO files</A>
+<LI><A HREF="gettext_3.html#IDX108">context, in PO files</A>
+<LI><A HREF="gettext_4.html#IDX137">control characters</A>
+<LI><A HREF="gettext_10.html#IDX978">convert binary message catalog into PO file</A>
+<LI><A HREF="gettext_9.html#IDX579">convert translations to a different encoding</A>
+<LI><A HREF="gettext_13.html#IDX1078">converting a package to use <CODE>gettext</CODE></A>
+<LI><A HREF="gettext_18.html#IDX1227">country codes</A>
+<LI><A HREF="gettext_6.html#IDX234">create new PO file</A>
+<LI><A HREF="gettext_6.html#IDX231">creating a new PO file</A>
+<LI><A HREF="gettext_8.html#IDX515">creating compendia</A>
<LI><A HREF="gettext_1.html#IDX19">currency symbols</A>
</DIR>
<H2><A NAME="cindex_d">d</A></H2>
<DIR>
<LI><A HREF="gettext_1.html#IDX21">date format</A>
-<LI><A HREF="gettext_11.html#IDX1034">dcngettext</A>
-<LI><A HREF="gettext_11.html#IDX1027">dcpgettext</A>
-<LI><A HREF="gettext_11.html#IDX1030">dcpgettext_expr</A>
-<LI><A HREF="gettext_5.html#IDX185">debugging messages marked as format strings</A>
-<LI><A HREF="gettext_9.html#IDX510">dialect</A>
-<LI><A HREF="gettext_13.html#IDX1085">disabling NLS</A>
-<LI><A HREF="gettext_13.html#IDX1105">distribution tarball</A>
-<LI><A HREF="gettext_11.html#IDX1033">dngettext</A>
-<LI><A HREF="gettext_15.html#IDX1148">dollar substitution</A>
-<LI><A HREF="gettext_11.html#IDX1015">domain ambiguities</A>
-<LI><A HREF="gettext_11.html#IDX1026">dpgettext</A>
-<LI><A HREF="gettext_11.html#IDX1029">dpgettext_expr</A>
-<LI><A HREF="gettext_9.html#IDX513">duplicate elimination</A>
-<LI><A HREF="gettext_9.html#IDX691">duplicate removal</A>
+<LI><A HREF="gettext_11.html#IDX1055">dcngettext</A>
+<LI><A HREF="gettext_11.html#IDX1048">dcpgettext</A>
+<LI><A HREF="gettext_11.html#IDX1051">dcpgettext_expr</A>
+<LI><A HREF="gettext_5.html#IDX198">debugging messages marked as format strings</A>
+<LI><A HREF="gettext_9.html#IDX525">dialect</A>
+<LI><A HREF="gettext_13.html#IDX1107">disabling NLS</A>
+<LI><A HREF="gettext_13.html#IDX1128">distribution tarball</A>
+<LI><A HREF="gettext_11.html#IDX1054">dngettext</A>
+<LI><A HREF="gettext_15.html#IDX1171">dollar substitution</A>
+<LI><A HREF="gettext_11.html#IDX1036">domain ambiguities</A>
+<LI><A HREF="gettext_11.html#IDX1047">dpgettext</A>
+<LI><A HREF="gettext_11.html#IDX1050">dpgettext_expr</A>
+<LI><A HREF="gettext_9.html#IDX528">duplicate elimination</A>
+<LI><A HREF="gettext_9.html#IDX708">duplicate removal</A>
</DIR>
<H2><A NAME="cindex_e">e</A></H2>
<DIR>
-<LI><A HREF="gettext_8.html#IDX438">editing comments in PO files</A>
-<LI><A HREF="gettext_8.html#IDX301">Editing PO Files</A>
-<LI><A HREF="gettext_8.html#IDX415">editing translations</A>
-<LI><A HREF="gettext_15.html#IDX1166">Emacs Lisp</A>
-<LI><A HREF="gettext_8.html#IDX304">Emacs PO Mode</A>
+<LI><A HREF="gettext_8.html#IDX453">editing comments in PO files</A>
+<LI><A HREF="gettext_8.html#IDX316">Editing PO Files</A>
+<LI><A HREF="gettext_8.html#IDX430">editing translations</A>
+<LI><A HREF="gettext_15.html#IDX1189">Emacs Lisp</A>
+<LI><A HREF="gettext_8.html#IDX319">Emacs PO Mode</A>
<LI><A HREF="gettext_1.html#IDX16">encoding</A>
-<LI><A HREF="gettext_9.html#IDX509">encoding conversion</A>
-<LI><A HREF="gettext_11.html#IDX1019">encoding conversion at runtime</A>
-<LI><A HREF="gettext_6.html#IDX248">encoding for your language</A>
-<LI><A HREF="gettext_6.html#IDX246">encoding list</A>
-<LI><A HREF="gettext_6.html#IDX243">encoding of PO files</A>
-<LI><A HREF="gettext_15.html#IDX1149">environment variables</A>
-<LI><A HREF="gettext_15.html#IDX1146"><CODE>envsubst</CODE> program, usage</A>
-<LI><A HREF="gettext_15.html#IDX1156"><CODE>eval_gettext</CODE> function, usage</A>
-<LI><A HREF="gettext_15.html#IDX1158"><CODE>eval_ngettext</CODE> function, usage</A>
-<LI><A HREF="gettext_1.html#IDX38">evolution of packages</A>
-<LI><A HREF="gettext_8.html#IDX504">extracting parts of a PO file into a compendium</A>
+<LI><A HREF="gettext_9.html#IDX524">encoding conversion</A>
+<LI><A HREF="gettext_11.html#IDX1040">encoding conversion at runtime</A>
+<LI><A HREF="gettext_6.html#IDX263">encoding for your language</A>
+<LI><A HREF="gettext_6.html#IDX261">encoding list</A>
+<LI><A HREF="gettext_6.html#IDX258">encoding of PO files</A>
+<LI><A HREF="gettext_15.html#IDX1172">environment variables</A>
+<LI><A HREF="gettext_15.html#IDX1169"><CODE>envsubst</CODE> program, usage</A>
+<LI><A HREF="gettext_15.html#IDX1179"><CODE>eval_gettext</CODE> function, usage</A>
+<LI><A HREF="gettext_15.html#IDX1181"><CODE>eval_ngettext</CODE> function, usage</A>
+<LI><A HREF="gettext_1.html#IDX39">evolution of packages</A>
+<LI><A HREF="gettext_8.html#IDX519">extracting parts of a PO file into a compendium</A>
</DIR>
<H2><A NAME="cindex_f">f</A></H2>
<DIR>
-<LI><A HREF="gettext_19.html#IDX1211">FDL, GNU Free Documentation License</A>
-<LI><A HREF="gettext_10.html#IDX1001">file format, <TT>&lsquo;.mo&rsquo;</TT></A>
-<LI><A HREF="gettext_3.html#IDX47">file format, <TT>&lsquo;.po&rsquo;</TT></A>
-<LI><A HREF="gettext_1.html#IDX28">files, <TT>&lsquo;.po&rsquo;</TT> and <TT>&lsquo;.mo&rsquo;</TT></A>
-<LI><A HREF="gettext_1.html#IDX37">files, <TT>&lsquo;.pot&rsquo;</TT></A>
-<LI><A HREF="gettext_9.html#IDX785">filter messages according to attributes</A>
-<LI><A HREF="gettext_9.html#IDX729">find common messages</A>
-<LI><A HREF="gettext_10.html#IDX944">force use of fuzzy entries</A>
-<LI><A HREF="gettext_4.html#IDX138">format strings</A>
-<LI><A HREF="gettext_15.html#IDX1178">Free Pascal</A>
-<LI><A HREF="gettext_5.html#IDX175">function attribute, __format__</A>
-<LI><A HREF="gettext_5.html#IDX176">function attribute, __format_arg__</A>
-<LI><A HREF="gettext_8.html#IDX375">fuzzy entries</A>
+<LI><A HREF="gettext_19.html#IDX1234">FDL, GNU Free Documentation License</A>
+<LI><A HREF="gettext_10.html#IDX1022">file format, <TT>&lsquo;.mo&rsquo;</TT></A>
+<LI><A HREF="gettext_3.html#IDX56">file format, <TT>&lsquo;.po&rsquo;</TT></A>
+<LI><A HREF="gettext_1.html#IDX29">files, <TT>&lsquo;.po&rsquo;</TT> and <TT>&lsquo;.mo&rsquo;</TT></A>
+<LI><A HREF="gettext_1.html#IDX38">files, <TT>&lsquo;.pot&rsquo;</TT></A>
+<LI><A HREF="gettext_9.html#IDX802">filter messages according to attributes</A>
+<LI><A HREF="gettext_9.html#IDX746">find common messages</A>
+<LI><A HREF="gettext_10.html#IDX965">force use of fuzzy entries</A>
+<LI><A HREF="gettext_4.html#IDX149">format strings</A>
+<LI><A HREF="gettext_15.html#IDX1201">Free Pascal</A>
+<LI><A HREF="gettext_5.html#IDX186">function attribute, __format__</A>
+<LI><A HREF="gettext_5.html#IDX187">function attribute, __format_arg__</A>
+<LI><A HREF="gettext_8.html#IDX390">fuzzy entries</A>
</DIR>
<H2><A NAME="cindex_g">g</A></H2>
<DIR>
-<LI><A HREF="gettext_15.html#IDX1176">gawk</A>
-<LI><A HREF="gettext_15.html#IDX1197">GCC-source</A>
-<LI><A HREF="gettext_10.html#IDX895">generate binary message catalog from PO file</A>
-<LI><A HREF="gettext_9.html#IDX833">generate translation catalog in English</A>
-<LI><A HREF="gettext_13.html#IDX1071"><CODE>gettext</CODE> files</A>
-<LI><A HREF="gettext_8.html#IDX306"><CODE>gettext</CODE> installation</A>
-<LI><A HREF="gettext_11.html#IDX1013"><CODE>gettext</CODE> interface</A>
-<LI><A HREF="gettext_15.html#IDX1123"><CODE>gettext</CODE> program, usage</A>
-<LI><A HREF="gettext_11.html#IDX1012"><CODE>gettext</CODE>, a programmer's view</A>
-<LI><A HREF="gettext_11.html#IDX1040"><CODE>gettext</CODE> vs <CODE>catgets</CODE></A>
-<LI><A HREF="gettext_13.html#IDX1061"><CODE>gettextize</CODE> program, usage</A>
-<LI><A HREF="gettext_8.html#IDX303">GNOME PO file editor</A>
-<LI><A HREF="gettext_19.html#IDX1207">GPL, GNU General Public License</A>
-<LI><A HREF="gettext_11.html#IDX1022">GUI programs</A>
-<LI><A HREF="gettext_15.html#IDX1169">guile</A>
+<LI><A HREF="gettext_15.html#IDX1199">gawk</A>
+<LI><A HREF="gettext_15.html#IDX1220">GCC-source</A>
+<LI><A HREF="gettext_10.html#IDX916">generate binary message catalog from PO file</A>
+<LI><A HREF="gettext_9.html#IDX850">generate translation catalog in English</A>
+<LI><A HREF="gettext_13.html#IDX1093"><CODE>gettext</CODE> files</A>
+<LI><A HREF="gettext_8.html#IDX321"><CODE>gettext</CODE> installation</A>
+<LI><A HREF="gettext_11.html#IDX1034"><CODE>gettext</CODE> interface</A>
+<LI><A HREF="gettext_15.html#IDX1146"><CODE>gettext</CODE> program, usage</A>
+<LI><A HREF="gettext_11.html#IDX1033"><CODE>gettext</CODE>, a programmer's view</A>
+<LI><A HREF="gettext_11.html#IDX1061"><CODE>gettext</CODE> vs <CODE>catgets</CODE></A>
+<LI><A HREF="gettext_13.html#IDX1082"><CODE>gettextize</CODE> program, usage</A>
+<LI><A HREF="gettext_8.html#IDX318">GNOME PO file editor</A>
+<LI><A HREF="gettext_19.html#IDX1230">GPL, GNU General Public License</A>
+<LI><A HREF="gettext_11.html#IDX1043">GUI programs</A>
+<LI><A HREF="gettext_15.html#IDX1192">guile</A>
</DIR>
<H2><A NAME="cindex_h">h</A></H2>
<DIR>
-<LI><A HREF="gettext_10.html#IDX1003">hash table, inside MO files</A>
+<LI><A HREF="gettext_10.html#IDX1024">hash table, inside MO files</A>
<LI><A HREF="gettext_1.html#IDX2">he, she, and they</A>
-<LI><A HREF="gettext_6.html#IDX241">header entry of a PO file</A>
-<LI><A HREF="gettext_4.html#IDX119">help option</A>
-<LI><A HREF="gettext_16.html#IDX1199">history of GNU <CODE>gettext</CODE></A>
+<LI><A HREF="gettext_6.html#IDX256">header entry of a PO file</A>
+<LI><A HREF="gettext_4.html#IDX130">help option</A>
+<LI><A HREF="gettext_16.html#IDX1222">history of GNU <CODE>gettext</CODE></A>
</DIR>
<H2><A NAME="cindex_i">i</A></H2>
<DIR>
<LI><A HREF="gettext_1.html#IDX6">i18n</A>
-<LI><A HREF="gettext_8.html#IDX364">importing PO files</A>
-<LI><A HREF="gettext_1.html#IDX33">include file <TT>&lsquo;libintl.h&rsquo;</TT></A>, <A HREF="gettext_4.html#IDX103">include file <TT>&lsquo;libintl.h&rsquo;</TT></A>, <A HREF="gettext_11.html#IDX1042">include file <TT>&lsquo;libintl.h&rsquo;</TT></A>, <A HREF="gettext_13.html#IDX1086">include file <TT>&lsquo;libintl.h&rsquo;</TT></A>
-<LI><A HREF="gettext_4.html#IDX104">initialization</A>
-<LI><A HREF="gettext_6.html#IDX220">initialize new PO file</A>
-<LI><A HREF="gettext_8.html#IDX505">initialize translations from a compendium</A>
-<LI><A HREF="gettext_8.html#IDX305">installing <CODE>gettext</CODE></A>
-<LI><A HREF="gettext_11.html#IDX1007">interface to <CODE>catgets</CODE></A>
+<LI><A HREF="gettext_8.html#IDX379">importing PO files</A>
+<LI><A HREF="gettext_1.html#IDX34">include file <TT>&lsquo;libintl.h&rsquo;</TT></A>, <A HREF="gettext_4.html#IDX114">include file <TT>&lsquo;libintl.h&rsquo;</TT></A>, <A HREF="gettext_11.html#IDX1063">include file <TT>&lsquo;libintl.h&rsquo;</TT></A>, <A HREF="gettext_13.html#IDX1108">include file <TT>&lsquo;libintl.h&rsquo;</TT></A>
+<LI><A HREF="gettext_4.html#IDX115">initialization</A>
+<LI><A HREF="gettext_6.html#IDX235">initialize new PO file</A>
+<LI><A HREF="gettext_8.html#IDX520">initialize translations from a compendium</A>
+<LI><A HREF="gettext_8.html#IDX320">installing <CODE>gettext</CODE></A>
+<LI><A HREF="gettext_11.html#IDX1028">interface to <CODE>catgets</CODE></A>
<LI><A HREF="gettext_1.html#IDX8">internationalization</A>
-<LI><A HREF="gettext_4.html#IDX122"><CODE>inttypes.h</CODE></A>
-<LI><A HREF="gettext_18.html#IDX1205">ISO 3166</A>
-<LI><A HREF="gettext_17.html#IDX1203">ISO 639</A>
+<LI><A HREF="gettext_4.html#IDX133"><CODE>inttypes.h</CODE></A>
+<LI><A HREF="gettext_18.html#IDX1228">ISO 3166</A>
+<LI><A HREF="gettext_17.html#IDX1226">ISO 639</A>
</DIR>
<H2><A NAME="cindex_j">j</A></H2>
<DIR>
-<LI><A HREF="gettext_15.html#IDX1171">Java</A>
-<LI><A HREF="gettext_10.html#IDX900">Java mode, and <CODE>msgfmt</CODE> program</A>
-<LI><A HREF="gettext_10.html#IDX960">Java mode, and <CODE>msgunfmt</CODE> program</A>
-<LI><A HREF="gettext_4.html#IDX123">Java, string concatenation</A>
+<LI><A HREF="gettext_15.html#IDX1194">Java</A>
+<LI><A HREF="gettext_10.html#IDX921">Java mode, and <CODE>msgfmt</CODE> program</A>
+<LI><A HREF="gettext_10.html#IDX981">Java mode, and <CODE>msgunfmt</CODE> program</A>
+<LI><A HREF="gettext_4.html#IDX134">Java, string concatenation</A>
</DIR>
<H2><A NAME="cindex_k">k</A></H2>
<DIR>
-<LI><A HREF="gettext_8.html#IDX302">KDE PO file editor</A>
-<LI><A HREF="gettext_10.html#IDX939">keyboard accelerator checking</A>
+<LI><A HREF="gettext_5.html#IDX194">KDE format strings</A>
+<LI><A HREF="gettext_8.html#IDX317">KDE PO file editor</A>
+<LI><A HREF="gettext_10.html#IDX960">keyboard accelerator checking</A>
</DIR>
<H2><A NAME="cindex_l">l</A></H2>
<DIR>
<LI><A HREF="gettext_1.html#IDX7">l10n</A>
-<LI><A HREF="gettext_17.html#IDX1202">language codes</A>
-<LI><A HREF="gettext_2.html#IDX44">language selection</A>
-<LI><A HREF="gettext_11.html#IDX1044">language selection at runtime</A>
-<LI><A HREF="gettext_11.html#IDX1016">large package</A>
-<LI><A HREF="gettext_19.html#IDX1209">LGPL, GNU Lesser General Public License</A>
-<LI><A HREF="gettext_13.html#IDX1095"><CODE>libiconv</CODE> library</A>
-<LI><A HREF="gettext_15.html#IDX1174"><CODE>libintl</CODE> for C#</A>
-<LI><A HREF="gettext_15.html#IDX1172"><CODE>libintl</CODE> for Java</A>
-<LI><A HREF="gettext_13.html#IDX1089"><CODE>libintl</CODE> library</A>
-<LI><A HREF="gettext_15.html#IDX1167"><CODE>librep</CODE> Lisp</A>
-<LI><A HREF="gettext_19.html#IDX1212">License, GNU FDL</A>
-<LI><A HREF="gettext_19.html#IDX1208">License, GNU GPL</A>
-<LI><A HREF="gettext_19.html#IDX1210">License, GNU LGPL</A>
-<LI><A HREF="gettext_19.html#IDX1206">Licenses</A>
-<LI><A HREF="gettext_1.html#IDX34">link with <TT>&lsquo;libintl&rsquo;</TT></A>
-<LI><A HREF="gettext_1.html#IDX27">Linux</A>, <A HREF="gettext_1.html#IDX35">Linux</A>, <A HREF="gettext_6.html#IDX247">Linux</A>
-<LI><A HREF="gettext_15.html#IDX1163">Lisp</A>
-<LI><A HREF="gettext_6.html#IDX242">list of translation teams, where to find</A>
-<LI><A HREF="gettext_4.html#IDX105">locale facet, LC_ALL</A>
-<LI><A HREF="gettext_4.html#IDX108">locale facet, LC_COLLATE</A>
-<LI><A HREF="gettext_1.html#IDX18">locale facet, LC_CTYPE</A>, <A HREF="gettext_4.html#IDX106">locale facet, LC_CTYPE</A>, <A HREF="gettext_4.html#IDX107">locale facet, LC_CTYPE</A>
-<LI><A HREF="gettext_1.html#IDX26">locale facet, LC_MESSAGES</A>, <A HREF="gettext_4.html#IDX112">locale facet, LC_MESSAGES</A>
-<LI><A HREF="gettext_1.html#IDX20">locale facet, LC_MONETARY</A>, <A HREF="gettext_4.html#IDX109">locale facet, LC_MONETARY</A>
-<LI><A HREF="gettext_1.html#IDX24">locale facet, LC_NUMERIC</A>, <A HREF="gettext_4.html#IDX110">locale facet, LC_NUMERIC</A>
-<LI><A HREF="gettext_4.html#IDX113">locale facet, LC_RESPONSES</A>
-<LI><A HREF="gettext_1.html#IDX22">locale facet, LC_TIME</A>, <A HREF="gettext_4.html#IDX111">locale facet, LC_TIME</A>
-<LI><A HREF="gettext_1.html#IDX14">locale facets</A>
-<LI><A HREF="gettext_6.html#IDX245"><CODE>locale</CODE> program</A>
+<LI><A HREF="gettext_17.html#IDX1225">language codes</A>
+<LI><A HREF="gettext_2.html#IDX42">language selection</A>
+<LI><A HREF="gettext_11.html#IDX1065">language selection at runtime</A>
+<LI><A HREF="gettext_11.html#IDX1037">large package</A>
+<LI><A HREF="gettext_19.html#IDX1232">LGPL, GNU Lesser General Public License</A>
+<LI><A HREF="gettext_13.html#IDX1118"><CODE>libiconv</CODE> library</A>
+<LI><A HREF="gettext_15.html#IDX1197"><CODE>libintl</CODE> for C#</A>
+<LI><A HREF="gettext_15.html#IDX1195"><CODE>libintl</CODE> for Java</A>
+<LI><A HREF="gettext_13.html#IDX1111"><CODE>libintl</CODE> library</A>
+<LI><A HREF="gettext_15.html#IDX1190"><CODE>librep</CODE> Lisp</A>
+<LI><A HREF="gettext_19.html#IDX1235">License, GNU FDL</A>
+<LI><A HREF="gettext_19.html#IDX1231">License, GNU GPL</A>
+<LI><A HREF="gettext_19.html#IDX1233">License, GNU LGPL</A>
+<LI><A HREF="gettext_19.html#IDX1229">Licenses</A>
+<LI><A HREF="gettext_1.html#IDX35">link with <TT>&lsquo;libintl&rsquo;</TT></A>
+<LI><A HREF="gettext_1.html#IDX28">Linux</A>, <A HREF="gettext_1.html#IDX36">Linux</A>, <A HREF="gettext_6.html#IDX262">Linux</A>
+<LI><A HREF="gettext_15.html#IDX1186">Lisp</A>
+<LI><A HREF="gettext_6.html#IDX257">list of translation teams, where to find</A>
+<LI><A HREF="gettext_1.html#IDX14">locale categories</A>, <A HREF="gettext_1.html#IDX27">locale categories</A>
+<LI><A HREF="gettext_4.html#IDX116">locale category, LC_ALL</A>
+<LI><A HREF="gettext_4.html#IDX119">locale category, LC_COLLATE</A>
+<LI><A HREF="gettext_1.html#IDX18">locale category, LC_CTYPE</A>, <A HREF="gettext_4.html#IDX117">locale category, LC_CTYPE</A>, <A HREF="gettext_4.html#IDX118">locale category, LC_CTYPE</A>
+<LI><A HREF="gettext_1.html#IDX26">locale category, LC_MESSAGES</A>, <A HREF="gettext_4.html#IDX123">locale category, LC_MESSAGES</A>
+<LI><A HREF="gettext_1.html#IDX20">locale category, LC_MONETARY</A>, <A HREF="gettext_4.html#IDX120">locale category, LC_MONETARY</A>
+<LI><A HREF="gettext_1.html#IDX24">locale category, LC_NUMERIC</A>, <A HREF="gettext_4.html#IDX121">locale category, LC_NUMERIC</A>
+<LI><A HREF="gettext_4.html#IDX124">locale category, LC_RESPONSES</A>
+<LI><A HREF="gettext_1.html#IDX22">locale category, LC_TIME</A>, <A HREF="gettext_4.html#IDX122">locale category, LC_TIME</A>
+<LI><A HREF="gettext_6.html#IDX260"><CODE>locale</CODE> program</A>
<LI><A HREF="gettext_1.html#IDX9">localization</A>
-<LI><A HREF="gettext_15.html#IDX1124">lookup message translation</A>, <A HREF="gettext_15.html#IDX1157">lookup message translation</A>
-<LI><A HREF="gettext_15.html#IDX1136">lookup plural message translation</A>, <A HREF="gettext_15.html#IDX1159">lookup plural message translation</A>
+<LI><A HREF="gettext_15.html#IDX1147">lookup message translation</A>, <A HREF="gettext_15.html#IDX1180">lookup message translation</A>
+<LI><A HREF="gettext_15.html#IDX1159">lookup plural message translation</A>, <A HREF="gettext_15.html#IDX1182">lookup plural message translation</A>
</DIR>
<H2><A NAME="cindex_m">m</A></H2>
<DIR>
-<LI><A HREF="gettext_10.html#IDX1002">magic signature of MO files</A>
-<LI><A HREF="gettext_9.html#IDX507">manipulating PO files</A>
-<LI><A HREF="gettext_15.html#IDX1186">marking Perl sources</A>
-<LI><A HREF="gettext_4.html#IDX141">marking string initializers</A>
-<LI><A HREF="gettext_4.html#IDX127">marking strings that require translation</A>
-<LI><A HREF="gettext_4.html#IDX114">marking strings, preparations</A>
-<LI><A HREF="gettext_1.html#IDX32">marking translatable strings</A>
-<LI><A HREF="gettext_4.html#IDX125">markup</A>
-<LI><A HREF="gettext_11.html#IDX1024">menu entries</A>
-<LI><A HREF="gettext_10.html#IDX940">menu, keyboard accelerator support</A>
-<LI><A HREF="gettext_9.html#IDX518">merge PO files</A>
-<LI><A HREF="gettext_9.html#IDX508">merging two PO files</A>
-<LI><A HREF="gettext_11.html#IDX1017">message catalog files location</A>
+<LI><A HREF="gettext_10.html#IDX1023">magic signature of MO files</A>
+<LI><A HREF="gettext_9.html#IDX522">manipulating PO files</A>
+<LI><A HREF="gettext_15.html#IDX1209">marking Perl sources</A>
+<LI><A HREF="gettext_4.html#IDX152">marking string initializers</A>
+<LI><A HREF="gettext_4.html#IDX138">marking strings that require translation</A>
+<LI><A HREF="gettext_4.html#IDX125">marking strings, preparations</A>
+<LI><A HREF="gettext_1.html#IDX33">marking translatable strings</A>
+<LI><A HREF="gettext_4.html#IDX136">markup</A>
+<LI><A HREF="gettext_11.html#IDX1045">menu entries</A>
+<LI><A HREF="gettext_10.html#IDX961">menu, keyboard accelerator support</A>
+<LI><A HREF="gettext_9.html#IDX533">merge PO files</A>
+<LI><A HREF="gettext_9.html#IDX523">merging two PO files</A>
+<LI><A HREF="gettext_11.html#IDX1038">message catalog files location</A>
<LI><A HREF="gettext_1.html#IDX25">messages</A>
-<LI><A HREF="gettext_13.html#IDX1058">migration from earlier versions of <CODE>gettext</CODE></A>
-<LI><A HREF="gettext_10.html#IDX941">mnemonics of menu entries</A>
-<LI><A HREF="gettext_10.html#IDX1000">MO file's format</A>
-<LI><A HREF="gettext_9.html#IDX797">modify message attributes</A>
-<LI><A HREF="gettext_9.html#IDX784"><CODE>msgattrib</CODE> program, usage</A>
-<LI><A HREF="gettext_9.html#IDX516"><CODE>msgcat</CODE> program, usage</A>
-<LI><A HREF="gettext_9.html#IDX768"><CODE>msgcmp</CODE> program, usage</A>
-<LI><A HREF="gettext_9.html#IDX728"><CODE>msgcomm</CODE> program, usage</A>
-<LI><A HREF="gettext_9.html#IDX561"><CODE>msgconv</CODE> program, usage</A>
-<LI><A HREF="gettext_9.html#IDX832"><CODE>msgen</CODE> program, usage</A>
-<LI><A HREF="gettext_9.html#IDX862"><CODE>msgexec</CODE> program, usage</A>
-<LI><A HREF="gettext_9.html#IDX654"><CODE>msgfilter</CODE> filter and catalog encoding</A>
-<LI><A HREF="gettext_9.html#IDX646"><CODE>msgfilter</CODE> program, usage</A>
-<LI><A HREF="gettext_10.html#IDX894"><CODE>msgfmt</CODE> program, usage</A>
-<LI><A HREF="gettext_9.html#IDX593"><CODE>msggrep</CODE> program, usage</A>
-<LI><A HREF="gettext_6.html#IDX218"><CODE>msginit</CODE> program, usage</A>
-<LI><A HREF="gettext_7.html#IDX253"><CODE>msgmerge</CODE> program, usage</A>
-<LI><A HREF="gettext_10.html#IDX956"><CODE>msgunfmt</CODE> program, usage</A>
-<LI><A HREF="gettext_9.html#IDX689"><CODE>msguniq</CODE> program, usage</A>
-<LI><A HREF="gettext_8.html#IDX365">multi-line strings</A>
+<LI><A HREF="gettext_13.html#IDX1079">migration from earlier versions of <CODE>gettext</CODE></A>
+<LI><A HREF="gettext_10.html#IDX962">mnemonics of menu entries</A>
+<LI><A HREF="gettext_10.html#IDX1021">MO file's format</A>
+<LI><A HREF="gettext_9.html#IDX814">modify message attributes</A>
+<LI><A HREF="gettext_9.html#IDX801"><CODE>msgattrib</CODE> program, usage</A>
+<LI><A HREF="gettext_9.html#IDX531"><CODE>msgcat</CODE> program, usage</A>
+<LI><A HREF="gettext_9.html#IDX785"><CODE>msgcmp</CODE> program, usage</A>
+<LI><A HREF="gettext_9.html#IDX745"><CODE>msgcomm</CODE> program, usage</A>
+<LI><A HREF="gettext_9.html#IDX578"><CODE>msgconv</CODE> program, usage</A>
+<LI><A HREF="gettext_9.html#IDX849"><CODE>msgen</CODE> program, usage</A>
+<LI><A HREF="gettext_9.html#IDX879"><CODE>msgexec</CODE> program, usage</A>
+<LI><A HREF="gettext_9.html#IDX671"><CODE>msgfilter</CODE> filter and catalog encoding</A>
+<LI><A HREF="gettext_9.html#IDX663"><CODE>msgfilter</CODE> program, usage</A>
+<LI><A HREF="gettext_10.html#IDX915"><CODE>msgfmt</CODE> program, usage</A>
+<LI><A HREF="gettext_9.html#IDX610"><CODE>msggrep</CODE> program, usage</A>
+<LI><A HREF="gettext_6.html#IDX233"><CODE>msginit</CODE> program, usage</A>
+<LI><A HREF="gettext_7.html#IDX268"><CODE>msgmerge</CODE> program, usage</A>
+<LI><A HREF="gettext_10.html#IDX977"><CODE>msgunfmt</CODE> program, usage</A>
+<LI><A HREF="gettext_9.html#IDX706"><CODE>msguniq</CODE> program, usage</A>
+<LI><A HREF="gettext_8.html#IDX380">multi-line strings</A>
</DIR>
<H2><A NAME="cindex_n">n</A></H2>
<DIR>
-<LI><A HREF="gettext_11.html#IDX1043"><CODE>N_</CODE>, a convenience macro</A>
+<LI><A HREF="gettext_11.html#IDX1064"><CODE>N_</CODE>, a convenience macro</A>
<LI><A HREF="gettext_1.html#IDX11">Native Language Support</A>
<LI><A HREF="gettext_1.html#IDX12">Natural Language Support</A>
-<LI><A HREF="gettext_3.html#IDX100">newlines in PO files</A>
-<LI><A HREF="gettext_11.html#IDX1032">ngettext</A>
-<LI><A HREF="gettext_15.html#IDX1135"><CODE>ngettext</CODE> program, usage</A>
+<LI><A HREF="gettext_3.html#IDX111">newlines in PO files</A>
+<LI><A HREF="gettext_11.html#IDX1053">ngettext</A>
+<LI><A HREF="gettext_15.html#IDX1158"><CODE>ngettext</CODE> program, usage</A>
<LI><A HREF="gettext_1.html#IDX10">NLS</A>
<LI><A HREF="gettext_1.html#IDX23">number format</A>
</DIR>
<H2><A NAME="cindex_o">o</A></H2>
<DIR>
-<LI><A HREF="gettext_15.html#IDX1179">Object Pascal</A>
-<LI><A HREF="gettext_8.html#IDX402">obsolete entries</A>
-<LI><A HREF="gettext_11.html#IDX1039">optimization of <CODE>gettext</CODE> functions</A>
-<LI><A HREF="gettext_9.html#IDX511">orthography</A>
-<LI><A HREF="gettext_15.html#IDX1113">outdigits</A>
-<LI><A HREF="gettext_5.html#IDX155">output to stdout, <CODE>xgettext</CODE></A>
-<LI><A HREF="gettext_1.html#IDX29">overview of <CODE>gettext</CODE></A>
+<LI><A HREF="gettext_15.html#IDX1202">Object Pascal</A>
+<LI><A HREF="gettext_8.html#IDX417">obsolete entries</A>
+<LI><A HREF="gettext_11.html#IDX1060">optimization of <CODE>gettext</CODE> functions</A>
+<LI><A HREF="gettext_9.html#IDX526">orthography</A>
+<LI><A HREF="gettext_15.html#IDX1136">outdigits</A>
+<LI><A HREF="gettext_5.html#IDX166">output to stdout, <CODE>xgettext</CODE></A>
+<LI><A HREF="gettext_1.html#IDX30">overview of <CODE>gettext</CODE></A>
</DIR>
<H2><A NAME="cindex_p">p</A></H2>
<DIR>
-<LI><A HREF="gettext_13.html#IDX1078">package and version declaration in <TT>&lsquo;configure.in&rsquo;</TT></A>
-<LI><A HREF="gettext_14.html#IDX1108">package build and installation options</A>
-<LI><A HREF="gettext_14.html#IDX1107">package distributor's view of <CODE>gettext</CODE></A>
-<LI><A HREF="gettext_14.html#IDX1106">package installer's view of <CODE>gettext</CODE></A>
-<LI><A HREF="gettext_13.html#IDX1056">package maintainer's view of <CODE>gettext</CODE></A>
-<LI><A HREF="gettext_4.html#IDX118">paragraphs</A>
-<LI><A HREF="gettext_15.html#IDX1177">Pascal</A>
-<LI><A HREF="gettext_15.html#IDX1185">Perl</A>
-<LI><A HREF="gettext_15.html#IDX1187">Perl default keywords</A>
-<LI><A HREF="gettext_15.html#IDX1190">Perl invalid string interpolation</A>
-<LI><A HREF="gettext_15.html#IDX1193">Perl long lines</A>
-<LI><A HREF="gettext_15.html#IDX1192">Perl parentheses</A>
-<LI><A HREF="gettext_15.html#IDX1194">Perl pitfalls</A>
-<LI><A HREF="gettext_15.html#IDX1189">Perl quote-like expressions</A>
-<LI><A HREF="gettext_15.html#IDX1188">Perl special keywords for hash-lookups</A>
-<LI><A HREF="gettext_15.html#IDX1191">Perl valid string interpolation</A>
-<LI><A HREF="gettext_11.html#IDX1025">pgettext</A>
-<LI><A HREF="gettext_11.html#IDX1028">pgettext_expr</A>
-<LI><A HREF="gettext_15.html#IDX1195">PHP</A>
-<LI><A HREF="gettext_15.html#IDX1196">Pike</A>
-<LI><A HREF="gettext_11.html#IDX1038">plural form formulas</A>
-<LI><A HREF="gettext_11.html#IDX1031">plural forms</A>
-<LI><A HREF="gettext_10.html#IDX1005">plural forms, in MO files</A>
-<LI><A HREF="gettext_3.html#IDX99">plural forms, in PO files</A>
-<LI><A HREF="gettext_3.html#IDX46">PO files' format</A>
-<LI><A HREF="gettext_8.html#IDX309">PO mode (Emacs) commands</A>
-<LI><A HREF="gettext_5.html#IDX142">PO template file</A>
-<LI><A HREF="gettext_9.html#IDX885">po_file_domains</A>
-<LI><A HREF="gettext_9.html#IDX884">po_file_free</A>
-<LI><A HREF="gettext_9.html#IDX883">po_file_read</A>
-<LI><A HREF="gettext_9.html#IDX886">po_message_iterator</A>
-<LI><A HREF="gettext_9.html#IDX887">po_message_iterator_free</A>
-<LI><A HREF="gettext_9.html#IDX889">po_message_msgid</A>
-<LI><A HREF="gettext_9.html#IDX890">po_message_msgid_plural</A>
-<LI><A HREF="gettext_9.html#IDX891">po_message_msgstr</A>
-<LI><A HREF="gettext_9.html#IDX892">po_message_msgstr_plural</A>
-<LI><A HREF="gettext_9.html#IDX888">po_next_message</A>
-<LI><A HREF="gettext_9.html#IDX655">portability problems with <CODE>sed</CODE></A>
-<LI><A HREF="gettext_4.html#IDX102">preparing programs for translation</A>
-<LI><A HREF="gettext_15.html#IDX1121">preparing shell scripts for translation</A>
-<LI><A HREF="gettext_11.html#IDX1011">problems with <CODE>catgets</CODE> interface</A>
-<LI><A HREF="gettext_15.html#IDX1111">programming languages</A>
-<LI><A HREF="gettext_15.html#IDX1161">Python</A>
+<LI><A HREF="gettext_13.html#IDX1100">package and version declaration in <TT>&lsquo;configure.ac&rsquo;</TT></A>
+<LI><A HREF="gettext_14.html#IDX1131">package build and installation options</A>
+<LI><A HREF="gettext_14.html#IDX1130">package distributor's view of <CODE>gettext</CODE></A>
+<LI><A HREF="gettext_14.html#IDX1129">package installer's view of <CODE>gettext</CODE></A>
+<LI><A HREF="gettext_13.html#IDX1077">package maintainer's view of <CODE>gettext</CODE></A>
+<LI><A HREF="gettext_4.html#IDX129">paragraphs</A>
+<LI><A HREF="gettext_15.html#IDX1200">Pascal</A>
+<LI><A HREF="gettext_15.html#IDX1208">Perl</A>
+<LI><A HREF="gettext_15.html#IDX1210">Perl default keywords</A>
+<LI><A HREF="gettext_15.html#IDX1213">Perl invalid string interpolation</A>
+<LI><A HREF="gettext_15.html#IDX1216">Perl long lines</A>
+<LI><A HREF="gettext_15.html#IDX1215">Perl parentheses</A>
+<LI><A HREF="gettext_15.html#IDX1217">Perl pitfalls</A>
+<LI><A HREF="gettext_15.html#IDX1212">Perl quote-like expressions</A>
+<LI><A HREF="gettext_15.html#IDX1211">Perl special keywords for hash-lookups</A>
+<LI><A HREF="gettext_15.html#IDX1214">Perl valid string interpolation</A>
+<LI><A HREF="gettext_11.html#IDX1046">pgettext</A>
+<LI><A HREF="gettext_11.html#IDX1049">pgettext_expr</A>
+<LI><A HREF="gettext_15.html#IDX1218">PHP</A>
+<LI><A HREF="gettext_15.html#IDX1219">Pike</A>
+<LI><A HREF="gettext_11.html#IDX1059">plural form formulas</A>
+<LI><A HREF="gettext_11.html#IDX1052">plural forms</A>
+<LI><A HREF="gettext_10.html#IDX1026">plural forms, in MO files</A>
+<LI><A HREF="gettext_3.html#IDX110">plural forms, in PO files</A>
+<LI><A HREF="gettext_3.html#IDX55">PO files' format</A>
+<LI><A HREF="gettext_8.html#IDX324">PO mode (Emacs) commands</A>
+<LI><A HREF="gettext_5.html#IDX153">PO template file</A>
+<LI><A HREF="gettext_9.html#IDX906">po_file_domains</A>
+<LI><A HREF="gettext_9.html#IDX905">po_file_free</A>
+<LI><A HREF="gettext_9.html#IDX904">po_file_read</A>
+<LI><A HREF="gettext_9.html#IDX907">po_message_iterator</A>
+<LI><A HREF="gettext_9.html#IDX908">po_message_iterator_free</A>
+<LI><A HREF="gettext_9.html#IDX910">po_message_msgid</A>
+<LI><A HREF="gettext_9.html#IDX911">po_message_msgid_plural</A>
+<LI><A HREF="gettext_9.html#IDX912">po_message_msgstr</A>
+<LI><A HREF="gettext_9.html#IDX913">po_message_msgstr_plural</A>
+<LI><A HREF="gettext_9.html#IDX909">po_next_message</A>
+<LI><A HREF="gettext_9.html#IDX672">portability problems with <CODE>sed</CODE></A>
+<LI><A HREF="gettext_4.html#IDX113">preparing programs for translation</A>
+<LI><A HREF="gettext_15.html#IDX1144">preparing shell scripts for translation</A>
+<LI><A HREF="gettext_11.html#IDX1032">problems with <CODE>catgets</CODE> interface</A>
+<LI><A HREF="gettext_15.html#IDX1134">programming languages</A>
+<LI><A HREF="gettext_15.html#IDX1184">Python</A>
</DIR>
<H2><A NAME="cindex_q">q</A></H2>
<DIR>
-<LI><A HREF="gettext_5.html#IDX181">Qt format strings</A>
-<LI><A HREF="gettext_10.html#IDX909">Qt mode, and <CODE>msgfmt</CODE> program</A>
-<LI><A HREF="gettext_6.html#IDX250">quotation marks</A>, <A HREF="gettext_13.html#IDX1076">quotation marks</A>
-<LI><A HREF="gettext_6.html#IDX249">quote characters, use in PO files</A>
+<LI><A HREF="gettext_5.html#IDX192">Qt format strings</A>
+<LI><A HREF="gettext_10.html#IDX930">Qt mode, and <CODE>msgfmt</CODE> program</A>
+<LI><A HREF="gettext_6.html#IDX265">quotation marks</A>, <A HREF="gettext_13.html#IDX1098">quotation marks</A>
+<LI><A HREF="gettext_6.html#IDX264">quote characters, use in PO files</A>
</DIR>
<H2><A NAME="cindex_r">r</A></H2>
<DIR>
-<LI><A HREF="gettext_9.html#IDX664"><CODE>recode-sr-latin</CODE> program</A>
-<LI><A HREF="gettext_16.html#IDX1200">related reading</A>
-<LI><A HREF="gettext_13.html#IDX1104">release</A>
-<LI><A HREF="gettext_15.html#IDX1198">RST</A>
+<LI><A HREF="gettext_9.html#IDX681"><CODE>recode-sr-latin</CODE> program</A>
+<LI><A HREF="gettext_16.html#IDX1223">related reading</A>
+<LI><A HREF="gettext_13.html#IDX1127">release</A>
+<LI><A HREF="gettext_15.html#IDX1221">RST</A>
</DIR>
<H2><A NAME="cindex_s">s</A></H2>
<DIR>
-<LI><A HREF="gettext_15.html#IDX1168">Scheme</A>
-<LI><A HREF="gettext_15.html#IDX1112">scripting languages</A>
-<LI><A HREF="gettext_9.html#IDX594">search messages in a catalog</A>
-<LI><A HREF="gettext_2.html#IDX43">selecting message language</A>
-<LI><A HREF="gettext_4.html#IDX117">sentences</A>
-<LI><A HREF="gettext_14.html#IDX1109">setting up <CODE>gettext</CODE> at build time</A>
-<LI><A HREF="gettext_2.html#IDX42">setting up <CODE>gettext</CODE> at run time</A>
-<LI><A HREF="gettext_11.html#IDX1014">several domains</A>
+<LI><A HREF="gettext_15.html#IDX1191">Scheme</A>
+<LI><A HREF="gettext_15.html#IDX1135">scripting languages</A>
+<LI><A HREF="gettext_9.html#IDX611">search messages in a catalog</A>
+<LI><A HREF="gettext_2.html#IDX41">selecting message language</A>
+<LI><A HREF="gettext_4.html#IDX128">sentences</A>
+<LI><A HREF="gettext_14.html#IDX1132">setting up <CODE>gettext</CODE> at build time</A>
+<LI><A HREF="gettext_2.html#IDX40">setting up <CODE>gettext</CODE> at run time</A>
+<LI><A HREF="gettext_11.html#IDX1035">several domains</A>
<LI><A HREF="gettext_1.html#IDX1">sex</A>
<LI><A HREF="gettext_1.html#IDX3">she, he, and they</A>
-<LI><A HREF="gettext_15.html#IDX1147">shell format string</A>
-<LI><A HREF="gettext_15.html#IDX1116">shell scripts</A>
-<LI><A HREF="gettext_15.html#IDX1170">Smalltalk</A>
-<LI><A HREF="gettext_9.html#IDX553">sorting <CODE>msgcat</CODE> output</A>
-<LI><A HREF="gettext_7.html#IDX289">sorting <CODE>msgmerge</CODE> output</A>
-<LI><A HREF="gettext_10.html#IDX993">sorting <CODE>msgunfmt</CODE> output</A>
-<LI><A HREF="gettext_5.html#IDX200">sorting output of <CODE>xgettext</CODE></A>
-<LI><A HREF="gettext_11.html#IDX1035">specifying plural form in a PO file</A>
-<LI><A HREF="gettext_9.html#IDX525">standard output, and <CODE>msgcat</CODE></A>
-<LI><A HREF="gettext_7.html#IDX262">standard output, and <CODE>msgmerge</CODE> program</A>
-<LI><A HREF="gettext_4.html#IDX120">string concatenation</A>
-<LI><A HREF="gettext_8.html#IDX361">string normalization in entries</A>
-<LI><A HREF="gettext_4.html#IDX115">style</A>
-<LI><A HREF="gettext_5.html#IDX158">supported languages, <CODE>xgettext</CODE></A>
+<LI><A HREF="gettext_15.html#IDX1170">shell format string</A>
+<LI><A HREF="gettext_15.html#IDX1139">shell scripts</A>
+<LI><A HREF="gettext_15.html#IDX1193">Smalltalk</A>
+<LI><A HREF="gettext_9.html#IDX570">sorting <CODE>msgcat</CODE> output</A>
+<LI><A HREF="gettext_7.html#IDX304">sorting <CODE>msgmerge</CODE> output</A>
+<LI><A HREF="gettext_10.html#IDX1014">sorting <CODE>msgunfmt</CODE> output</A>
+<LI><A HREF="gettext_5.html#IDX213">sorting output of <CODE>xgettext</CODE></A>
+<LI><A HREF="gettext_11.html#IDX1056">specifying plural form in a PO file</A>
+<LI><A HREF="gettext_9.html#IDX540">standard output, and <CODE>msgcat</CODE></A>
+<LI><A HREF="gettext_7.html#IDX277">standard output, and <CODE>msgmerge</CODE> program</A>
+<LI><A HREF="gettext_4.html#IDX131">string concatenation</A>
+<LI><A HREF="gettext_8.html#IDX376">string normalization in entries</A>
+<LI><A HREF="gettext_4.html#IDX126">style</A>
+<LI><A HREF="gettext_5.html#IDX169">supported languages, <CODE>xgettext</CODE></A>
</DIR>
<H2><A NAME="cindex_t">t</A></H2>
<DIR>
-<LI><A HREF="gettext_15.html#IDX1183">Tcl</A>
-<LI><A HREF="gettext_10.html#IDX907">Tcl mode, and <CODE>msgfmt</CODE> program</A>
-<LI><A HREF="gettext_10.html#IDX966">Tcl mode, and <CODE>msgunfmt</CODE> program</A>
-<LI><A HREF="gettext_1.html#IDX36">template PO file</A>
-<LI><A HREF="gettext_5.html#IDX204">testing <TT>&lsquo;.po&rsquo;</TT> files for equivalence</A>
-<LI><A HREF="gettext_15.html#IDX1184">Tk's scripting language</A>
-<LI><A HREF="gettext_8.html#IDX366">translated entries</A>
-<LI><A HREF="gettext_11.html#IDX1023">translating menu entries</A>
+<LI><A HREF="gettext_15.html#IDX1206">Tcl</A>
+<LI><A HREF="gettext_10.html#IDX928">Tcl mode, and <CODE>msgfmt</CODE> program</A>
+<LI><A HREF="gettext_10.html#IDX987">Tcl mode, and <CODE>msgunfmt</CODE> program</A>
+<LI><A HREF="gettext_1.html#IDX37">template PO file</A>
+<LI><A HREF="gettext_5.html#IDX217">testing <TT>&lsquo;.po&rsquo;</TT> files for equivalence</A>
+<LI><A HREF="gettext_15.html#IDX1207">Tk's scripting language</A>
+<LI><A HREF="gettext_8.html#IDX381">translated entries</A>
+<LI><A HREF="gettext_11.html#IDX1044">translating menu entries</A>
<LI><A HREF="gettext_1.html#IDX13">translation aspects</A>
-<LI><A HREF="gettext_2.html#IDX39">Translation Matrix</A>
+<LI><A HREF="gettext_2.html#IDX52">Translation Matrix</A>
<LI><A HREF="gettext_1.html#IDX5">Translation Project</A>
-<LI><A HREF="gettext_13.html#IDX1084">turning off NLS support</A>
-<LI><A HREF="gettext_1.html#IDX31">tutorial of <CODE>gettext</CODE> usage</A>
+<LI><A HREF="gettext_13.html#IDX1106">turning off NLS support</A>
+<LI><A HREF="gettext_1.html#IDX32">tutorial of <CODE>gettext</CODE> usage</A>
</DIR>
<H2><A NAME="cindex_u">u</A></H2>
<DIR>
-<LI><A HREF="gettext_9.html#IDX690">unify duplicate translations</A>
-<LI><A HREF="gettext_8.html#IDX391">untranslated entries</A>
-<LI><A HREF="gettext_8.html#IDX506">update translations from a compendium</A>
-<LI><A HREF="gettext_13.html#IDX1059">upgrading to new versions of <CODE>gettext</CODE></A>
+<LI><A HREF="gettext_9.html#IDX707">unify duplicate translations</A>
+<LI><A HREF="gettext_8.html#IDX406">untranslated entries</A>
+<LI><A HREF="gettext_8.html#IDX521">update translations from a compendium</A>
+<LI><A HREF="gettext_13.html#IDX1080">upgrading to new versions of <CODE>gettext</CODE></A>
</DIR>
<H2><A NAME="cindex_v">v</A></H2>
<DIR>
-<LI><A HREF="gettext_7.html#IDX266">version control for backup files, <CODE>msgmerge</CODE></A>
+<LI><A HREF="gettext_7.html#IDX281">version control for backup files, <CODE>msgmerge</CODE></A>
</DIR>
<H2><A NAME="cindex_w">w</A></H2>
<DIR>
-<LI><A HREF="gettext_15.html#IDX1180"><CODE>wxWidgets</CODE> library</A>
+<LI><A HREF="gettext_15.html#IDX1203"><CODE>wxWidgets</CODE> library</A>
</DIR>
<H2><A NAME="cindex_x">x</A></H2>
<DIR>
-<LI><A HREF="gettext_9.html#IDX864"><CODE>xargs</CODE>, and output from <CODE>msgexec</CODE></A>
-<LI><A HREF="gettext_5.html#IDX144"><CODE>xgettext</CODE> program, usage</A>
-<LI><A HREF="gettext_6.html#IDX251"><CODE>xmodmap</CODE> program, and typing quotation marks</A>
+<LI><A HREF="gettext_9.html#IDX881"><CODE>xargs</CODE>, and output from <CODE>msgexec</CODE></A>
+<LI><A HREF="gettext_5.html#IDX155"><CODE>xgettext</CODE> program, usage</A>
+<LI><A HREF="gettext_6.html#IDX266"><CODE>xmodmap</CODE> program, and typing quotation marks</A>
</DIR>
<H2><A NAME="cindex_y">y</A></H2>
<DIR>
-<LI><A HREF="gettext_15.html#IDX1182">YaST2 scripting language</A>
-<LI><A HREF="gettext_15.html#IDX1181">YCP</A>
+<LI><A HREF="gettext_15.html#IDX1205">YaST2 scripting language</A>
+<LI><A HREF="gettext_15.html#IDX1204">YCP</A>
</DIR>
</P>
diff --git a/gettext-tools/doc/gettext_3.html b/gettext-tools/doc/gettext_3.html
index a3aa053..67a78ae 100644
--- a/gettext-tools/doc/gettext_3.html
+++ b/gettext-tools/doc/gettext_3.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 25 October 2006 -->
+ from gettext.texi on 4 November 2007 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - 3 The Format of PO Files</TITLE>
@@ -11,10 +11,10 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_2.html">previous<
<P><HR><P>
-<H1><A NAME="SEC10" HREF="gettext_toc.html#TOC10">3 The Format of PO Files</A></H1>
+<H1><A NAME="SEC15" HREF="gettext_toc.html#TOC15">3 The Format of PO Files</A></H1>
<P>
-<A NAME="IDX46"></A>
-<A NAME="IDX47"></A>
+<A NAME="IDX55"></A>
+<A NAME="IDX56"></A>
</P>
<P>
@@ -63,9 +63,9 @@ msgstr "Error desconegut del sistema"
</PRE>
<P>
-<A NAME="IDX48"></A>
-<A NAME="IDX49"></A>
-<A NAME="IDX50"></A>
+<A NAME="IDX57"></A>
+<A NAME="IDX58"></A>
+<A NAME="IDX59"></A>
Entries begin with some optional white space. Usually, when generated
through GNU <CODE>gettext</CODE> tools, there is exactly one blank line
between entries. Then comments follow, on lines all starting with the
@@ -90,8 +90,8 @@ All comments, of either kind, are optional.
</P>
<P>
-<A NAME="IDX51"></A>
-<A NAME="IDX52"></A>
+<A NAME="IDX60"></A>
+<A NAME="IDX61"></A>
After white space and comments, entries show two strings, namely
first the untranslated string as it appears in the original program
sources, and then, the translation of this string. The original
@@ -125,7 +125,7 @@ there are two forms of flags defined:
<DT><CODE>fuzzy</CODE>
<DD>
-<A NAME="IDX53"></A>
+<A NAME="IDX62"></A>
This flag can be generated by the <CODE>msgmerge</CODE> program or it can be
inserted by the translator herself. It shows that the <CODE>msgstr</CODE>
string might not be a correct translation (anymore). Only the translator
@@ -133,14 +133,14 @@ can judge if the translation requires further modification, or is
acceptable as is. Once satisfied with the translation, she then removes
this <CODE>fuzzy</CODE> attribute. The <CODE>msgmerge</CODE> program inserts this
when it combined the <CODE>msgid</CODE> and <CODE>msgstr</CODE> entries after fuzzy
-search only. See section <A HREF="gettext_8.html#SEC58">8.3.6 Fuzzy Entries</A>.
+search only. See section <A HREF="gettext_8.html#SEC64">8.3.6 Fuzzy Entries</A>.
<DT><CODE>c-format</CODE>
<DD>
-<A NAME="IDX54"></A>
+<A NAME="IDX63"></A>
<DT><CODE>no-c-format</CODE>
<DD>
-<A NAME="IDX55"></A>
+<A NAME="IDX64"></A>
These flags should not be added by a human. Instead only the
<CODE>xgettext</CODE> program adds them. In an automated PO file processing
system as proposed here the user changes would be thrown away again as
@@ -153,173 +153,181 @@ string happens to look like a C format string (with <SAMP>&lsquo;%&rsquo;</SAMP>
In case the <CODE>c-format</CODE> flag is given for a string the <CODE>msgfmt</CODE>
does some more tests to check to validity of the translation.
-See section <A HREF="gettext_10.html#SEC143">10.1 Invoking the <CODE>msgfmt</CODE> Program</A>, section <A HREF="gettext_4.html#SEC17">4.6 Special Comments preceding Keywords</A> and section <A HREF="gettext_15.html#SEC233">15.3.1 C Format Strings</A>.
+See section <A HREF="gettext_10.html#SEC157">10.1 Invoking the <CODE>msgfmt</CODE> Program</A>, section <A HREF="gettext_4.html#SEC22">4.6 Special Comments preceding Keywords</A> and section <A HREF="gettext_15.html#SEC248">15.3.1 C Format Strings</A>.
<DT><CODE>objc-format</CODE>
<DD>
-<A NAME="IDX56"></A>
+<A NAME="IDX65"></A>
<DT><CODE>no-objc-format</CODE>
<DD>
-<A NAME="IDX57"></A>
-Likewise for Objective C, see section <A HREF="gettext_15.html#SEC234">15.3.2 Objective C Format Strings</A>.
+<A NAME="IDX66"></A>
+Likewise for Objective C, see section <A HREF="gettext_15.html#SEC249">15.3.2 Objective C Format Strings</A>.
<DT><CODE>sh-format</CODE>
<DD>
-<A NAME="IDX58"></A>
+<A NAME="IDX67"></A>
<DT><CODE>no-sh-format</CODE>
<DD>
-<A NAME="IDX59"></A>
-Likewise for Shell, see section <A HREF="gettext_15.html#SEC235">15.3.3 Shell Format Strings</A>.
+<A NAME="IDX68"></A>
+Likewise for Shell, see section <A HREF="gettext_15.html#SEC250">15.3.3 Shell Format Strings</A>.
<DT><CODE>python-format</CODE>
<DD>
-<A NAME="IDX60"></A>
+<A NAME="IDX69"></A>
<DT><CODE>no-python-format</CODE>
<DD>
-<A NAME="IDX61"></A>
-Likewise for Python, see section <A HREF="gettext_15.html#SEC236">15.3.4 Python Format Strings</A>.
+<A NAME="IDX70"></A>
+Likewise for Python, see section <A HREF="gettext_15.html#SEC251">15.3.4 Python Format Strings</A>.
<DT><CODE>lisp-format</CODE>
<DD>
-<A NAME="IDX62"></A>
+<A NAME="IDX71"></A>
<DT><CODE>no-lisp-format</CODE>
<DD>
-<A NAME="IDX63"></A>
-Likewise for Lisp, see section <A HREF="gettext_15.html#SEC237">15.3.5 Lisp Format Strings</A>.
+<A NAME="IDX72"></A>
+Likewise for Lisp, see section <A HREF="gettext_15.html#SEC252">15.3.5 Lisp Format Strings</A>.
<DT><CODE>elisp-format</CODE>
<DD>
-<A NAME="IDX64"></A>
+<A NAME="IDX73"></A>
<DT><CODE>no-elisp-format</CODE>
<DD>
-<A NAME="IDX65"></A>
-Likewise for Emacs Lisp, see section <A HREF="gettext_15.html#SEC238">15.3.6 Emacs Lisp Format Strings</A>.
+<A NAME="IDX74"></A>
+Likewise for Emacs Lisp, see section <A HREF="gettext_15.html#SEC253">15.3.6 Emacs Lisp Format Strings</A>.
<DT><CODE>librep-format</CODE>
<DD>
-<A NAME="IDX66"></A>
+<A NAME="IDX75"></A>
<DT><CODE>no-librep-format</CODE>
<DD>
-<A NAME="IDX67"></A>
-Likewise for librep, see section <A HREF="gettext_15.html#SEC239">15.3.7 librep Format Strings</A>.
+<A NAME="IDX76"></A>
+Likewise for librep, see section <A HREF="gettext_15.html#SEC254">15.3.7 librep Format Strings</A>.
<DT><CODE>scheme-format</CODE>
<DD>
-<A NAME="IDX68"></A>
+<A NAME="IDX77"></A>
<DT><CODE>no-scheme-format</CODE>
<DD>
-<A NAME="IDX69"></A>
-Likewise for Scheme, see section <A HREF="gettext_15.html#SEC240">15.3.8 Scheme Format Strings</A>.
+<A NAME="IDX78"></A>
+Likewise for Scheme, see section <A HREF="gettext_15.html#SEC255">15.3.8 Scheme Format Strings</A>.
<DT><CODE>smalltalk-format</CODE>
<DD>
-<A NAME="IDX70"></A>
+<A NAME="IDX79"></A>
<DT><CODE>no-smalltalk-format</CODE>
<DD>
-<A NAME="IDX71"></A>
-Likewise for Smalltalk, see section <A HREF="gettext_15.html#SEC241">15.3.9 Smalltalk Format Strings</A>.
+<A NAME="IDX80"></A>
+Likewise for Smalltalk, see section <A HREF="gettext_15.html#SEC256">15.3.9 Smalltalk Format Strings</A>.
<DT><CODE>java-format</CODE>
<DD>
-<A NAME="IDX72"></A>
+<A NAME="IDX81"></A>
<DT><CODE>no-java-format</CODE>
<DD>
-<A NAME="IDX73"></A>
-Likewise for Java, see section <A HREF="gettext_15.html#SEC242">15.3.10 Java Format Strings</A>.
+<A NAME="IDX82"></A>
+Likewise for Java, see section <A HREF="gettext_15.html#SEC257">15.3.10 Java Format Strings</A>.
<DT><CODE>csharp-format</CODE>
<DD>
-<A NAME="IDX74"></A>
+<A NAME="IDX83"></A>
<DT><CODE>no-csharp-format</CODE>
<DD>
-<A NAME="IDX75"></A>
-Likewise for C#, see section <A HREF="gettext_15.html#SEC243">15.3.11 C# Format Strings</A>.
+<A NAME="IDX84"></A>
+Likewise for C#, see section <A HREF="gettext_15.html#SEC258">15.3.11 C# Format Strings</A>.
<DT><CODE>awk-format</CODE>
<DD>
-<A NAME="IDX76"></A>
+<A NAME="IDX85"></A>
<DT><CODE>no-awk-format</CODE>
<DD>
-<A NAME="IDX77"></A>
-Likewise for awk, see section <A HREF="gettext_15.html#SEC244">15.3.12 awk Format Strings</A>.
+<A NAME="IDX86"></A>
+Likewise for awk, see section <A HREF="gettext_15.html#SEC259">15.3.12 awk Format Strings</A>.
<DT><CODE>object-pascal-format</CODE>
<DD>
-<A NAME="IDX78"></A>
+<A NAME="IDX87"></A>
<DT><CODE>no-object-pascal-format</CODE>
<DD>
-<A NAME="IDX79"></A>
-Likewise for Object Pascal, see section <A HREF="gettext_15.html#SEC245">15.3.13 Object Pascal Format Strings</A>.
+<A NAME="IDX88"></A>
+Likewise for Object Pascal, see section <A HREF="gettext_15.html#SEC260">15.3.13 Object Pascal Format Strings</A>.
<DT><CODE>ycp-format</CODE>
<DD>
-<A NAME="IDX80"></A>
+<A NAME="IDX89"></A>
<DT><CODE>no-ycp-format</CODE>
<DD>
-<A NAME="IDX81"></A>
-Likewise for YCP, see section <A HREF="gettext_15.html#SEC246">15.3.14 YCP Format Strings</A>.
+<A NAME="IDX90"></A>
+Likewise for YCP, see section <A HREF="gettext_15.html#SEC261">15.3.14 YCP Format Strings</A>.
<DT><CODE>tcl-format</CODE>
<DD>
-<A NAME="IDX82"></A>
+<A NAME="IDX91"></A>
<DT><CODE>no-tcl-format</CODE>
<DD>
-<A NAME="IDX83"></A>
-Likewise for Tcl, see section <A HREF="gettext_15.html#SEC247">15.3.15 Tcl Format Strings</A>.
+<A NAME="IDX92"></A>
+Likewise for Tcl, see section <A HREF="gettext_15.html#SEC262">15.3.15 Tcl Format Strings</A>.
<DT><CODE>perl-format</CODE>
<DD>
-<A NAME="IDX84"></A>
+<A NAME="IDX93"></A>
<DT><CODE>no-perl-format</CODE>
<DD>
-<A NAME="IDX85"></A>
-Likewise for Perl, see section <A HREF="gettext_15.html#SEC248">15.3.16 Perl Format Strings</A>.
+<A NAME="IDX94"></A>
+Likewise for Perl, see section <A HREF="gettext_15.html#SEC263">15.3.16 Perl Format Strings</A>.
<DT><CODE>perl-brace-format</CODE>
<DD>
-<A NAME="IDX86"></A>
+<A NAME="IDX95"></A>
<DT><CODE>no-perl-brace-format</CODE>
<DD>
-<A NAME="IDX87"></A>
-Likewise for Perl brace, see section <A HREF="gettext_15.html#SEC248">15.3.16 Perl Format Strings</A>.
+<A NAME="IDX96"></A>
+Likewise for Perl brace, see section <A HREF="gettext_15.html#SEC263">15.3.16 Perl Format Strings</A>.
<DT><CODE>php-format</CODE>
<DD>
-<A NAME="IDX88"></A>
+<A NAME="IDX97"></A>
<DT><CODE>no-php-format</CODE>
<DD>
-<A NAME="IDX89"></A>
-Likewise for PHP, see section <A HREF="gettext_15.html#SEC249">15.3.17 PHP Format Strings</A>.
+<A NAME="IDX98"></A>
+Likewise for PHP, see section <A HREF="gettext_15.html#SEC264">15.3.17 PHP Format Strings</A>.
<DT><CODE>gcc-internal-format</CODE>
<DD>
-<A NAME="IDX90"></A>
+<A NAME="IDX99"></A>
<DT><CODE>no-gcc-internal-format</CODE>
<DD>
-<A NAME="IDX91"></A>
-Likewise for the GCC sources, see section <A HREF="gettext_15.html#SEC250">15.3.18 GCC internal Format Strings</A>.
+<A NAME="IDX100"></A>
+Likewise for the GCC sources, see section <A HREF="gettext_15.html#SEC265">15.3.18 GCC internal Format Strings</A>.
<DT><CODE>qt-format</CODE>
<DD>
-<A NAME="IDX92"></A>
+<A NAME="IDX101"></A>
<DT><CODE>no-qt-format</CODE>
<DD>
-<A NAME="IDX93"></A>
-Likewise for Qt, see section <A HREF="gettext_15.html#SEC251">15.3.19 Qt Format Strings</A>.
+<A NAME="IDX102"></A>
+Likewise for Qt, see section <A HREF="gettext_15.html#SEC266">15.3.19 Qt Format Strings</A>.
+
+<DT><CODE>kde-format</CODE>
+<DD>
+<A NAME="IDX103"></A>
+<DT><CODE>no-kde-format</CODE>
+<DD>
+<A NAME="IDX104"></A>
+Likewise for KDE, see section <A HREF="gettext_15.html#SEC267">15.3.20 KDE Format Strings</A>.
<DT><CODE>boost-format</CODE>
<DD>
-<A NAME="IDX94"></A>
+<A NAME="IDX105"></A>
<DT><CODE>no-boost-format</CODE>
<DD>
-<A NAME="IDX95"></A>
-Likewise for Boost, see section <A HREF="gettext_15.html#SEC252">15.3.20 Boost Format Strings</A>.
+<A NAME="IDX106"></A>
+Likewise for Boost, see section <A HREF="gettext_15.html#SEC268">15.3.21 Boost Format Strings</A>.
</DL>
<P>
-<A NAME="IDX96"></A>
-<A NAME="IDX97"></A>
+<A NAME="IDX107"></A>
+<A NAME="IDX108"></A>
It is also possible to have entries with a context specifier. They look like
this:
@@ -347,8 +355,8 @@ and an absent <CODE>msgctxt</CODE> line do not mean the same thing.
</P>
<P>
-<A NAME="IDX98"></A>
-<A NAME="IDX99"></A>
+<A NAME="IDX109"></A>
+<A NAME="IDX110"></A>
A different kind of entries is used for translations which involve
plural forms.
@@ -444,7 +452,7 @@ other character, we just did it this way because it is neater.
</P>
<P>
-<A NAME="IDX100"></A>
+<A NAME="IDX111"></A>
One should carefully distinguish between end of lines marked as
<SAMP>&lsquo;\n&rsquo;</SAMP> <EM>inside</EM> quotes, which are part of the represented
string, and end of lines in the PO file itself, outside string quotes,
@@ -452,7 +460,7 @@ which have no incidence on the represented string.
</P>
<P>
-<A NAME="IDX101"></A>
+<A NAME="IDX112"></A>
Outside strings, white lines and comments may be used freely.
Comments start at the beginning of a line with <SAMP>&lsquo;#&rsquo;</SAMP> and extend
until the end of the PO file line. Comments written by translators
diff --git a/gettext-tools/doc/gettext_4.html b/gettext-tools/doc/gettext_4.html
index 523e659..6a46a68 100644
--- a/gettext-tools/doc/gettext_4.html
+++ b/gettext-tools/doc/gettext_4.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 25 October 2006 -->
+ from gettext.texi on 4 November 2007 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - 4 Preparing Program Sources</TITLE>
@@ -11,9 +11,9 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_3.html">previous<
<P><HR><P>
-<H1><A NAME="SEC11" HREF="gettext_toc.html#TOC11">4 Preparing Program Sources</A></H1>
+<H1><A NAME="SEC16" HREF="gettext_toc.html#TOC16">4 Preparing Program Sources</A></H1>
<P>
-<A NAME="IDX102"></A>
+<A NAME="IDX113"></A>
</P>
@@ -30,17 +30,17 @@ needing translation.
-<H2><A NAME="SEC12" HREF="gettext_toc.html#TOC12">4.1 Importing the <CODE>gettext</CODE> declaration</A></H2>
+<H2><A NAME="SEC17" HREF="gettext_toc.html#TOC17">4.1 Importing the <CODE>gettext</CODE> declaration</A></H2>
<P>
Presuming that your set of programs, or package, has been adjusted
so all needed GNU <CODE>gettext</CODE> files are available, and your
-<TT>&lsquo;Makefile&rsquo;</TT> files are adjusted (see section <A HREF="gettext_13.html#SEC196">13 The Maintainer's View</A>), each C module
+<TT>&lsquo;Makefile&rsquo;</TT> files are adjusted (see section <A HREF="gettext_13.html#SEC210">13 The Maintainer's View</A>), each C module
having translated C strings should contain the line:
</P>
<P>
-<A NAME="IDX103"></A>
+<A NAME="IDX114"></A>
<PRE>
#include &#60;libintl.h&#62;
@@ -59,10 +59,10 @@ the C string comes from a different C module) should contain the line:
-<H2><A NAME="SEC13" HREF="gettext_toc.html#TOC13">4.2 Triggering <CODE>gettext</CODE> Operations</A></H2>
+<H2><A NAME="SEC18" HREF="gettext_toc.html#TOC18">4.2 Triggering <CODE>gettext</CODE> Operations</A></H2>
<P>
-<A NAME="IDX104"></A>
+<A NAME="IDX115"></A>
The initialization of locale data should be done with more or less
the same code in every program, as demonstrated below:
@@ -87,11 +87,11 @@ or <CODE>hello</CODE> sources for more information.
</P>
<P>
-<A NAME="IDX105"></A>
-<A NAME="IDX106"></A>
+<A NAME="IDX116"></A>
+<A NAME="IDX117"></A>
The use of <CODE>LC_ALL</CODE> might not be appropriate for you.
<CODE>LC_ALL</CODE> includes all locale categories and especially
-<CODE>LC_CTYPE</CODE>. This later category is responsible for determining
+<CODE>LC_CTYPE</CODE>. This latter category is responsible for determining
character classes with the <CODE>isalnum</CODE> etc. functions from
<TT>&lsquo;ctype.h&rsquo;</TT> which could especially for programs, which process some
kind of input language, be wrong. For example this would mean that a
@@ -101,8 +101,8 @@ France but not in the U.S.
</P>
<P>
Some systems also have problems with parsing numbers using the
-<CODE>scanf</CODE> functions if an other but the <CODE>LC_ALL</CODE> locale is used.
-The standards say that additional formats but the one known in the
+<CODE>scanf</CODE> functions if an other but the <CODE>LC_ALL</CODE> locale category is
+used. The standards say that additional formats but the one known in the
<CODE>"C"</CODE> locale might be recognized. But some systems seem to reject
numbers in the <CODE>"C"</CODE> locale format. In some situation, it might
also be a problem with the notation itself which makes it impossible to
@@ -129,27 +129,31 @@ code above by a sequence of <CODE>setlocale</CODE> lines
</PRE>
<P>
-<A NAME="IDX107"></A>
-<A NAME="IDX108"></A>
-<A NAME="IDX109"></A>
-<A NAME="IDX110"></A>
-<A NAME="IDX111"></A>
-<A NAME="IDX112"></A>
-<A NAME="IDX113"></A>
+<A NAME="IDX118"></A>
+<A NAME="IDX119"></A>
+<A NAME="IDX120"></A>
+<A NAME="IDX121"></A>
+<A NAME="IDX122"></A>
+<A NAME="IDX123"></A>
+<A NAME="IDX124"></A>
On all POSIX conformant systems the locale categories <CODE>LC_CTYPE</CODE>,
<CODE>LC_MESSAGES</CODE>, <CODE>LC_COLLATE</CODE>, <CODE>LC_MONETARY</CODE>,
<CODE>LC_NUMERIC</CODE>, and <CODE>LC_TIME</CODE> are available. On some systems
which are only ISO C compliant, <CODE>LC_MESSAGES</CODE> is missing, but
-a substitute for it is defined in GNU gettext's <CODE>&#60;libintl.h&#62;</CODE>.
+a substitute for it is defined in GNU gettext's <CODE>&#60;libintl.h&#62;</CODE> and
+in GNU gnulib's <CODE>&#60;locale.h&#62;</CODE>.
</P>
<P>
Note that changing the <CODE>LC_CTYPE</CODE> also affects the functions
-declared in the <CODE>&#60;ctype.h&#62;</CODE> standard header. If this is not
+declared in the <CODE>&#60;ctype.h&#62;</CODE> standard header and some functions
+declared in the <CODE>&#60;string.h&#62;</CODE> and <CODE>&#60;stdlib.h&#62;</CODE> standard headers.
+If this is not
desirable in your application (for example in a compiler's parser),
you can use a set of substitute functions which hardwire the C locale,
-such as found in the <CODE>&#60;c-ctype.h&#62;</CODE> and <CODE>&#60;c-ctype.c&#62;</CODE> files
-in the gettext source distribution.
+such as found in the modules <SAMP>&lsquo;c-ctype&rsquo;</SAMP>, <SAMP>&lsquo;c-strcase&rsquo;</SAMP>,
+<SAMP>&lsquo;c-strcasestr&rsquo;</SAMP>, <SAMP>&lsquo;c-strtod&rsquo;</SAMP>, <SAMP>&lsquo;c-strtold&rsquo;</SAMP> in the GNU gnulib
+source distribution.
</P>
<P>
@@ -163,10 +167,10 @@ is not multithread-safe.
</P>
-<H2><A NAME="SEC14" HREF="gettext_toc.html#TOC14">4.3 Preparing Translatable Strings</A></H2>
+<H2><A NAME="SEC19" HREF="gettext_toc.html#TOC19">4.3 Preparing Translatable Strings</A></H2>
<P>
-<A NAME="IDX114"></A>
+<A NAME="IDX125"></A>
Before strings can be marked for translations, they sometimes need to
be adjusted. Usually preparing a string for translation is done right
before marking it, during the marking phase which is described in the
@@ -202,7 +206,7 @@ Let's look at some examples of these guidelines.
</P>
<P>
-<A NAME="IDX115"></A>
+<A NAME="IDX126"></A>
Translatable strings should be in good English style. If slang language
with abbreviations and shortcuts is used, often translators will not
understand the message and will produce very inappropriate translations.
@@ -231,13 +235,13 @@ of the objects"?
</P>
<P>
-<A NAME="IDX116"></A>
+<A NAME="IDX127"></A>
In both cases, adding more words to the message will help both the
translator and the English speaking user.
</P>
<P>
-<A NAME="IDX117"></A>
+<A NAME="IDX128"></A>
Translatable strings should be entire sentences. It is often not possible
to translate single verbs or adjectives in a substitutable way.
@@ -323,7 +327,7 @@ combined by xgettext, so the translator has to handle them once only.)
</P>
<P>
-<A NAME="IDX118"></A>
+<A NAME="IDX129"></A>
Translatable strings should be limited to one paragraph; don't let a
single message be longer than ten lines. The reason is that when the
translatable string changes, the translator is faced with the task of
@@ -334,7 +338,7 @@ the entire message.
</P>
<P>
-<A NAME="IDX119"></A>
+<A NAME="IDX130"></A>
Many GNU programs have a <SAMP>&lsquo;--help&rsquo;</SAMP> output that extends over several
screen pages. It is a courtesy towards the translators to split such a
message into several ones of five to ten lines each. While doing that,
@@ -345,8 +349,8 @@ looking for.
</P>
<P>
-<A NAME="IDX120"></A>
-<A NAME="IDX121"></A>
+<A NAME="IDX131"></A>
+<A NAME="IDX132"></A>
Hardcoded string concatenation is sometimes used to construct English
strings:
@@ -373,7 +377,7 @@ sprintf (s, "Replace %s with %s?", object1, object2);
</PRE>
<P>
-<A NAME="IDX122"></A>
+<A NAME="IDX133"></A>
A similar case is compile time concatenation of strings. The ISO C 99
include file <CODE>&#60;inttypes.h&#62;</CODE> contains a macro <CODE>PRId64</CODE> that
can be used as a formatting directive for outputting an <SAMP>&lsquo;int64_t&rsquo;</SAMP>
@@ -427,8 +431,8 @@ regardless whether in decimal, octal or hexadecimal.
</P>
<P>
-<A NAME="IDX123"></A>
-<A NAME="IDX124"></A>
+<A NAME="IDX134"></A>
+<A NAME="IDX135"></A>
All this applies to other programming languages as well. For example, in
Java and C#, string concatenation is very frequently used, because it is a
compiler built-in operator. Like in C, in Java, you would change
@@ -470,8 +474,8 @@ Console.WriteLine(
</PRE>
<P>
-<A NAME="IDX125"></A>
-<A NAME="IDX126"></A>
+<A NAME="IDX136"></A>
+<A NAME="IDX137"></A>
Unusual markup or control characters should not be used in translatable
strings. Translators will likely not understand the particular meaning
of the markup or control characters.
@@ -505,9 +509,9 @@ don't verify that the translations are well-formed HTML.
</P>
-<H2><A NAME="SEC15" HREF="gettext_toc.html#TOC15">4.4 How Marks Appear in Sources</A></H2>
+<H2><A NAME="SEC20" HREF="gettext_toc.html#TOC20">4.4 How Marks Appear in Sources</A></H2>
<P>
-<A NAME="IDX127"></A>
+<A NAME="IDX138"></A>
</P>
<P>
@@ -533,7 +537,7 @@ return the proper translation, as far as possible or wanted, for the
argument string. Most localizable strings are found in executable
positions, that is, attached to variables or given as parameters to
functions. But this is not universal usage, and some translatable
-strings appear in structured initializations. See section <A HREF="gettext_4.html#SEC18">4.7 Special Cases of Translatable Strings</A>.
+strings appear in structured initializations. See section <A HREF="gettext_4.html#SEC23">4.7 Special Cases of Translatable Strings</A>.
</P>
<P>
@@ -558,7 +562,7 @@ sources for those trying to keep them within 79 or 80 columns.
</P>
<P>
-<A NAME="IDX128"></A>
+<A NAME="IDX139"></A>
Many packages use <SAMP>&lsquo;_&rsquo;</SAMP> (a simple underline) as a keyword,
and write <SAMP>&lsquo;_("Translatable string")&rsquo;</SAMP> instead of <SAMP>&lsquo;gettext
("Translatable string")&rsquo;</SAMP>. Further, the coding rule, from GNU standards,
@@ -610,9 +614,9 @@ in English, it's customary to put a space before a colon.
</P>
-<H2><A NAME="SEC16" HREF="gettext_toc.html#TOC16">4.5 Marking Translatable Strings</A></H2>
+<H2><A NAME="SEC21" HREF="gettext_toc.html#TOC21">4.5 Marking Translatable Strings</A></H2>
<P>
-<A NAME="IDX129"></A>
+<A NAME="IDX140"></A>
</P>
<P>
@@ -629,7 +633,7 @@ translation in some language, for the package being internationalized.
</P>
<P>
-<A NAME="IDX130"></A>
+<A NAME="IDX141"></A>
The set of program sources, targeted by the PO mode commands describe
here, should have an Emacs tags table constructed for your project,
prior to using these PO file commands. This is easy to do. In any
@@ -651,7 +655,7 @@ format Emacs can understand.
</P>
<P>
-<A NAME="IDX131"></A>
+<A NAME="IDX142"></A>
For packages following the GNU coding standards, there is
a make goal <CODE>tags</CODE> or <CODE>TAGS</CODE> which constructs the tag files in
all directories and for all files containing source code.
@@ -671,18 +675,18 @@ fill in while you mark strings as translatable in your program sources.
<DT><KBD>,</KBD>
<DD>
-<A NAME="IDX132"></A>
+<A NAME="IDX143"></A>
Search through program sources for a string which looks like a
candidate for translation (<CODE>po-tags-search</CODE>).
<DT><KBD>M-,</KBD>
<DD>
-<A NAME="IDX133"></A>
+<A NAME="IDX144"></A>
Mark the last string found with <SAMP>&lsquo;_()&rsquo;</SAMP> (<CODE>po-mark-translatable</CODE>).
<DT><KBD>M-.</KBD>
<DD>
-<A NAME="IDX134"></A>
+<A NAME="IDX145"></A>
Mark the last string found with a keyword taken from a set of possible
keywords. This command with a prefix allows some management of these
keywords (<CODE>po-select-mark-and-mark</CODE>).
@@ -690,7 +694,7 @@ keywords (<CODE>po-select-mark-and-mark</CODE>).
</DL>
<P>
-<A NAME="IDX135"></A>
+<A NAME="IDX146"></A>
The <KBD>,</KBD> (<CODE>po-tags-search</CODE>) command searches for the next
occurrence of a string which looks like a possible candidate for
translation, and displays the program source in another Emacs window,
@@ -742,8 +746,8 @@ first tags file, this reinitialization might be considered spurious.
</P>
<P>
-<A NAME="IDX136"></A>
-<A NAME="IDX137"></A>
+<A NAME="IDX147"></A>
+<A NAME="IDX148"></A>
The <KBD>M-,</KBD> (<CODE>po-mark-translatable</CODE>) command will mark the
recently found string with the <SAMP>&lsquo;_&rsquo;</SAMP> keyword. The <KBD>M-.</KBD>
(<CODE>po-select-mark-and-mark</CODE>) command will request that you type
@@ -801,10 +805,10 @@ prefer <SAMP>&lsquo;_&rsquo;</SAMP>, as this one is already built in the <KBD>M-
</P>
-<H2><A NAME="SEC17" HREF="gettext_toc.html#TOC17">4.6 Special Comments preceding Keywords</A></H2>
+<H2><A NAME="SEC22" HREF="gettext_toc.html#TOC22">4.6 Special Comments preceding Keywords</A></H2>
<P>
-<A NAME="IDX138"></A>
+<A NAME="IDX149"></A>
In C programs strings are often used within calls of functions from the
<CODE>printf</CODE> family. The special thing about these format strings is
that they can contain format specifiers introduced with <KBD>%</KBD>. Assume
@@ -868,12 +872,12 @@ like a format specifier, but the string is not used in <CODE>printf</CODE>.
Therefore the <CODE>xgettext</CODE> adds a special tag to those messages it
thinks might be a format string. There is no absolute rule for this,
only a heuristic. In the <TT>&lsquo;.po&rsquo;</TT> file the entry is marked using the
-<CODE>c-format</CODE> flag in the <CODE>#,</CODE> comment line (see section <A HREF="gettext_3.html#SEC10">3 The Format of PO Files</A>).
+<CODE>c-format</CODE> flag in the <CODE>#,</CODE> comment line (see section <A HREF="gettext_3.html#SEC15">3 The Format of PO Files</A>).
</P>
<P>
-<A NAME="IDX139"></A>
-<A NAME="IDX140"></A>
+<A NAME="IDX150"></A>
+<A NAME="IDX151"></A>
The careful reader now might say that this again can cause problems.
The heuristic might guess it wrong. This is true and therefore
<CODE>xgettext</CODE> knows about a special kind of comment which lets
@@ -910,16 +914,16 @@ to use must contain the string <CODE>xgettext:no-c-format</CODE>.
<P>
If a string is marked with <CODE>c-format</CODE> and this is not correct the
user can find out who is responsible for the decision. See
-section <A HREF="gettext_5.html#SEC22">5.1 Invoking the <CODE>xgettext</CODE> Program</A> to see how the <CODE>--debug</CODE> option can be
+section <A HREF="gettext_5.html#SEC28">5.1 Invoking the <CODE>xgettext</CODE> Program</A> to see how the <CODE>--debug</CODE> option can be
used for solving this problem.
</P>
-<H2><A NAME="SEC18" HREF="gettext_toc.html#TOC18">4.7 Special Cases of Translatable Strings</A></H2>
+<H2><A NAME="SEC23" HREF="gettext_toc.html#TOC23">4.7 Special Cases of Translatable Strings</A></H2>
<P>
-<A NAME="IDX141"></A>
+<A NAME="IDX152"></A>
The attentive reader might now point out that it is not always possible
to mark translatable string with <CODE>gettext</CODE> or something like this.
Consider the following case:
@@ -946,7 +950,7 @@ Consider the following case:
While it is no problem to mark the string <CODE>"a default message"</CODE> it
is not possible to mark the string initializers for <CODE>messages</CODE>.
What is to be done? We have to fulfill two tasks. First we have to mark the
-strings so that the <CODE>xgettext</CODE> program (see section <A HREF="gettext_5.html#SEC22">5.1 Invoking the <CODE>xgettext</CODE> Program</A>)
+strings so that the <CODE>xgettext</CODE> program (see section <A HREF="gettext_5.html#SEC28">5.1 Invoking the <CODE>xgettext</CODE> Program</A>)
can find them, and second we have to translate the string at runtime
before printing them.
@@ -979,7 +983,7 @@ from the array. So one solution can look like this:
<P>
Please convince yourself that the string which is written by
<CODE>fputs</CODE> is translated in any case. How to get <CODE>xgettext</CODE> know
-the additional keyword <CODE>gettext_noop</CODE> is explained in section <A HREF="gettext_5.html#SEC22">5.1 Invoking the <CODE>xgettext</CODE> Program</A>.
+the additional keyword <CODE>gettext_noop</CODE> is explained in section <A HREF="gettext_5.html#SEC28">5.1 Invoking the <CODE>xgettext</CODE> Program</A>.
</P>
<P>
@@ -1021,7 +1025,69 @@ use this second method in this situation.
</P>
-<H2><A NAME="SEC19" HREF="gettext_toc.html#TOC19">4.8 Marking Proper Names for Translation</A></H2>
+<H2><A NAME="SEC24" HREF="gettext_toc.html#TOC24">4.8 Letting Users Report Translation Bugs</A></H2>
+
+<P>
+Code sometimes has bugs, but translations sometimes have bugs too. The
+users need to be able to report them. Reporting translation bugs to the
+programmer or maintainer of a package is not very useful, since the
+maintainer must never change a translation, except on behalf of the
+translator. Hence the translation bugs must be reported to the
+translators.
+
+</P>
+<P>
+Here is a way to organize this so that the maintainer does not need to
+forward translation bug reports, nor even keep a list of the addresses of
+the translators or their translation teams.
+
+</P>
+<P>
+Every program has a place where is shows the bug report address. For
+GNU programs, it is the code which handles the “--help†option,
+typically in a function called “usageâ€. In this place, instruct the
+translator to add her own bug reporting address. For example, if that
+code has a statement
+
+</P>
+
+<PRE>
+printf (_("Report bugs to &#60;%s&#62;.\n"), PACKAGE_BUGREPORT);
+</PRE>
+
+<P>
+you can add some translator instructions like this:
+
+</P>
+
+<PRE>
+/* TRANSLATORS: The placeholder indicates the bug-reporting address
+ for this package. Please add _another line_ saying
+ "Report translation bugs to &#60;...&#62;\n" with the address for translation
+ bugs (typically your translation team's web or email address). */
+printf (_("Report bugs to &#60;%s&#62;.\n"), PACKAGE_BUGREPORT);
+</PRE>
+
+<P>
+These will be extracted by <SAMP>&lsquo;xgettext&rsquo;</SAMP>, leading to a .pot file that
+contains this:
+
+</P>
+
+<PRE>
+#. TRANSLATORS: The placeholder indicates the bug-reporting address
+#. for this package. Please add _another line_ saying
+#. "Report translation bugs to &#60;...&#62;\n" with the address for translation
+#. bugs (typically your translation team's web or email address).
+#: src/hello.c:178
+#, c-format
+msgid "Report bugs to &#60;%s&#62;.\n"
+msgstr ""
+</PRE>
+
+
+
+<H2><A NAME="SEC25" HREF="gettext_toc.html#TOC25">4.9 Marking Proper Names for Translation</A></H2>
<P>
Should names of persons, cities, locations etc. be marked for translation
@@ -1103,7 +1169,7 @@ for translators using GNU Emacs or XEmacs with po-mode.
</P>
-<H2><A NAME="SEC20" HREF="gettext_toc.html#TOC20">4.9 Preparing Library Sources</A></H2>
+<H2><A NAME="SEC26" HREF="gettext_toc.html#TOC26">4.10 Preparing Library Sources</A></H2>
<P>
When you are preparing a library, not a program, for the use of
diff --git a/gettext-tools/doc/gettext_5.html b/gettext-tools/doc/gettext_5.html
index 7a66776..98af331 100644
--- a/gettext-tools/doc/gettext_5.html
+++ b/gettext-tools/doc/gettext_5.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 25 October 2006 -->
+ from gettext.texi on 4 November 2007 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - 5 Making the PO Template File</TITLE>
@@ -11,9 +11,9 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_4.html">previous<
<P><HR><P>
-<H1><A NAME="SEC21" HREF="gettext_toc.html#TOC21">5 Making the PO Template File</A></H1>
+<H1><A NAME="SEC27" HREF="gettext_toc.html#TOC27">5 Making the PO Template File</A></H1>
<P>
-<A NAME="IDX142"></A>
+<A NAME="IDX153"></A>
</P>
<P>
@@ -33,11 +33,11 @@ was fuzzy, and the suffix <SAMP>&lsquo;.pot&rsquo;</SAMP> wasn't in use at that
-<H2><A NAME="SEC22" HREF="gettext_toc.html#TOC22">5.1 Invoking the <CODE>xgettext</CODE> Program</A></H2>
+<H2><A NAME="SEC28" HREF="gettext_toc.html#TOC28">5.1 Invoking the <CODE>xgettext</CODE> Program</A></H2>
<P>
-<A NAME="IDX143"></A>
-<A NAME="IDX144"></A>
+<A NAME="IDX154"></A>
+<A NAME="IDX155"></A>
<PRE>
xgettext [<VAR>option</VAR>] [<VAR>inputfile</VAR>] ...
@@ -50,7 +50,7 @@ input files.
</P>
-<H3><A NAME="SEC23" HREF="gettext_toc.html#TOC23">5.1.1 Input file location</A></H3>
+<H3><A NAME="SEC29" HREF="gettext_toc.html#TOC29">5.1.1 Input file location</A></H3>
<DL COMPACT>
@@ -62,8 +62,8 @@ Input files.
<DD>
<DT><SAMP>&lsquo;--files-from=<VAR>file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX145"></A>
-<A NAME="IDX146"></A>
+<A NAME="IDX156"></A>
+<A NAME="IDX157"></A>
Read the names of the input files from <VAR>file</VAR> instead of getting
them from the command line.
@@ -71,8 +71,8 @@ them from the command line.
<DD>
<DT><SAMP>&lsquo;--directory=<VAR>directory</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX147"></A>
-<A NAME="IDX148"></A>
+<A NAME="IDX158"></A>
+<A NAME="IDX159"></A>
Add <VAR>directory</VAR> to the list of directories. Source files are
searched relative to this list of directories. The resulting <TT>&lsquo;.po&rsquo;</TT>
file will be written relative to the current directory, though.
@@ -85,7 +85,7 @@ If <VAR>inputfile</VAR> is <SAMP>&lsquo;-&rsquo;</SAMP>, standard input is read.
</P>
-<H3><A NAME="SEC24" HREF="gettext_toc.html#TOC24">5.1.2 Output file location</A></H3>
+<H3><A NAME="SEC30" HREF="gettext_toc.html#TOC30">5.1.2 Output file location</A></H3>
<DL COMPACT>
@@ -93,16 +93,16 @@ If <VAR>inputfile</VAR> is <SAMP>&lsquo;-&rsquo;</SAMP>, standard input is read.
<DD>
<DT><SAMP>&lsquo;--default-domain=<VAR>name</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX149"></A>
-<A NAME="IDX150"></A>
+<A NAME="IDX160"></A>
+<A NAME="IDX161"></A>
Use <TT>&lsquo;<VAR>name</VAR>.po&rsquo;</TT> for output (instead of <TT>&lsquo;messages.po&rsquo;</TT>).
<DT><SAMP>&lsquo;-o <VAR>file</VAR>&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--output=<VAR>file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX151"></A>
-<A NAME="IDX152"></A>
+<A NAME="IDX162"></A>
+<A NAME="IDX163"></A>
Write output to specified file (instead of <TT>&lsquo;<VAR>name</VAR>.po&rsquo;</TT> or
<TT>&lsquo;messages.po&rsquo;</TT>).
@@ -110,21 +110,21 @@ Write output to specified file (instead of <TT>&lsquo;<VAR>name</VAR>.po&rsquo;<
<DD>
<DT><SAMP>&lsquo;--output-dir=<VAR>dir</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX153"></A>
-<A NAME="IDX154"></A>
+<A NAME="IDX164"></A>
+<A NAME="IDX165"></A>
Output files will be placed in directory <VAR>dir</VAR>.
</DL>
<P>
-<A NAME="IDX155"></A>
+<A NAME="IDX166"></A>
If the output <VAR>file</VAR> is <SAMP>&lsquo;-&rsquo;</SAMP> or <SAMP>&lsquo;/dev/stdout&rsquo;</SAMP>, the output
is written to standard output.
</P>
-<H3><A NAME="SEC25" HREF="gettext_toc.html#TOC25">5.1.3 Choice of input file language</A></H3>
+<H3><A NAME="SEC31" HREF="gettext_toc.html#TOC31">5.1.3 Choice of input file language</A></H3>
<DL COMPACT>
@@ -132,9 +132,9 @@ is written to standard output.
<DD>
<DT><SAMP>&lsquo;--language=<VAR>name</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX156"></A>
-<A NAME="IDX157"></A>
-<A NAME="IDX158"></A>
+<A NAME="IDX167"></A>
+<A NAME="IDX168"></A>
+<A NAME="IDX169"></A>
Specifies the language of the input files. The supported languages
are <CODE>C</CODE>, <CODE>C++</CODE>, <CODE>ObjectiveC</CODE>, <CODE>PO</CODE>, <CODE>Python</CODE>,
<CODE>Lisp</CODE>, <CODE>EmacsLisp</CODE>, <CODE>librep</CODE>, <CODE>Scheme</CODE>, <CODE>Smalltalk</CODE>,
@@ -146,8 +146,8 @@ are <CODE>C</CODE>, <CODE>C++</CODE>, <CODE>ObjectiveC</CODE>, <CODE>PO</CODE>,
<DD>
<DT><SAMP>&lsquo;--c++&rsquo;</SAMP>
<DD>
-<A NAME="IDX159"></A>
-<A NAME="IDX160"></A>
+<A NAME="IDX170"></A>
+<A NAME="IDX171"></A>
This is a shorthand for <CODE>--language=C++</CODE>.
</DL>
@@ -159,13 +159,13 @@ extension.
</P>
-<H3><A NAME="SEC26" HREF="gettext_toc.html#TOC26">5.1.4 Input file interpretation</A></H3>
+<H3><A NAME="SEC32" HREF="gettext_toc.html#TOC32">5.1.4 Input file interpretation</A></H3>
<DL COMPACT>
<DT><SAMP>&lsquo;--from-code=<VAR>name</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX161"></A>
+<A NAME="IDX172"></A>
Specifies the encoding of the input files. This option is needed only
if some untranslated message strings or their corresponding comments
contain non-ASCII characters. Note that Tcl and Glade input files are
@@ -179,7 +179,7 @@ By default the input files are assumed to be in ASCII.
</P>
-<H3><A NAME="SEC27" HREF="gettext_toc.html#TOC27">5.1.5 Operation mode</A></H3>
+<H3><A NAME="SEC33" HREF="gettext_toc.html#TOC33">5.1.5 Operation mode</A></H3>
<DL COMPACT>
@@ -187,16 +187,16 @@ By default the input files are assumed to be in ASCII.
<DD>
<DT><SAMP>&lsquo;--join-existing&rsquo;</SAMP>
<DD>
-<A NAME="IDX162"></A>
-<A NAME="IDX163"></A>
+<A NAME="IDX173"></A>
+<A NAME="IDX174"></A>
Join messages with existing file.
<DT><SAMP>&lsquo;-x <VAR>file</VAR>&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--exclude-file=<VAR>file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX164"></A>
-<A NAME="IDX165"></A>
+<A NAME="IDX175"></A>
+<A NAME="IDX176"></A>
Entries from <VAR>file</VAR> are not extracted. <VAR>file</VAR> should be a PO or
POT file.
@@ -204,8 +204,8 @@ POT file.
<DD>
<DT><SAMP>&lsquo;--add-comments[=<VAR>tag</VAR>]&rsquo;</SAMP>
<DD>
-<A NAME="IDX166"></A>
-<A NAME="IDX167"></A>
+<A NAME="IDX177"></A>
+<A NAME="IDX178"></A>
Place comment block with <VAR>tag</VAR> (or those preceding keyword lines)
in output file.
@@ -213,7 +213,7 @@ in output file.
-<H3><A NAME="SEC28" HREF="gettext_toc.html#TOC28">5.1.6 Language specific options</A></H3>
+<H3><A NAME="SEC34" HREF="gettext_toc.html#TOC34">5.1.6 Language specific options</A></H3>
<DL COMPACT>
@@ -221,8 +221,8 @@ in output file.
<DD>
<DT><SAMP>&lsquo;--extract-all&rsquo;</SAMP>
<DD>
-<A NAME="IDX168"></A>
-<A NAME="IDX169"></A>
+<A NAME="IDX179"></A>
+<A NAME="IDX180"></A>
Extract all strings.
This option has an effect with most languages, namely C, C++, ObjectiveC,
@@ -233,13 +233,13 @@ GCC-source, Glade.
<DD>
<DT><SAMP>&lsquo;--keyword[=<VAR>keywordspec</VAR>]&rsquo;</SAMP>
<DD>
-<A NAME="IDX170"></A>
-<A NAME="IDX171"></A>
+<A NAME="IDX181"></A>
+<A NAME="IDX182"></A>
Additional keyword to be looked for (without <VAR>keywordspec</VAR> means not to
use default keywords).
-<A NAME="IDX172"></A>
-<A NAME="IDX173"></A>
+<A NAME="IDX183"></A>
+<A NAME="IDX184"></A>
If <VAR>keywordspec</VAR> is a C identifier <VAR>id</VAR>, <CODE>xgettext</CODE> looks
for strings in the first argument of each call to the function or macro
<VAR>id</VAR>. If <VAR>keywordspec</VAR> is of the form
@@ -321,12 +321,14 @@ For Scheme: <CODE>gettext</CODE>, <CODE>ngettext:1,2</CODE>, <CODE>gettext-noop<
<LI>
For Java: <CODE>GettextResource.gettext:2</CODE>,
-<CODE>GettextResource.ngettext:2,3</CODE>, <CODE>gettext</CODE>, <CODE>ngettext:1,2</CODE>,
-<CODE>getString</CODE>.
+<CODE>GettextResource.ngettext:2,3</CODE>, <CODE>GettextResource.pgettext:2c,3</CODE>,
+<CODE>GettextResource.npgettext:2c,3,4</CODE>, <CODE>gettext</CODE>, <CODE>ngettext:1,2</CODE>,
+<CODE>pgettext:1c,2</CODE>, <CODE>npgettext:1c,2,3</CODE>, <CODE>getString</CODE>.
<LI>
-For C#: <CODE>GetString</CODE>, <CODE>GetPluralString:1,2</CODE>.
+For C#: <CODE>GetString</CODE>, <CODE>GetPluralString:1,2</CODE>,
+<CODE>GetParticularString:1c,2</CODE>, <CODE>GetParticularPluralString:1c,2,3</CODE>.
<LI>
@@ -359,13 +361,13 @@ used.
<DT><SAMP>&lsquo;--flag=<VAR>word</VAR>:<VAR>arg</VAR>:<VAR>flag</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX174"></A>
+<A NAME="IDX185"></A>
Specifies additional flags for strings occurring as part of the <VAR>arg</VAR>th
argument of the function <VAR>word</VAR>. The possible flags are the possible
format string indicators, such as <SAMP>&lsquo;c-format&rsquo;</SAMP>, and their negations,
such as <SAMP>&lsquo;no-c-format&rsquo;</SAMP>, possibly prefixed with <SAMP>&lsquo;pass-&rsquo;</SAMP>.
<BR>
-<A NAME="IDX175"></A>
+<A NAME="IDX186"></A>
The meaning of <CODE>--flag=<VAR>function</VAR>:<VAR>arg</VAR>:<VAR>lang</VAR>-format</CODE>
is that in language <VAR>lang</VAR>, the specified <VAR>function</VAR> expects as
<VAR>arg</VAR>th argument a format string. (For those of you familiar with
@@ -383,7 +385,7 @@ together with the checks done by <SAMP>&lsquo;msgfmt -c&rsquo;</SAMP> it will en
translators cannot accidentally use format string directives that would
lead to a crash at runtime.
<BR>
-<A NAME="IDX176"></A>
+<A NAME="IDX187"></A>
The meaning of <CODE>--flag=<VAR>function</VAR>:<VAR>arg</VAR>:pass-<VAR>lang</VAR>-format</CODE>
is that in language <VAR>lang</VAR>, if the <VAR>function</VAR> call occurs in a
position that must yield a format string, then its <VAR>arg</VAR>th argument
@@ -410,33 +412,41 @@ GCC-source.
<DD>
<DT><SAMP>&lsquo;--trigraphs&rsquo;</SAMP>
<DD>
-<A NAME="IDX177"></A>
-<A NAME="IDX178"></A>
-<A NAME="IDX179"></A>
+<A NAME="IDX188"></A>
+<A NAME="IDX189"></A>
+<A NAME="IDX190"></A>
Understand ANSI C trigraphs for input.
<BR>
This option has an effect only with the languages C, C++, ObjectiveC.
<DT><SAMP>&lsquo;--qt&rsquo;</SAMP>
<DD>
-<A NAME="IDX180"></A>
-<A NAME="IDX181"></A>
+<A NAME="IDX191"></A>
+<A NAME="IDX192"></A>
Recognize Qt format strings.
<BR>
This option has an effect only with the language C++.
+<DT><SAMP>&lsquo;--kde&rsquo;</SAMP>
+<DD>
+<A NAME="IDX193"></A>
+<A NAME="IDX194"></A>
+Recognize KDE 4 format strings.
+<BR>
+This option has an effect only with the language C++.
+
<DT><SAMP>&lsquo;--boost&rsquo;</SAMP>
<DD>
-<A NAME="IDX182"></A>
-<A NAME="IDX183"></A>
+<A NAME="IDX195"></A>
+<A NAME="IDX196"></A>
Recognize Boost format strings.
<BR>
This option has an effect only with the language C++.
<DT><SAMP>&lsquo;--debug&rsquo;</SAMP>
<DD>
-<A NAME="IDX184"></A>
-<A NAME="IDX185"></A>
+<A NAME="IDX197"></A>
+<A NAME="IDX198"></A>
Use the flags <CODE>c-format</CODE> and <CODE>possible-c-format</CODE> to show who was
responsible for marking a message as a format string. The latter form is
used if the <CODE>xgettext</CODE> program decided, the format form is used if
@@ -455,53 +465,55 @@ adjacent strings, and escaped end of lines for continued strings.
</P>
-<H3><A NAME="SEC29" HREF="gettext_toc.html#TOC29">5.1.7 Output details</A></H3>
+<H3><A NAME="SEC35" HREF="gettext_toc.html#TOC35">5.1.7 Output details</A></H3>
<DL COMPACT>
<DT><SAMP>&lsquo;--force-po&rsquo;</SAMP>
<DD>
-<A NAME="IDX186"></A>
+<A NAME="IDX199"></A>
Always write an output file even if no message is defined.
<DT><SAMP>&lsquo;-i&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--indent&rsquo;</SAMP>
<DD>
-<A NAME="IDX187"></A>
-<A NAME="IDX188"></A>
+<A NAME="IDX200"></A>
+<A NAME="IDX201"></A>
Write the .po file using indented style.
<DT><SAMP>&lsquo;--no-location&rsquo;</SAMP>
<DD>
-<A NAME="IDX189"></A>
-Do not write <SAMP>&lsquo;#: <VAR>filename</VAR>:<VAR>line</VAR>&rsquo;</SAMP> lines.
+<A NAME="IDX202"></A>
+Do not write <SAMP>&lsquo;#: <VAR>filename</VAR>:<VAR>line</VAR>&rsquo;</SAMP> lines. Note that using
+this option makes it harder for technically skilled translators to understand
+each message's context.
<DT><SAMP>&lsquo;-n&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--add-location&rsquo;</SAMP>
<DD>
-<A NAME="IDX190"></A>
-<A NAME="IDX191"></A>
+<A NAME="IDX203"></A>
+<A NAME="IDX204"></A>
Generate <SAMP>&lsquo;#: <VAR>filename</VAR>:<VAR>line</VAR>&rsquo;</SAMP> lines (default).
<DT><SAMP>&lsquo;--strict&rsquo;</SAMP>
<DD>
-<A NAME="IDX192"></A>
+<A NAME="IDX205"></A>
Write out a strict Uniforum conforming PO file. Note that this
Uniforum format should be avoided because it doesn't support the
GNU extensions.
<DT><SAMP>&lsquo;--properties-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX193"></A>
+<A NAME="IDX206"></A>
Write out a Java ResourceBundle in Java <CODE>.properties</CODE> syntax. Note
that this file format doesn't support plural forms and silently drops
obsolete messages.
<DT><SAMP>&lsquo;--stringtable-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX194"></A>
+<A NAME="IDX207"></A>
Write out a NeXTstep/GNUstep localized resource file in <CODE>.strings</CODE> syntax.
Note that this file format doesn't support plural forms.
@@ -509,15 +521,15 @@ Note that this file format doesn't support plural forms.
<DD>
<DT><SAMP>&lsquo;--width=<VAR>number</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX195"></A>
-<A NAME="IDX196"></A>
+<A NAME="IDX208"></A>
+<A NAME="IDX209"></A>
Set the output page width. Long strings in the output files will be
split across multiple lines in order to ensure that each line's width
(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
<DT><SAMP>&lsquo;--no-wrap&rsquo;</SAMP>
<DD>
-<A NAME="IDX197"></A>
+<A NAME="IDX210"></A>
Do not break long message lines. Message lines whose width exceeds the
output page width will not be split into several lines. Only file reference
lines which are wider than the output page width will be split.
@@ -526,9 +538,9 @@ lines which are wider than the output page width will be split.
<DD>
<DT><SAMP>&lsquo;--sort-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX198"></A>
-<A NAME="IDX199"></A>
-<A NAME="IDX200"></A>
+<A NAME="IDX211"></A>
+<A NAME="IDX212"></A>
+<A NAME="IDX213"></A>
Generate sorted output. Note that using this option makes it much harder
for the translator to understand each message's context.
@@ -536,24 +548,27 @@ for the translator to understand each message's context.
<DD>
<DT><SAMP>&lsquo;--sort-by-file&rsquo;</SAMP>
<DD>
-<A NAME="IDX201"></A>
-<A NAME="IDX202"></A>
+<A NAME="IDX214"></A>
+<A NAME="IDX215"></A>
Sort output by file location.
<DT><SAMP>&lsquo;--omit-header&rsquo;</SAMP>
<DD>
-<A NAME="IDX203"></A>
+<A NAME="IDX216"></A>
Don't write header with <SAMP>&lsquo;msgid ""&rsquo;</SAMP> entry.
-<A NAME="IDX204"></A>
+<A NAME="IDX217"></A>
This is useful for testing purposes because it eliminates a source
of variance for generated <CODE>.gmo</CODE> files. With <CODE>--omit-header</CODE>,
two invocations of <CODE>xgettext</CODE> on the same files with the same
options at different times are guaranteed to produce the same results.
+Note that using this option will lead to an error if the resulting file
+would not entirely be in ASCII.
+
<DT><SAMP>&lsquo;--copyright-holder=<VAR>string</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX205"></A>
+<A NAME="IDX218"></A>
Set the copyright holder in the output. <VAR>string</VAR> should be the
copyright holder of the surrounding package. (Note that the msgstr
strings, extracted from the package's sources, belong to the copyright
@@ -569,14 +584,25 @@ simply because <CODE>xgettext</CODE> was first used in the GNU project.
<DT><SAMP>&lsquo;--foreign-user&rsquo;</SAMP>
<DD>
-<A NAME="IDX206"></A>
+<A NAME="IDX219"></A>
Omit FSF copyright in output. This option is equivalent to
<SAMP>&lsquo;--copyright-holder=â€&rsquo;</SAMP>. It can be useful for packages outside the GNU
project that want their translations to be in the public domain.
+<DT><SAMP>&lsquo;--package-name=<VAR>package</VAR>&rsquo;</SAMP>
+<DD>
+<A NAME="IDX220"></A>
+Set the package name in the header of the output.
+
+<DT><SAMP>&lsquo;--package-version=<VAR>version</VAR>&rsquo;</SAMP>
+<DD>
+<A NAME="IDX221"></A>
+Set the package version in the header of the output. This option has an
+effect only if the <SAMP>&lsquo;--package-name&rsquo;</SAMP> option is also used.
+
<DT><SAMP>&lsquo;--msgid-bugs-address=<VAR>email@address</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX207"></A>
+<A NAME="IDX222"></A>
Set the reporting address for msgid bugs. This is the email address or URL
to which the translators shall report bugs in the untranslated strings:
@@ -584,7 +610,7 @@ to which the translators shall report bugs in the untranslated strings:
<UL>
<LI>Strings which are not entire sentences, see the maintainer guidelines
-in section <A HREF="gettext_4.html#SEC14">4.3 Preparing Translatable Strings</A>.
+in section <A HREF="gettext_4.html#SEC19">4.3 Preparing Translatable Strings</A>.
<LI>Strings which use unclear terms or require additional context to be
understood.
@@ -610,23 +636,23 @@ Don't forget to specify this option.
<DD>
<DT><SAMP>&lsquo;--msgstr-prefix[=<VAR>string</VAR>]&rsquo;</SAMP>
<DD>
-<A NAME="IDX208"></A>
-<A NAME="IDX209"></A>
+<A NAME="IDX223"></A>
+<A NAME="IDX224"></A>
Use <VAR>string</VAR> (or "" if not specified) as prefix for msgstr entries.
<DT><SAMP>&lsquo;-M [<VAR>string</VAR>]&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--msgstr-suffix[=<VAR>string</VAR>]&rsquo;</SAMP>
<DD>
-<A NAME="IDX210"></A>
-<A NAME="IDX211"></A>
+<A NAME="IDX225"></A>
+<A NAME="IDX226"></A>
Use <VAR>string</VAR> (or "" if not specified) as suffix for msgstr entries.
</DL>
-<H3><A NAME="SEC30" HREF="gettext_toc.html#TOC30">5.1.8 Informative output</A></H3>
+<H3><A NAME="SEC36" HREF="gettext_toc.html#TOC36">5.1.8 Informative output</A></H3>
<DL COMPACT>
@@ -634,16 +660,16 @@ Use <VAR>string</VAR> (or "" if not specified) as suffix for msgstr entries.
<DD>
<DT><SAMP>&lsquo;--help&rsquo;</SAMP>
<DD>
-<A NAME="IDX212"></A>
-<A NAME="IDX213"></A>
+<A NAME="IDX227"></A>
+<A NAME="IDX228"></A>
Display this help and exit.
<DT><SAMP>&lsquo;-V&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--version&rsquo;</SAMP>
<DD>
-<A NAME="IDX214"></A>
-<A NAME="IDX215"></A>
+<A NAME="IDX229"></A>
+<A NAME="IDX230"></A>
Output version information and exit.
</DL>
diff --git a/gettext-tools/doc/gettext_6.html b/gettext-tools/doc/gettext_6.html
index 69fd386..96b34c9 100644
--- a/gettext-tools/doc/gettext_6.html
+++ b/gettext-tools/doc/gettext_6.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 25 October 2006 -->
+ from gettext.texi on 4 November 2007 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - 6 Creating a New PO File</TITLE>
@@ -11,9 +11,9 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_5.html">previous<
<P><HR><P>
-<H1><A NAME="SEC31" HREF="gettext_toc.html#TOC31">6 Creating a New PO File</A></H1>
+<H1><A NAME="SEC37" HREF="gettext_toc.html#TOC37">6 Creating a New PO File</A></H1>
<P>
-<A NAME="IDX216"></A>
+<A NAME="IDX231"></A>
</P>
<P>
@@ -45,26 +45,26 @@ the header entry of this file.
-<H2><A NAME="SEC32" HREF="gettext_toc.html#TOC32">6.1 Invoking the <CODE>msginit</CODE> Program</A></H2>
+<H2><A NAME="SEC38" HREF="gettext_toc.html#TOC38">6.1 Invoking the <CODE>msginit</CODE> Program</A></H2>
<P>
-<A NAME="IDX217"></A>
-<A NAME="IDX218"></A>
+<A NAME="IDX232"></A>
+<A NAME="IDX233"></A>
<PRE>
msginit [<VAR>option</VAR>]
</PRE>
<P>
-<A NAME="IDX219"></A>
-<A NAME="IDX220"></A>
+<A NAME="IDX234"></A>
+<A NAME="IDX235"></A>
The <CODE>msginit</CODE> program creates a new PO file, initializing the meta
information with values from the user's environment.
</P>
-<H3><A NAME="SEC33" HREF="gettext_toc.html#TOC33">6.1.1 Input file location</A></H3>
+<H3><A NAME="SEC39" HREF="gettext_toc.html#TOC39">6.1.1 Input file location</A></H3>
<DL COMPACT>
@@ -72,8 +72,8 @@ information with values from the user's environment.
<DD>
<DT><SAMP>&lsquo;--input=<VAR>inputfile</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX221"></A>
-<A NAME="IDX222"></A>
+<A NAME="IDX236"></A>
+<A NAME="IDX237"></A>
Input POT file.
</DL>
@@ -85,7 +85,7 @@ POT file. If it is <SAMP>&lsquo;-&rsquo;</SAMP>, standard input is read.
</P>
-<H3><A NAME="SEC34" HREF="gettext_toc.html#TOC34">6.1.2 Output file location</A></H3>
+<H3><A NAME="SEC40" HREF="gettext_toc.html#TOC40">6.1.2 Output file location</A></H3>
<DL COMPACT>
@@ -93,8 +93,8 @@ POT file. If it is <SAMP>&lsquo;-&rsquo;</SAMP>, standard input is read.
<DD>
<DT><SAMP>&lsquo;--output-file=<VAR>file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX223"></A>
-<A NAME="IDX224"></A>
+<A NAME="IDX238"></A>
+<A NAME="IDX239"></A>
Write output to specified PO file.
</DL>
@@ -107,7 +107,7 @@ standard output.
</P>
-<H3><A NAME="SEC35" HREF="gettext_toc.html#TOC35">6.1.3 Input file syntax</A></H3>
+<H3><A NAME="SEC41" HREF="gettext_toc.html#TOC41">6.1.3 Input file syntax</A></H3>
<DL COMPACT>
@@ -115,14 +115,14 @@ standard output.
<DD>
<DT><SAMP>&lsquo;--properties-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX225"></A>
-<A NAME="IDX226"></A>
+<A NAME="IDX240"></A>
+<A NAME="IDX241"></A>
Assume the input file is a Java ResourceBundle in Java <CODE>.properties</CODE>
syntax, not in PO file syntax.
<DT><SAMP>&lsquo;--stringtable-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX227"></A>
+<A NAME="IDX242"></A>
Assume the input file is a NeXTstep/GNUstep localized resource file in
<CODE>.strings</CODE> syntax, not in PO file syntax.
@@ -130,7 +130,7 @@ Assume the input file is a NeXTstep/GNUstep localized resource file in
-<H3><A NAME="SEC36" HREF="gettext_toc.html#TOC36">6.1.4 Output details</A></H3>
+<H3><A NAME="SEC42" HREF="gettext_toc.html#TOC42">6.1.4 Output details</A></H3>
<DL COMPACT>
@@ -138,15 +138,15 @@ Assume the input file is a NeXTstep/GNUstep localized resource file in
<DD>
<DT><SAMP>&lsquo;--locale=<VAR>ll_CC</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX228"></A>
-<A NAME="IDX229"></A>
+<A NAME="IDX243"></A>
+<A NAME="IDX244"></A>
Set target locale. <VAR>ll</VAR> should be a language code, and <VAR>CC</VAR> should
be a country code. The command <SAMP>&lsquo;locale -a&rsquo;</SAMP> can be used to output a list
of all installed locales. The default is the user's locale setting.
<DT><SAMP>&lsquo;--no-translator&rsquo;</SAMP>
<DD>
-<A NAME="IDX230"></A>
+<A NAME="IDX245"></A>
Declares that the PO file will not have a human translator and is instead
automatically generated.
@@ -154,15 +154,15 @@ automatically generated.
<DD>
<DT><SAMP>&lsquo;--properties-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX231"></A>
-<A NAME="IDX232"></A>
+<A NAME="IDX246"></A>
+<A NAME="IDX247"></A>
Write out a Java ResourceBundle in Java <CODE>.properties</CODE> syntax. Note
that this file format doesn't support plural forms and silently drops
obsolete messages.
<DT><SAMP>&lsquo;--stringtable-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX233"></A>
+<A NAME="IDX248"></A>
Write out a NeXTstep/GNUstep localized resource file in <CODE>.strings</CODE> syntax.
Note that this file format doesn't support plural forms.
@@ -170,15 +170,15 @@ Note that this file format doesn't support plural forms.
<DD>
<DT><SAMP>&lsquo;--width=<VAR>number</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX234"></A>
-<A NAME="IDX235"></A>
+<A NAME="IDX249"></A>
+<A NAME="IDX250"></A>
Set the output page width. Long strings in the output files will be
split across multiple lines in order to ensure that each line's width
(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
<DT><SAMP>&lsquo;--no-wrap&rsquo;</SAMP>
<DD>
-<A NAME="IDX236"></A>
+<A NAME="IDX251"></A>
Do not break long message lines. Message lines whose width exceeds the
output page width will not be split into several lines. Only file reference
lines which are wider than the output page width will be split.
@@ -187,7 +187,7 @@ lines which are wider than the output page width will be split.
-<H3><A NAME="SEC37" HREF="gettext_toc.html#TOC37">6.1.5 Informative output</A></H3>
+<H3><A NAME="SEC43" HREF="gettext_toc.html#TOC43">6.1.5 Informative output</A></H3>
<DL COMPACT>
@@ -195,25 +195,25 @@ lines which are wider than the output page width will be split.
<DD>
<DT><SAMP>&lsquo;--help&rsquo;</SAMP>
<DD>
-<A NAME="IDX237"></A>
-<A NAME="IDX238"></A>
+<A NAME="IDX252"></A>
+<A NAME="IDX253"></A>
Display this help and exit.
<DT><SAMP>&lsquo;-V&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--version&rsquo;</SAMP>
<DD>
-<A NAME="IDX239"></A>
-<A NAME="IDX240"></A>
+<A NAME="IDX254"></A>
+<A NAME="IDX255"></A>
Output version information and exit.
</DL>
-<H2><A NAME="SEC38" HREF="gettext_toc.html#TOC38">6.2 Filling in the Header Entry</A></H2>
+<H2><A NAME="SEC44" HREF="gettext_toc.html#TOC44">6.2 Filling in the Header Entry</A></H2>
<P>
-<A NAME="IDX241"></A>
+<A NAME="IDX256"></A>
</P>
<P>
@@ -234,7 +234,8 @@ entry. You should fill in the following fields.
<DT>Project-Id-Version
<DD>
-This is the name and version of the package.
+This is the name and version of the package. Fill it in if it has not
+already been filled in by <CODE>xgettext</CODE>.
<DT>Report-Msgid-Bugs-To
<DD>
@@ -245,7 +246,7 @@ address or URL where you can report bugs in the untranslated strings:
<UL>
<LI>Strings which are not entire sentences, see the maintainer guidelines
-in section <A HREF="gettext_4.html#SEC14">4.3 Preparing Translatable Strings</A>.
+in section <A HREF="gettext_4.html#SEC19">4.3 Preparing Translatable Strings</A>.
<LI>Strings which use unclear terms or require additional context to be
understood.
@@ -282,22 +283,22 @@ Before starting a translation, it is a good idea to get in touch with
your translation team, not only to make sure you don't do duplicated work,
but also to coordinate difficult linguistic issues.
-<A NAME="IDX242"></A>
+<A NAME="IDX257"></A>
In the Free Translation Project, each translation team has its own mailing
list. The up-to-date list of teams can be found at the Free Translation
-Project's homepage, <A HREF="http://www.iro.umontreal.ca/contrib/po/HTML/">http://www.iro.umontreal.ca/contrib/po/HTML/</A>,
-in the "National teams" area.
+Project's homepage, <A HREF="http://translationproject.org/">http://translationproject.org/</A>, in the "Teams"
+area.
<DT>Content-Type
<DD>
-<A NAME="IDX243"></A>
-<A NAME="IDX244"></A>
+<A NAME="IDX258"></A>
+<A NAME="IDX259"></A>
Replace <SAMP>&lsquo;CHARSET&rsquo;</SAMP> with the character encoding used for your language,
in your locale, or UTF-8. This field is needed for correct operation of the
<CODE>msgmerge</CODE> and <CODE>msgfmt</CODE> programs, as well as for users whose
-locale's character encoding differs from yours (see section <A HREF="gettext_11.html#SEC172">11.2.4 How to specify the output character set <CODE>gettext</CODE> uses</A>).
+locale's character encoding differs from yours (see section <A HREF="gettext_11.html#SEC186">11.2.4 How to specify the output character set <CODE>gettext</CODE> uses</A>).
-<A NAME="IDX245"></A>
+<A NAME="IDX260"></A>
You get the character encoding of your locale by running the shell command
<SAMP>&lsquo;locale charmap&rsquo;</SAMP>. If the result is <SAMP>&lsquo;C&rsquo;</SAMP> or <SAMP>&lsquo;ANSI_X3.4-1968&rsquo;</SAMP>,
which is equivalent to <SAMP>&lsquo;ASCII&rsquo;</SAMP> (= <SAMP>&lsquo;US-ASCII&rsquo;</SAMP>), it means that your
@@ -305,7 +306,7 @@ locale is not correctly configured. In this case, ask your translation
team which charset to use. <SAMP>&lsquo;ASCII&rsquo;</SAMP> is not usable for any language
except Latin.
-<A NAME="IDX246"></A>
+<A NAME="IDX261"></A>
Because the PO files must be portable to operating systems with less advanced
internationalization facilities, the character encodings that can be used
are limited to those supported by both GNU <CODE>libc</CODE> and GNU
@@ -322,11 +323,11 @@ are limited to those supported by both GNU <CODE>libc</CODE> and GNU
<CODE>BIG5</CODE>, <CODE>BIG5-HKSCS</CODE>, <CODE>GBK</CODE>, <CODE>GB18030</CODE>, <CODE>SHIFT_JIS</CODE>,
<CODE>JOHAB</CODE>, <CODE>TIS-620</CODE>, <CODE>VISCII</CODE>, <CODE>GEORGIAN-PS</CODE>, <CODE>UTF-8</CODE>.
-<A NAME="IDX247"></A>
+<A NAME="IDX262"></A>
In the GNU system, the following encodings are frequently used for the
corresponding languages.
-<A NAME="IDX248"></A>
+<A NAME="IDX263"></A>
<UL>
<LI><CODE>ISO-8859-1</CODE> for
@@ -386,8 +387,8 @@ for traditional writing of Chinese,
</UL>
-<A NAME="IDX249"></A>
-<A NAME="IDX250"></A>
+<A NAME="IDX264"></A>
+<A NAME="IDX265"></A>
When single quote characters or double quote characters are used in
translations for your language, and your locale's encoding is one of the
ISO-8859-* charsets, it is best if you create your PO files in UTF-8
@@ -399,7 +400,7 @@ real quote characters, whereas users in ISO-8859-* locales will see the
vertical apostrophe and the vertical double quote instead (because that's
what the character set conversion will transliterate them to).
-<A NAME="IDX251"></A>
+<A NAME="IDX266"></A>
To enter such quote characters under X11, you can change your keyboard
mapping using the <CODE>xmodmap</CODE> program. The X11 names of the quote
characters are "leftsinglequotemark", "rightsinglequotemark",
@@ -421,7 +422,7 @@ Set this to <CODE>8bit</CODE>.
<DD>
This field is optional. It is only needed if the PO file has plural forms.
You can find them by searching for the <SAMP>&lsquo;msgid_plural&rsquo;</SAMP> keyword. The
-format of the plural forms field is described in section <A HREF="gettext_11.html#SEC174">11.2.6 Additional functions for plural forms</A>.
+format of the plural forms field is described in section <A HREF="gettext_11.html#SEC188">11.2.6 Additional functions for plural forms</A>.
</DL>
<P><HR><P>
diff --git a/gettext-tools/doc/gettext_7.html b/gettext-tools/doc/gettext_7.html
index 8c11944..8c5dad4 100644
--- a/gettext-tools/doc/gettext_7.html
+++ b/gettext-tools/doc/gettext_7.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 25 October 2006 -->
+ from gettext.texi on 4 November 2007 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - 7 Updating Existing PO Files</TITLE>
@@ -11,15 +11,15 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_6.html">previous<
<P><HR><P>
-<H1><A NAME="SEC39" HREF="gettext_toc.html#TOC39">7 Updating Existing PO Files</A></H1>
+<H1><A NAME="SEC45" HREF="gettext_toc.html#TOC45">7 Updating Existing PO Files</A></H1>
-<H2><A NAME="SEC40" HREF="gettext_toc.html#TOC40">7.1 Invoking the <CODE>msgmerge</CODE> Program</A></H2>
+<H2><A NAME="SEC46" HREF="gettext_toc.html#TOC46">7.1 Invoking the <CODE>msgmerge</CODE> Program</A></H2>
<P>
-<A NAME="IDX252"></A>
-<A NAME="IDX253"></A>
+<A NAME="IDX267"></A>
+<A NAME="IDX268"></A>
<PRE>
msgmerge [<VAR>option</VAR>] <VAR>def</VAR>.po <VAR>ref</VAR>.pot
@@ -40,7 +40,7 @@ is used to produce better results.
</P>
-<H3><A NAME="SEC41" HREF="gettext_toc.html#TOC41">7.1.1 Input file location</A></H3>
+<H3><A NAME="SEC47" HREF="gettext_toc.html#TOC47">7.1.1 Input file location</A></H3>
<DL COMPACT>
@@ -56,8 +56,8 @@ References to the new sources.
<DD>
<DT><SAMP>&lsquo;--directory=<VAR>directory</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX254"></A>
-<A NAME="IDX255"></A>
+<A NAME="IDX269"></A>
+<A NAME="IDX270"></A>
Add <VAR>directory</VAR> to the list of directories. Source files are
searched relative to this list of directories. The resulting <TT>&lsquo;.po&rsquo;</TT>
file will be written relative to the current directory, though.
@@ -66,16 +66,16 @@ file will be written relative to the current directory, though.
<DD>
<DT><SAMP>&lsquo;--compendium=<VAR>file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX256"></A>
-<A NAME="IDX257"></A>
-Specify an additional library of message translations. See section <A HREF="gettext_8.html#SEC66">8.3.14 Using Translation Compendia</A>.
+<A NAME="IDX271"></A>
+<A NAME="IDX272"></A>
+Specify an additional library of message translations. See section <A HREF="gettext_8.html#SEC72">8.4 Using Translation Compendia</A>.
This option may be specified more than once.
</DL>
-<H3><A NAME="SEC42" HREF="gettext_toc.html#TOC42">7.1.2 Operation mode</A></H3>
+<H3><A NAME="SEC48" HREF="gettext_toc.html#TOC48">7.1.2 Operation mode</A></H3>
<DL COMPACT>
@@ -83,15 +83,15 @@ This option may be specified more than once.
<DD>
<DT><SAMP>&lsquo;--update&rsquo;</SAMP>
<DD>
-<A NAME="IDX258"></A>
-<A NAME="IDX259"></A>
+<A NAME="IDX273"></A>
+<A NAME="IDX274"></A>
Update <VAR>def</VAR>.po. Do nothing if <VAR>def</VAR>.po is already up to date.
</DL>
-<H3><A NAME="SEC43" HREF="gettext_toc.html#TOC43">7.1.3 Output file location</A></H3>
+<H3><A NAME="SEC49" HREF="gettext_toc.html#TOC49">7.1.3 Output file location</A></H3>
<DL COMPACT>
@@ -99,21 +99,21 @@ Update <VAR>def</VAR>.po. Do nothing if <VAR>def</VAR>.po is already up to date
<DD>
<DT><SAMP>&lsquo;--output-file=<VAR>file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX260"></A>
-<A NAME="IDX261"></A>
+<A NAME="IDX275"></A>
+<A NAME="IDX276"></A>
Write output to specified file.
</DL>
<P>
-<A NAME="IDX262"></A>
+<A NAME="IDX277"></A>
The results are written to standard output if no output file is specified
or if it is <SAMP>&lsquo;-&rsquo;</SAMP>.
</P>
-<H3><A NAME="SEC44" HREF="gettext_toc.html#TOC44">7.1.4 Output file location in update mode</A></H3>
+<H3><A NAME="SEC50" HREF="gettext_toc.html#TOC50">7.1.4 Output file location in update mode</A></H3>
<P>
The result is written back to <VAR>def</VAR>.po.
@@ -123,19 +123,19 @@ The result is written back to <VAR>def</VAR>.po.
<DT><SAMP>&lsquo;--backup=<VAR>control</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX263"></A>
-<A NAME="IDX264"></A>
+<A NAME="IDX278"></A>
+<A NAME="IDX279"></A>
Make a backup of <VAR>def</VAR>.po
<DT><SAMP>&lsquo;--suffix=<VAR>suffix</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX265"></A>
+<A NAME="IDX280"></A>
Override the usual backup suffix.
</DL>
<P>
-<A NAME="IDX266"></A>
+<A NAME="IDX281"></A>
The version control method may be selected via the <CODE>--backup</CODE> option
or through the <CODE>VERSION_CONTROL</CODE> environment variable. Here are the
values:
@@ -177,7 +177,7 @@ The backup suffix is <SAMP>&lsquo;~&rsquo;</SAMP>, unless set with <CODE>--suffi
</P>
-<H3><A NAME="SEC45" HREF="gettext_toc.html#TOC45">7.1.5 Operation modifiers</A></H3>
+<H3><A NAME="SEC51" HREF="gettext_toc.html#TOC51">7.1.5 Operation modifiers</A></H3>
<DL COMPACT>
@@ -185,29 +185,29 @@ The backup suffix is <SAMP>&lsquo;~&rsquo;</SAMP>, unless set with <CODE>--suffi
<DD>
<DT><SAMP>&lsquo;--multi-domain&rsquo;</SAMP>
<DD>
-<A NAME="IDX267"></A>
-<A NAME="IDX268"></A>
+<A NAME="IDX282"></A>
+<A NAME="IDX283"></A>
Apply <VAR>ref</VAR>.pot to each of the domains in <VAR>def</VAR>.po.
<DT><SAMP>&lsquo;-N&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--no-fuzzy-matching&rsquo;</SAMP>
<DD>
-<A NAME="IDX269"></A>
-<A NAME="IDX270"></A>
+<A NAME="IDX284"></A>
+<A NAME="IDX285"></A>
Do not use fuzzy matching when an exact match is not found. This may speed
up the operation considerably.
<DT><SAMP>&lsquo;--previous&rsquo;</SAMP>
<DD>
-<A NAME="IDX271"></A>
+<A NAME="IDX286"></A>
Keep the previous msgids of translated messages, marked with <SAMP>&lsquo;#|&rsquo;</SAMP>, when
adding the fuzzy marker to such messages.
</DL>
-<H3><A NAME="SEC46" HREF="gettext_toc.html#TOC46">7.1.6 Input file syntax</A></H3>
+<H3><A NAME="SEC52" HREF="gettext_toc.html#TOC52">7.1.6 Input file syntax</A></H3>
<DL COMPACT>
@@ -215,14 +215,14 @@ adding the fuzzy marker to such messages.
<DD>
<DT><SAMP>&lsquo;--properties-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX272"></A>
-<A NAME="IDX273"></A>
+<A NAME="IDX287"></A>
+<A NAME="IDX288"></A>
Assume the input files are Java ResourceBundles in Java <CODE>.properties</CODE>
syntax, not in PO file syntax.
<DT><SAMP>&lsquo;--stringtable-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX274"></A>
+<A NAME="IDX289"></A>
Assume the input files are NeXTstep/GNUstep localized resource files in
<CODE>.strings</CODE> syntax, not in PO file syntax.
@@ -230,36 +230,36 @@ Assume the input files are NeXTstep/GNUstep localized resource files in
-<H3><A NAME="SEC47" HREF="gettext_toc.html#TOC47">7.1.7 Output details</A></H3>
+<H3><A NAME="SEC53" HREF="gettext_toc.html#TOC53">7.1.7 Output details</A></H3>
<DL COMPACT>
<DT><SAMP>&lsquo;--force-po&rsquo;</SAMP>
<DD>
-<A NAME="IDX275"></A>
+<A NAME="IDX290"></A>
Always write an output file even if it contains no message.
<DT><SAMP>&lsquo;-i&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--indent&rsquo;</SAMP>
<DD>
-<A NAME="IDX276"></A>
-<A NAME="IDX277"></A>
+<A NAME="IDX291"></A>
+<A NAME="IDX292"></A>
Write the .po file using indented style.
<DT><SAMP>&lsquo;--no-location&rsquo;</SAMP>
<DD>
-<A NAME="IDX278"></A>
+<A NAME="IDX293"></A>
Do not write <SAMP>&lsquo;#: <VAR>filename</VAR>:<VAR>line</VAR>&rsquo;</SAMP> lines.
<DT><SAMP>&lsquo;--add-location&rsquo;</SAMP>
<DD>
-<A NAME="IDX279"></A>
+<A NAME="IDX294"></A>
Generate <SAMP>&lsquo;#: <VAR>filename</VAR>:<VAR>line</VAR>&rsquo;</SAMP> lines (default).
<DT><SAMP>&lsquo;--strict&rsquo;</SAMP>
<DD>
-<A NAME="IDX280"></A>
+<A NAME="IDX295"></A>
Write out a strict Uniforum conforming PO file. Note that this
Uniforum format should be avoided because it doesn't support the
GNU extensions.
@@ -268,15 +268,15 @@ GNU extensions.
<DD>
<DT><SAMP>&lsquo;--properties-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX281"></A>
-<A NAME="IDX282"></A>
+<A NAME="IDX296"></A>
+<A NAME="IDX297"></A>
Write out a Java ResourceBundle in Java <CODE>.properties</CODE> syntax. Note
that this file format doesn't support plural forms and silently drops
obsolete messages.
<DT><SAMP>&lsquo;--stringtable-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX283"></A>
+<A NAME="IDX298"></A>
Write out a NeXTstep/GNUstep localized resource file in <CODE>.strings</CODE> syntax.
Note that this file format doesn't support plural forms.
@@ -284,15 +284,15 @@ Note that this file format doesn't support plural forms.
<DD>
<DT><SAMP>&lsquo;--width=<VAR>number</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX284"></A>
-<A NAME="IDX285"></A>
+<A NAME="IDX299"></A>
+<A NAME="IDX300"></A>
Set the output page width. Long strings in the output files will be
split across multiple lines in order to ensure that each line's width
(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
<DT><SAMP>&lsquo;--no-wrap&rsquo;</SAMP>
<DD>
-<A NAME="IDX286"></A>
+<A NAME="IDX301"></A>
Do not break long message lines. Message lines whose width exceeds the
output page width will not be split into several lines. Only file reference
lines which are wider than the output page width will be split.
@@ -301,9 +301,9 @@ lines which are wider than the output page width will be split.
<DD>
<DT><SAMP>&lsquo;--sort-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX287"></A>
-<A NAME="IDX288"></A>
-<A NAME="IDX289"></A>
+<A NAME="IDX302"></A>
+<A NAME="IDX303"></A>
+<A NAME="IDX304"></A>
Generate sorted output. Note that using this option makes it much harder
for the translator to understand each message's context.
@@ -311,15 +311,15 @@ for the translator to understand each message's context.
<DD>
<DT><SAMP>&lsquo;--sort-by-file&rsquo;</SAMP>
<DD>
-<A NAME="IDX290"></A>
-<A NAME="IDX291"></A>
+<A NAME="IDX305"></A>
+<A NAME="IDX306"></A>
Sort output by file location.
</DL>
-<H3><A NAME="SEC48" HREF="gettext_toc.html#TOC48">7.1.8 Informative output</A></H3>
+<H3><A NAME="SEC54" HREF="gettext_toc.html#TOC54">7.1.8 Informative output</A></H3>
<DL COMPACT>
@@ -327,24 +327,24 @@ Sort output by file location.
<DD>
<DT><SAMP>&lsquo;--help&rsquo;</SAMP>
<DD>
-<A NAME="IDX292"></A>
-<A NAME="IDX293"></A>
+<A NAME="IDX307"></A>
+<A NAME="IDX308"></A>
Display this help and exit.
<DT><SAMP>&lsquo;-V&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--version&rsquo;</SAMP>
<DD>
-<A NAME="IDX294"></A>
-<A NAME="IDX295"></A>
+<A NAME="IDX309"></A>
+<A NAME="IDX310"></A>
Output version information and exit.
<DT><SAMP>&lsquo;-v&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--verbose&rsquo;</SAMP>
<DD>
-<A NAME="IDX296"></A>
-<A NAME="IDX297"></A>
+<A NAME="IDX311"></A>
+<A NAME="IDX312"></A>
Increase verbosity level.
<DT><SAMP>&lsquo;-q&rsquo;</SAMP>
@@ -353,9 +353,9 @@ Increase verbosity level.
<DD>
<DT><SAMP>&lsquo;--silent&rsquo;</SAMP>
<DD>
-<A NAME="IDX298"></A>
-<A NAME="IDX299"></A>
-<A NAME="IDX300"></A>
+<A NAME="IDX313"></A>
+<A NAME="IDX314"></A>
+<A NAME="IDX315"></A>
Suppress progress indicators.
</DL>
diff --git a/gettext-tools/doc/gettext_8.html b/gettext-tools/doc/gettext_8.html
index 1baa1ba..09651a5 100644
--- a/gettext-tools/doc/gettext_8.html
+++ b/gettext-tools/doc/gettext_8.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 25 October 2006 -->
+ from gettext.texi on 4 November 2007 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - 8 Editing PO Files</TITLE>
@@ -11,31 +11,31 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_7.html">previous<
<P><HR><P>
-<H1><A NAME="SEC49" HREF="gettext_toc.html#TOC49">8 Editing PO Files</A></H1>
+<H1><A NAME="SEC55" HREF="gettext_toc.html#TOC55">8 Editing PO Files</A></H1>
<P>
-<A NAME="IDX301"></A>
+<A NAME="IDX316"></A>
</P>
-<H2><A NAME="SEC50" HREF="gettext_toc.html#TOC50">8.1 KDE's PO File Editor</A></H2>
+<H2><A NAME="SEC56" HREF="gettext_toc.html#TOC56">8.1 KDE's PO File Editor</A></H2>
<P>
-<A NAME="IDX302"></A>
+<A NAME="IDX317"></A>
</P>
-<H2><A NAME="SEC51" HREF="gettext_toc.html#TOC51">8.2 GNOME's PO File Editor</A></H2>
+<H2><A NAME="SEC57" HREF="gettext_toc.html#TOC57">8.2 GNOME's PO File Editor</A></H2>
<P>
-<A NAME="IDX303"></A>
+<A NAME="IDX318"></A>
</P>
-<H2><A NAME="SEC52" HREF="gettext_toc.html#TOC52">8.3 Emacs's PO File Editor</A></H2>
+<H2><A NAME="SEC58" HREF="gettext_toc.html#TOC58">8.3 Emacs's PO File Editor</A></H2>
<P>
-<A NAME="IDX304"></A>
+<A NAME="IDX319"></A>
</P>
@@ -53,19 +53,19 @@ with easy repositioning to PO file lines showing errors.
</P>
<P>
For the beginning, besides main PO mode commands
-(see section <A HREF="gettext_8.html#SEC54">8.3.2 Main PO mode Commands</A>), you should know how to move between entries
-(see section <A HREF="gettext_8.html#SEC55">8.3.3 Entry Positioning</A>), and how to handle untranslated entries
-(see section <A HREF="gettext_8.html#SEC59">8.3.7 Untranslated Entries</A>).
+(see section <A HREF="gettext_8.html#SEC60">8.3.2 Main PO mode Commands</A>), you should know how to move between entries
+(see section <A HREF="gettext_8.html#SEC61">8.3.3 Entry Positioning</A>), and how to handle untranslated entries
+(see section <A HREF="gettext_8.html#SEC65">8.3.7 Untranslated Entries</A>).
</P>
-<H3><A NAME="SEC53" HREF="gettext_toc.html#TOC53">8.3.1 Completing GNU <CODE>gettext</CODE> Installation</A></H3>
+<H3><A NAME="SEC59" HREF="gettext_toc.html#TOC59">8.3.1 Completing GNU <CODE>gettext</CODE> Installation</A></H3>
<P>
-<A NAME="IDX305"></A>
-<A NAME="IDX306"></A>
+<A NAME="IDX320"></A>
+<A NAME="IDX321"></A>
Once you have received, unpacked, configured and compiled the GNU
<CODE>gettext</CODE> distribution, the <SAMP>&lsquo;make install&rsquo;</SAMP> command puts in
place the programs <CODE>xgettext</CODE>, <CODE>msgfmt</CODE>, <CODE>gettext</CODE>, and
@@ -75,8 +75,8 @@ PO mode available to your Emacs users.
</P>
<P>
-<A NAME="IDX307"></A>
-<A NAME="IDX308"></A>
+<A NAME="IDX322"></A>
+<A NAME="IDX323"></A>
During the installation of the PO mode, you might want to modify your
file <TT>&lsquo;.emacs&rsquo;</TT>, once and for all, so it contains a few lines looking
like:
@@ -123,13 +123,13 @@ button 1).
</P>
-<H3><A NAME="SEC54" HREF="gettext_toc.html#TOC54">8.3.2 Main PO mode Commands</A></H3>
+<H3><A NAME="SEC60" HREF="gettext_toc.html#TOC60">8.3.2 Main PO mode Commands</A></H3>
<P>
-<A NAME="IDX309"></A>
-<A NAME="IDX310"></A>
+<A NAME="IDX324"></A>
+<A NAME="IDX325"></A>
After setting up Emacs with something similar to the lines in
-section <A HREF="gettext_8.html#SEC53">8.3.1 Completing GNU <CODE>gettext</CODE> Installation</A>, PO mode is activated for a window when Emacs finds a
+section <A HREF="gettext_8.html#SEC59">8.3.1 Completing GNU <CODE>gettext</CODE> Installation</A>, PO mode is activated for a window when Emacs finds a
PO file in that window. This puts the window read-only and establishes a
po-mode-map, which is a genuine Emacs mode, in a way that is not derived
from text mode in any way. Functions found on <CODE>po-mode-hook</CODE>,
@@ -141,9 +141,9 @@ When PO mode is active in a window, the letters <SAMP>&lsquo;PO&rsquo;</SAMP> ap
in the mode line for that window. The mode line also displays how
many entries of each kind are held in the PO file. For example,
the string <SAMP>&lsquo;132t+3f+10u+2o&rsquo;</SAMP> would tell the translator that the
-PO mode contains 132 translated entries (see section <A HREF="gettext_8.html#SEC57">8.3.5 Translated Entries</A>,
-3 fuzzy entries (see section <A HREF="gettext_8.html#SEC58">8.3.6 Fuzzy Entries</A>), 10 untranslated entries
-(see section <A HREF="gettext_8.html#SEC59">8.3.7 Untranslated Entries</A>) and 2 obsolete entries (see section <A HREF="gettext_8.html#SEC60">8.3.8 Obsolete Entries</A>). Zero-coefficients items are not shown. So, in this example, if
+PO mode contains 132 translated entries (see section <A HREF="gettext_8.html#SEC63">8.3.5 Translated Entries</A>,
+3 fuzzy entries (see section <A HREF="gettext_8.html#SEC64">8.3.6 Fuzzy Entries</A>), 10 untranslated entries
+(see section <A HREF="gettext_8.html#SEC65">8.3.7 Untranslated Entries</A>) and 2 obsolete entries (see section <A HREF="gettext_8.html#SEC66">8.3.8 Obsolete Entries</A>). Zero-coefficients items are not shown. So, in this example, if
the fuzzy entries were unfuzzied, the untranslated entries were translated
and the obsolete entries were deleted, the mode line would merely display
<SAMP>&lsquo;145t&rsquo;</SAMP> for the counters.
@@ -159,47 +159,47 @@ in special ways.
<DT><KBD>_</KBD>
<DD>
-<A NAME="IDX311"></A>
+<A NAME="IDX326"></A>
Undo last modification to the PO file (<CODE>po-undo</CODE>).
<DT><KBD>Q</KBD>
<DD>
-<A NAME="IDX312"></A>
+<A NAME="IDX327"></A>
Quit processing and save the PO file (<CODE>po-quit</CODE>).
<DT><KBD>q</KBD>
<DD>
-<A NAME="IDX313"></A>
+<A NAME="IDX328"></A>
Quit processing, possibly after confirmation (<CODE>po-confirm-and-quit</CODE>).
<DT><KBD>0</KBD>
<DD>
-<A NAME="IDX314"></A>
+<A NAME="IDX329"></A>
Temporary leave the PO file window (<CODE>po-other-window</CODE>).
<DT><KBD>?</KBD>
<DD>
<DT><KBD>h</KBD>
<DD>
-<A NAME="IDX315"></A>
-<A NAME="IDX316"></A>
+<A NAME="IDX330"></A>
+<A NAME="IDX331"></A>
Show help about PO mode (<CODE>po-help</CODE>).
<DT><KBD>=</KBD>
<DD>
-<A NAME="IDX317"></A>
+<A NAME="IDX332"></A>
Give some PO file statistics (<CODE>po-statistics</CODE>).
<DT><KBD>V</KBD>
<DD>
-<A NAME="IDX318"></A>
+<A NAME="IDX333"></A>
Batch validate the format of the whole PO file (<CODE>po-validate</CODE>).
</DL>
<P>
-<A NAME="IDX319"></A>
-<A NAME="IDX320"></A>
+<A NAME="IDX334"></A>
+<A NAME="IDX335"></A>
The command <KBD>_</KBD> (<CODE>po-undo</CODE>) interfaces to the Emacs
<EM>undo</EM> facility. See section ‘Undoing Changes’ in <CITE>The Emacs Editor</CITE>. Each time <KBD>U</KBD> is typed, modifications which the translator
did to the PO file are undone a little more. For the purpose of
@@ -211,10 +211,10 @@ can undo the edition work quite parsimoniously.
</P>
<P>
-<A NAME="IDX321"></A>
-<A NAME="IDX322"></A>
-<A NAME="IDX323"></A>
-<A NAME="IDX324"></A>
+<A NAME="IDX336"></A>
+<A NAME="IDX337"></A>
+<A NAME="IDX338"></A>
+<A NAME="IDX339"></A>
The commands <KBD>Q</KBD> (<CODE>po-quit</CODE>) and <KBD>q</KBD>
(<CODE>po-confirm-and-quit</CODE>) are used when the translator is done with the
PO file. The former is a bit less verbose than the latter. If the file
@@ -227,8 +227,8 @@ of an Emacs PO file buffer. Merely killing it through the usual command
</P>
<P>
-<A NAME="IDX325"></A>
-<A NAME="IDX326"></A>
+<A NAME="IDX340"></A>
+<A NAME="IDX341"></A>
The command <KBD>0</KBD> (<CODE>po-other-window</CODE>) is another, softer way,
to leave PO mode, temporarily. It just moves the cursor to some other
Emacs window, and pops one if necessary. For example, if the translator
@@ -242,9 +242,9 @@ PO mode is then recovered.
</P>
<P>
-<A NAME="IDX327"></A>
-<A NAME="IDX328"></A>
-<A NAME="IDX329"></A>
+<A NAME="IDX342"></A>
+<A NAME="IDX343"></A>
+<A NAME="IDX344"></A>
The command <KBD>h</KBD> (<CODE>po-help</CODE>) displays a summary of all available PO
mode commands. The translator should then type any character to resume
normal PO mode operations. The command <KBD>?</KBD> has the same effect
@@ -252,8 +252,8 @@ as <KBD>h</KBD>.
</P>
<P>
-<A NAME="IDX330"></A>
-<A NAME="IDX331"></A>
+<A NAME="IDX345"></A>
+<A NAME="IDX346"></A>
The command <KBD>=</KBD> (<CODE>po-statistics</CODE>) computes the total number of
entries in the PO file, the ordinal of the current entry (counted from
1), the number of untranslated entries, the number of obsolete entries,
@@ -261,8 +261,8 @@ and displays all these numbers.
</P>
<P>
-<A NAME="IDX332"></A>
-<A NAME="IDX333"></A>
+<A NAME="IDX347"></A>
+<A NAME="IDX348"></A>
The command <KBD>V</KBD> (<CODE>po-validate</CODE>) launches <CODE>msgfmt</CODE> in
checking and verbose
mode over the current PO file. This command first offers to save the
@@ -273,7 +273,7 @@ as well as all individual entries.
</P>
<P>
-<A NAME="IDX334"></A>
+<A NAME="IDX349"></A>
The program <CODE>msgfmt</CODE> runs asynchronously with Emacs, so the
translator regains control immediately while her PO file is being studied.
Error output is collected in the Emacs <SAMP>&lsquo;*compilation*&rsquo;</SAMP> buffer,
@@ -286,10 +286,10 @@ any PO mode action which would help correcting the error.
</P>
-<H3><A NAME="SEC55" HREF="gettext_toc.html#TOC55">8.3.3 Entry Positioning</A></H3>
+<H3><A NAME="SEC61" HREF="gettext_toc.html#TOC61">8.3.3 Entry Positioning</A></H3>
<P>
-<A NAME="IDX335"></A>
+<A NAME="IDX350"></A>
The cursor in a PO file window is almost always part of
an entry. The only exceptions are the special case when the cursor
is after the last entry in the file, or when the PO file is
@@ -300,7 +300,7 @@ the PO file, this also selects on which entry commands operate.
</P>
<P>
-<A NAME="IDX336"></A>
+<A NAME="IDX351"></A>
Some PO mode commands alter the position of the cursor in a specialized
way. A few of those special purpose positioning are described here,
the others are described in following sections (for a complete list try
@@ -311,51 +311,51 @@ the others are described in following sections (for a complete list try
<DT><KBD>.</KBD>
<DD>
-<A NAME="IDX337"></A>
+<A NAME="IDX352"></A>
Redisplay the current entry (<CODE>po-current-entry</CODE>).
<DT><KBD>n</KBD>
<DD>
-<A NAME="IDX338"></A>
+<A NAME="IDX353"></A>
Select the entry after the current one (<CODE>po-next-entry</CODE>).
<DT><KBD>p</KBD>
<DD>
-<A NAME="IDX339"></A>
+<A NAME="IDX354"></A>
Select the entry before the current one (<CODE>po-previous-entry</CODE>).
<DT><KBD>&#60;</KBD>
<DD>
-<A NAME="IDX340"></A>
+<A NAME="IDX355"></A>
Select the first entry in the PO file (<CODE>po-first-entry</CODE>).
<DT><KBD>&#62;</KBD>
<DD>
-<A NAME="IDX341"></A>
+<A NAME="IDX356"></A>
Select the last entry in the PO file (<CODE>po-last-entry</CODE>).
<DT><KBD>m</KBD>
<DD>
-<A NAME="IDX342"></A>
+<A NAME="IDX357"></A>
Record the location of the current entry for later use
(<CODE>po-push-location</CODE>).
<DT><KBD>r</KBD>
<DD>
-<A NAME="IDX343"></A>
+<A NAME="IDX358"></A>
Return to a previously saved entry location (<CODE>po-pop-location</CODE>).
<DT><KBD>x</KBD>
<DD>
-<A NAME="IDX344"></A>
+<A NAME="IDX359"></A>
Exchange the current entry location with the previously saved one
(<CODE>po-exchange-location</CODE>).
</DL>
<P>
-<A NAME="IDX345"></A>
-<A NAME="IDX346"></A>
+<A NAME="IDX360"></A>
+<A NAME="IDX361"></A>
Any Emacs command able to reposition the cursor may be used
to select the current entry in PO mode, including commands which
move by characters, lines, paragraphs, screens or pages, and search
@@ -384,10 +384,10 @@ how <EM>others</EM> should do translation.
</P>
<P>
-<A NAME="IDX347"></A>
-<A NAME="IDX348"></A>
-<A NAME="IDX349"></A>
-<A NAME="IDX350"></A>
+<A NAME="IDX362"></A>
+<A NAME="IDX363"></A>
+<A NAME="IDX364"></A>
+<A NAME="IDX365"></A>
The commands <KBD>n</KBD> (<CODE>po-next-entry</CODE>) and <KBD>p</KBD>
(<CODE>po-previous-entry</CODE>) move the cursor the entry following,
or preceding, the current one. If <KBD>n</KBD> is given while the
@@ -396,10 +396,10 @@ is given while the cursor is on the first entry, no move is done.
</P>
<P>
-<A NAME="IDX351"></A>
-<A NAME="IDX352"></A>
-<A NAME="IDX353"></A>
-<A NAME="IDX354"></A>
+<A NAME="IDX366"></A>
+<A NAME="IDX367"></A>
+<A NAME="IDX368"></A>
+<A NAME="IDX369"></A>
The commands <KBD>&#60;</KBD> (<CODE>po-first-entry</CODE>) and <KBD>&#62;</KBD>
(<CODE>po-last-entry</CODE>) move the cursor to the first entry, or last
entry, of the PO file. When the cursor is located past the last
@@ -409,7 +409,7 @@ have the special property of being able to work even when the cursor
is not into some PO file entry, and one may use them for nicely
correcting this situation. But even these commands will fail on a
truly empty PO file. There are development plans for the PO mode for it
-to interactively fill an empty PO file from sources. See section <A HREF="gettext_4.html#SEC16">4.5 Marking Translatable Strings</A>.
+to interactively fill an empty PO file from sources. See section <A HREF="gettext_4.html#SEC21">4.5 Marking Translatable Strings</A>.
</P>
<P>
@@ -422,10 +422,10 @@ register for getting back, or else, use the location ring.
</P>
<P>
-<A NAME="IDX355"></A>
-<A NAME="IDX356"></A>
-<A NAME="IDX357"></A>
-<A NAME="IDX358"></A>
+<A NAME="IDX370"></A>
+<A NAME="IDX371"></A>
+<A NAME="IDX372"></A>
+<A NAME="IDX373"></A>
PO mode offers another approach, by which cursor locations may be saved
onto a special stack. The command <KBD>m</KBD> (<CODE>po-push-location</CODE>)
merely adds the location of current entry to the stack, pushing
@@ -445,8 +445,8 @@ ought to use <KBD>m</KBD> immediately after <KBD>r</KBD>.
</P>
<P>
-<A NAME="IDX359"></A>
-<A NAME="IDX360"></A>
+<A NAME="IDX374"></A>
+<A NAME="IDX375"></A>
The command <KBD>x</KBD> (<CODE>po-exchange-location</CODE>) simultaneously
repositions the cursor to the entry associated with the top element of
the stack of saved locations, and replaces that top element with the
@@ -459,9 +459,9 @@ merely use <KBD>x</KBD> for making the switch.
</P>
-<H3><A NAME="SEC56" HREF="gettext_toc.html#TOC56">8.3.4 Normalizing Strings in Entries</A></H3>
+<H3><A NAME="SEC62" HREF="gettext_toc.html#TOC62">8.3.4 Normalizing Strings in Entries</A></H3>
<P>
-<A NAME="IDX361"></A>
+<A NAME="IDX376"></A>
</P>
<P>
@@ -495,12 +495,12 @@ command is available:
</P>
<P>
-<A NAME="IDX362"></A>
+<A NAME="IDX377"></A>
<DL COMPACT>
<DT><KBD>M-x po-normalize</KBD>
<DD>
-<A NAME="IDX363"></A>
+<A NAME="IDX378"></A>
Tidy the whole PO file by making entries more uniform.
</DL>
@@ -532,7 +532,7 @@ for continued lines.
</P>
<P>
-<A NAME="IDX364"></A>
+<A NAME="IDX379"></A>
Having such an explicit normalizing command allows for importing PO
files from other sources, but also eases the evolution of the current
convention, evolution driven mostly by aesthetic concerns, as of now.
@@ -545,7 +545,7 @@ their PO files in nice ways.
</P>
<P>
-<A NAME="IDX365"></A>
+<A NAME="IDX380"></A>
Right now, in PO mode, strings are single line or multi-line. A string
goes multi-line if and only if it has <EM>embedded</EM> newlines, that
is, if it matches <SAMP>&lsquo;[^\n]\n+[^\n]&rsquo;</SAMP>. So, we would have:
@@ -596,21 +596,21 @@ to be documented in this manual, once these questions settle.
</P>
-<H3><A NAME="SEC57" HREF="gettext_toc.html#TOC57">8.3.5 Translated Entries</A></H3>
+<H3><A NAME="SEC63" HREF="gettext_toc.html#TOC63">8.3.5 Translated Entries</A></H3>
<P>
-<A NAME="IDX366"></A>
+<A NAME="IDX381"></A>
</P>
<P>
Each PO file entry for which the <CODE>msgstr</CODE> field has been filled with
-a translation, and which is not marked as fuzzy (see section <A HREF="gettext_8.html#SEC58">8.3.6 Fuzzy Entries</A>),
+a translation, and which is not marked as fuzzy (see section <A HREF="gettext_8.html#SEC64">8.3.6 Fuzzy Entries</A>),
is said to be a <EM>translated</EM> entry. Only translated entries will
later be compiled by GNU <CODE>msgfmt</CODE> and become usable in programs.
Other entry types will be excluded; translation will not occur for them.
</P>
<P>
-<A NAME="IDX367"></A>
+<A NAME="IDX382"></A>
Some commands are more specifically related to translated entry processing.
</P>
@@ -618,21 +618,21 @@ Some commands are more specifically related to translated entry processing.
<DT><KBD>t</KBD>
<DD>
-<A NAME="IDX368"></A>
+<A NAME="IDX383"></A>
Find the next translated entry (<CODE>po-next-translated-entry</CODE>).
<DT><KBD>T</KBD>
<DD>
-<A NAME="IDX369"></A>
+<A NAME="IDX384"></A>
Find the previous translated entry (<CODE>po-previous-translated-entry</CODE>).
</DL>
<P>
-<A NAME="IDX370"></A>
-<A NAME="IDX371"></A>
-<A NAME="IDX372"></A>
-<A NAME="IDX373"></A>
+<A NAME="IDX385"></A>
+<A NAME="IDX386"></A>
+<A NAME="IDX387"></A>
+<A NAME="IDX388"></A>
The commands <KBD>t</KBD> (<CODE>po-next-translated-entry</CODE>) and <KBD>T</KBD>
(<CODE>po-previous-translated-entry</CODE>) move forwards or backwards, chasing
for an translated entry. If none is found, the search is extended and
@@ -640,25 +640,25 @@ wraps around in the PO file buffer.
</P>
<P>
-<A NAME="IDX374"></A>
+<A NAME="IDX389"></A>
Translated entries usually result from the translator having edited in
-a translation for them, section <A HREF="gettext_8.html#SEC61">8.3.9 Modifying Translations</A>. However, if the
+a translation for them, section <A HREF="gettext_8.html#SEC67">8.3.9 Modifying Translations</A>. However, if the
variable <CODE>po-auto-fuzzy-on-edit</CODE> is not <CODE>nil</CODE>, the entry having
received a new translation first becomes a fuzzy entry, which ought to
be later unfuzzied before becoming an official, genuine translated entry.
-See section <A HREF="gettext_8.html#SEC58">8.3.6 Fuzzy Entries</A>.
+See section <A HREF="gettext_8.html#SEC64">8.3.6 Fuzzy Entries</A>.
</P>
-<H3><A NAME="SEC58" HREF="gettext_toc.html#TOC58">8.3.6 Fuzzy Entries</A></H3>
+<H3><A NAME="SEC64" HREF="gettext_toc.html#TOC64">8.3.6 Fuzzy Entries</A></H3>
<P>
-<A NAME="IDX375"></A>
+<A NAME="IDX390"></A>
</P>
<P>
-<A NAME="IDX376"></A>
-<A NAME="IDX377"></A>
+<A NAME="IDX391"></A>
+<A NAME="IDX392"></A>
Each PO file entry may have a set of <EM>attributes</EM>, which are
qualities given a name and explicitly associated with the translation,
using a special system comment. One of these attributes
@@ -681,7 +681,7 @@ might mark some entries as being fuzzy.
</P>
<P>
-<A NAME="IDX378"></A>
+<A NAME="IDX393"></A>
Also, the translator may decide herself to mark an entry as fuzzy
for her own convenience, when she wants to remember that the entry
has to be later revisited. So, some commands are more specifically
@@ -692,26 +692,26 @@ related to fuzzy entry processing.
<DT><KBD>z</KBD>
<DD>
-<A NAME="IDX379"></A>
+<A NAME="IDX394"></A>
Find the next fuzzy entry (<CODE>po-next-fuzzy-entry</CODE>).
<DT><KBD>Z</KBD>
<DD>
-<A NAME="IDX380"></A>
+<A NAME="IDX395"></A>
Find the previous fuzzy entry (<CODE>po-previous-fuzzy-entry</CODE>).
<DT><KBD><KBD>TAB</KBD></KBD>
<DD>
-<A NAME="IDX381"></A>
+<A NAME="IDX396"></A>
Remove the fuzzy attribute of the current entry (<CODE>po-unfuzzy</CODE>).
</DL>
<P>
-<A NAME="IDX382"></A>
-<A NAME="IDX383"></A>
-<A NAME="IDX384"></A>
-<A NAME="IDX385"></A>
+<A NAME="IDX397"></A>
+<A NAME="IDX398"></A>
+<A NAME="IDX399"></A>
+<A NAME="IDX400"></A>
The commands <KBD>z</KBD> (<CODE>po-next-fuzzy-entry</CODE>) and <KBD>Z</KBD>
(<CODE>po-previous-fuzzy-entry</CODE>) move forwards or backwards, chasing for
a fuzzy entry. If none is found, the search is extended and wraps
@@ -719,9 +719,9 @@ around in the PO file buffer.
</P>
<P>
-<A NAME="IDX386"></A>
-<A NAME="IDX387"></A>
-<A NAME="IDX388"></A>
+<A NAME="IDX401"></A>
+<A NAME="IDX402"></A>
+<A NAME="IDX403"></A>
The command <KBD><KBD>TAB</KBD></KBD> (<CODE>po-unfuzzy</CODE>) removes the fuzzy
attribute associated with an entry, usually leaving it translated.
Further, if the variable <CODE>po-auto-select-on-unfuzzy</CODE> has not
@@ -743,8 +743,8 @@ to chase another entry, leaving the entry fuzzy.
</P>
<P>
-<A NAME="IDX389"></A>
-<A NAME="IDX390"></A>
+<A NAME="IDX404"></A>
+<A NAME="IDX405"></A>
The translator may also use the <KBD><KBD>DEL</KBD></KBD> command
(<CODE>po-fade-out-entry</CODE>) over any translated entry to mark it as being
fuzzy, when she wants to easily leave a trace she wants to later return
@@ -759,9 +759,9 @@ still exists.
</P>
-<H3><A NAME="SEC59" HREF="gettext_toc.html#TOC59">8.3.7 Untranslated Entries</A></H3>
+<H3><A NAME="SEC65" HREF="gettext_toc.html#TOC65">8.3.7 Untranslated Entries</A></H3>
<P>
-<A NAME="IDX391"></A>
+<A NAME="IDX406"></A>
</P>
<P>
@@ -781,7 +781,7 @@ are easily recognizable by the fact they end with <SAMP>&lsquo;msgstr ""&rsquo;<
</P>
<P>
-<A NAME="IDX392"></A>
+<A NAME="IDX407"></A>
The work of the translator might be (quite naively) seen as the process
of seeking for an untranslated entry, editing a translation for
it, and repeating these actions until no untranslated entries remain.
@@ -793,26 +793,26 @@ processing.
<DT><KBD>u</KBD>
<DD>
-<A NAME="IDX393"></A>
+<A NAME="IDX408"></A>
Find the next untranslated entry (<CODE>po-next-untranslated-entry</CODE>).
<DT><KBD>U</KBD>
<DD>
-<A NAME="IDX394"></A>
+<A NAME="IDX409"></A>
Find the previous untranslated entry (<CODE>po-previous-untransted-entry</CODE>).
<DT><KBD>k</KBD>
<DD>
-<A NAME="IDX395"></A>
+<A NAME="IDX410"></A>
Turn the current entry into an untranslated one (<CODE>po-kill-msgstr</CODE>).
</DL>
<P>
-<A NAME="IDX396"></A>
-<A NAME="IDX397"></A>
-<A NAME="IDX398"></A>
-<A NAME="IDX399"></A>
+<A NAME="IDX411"></A>
+<A NAME="IDX412"></A>
+<A NAME="IDX413"></A>
+<A NAME="IDX414"></A>
The commands <KBD>u</KBD> (<CODE>po-next-untranslated-entry</CODE>) and <KBD>U</KBD>
(<CODE>po-previous-untransted-entry</CODE>) move forwards or backwards,
chasing for an untranslated entry. If none is found, the search is
@@ -820,11 +820,11 @@ extended and wraps around in the PO file buffer.
</P>
<P>
-<A NAME="IDX400"></A>
-<A NAME="IDX401"></A>
+<A NAME="IDX415"></A>
+<A NAME="IDX416"></A>
An entry can be turned back into an untranslated entry by
merely emptying its translation, using the command <KBD>k</KBD>
-(<CODE>po-kill-msgstr</CODE>). See section <A HREF="gettext_8.html#SEC61">8.3.9 Modifying Translations</A>.
+(<CODE>po-kill-msgstr</CODE>). See section <A HREF="gettext_8.html#SEC67">8.3.9 Modifying Translations</A>.
</P>
<P>
@@ -835,9 +835,9 @@ if some untranslated string still exists.
</P>
-<H3><A NAME="SEC60" HREF="gettext_toc.html#TOC60">8.3.8 Obsolete Entries</A></H3>
+<H3><A NAME="SEC66" HREF="gettext_toc.html#TOC66">8.3.8 Obsolete Entries</A></H3>
<P>
-<A NAME="IDX402"></A>
+<A NAME="IDX417"></A>
</P>
<P>
@@ -863,7 +863,7 @@ after the fact.
</P>
<P>
-<A NAME="IDX403"></A>
+<A NAME="IDX418"></A>
Moreover, some commands are more specifically related to obsolete
entry processing.
@@ -872,27 +872,27 @@ entry processing.
<DT><KBD>o</KBD>
<DD>
-<A NAME="IDX404"></A>
+<A NAME="IDX419"></A>
Find the next obsolete entry (<CODE>po-next-obsolete-entry</CODE>).
<DT><KBD>O</KBD>
<DD>
-<A NAME="IDX405"></A>
+<A NAME="IDX420"></A>
Find the previous obsolete entry (<CODE>po-previous-obsolete-entry</CODE>).
<DT><KBD><KBD>DEL</KBD></KBD>
<DD>
-<A NAME="IDX406"></A>
+<A NAME="IDX421"></A>
Make an active entry obsolete, or zap out an obsolete entry
(<CODE>po-fade-out-entry</CODE>).
</DL>
<P>
-<A NAME="IDX407"></A>
-<A NAME="IDX408"></A>
-<A NAME="IDX409"></A>
-<A NAME="IDX410"></A>
+<A NAME="IDX422"></A>
+<A NAME="IDX423"></A>
+<A NAME="IDX424"></A>
+<A NAME="IDX425"></A>
The commands <KBD>o</KBD> (<CODE>po-next-obsolete-entry</CODE>) and <KBD>O</KBD>
(<CODE>po-previous-obsolete-entry</CODE>) move forwards or backwards,
chasing for an obsolete entry. If none is found, the search is
@@ -908,10 +908,10 @@ introducing useless <CODE>msgid</CODE> values.
</P>
<P>
-<A NAME="IDX411"></A>
-<A NAME="IDX412"></A>
-<A NAME="IDX413"></A>
-<A NAME="IDX414"></A>
+<A NAME="IDX426"></A>
+<A NAME="IDX427"></A>
+<A NAME="IDX428"></A>
+<A NAME="IDX429"></A>
However, it is possible to comment out an active entry, so making
it obsolete. GNU <CODE>gettext</CODE> utilities will later react to the
disappearance of a translation by using the untranslated string.
@@ -921,7 +921,7 @@ translated entry), then it is first made fuzzy. If it is already fuzzy,
then the entry is merely commented out, with confirmation. If the entry
is already obsolete, then it is completely deleted from the PO file.
It is easy to recycle the translation so deleted into some other PO file
-entry, usually one which is untranslated. See section <A HREF="gettext_8.html#SEC61">8.3.9 Modifying Translations</A>.
+entry, usually one which is untranslated. See section <A HREF="gettext_8.html#SEC67">8.3.9 Modifying Translations</A>.
</P>
<P>
@@ -939,10 +939,10 @@ merely tries to provide handy tools for helping her to do so.
</P>
-<H3><A NAME="SEC61" HREF="gettext_toc.html#TOC61">8.3.9 Modifying Translations</A></H3>
+<H3><A NAME="SEC67" HREF="gettext_toc.html#TOC67">8.3.9 Modifying Translations</A></H3>
<P>
-<A NAME="IDX415"></A>
-<A NAME="IDX416"></A>
+<A NAME="IDX430"></A>
+<A NAME="IDX431"></A>
</P>
<P>
@@ -968,40 +968,40 @@ using the following commands for modifying the translations.
<DT><KBD><KBD>RET</KBD></KBD>
<DD>
-<A NAME="IDX417"></A>
+<A NAME="IDX432"></A>
Interactively edit the translation (<CODE>po-edit-msgstr</CODE>).
<DT><KBD><KBD>LFD</KBD></KBD>
<DD>
<DT><KBD>C-j</KBD>
<DD>
-<A NAME="IDX418"></A>
-<A NAME="IDX419"></A>
+<A NAME="IDX433"></A>
+<A NAME="IDX434"></A>
Reinitialize the translation with the original, untranslated string
(<CODE>po-msgid-to-msgstr</CODE>).
<DT><KBD>k</KBD>
<DD>
-<A NAME="IDX420"></A>
+<A NAME="IDX435"></A>
Save the translation on the kill ring, and delete it (<CODE>po-kill-msgstr</CODE>).
<DT><KBD>w</KBD>
<DD>
-<A NAME="IDX421"></A>
+<A NAME="IDX436"></A>
Save the translation on the kill ring, without deleting it
(<CODE>po-kill-ring-save-msgstr</CODE>).
<DT><KBD>y</KBD>
<DD>
-<A NAME="IDX422"></A>
+<A NAME="IDX437"></A>
Replace the translation, taking the new from the kill ring
(<CODE>po-yank-msgstr</CODE>).
</DL>
<P>
-<A NAME="IDX423"></A>
-<A NAME="IDX424"></A>
+<A NAME="IDX438"></A>
+<A NAME="IDX439"></A>
The command <KBD><KBD>RET</KBD></KBD> (<CODE>po-edit-msgstr</CODE>) opens a new Emacs
window meant to edit in a new translation, or to modify an already existing
translation. The new window contains a copy of the translation taken from
@@ -1009,14 +1009,14 @@ the current PO file entry, all ready for edition, expunged of all quoting
marks, fully modifiable and with the complete extent of Emacs modifying
commands. When the translator is done with her modifications, she may use
<KBD>C-c C-c</KBD> to close the subedit window with the automatically requoted
-results, or <KBD>C-c C-k</KBD> to abort her modifications. See section <A HREF="gettext_8.html#SEC63">8.3.11 Details of Sub Edition</A>,
+results, or <KBD>C-c C-k</KBD> to abort her modifications. See section <A HREF="gettext_8.html#SEC69">8.3.11 Details of Sub Edition</A>,
for more information.
</P>
<P>
-<A NAME="IDX425"></A>
-<A NAME="IDX426"></A>
-<A NAME="IDX427"></A>
+<A NAME="IDX440"></A>
+<A NAME="IDX441"></A>
+<A NAME="IDX442"></A>
The command <KBD><KBD>LFD</KBD></KBD> (<CODE>po-msgid-to-msgstr</CODE>) initializes, or
reinitializes the translation with the original string. This command is
normally used when the translator wants to redo a fresh translation of
@@ -1024,7 +1024,7 @@ the original string, disregarding any previous work.
</P>
<P>
-<A NAME="IDX428"></A>
+<A NAME="IDX443"></A>
It is possible to arrange so, whenever editing an untranslated
entry, the <KBD><KBD>LFD</KBD></KBD> command be automatically executed. If you set
<CODE>po-auto-edit-with-msgid</CODE> to <CODE>t</CODE>, the translation gets
@@ -1033,7 +1033,7 @@ The default value for <CODE>po-auto-edit-with-msgid</CODE> is <CODE>nil</CODE>.
</P>
<P>
-<A NAME="IDX429"></A>
+<A NAME="IDX444"></A>
In fact, whether it is best to start a translation with an empty
string, or rather with a copy of the original string, is a matter of
taste or habit. Sometimes, the source language and the
@@ -1047,11 +1047,11 @@ if this requires some extra editing work to get rid of the original.
</P>
<P>
-<A NAME="IDX430"></A>
-<A NAME="IDX431"></A>
-<A NAME="IDX432"></A>
-<A NAME="IDX433"></A>
-<A NAME="IDX434"></A>
+<A NAME="IDX445"></A>
+<A NAME="IDX446"></A>
+<A NAME="IDX447"></A>
+<A NAME="IDX448"></A>
+<A NAME="IDX449"></A>
The command <KBD>k</KBD> (<CODE>po-kill-msgstr</CODE>) merely empties the
translation string, so turning the entry into an untranslated
one. But while doing so, its previous contents is put apart in
@@ -1083,8 +1083,8 @@ entries, the translation is also uncommented prior to saving.
</P>
<P>
-<A NAME="IDX435"></A>
-<A NAME="IDX436"></A>
+<A NAME="IDX450"></A>
+<A NAME="IDX451"></A>
The command <KBD>y</KBD> (<CODE>po-yank-msgstr</CODE>) completely replaces the
translation of the current entry by a string taken from the kill ring.
Following Emacs terminology, we then say that the replacement
@@ -1118,7 +1118,7 @@ yanking commands themselves.
</P>
<P>
-<A NAME="IDX437"></A>
+<A NAME="IDX452"></A>
To better illustrate the operation of killing and yanking, let's
use an actual example, taken from a common situation. When the
programmer slightly modifies some string right in the program, his
@@ -1156,10 +1156,10 @@ See section ‘Keyboard Macros’ in <CITE>The Emacs Editor</CITE>.
</P>
-<H3><A NAME="SEC62" HREF="gettext_toc.html#TOC62">8.3.10 Modifying Comments</A></H3>
+<H3><A NAME="SEC68" HREF="gettext_toc.html#TOC68">8.3.10 Modifying Comments</A></H3>
<P>
-<A NAME="IDX438"></A>
-<A NAME="IDX439"></A>
+<A NAME="IDX453"></A>
+<A NAME="IDX454"></A>
</P>
<P>
@@ -1176,36 +1176,36 @@ Comments not having whitespace after the initial <SAMP>&lsquo;#&rsquo;</SAMP>, f
those beginning with <SAMP>&lsquo;#.&rsquo;</SAMP> or <SAMP>&lsquo;#:&rsquo;</SAMP>, are <EM>not</EM> translator
comments, they are exclusively created by other <CODE>gettext</CODE> tools.
So, the commands below will never alter such system added comments,
-they are not meant for the translator to modify. See section <A HREF="gettext_3.html#SEC10">3 The Format of PO Files</A>.
+they are not meant for the translator to modify. See section <A HREF="gettext_3.html#SEC15">3 The Format of PO Files</A>.
</P>
<P>
The following commands are somewhat similar to those modifying translations,
-so the general indications given for those apply here. See section <A HREF="gettext_8.html#SEC61">8.3.9 Modifying Translations</A>.
+so the general indications given for those apply here. See section <A HREF="gettext_8.html#SEC67">8.3.9 Modifying Translations</A>.
</P>
<DL COMPACT>
<DT><KBD>#</KBD>
<DD>
-<A NAME="IDX440"></A>
+<A NAME="IDX455"></A>
Interactively edit the translator comments (<CODE>po-edit-comment</CODE>).
<DT><KBD>K</KBD>
<DD>
-<A NAME="IDX441"></A>
+<A NAME="IDX456"></A>
Save the translator comments on the kill ring, and delete it
(<CODE>po-kill-comment</CODE>).
<DT><KBD>W</KBD>
<DD>
-<A NAME="IDX442"></A>
+<A NAME="IDX457"></A>
Save the translator comments on the kill ring, without deleting it
(<CODE>po-kill-ring-save-comment</CODE>).
<DT><KBD>Y</KBD>
<DD>
-<A NAME="IDX443"></A>
+<A NAME="IDX458"></A>
Replace the translator comments, taking the new from the kill ring
(<CODE>po-yank-comment</CODE>).
@@ -1217,12 +1217,12 @@ strings, and behave much the same way as they do, except that they handle
this part of PO file comments meant for translator usage, rather
than the translation strings. So, if the descriptions given below are
slightly succinct, it is because the full details have already been given.
-See section <A HREF="gettext_8.html#SEC61">8.3.9 Modifying Translations</A>.
+See section <A HREF="gettext_8.html#SEC67">8.3.9 Modifying Translations</A>.
</P>
<P>
-<A NAME="IDX444"></A>
-<A NAME="IDX445"></A>
+<A NAME="IDX459"></A>
+<A NAME="IDX460"></A>
The command <KBD>#</KBD> (<CODE>po-edit-comment</CODE>) opens a new Emacs window
containing a copy of the translator comments on the current PO file entry.
If there are no such comments, PO mode understands that the translator wants
@@ -1232,22 +1232,22 @@ removed before edition, and reinstated after. For translator comments
pertaining to obsolete entries, the uncommenting and recommenting operations
are done twice. Once in the editing window, the keys <KBD>C-c C-c</KBD>
allow the translator to tell she is finished with editing the comment.
-See section <A HREF="gettext_8.html#SEC63">8.3.11 Details of Sub Edition</A>, for further details.
+See section <A HREF="gettext_8.html#SEC69">8.3.11 Details of Sub Edition</A>, for further details.
</P>
<P>
-<A NAME="IDX446"></A>
+<A NAME="IDX461"></A>
Functions found on <CODE>po-subedit-mode-hook</CODE>, if any, are executed after
the string has been inserted in the edit buffer.
</P>
<P>
-<A NAME="IDX447"></A>
-<A NAME="IDX448"></A>
-<A NAME="IDX449"></A>
-<A NAME="IDX450"></A>
-<A NAME="IDX451"></A>
-<A NAME="IDX452"></A>
+<A NAME="IDX462"></A>
+<A NAME="IDX463"></A>
+<A NAME="IDX464"></A>
+<A NAME="IDX465"></A>
+<A NAME="IDX466"></A>
+<A NAME="IDX467"></A>
The command <KBD>K</KBD> (<CODE>po-kill-comment</CODE>) gets rid of all
translator comments, while saving those comments on the kill ring.
The command <KBD>W</KBD> (<CODE>po-kill-ring-save-comment</CODE>) takes
@@ -1286,9 +1286,9 @@ regular Emacs commands <KBD>C-y</KBD> (<CODE>yank</CODE>) and <KBD>M-y</KBD>
</P>
-<H3><A NAME="SEC63" HREF="gettext_toc.html#TOC63">8.3.11 Details of Sub Edition</A></H3>
+<H3><A NAME="SEC69" HREF="gettext_toc.html#TOC69">8.3.11 Details of Sub Edition</A></H3>
<P>
-<A NAME="IDX453"></A>
+<A NAME="IDX468"></A>
</P>
<P>
@@ -1301,25 +1301,25 @@ of Emacs, which are described below.
<DT><KBD>C-c C-c</KBD>
<DD>
-<A NAME="IDX454"></A>
+<A NAME="IDX469"></A>
Complete edition (<CODE>po-subedit-exit</CODE>).
<DT><KBD>C-c C-k</KBD>
<DD>
-<A NAME="IDX455"></A>
+<A NAME="IDX470"></A>
Abort edition (<CODE>po-subedit-abort</CODE>).
<DT><KBD>C-c C-a</KBD>
<DD>
-<A NAME="IDX456"></A>
+<A NAME="IDX471"></A>
Consult auxiliary PO files (<CODE>po-subedit-cycle-auxiliary</CODE>).
</DL>
<P>
-<A NAME="IDX457"></A>
-<A NAME="IDX458"></A>
-<A NAME="IDX459"></A>
+<A NAME="IDX472"></A>
+<A NAME="IDX473"></A>
+<A NAME="IDX474"></A>
The window's contents represents a translation for a given message,
or a translator comment. The translator may modify this window to
her heart's content. Once this is done, the command <KBD>C-c C-c</KBD>
@@ -1329,8 +1329,8 @@ sight or if buffers were switched.
</P>
<P>
-<A NAME="IDX460"></A>
-<A NAME="IDX461"></A>
+<A NAME="IDX475"></A>
+<A NAME="IDX476"></A>
If the translator becomes unsatisfied with her translation or comment,
to the extent she prefers keeping what was existent prior to the
<KBD><KBD>RET</KBD></KBD> or <KBD>#</KBD> command, she may use the command <KBD>C-c C-k</KBD>
@@ -1341,14 +1341,14 @@ whole effect of last edition.
</P>
<P>
-<A NAME="IDX462"></A>
-<A NAME="IDX463"></A>
+<A NAME="IDX477"></A>
+<A NAME="IDX478"></A>
The command <KBD>C-c C-a</KBD> (<CODE>po-subedit-cycle-auxiliary</CODE>)
allows for glancing through translations
already achieved in other languages, directly while editing the current
translation. This may be quite convenient when the translator is fluent
at many languages, but of course, only makes sense when such completed
-auxiliary PO files are already available to her (see section <A HREF="gettext_8.html#SEC65">8.3.13 Consulting Auxiliary PO Files</A>).
+auxiliary PO files are already available to her (see section <A HREF="gettext_8.html#SEC71">8.3.13 Consulting Auxiliary PO Files</A>).
</P>
<P>
@@ -1376,7 +1376,7 @@ in the editing window, as ending with two <CODE>&#60;</CODE> in a row.
</P>
<P>
-<A NAME="IDX464"></A>
+<A NAME="IDX479"></A>
When a translation (or a comment) is being edited, the translator may move
the cursor back into the PO file buffer and freely move to other entries,
browsing at will. If, with an edition pending, the translator wanders in the
@@ -1389,7 +1389,7 @@ the translator should better be comfortable at handling many Emacs windows!
</P>
<P>
-<A NAME="IDX465"></A>
+<A NAME="IDX480"></A>
Pending subedits may be completed or aborted in any order, regardless
of how or when they were started. When many subedits are pending and the
translator asks for quitting the PO file (with the <KBD>q</KBD> command), subedits
@@ -1398,11 +1398,11 @@ are automatically resumed one at a time, so she may decide for each of them.
</P>
-<H3><A NAME="SEC64" HREF="gettext_toc.html#TOC64">8.3.12 C Sources Context</A></H3>
+<H3><A NAME="SEC70" HREF="gettext_toc.html#TOC70">8.3.12 C Sources Context</A></H3>
<P>
-<A NAME="IDX466"></A>
-<A NAME="IDX467"></A>
-<A NAME="IDX468"></A>
+<A NAME="IDX481"></A>
+<A NAME="IDX482"></A>
+<A NAME="IDX483"></A>
</P>
<P>
@@ -1439,7 +1439,7 @@ overall organization, than to the program code itself.
</P>
<P>
-<A NAME="IDX469"></A>
+<A NAME="IDX484"></A>
The following commands are meant to help the translator at getting
program source context for a PO file entry.
@@ -1448,35 +1448,35 @@ program source context for a PO file entry.
<DT><KBD>s</KBD>
<DD>
-<A NAME="IDX470"></A>
+<A NAME="IDX485"></A>
Resume the display of a program source context, or cycle through them
(<CODE>po-cycle-source-reference</CODE>).
<DT><KBD>M-s</KBD>
<DD>
-<A NAME="IDX471"></A>
+<A NAME="IDX486"></A>
Display of a program source context selected by menu
(<CODE>po-select-source-reference</CODE>).
<DT><KBD>S</KBD>
<DD>
-<A NAME="IDX472"></A>
+<A NAME="IDX487"></A>
Add a directory to the search path for source files
(<CODE>po-consider-source-path</CODE>).
<DT><KBD>M-S</KBD>
<DD>
-<A NAME="IDX473"></A>
+<A NAME="IDX488"></A>
Delete a directory from the search path for source files
(<CODE>po-ignore-source-path</CODE>).
</DL>
<P>
-<A NAME="IDX474"></A>
-<A NAME="IDX475"></A>
-<A NAME="IDX476"></A>
-<A NAME="IDX477"></A>
+<A NAME="IDX489"></A>
+<A NAME="IDX490"></A>
+<A NAME="IDX491"></A>
+<A NAME="IDX492"></A>
The commands <KBD>s</KBD> (<CODE>po-cycle-source-reference</CODE>) and <KBD>M-s</KBD>
(<CODE>po-select-source-reference</CODE>) both open another window displaying
some source program file, and already positioned in such a way that
@@ -1521,10 +1521,10 @@ available for a single string to translate.
</P>
<P>
-<A NAME="IDX478"></A>
-<A NAME="IDX479"></A>
-<A NAME="IDX480"></A>
-<A NAME="IDX481"></A>
+<A NAME="IDX493"></A>
+<A NAME="IDX494"></A>
+<A NAME="IDX495"></A>
+<A NAME="IDX496"></A>
Program source files are usually found relative to where the PO
file stands. As a special provision, when this fails, the file is
also looked for, but relative to the directory immediately above it.
@@ -1542,9 +1542,9 @@ one of the directories she does not want anymore on the search path.
</P>
-<H3><A NAME="SEC65" HREF="gettext_toc.html#TOC65">8.3.13 Consulting Auxiliary PO Files</A></H3>
+<H3><A NAME="SEC71" HREF="gettext_toc.html#TOC71">8.3.13 Consulting Auxiliary PO Files</A></H3>
<P>
-<A NAME="IDX482"></A>
+<A NAME="IDX497"></A>
</P>
<P>
@@ -1557,8 +1557,8 @@ at once, for translators preferring to work in this way.
</P>
<P>
-<A NAME="IDX483"></A>
-<A NAME="IDX484"></A>
+<A NAME="IDX498"></A>
+<A NAME="IDX499"></A>
An <EM>auxiliary</EM> PO file is an existing PO file meant for the same
package the translator is working on, but targeted to a different mother
tongue language. Commands exist for declaring and handling auxiliary
@@ -1573,41 +1573,41 @@ Here are the auxiliary file commands available in PO mode.
<DT><KBD>a</KBD>
<DD>
-<A NAME="IDX485"></A>
+<A NAME="IDX500"></A>
Seek auxiliary files for another translation for the same entry
(<CODE>po-cycle-auxiliary</CODE>).
<DT><KBD>C-c C-a</KBD>
<DD>
-<A NAME="IDX486"></A>
+<A NAME="IDX501"></A>
Switch to a particular auxiliary file (<CODE>po-select-auxiliary</CODE>).
<DT><KBD>A</KBD>
<DD>
-<A NAME="IDX487"></A>
+<A NAME="IDX502"></A>
Declare this PO file as an auxiliary file (<CODE>po-consider-as-auxiliary</CODE>).
<DT><KBD>M-A</KBD>
<DD>
-<A NAME="IDX488"></A>
+<A NAME="IDX503"></A>
Remove this PO file from the list of auxiliary files
(<CODE>po-ignore-as-auxiliary</CODE>).
</DL>
<P>
-<A NAME="IDX489"></A>
-<A NAME="IDX490"></A>
-<A NAME="IDX491"></A>
-<A NAME="IDX492"></A>
+<A NAME="IDX504"></A>
+<A NAME="IDX505"></A>
+<A NAME="IDX506"></A>
+<A NAME="IDX507"></A>
Command <KBD>A</KBD> (<CODE>po-consider-as-auxiliary</CODE>) adds the current
PO file to the list of auxiliary files, while command <KBD>M-A</KBD>
(<CODE>po-ignore-as-auxiliary</CODE> just removes it.
</P>
<P>
-<A NAME="IDX493"></A>
-<A NAME="IDX494"></A>
+<A NAME="IDX508"></A>
+<A NAME="IDX509"></A>
The command <KBD>a</KBD> (<CODE>po-cycle-auxiliary</CODE>) seeks all auxiliary PO
files, round-robin, searching for a translated entry in some other language
having an <CODE>msgid</CODE> field identical as the one for the current entry.
@@ -1619,8 +1619,8 @@ so repeating <KBD>a</KBD> will eventually yield back the original PO file.
</P>
<P>
-<A NAME="IDX495"></A>
-<A NAME="IDX496"></A>
+<A NAME="IDX510"></A>
+<A NAME="IDX511"></A>
The command <KBD>C-c C-a</KBD> (<CODE>po-select-auxiliary</CODE>) asks the translator
for her choice of a particular auxiliary file, with completion, and
then switches to that selected PO file. The command also checks if
@@ -1640,7 +1640,7 @@ their <CODE>msgid</CODE> entries written by the same GNU <CODE>gettext</CODE> to
</P>
<P>
-<A NAME="IDX497"></A>
+<A NAME="IDX512"></A>
However, PO files initially created by PO mode itself, while marking
strings in source files, are normalised differently. So are PO
files resulting of the <SAMP>&lsquo;M-x normalize&rsquo;</SAMP> command. Until these
@@ -1650,13 +1650,13 @@ fully resolved, the translator should stay aware of normalisation issues.
</P>
-<H3><A NAME="SEC66" HREF="gettext_toc.html#TOC66">8.3.14 Using Translation Compendia</A></H3>
+<H2><A NAME="SEC72" HREF="gettext_toc.html#TOC72">8.4 Using Translation Compendia</A></H2>
<P>
-<A NAME="IDX498"></A>
+<A NAME="IDX513"></A>
</P>
<P>
-<A NAME="IDX499"></A>
+<A NAME="IDX514"></A>
A <EM>compendium</EM> is a special PO file containing a set of
translations recurring in many different packages. The translator can
use gettext tools to build a new compendium, to add entries to her
@@ -1667,10 +1667,10 @@ already translated entries, from translations kept in the compendium.
-<H4><A NAME="SEC67" HREF="gettext_toc.html#TOC67">8.3.14.1 Creating Compendia</A></H4>
+<H3><A NAME="SEC73" HREF="gettext_toc.html#TOC73">8.4.1 Creating Compendia</A></H3>
<P>
-<A NAME="IDX500"></A>
-<A NAME="IDX501"></A>
+<A NAME="IDX515"></A>
+<A NAME="IDX516"></A>
</P>
<P>
@@ -1682,11 +1682,11 @@ files</CITE> and <CITE>extracting a message subset from a PO file</CITE>.
</P>
-<H4><A NAME="SEC68" HREF="gettext_toc.html#TOC68">8.3.14.2 Concatenate PO Files</A></H4>
+<H4><A NAME="SEC74" HREF="gettext_toc.html#TOC74">8.4.1.1 Concatenate PO Files</A></H4>
<P>
-<A NAME="IDX502"></A>
-<A NAME="IDX503"></A>
+<A NAME="IDX517"></A>
+<A NAME="IDX518"></A>
To concatenate several valid PO files into one compendium file you can
use <SAMP>&lsquo;msgcomm&rsquo;</SAMP> or <SAMP>&lsquo;msgcat&rsquo;</SAMP> (the latter preferred):
@@ -1765,9 +1765,9 @@ files or postprocess the result using <SAMP>&lsquo;msgattrib --translated --no-f
</P>
-<H4><A NAME="SEC69" HREF="gettext_toc.html#TOC69">8.3.14.3 Extract a Message Subset from a PO File</A></H4>
+<H4><A NAME="SEC75" HREF="gettext_toc.html#TOC75">8.4.1.2 Extract a Message Subset from a PO File</A></H4>
<P>
-<A NAME="IDX504"></A>
+<A NAME="IDX519"></A>
</P>
<P>
@@ -1787,7 +1787,7 @@ msggrep --location src/getopt.c -o compendium.po file.po
-<H4><A NAME="SEC70" HREF="gettext_toc.html#TOC70">8.3.14.4 Using Compendia</A></H4>
+<H3><A NAME="SEC76" HREF="gettext_toc.html#TOC76">8.4.2 Using Compendia</A></H3>
<P>
You can use a compendium file to initialize a translation from scratch
@@ -1796,9 +1796,9 @@ or to update an already existing translation.
</P>
-<H4><A NAME="SEC71" HREF="gettext_toc.html#TOC71">8.3.14.5 Initialize a New Translation File</A></H4>
+<H4><A NAME="SEC77" HREF="gettext_toc.html#TOC77">8.4.2.1 Initialize a New Translation File</A></H4>
<P>
-<A NAME="IDX505"></A>
+<A NAME="IDX520"></A>
</P>
<P>
@@ -1813,9 +1813,9 @@ msgmerge --compendium compendium.po -o file.po /dev/null file.pot
-<H4><A NAME="SEC72" HREF="gettext_toc.html#TOC72">8.3.14.6 Update an Existing Translation File</A></H4>
+<H4><A NAME="SEC78" HREF="gettext_toc.html#TOC78">8.4.2.2 Update an Existing Translation File</A></H4>
<P>
-<A NAME="IDX506"></A>
+<A NAME="IDX521"></A>
</P>
<P>
@@ -1827,7 +1827,7 @@ here done using <SAMP>&lsquo;sed&rsquo;</SAMP>):
<PRE>
msgcat --use-first -o update.po compendium1.po compendium2.po file.po
-msgmerge update.po file.pot | sed -e '/^#~/d' &#62; file.po
+msgmerge update.po file.pot | msgattrib --no-obsolete &#62; file.po
</PRE>
<P><HR><P>
diff --git a/gettext-tools/doc/gettext_9.html b/gettext-tools/doc/gettext_9.html
index c2b9777..61fcd49 100644
--- a/gettext-tools/doc/gettext_9.html
+++ b/gettext-tools/doc/gettext_9.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 25 October 2006 -->
+ from gettext.texi on 4 November 2007 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - 9 Manipulating PO Files</TITLE>
@@ -11,9 +11,9 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_8.html">previous<
<P><HR><P>
-<H1><A NAME="SEC73" HREF="gettext_toc.html#TOC73">9 Manipulating PO Files</A></H1>
+<H1><A NAME="SEC79" HREF="gettext_toc.html#TOC79">9 Manipulating PO Files</A></H1>
<P>
-<A NAME="IDX507"></A>
+<A NAME="IDX522"></A>
</P>
<P>
@@ -23,7 +23,7 @@ complete set of tools for this purpose.
</P>
<P>
-<A NAME="IDX508"></A>
+<A NAME="IDX523"></A>
When merging two packages into a single package, the resulting POT file
will be the concatenation of the two packages' POT files. Thus the
maintainer must concatenate the two existing package translations into
@@ -33,7 +33,7 @@ possible conflicts that arose during the merge.
</P>
<P>
-<A NAME="IDX509"></A>
+<A NAME="IDX524"></A>
When a translator takes over the translation job from another translator,
but she uses a different character encoding in her locale, she will
convert the catalog to her character encoding. This is best done through
@@ -49,8 +49,8 @@ that source file and use <SAMP>&lsquo;msgmerge&rsquo;</SAMP>.
</P>
<P>
-<A NAME="IDX510"></A>
-<A NAME="IDX511"></A>
+<A NAME="IDX525"></A>
+<A NAME="IDX526"></A>
When a translator wants to adjust some translation catalog for a special
dialect or orthography -- for example, German as written in Switzerland
versus German as written in Germany -- she needs to apply some text
@@ -67,14 +67,14 @@ that's why it's better to use the original POT file if available.
</P>
<P>
-<A NAME="IDX512"></A>
+<A NAME="IDX527"></A>
When a translator wants to check her translations, for example according
to orthography rules or using a non-interactive spell checker, she can do
so using the <SAMP>&lsquo;msgexec&rsquo;</SAMP> program.
</P>
<P>
-<A NAME="IDX513"></A>
+<A NAME="IDX528"></A>
When third party tools create PO or POT files, sometimes duplicates cannot
be avoided. But the GNU <CODE>gettext</CODE> tools give an error when they
encounter duplicate msgids in the same file and in the same domain.
@@ -92,7 +92,7 @@ completely translated.
</P>
<P>
-<A NAME="IDX514"></A>
+<A NAME="IDX529"></A>
<SAMP>&lsquo;msgattrib&rsquo;</SAMP> can be used to select and extract only the fuzzy
or untranslated messages of a translation catalog.
@@ -111,19 +111,19 @@ write other specialized programs that process PO files.
-<H2><A NAME="SEC74" HREF="gettext_toc.html#TOC74">9.1 Invoking the <CODE>msgcat</CODE> Program</A></H2>
+<H2><A NAME="SEC80" HREF="gettext_toc.html#TOC80">9.1 Invoking the <CODE>msgcat</CODE> Program</A></H2>
<P>
-<A NAME="IDX515"></A>
-<A NAME="IDX516"></A>
+<A NAME="IDX530"></A>
+<A NAME="IDX531"></A>
<PRE>
msgcat [<VAR>option</VAR>] [<VAR>inputfile</VAR>]...
</PRE>
<P>
-<A NAME="IDX517"></A>
-<A NAME="IDX518"></A>
+<A NAME="IDX532"></A>
+<A NAME="IDX533"></A>
The <CODE>msgcat</CODE> program concatenates and merges the specified PO files.
It finds messages which are common to two or more of the specified PO files.
By using the <CODE>--more-than</CODE> option, greater commonality may be requested
@@ -137,7 +137,7 @@ to define them. File positions from all PO files will be cumulated.
</P>
-<H3><A NAME="SEC75" HREF="gettext_toc.html#TOC75">9.1.1 Input file location</A></H3>
+<H3><A NAME="SEC81" HREF="gettext_toc.html#TOC81">9.1.1 Input file location</A></H3>
<DL COMPACT>
@@ -149,8 +149,8 @@ Input files.
<DD>
<DT><SAMP>&lsquo;--files-from=<VAR>file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX519"></A>
-<A NAME="IDX520"></A>
+<A NAME="IDX534"></A>
+<A NAME="IDX535"></A>
Read the names of the input files from <VAR>file</VAR> instead of getting
them from the command line.
@@ -158,8 +158,8 @@ them from the command line.
<DD>
<DT><SAMP>&lsquo;--directory=<VAR>directory</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX521"></A>
-<A NAME="IDX522"></A>
+<A NAME="IDX536"></A>
+<A NAME="IDX537"></A>
Add <VAR>directory</VAR> to the list of directories. Source files are
searched relative to this list of directories. The resulting <TT>&lsquo;.po&rsquo;</TT>
file will be written relative to the current directory, though.
@@ -172,7 +172,7 @@ If <VAR>inputfile</VAR> is <SAMP>&lsquo;-&rsquo;</SAMP>, standard input is read.
</P>
-<H3><A NAME="SEC76" HREF="gettext_toc.html#TOC76">9.1.2 Output file location</A></H3>
+<H3><A NAME="SEC82" HREF="gettext_toc.html#TOC82">9.1.2 Output file location</A></H3>
<DL COMPACT>
@@ -180,21 +180,21 @@ If <VAR>inputfile</VAR> is <SAMP>&lsquo;-&rsquo;</SAMP>, standard input is read.
<DD>
<DT><SAMP>&lsquo;--output-file=<VAR>file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX523"></A>
-<A NAME="IDX524"></A>
+<A NAME="IDX538"></A>
+<A NAME="IDX539"></A>
Write output to specified file.
</DL>
<P>
-<A NAME="IDX525"></A>
+<A NAME="IDX540"></A>
The results are written to standard output if no output file is specified
or if it is <SAMP>&lsquo;-&rsquo;</SAMP>.
</P>
-<H3><A NAME="SEC77" HREF="gettext_toc.html#TOC77">9.1.3 Message selection</A></H3>
+<H3><A NAME="SEC83" HREF="gettext_toc.html#TOC83">9.1.3 Message selection</A></H3>
<DL COMPACT>
@@ -202,8 +202,8 @@ or if it is <SAMP>&lsquo;-&rsquo;</SAMP>.
<DD>
<DT><SAMP>&lsquo;--less-than=<VAR>number</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX526"></A>
-<A NAME="IDX527"></A>
+<A NAME="IDX541"></A>
+<A NAME="IDX542"></A>
Print messages with less than <VAR>number</VAR> definitions, defaults to infinite
if not set.
@@ -211,8 +211,8 @@ if not set.
<DD>
<DT><SAMP>&lsquo;--more-than=<VAR>number</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX528"></A>
-<A NAME="IDX529"></A>
+<A NAME="IDX543"></A>
+<A NAME="IDX544"></A>
Print messages with more than <VAR>number</VAR> definitions, defaults to 0 if not
set.
@@ -220,8 +220,8 @@ set.
<DD>
<DT><SAMP>&lsquo;--unique&rsquo;</SAMP>
<DD>
-<A NAME="IDX530"></A>
-<A NAME="IDX531"></A>
+<A NAME="IDX545"></A>
+<A NAME="IDX546"></A>
Shorthand for <SAMP>&lsquo;--less-than=2&rsquo;</SAMP>. Requests that only unique messages be
printed.
@@ -229,7 +229,7 @@ printed.
-<H3><A NAME="SEC78" HREF="gettext_toc.html#TOC78">9.1.4 Input file syntax</A></H3>
+<H3><A NAME="SEC84" HREF="gettext_toc.html#TOC84">9.1.4 Input file syntax</A></H3>
<DL COMPACT>
@@ -237,14 +237,14 @@ printed.
<DD>
<DT><SAMP>&lsquo;--properties-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX532"></A>
-<A NAME="IDX533"></A>
+<A NAME="IDX547"></A>
+<A NAME="IDX548"></A>
Assume the input files are Java ResourceBundles in Java <CODE>.properties</CODE>
syntax, not in PO file syntax.
<DT><SAMP>&lsquo;--stringtable-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX534"></A>
+<A NAME="IDX549"></A>
Assume the input files are NeXTstep/GNUstep localized resource files in
<CODE>.strings</CODE> syntax, not in PO file syntax.
@@ -252,7 +252,7 @@ Assume the input files are NeXTstep/GNUstep localized resource files in
-<H3><A NAME="SEC79" HREF="gettext_toc.html#TOC79">9.1.5 Output details</A></H3>
+<H3><A NAME="SEC85" HREF="gettext_toc.html#TOC85">9.1.5 Output details</A></H3>
<DL COMPACT>
@@ -260,45 +260,59 @@ Assume the input files are NeXTstep/GNUstep localized resource files in
<DD>
<DT><SAMP>&lsquo;--to-code=<VAR>name</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX535"></A>
-<A NAME="IDX536"></A>
+<A NAME="IDX550"></A>
+<A NAME="IDX551"></A>
Specify encoding for output.
<DT><SAMP>&lsquo;--use-first&rsquo;</SAMP>
<DD>
-<A NAME="IDX537"></A>
+<A NAME="IDX552"></A>
Use first available translation for each message. Don't merge several
translations into one.
+<DT><SAMP>&lsquo;--color&rsquo;</SAMP>
+<DD>
+<DT><SAMP>&lsquo;--color=<VAR>when</VAR>&rsquo;</SAMP>
+<DD>
+<A NAME="IDX553"></A>
+Specify whether or when to use colors and other text attributes.
+See section <A HREF="gettext_9.html#SEC150">9.11.1 The <CODE>--color</CODE> option</A> for details.
+
+<DT><SAMP>&lsquo;--style=<VAR>style_file</VAR>&rsquo;</SAMP>
+<DD>
+<A NAME="IDX554"></A>
+Specify the CSS style rule file to use for <CODE>--color</CODE>.
+See section <A HREF="gettext_9.html#SEC152">9.11.3 The <CODE>--style</CODE> option</A> for details.
+
<DT><SAMP>&lsquo;--force-po&rsquo;</SAMP>
<DD>
-<A NAME="IDX538"></A>
+<A NAME="IDX555"></A>
Always write an output file even if it contains no message.
<DT><SAMP>&lsquo;-i&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--indent&rsquo;</SAMP>
<DD>
-<A NAME="IDX539"></A>
-<A NAME="IDX540"></A>
+<A NAME="IDX556"></A>
+<A NAME="IDX557"></A>
Write the .po file using indented style.
<DT><SAMP>&lsquo;--no-location&rsquo;</SAMP>
<DD>
-<A NAME="IDX541"></A>
+<A NAME="IDX558"></A>
Do not write <SAMP>&lsquo;#: <VAR>filename</VAR>:<VAR>line</VAR>&rsquo;</SAMP> lines.
<DT><SAMP>&lsquo;-n&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--add-location&rsquo;</SAMP>
<DD>
-<A NAME="IDX542"></A>
-<A NAME="IDX543"></A>
+<A NAME="IDX559"></A>
+<A NAME="IDX560"></A>
Generate <SAMP>&lsquo;#: <VAR>filename</VAR>:<VAR>line</VAR>&rsquo;</SAMP> lines (default).
<DT><SAMP>&lsquo;--strict&rsquo;</SAMP>
<DD>
-<A NAME="IDX544"></A>
+<A NAME="IDX561"></A>
Write out a strict Uniforum conforming PO file. Note that this
Uniforum format should be avoided because it doesn't support the
GNU extensions.
@@ -307,15 +321,15 @@ GNU extensions.
<DD>
<DT><SAMP>&lsquo;--properties-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX545"></A>
-<A NAME="IDX546"></A>
+<A NAME="IDX562"></A>
+<A NAME="IDX563"></A>
Write out a Java ResourceBundle in Java <CODE>.properties</CODE> syntax. Note
that this file format doesn't support plural forms and silently drops
obsolete messages.
<DT><SAMP>&lsquo;--stringtable-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX547"></A>
+<A NAME="IDX564"></A>
Write out a NeXTstep/GNUstep localized resource file in <CODE>.strings</CODE> syntax.
Note that this file format doesn't support plural forms.
@@ -323,15 +337,15 @@ Note that this file format doesn't support plural forms.
<DD>
<DT><SAMP>&lsquo;--width=<VAR>number</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX548"></A>
-<A NAME="IDX549"></A>
+<A NAME="IDX565"></A>
+<A NAME="IDX566"></A>
Set the output page width. Long strings in the output files will be
split across multiple lines in order to ensure that each line's width
(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
<DT><SAMP>&lsquo;--no-wrap&rsquo;</SAMP>
<DD>
-<A NAME="IDX550"></A>
+<A NAME="IDX567"></A>
Do not break long message lines. Message lines whose width exceeds the
output page width will not be split into several lines. Only file reference
lines which are wider than the output page width will be split.
@@ -340,9 +354,9 @@ lines which are wider than the output page width will be split.
<DD>
<DT><SAMP>&lsquo;--sort-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX551"></A>
-<A NAME="IDX552"></A>
-<A NAME="IDX553"></A>
+<A NAME="IDX568"></A>
+<A NAME="IDX569"></A>
+<A NAME="IDX570"></A>
Generate sorted output. Note that using this option makes it much harder
for the translator to understand each message's context.
@@ -350,15 +364,15 @@ for the translator to understand each message's context.
<DD>
<DT><SAMP>&lsquo;--sort-by-file&rsquo;</SAMP>
<DD>
-<A NAME="IDX554"></A>
-<A NAME="IDX555"></A>
+<A NAME="IDX571"></A>
+<A NAME="IDX572"></A>
Sort output by file location.
</DL>
-<H3><A NAME="SEC80" HREF="gettext_toc.html#TOC80">9.1.6 Informative output</A></H3>
+<H3><A NAME="SEC86" HREF="gettext_toc.html#TOC86">9.1.6 Informative output</A></H3>
<DL COMPACT>
@@ -366,41 +380,41 @@ Sort output by file location.
<DD>
<DT><SAMP>&lsquo;--help&rsquo;</SAMP>
<DD>
-<A NAME="IDX556"></A>
-<A NAME="IDX557"></A>
+<A NAME="IDX573"></A>
+<A NAME="IDX574"></A>
Display this help and exit.
<DT><SAMP>&lsquo;-V&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--version&rsquo;</SAMP>
<DD>
-<A NAME="IDX558"></A>
-<A NAME="IDX559"></A>
+<A NAME="IDX575"></A>
+<A NAME="IDX576"></A>
Output version information and exit.
</DL>
-<H2><A NAME="SEC81" HREF="gettext_toc.html#TOC81">9.2 Invoking the <CODE>msgconv</CODE> Program</A></H2>
+<H2><A NAME="SEC87" HREF="gettext_toc.html#TOC87">9.2 Invoking the <CODE>msgconv</CODE> Program</A></H2>
<P>
-<A NAME="IDX560"></A>
-<A NAME="IDX561"></A>
+<A NAME="IDX577"></A>
+<A NAME="IDX578"></A>
<PRE>
msgconv [<VAR>option</VAR>] [<VAR>inputfile</VAR>]
</PRE>
<P>
-<A NAME="IDX562"></A>
+<A NAME="IDX579"></A>
The <CODE>msgconv</CODE> program converts a translation catalog to a different
character encoding.
</P>
-<H3><A NAME="SEC82" HREF="gettext_toc.html#TOC82">9.2.1 Input file location</A></H3>
+<H3><A NAME="SEC88" HREF="gettext_toc.html#TOC88">9.2.1 Input file location</A></H3>
<DL COMPACT>
@@ -412,8 +426,8 @@ Input PO file.
<DD>
<DT><SAMP>&lsquo;--directory=<VAR>directory</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX563"></A>
-<A NAME="IDX564"></A>
+<A NAME="IDX580"></A>
+<A NAME="IDX581"></A>
Add <VAR>directory</VAR> to the list of directories. Source files are
searched relative to this list of directories. The resulting <TT>&lsquo;.po&rsquo;</TT>
file will be written relative to the current directory, though.
@@ -426,7 +440,7 @@ If no <VAR>inputfile</VAR> is given or if it is <SAMP>&lsquo;-&rsquo;</SAMP>, st
</P>
-<H3><A NAME="SEC83" HREF="gettext_toc.html#TOC83">9.2.2 Output file location</A></H3>
+<H3><A NAME="SEC89" HREF="gettext_toc.html#TOC89">9.2.2 Output file location</A></H3>
<DL COMPACT>
@@ -434,8 +448,8 @@ If no <VAR>inputfile</VAR> is given or if it is <SAMP>&lsquo;-&rsquo;</SAMP>, st
<DD>
<DT><SAMP>&lsquo;--output-file=<VAR>file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX565"></A>
-<A NAME="IDX566"></A>
+<A NAME="IDX582"></A>
+<A NAME="IDX583"></A>
Write output to specified file.
</DL>
@@ -447,7 +461,7 @@ or if it is <SAMP>&lsquo;-&rsquo;</SAMP>.
</P>
-<H3><A NAME="SEC84" HREF="gettext_toc.html#TOC84">9.2.3 Conversion target</A></H3>
+<H3><A NAME="SEC90" HREF="gettext_toc.html#TOC90">9.2.3 Conversion target</A></H3>
<DL COMPACT>
@@ -455,8 +469,8 @@ or if it is <SAMP>&lsquo;-&rsquo;</SAMP>.
<DD>
<DT><SAMP>&lsquo;--to-code=<VAR>name</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX567"></A>
-<A NAME="IDX568"></A>
+<A NAME="IDX584"></A>
+<A NAME="IDX585"></A>
Specify encoding for output.
</DL>
@@ -467,7 +481,7 @@ The default encoding is the current locale's encoding.
</P>
-<H3><A NAME="SEC85" HREF="gettext_toc.html#TOC85">9.2.4 Input file syntax</A></H3>
+<H3><A NAME="SEC91" HREF="gettext_toc.html#TOC91">9.2.4 Input file syntax</A></H3>
<DL COMPACT>
@@ -475,14 +489,14 @@ The default encoding is the current locale's encoding.
<DD>
<DT><SAMP>&lsquo;--properties-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX569"></A>
-<A NAME="IDX570"></A>
+<A NAME="IDX586"></A>
+<A NAME="IDX587"></A>
Assume the input file is a Java ResourceBundle in Java <CODE>.properties</CODE>
syntax, not in PO file syntax.
<DT><SAMP>&lsquo;--stringtable-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX571"></A>
+<A NAME="IDX588"></A>
Assume the input file is a NeXTstep/GNUstep localized resource file in
<CODE>.strings</CODE> syntax, not in PO file syntax.
@@ -490,36 +504,36 @@ Assume the input file is a NeXTstep/GNUstep localized resource file in
-<H3><A NAME="SEC86" HREF="gettext_toc.html#TOC86">9.2.5 Output details</A></H3>
+<H3><A NAME="SEC92" HREF="gettext_toc.html#TOC92">9.2.5 Output details</A></H3>
<DL COMPACT>
<DT><SAMP>&lsquo;--force-po&rsquo;</SAMP>
<DD>
-<A NAME="IDX572"></A>
+<A NAME="IDX589"></A>
Always write an output file even if it contains no message.
<DT><SAMP>&lsquo;-i&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--indent&rsquo;</SAMP>
<DD>
-<A NAME="IDX573"></A>
-<A NAME="IDX574"></A>
+<A NAME="IDX590"></A>
+<A NAME="IDX591"></A>
Write the .po file using indented style.
<DT><SAMP>&lsquo;--no-location&rsquo;</SAMP>
<DD>
-<A NAME="IDX575"></A>
+<A NAME="IDX592"></A>
Do not write <SAMP>&lsquo;#: <VAR>filename</VAR>:<VAR>line</VAR>&rsquo;</SAMP> lines.
<DT><SAMP>&lsquo;--add-location&rsquo;</SAMP>
<DD>
-<A NAME="IDX576"></A>
+<A NAME="IDX593"></A>
Generate <SAMP>&lsquo;#: <VAR>filename</VAR>:<VAR>line</VAR>&rsquo;</SAMP> lines (default).
<DT><SAMP>&lsquo;--strict&rsquo;</SAMP>
<DD>
-<A NAME="IDX577"></A>
+<A NAME="IDX594"></A>
Write out a strict Uniforum conforming PO file. Note that this
Uniforum format should be avoided because it doesn't support the
GNU extensions.
@@ -528,15 +542,15 @@ GNU extensions.
<DD>
<DT><SAMP>&lsquo;--properties-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX578"></A>
-<A NAME="IDX579"></A>
+<A NAME="IDX595"></A>
+<A NAME="IDX596"></A>
Write out a Java ResourceBundle in Java <CODE>.properties</CODE> syntax. Note
that this file format doesn't support plural forms and silently drops
obsolete messages.
<DT><SAMP>&lsquo;--stringtable-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX580"></A>
+<A NAME="IDX597"></A>
Write out a NeXTstep/GNUstep localized resource file in <CODE>.strings</CODE> syntax.
Note that this file format doesn't support plural forms.
@@ -544,15 +558,15 @@ Note that this file format doesn't support plural forms.
<DD>
<DT><SAMP>&lsquo;--width=<VAR>number</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX581"></A>
-<A NAME="IDX582"></A>
+<A NAME="IDX598"></A>
+<A NAME="IDX599"></A>
Set the output page width. Long strings in the output files will be
split across multiple lines in order to ensure that each line's width
(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
<DT><SAMP>&lsquo;--no-wrap&rsquo;</SAMP>
<DD>
-<A NAME="IDX583"></A>
+<A NAME="IDX600"></A>
Do not break long message lines. Message lines whose width exceeds the
output page width will not be split into several lines. Only file reference
lines which are wider than the output page width will be split.
@@ -561,8 +575,8 @@ lines which are wider than the output page width will be split.
<DD>
<DT><SAMP>&lsquo;--sort-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX584"></A>
-<A NAME="IDX585"></A>
+<A NAME="IDX601"></A>
+<A NAME="IDX602"></A>
Generate sorted output. Note that using this option makes it much harder
for the translator to understand each message's context.
@@ -570,15 +584,15 @@ for the translator to understand each message's context.
<DD>
<DT><SAMP>&lsquo;--sort-by-file&rsquo;</SAMP>
<DD>
-<A NAME="IDX586"></A>
-<A NAME="IDX587"></A>
+<A NAME="IDX603"></A>
+<A NAME="IDX604"></A>
Sort output by file location.
</DL>
-<H3><A NAME="SEC87" HREF="gettext_toc.html#TOC87">9.2.6 Informative output</A></H3>
+<H3><A NAME="SEC93" HREF="gettext_toc.html#TOC93">9.2.6 Informative output</A></H3>
<DL COMPACT>
@@ -586,41 +600,41 @@ Sort output by file location.
<DD>
<DT><SAMP>&lsquo;--help&rsquo;</SAMP>
<DD>
-<A NAME="IDX588"></A>
-<A NAME="IDX589"></A>
+<A NAME="IDX605"></A>
+<A NAME="IDX606"></A>
Display this help and exit.
<DT><SAMP>&lsquo;-V&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--version&rsquo;</SAMP>
<DD>
-<A NAME="IDX590"></A>
-<A NAME="IDX591"></A>
+<A NAME="IDX607"></A>
+<A NAME="IDX608"></A>
Output version information and exit.
</DL>
-<H2><A NAME="SEC88" HREF="gettext_toc.html#TOC88">9.3 Invoking the <CODE>msggrep</CODE> Program</A></H2>
+<H2><A NAME="SEC94" HREF="gettext_toc.html#TOC94">9.3 Invoking the <CODE>msggrep</CODE> Program</A></H2>
<P>
-<A NAME="IDX592"></A>
-<A NAME="IDX593"></A>
+<A NAME="IDX609"></A>
+<A NAME="IDX610"></A>
<PRE>
msggrep [<VAR>option</VAR>] [<VAR>inputfile</VAR>]
</PRE>
<P>
-<A NAME="IDX594"></A>
+<A NAME="IDX611"></A>
The <CODE>msggrep</CODE> program extracts all messages of a translation catalog
that match a given pattern or belong to some given source files.
</P>
-<H3><A NAME="SEC89" HREF="gettext_toc.html#TOC89">9.3.1 Input file location</A></H3>
+<H3><A NAME="SEC95" HREF="gettext_toc.html#TOC95">9.3.1 Input file location</A></H3>
<DL COMPACT>
@@ -632,8 +646,8 @@ Input PO file.
<DD>
<DT><SAMP>&lsquo;--directory=<VAR>directory</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX595"></A>
-<A NAME="IDX596"></A>
+<A NAME="IDX612"></A>
+<A NAME="IDX613"></A>
Add <VAR>directory</VAR> to the list of directories. Source files are
searched relative to this list of directories. The resulting <TT>&lsquo;.po&rsquo;</TT>
file will be written relative to the current directory, though.
@@ -646,7 +660,7 @@ If no <VAR>inputfile</VAR> is given or if it is <SAMP>&lsquo;-&rsquo;</SAMP>, st
</P>
-<H3><A NAME="SEC90" HREF="gettext_toc.html#TOC90">9.3.2 Output file location</A></H3>
+<H3><A NAME="SEC96" HREF="gettext_toc.html#TOC96">9.3.2 Output file location</A></H3>
<DL COMPACT>
@@ -654,8 +668,8 @@ If no <VAR>inputfile</VAR> is given or if it is <SAMP>&lsquo;-&rsquo;</SAMP>, st
<DD>
<DT><SAMP>&lsquo;--output-file=<VAR>file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX597"></A>
-<A NAME="IDX598"></A>
+<A NAME="IDX614"></A>
+<A NAME="IDX615"></A>
Write output to specified file.
</DL>
@@ -667,12 +681,12 @@ or if it is <SAMP>&lsquo;-&rsquo;</SAMP>.
</P>
-<H3><A NAME="SEC91" HREF="gettext_toc.html#TOC91">9.3.3 Message selection</A></H3>
+<H3><A NAME="SEC97" HREF="gettext_toc.html#TOC97">9.3.3 Message selection</A></H3>
<PRE>
[-N <VAR>sourcefile</VAR>]... [-M <VAR>domainname</VAR>]...
- [-J <VAR>msgctxt-pattern</VAR> [-K <VAR>msgid-pattern</VAR>] [-T <VAR>msgstr-pattern</VAR>]
+ [-J <VAR>msgctxt-pattern</VAR>] [-K <VAR>msgid-pattern</VAR>] [-T <VAR>msgstr-pattern</VAR>]
[-C <VAR>comment-pattern</VAR>]
</PRE>
@@ -704,7 +718,7 @@ messages is the union of the selected messages of each criterion.
</P>
<P>
-<VAR>msgid-pattern</VAR> or <VAR>msgstr-pattern</VAR> syntax:
+<VAR>msgctxt-pattern</VAR> or <VAR>msgid-pattern</VAR> or <VAR>msgstr-pattern</VAR> syntax:
<PRE>
[-E | -F] [-e <VAR>pattern</VAR> | -f <VAR>file</VAR>]...
@@ -721,8 +735,8 @@ expressions if -E is given, or fixed strings if -F is given.
<DD>
<DT><SAMP>&lsquo;--location=<VAR>sourcefile</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX599"></A>
-<A NAME="IDX600"></A>
+<A NAME="IDX616"></A>
+<A NAME="IDX617"></A>
Select messages extracted from <VAR>sourcefile</VAR>. <VAR>sourcefile</VAR> can be
either a literal file name or a wildcard pattern.
@@ -730,96 +744,96 @@ either a literal file name or a wildcard pattern.
<DD>
<DT><SAMP>&lsquo;--domain=<VAR>domainname</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX601"></A>
-<A NAME="IDX602"></A>
+<A NAME="IDX618"></A>
+<A NAME="IDX619"></A>
Select messages belonging to domain <VAR>domainname</VAR>.
<DT><SAMP>&lsquo;-J&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--msgctxt&rsquo;</SAMP>
<DD>
-<A NAME="IDX603"></A>
-<A NAME="IDX604"></A>
+<A NAME="IDX620"></A>
+<A NAME="IDX621"></A>
Start of patterns for the msgctxt.
<DT><SAMP>&lsquo;-K&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--msgid&rsquo;</SAMP>
<DD>
-<A NAME="IDX605"></A>
-<A NAME="IDX606"></A>
+<A NAME="IDX622"></A>
+<A NAME="IDX623"></A>
Start of patterns for the msgid.
<DT><SAMP>&lsquo;-T&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--msgstr&rsquo;</SAMP>
<DD>
-<A NAME="IDX607"></A>
-<A NAME="IDX608"></A>
+<A NAME="IDX624"></A>
+<A NAME="IDX625"></A>
Start of patterns for the msgstr.
<DT><SAMP>&lsquo;-C&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--comment&rsquo;</SAMP>
<DD>
-<A NAME="IDX609"></A>
-<A NAME="IDX610"></A>
+<A NAME="IDX626"></A>
+<A NAME="IDX627"></A>
Start of patterns for the translator's comment.
<DT><SAMP>&lsquo;-X&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--extracted-comment&rsquo;</SAMP>
<DD>
-<A NAME="IDX611"></A>
-<A NAME="IDX612"></A>
+<A NAME="IDX628"></A>
+<A NAME="IDX629"></A>
Start of patterns for the extracted comments.
<DT><SAMP>&lsquo;-E&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--extended-regexp&rsquo;</SAMP>
<DD>
-<A NAME="IDX613"></A>
-<A NAME="IDX614"></A>
+<A NAME="IDX630"></A>
+<A NAME="IDX631"></A>
Specify that <VAR>pattern</VAR> is an extended regular expression.
<DT><SAMP>&lsquo;-F&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--fixed-strings&rsquo;</SAMP>
<DD>
-<A NAME="IDX615"></A>
-<A NAME="IDX616"></A>
+<A NAME="IDX632"></A>
+<A NAME="IDX633"></A>
Specify that <VAR>pattern</VAR> is a set of newline-separated strings.
<DT><SAMP>&lsquo;-e <VAR>pattern</VAR>&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--regexp=<VAR>pattern</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX617"></A>
-<A NAME="IDX618"></A>
+<A NAME="IDX634"></A>
+<A NAME="IDX635"></A>
Use <VAR>pattern</VAR> as a regular expression.
<DT><SAMP>&lsquo;-f <VAR>file</VAR>&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--file=<VAR>file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX619"></A>
-<A NAME="IDX620"></A>
+<A NAME="IDX636"></A>
+<A NAME="IDX637"></A>
Obtain <VAR>pattern</VAR> from <VAR>file</VAR>.
<DT><SAMP>&lsquo;-i&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--ignore-case&rsquo;</SAMP>
<DD>
-<A NAME="IDX621"></A>
-<A NAME="IDX622"></A>
+<A NAME="IDX638"></A>
+<A NAME="IDX639"></A>
Ignore case distinctions.
<DT><SAMP>&lsquo;-v&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--invert-match&rsquo;</SAMP>
<DD>
-<A NAME="IDX623"></A>
-<A NAME="IDX624"></A>
+<A NAME="IDX640"></A>
+<A NAME="IDX641"></A>
Output only the messages that do not match any selection criterion, instead
of the messages that match a selection criterion.
@@ -827,7 +841,7 @@ of the messages that match a selection criterion.
-<H3><A NAME="SEC92" HREF="gettext_toc.html#TOC92">9.3.4 Input file syntax</A></H3>
+<H3><A NAME="SEC98" HREF="gettext_toc.html#TOC98">9.3.4 Input file syntax</A></H3>
<DL COMPACT>
@@ -835,14 +849,14 @@ of the messages that match a selection criterion.
<DD>
<DT><SAMP>&lsquo;--properties-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX625"></A>
-<A NAME="IDX626"></A>
+<A NAME="IDX642"></A>
+<A NAME="IDX643"></A>
Assume the input file is a Java ResourceBundle in Java <CODE>.properties</CODE>
syntax, not in PO file syntax.
<DT><SAMP>&lsquo;--stringtable-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX627"></A>
+<A NAME="IDX644"></A>
Assume the input file is a NeXTstep/GNUstep localized resource file in
<CODE>.strings</CODE> syntax, not in PO file syntax.
@@ -850,33 +864,33 @@ Assume the input file is a NeXTstep/GNUstep localized resource file in
-<H3><A NAME="SEC93" HREF="gettext_toc.html#TOC93">9.3.5 Output details</A></H3>
+<H3><A NAME="SEC99" HREF="gettext_toc.html#TOC99">9.3.5 Output details</A></H3>
<DL COMPACT>
<DT><SAMP>&lsquo;--force-po&rsquo;</SAMP>
<DD>
-<A NAME="IDX628"></A>
+<A NAME="IDX645"></A>
Always write an output file even if it contains no message.
<DT><SAMP>&lsquo;--indent&rsquo;</SAMP>
<DD>
-<A NAME="IDX629"></A>
+<A NAME="IDX646"></A>
Write the .po file using indented style.
<DT><SAMP>&lsquo;--no-location&rsquo;</SAMP>
<DD>
-<A NAME="IDX630"></A>
+<A NAME="IDX647"></A>
Do not write <SAMP>&lsquo;#: <VAR>filename</VAR>:<VAR>line</VAR>&rsquo;</SAMP> lines.
<DT><SAMP>&lsquo;--add-location&rsquo;</SAMP>
<DD>
-<A NAME="IDX631"></A>
+<A NAME="IDX648"></A>
Generate <SAMP>&lsquo;#: <VAR>filename</VAR>:<VAR>line</VAR>&rsquo;</SAMP> lines (default).
<DT><SAMP>&lsquo;--strict&rsquo;</SAMP>
<DD>
-<A NAME="IDX632"></A>
+<A NAME="IDX649"></A>
Write out a strict Uniforum conforming PO file. Note that this
Uniforum format should be avoided because it doesn't support the
GNU extensions.
@@ -885,15 +899,15 @@ GNU extensions.
<DD>
<DT><SAMP>&lsquo;--properties-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX633"></A>
-<A NAME="IDX634"></A>
+<A NAME="IDX650"></A>
+<A NAME="IDX651"></A>
Write out a Java ResourceBundle in Java <CODE>.properties</CODE> syntax. Note
that this file format doesn't support plural forms and silently drops
obsolete messages.
<DT><SAMP>&lsquo;--stringtable-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX635"></A>
+<A NAME="IDX652"></A>
Write out a NeXTstep/GNUstep localized resource file in <CODE>.strings</CODE> syntax.
Note that this file format doesn't support plural forms.
@@ -901,35 +915,35 @@ Note that this file format doesn't support plural forms.
<DD>
<DT><SAMP>&lsquo;--width=<VAR>number</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX636"></A>
-<A NAME="IDX637"></A>
+<A NAME="IDX653"></A>
+<A NAME="IDX654"></A>
Set the output page width. Long strings in the output files will be
split across multiple lines in order to ensure that each line's width
(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
<DT><SAMP>&lsquo;--no-wrap&rsquo;</SAMP>
<DD>
-<A NAME="IDX638"></A>
+<A NAME="IDX655"></A>
Do not break long message lines. Message lines whose width exceeds the
output page width will not be split into several lines. Only file reference
lines which are wider than the output page width will be split.
<DT><SAMP>&lsquo;--sort-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX639"></A>
+<A NAME="IDX656"></A>
Generate sorted output. Note that using this option makes it much harder
for the translator to understand each message's context.
<DT><SAMP>&lsquo;--sort-by-file&rsquo;</SAMP>
<DD>
-<A NAME="IDX640"></A>
+<A NAME="IDX657"></A>
Sort output by file location.
</DL>
-<H3><A NAME="SEC94" HREF="gettext_toc.html#TOC94">9.3.6 Informative output</A></H3>
+<H3><A NAME="SEC100" HREF="gettext_toc.html#TOC100">9.3.6 Informative output</A></H3>
<DL COMPACT>
@@ -937,41 +951,85 @@ Sort output by file location.
<DD>
<DT><SAMP>&lsquo;--help&rsquo;</SAMP>
<DD>
-<A NAME="IDX641"></A>
-<A NAME="IDX642"></A>
+<A NAME="IDX658"></A>
+<A NAME="IDX659"></A>
Display this help and exit.
<DT><SAMP>&lsquo;-V&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--version&rsquo;</SAMP>
<DD>
-<A NAME="IDX643"></A>
-<A NAME="IDX644"></A>
+<A NAME="IDX660"></A>
+<A NAME="IDX661"></A>
Output version information and exit.
</DL>
-<H2><A NAME="SEC95" HREF="gettext_toc.html#TOC95">9.4 Invoking the <CODE>msgfilter</CODE> Program</A></H2>
+<H3><A NAME="SEC101" HREF="gettext_toc.html#TOC101">9.3.7 Examples</A></H3>
<P>
-<A NAME="IDX645"></A>
-<A NAME="IDX646"></A>
+To extract the messages that come from the source files
+<CODE>gnulib-lib/error.c</CODE> and <CODE>gnulib-lib/getopt.c</CODE>:
+
+</P>
+
+<PRE>
+msggrep -N gnulib-lib/error.c -N gnulib-lib/getopt.c input.po
+</PRE>
+
+<P>
+To extract the messages that contain the string “Please specify†in the
+original string:
+
+</P>
+
+<PRE>
+msggrep --msgid -F -e 'Please specify' input.po
+</PRE>
+
+<P>
+To extract the messages that have a context specifier of either “Menu&#62;Fileâ€
+or “Menu&#62;Edit†or a submenu of them:
+
+</P>
+
+<PRE>
+msggrep --msgctxt -E -e '^Menu&#62;(File|Edit)' input.po
+</PRE>
+
+<P>
+To extract the messages whose translation contains one of the strings in the
+file <CODE>wordlist.txt</CODE>:
+
+</P>
+
+<PRE>
+msggrep --msgstr -F -f wordlist.txt input.po
+</PRE>
+
+
+
+<H2><A NAME="SEC102" HREF="gettext_toc.html#TOC102">9.4 Invoking the <CODE>msgfilter</CODE> Program</A></H2>
+
+<P>
+<A NAME="IDX662"></A>
+<A NAME="IDX663"></A>
<PRE>
msgfilter [<VAR>option</VAR>] <VAR>filter</VAR> [<VAR>filter-option</VAR>]
</PRE>
<P>
-<A NAME="IDX647"></A>
+<A NAME="IDX664"></A>
The <CODE>msgfilter</CODE> program applies a filter to all translations of a
translation catalog.
</P>
-<H3><A NAME="SEC96" HREF="gettext_toc.html#TOC96">9.4.1 Input file location</A></H3>
+<H3><A NAME="SEC103" HREF="gettext_toc.html#TOC103">9.4.1 Input file location</A></H3>
<DL COMPACT>
@@ -979,16 +1037,16 @@ translation catalog.
<DD>
<DT><SAMP>&lsquo;--input=<VAR>inputfile</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX648"></A>
-<A NAME="IDX649"></A>
+<A NAME="IDX665"></A>
+<A NAME="IDX666"></A>
Input PO file.
<DT><SAMP>&lsquo;-D <VAR>directory</VAR>&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--directory=<VAR>directory</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX650"></A>
-<A NAME="IDX651"></A>
+<A NAME="IDX667"></A>
+<A NAME="IDX668"></A>
Add <VAR>directory</VAR> to the list of directories. Source files are
searched relative to this list of directories. The resulting <TT>&lsquo;.po&rsquo;</TT>
file will be written relative to the current directory, though.
@@ -1001,7 +1059,7 @@ If no <VAR>inputfile</VAR> is given or if it is <SAMP>&lsquo;-&rsquo;</SAMP>, st
</P>
-<H3><A NAME="SEC97" HREF="gettext_toc.html#TOC97">9.4.2 Output file location</A></H3>
+<H3><A NAME="SEC104" HREF="gettext_toc.html#TOC104">9.4.2 Output file location</A></H3>
<DL COMPACT>
@@ -1009,8 +1067,8 @@ If no <VAR>inputfile</VAR> is given or if it is <SAMP>&lsquo;-&rsquo;</SAMP>, st
<DD>
<DT><SAMP>&lsquo;--output-file=<VAR>file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX652"></A>
-<A NAME="IDX653"></A>
+<A NAME="IDX669"></A>
+<A NAME="IDX670"></A>
Write output to specified file.
</DL>
@@ -1022,7 +1080,7 @@ or if it is <SAMP>&lsquo;-&rsquo;</SAMP>.
</P>
-<H3><A NAME="SEC98" HREF="gettext_toc.html#TOC98">9.4.3 The filter</A></H3>
+<H3><A NAME="SEC105" HREF="gettext_toc.html#TOC105">9.4.3 The filter</A></H3>
<P>
The <VAR>filter</VAR> can be any program that reads a translation from standard
@@ -1032,7 +1090,7 @@ recognized.
</P>
<P>
-<A NAME="IDX654"></A>
+<A NAME="IDX671"></A>
Note: If the filter is not a built-in filter, you have to care about encodings:
It is your responsibility to ensure that the <VAR>filter</VAR> can cope
with input encoded in the translation catalog's encoding. If the
@@ -1046,7 +1104,7 @@ locale, by using the <CODE>LC_ALL</CODE> environment variable.
</P>
<P>
-<A NAME="IDX655"></A>
+<A NAME="IDX672"></A>
Note: Most translations in a translation catalog don't end with a newline
character. For this reason, it is important that the <VAR>filter</VAR>
recognizes its last input line even if it ends without a newline, and that
@@ -1058,7 +1116,7 @@ does not have this limitation.
</P>
-<H3><A NAME="SEC99" HREF="gettext_toc.html#TOC99">9.4.4 Useful <VAR>filter-option</VAR>s when the <VAR>filter</VAR> is <SAMP>&lsquo;sed&rsquo;</SAMP></A></H3>
+<H3><A NAME="SEC106" HREF="gettext_toc.html#TOC106">9.4.4 Useful <VAR>filter-option</VAR>s when the <VAR>filter</VAR> is <SAMP>&lsquo;sed&rsquo;</SAMP></A></H3>
<DL COMPACT>
@@ -1066,16 +1124,16 @@ does not have this limitation.
<DD>
<DT><SAMP>&lsquo;--expression=<VAR>script</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX656"></A>
-<A NAME="IDX657"></A>
+<A NAME="IDX673"></A>
+<A NAME="IDX674"></A>
Add <VAR>script</VAR> to the commands to be executed.
<DT><SAMP>&lsquo;-f <VAR>scriptfile</VAR>&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--file=<VAR>scriptfile</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX658"></A>
-<A NAME="IDX659"></A>
+<A NAME="IDX675"></A>
+<A NAME="IDX676"></A>
Add the contents of <VAR>scriptfile</VAR> to the commands to be executed.
<DT><SAMP>&lsquo;-n&rsquo;</SAMP>
@@ -1084,20 +1142,20 @@ Add the contents of <VAR>scriptfile</VAR> to the commands to be executed.
<DD>
<DT><SAMP>&lsquo;--silent&rsquo;</SAMP>
<DD>
-<A NAME="IDX660"></A>
-<A NAME="IDX661"></A>
-<A NAME="IDX662"></A>
+<A NAME="IDX677"></A>
+<A NAME="IDX678"></A>
+<A NAME="IDX679"></A>
Suppress automatic printing of pattern space.
</DL>
-<H3><A NAME="SEC100" HREF="gettext_toc.html#TOC100">9.4.5 Built-in <VAR>filter</VAR>s</A></H3>
+<H3><A NAME="SEC107" HREF="gettext_toc.html#TOC107">9.4.5 Built-in <VAR>filter</VAR>s</A></H3>
<P>
-<A NAME="IDX663"></A>
-<A NAME="IDX664"></A>
+<A NAME="IDX680"></A>
+<A NAME="IDX681"></A>
The filter <SAMP>&lsquo;recode-sr-latin&rsquo;</SAMP> is recognized as a built-in filter.
The command <SAMP>&lsquo;recode-sr-latin&rsquo;</SAMP> converts Serbian text, written in the
Cyrillic script, to the Latin script.
@@ -1114,7 +1172,7 @@ convert the message catalog to the UTF-8 encoding when needed.
</P>
-<H3><A NAME="SEC101" HREF="gettext_toc.html#TOC101">9.4.6 Input file syntax</A></H3>
+<H3><A NAME="SEC108" HREF="gettext_toc.html#TOC108">9.4.6 Input file syntax</A></H3>
<DL COMPACT>
@@ -1122,14 +1180,14 @@ convert the message catalog to the UTF-8 encoding when needed.
<DD>
<DT><SAMP>&lsquo;--properties-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX665"></A>
-<A NAME="IDX666"></A>
+<A NAME="IDX682"></A>
+<A NAME="IDX683"></A>
Assume the input file is a Java ResourceBundle in Java <CODE>.properties</CODE>
syntax, not in PO file syntax.
<DT><SAMP>&lsquo;--stringtable-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX667"></A>
+<A NAME="IDX684"></A>
Assume the input file is a NeXTstep/GNUstep localized resource file in
<CODE>.strings</CODE> syntax, not in PO file syntax.
@@ -1137,40 +1195,40 @@ Assume the input file is a NeXTstep/GNUstep localized resource file in
-<H3><A NAME="SEC102" HREF="gettext_toc.html#TOC102">9.4.7 Output details</A></H3>
+<H3><A NAME="SEC109" HREF="gettext_toc.html#TOC109">9.4.7 Output details</A></H3>
<DL COMPACT>
<DT><SAMP>&lsquo;--force-po&rsquo;</SAMP>
<DD>
-<A NAME="IDX668"></A>
+<A NAME="IDX685"></A>
Always write an output file even if it contains no message.
<DT><SAMP>&lsquo;--indent&rsquo;</SAMP>
<DD>
-<A NAME="IDX669"></A>
+<A NAME="IDX686"></A>
Write the .po file using indented style.
<DT><SAMP>&lsquo;--keep-header&rsquo;</SAMP>
<DD>
-<A NAME="IDX670"></A>
+<A NAME="IDX687"></A>
Keep the header entry, i.e. the message with <SAMP>&lsquo;msgid ""&rsquo;</SAMP>, unmodified,
instead of filtering it. By default, the header entry is subject to
filtering like any other message.
<DT><SAMP>&lsquo;--no-location&rsquo;</SAMP>
<DD>
-<A NAME="IDX671"></A>
+<A NAME="IDX688"></A>
Do not write <SAMP>&lsquo;#: <VAR>filename</VAR>:<VAR>line</VAR>&rsquo;</SAMP> lines.
<DT><SAMP>&lsquo;--add-location&rsquo;</SAMP>
<DD>
-<A NAME="IDX672"></A>
+<A NAME="IDX689"></A>
Generate <SAMP>&lsquo;#: <VAR>filename</VAR>:<VAR>line</VAR>&rsquo;</SAMP> lines (default).
<DT><SAMP>&lsquo;--strict&rsquo;</SAMP>
<DD>
-<A NAME="IDX673"></A>
+<A NAME="IDX690"></A>
Write out a strict Uniforum conforming PO file. Note that this
Uniforum format should be avoided because it doesn't support the
GNU extensions.
@@ -1179,15 +1237,15 @@ GNU extensions.
<DD>
<DT><SAMP>&lsquo;--properties-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX674"></A>
-<A NAME="IDX675"></A>
+<A NAME="IDX691"></A>
+<A NAME="IDX692"></A>
Write out a Java ResourceBundle in Java <CODE>.properties</CODE> syntax. Note
that this file format doesn't support plural forms and silently drops
obsolete messages.
<DT><SAMP>&lsquo;--stringtable-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX676"></A>
+<A NAME="IDX693"></A>
Write out a NeXTstep/GNUstep localized resource file in <CODE>.strings</CODE> syntax.
Note that this file format doesn't support plural forms.
@@ -1195,15 +1253,15 @@ Note that this file format doesn't support plural forms.
<DD>
<DT><SAMP>&lsquo;--width=<VAR>number</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX677"></A>
-<A NAME="IDX678"></A>
+<A NAME="IDX694"></A>
+<A NAME="IDX695"></A>
Set the output page width. Long strings in the output files will be
split across multiple lines in order to ensure that each line's width
(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
<DT><SAMP>&lsquo;--no-wrap&rsquo;</SAMP>
<DD>
-<A NAME="IDX679"></A>
+<A NAME="IDX696"></A>
Do not break long message lines. Message lines whose width exceeds the
output page width will not be split into several lines. Only file reference
lines which are wider than the output page width will be split.
@@ -1212,8 +1270,8 @@ lines which are wider than the output page width will be split.
<DD>
<DT><SAMP>&lsquo;--sort-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX680"></A>
-<A NAME="IDX681"></A>
+<A NAME="IDX697"></A>
+<A NAME="IDX698"></A>
Generate sorted output. Note that using this option makes it much harder
for the translator to understand each message's context.
@@ -1221,15 +1279,15 @@ for the translator to understand each message's context.
<DD>
<DT><SAMP>&lsquo;--sort-by-file&rsquo;</SAMP>
<DD>
-<A NAME="IDX682"></A>
-<A NAME="IDX683"></A>
+<A NAME="IDX699"></A>
+<A NAME="IDX700"></A>
Sort output by file location.
</DL>
-<H3><A NAME="SEC103" HREF="gettext_toc.html#TOC103">9.4.8 Informative output</A></H3>
+<H3><A NAME="SEC110" HREF="gettext_toc.html#TOC110">9.4.8 Informative output</A></H3>
<DL COMPACT>
@@ -1237,35 +1295,57 @@ Sort output by file location.
<DD>
<DT><SAMP>&lsquo;--help&rsquo;</SAMP>
<DD>
-<A NAME="IDX684"></A>
-<A NAME="IDX685"></A>
+<A NAME="IDX701"></A>
+<A NAME="IDX702"></A>
Display this help and exit.
<DT><SAMP>&lsquo;-V&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--version&rsquo;</SAMP>
<DD>
-<A NAME="IDX686"></A>
-<A NAME="IDX687"></A>
+<A NAME="IDX703"></A>
+<A NAME="IDX704"></A>
Output version information and exit.
</DL>
-<H2><A NAME="SEC104" HREF="gettext_toc.html#TOC104">9.5 Invoking the <CODE>msguniq</CODE> Program</A></H2>
+<H3><A NAME="SEC111" HREF="gettext_toc.html#TOC111">9.4.9 Examples</A></H3>
<P>
-<A NAME="IDX688"></A>
-<A NAME="IDX689"></A>
+To convert German translations to Swiss orthography (in an UTF-8 locale):
+
+</P>
+
+<PRE>
+msgconv -t UTF-8 de.po | msgfilter sed -e 's/&szlig;/ss/g'
+</PRE>
+
+<P>
+To convert Serbian translations in Cyrillic script to Latin script:
+
+</P>
+
+<PRE>
+msgfilter recode-sr-latin sr.po
+</PRE>
+
+
+
+<H2><A NAME="SEC112" HREF="gettext_toc.html#TOC112">9.5 Invoking the <CODE>msguniq</CODE> Program</A></H2>
+
+<P>
+<A NAME="IDX705"></A>
+<A NAME="IDX706"></A>
<PRE>
msguniq [<VAR>option</VAR>] [<VAR>inputfile</VAR>]
</PRE>
<P>
-<A NAME="IDX690"></A>
-<A NAME="IDX691"></A>
+<A NAME="IDX707"></A>
+<A NAME="IDX708"></A>
The <CODE>msguniq</CODE> program unifies duplicate translations in a translation
catalog. It finds duplicate translations of the same message ID. Such
duplicates are invalid input for other programs like <CODE>msgfmt</CODE>,
@@ -1280,7 +1360,7 @@ discarded.
</P>
-<H3><A NAME="SEC105" HREF="gettext_toc.html#TOC105">9.5.1 Input file location</A></H3>
+<H3><A NAME="SEC113" HREF="gettext_toc.html#TOC113">9.5.1 Input file location</A></H3>
<DL COMPACT>
@@ -1292,8 +1372,8 @@ Input PO file.
<DD>
<DT><SAMP>&lsquo;--directory=<VAR>directory</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX692"></A>
-<A NAME="IDX693"></A>
+<A NAME="IDX709"></A>
+<A NAME="IDX710"></A>
Add <VAR>directory</VAR> to the list of directories. Source files are
searched relative to this list of directories. The resulting <TT>&lsquo;.po&rsquo;</TT>
file will be written relative to the current directory, though.
@@ -1306,7 +1386,7 @@ If no <VAR>inputfile</VAR> is given or if it is <SAMP>&lsquo;-&rsquo;</SAMP>, st
</P>
-<H3><A NAME="SEC106" HREF="gettext_toc.html#TOC106">9.5.2 Output file location</A></H3>
+<H3><A NAME="SEC114" HREF="gettext_toc.html#TOC114">9.5.2 Output file location</A></H3>
<DL COMPACT>
@@ -1314,8 +1394,8 @@ If no <VAR>inputfile</VAR> is given or if it is <SAMP>&lsquo;-&rsquo;</SAMP>, st
<DD>
<DT><SAMP>&lsquo;--output-file=<VAR>file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX694"></A>
-<A NAME="IDX695"></A>
+<A NAME="IDX711"></A>
+<A NAME="IDX712"></A>
Write output to specified file.
</DL>
@@ -1327,7 +1407,7 @@ or if it is <SAMP>&lsquo;-&rsquo;</SAMP>.
</P>
-<H3><A NAME="SEC107" HREF="gettext_toc.html#TOC107">9.5.3 Message selection</A></H3>
+<H3><A NAME="SEC115" HREF="gettext_toc.html#TOC115">9.5.3 Message selection</A></H3>
<DL COMPACT>
@@ -1335,23 +1415,23 @@ or if it is <SAMP>&lsquo;-&rsquo;</SAMP>.
<DD>
<DT><SAMP>&lsquo;--repeated&rsquo;</SAMP>
<DD>
-<A NAME="IDX696"></A>
-<A NAME="IDX697"></A>
+<A NAME="IDX713"></A>
+<A NAME="IDX714"></A>
Print only duplicates.
<DT><SAMP>&lsquo;-u&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--unique&rsquo;</SAMP>
<DD>
-<A NAME="IDX698"></A>
-<A NAME="IDX699"></A>
+<A NAME="IDX715"></A>
+<A NAME="IDX716"></A>
Print only unique messages, discard duplicates.
</DL>
-<H3><A NAME="SEC108" HREF="gettext_toc.html#TOC108">9.5.4 Input file syntax</A></H3>
+<H3><A NAME="SEC116" HREF="gettext_toc.html#TOC116">9.5.4 Input file syntax</A></H3>
<DL COMPACT>
@@ -1359,14 +1439,14 @@ Print only unique messages, discard duplicates.
<DD>
<DT><SAMP>&lsquo;--properties-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX700"></A>
-<A NAME="IDX701"></A>
+<A NAME="IDX717"></A>
+<A NAME="IDX718"></A>
Assume the input file is a Java ResourceBundle in Java <CODE>.properties</CODE>
syntax, not in PO file syntax.
<DT><SAMP>&lsquo;--stringtable-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX702"></A>
+<A NAME="IDX719"></A>
Assume the input file is a NeXTstep/GNUstep localized resource file in
<CODE>.strings</CODE> syntax, not in PO file syntax.
@@ -1374,7 +1454,7 @@ Assume the input file is a NeXTstep/GNUstep localized resource file in
-<H3><A NAME="SEC109" HREF="gettext_toc.html#TOC109">9.5.5 Output details</A></H3>
+<H3><A NAME="SEC117" HREF="gettext_toc.html#TOC117">9.5.5 Output details</A></H3>
<DL COMPACT>
@@ -1382,45 +1462,45 @@ Assume the input file is a NeXTstep/GNUstep localized resource file in
<DD>
<DT><SAMP>&lsquo;--to-code=<VAR>name</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX703"></A>
-<A NAME="IDX704"></A>
+<A NAME="IDX720"></A>
+<A NAME="IDX721"></A>
Specify encoding for output.
<DT><SAMP>&lsquo;--use-first&rsquo;</SAMP>
<DD>
-<A NAME="IDX705"></A>
+<A NAME="IDX722"></A>
Use first available translation for each message. Don't merge several
translations into one.
<DT><SAMP>&lsquo;--force-po&rsquo;</SAMP>
<DD>
-<A NAME="IDX706"></A>
+<A NAME="IDX723"></A>
Always write an output file even if it contains no message.
<DT><SAMP>&lsquo;-i&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--indent&rsquo;</SAMP>
<DD>
-<A NAME="IDX707"></A>
-<A NAME="IDX708"></A>
+<A NAME="IDX724"></A>
+<A NAME="IDX725"></A>
Write the .po file using indented style.
<DT><SAMP>&lsquo;--no-location&rsquo;</SAMP>
<DD>
-<A NAME="IDX709"></A>
+<A NAME="IDX726"></A>
Do not write <SAMP>&lsquo;#: <VAR>filename</VAR>:<VAR>line</VAR>&rsquo;</SAMP> lines.
<DT><SAMP>&lsquo;-n&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--add-location&rsquo;</SAMP>
<DD>
-<A NAME="IDX710"></A>
-<A NAME="IDX711"></A>
+<A NAME="IDX727"></A>
+<A NAME="IDX728"></A>
Generate <SAMP>&lsquo;#: <VAR>filename</VAR>:<VAR>line</VAR>&rsquo;</SAMP> lines (default).
<DT><SAMP>&lsquo;--strict&rsquo;</SAMP>
<DD>
-<A NAME="IDX712"></A>
+<A NAME="IDX729"></A>
Write out a strict Uniforum conforming PO file. Note that this
Uniforum format should be avoided because it doesn't support the
GNU extensions.
@@ -1429,15 +1509,15 @@ GNU extensions.
<DD>
<DT><SAMP>&lsquo;--properties-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX713"></A>
-<A NAME="IDX714"></A>
+<A NAME="IDX730"></A>
+<A NAME="IDX731"></A>
Write out a Java ResourceBundle in Java <CODE>.properties</CODE> syntax. Note
that this file format doesn't support plural forms and silently drops
obsolete messages.
<DT><SAMP>&lsquo;--stringtable-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX715"></A>
+<A NAME="IDX732"></A>
Write out a NeXTstep/GNUstep localized resource file in <CODE>.strings</CODE> syntax.
Note that this file format doesn't support plural forms.
@@ -1445,15 +1525,15 @@ Note that this file format doesn't support plural forms.
<DD>
<DT><SAMP>&lsquo;--width=<VAR>number</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX716"></A>
-<A NAME="IDX717"></A>
+<A NAME="IDX733"></A>
+<A NAME="IDX734"></A>
Set the output page width. Long strings in the output files will be
split across multiple lines in order to ensure that each line's width
(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
<DT><SAMP>&lsquo;--no-wrap&rsquo;</SAMP>
<DD>
-<A NAME="IDX718"></A>
+<A NAME="IDX735"></A>
Do not break long message lines. Message lines whose width exceeds the
output page width will not be split into several lines. Only file reference
lines which are wider than the output page width will be split.
@@ -1462,8 +1542,8 @@ lines which are wider than the output page width will be split.
<DD>
<DT><SAMP>&lsquo;--sort-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX719"></A>
-<A NAME="IDX720"></A>
+<A NAME="IDX736"></A>
+<A NAME="IDX737"></A>
Generate sorted output. Note that using this option makes it much harder
for the translator to understand each message's context.
@@ -1471,15 +1551,15 @@ for the translator to understand each message's context.
<DD>
<DT><SAMP>&lsquo;--sort-by-file&rsquo;</SAMP>
<DD>
-<A NAME="IDX721"></A>
-<A NAME="IDX722"></A>
+<A NAME="IDX738"></A>
+<A NAME="IDX739"></A>
Sort output by file location.
</DL>
-<H3><A NAME="SEC110" HREF="gettext_toc.html#TOC110">9.5.6 Informative output</A></H3>
+<H3><A NAME="SEC118" HREF="gettext_toc.html#TOC118">9.5.6 Informative output</A></H3>
<DL COMPACT>
@@ -1487,34 +1567,34 @@ Sort output by file location.
<DD>
<DT><SAMP>&lsquo;--help&rsquo;</SAMP>
<DD>
-<A NAME="IDX723"></A>
-<A NAME="IDX724"></A>
+<A NAME="IDX740"></A>
+<A NAME="IDX741"></A>
Display this help and exit.
<DT><SAMP>&lsquo;-V&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--version&rsquo;</SAMP>
<DD>
-<A NAME="IDX725"></A>
-<A NAME="IDX726"></A>
+<A NAME="IDX742"></A>
+<A NAME="IDX743"></A>
Output version information and exit.
</DL>
-<H2><A NAME="SEC111" HREF="gettext_toc.html#TOC111">9.6 Invoking the <CODE>msgcomm</CODE> Program</A></H2>
+<H2><A NAME="SEC119" HREF="gettext_toc.html#TOC119">9.6 Invoking the <CODE>msgcomm</CODE> Program</A></H2>
<P>
-<A NAME="IDX727"></A>
-<A NAME="IDX728"></A>
+<A NAME="IDX744"></A>
+<A NAME="IDX745"></A>
<PRE>
msgcomm [<VAR>option</VAR>] [<VAR>inputfile</VAR>]...
</PRE>
<P>
-<A NAME="IDX729"></A>
+<A NAME="IDX746"></A>
The <CODE>msgcomm</CODE> program finds messages which are common to two or more
of the specified PO files.
By using the <CODE>--more-than</CODE> option, greater commonality may be requested
@@ -1528,7 +1608,7 @@ cumulated.
</P>
-<H3><A NAME="SEC112" HREF="gettext_toc.html#TOC112">9.6.1 Input file location</A></H3>
+<H3><A NAME="SEC120" HREF="gettext_toc.html#TOC120">9.6.1 Input file location</A></H3>
<DL COMPACT>
@@ -1540,8 +1620,8 @@ Input files.
<DD>
<DT><SAMP>&lsquo;--files-from=<VAR>file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX730"></A>
-<A NAME="IDX731"></A>
+<A NAME="IDX747"></A>
+<A NAME="IDX748"></A>
Read the names of the input files from <VAR>file</VAR> instead of getting
them from the command line.
@@ -1549,8 +1629,8 @@ them from the command line.
<DD>
<DT><SAMP>&lsquo;--directory=<VAR>directory</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX732"></A>
-<A NAME="IDX733"></A>
+<A NAME="IDX749"></A>
+<A NAME="IDX750"></A>
Add <VAR>directory</VAR> to the list of directories. Source files are
searched relative to this list of directories. The resulting <TT>&lsquo;.po&rsquo;</TT>
file will be written relative to the current directory, though.
@@ -1563,7 +1643,7 @@ If <VAR>inputfile</VAR> is <SAMP>&lsquo;-&rsquo;</SAMP>, standard input is read.
</P>
-<H3><A NAME="SEC113" HREF="gettext_toc.html#TOC113">9.6.2 Output file location</A></H3>
+<H3><A NAME="SEC121" HREF="gettext_toc.html#TOC121">9.6.2 Output file location</A></H3>
<DL COMPACT>
@@ -1571,8 +1651,8 @@ If <VAR>inputfile</VAR> is <SAMP>&lsquo;-&rsquo;</SAMP>, standard input is read.
<DD>
<DT><SAMP>&lsquo;--output-file=<VAR>file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX734"></A>
-<A NAME="IDX735"></A>
+<A NAME="IDX751"></A>
+<A NAME="IDX752"></A>
Write output to specified file.
</DL>
@@ -1584,7 +1664,7 @@ or if it is <SAMP>&lsquo;-&rsquo;</SAMP>.
</P>
-<H3><A NAME="SEC114" HREF="gettext_toc.html#TOC114">9.6.3 Message selection</A></H3>
+<H3><A NAME="SEC122" HREF="gettext_toc.html#TOC122">9.6.3 Message selection</A></H3>
<DL COMPACT>
@@ -1592,8 +1672,8 @@ or if it is <SAMP>&lsquo;-&rsquo;</SAMP>.
<DD>
<DT><SAMP>&lsquo;--less-than=<VAR>number</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX736"></A>
-<A NAME="IDX737"></A>
+<A NAME="IDX753"></A>
+<A NAME="IDX754"></A>
Print messages with less than <VAR>number</VAR> definitions, defaults to infinite
if not set.
@@ -1601,8 +1681,8 @@ if not set.
<DD>
<DT><SAMP>&lsquo;--more-than=<VAR>number</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX738"></A>
-<A NAME="IDX739"></A>
+<A NAME="IDX755"></A>
+<A NAME="IDX756"></A>
Print messages with more than <VAR>number</VAR> definitions, defaults to 1 if not
set.
@@ -1610,8 +1690,8 @@ set.
<DD>
<DT><SAMP>&lsquo;--unique&rsquo;</SAMP>
<DD>
-<A NAME="IDX740"></A>
-<A NAME="IDX741"></A>
+<A NAME="IDX757"></A>
+<A NAME="IDX758"></A>
Shorthand for <SAMP>&lsquo;--less-than=2&rsquo;</SAMP>. Requests that only unique messages be
printed.
@@ -1619,7 +1699,7 @@ printed.
-<H3><A NAME="SEC115" HREF="gettext_toc.html#TOC115">9.6.4 Input file syntax</A></H3>
+<H3><A NAME="SEC123" HREF="gettext_toc.html#TOC123">9.6.4 Input file syntax</A></H3>
<DL COMPACT>
@@ -1627,14 +1707,14 @@ printed.
<DD>
<DT><SAMP>&lsquo;--properties-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX742"></A>
-<A NAME="IDX743"></A>
+<A NAME="IDX759"></A>
+<A NAME="IDX760"></A>
Assume the input files are Java ResourceBundles in Java <CODE>.properties</CODE>
syntax, not in PO file syntax.
<DT><SAMP>&lsquo;--stringtable-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX744"></A>
+<A NAME="IDX761"></A>
Assume the input files are NeXTstep/GNUstep localized resource files in
<CODE>.strings</CODE> syntax, not in PO file syntax.
@@ -1642,39 +1722,39 @@ Assume the input files are NeXTstep/GNUstep localized resource files in
-<H3><A NAME="SEC116" HREF="gettext_toc.html#TOC116">9.6.5 Output details</A></H3>
+<H3><A NAME="SEC124" HREF="gettext_toc.html#TOC124">9.6.5 Output details</A></H3>
<DL COMPACT>
<DT><SAMP>&lsquo;--force-po&rsquo;</SAMP>
<DD>
-<A NAME="IDX745"></A>
+<A NAME="IDX762"></A>
Always write an output file even if it contains no message.
<DT><SAMP>&lsquo;-i&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--indent&rsquo;</SAMP>
<DD>
-<A NAME="IDX746"></A>
-<A NAME="IDX747"></A>
+<A NAME="IDX763"></A>
+<A NAME="IDX764"></A>
Write the .po file using indented style.
<DT><SAMP>&lsquo;--no-location&rsquo;</SAMP>
<DD>
-<A NAME="IDX748"></A>
+<A NAME="IDX765"></A>
Do not write <SAMP>&lsquo;#: <VAR>filename</VAR>:<VAR>line</VAR>&rsquo;</SAMP> lines.
<DT><SAMP>&lsquo;-n&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--add-location&rsquo;</SAMP>
<DD>
-<A NAME="IDX749"></A>
-<A NAME="IDX750"></A>
+<A NAME="IDX766"></A>
+<A NAME="IDX767"></A>
Generate <SAMP>&lsquo;#: <VAR>filename</VAR>:<VAR>line</VAR>&rsquo;</SAMP> lines (default).
<DT><SAMP>&lsquo;--strict&rsquo;</SAMP>
<DD>
-<A NAME="IDX751"></A>
+<A NAME="IDX768"></A>
Write out a strict Uniforum conforming PO file. Note that this
Uniforum format should be avoided because it doesn't support the
GNU extensions.
@@ -1683,15 +1763,15 @@ GNU extensions.
<DD>
<DT><SAMP>&lsquo;--properties-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX752"></A>
-<A NAME="IDX753"></A>
+<A NAME="IDX769"></A>
+<A NAME="IDX770"></A>
Write out a Java ResourceBundle in Java <CODE>.properties</CODE> syntax. Note
that this file format doesn't support plural forms and silently drops
obsolete messages.
<DT><SAMP>&lsquo;--stringtable-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX754"></A>
+<A NAME="IDX771"></A>
Write out a NeXTstep/GNUstep localized resource file in <CODE>.strings</CODE> syntax.
Note that this file format doesn't support plural forms.
@@ -1699,15 +1779,15 @@ Note that this file format doesn't support plural forms.
<DD>
<DT><SAMP>&lsquo;--width=<VAR>number</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX755"></A>
-<A NAME="IDX756"></A>
+<A NAME="IDX772"></A>
+<A NAME="IDX773"></A>
Set the output page width. Long strings in the output files will be
split across multiple lines in order to ensure that each line's width
(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
<DT><SAMP>&lsquo;--no-wrap&rsquo;</SAMP>
<DD>
-<A NAME="IDX757"></A>
+<A NAME="IDX774"></A>
Do not break long message lines. Message lines whose width exceeds the
output page width will not be split into several lines. Only file reference
lines which are wider than the output page width will be split.
@@ -1716,8 +1796,8 @@ lines which are wider than the output page width will be split.
<DD>
<DT><SAMP>&lsquo;--sort-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX758"></A>
-<A NAME="IDX759"></A>
+<A NAME="IDX775"></A>
+<A NAME="IDX776"></A>
Generate sorted output. Note that using this option makes it much harder
for the translator to understand each message's context.
@@ -1725,20 +1805,20 @@ for the translator to understand each message's context.
<DD>
<DT><SAMP>&lsquo;--sort-by-file&rsquo;</SAMP>
<DD>
-<A NAME="IDX760"></A>
-<A NAME="IDX761"></A>
+<A NAME="IDX777"></A>
+<A NAME="IDX778"></A>
Sort output by file location.
<DT><SAMP>&lsquo;--omit-header&rsquo;</SAMP>
<DD>
-<A NAME="IDX762"></A>
+<A NAME="IDX779"></A>
Don't write header with <SAMP>&lsquo;msgid ""&rsquo;</SAMP> entry.
</DL>
-<H3><A NAME="SEC117" HREF="gettext_toc.html#TOC117">9.6.6 Informative output</A></H3>
+<H3><A NAME="SEC125" HREF="gettext_toc.html#TOC125">9.6.6 Informative output</A></H3>
<DL COMPACT>
@@ -1746,34 +1826,34 @@ Don't write header with <SAMP>&lsquo;msgid ""&rsquo;</SAMP> entry.
<DD>
<DT><SAMP>&lsquo;--help&rsquo;</SAMP>
<DD>
-<A NAME="IDX763"></A>
-<A NAME="IDX764"></A>
+<A NAME="IDX780"></A>
+<A NAME="IDX781"></A>
Display this help and exit.
<DT><SAMP>&lsquo;-V&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--version&rsquo;</SAMP>
<DD>
-<A NAME="IDX765"></A>
-<A NAME="IDX766"></A>
+<A NAME="IDX782"></A>
+<A NAME="IDX783"></A>
Output version information and exit.
</DL>
-<H2><A NAME="SEC118" HREF="gettext_toc.html#TOC118">9.7 Invoking the <CODE>msgcmp</CODE> Program</A></H2>
+<H2><A NAME="SEC126" HREF="gettext_toc.html#TOC126">9.7 Invoking the <CODE>msgcmp</CODE> Program</A></H2>
<P>
-<A NAME="IDX767"></A>
-<A NAME="IDX768"></A>
+<A NAME="IDX784"></A>
+<A NAME="IDX785"></A>
<PRE>
msgcmp [<VAR>option</VAR>] <VAR>def</VAR>.po <VAR>ref</VAR>.pot
</PRE>
<P>
-<A NAME="IDX769"></A>
+<A NAME="IDX786"></A>
The <CODE>msgcmp</CODE> program compares two Uniforum style .po files to check that
both contain the same set of msgid strings. The <VAR>def</VAR>.po file is an
existing PO file with the translations. The <VAR>ref</VAR>.pot file is the last
@@ -1785,7 +1865,7 @@ used to produce better diagnostics.
</P>
-<H3><A NAME="SEC119" HREF="gettext_toc.html#TOC119">9.7.1 Input file location</A></H3>
+<H3><A NAME="SEC127" HREF="gettext_toc.html#TOC127">9.7.1 Input file location</A></H3>
<DL COMPACT>
@@ -1801,8 +1881,8 @@ References to the sources.
<DD>
<DT><SAMP>&lsquo;--directory=<VAR>directory</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX770"></A>
-<A NAME="IDX771"></A>
+<A NAME="IDX787"></A>
+<A NAME="IDX788"></A>
Add <VAR>directory</VAR> to the list of directories. Source files are
searched relative to this list of directories.
@@ -1810,7 +1890,7 @@ searched relative to this list of directories.
-<H3><A NAME="SEC120" HREF="gettext_toc.html#TOC120">9.7.2 Operation modifiers</A></H3>
+<H3><A NAME="SEC128" HREF="gettext_toc.html#TOC128">9.7.2 Operation modifiers</A></H3>
<DL COMPACT>
@@ -1818,20 +1898,20 @@ searched relative to this list of directories.
<DD>
<DT><SAMP>&lsquo;--multi-domain&rsquo;</SAMP>
<DD>
-<A NAME="IDX772"></A>
-<A NAME="IDX773"></A>
+<A NAME="IDX789"></A>
+<A NAME="IDX790"></A>
Apply <VAR>ref</VAR>.pot to each of the domains in <VAR>def</VAR>.po.
<DT><SAMP>&lsquo;--use-fuzzy&rsquo;</SAMP>
<DD>
-<A NAME="IDX774"></A>
+<A NAME="IDX791"></A>
Consider fuzzy messages in the <VAR>def</VAR>.po file like translated messages.
Note that using this option is usually wrong, because fuzzy messages are
exactly those which have not been validated by a human translator.
<DT><SAMP>&lsquo;--use-untranslated&rsquo;</SAMP>
<DD>
-<A NAME="IDX775"></A>
+<A NAME="IDX792"></A>
Consider untranslated messages in the <VAR>def</VAR>.po file like translated
messages. Note that using this option is usually wrong.
@@ -1839,7 +1919,7 @@ messages. Note that using this option is usually wrong.
-<H3><A NAME="SEC121" HREF="gettext_toc.html#TOC121">9.7.3 Input file syntax</A></H3>
+<H3><A NAME="SEC129" HREF="gettext_toc.html#TOC129">9.7.3 Input file syntax</A></H3>
<DL COMPACT>
@@ -1847,14 +1927,14 @@ messages. Note that using this option is usually wrong.
<DD>
<DT><SAMP>&lsquo;--properties-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX776"></A>
-<A NAME="IDX777"></A>
+<A NAME="IDX793"></A>
+<A NAME="IDX794"></A>
Assume the input files are Java ResourceBundles in Java <CODE>.properties</CODE>
syntax, not in PO file syntax.
<DT><SAMP>&lsquo;--stringtable-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX778"></A>
+<A NAME="IDX795"></A>
Assume the input files are NeXTstep/GNUstep localized resource files in
<CODE>.strings</CODE> syntax, not in PO file syntax.
@@ -1862,7 +1942,7 @@ Assume the input files are NeXTstep/GNUstep localized resource files in
-<H3><A NAME="SEC122" HREF="gettext_toc.html#TOC122">9.7.4 Informative output</A></H3>
+<H3><A NAME="SEC130" HREF="gettext_toc.html#TOC130">9.7.4 Informative output</A></H3>
<DL COMPACT>
@@ -1870,42 +1950,42 @@ Assume the input files are NeXTstep/GNUstep localized resource files in
<DD>
<DT><SAMP>&lsquo;--help&rsquo;</SAMP>
<DD>
-<A NAME="IDX779"></A>
-<A NAME="IDX780"></A>
+<A NAME="IDX796"></A>
+<A NAME="IDX797"></A>
Display this help and exit.
<DT><SAMP>&lsquo;-V&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--version&rsquo;</SAMP>
<DD>
-<A NAME="IDX781"></A>
-<A NAME="IDX782"></A>
+<A NAME="IDX798"></A>
+<A NAME="IDX799"></A>
Output version information and exit.
</DL>
-<H2><A NAME="SEC123" HREF="gettext_toc.html#TOC123">9.8 Invoking the <CODE>msgattrib</CODE> Program</A></H2>
+<H2><A NAME="SEC131" HREF="gettext_toc.html#TOC131">9.8 Invoking the <CODE>msgattrib</CODE> Program</A></H2>
<P>
-<A NAME="IDX783"></A>
-<A NAME="IDX784"></A>
+<A NAME="IDX800"></A>
+<A NAME="IDX801"></A>
<PRE>
msgattrib [<VAR>option</VAR>] [<VAR>inputfile</VAR>]
</PRE>
<P>
-<A NAME="IDX785"></A>
-<A NAME="IDX786"></A>
+<A NAME="IDX802"></A>
+<A NAME="IDX803"></A>
The <CODE>msgattrib</CODE> program filters the messages of a translation catalog
according to their attributes, and manipulates the attributes.
</P>
-<H3><A NAME="SEC124" HREF="gettext_toc.html#TOC124">9.8.1 Input file location</A></H3>
+<H3><A NAME="SEC132" HREF="gettext_toc.html#TOC132">9.8.1 Input file location</A></H3>
<DL COMPACT>
@@ -1917,8 +1997,8 @@ Input PO file.
<DD>
<DT><SAMP>&lsquo;--directory=<VAR>directory</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX787"></A>
-<A NAME="IDX788"></A>
+<A NAME="IDX804"></A>
+<A NAME="IDX805"></A>
Add <VAR>directory</VAR> to the list of directories. Source files are
searched relative to this list of directories. The resulting <TT>&lsquo;.po&rsquo;</TT>
file will be written relative to the current directory, though.
@@ -1931,7 +2011,7 @@ If no <VAR>inputfile</VAR> is given or if it is <SAMP>&lsquo;-&rsquo;</SAMP>, st
</P>
-<H3><A NAME="SEC125" HREF="gettext_toc.html#TOC125">9.8.2 Output file location</A></H3>
+<H3><A NAME="SEC133" HREF="gettext_toc.html#TOC133">9.8.2 Output file location</A></H3>
<DL COMPACT>
@@ -1939,8 +2019,8 @@ If no <VAR>inputfile</VAR> is given or if it is <SAMP>&lsquo;-&rsquo;</SAMP>, st
<DD>
<DT><SAMP>&lsquo;--output-file=<VAR>file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX789"></A>
-<A NAME="IDX790"></A>
+<A NAME="IDX806"></A>
+<A NAME="IDX807"></A>
Write output to specified file.
</DL>
@@ -1952,52 +2032,52 @@ or if it is <SAMP>&lsquo;-&rsquo;</SAMP>.
</P>
-<H3><A NAME="SEC126" HREF="gettext_toc.html#TOC126">9.8.3 Message selection</A></H3>
+<H3><A NAME="SEC134" HREF="gettext_toc.html#TOC134">9.8.3 Message selection</A></H3>
<DL COMPACT>
<DT><SAMP>&lsquo;--translated&rsquo;</SAMP>
<DD>
-<A NAME="IDX791"></A>
+<A NAME="IDX808"></A>
Keep translated messages, remove untranslated messages.
<DT><SAMP>&lsquo;--untranslated&rsquo;</SAMP>
<DD>
-<A NAME="IDX792"></A>
+<A NAME="IDX809"></A>
Keep untranslated messages, remove translated messages.
<DT><SAMP>&lsquo;--no-fuzzy&rsquo;</SAMP>
<DD>
-<A NAME="IDX793"></A>
+<A NAME="IDX810"></A>
Remove
‘fuzzy’
marked messages.
<DT><SAMP>&lsquo;--only-fuzzy&rsquo;</SAMP>
<DD>
-<A NAME="IDX794"></A>
+<A NAME="IDX811"></A>
Keep
‘fuzzy’
marked messages, remove all other messages.
<DT><SAMP>&lsquo;--no-obsolete&rsquo;</SAMP>
<DD>
-<A NAME="IDX795"></A>
+<A NAME="IDX812"></A>
Remove obsolete #~ messages.
<DT><SAMP>&lsquo;--only-obsolete&rsquo;</SAMP>
<DD>
-<A NAME="IDX796"></A>
+<A NAME="IDX813"></A>
Keep obsolete #~ messages, remove all other messages.
</DL>
-<H3><A NAME="SEC127" HREF="gettext_toc.html#TOC127">9.8.4 Attribute manipulation</A></H3>
+<H3><A NAME="SEC135" HREF="gettext_toc.html#TOC135">9.8.4 Attribute manipulation</A></H3>
<P>
-<A NAME="IDX797"></A>
+<A NAME="IDX814"></A>
Attributes are modified after the message selection/removal has been
performed. If the <SAMP>&lsquo;--only-file&rsquo;</SAMP> or <SAMP>&lsquo;--ignore-file&rsquo;</SAMP> option is
specified, the attribute modification is applied only to those messages
@@ -2009,46 +2089,46 @@ that are listed in the <VAR>only-file</VAR> and not listed in the
<DT><SAMP>&lsquo;--set-fuzzy&rsquo;</SAMP>
<DD>
-<A NAME="IDX798"></A>
+<A NAME="IDX815"></A>
Set all messages
‘fuzzy’.
<DT><SAMP>&lsquo;--clear-fuzzy&rsquo;</SAMP>
<DD>
-<A NAME="IDX799"></A>
+<A NAME="IDX816"></A>
Set all messages
non-‘fuzzy’.
<DT><SAMP>&lsquo;--set-obsolete&rsquo;</SAMP>
<DD>
-<A NAME="IDX800"></A>
+<A NAME="IDX817"></A>
Set all messages obsolete.
<DT><SAMP>&lsquo;--clear-obsolete&rsquo;</SAMP>
<DD>
-<A NAME="IDX801"></A>
+<A NAME="IDX818"></A>
Set all messages non-obsolete.
<DT><SAMP>&lsquo;--clear-previous&rsquo;</SAMP>
<DD>
-<A NAME="IDX802"></A>
+<A NAME="IDX819"></A>
Remove the “previous msgid†(<SAMP>&lsquo;#|&rsquo;</SAMP>) comments from all messages.
<DT><SAMP>&lsquo;--only-file=<VAR>file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX803"></A>
+<A NAME="IDX820"></A>
Limit the attribute changes to entries that are listed in <VAR>file</VAR>.
<VAR>file</VAR> should be a PO or POT file.
<DT><SAMP>&lsquo;--ignore-file=<VAR>file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX804"></A>
+<A NAME="IDX821"></A>
Limit the attribute changes to entries that are not listed in <VAR>file</VAR>.
<VAR>file</VAR> should be a PO or POT file.
<DT><SAMP>&lsquo;--fuzzy&rsquo;</SAMP>
<DD>
-<A NAME="IDX805"></A>
+<A NAME="IDX822"></A>
Synonym for <SAMP>&lsquo;--only-fuzzy --clear-fuzzy&rsquo;</SAMP>: It keeps only the fuzzy
messages and removes their
‘fuzzy’
@@ -2056,7 +2136,7 @@ mark.
<DT><SAMP>&lsquo;--obsolete&rsquo;</SAMP>
<DD>
-<A NAME="IDX806"></A>
+<A NAME="IDX823"></A>
Synonym for <SAMP>&lsquo;--only-obsolete --clear-obsolete&rsquo;</SAMP>: It keeps only the
obsolete messages and makes them non-obsolete.
@@ -2064,7 +2144,7 @@ obsolete messages and makes them non-obsolete.
-<H3><A NAME="SEC128" HREF="gettext_toc.html#TOC128">9.8.5 Input file syntax</A></H3>
+<H3><A NAME="SEC136" HREF="gettext_toc.html#TOC136">9.8.5 Input file syntax</A></H3>
<DL COMPACT>
@@ -2072,14 +2152,14 @@ obsolete messages and makes them non-obsolete.
<DD>
<DT><SAMP>&lsquo;--properties-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX807"></A>
-<A NAME="IDX808"></A>
+<A NAME="IDX824"></A>
+<A NAME="IDX825"></A>
Assume the input file is a Java ResourceBundle in Java <CODE>.properties</CODE>
syntax, not in PO file syntax.
<DT><SAMP>&lsquo;--stringtable-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX809"></A>
+<A NAME="IDX826"></A>
Assume the input file is a NeXTstep/GNUstep localized resource file in
<CODE>.strings</CODE> syntax, not in PO file syntax.
@@ -2087,39 +2167,39 @@ Assume the input file is a NeXTstep/GNUstep localized resource file in
-<H3><A NAME="SEC129" HREF="gettext_toc.html#TOC129">9.8.6 Output details</A></H3>
+<H3><A NAME="SEC137" HREF="gettext_toc.html#TOC137">9.8.6 Output details</A></H3>
<DL COMPACT>
<DT><SAMP>&lsquo;--force-po&rsquo;</SAMP>
<DD>
-<A NAME="IDX810"></A>
+<A NAME="IDX827"></A>
Always write an output file even if it contains no message.
<DT><SAMP>&lsquo;-i&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--indent&rsquo;</SAMP>
<DD>
-<A NAME="IDX811"></A>
-<A NAME="IDX812"></A>
+<A NAME="IDX828"></A>
+<A NAME="IDX829"></A>
Write the .po file using indented style.
<DT><SAMP>&lsquo;--no-location&rsquo;</SAMP>
<DD>
-<A NAME="IDX813"></A>
+<A NAME="IDX830"></A>
Do not write <SAMP>&lsquo;#: <VAR>filename</VAR>:<VAR>line</VAR>&rsquo;</SAMP> lines.
<DT><SAMP>&lsquo;-n&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--add-location&rsquo;</SAMP>
<DD>
-<A NAME="IDX814"></A>
-<A NAME="IDX815"></A>
+<A NAME="IDX831"></A>
+<A NAME="IDX832"></A>
Generate <SAMP>&lsquo;#: <VAR>filename</VAR>:<VAR>line</VAR>&rsquo;</SAMP> lines (default).
<DT><SAMP>&lsquo;--strict&rsquo;</SAMP>
<DD>
-<A NAME="IDX816"></A>
+<A NAME="IDX833"></A>
Write out a strict Uniforum conforming PO file. Note that this
Uniforum format should be avoided because it doesn't support the
GNU extensions.
@@ -2128,15 +2208,15 @@ GNU extensions.
<DD>
<DT><SAMP>&lsquo;--properties-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX817"></A>
-<A NAME="IDX818"></A>
+<A NAME="IDX834"></A>
+<A NAME="IDX835"></A>
Write out a Java ResourceBundle in Java <CODE>.properties</CODE> syntax. Note
that this file format doesn't support plural forms and silently drops
obsolete messages.
<DT><SAMP>&lsquo;--stringtable-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX819"></A>
+<A NAME="IDX836"></A>
Write out a NeXTstep/GNUstep localized resource file in <CODE>.strings</CODE> syntax.
Note that this file format doesn't support plural forms.
@@ -2144,15 +2224,15 @@ Note that this file format doesn't support plural forms.
<DD>
<DT><SAMP>&lsquo;--width=<VAR>number</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX820"></A>
-<A NAME="IDX821"></A>
+<A NAME="IDX837"></A>
+<A NAME="IDX838"></A>
Set the output page width. Long strings in the output files will be
split across multiple lines in order to ensure that each line's width
(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
<DT><SAMP>&lsquo;--no-wrap&rsquo;</SAMP>
<DD>
-<A NAME="IDX822"></A>
+<A NAME="IDX839"></A>
Do not break long message lines. Message lines whose width exceeds the
output page width will not be split into several lines. Only file reference
lines which are wider than the output page width will be split.
@@ -2161,8 +2241,8 @@ lines which are wider than the output page width will be split.
<DD>
<DT><SAMP>&lsquo;--sort-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX823"></A>
-<A NAME="IDX824"></A>
+<A NAME="IDX840"></A>
+<A NAME="IDX841"></A>
Generate sorted output. Note that using this option makes it much harder
for the translator to understand each message's context.
@@ -2170,15 +2250,15 @@ for the translator to understand each message's context.
<DD>
<DT><SAMP>&lsquo;--sort-by-file&rsquo;</SAMP>
<DD>
-<A NAME="IDX825"></A>
-<A NAME="IDX826"></A>
+<A NAME="IDX842"></A>
+<A NAME="IDX843"></A>
Sort output by file location.
</DL>
-<H3><A NAME="SEC130" HREF="gettext_toc.html#TOC130">9.8.7 Informative output</A></H3>
+<H3><A NAME="SEC138" HREF="gettext_toc.html#TOC138">9.8.7 Informative output</A></H3>
<DL COMPACT>
@@ -2186,34 +2266,34 @@ Sort output by file location.
<DD>
<DT><SAMP>&lsquo;--help&rsquo;</SAMP>
<DD>
-<A NAME="IDX827"></A>
-<A NAME="IDX828"></A>
+<A NAME="IDX844"></A>
+<A NAME="IDX845"></A>
Display this help and exit.
<DT><SAMP>&lsquo;-V&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--version&rsquo;</SAMP>
<DD>
-<A NAME="IDX829"></A>
-<A NAME="IDX830"></A>
+<A NAME="IDX846"></A>
+<A NAME="IDX847"></A>
Output version information and exit.
</DL>
-<H2><A NAME="SEC131" HREF="gettext_toc.html#TOC131">9.9 Invoking the <CODE>msgen</CODE> Program</A></H2>
+<H2><A NAME="SEC139" HREF="gettext_toc.html#TOC139">9.9 Invoking the <CODE>msgen</CODE> Program</A></H2>
<P>
-<A NAME="IDX831"></A>
-<A NAME="IDX832"></A>
+<A NAME="IDX848"></A>
+<A NAME="IDX849"></A>
<PRE>
msgen [<VAR>option</VAR>] <VAR>inputfile</VAR>
</PRE>
<P>
-<A NAME="IDX833"></A>
+<A NAME="IDX850"></A>
The <CODE>msgen</CODE> program creates an English translation catalog. The
input file is the last created English PO file, or a PO Template file
(generally created by xgettext). Untranslated entries are assigned a
@@ -2228,7 +2308,7 @@ the header entry, whereas <CODE>msgen</CODE> doesn't.
</P>
-<H3><A NAME="SEC132" HREF="gettext_toc.html#TOC132">9.9.1 Input file location</A></H3>
+<H3><A NAME="SEC140" HREF="gettext_toc.html#TOC140">9.9.1 Input file location</A></H3>
<DL COMPACT>
@@ -2240,8 +2320,8 @@ Input PO or POT file.
<DD>
<DT><SAMP>&lsquo;--directory=<VAR>directory</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX834"></A>
-<A NAME="IDX835"></A>
+<A NAME="IDX851"></A>
+<A NAME="IDX852"></A>
Add <VAR>directory</VAR> to the list of directories. Source files are
searched relative to this list of directories. The resulting <TT>&lsquo;.po&rsquo;</TT>
file will be written relative to the current directory, though.
@@ -2254,7 +2334,7 @@ If <VAR>inputfile</VAR> is <SAMP>&lsquo;-&rsquo;</SAMP>, standard input is read.
</P>
-<H3><A NAME="SEC133" HREF="gettext_toc.html#TOC133">9.9.2 Output file location</A></H3>
+<H3><A NAME="SEC141" HREF="gettext_toc.html#TOC141">9.9.2 Output file location</A></H3>
<DL COMPACT>
@@ -2262,8 +2342,8 @@ If <VAR>inputfile</VAR> is <SAMP>&lsquo;-&rsquo;</SAMP>, standard input is read.
<DD>
<DT><SAMP>&lsquo;--output-file=<VAR>file</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX836"></A>
-<A NAME="IDX837"></A>
+<A NAME="IDX853"></A>
+<A NAME="IDX854"></A>
Write output to specified file.
</DL>
@@ -2275,7 +2355,7 @@ or if it is <SAMP>&lsquo;-&rsquo;</SAMP>.
</P>
-<H3><A NAME="SEC134" HREF="gettext_toc.html#TOC134">9.9.3 Input file syntax</A></H3>
+<H3><A NAME="SEC142" HREF="gettext_toc.html#TOC142">9.9.3 Input file syntax</A></H3>
<DL COMPACT>
@@ -2283,14 +2363,14 @@ or if it is <SAMP>&lsquo;-&rsquo;</SAMP>.
<DD>
<DT><SAMP>&lsquo;--properties-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX838"></A>
-<A NAME="IDX839"></A>
+<A NAME="IDX855"></A>
+<A NAME="IDX856"></A>
Assume the input file is a Java ResourceBundle in Java <CODE>.properties</CODE>
syntax, not in PO file syntax.
<DT><SAMP>&lsquo;--stringtable-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX840"></A>
+<A NAME="IDX857"></A>
Assume the input file is a NeXTstep/GNUstep localized resource file in
<CODE>.strings</CODE> syntax, not in PO file syntax.
@@ -2298,36 +2378,36 @@ Assume the input file is a NeXTstep/GNUstep localized resource file in
-<H3><A NAME="SEC135" HREF="gettext_toc.html#TOC135">9.9.4 Output details</A></H3>
+<H3><A NAME="SEC143" HREF="gettext_toc.html#TOC143">9.9.4 Output details</A></H3>
<DL COMPACT>
<DT><SAMP>&lsquo;--force-po&rsquo;</SAMP>
<DD>
-<A NAME="IDX841"></A>
+<A NAME="IDX858"></A>
Always write an output file even if it contains no message.
<DT><SAMP>&lsquo;-i&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--indent&rsquo;</SAMP>
<DD>
-<A NAME="IDX842"></A>
-<A NAME="IDX843"></A>
+<A NAME="IDX859"></A>
+<A NAME="IDX860"></A>
Write the .po file using indented style.
<DT><SAMP>&lsquo;--no-location&rsquo;</SAMP>
<DD>
-<A NAME="IDX844"></A>
+<A NAME="IDX861"></A>
Do not write <SAMP>&lsquo;#: <VAR>filename</VAR>:<VAR>line</VAR>&rsquo;</SAMP> lines.
<DT><SAMP>&lsquo;--add-location&rsquo;</SAMP>
<DD>
-<A NAME="IDX845"></A>
+<A NAME="IDX862"></A>
Generate <SAMP>&lsquo;#: <VAR>filename</VAR>:<VAR>line</VAR>&rsquo;</SAMP> lines (default).
<DT><SAMP>&lsquo;--strict&rsquo;</SAMP>
<DD>
-<A NAME="IDX846"></A>
+<A NAME="IDX863"></A>
Write out a strict Uniforum conforming PO file. Note that this
Uniforum format should be avoided because it doesn't support the
GNU extensions.
@@ -2336,15 +2416,15 @@ GNU extensions.
<DD>
<DT><SAMP>&lsquo;--properties-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX847"></A>
-<A NAME="IDX848"></A>
+<A NAME="IDX864"></A>
+<A NAME="IDX865"></A>
Write out a Java ResourceBundle in Java <CODE>.properties</CODE> syntax. Note
that this file format doesn't support plural forms and silently drops
obsolete messages.
<DT><SAMP>&lsquo;--stringtable-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX849"></A>
+<A NAME="IDX866"></A>
Write out a NeXTstep/GNUstep localized resource file in <CODE>.strings</CODE> syntax.
Note that this file format doesn't support plural forms.
@@ -2352,15 +2432,15 @@ Note that this file format doesn't support plural forms.
<DD>
<DT><SAMP>&lsquo;--width=<VAR>number</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX850"></A>
-<A NAME="IDX851"></A>
+<A NAME="IDX867"></A>
+<A NAME="IDX868"></A>
Set the output page width. Long strings in the output files will be
split across multiple lines in order to ensure that each line's width
(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
<DT><SAMP>&lsquo;--no-wrap&rsquo;</SAMP>
<DD>
-<A NAME="IDX852"></A>
+<A NAME="IDX869"></A>
Do not break long message lines. Message lines whose width exceeds the
output page width will not be split into several lines. Only file reference
lines which are wider than the output page width will be split.
@@ -2369,8 +2449,8 @@ lines which are wider than the output page width will be split.
<DD>
<DT><SAMP>&lsquo;--sort-output&rsquo;</SAMP>
<DD>
-<A NAME="IDX853"></A>
-<A NAME="IDX854"></A>
+<A NAME="IDX870"></A>
+<A NAME="IDX871"></A>
Generate sorted output. Note that using this option makes it much harder
for the translator to understand each message's context.
@@ -2378,15 +2458,15 @@ for the translator to understand each message's context.
<DD>
<DT><SAMP>&lsquo;--sort-by-file&rsquo;</SAMP>
<DD>
-<A NAME="IDX855"></A>
-<A NAME="IDX856"></A>
+<A NAME="IDX872"></A>
+<A NAME="IDX873"></A>
Sort output by file location.
</DL>
-<H3><A NAME="SEC136" HREF="gettext_toc.html#TOC136">9.9.5 Informative output</A></H3>
+<H3><A NAME="SEC144" HREF="gettext_toc.html#TOC144">9.9.5 Informative output</A></H3>
<DL COMPACT>
@@ -2394,34 +2474,34 @@ Sort output by file location.
<DD>
<DT><SAMP>&lsquo;--help&rsquo;</SAMP>
<DD>
-<A NAME="IDX857"></A>
-<A NAME="IDX858"></A>
+<A NAME="IDX874"></A>
+<A NAME="IDX875"></A>
Display this help and exit.
<DT><SAMP>&lsquo;-V&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--version&rsquo;</SAMP>
<DD>
-<A NAME="IDX859"></A>
-<A NAME="IDX860"></A>
+<A NAME="IDX876"></A>
+<A NAME="IDX877"></A>
Output version information and exit.
</DL>
-<H2><A NAME="SEC137" HREF="gettext_toc.html#TOC137">9.10 Invoking the <CODE>msgexec</CODE> Program</A></H2>
+<H2><A NAME="SEC145" HREF="gettext_toc.html#TOC145">9.10 Invoking the <CODE>msgexec</CODE> Program</A></H2>
<P>
-<A NAME="IDX861"></A>
-<A NAME="IDX862"></A>
+<A NAME="IDX878"></A>
+<A NAME="IDX879"></A>
<PRE>
msgexec [<VAR>option</VAR>] <VAR>command</VAR> [<VAR>command-option</VAR>]
</PRE>
<P>
-<A NAME="IDX863"></A>
+<A NAME="IDX880"></A>
The <CODE>msgexec</CODE> program applies a command to all translations of a
translation catalog.
The <VAR>command</VAR> can be any program that reads a translation from standard
@@ -2431,16 +2511,16 @@ across all invocations.
</P>
<P>
-<A NAME="IDX864"></A>
+<A NAME="IDX881"></A>
A special builtin command called <SAMP>&lsquo;0&rsquo;</SAMP> outputs the translation, followed
by a null byte. The output of <SAMP>&lsquo;msgexec 0&rsquo;</SAMP> is suitable as input for
<SAMP>&lsquo;xargs -0&rsquo;</SAMP>.
</P>
<P>
-<A NAME="IDX865"></A>
-<A NAME="IDX866"></A>
-<A NAME="IDX867"></A>
+<A NAME="IDX882"></A>
+<A NAME="IDX883"></A>
+<A NAME="IDX884"></A>
During each <VAR>command</VAR> invocation, the environment variable
<CODE>MSGEXEC_MSGID</CODE> is bound to the message's msgid, and the environment
variable <CODE>MSGEXEC_LOCATION</CODE> is bound to the location in the PO file
@@ -2450,7 +2530,7 @@ unbound.
</P>
<P>
-<A NAME="IDX868"></A>
+<A NAME="IDX885"></A>
Note: It is your responsibility to ensure that the <VAR>command</VAR> can cope
with input encoded in the translation catalog's encoding. If the
<VAR>command</VAR> wants input in a particular encoding, you can in a first step
@@ -2464,7 +2544,7 @@ locale, by using the <CODE>LC_ALL</CODE> environment variable.
</P>
-<H3><A NAME="SEC138" HREF="gettext_toc.html#TOC138">9.10.1 Input file location</A></H3>
+<H3><A NAME="SEC146" HREF="gettext_toc.html#TOC146">9.10.1 Input file location</A></H3>
<DL COMPACT>
@@ -2472,16 +2552,16 @@ locale, by using the <CODE>LC_ALL</CODE> environment variable.
<DD>
<DT><SAMP>&lsquo;--input=<VAR>inputfile</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX869"></A>
-<A NAME="IDX870"></A>
+<A NAME="IDX886"></A>
+<A NAME="IDX887"></A>
Input PO file.
<DT><SAMP>&lsquo;-D <VAR>directory</VAR>&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--directory=<VAR>directory</VAR>&rsquo;</SAMP>
<DD>
-<A NAME="IDX871"></A>
-<A NAME="IDX872"></A>
+<A NAME="IDX888"></A>
+<A NAME="IDX889"></A>
Add <VAR>directory</VAR> to the list of directories. Source files are
searched relative to this list of directories. The resulting <TT>&lsquo;.po&rsquo;</TT>
file will be written relative to the current directory, though.
@@ -2494,7 +2574,7 @@ If no <VAR>inputfile</VAR> is given or if it is <SAMP>&lsquo;-&rsquo;</SAMP>, st
</P>
-<H3><A NAME="SEC139" HREF="gettext_toc.html#TOC139">9.10.2 Input file syntax</A></H3>
+<H3><A NAME="SEC147" HREF="gettext_toc.html#TOC147">9.10.2 Input file syntax</A></H3>
<DL COMPACT>
@@ -2502,14 +2582,14 @@ If no <VAR>inputfile</VAR> is given or if it is <SAMP>&lsquo;-&rsquo;</SAMP>, st
<DD>
<DT><SAMP>&lsquo;--properties-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX873"></A>
-<A NAME="IDX874"></A>
+<A NAME="IDX890"></A>
+<A NAME="IDX891"></A>
Assume the input file is a Java ResourceBundle in Java <CODE>.properties</CODE>
syntax, not in PO file syntax.
<DT><SAMP>&lsquo;--stringtable-input&rsquo;</SAMP>
<DD>
-<A NAME="IDX875"></A>
+<A NAME="IDX892"></A>
Assume the input file is a NeXTstep/GNUstep localized resource file in
<CODE>.strings</CODE> syntax, not in PO file syntax.
@@ -2517,7 +2597,7 @@ Assume the input file is a NeXTstep/GNUstep localized resource file in
-<H3><A NAME="SEC140" HREF="gettext_toc.html#TOC140">9.10.3 Informative output</A></H3>
+<H3><A NAME="SEC148" HREF="gettext_toc.html#TOC148">9.10.3 Informative output</A></H3>
<DL COMPACT>
@@ -2525,23 +2605,542 @@ Assume the input file is a NeXTstep/GNUstep localized resource file in
<DD>
<DT><SAMP>&lsquo;--help&rsquo;</SAMP>
<DD>
-<A NAME="IDX876"></A>
-<A NAME="IDX877"></A>
+<A NAME="IDX893"></A>
+<A NAME="IDX894"></A>
Display this help and exit.
<DT><SAMP>&lsquo;-V&rsquo;</SAMP>
<DD>
<DT><SAMP>&lsquo;--version&rsquo;</SAMP>
<DD>
-<A NAME="IDX878"></A>
-<A NAME="IDX879"></A>
+<A NAME="IDX895"></A>
+<A NAME="IDX896"></A>
Output version information and exit.
</DL>
-<H2><A NAME="SEC141" HREF="gettext_toc.html#TOC141">9.11 Writing your own programs that process PO files</A></H2>
+<H2><A NAME="SEC149" HREF="gettext_toc.html#TOC149">9.11 Highlighting parts of PO files</A></H2>
+
+<P>
+Translators are usually only interested in seeing the untranslated and
+fuzzy messages of a PO file. Also, when a message is set fuzzy because
+the msgid changed, they want to see the differences between the previous
+msgid and the current one (especially if the msgid is long and only few
+words in it have changed). Finally, it's always welcome to highlight the
+different sections of a message in a PO file (comments, msgid, msgstr, etc.).
+
+</P>
+<P>
+Such highlighting is possible through the <CODE>msgcat</CODE> options
+<SAMP>&lsquo;--color&rsquo;</SAMP> and <SAMP>&lsquo;--style&rsquo;</SAMP>.
+
+</P>
+
+
+
+<H3><A NAME="SEC150" HREF="gettext_toc.html#TOC150">9.11.1 The <CODE>--color</CODE> option</A></H3>
+
+<P>
+<A NAME="IDX897"></A>
+The <SAMP>&lsquo;--color=<VAR>when</VAR>&rsquo;</SAMP> option specifies under which conditions
+colorized output should be generated. The <VAR>when</VAR> part can be one of
+the following:
+
+</P>
+<DL COMPACT>
+
+<DT><CODE>always</CODE>
+<DD>
+<DT><CODE>yes</CODE>
+<DD>
+The output will be colorized.
+
+<DT><CODE>never</CODE>
+<DD>
+<DT><CODE>no</CODE>
+<DD>
+The output will not be colorized.
+
+<DT><CODE>auto</CODE>
+<DD>
+<DT><CODE>tty</CODE>
+<DD>
+The output will be colorized if the output device is a tty, i.e. when the
+output goes directly to a text screen or terminal emulator window.
+
+<DT><CODE>html</CODE>
+<DD>
+The output will be colorized and be in HTML format.
+</DL>
+
+<P>
+<SAMP>&lsquo;--color&rsquo;</SAMP> is equivalent to <SAMP>&lsquo;--color=yes&rsquo;</SAMP>. The default is
+<SAMP>&lsquo;--color=auto&rsquo;</SAMP>.
+
+</P>
+<P>
+Thus, a command like <SAMP>&lsquo;msgcat vi.po&rsquo;</SAMP> will produce colorized output
+when called by itself in a command window. Whereas in a pipe, such as
+<SAMP>&lsquo;msgcat vi.po | less -R&rsquo;</SAMP>, it will not produce colorized output. To
+get colorized output in this situation nevertheless, use the command
+<SAMP>&lsquo;msgcat --color vi.po | less -R&rsquo;</SAMP>.
+
+</P>
+<P>
+The <SAMP>&lsquo;--color=html&rsquo;</SAMP> option will produce output that can be viewed in
+a browser. This can be useful, for example, for Indic languages,
+because the renderic of Indic scripts in browser is usually better than
+in terminal emulators.
+
+</P>
+<P>
+Note that the output produced with the <CODE>--color</CODE> option is <EM>not</EM>
+a valid PO file in itself. It contains additional terminal-specific escape
+sequences or HTML tags. A PO file reader will give a syntax error when
+confronted with such content. Except for the <SAMP>&lsquo;--color=html&rsquo;</SAMP> case,
+you therefore normally don't need to save output produced with the
+<CODE>--color</CODE> option in a file.
+
+</P>
+
+
+<H3><A NAME="SEC151" HREF="gettext_toc.html#TOC151">9.11.2 The environment variable <CODE>TERM</CODE></A></H3>
+
+<P>
+<A NAME="IDX898"></A>
+The environment variable <CODE>TERM</CODE> contains a identifier for the text
+window's capabilities. You can get a detailed list of these cababilities
+by using the <SAMP>&lsquo;infocmp&rsquo;</SAMP> command, using <SAMP>&lsquo;man 5 terminfo&rsquo;</SAMP> as a
+reference.
+
+</P>
+<P>
+When producing text with embedded color directives, <CODE>msgcat</CODE> looks
+at the <CODE>TERM</CODE> variable. Text windows today typically support at least
+8 colors. Often, however, the text window supports 16 or more colors,
+even though the <CODE>TERM</CODE> variable is set to a identifier denoting only
+8 supported colors. It can be worth setting the <CODE>TERM</CODE> variable to
+a different value in these cases:
+
+</P>
+<DL COMPACT>
+
+<DT><CODE>xterm</CODE>
+<DD>
+<CODE>xterm</CODE> is in most cases built with support for 16 colors. It can also
+be built with support for 88 or 256 colors (but not both). You can try to
+set <CODE>TERM</CODE> to either <CODE>xterm-16color</CODE>, <CODE>xterm-88color</CODE>, or
+<CODE>xterm-256color</CODE>.
+
+<DT><CODE>rxvt</CODE>
+<DD>
+<CODE>rxvt</CODE> is often built with support for 16 colors. You can try to set
+<CODE>TERM</CODE> to <CODE>rxvt-16color</CODE>.
+
+<DT><CODE>konsole</CODE>
+<DD>
+<CODE>konsole</CODE> too is often built with support for 16 colors. You can try to
+set <CODE>TERM</CODE> to <CODE>konsole-16color</CODE> or <CODE>xterm-16color</CODE>.
+</DL>
+
+<P>
+After setting <CODE>TERM</CODE>, you can verify it by invoking
+<SAMP>&lsquo;msgcat --color=test&rsquo;</SAMP> and seeing whether the output looks like a
+reasonable color map.
+
+</P>
+
+
+<H3><A NAME="SEC152" HREF="gettext_toc.html#TOC152">9.11.3 The <CODE>--style</CODE> option</A></H3>
+
+<P>
+<A NAME="IDX899"></A>
+The <SAMP>&lsquo;--style=<VAR>style_file</VAR>&rsquo;</SAMP> option specifies the style file to use
+when colorizing. It has an effect only when the <CODE>--color</CODE> option is
+effective.
+
+</P>
+<P>
+<A NAME="IDX900"></A>
+If the <CODE>--style</CODE> option is not specified, the environment variable
+<CODE>PO_STYLE</CODE> is considered. It is meant to point to the user's
+preferred style for PO files.
+
+</P>
+<P>
+The default style file is <TT>&lsquo;$prefix/share/gettext/styles/po-default.css&rsquo;</TT>,
+where <CODE>$prefix</CODE> is the installation location.
+
+</P>
+<P>
+A few style files are predefined:
+<DL COMPACT>
+
+<DT><TT>&lsquo;po-vim.css&rsquo;</TT>
+<DD>
+This style imitates the look used by vim 7.
+
+<DT><TT>&lsquo;po-emacs-x.css&rsquo;</TT>
+<DD>
+This style imitates the look used by GNU Emacs 21 and 22 in an X11 window.
+
+<DT><TT>&lsquo;po-emacs-xterm.css&rsquo;</TT>
+<DD>
+<DT><TT>&lsquo;po-emacs-xterm16.css&rsquo;</TT>
+<DD>
+<DT><TT>&lsquo;po-emacs-xterm256.css&rsquo;</TT>
+<DD>
+This style imitates the look used by GNU Emacs 22 in a terminal of type
+<SAMP>&lsquo;xterm&rsquo;</SAMP> (8 colors) or <SAMP>&lsquo;xterm-16color&rsquo;</SAMP> (16 colors) or
+<SAMP>&lsquo;xterm-256color&rsquo;</SAMP> (256 colors), respectively.
+</DL>
+
+<P>
+You can use these styles without specifying a directory. They are actually
+located in <TT>&lsquo;$prefix/share/gettext/styles/&rsquo;</TT>, where <CODE>$prefix</CODE> is the
+installation location.
+
+</P>
+<P>
+You can also design your own styles. This is described in the next section.
+
+</P>
+
+
+
+<H3><A NAME="SEC153" HREF="gettext_toc.html#TOC153">9.11.4 Style rules for PO files</A></H3>
+
+<P>
+The same style file can be used for styling of a PO file, for terminal
+output and for HTML output. It is written in CSS (Cascading Style Sheet)
+syntax. See <A HREF="http://www.w3.org/TR/css2/cover.html">http://www.w3.org/TR/css2/cover.html</A> for a formal
+definition of CSS. Many HTML authoring tutorials also contain explanations
+of CSS.
+
+</P>
+<P>
+In the case of HTML output, the style file is embedded in the HTML output.
+In the case of text output, the style file is interpreted by the
+<CODE>msgcat</CODE> program. This means, in particular, that when
+<CODE>@import</CODE> is used with relative file names, the file names are
+
+</P>
+
+<UL>
+<LI>
+
+relative to the resulting HTML file, in the case of HTML output,
+
+<LI>
+
+relative to the style sheet containing the <CODE>@import</CODE>, in the case of
+text output. (Actually, <CODE>@import</CODE>s are not yet supported in this case,
+due to a limitation in <CODE>libcroco</CODE>.)
+</UL>
+
+<P>
+CSS rules are built up from selectors and declarations. The declarations
+specify graphical properties; the selectors specify specify when they apply.
+
+</P>
+<P>
+In PO files, the following simple selectors (based on "CSS classes", see
+the CSS2 spec, section 5.8.3) are supported.
+
+</P>
+
+<UL>
+<LI>
+
+Selectors that apply to entire messages:
+
+<DL COMPACT>
+
+<DT><CODE>.header</CODE>
+<DD>
+This matches the header entry of a PO file.
+
+<DT><CODE>.translated</CODE>
+<DD>
+This matches a translated message.
+
+<DT><CODE>.untranslated</CODE>
+<DD>
+This matches an untranslated message (i.e. a message with empty translation).
+
+<DT><CODE>.fuzzy</CODE>
+<DD>
+This matches a fuzzy message (i.e. a message which has a translation that
+needs review by the translator).
+
+<DT><CODE>.obsolete</CODE>
+<DD>
+This matches an obsolete message (i.e. a message that was translated but is
+not needed by the current POT file any more).
+</DL>
+
+<LI>
+
+Selectors that apply to parts of a message in PO syntax. Recall the general
+structure of a message in PO syntax:
+
+
+<PRE>
+<VAR>white-space</VAR>
+# <VAR>translator-comments</VAR>
+#. <VAR>extracted-comments</VAR>
+#: <VAR>reference</VAR>...
+#, <VAR>flag</VAR>...
+#| msgid <VAR>previous-untranslated-string</VAR>
+msgid <VAR>untranslated-string</VAR>
+msgstr <VAR>translated-string</VAR>
+</PRE>
+
+<DL COMPACT>
+
+<DT><CODE>.comment</CODE>
+<DD>
+This matches all comments (translator comments, extracted comments,
+source file reference comments, flag comments, previous message comments,
+as well as the entire obsolete messages).
+
+<DT><CODE>.translator-comment</CODE>
+<DD>
+This matches the translator comments.
+
+<DT><CODE>.extracted-comment</CODE>
+<DD>
+This matches the extracted comments, i.e. the comments placed by the
+programmer at the attention of the translator.
+
+<DT><CODE>.reference-comment</CODE>
+<DD>
+This matches the source file reference comments (entire lines).
+
+<DT><CODE>.reference</CODE>
+<DD>
+This matches the individual source file references inside the source file
+reference comment lines.
+
+<DT><CODE>.flag-comment</CODE>
+<DD>
+This matches the flag comment lines (entire lines).
+
+<DT><CODE>.flag</CODE>
+<DD>
+This matches the individual flags inside flag comment lines.
+
+<DT><CODE>.fuzzy-flag</CODE>
+<DD>
+This matches the `fuzzy' flag inside flag comment lines.
+
+<DT><CODE>.previous-comment</CODE>
+<DD>
+This matches the comments containing the previous untranslated string (entire
+lines).
+
+<DT><CODE>.previous</CODE>
+<DD>
+This matches the previous untranslated string including the string delimiters,
+the associated keywords (<CODE>msgid</CODE> etc.) and the spaces between them.
+
+<DT><CODE>.msgid</CODE>
+<DD>
+This matches the untranslated string including the string delimiters,
+the associated keywords (<CODE>msgid</CODE> etc.) and the spaces between them.
+
+<DT><CODE>.msgstr</CODE>
+<DD>
+This matches the translated string including the string delimiters,
+the associated keywords (<CODE>msgstr</CODE> etc.) and the spaces between them.
+
+<DT><CODE>.keyword</CODE>
+<DD>
+This matches the keywords (<CODE>msgid</CODE>, <CODE>msgstr</CODE>, etc.).
+
+<DT><CODE>.string</CODE>
+<DD>
+This matches strings, including the string delimiters (double quotes).
+</DL>
+
+<LI>
+
+Selectors that apply to parts of strings:
+
+<DL COMPACT>
+
+<DT><CODE>.text</CODE>
+<DD>
+This matches the entire contents of a string (excluding the string delimiters,
+i.e. the double quotes).
+
+<DT><CODE>.escape-sequence</CODE>
+<DD>
+This matches an escape sequence (starting with a backslash).
+
+<DT><CODE>.format-directive</CODE>
+<DD>
+This matches a format string directive (starting with a <SAMP>&lsquo;%&rsquo;</SAMP> sign in the
+case of most programming languages, with a <SAMP>&lsquo;{&rsquo;</SAMP> in the case of
+<CODE>java-format</CODE> and <CODE>csharp-format</CODE>, with a <SAMP>&lsquo;~&rsquo;</SAMP> in the case of
+<CODE>lisp-format</CODE> and <CODE>scheme-format</CODE>, or with <SAMP>&lsquo;$&rsquo;</SAMP> in the case of
+<CODE>sh-format</CODE>).
+
+<DT><CODE>.invalid-format-directive</CODE>
+<DD>
+This matches an invalid format string directive.
+
+<DT><CODE>.added</CODE>
+<DD>
+In an untranslated string, this matches a part of the string that was not
+present in the previous untranslated string. (Not yet implemented in this
+release.)
+
+<DT><CODE>.changed</CODE>
+<DD>
+In an untranslated string or in a previous untranslated string, this matches
+a part of the string that is changed or replaced. (Not yet implemented in
+this release.)
+
+<DT><CODE>.removed</CODE>
+<DD>
+In a previous untranslated string, this matches a part of the string that
+is not present in the current untranslated string. (Not yet implemented in
+this release.)
+</DL>
+</UL>
+
+<P>
+These selectors can be combined to hierarchical selectors. For example,
+
+</P>
+
+<PRE>
+.msgstr .invalid-format-directive { color: red; }
+</PRE>
+
+<P>
+will highlight the invalid format directives in the translated strings.
+
+</P>
+<P>
+In text mode, pseudo-classes (CSS2 spec, section 5.11) and pseudo-elements
+(CSS2 spec, section 5.12) are not supported.
+
+</P>
+<P>
+The declarations in HTML mode are not limited; any graphical attribute
+supported by the browsers can be used.
+
+</P>
+<P>
+The declarations in text mode are limited to the following properties. Other
+properties will be silently ignored.
+
+</P>
+<DL COMPACT>
+
+<DT><CODE>color</CODE> (CSS2 spec, section 14.1)
+<DD>
+<DT><CODE>background-color</CODE> (CSS2 spec, section 14.2.1)
+<DD>
+These properties is supported. Colors will be adjusted to match the terminal's
+capabilities. Note that many terminals support only 8 colors.
+
+<DT><CODE>font-weight</CODE> (CSS2 spec, section 15.2.3)
+<DD>
+This property is supported, but most terminals can only render two different
+weights: <CODE>normal</CODE> and <CODE>bold</CODE>. Values &#62;= 600 are rendered as
+<CODE>bold</CODE>.
+
+<DT><CODE>font-style</CODE> (CSS2 spec, section 15.2.3)
+<DD>
+This property is supported. The values <CODE>italic</CODE> and <CODE>oblique</CODE> are
+rendered the same way.
+
+<DT><CODE>text-decoration</CODE> (CSS2 spec, section 16.3.1)
+<DD>
+This property is supported, limited to the values <CODE>none</CODE> and
+<CODE>underline</CODE>.
+</DL>
+
+
+
+<H3><A NAME="SEC154" HREF="gettext_toc.html#TOC154">9.11.5 Customizing <CODE>less</CODE> for viewing PO files</A></H3>
+
+<P>
+The <SAMP>&lsquo;less&rsquo;</SAMP> program is a popular text file browser for use in a text
+screen or terminal emulator. It also supports text with embedded escape
+sequences for colors and text decorations.
+
+</P>
+<P>
+You can use <CODE>less</CODE> to view a PO file like this (assuming an UTF-8
+environment):
+
+</P>
+
+<PRE>
+msgcat --to-code=UTF-8 --color xyz.po | less -R
+</PRE>
+
+<P>
+You can simplify this to this simple command:
+
+</P>
+
+<PRE>
+less xyz.po
+</PRE>
+
+<P>
+after these three preparations:
+
+</P>
+
+<OL>
+<LI>
+
+Add the options <SAMP>&lsquo;-R&rsquo;</SAMP> and <SAMP>&lsquo;-f&rsquo;</SAMP> to the <CODE>LESS</CODE> environment
+variable. In sh shells:
+
+<PRE>
+$ LESS="$LESS -R -f"
+$ export LESS
+</PRE>
+
+<LI>
+
+If your system does not already have the <TT>&lsquo;lessopen.sh&rsquo;</TT> and
+<TT>&lsquo;lessclose.sh&rsquo;</TT> scripts, create them and set the <CODE>LESSOPEN</CODE> and
+<CODE>LESSCLOSE</CODE> environment variables, as indicated in the manual page
+(<SAMP>&lsquo;man less&rsquo;</SAMP>).
+
+<LI>
+
+Add to <TT>&lsquo;lessopen.sh&rsquo;</TT> a piece of script that recognizes PO files
+through their file extension and invokes <CODE>msgcat</CODE> on them, producing
+a temporary file. Like this:
+
+
+<PRE>
+case "$1" in
+ *.po)
+ tmpfile=`mktemp "${TMPDIR-/tmp}/less.XXXXXX"`
+ msgcat --to-code=UTF-8 --color "$1" &#62; "$tmpfile"
+ echo "$tmpfile"
+ exit 0
+ ;;
+esac
+</PRE>
+
+</OL>
+
+
+
+<H2><A NAME="SEC155" HREF="gettext_toc.html#TOC155">9.12 Writing your own programs that process PO files</A></H2>
<P>
For the tasks for which a combination of <SAMP>&lsquo;msgattrib&rsquo;</SAMP>, <SAMP>&lsquo;msgcat&rsquo;</SAMP> etc.
@@ -2560,7 +3159,7 @@ defined in a library called <SAMP>&lsquo;libgettextpo&rsquo;</SAMP>.
<P>
<DL>
<DT><U>Data Type:</U> <B>po_file_t</B>
-<DD><A NAME="IDX880"></A>
+<DD><A NAME="IDX901"></A>
This is a pointer type that refers to the contents of a PO file, after it has
been read into memory.
</DL>
@@ -2569,7 +3168,7 @@ been read into memory.
<P>
<DL>
<DT><U>Data Type:</U> <B>po_message_iterator_t</B>
-<DD><A NAME="IDX881"></A>
+<DD><A NAME="IDX902"></A>
This is a pointer type that refers to an iterator that produces a sequence of
messages.
</DL>
@@ -2578,7 +3177,7 @@ messages.
<P>
<DL>
<DT><U>Data Type:</U> <B>po_message_t</B>
-<DD><A NAME="IDX882"></A>
+<DD><A NAME="IDX903"></A>
This is a pointer type that refers to a message of a PO file, including its
translation.
</DL>
@@ -2587,7 +3186,7 @@ translation.
<P>
<DL>
<DT><U>Function:</U> po_file_t <B>po_file_read</B> <I>(const char *<VAR>filename</VAR>)</I>
-<DD><A NAME="IDX883"></A>
+<DD><A NAME="IDX904"></A>
The <CODE>po_file_read</CODE> function reads a PO file into memory. The file name
is given as argument. The return value is a handle to the PO file's contents,
valid until <CODE>po_file_free</CODE> is called on it. In case of error, the return
@@ -2598,7 +3197,7 @@ value is <CODE>NULL</CODE>, and <CODE>errno</CODE> is set.
<P>
<DL>
<DT><U>Function:</U> void <B>po_file_free</B> <I>(po_file_t <VAR>file</VAR>)</I>
-<DD><A NAME="IDX884"></A>
+<DD><A NAME="IDX905"></A>
The <CODE>po_file_free</CODE> function frees a PO file's contents from memory,
including all messages that are only implicitly accessible through iterators.
</DL>
@@ -2607,7 +3206,7 @@ including all messages that are only implicitly accessible through iterators.
<P>
<DL>
<DT><U>Function:</U> const char * const * <B>po_file_domains</B> <I>(po_file_t <VAR>file</VAR>)</I>
-<DD><A NAME="IDX885"></A>
+<DD><A NAME="IDX906"></A>
The <CODE>po_file_domains</CODE> function returns the domains for which the given
PO file has messages. The return value is a <CODE>NULL</CODE> terminated array
which is valid as long as the <VAR>file</VAR> handle is valid. For PO files which
@@ -2619,7 +3218,7 @@ namely the default domain <CODE>"messages"</CODE>.
<P>
<DL>
<DT><U>Function:</U> po_message_iterator_t <B>po_message_iterator</B> <I>(po_file_t <VAR>file</VAR>, const char *<VAR>domain</VAR>)</I>
-<DD><A NAME="IDX886"></A>
+<DD><A NAME="IDX907"></A>
The <CODE>po_message_iterator</CODE> returns an iterator that will produce the
messages of <VAR>file</VAR> that belong to the given <VAR>domain</VAR>. If <VAR>domain</VAR>
is <CODE>NULL</CODE>, the default domain is used instead. To list the messages,
@@ -2630,7 +3229,7 @@ use the function <CODE>po_next_message</CODE> repeatedly.
<P>
<DL>
<DT><U>Function:</U> void <B>po_message_iterator_free</B> <I>(po_message_iterator_t <VAR>iterator</VAR>)</I>
-<DD><A NAME="IDX887"></A>
+<DD><A NAME="IDX908"></A>
The <CODE>po_message_iterator_free</CODE> function frees an iterator previously
allocated through the <CODE>po_message_iterator</CODE> function.
</DL>
@@ -2639,7 +3238,7 @@ allocated through the <CODE>po_message_iterator</CODE> function.
<P>
<DL>
<DT><U>Function:</U> po_message_t <B>po_next_message</B> <I>(po_message_iterator_t <VAR>iterator</VAR>)</I>
-<DD><A NAME="IDX888"></A>
+<DD><A NAME="IDX909"></A>
The <CODE>po_next_message</CODE> function returns the next message from
<VAR>iterator</VAR> and advances the iterator. It returns <CODE>NULL</CODE> when the
iterator has reached the end of its message list.
@@ -2654,7 +3253,7 @@ that the results are valid as long as the <VAR>file</VAR> handle is valid.
<P>
<DL>
<DT><U>Function:</U> const char * <B>po_message_msgid</B> <I>(po_message_t <VAR>message</VAR>)</I>
-<DD><A NAME="IDX889"></A>
+<DD><A NAME="IDX910"></A>
The <CODE>po_message_msgid</CODE> function returns the <CODE>msgid</CODE> (untranslated
English string) of a message. This is guaranteed to be non-<CODE>NULL</CODE>.
</DL>
@@ -2663,7 +3262,7 @@ English string) of a message. This is guaranteed to be non-<CODE>NULL</CODE>.
<P>
<DL>
<DT><U>Function:</U> const char * <B>po_message_msgid_plural</B> <I>(po_message_t <VAR>message</VAR>)</I>
-<DD><A NAME="IDX890"></A>
+<DD><A NAME="IDX911"></A>
The <CODE>po_message_msgid_plural</CODE> function returns the <CODE>msgid_plural</CODE>
(untranslated English plural string) of a message with plurals, or <CODE>NULL</CODE>
for a message without plural.
@@ -2673,7 +3272,7 @@ for a message without plural.
<P>
<DL>
<DT><U>Function:</U> const char * <B>po_message_msgstr</B> <I>(po_message_t <VAR>message</VAR>)</I>
-<DD><A NAME="IDX891"></A>
+<DD><A NAME="IDX912"></A>
The <CODE>po_message_msgstr</CODE> function returns the <CODE>msgstr</CODE> (translation)
of a message. For an untranslated message, the return value is an empty
string.
@@ -2683,7 +3282,7 @@ string.
<P>
<DL>
<DT><U>Function:</U> const char * <B>po_message_msgstr_plural</B> <I>(po_message_t <VAR>message</VAR>, int <VAR>index</VAR>)</I>
-<DD><A NAME="IDX892"></A>
+<DD><A NAME="IDX913"></A>
The <CODE>po_message_msgstr_plural</CODE> function returns the
<CODE>msgstr[<VAR>index</VAR>]</CODE> of a message with plurals, or <CODE>NULL</CODE> when
the <VAR>index</VAR> is out of range or for a message without plural.
diff --git a/gettext-tools/doc/gettext_foot.html b/gettext-tools/doc/gettext_foot.html
index 72a0b7b..01a1dfe 100644
--- a/gettext-tools/doc/gettext_foot.html
+++ b/gettext-tools/doc/gettext_foot.html
@@ -1,15 +1,15 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 25 October 2006 -->
+ from gettext.texi on 4 November 2007 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - Footnotes</TITLE>
</HEAD>
<BODY>
-<H1>GNU gettext tools, version 0.16</H1>
+<H1>GNU gettext tools, version 0.17</H1>
<H2>Native Language Support Library and Tools</H2>
-<H2>Edition 0.16, 20 October 2006</H2>
+<H2>Edition 0.17, 31 October 2007</H2>
<ADDRESS>Ulrich Drepper</ADDRESS>
<ADDRESS>Jim Meyering</ADDRESS>
<ADDRESS>Fran&ccedil;ois Pinard</ADDRESS>
@@ -26,7 +26,7 @@ limitation is not imposed by GNU <CODE>gettext</CODE>, but is for compatibility
with the <CODE>msgfmt</CODE> implementation on Solaris.
<H3><A NAME="FOOT3" HREF="gettext_11.html#DOCF3">(3)</A></H3>
<P>Some
-system, eg Ultrix, don't have <CODE>LC_MESSAGES</CODE>. Here we use a more or
+system, e.g. mingw, don't have <CODE>LC_MESSAGES</CODE>. Here we use a more or
less arbitrary value for it, namely 1729, the smallest positive integer
which can be represented in two different ways as the sum of two cubes.
<H3><A NAME="FOOT4" HREF="gettext_11.html#DOCF4">(4)</A></H3>
@@ -37,7 +37,7 @@ variables.
<P>Additions are welcome. Send appropriate information to
<A HREF="mailto:bug-gnu-gettext@gnu.org">bug-gnu-gettext@gnu.org</A> and <A HREF="mailto:bug-glibc-manual@gnu.org">bug-glibc-manual@gnu.org</A>.
<P><HR><P>
-This document was generated on 25 October 2006 using the
+This document was generated on 4 November 2007 using the
<A HREF="http://wwwinfo.cern.ch/dis/texi2html/">texi2html</A>
translator version 1.52b.</P>
</BODY>
diff --git a/gettext-tools/doc/gettext_toc.html b/gettext-tools/doc/gettext_toc.html
index 321f18d..9b9f430 100644
--- a/gettext-tools/doc/gettext_toc.html
+++ b/gettext-tools/doc/gettext_toc.html
@@ -1,15 +1,15 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52b
- from gettext.texi on 25 October 2006 -->
+ from gettext.texi on 4 November 2007 -->
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=UTF-8">
<TITLE>GNU gettext utilities - Table of Contents</TITLE>
</HEAD>
<BODY>
-<H1>GNU gettext tools, version 0.16</H1>
+<H1>GNU gettext tools, version 0.17</H1>
<H2>Native Language Support Library and Tools</H2>
-<H2>Edition 0.16, 20 October 2006</H2>
+<H2>Edition 0.17, 31 October 2007</H2>
<ADDRESS>Ulrich Drepper</ADDRESS>
<ADDRESS>Jim Meyering</ADDRESS>
<ADDRESS>Fran&ccedil;ois Pinard</ADDRESS>
@@ -27,416 +27,440 @@
</UL>
<LI><A NAME="TOC7" HREF="gettext_2.html#SEC7">2 The User's View</A>
<UL>
-<LI><A NAME="TOC8" HREF="gettext_2.html#SEC8">2.1 The Current <TT>&lsquo;ABOUT-NLS&rsquo;</TT> Matrix</A>
-<LI><A NAME="TOC9" HREF="gettext_2.html#SEC9">2.2 Magic for End Users</A>
+<LI><A NAME="TOC8" HREF="gettext_2.html#SEC8">2.1 Operating System Installation</A>
+<LI><A NAME="TOC9" HREF="gettext_2.html#SEC9">2.2 Setting the Locale Used by GUI Programs</A>
+<LI><A NAME="TOC10" HREF="gettext_2.html#SEC10">2.3 Setting the Locale through Environment Variables</A>
+<UL>
+<LI><A NAME="TOC11" HREF="gettext_2.html#SEC11">2.3.1 Locale Names</A>
+<LI><A NAME="TOC12" HREF="gettext_2.html#SEC12">2.3.2 Locale Environment Variables</A>
+<LI><A NAME="TOC13" HREF="gettext_2.html#SEC13">2.3.3 Specifying a Priority List of Languages</A>
+</UL>
+<LI><A NAME="TOC14" HREF="gettext_2.html#SEC14">2.4 Installing Translations for Particular Programs</A>
+</UL>
+<LI><A NAME="TOC15" HREF="gettext_3.html#SEC15">3 The Format of PO Files</A>
+<LI><A NAME="TOC16" HREF="gettext_4.html#SEC16">4 Preparing Program Sources</A>
+<UL>
+<LI><A NAME="TOC17" HREF="gettext_4.html#SEC17">4.1 Importing the <CODE>gettext</CODE> declaration</A>
+<LI><A NAME="TOC18" HREF="gettext_4.html#SEC18">4.2 Triggering <CODE>gettext</CODE> Operations</A>
+<LI><A NAME="TOC19" HREF="gettext_4.html#SEC19">4.3 Preparing Translatable Strings</A>
+<LI><A NAME="TOC20" HREF="gettext_4.html#SEC20">4.4 How Marks Appear in Sources</A>
+<LI><A NAME="TOC21" HREF="gettext_4.html#SEC21">4.5 Marking Translatable Strings</A>
+<LI><A NAME="TOC22" HREF="gettext_4.html#SEC22">4.6 Special Comments preceding Keywords</A>
+<LI><A NAME="TOC23" HREF="gettext_4.html#SEC23">4.7 Special Cases of Translatable Strings</A>
+<LI><A NAME="TOC24" HREF="gettext_4.html#SEC24">4.8 Letting Users Report Translation Bugs</A>
+<LI><A NAME="TOC25" HREF="gettext_4.html#SEC25">4.9 Marking Proper Names for Translation</A>
+<LI><A NAME="TOC26" HREF="gettext_4.html#SEC26">4.10 Preparing Library Sources</A>
+</UL>
+<LI><A NAME="TOC27" HREF="gettext_5.html#SEC27">5 Making the PO Template File</A>
+<UL>
+<LI><A NAME="TOC28" HREF="gettext_5.html#SEC28">5.1 Invoking the <CODE>xgettext</CODE> Program</A>
+<UL>
+<LI><A NAME="TOC29" HREF="gettext_5.html#SEC29">5.1.1 Input file location</A>
+<LI><A NAME="TOC30" HREF="gettext_5.html#SEC30">5.1.2 Output file location</A>
+<LI><A NAME="TOC31" HREF="gettext_5.html#SEC31">5.1.3 Choice of input file language</A>
+<LI><A NAME="TOC32" HREF="gettext_5.html#SEC32">5.1.4 Input file interpretation</A>
+<LI><A NAME="TOC33" HREF="gettext_5.html#SEC33">5.1.5 Operation mode</A>
+<LI><A NAME="TOC34" HREF="gettext_5.html#SEC34">5.1.6 Language specific options</A>
+<LI><A NAME="TOC35" HREF="gettext_5.html#SEC35">5.1.7 Output details</A>
+<LI><A NAME="TOC36" HREF="gettext_5.html#SEC36">5.1.8 Informative output</A>
+</UL>
+</UL>
+<LI><A NAME="TOC37" HREF="gettext_6.html#SEC37">6 Creating a New PO File</A>
+<UL>
+<LI><A NAME="TOC38" HREF="gettext_6.html#SEC38">6.1 Invoking the <CODE>msginit</CODE> Program</A>
+<UL>
+<LI><A NAME="TOC39" HREF="gettext_6.html#SEC39">6.1.1 Input file location</A>
+<LI><A NAME="TOC40" HREF="gettext_6.html#SEC40">6.1.2 Output file location</A>
+<LI><A NAME="TOC41" HREF="gettext_6.html#SEC41">6.1.3 Input file syntax</A>
+<LI><A NAME="TOC42" HREF="gettext_6.html#SEC42">6.1.4 Output details</A>
+<LI><A NAME="TOC43" HREF="gettext_6.html#SEC43">6.1.5 Informative output</A>
+</UL>
+<LI><A NAME="TOC44" HREF="gettext_6.html#SEC44">6.2 Filling in the Header Entry</A>
+</UL>
+<LI><A NAME="TOC45" HREF="gettext_7.html#SEC45">7 Updating Existing PO Files</A>
+<UL>
+<LI><A NAME="TOC46" HREF="gettext_7.html#SEC46">7.1 Invoking the <CODE>msgmerge</CODE> Program</A>
+<UL>
+<LI><A NAME="TOC47" HREF="gettext_7.html#SEC47">7.1.1 Input file location</A>
+<LI><A NAME="TOC48" HREF="gettext_7.html#SEC48">7.1.2 Operation mode</A>
+<LI><A NAME="TOC49" HREF="gettext_7.html#SEC49">7.1.3 Output file location</A>
+<LI><A NAME="TOC50" HREF="gettext_7.html#SEC50">7.1.4 Output file location in update mode</A>
+<LI><A NAME="TOC51" HREF="gettext_7.html#SEC51">7.1.5 Operation modifiers</A>
+<LI><A NAME="TOC52" HREF="gettext_7.html#SEC52">7.1.6 Input file syntax</A>
+<LI><A NAME="TOC53" HREF="gettext_7.html#SEC53">7.1.7 Output details</A>
+<LI><A NAME="TOC54" HREF="gettext_7.html#SEC54">7.1.8 Informative output</A>
</UL>
-<LI><A NAME="TOC10" HREF="gettext_3.html#SEC10">3 The Format of PO Files</A>
-<LI><A NAME="TOC11" HREF="gettext_4.html#SEC11">4 Preparing Program Sources</A>
+</UL>
+<LI><A NAME="TOC55" HREF="gettext_8.html#SEC55">8 Editing PO Files</A>
+<UL>
+<LI><A NAME="TOC56" HREF="gettext_8.html#SEC56">8.1 KDE's PO File Editor</A>
+<LI><A NAME="TOC57" HREF="gettext_8.html#SEC57">8.2 GNOME's PO File Editor</A>
+<LI><A NAME="TOC58" HREF="gettext_8.html#SEC58">8.3 Emacs's PO File Editor</A>
<UL>
-<LI><A NAME="TOC12" HREF="gettext_4.html#SEC12">4.1 Importing the <CODE>gettext</CODE> declaration</A>
-<LI><A NAME="TOC13" HREF="gettext_4.html#SEC13">4.2 Triggering <CODE>gettext</CODE> Operations</A>
-<LI><A NAME="TOC14" HREF="gettext_4.html#SEC14">4.3 Preparing Translatable Strings</A>
-<LI><A NAME="TOC15" HREF="gettext_4.html#SEC15">4.4 How Marks Appear in Sources</A>
-<LI><A NAME="TOC16" HREF="gettext_4.html#SEC16">4.5 Marking Translatable Strings</A>
-<LI><A NAME="TOC17" HREF="gettext_4.html#SEC17">4.6 Special Comments preceding Keywords</A>
-<LI><A NAME="TOC18" HREF="gettext_4.html#SEC18">4.7 Special Cases of Translatable Strings</A>
-<LI><A NAME="TOC19" HREF="gettext_4.html#SEC19">4.8 Marking Proper Names for Translation</A>
-<LI><A NAME="TOC20" HREF="gettext_4.html#SEC20">4.9 Preparing Library Sources</A>
+<LI><A NAME="TOC59" HREF="gettext_8.html#SEC59">8.3.1 Completing GNU <CODE>gettext</CODE> Installation</A>
+<LI><A NAME="TOC60" HREF="gettext_8.html#SEC60">8.3.2 Main PO mode Commands</A>
+<LI><A NAME="TOC61" HREF="gettext_8.html#SEC61">8.3.3 Entry Positioning</A>
+<LI><A NAME="TOC62" HREF="gettext_8.html#SEC62">8.3.4 Normalizing Strings in Entries</A>
+<LI><A NAME="TOC63" HREF="gettext_8.html#SEC63">8.3.5 Translated Entries</A>
+<LI><A NAME="TOC64" HREF="gettext_8.html#SEC64">8.3.6 Fuzzy Entries</A>
+<LI><A NAME="TOC65" HREF="gettext_8.html#SEC65">8.3.7 Untranslated Entries</A>
+<LI><A NAME="TOC66" HREF="gettext_8.html#SEC66">8.3.8 Obsolete Entries</A>
+<LI><A NAME="TOC67" HREF="gettext_8.html#SEC67">8.3.9 Modifying Translations</A>
+<LI><A NAME="TOC68" HREF="gettext_8.html#SEC68">8.3.10 Modifying Comments</A>
+<LI><A NAME="TOC69" HREF="gettext_8.html#SEC69">8.3.11 Details of Sub Edition</A>
+<LI><A NAME="TOC70" HREF="gettext_8.html#SEC70">8.3.12 C Sources Context</A>
+<LI><A NAME="TOC71" HREF="gettext_8.html#SEC71">8.3.13 Consulting Auxiliary PO Files</A>
</UL>
-<LI><A NAME="TOC21" HREF="gettext_5.html#SEC21">5 Making the PO Template File</A>
+<LI><A NAME="TOC72" HREF="gettext_8.html#SEC72">8.4 Using Translation Compendia</A>
<UL>
-<LI><A NAME="TOC22" HREF="gettext_5.html#SEC22">5.1 Invoking the <CODE>xgettext</CODE> Program</A>
+<LI><A NAME="TOC73" HREF="gettext_8.html#SEC73">8.4.1 Creating Compendia</A>
+<UL>
+<LI><A NAME="TOC74" HREF="gettext_8.html#SEC74">8.4.1.1 Concatenate PO Files</A>
+<LI><A NAME="TOC75" HREF="gettext_8.html#SEC75">8.4.1.2 Extract a Message Subset from a PO File</A>
+</UL>
+<LI><A NAME="TOC76" HREF="gettext_8.html#SEC76">8.4.2 Using Compendia</A>
<UL>
-<LI><A NAME="TOC23" HREF="gettext_5.html#SEC23">5.1.1 Input file location</A>
-<LI><A NAME="TOC24" HREF="gettext_5.html#SEC24">5.1.2 Output file location</A>
-<LI><A NAME="TOC25" HREF="gettext_5.html#SEC25">5.1.3 Choice of input file language</A>
-<LI><A NAME="TOC26" HREF="gettext_5.html#SEC26">5.1.4 Input file interpretation</A>
-<LI><A NAME="TOC27" HREF="gettext_5.html#SEC27">5.1.5 Operation mode</A>
-<LI><A NAME="TOC28" HREF="gettext_5.html#SEC28">5.1.6 Language specific options</A>
-<LI><A NAME="TOC29" HREF="gettext_5.html#SEC29">5.1.7 Output details</A>
-<LI><A NAME="TOC30" HREF="gettext_5.html#SEC30">5.1.8 Informative output</A>
+<LI><A NAME="TOC77" HREF="gettext_8.html#SEC77">8.4.2.1 Initialize a New Translation File</A>
+<LI><A NAME="TOC78" HREF="gettext_8.html#SEC78">8.4.2.2 Update an Existing Translation File</A>
</UL>
</UL>
-<LI><A NAME="TOC31" HREF="gettext_6.html#SEC31">6 Creating a New PO File</A>
-<UL>
-<LI><A NAME="TOC32" HREF="gettext_6.html#SEC32">6.1 Invoking the <CODE>msginit</CODE> Program</A>
-<UL>
-<LI><A NAME="TOC33" HREF="gettext_6.html#SEC33">6.1.1 Input file location</A>
-<LI><A NAME="TOC34" HREF="gettext_6.html#SEC34">6.1.2 Output file location</A>
-<LI><A NAME="TOC35" HREF="gettext_6.html#SEC35">6.1.3 Input file syntax</A>
-<LI><A NAME="TOC36" HREF="gettext_6.html#SEC36">6.1.4 Output details</A>
-<LI><A NAME="TOC37" HREF="gettext_6.html#SEC37">6.1.5 Informative output</A>
-</UL>
-<LI><A NAME="TOC38" HREF="gettext_6.html#SEC38">6.2 Filling in the Header Entry</A>
-</UL>
-<LI><A NAME="TOC39" HREF="gettext_7.html#SEC39">7 Updating Existing PO Files</A>
-<UL>
-<LI><A NAME="TOC40" HREF="gettext_7.html#SEC40">7.1 Invoking the <CODE>msgmerge</CODE> Program</A>
+</UL>
+<LI><A NAME="TOC79" HREF="gettext_9.html#SEC79">9 Manipulating PO Files</A>
<UL>
-<LI><A NAME="TOC41" HREF="gettext_7.html#SEC41">7.1.1 Input file location</A>
-<LI><A NAME="TOC42" HREF="gettext_7.html#SEC42">7.1.2 Operation mode</A>
-<LI><A NAME="TOC43" HREF="gettext_7.html#SEC43">7.1.3 Output file location</A>
-<LI><A NAME="TOC44" HREF="gettext_7.html#SEC44">7.1.4 Output file location in update mode</A>
-<LI><A NAME="TOC45" HREF="gettext_7.html#SEC45">7.1.5 Operation modifiers</A>
-<LI><A NAME="TOC46" HREF="gettext_7.html#SEC46">7.1.6 Input file syntax</A>
-<LI><A NAME="TOC47" HREF="gettext_7.html#SEC47">7.1.7 Output details</A>
-<LI><A NAME="TOC48" HREF="gettext_7.html#SEC48">7.1.8 Informative output</A>
-</UL>
-</UL>
-<LI><A NAME="TOC49" HREF="gettext_8.html#SEC49">8 Editing PO Files</A>
-<UL>
-<LI><A NAME="TOC50" HREF="gettext_8.html#SEC50">8.1 KDE's PO File Editor</A>
-<LI><A NAME="TOC51" HREF="gettext_8.html#SEC51">8.2 GNOME's PO File Editor</A>
-<LI><A NAME="TOC52" HREF="gettext_8.html#SEC52">8.3 Emacs's PO File Editor</A>
-<UL>
-<LI><A NAME="TOC53" HREF="gettext_8.html#SEC53">8.3.1 Completing GNU <CODE>gettext</CODE> Installation</A>
-<LI><A NAME="TOC54" HREF="gettext_8.html#SEC54">8.3.2 Main PO mode Commands</A>
-<LI><A NAME="TOC55" HREF="gettext_8.html#SEC55">8.3.3 Entry Positioning</A>
-<LI><A NAME="TOC56" HREF="gettext_8.html#SEC56">8.3.4 Normalizing Strings in Entries</A>
-<LI><A NAME="TOC57" HREF="gettext_8.html#SEC57">8.3.5 Translated Entries</A>
-<LI><A NAME="TOC58" HREF="gettext_8.html#SEC58">8.3.6 Fuzzy Entries</A>
-<LI><A NAME="TOC59" HREF="gettext_8.html#SEC59">8.3.7 Untranslated Entries</A>
-<LI><A NAME="TOC60" HREF="gettext_8.html#SEC60">8.3.8 Obsolete Entries</A>
-<LI><A NAME="TOC61" HREF="gettext_8.html#SEC61">8.3.9 Modifying Translations</A>
-<LI><A NAME="TOC62" HREF="gettext_8.html#SEC62">8.3.10 Modifying Comments</A>
-<LI><A NAME="TOC63" HREF="gettext_8.html#SEC63">8.3.11 Details of Sub Edition</A>
-<LI><A NAME="TOC64" HREF="gettext_8.html#SEC64">8.3.12 C Sources Context</A>
-<LI><A NAME="TOC65" HREF="gettext_8.html#SEC65">8.3.13 Consulting Auxiliary PO Files</A>
-<LI><A NAME="TOC66" HREF="gettext_8.html#SEC66">8.3.14 Using Translation Compendia</A>
+<LI><A NAME="TOC80" HREF="gettext_9.html#SEC80">9.1 Invoking the <CODE>msgcat</CODE> Program</A>
<UL>
-<LI><A NAME="TOC67" HREF="gettext_8.html#SEC67">8.3.14.1 Creating Compendia</A>
-<LI><A NAME="TOC68" HREF="gettext_8.html#SEC68">8.3.14.2 Concatenate PO Files</A>
-<LI><A NAME="TOC69" HREF="gettext_8.html#SEC69">8.3.14.3 Extract a Message Subset from a PO File</A>
-<LI><A NAME="TOC70" HREF="gettext_8.html#SEC70">8.3.14.4 Using Compendia</A>
-<LI><A NAME="TOC71" HREF="gettext_8.html#SEC71">8.3.14.5 Initialize a New Translation File</A>
-<LI><A NAME="TOC72" HREF="gettext_8.html#SEC72">8.3.14.6 Update an Existing Translation File</A>
+<LI><A NAME="TOC81" HREF="gettext_9.html#SEC81">9.1.1 Input file location</A>
+<LI><A NAME="TOC82" HREF="gettext_9.html#SEC82">9.1.2 Output file location</A>
+<LI><A NAME="TOC83" HREF="gettext_9.html#SEC83">9.1.3 Message selection</A>
+<LI><A NAME="TOC84" HREF="gettext_9.html#SEC84">9.1.4 Input file syntax</A>
+<LI><A NAME="TOC85" HREF="gettext_9.html#SEC85">9.1.5 Output details</A>
+<LI><A NAME="TOC86" HREF="gettext_9.html#SEC86">9.1.6 Informative output</A>
</UL>
+<LI><A NAME="TOC87" HREF="gettext_9.html#SEC87">9.2 Invoking the <CODE>msgconv</CODE> Program</A>
+<UL>
+<LI><A NAME="TOC88" HREF="gettext_9.html#SEC88">9.2.1 Input file location</A>
+<LI><A NAME="TOC89" HREF="gettext_9.html#SEC89">9.2.2 Output file location</A>
+<LI><A NAME="TOC90" HREF="gettext_9.html#SEC90">9.2.3 Conversion target</A>
+<LI><A NAME="TOC91" HREF="gettext_9.html#SEC91">9.2.4 Input file syntax</A>
+<LI><A NAME="TOC92" HREF="gettext_9.html#SEC92">9.2.5 Output details</A>
+<LI><A NAME="TOC93" HREF="gettext_9.html#SEC93">9.2.6 Informative output</A>
</UL>
+<LI><A NAME="TOC94" HREF="gettext_9.html#SEC94">9.3 Invoking the <CODE>msggrep</CODE> Program</A>
+<UL>
+<LI><A NAME="TOC95" HREF="gettext_9.html#SEC95">9.3.1 Input file location</A>
+<LI><A NAME="TOC96" HREF="gettext_9.html#SEC96">9.3.2 Output file location</A>
+<LI><A NAME="TOC97" HREF="gettext_9.html#SEC97">9.3.3 Message selection</A>
+<LI><A NAME="TOC98" HREF="gettext_9.html#SEC98">9.3.4 Input file syntax</A>
+<LI><A NAME="TOC99" HREF="gettext_9.html#SEC99">9.3.5 Output details</A>
+<LI><A NAME="TOC100" HREF="gettext_9.html#SEC100">9.3.6 Informative output</A>
+<LI><A NAME="TOC101" HREF="gettext_9.html#SEC101">9.3.7 Examples</A>
</UL>
-<LI><A NAME="TOC73" HREF="gettext_9.html#SEC73">9 Manipulating PO Files</A>
-<UL>
-<LI><A NAME="TOC74" HREF="gettext_9.html#SEC74">9.1 Invoking the <CODE>msgcat</CODE> Program</A>
-<UL>
-<LI><A NAME="TOC75" HREF="gettext_9.html#SEC75">9.1.1 Input file location</A>
-<LI><A NAME="TOC76" HREF="gettext_9.html#SEC76">9.1.2 Output file location</A>
-<LI><A NAME="TOC77" HREF="gettext_9.html#SEC77">9.1.3 Message selection</A>
-<LI><A NAME="TOC78" HREF="gettext_9.html#SEC78">9.1.4 Input file syntax</A>
-<LI><A NAME="TOC79" HREF="gettext_9.html#SEC79">9.1.5 Output details</A>
-<LI><A NAME="TOC80" HREF="gettext_9.html#SEC80">9.1.6 Informative output</A>
-</UL>
-<LI><A NAME="TOC81" HREF="gettext_9.html#SEC81">9.2 Invoking the <CODE>msgconv</CODE> Program</A>
-<UL>
-<LI><A NAME="TOC82" HREF="gettext_9.html#SEC82">9.2.1 Input file location</A>
-<LI><A NAME="TOC83" HREF="gettext_9.html#SEC83">9.2.2 Output file location</A>
-<LI><A NAME="TOC84" HREF="gettext_9.html#SEC84">9.2.3 Conversion target</A>
-<LI><A NAME="TOC85" HREF="gettext_9.html#SEC85">9.2.4 Input file syntax</A>
-<LI><A NAME="TOC86" HREF="gettext_9.html#SEC86">9.2.5 Output details</A>
-<LI><A NAME="TOC87" HREF="gettext_9.html#SEC87">9.2.6 Informative output</A>
-</UL>
-<LI><A NAME="TOC88" HREF="gettext_9.html#SEC88">9.3 Invoking the <CODE>msggrep</CODE> Program</A>
-<UL>
-<LI><A NAME="TOC89" HREF="gettext_9.html#SEC89">9.3.1 Input file location</A>
-<LI><A NAME="TOC90" HREF="gettext_9.html#SEC90">9.3.2 Output file location</A>
-<LI><A NAME="TOC91" HREF="gettext_9.html#SEC91">9.3.3 Message selection</A>
-<LI><A NAME="TOC92" HREF="gettext_9.html#SEC92">9.3.4 Input file syntax</A>
-<LI><A NAME="TOC93" HREF="gettext_9.html#SEC93">9.3.5 Output details</A>
-<LI><A NAME="TOC94" HREF="gettext_9.html#SEC94">9.3.6 Informative output</A>
+<LI><A NAME="TOC102" HREF="gettext_9.html#SEC102">9.4 Invoking the <CODE>msgfilter</CODE> Program</A>
+<UL>
+<LI><A NAME="TOC103" HREF="gettext_9.html#SEC103">9.4.1 Input file location</A>
+<LI><A NAME="TOC104" HREF="gettext_9.html#SEC104">9.4.2 Output file location</A>
+<LI><A NAME="TOC105" HREF="gettext_9.html#SEC105">9.4.3 The filter</A>
+<LI><A NAME="TOC106" HREF="gettext_9.html#SEC106">9.4.4 Useful <VAR>filter-option</VAR>s when the <VAR>filter</VAR> is <SAMP>&lsquo;sed&rsquo;</SAMP></A>
+<LI><A NAME="TOC107" HREF="gettext_9.html#SEC107">9.4.5 Built-in <VAR>filter</VAR>s</A>
+<LI><A NAME="TOC108" HREF="gettext_9.html#SEC108">9.4.6 Input file syntax</A>
+<LI><A NAME="TOC109" HREF="gettext_9.html#SEC109">9.4.7 Output details</A>
+<LI><A NAME="TOC110" HREF="gettext_9.html#SEC110">9.4.8 Informative output</A>
+<LI><A NAME="TOC111" HREF="gettext_9.html#SEC111">9.4.9 Examples</A>
</UL>
-<LI><A NAME="TOC95" HREF="gettext_9.html#SEC95">9.4 Invoking the <CODE>msgfilter</CODE> Program</A>
+<LI><A NAME="TOC112" HREF="gettext_9.html#SEC112">9.5 Invoking the <CODE>msguniq</CODE> Program</A>
<UL>
-<LI><A NAME="TOC96" HREF="gettext_9.html#SEC96">9.4.1 Input file location</A>
-<LI><A NAME="TOC97" HREF="gettext_9.html#SEC97">9.4.2 Output file location</A>
-<LI><A NAME="TOC98" HREF="gettext_9.html#SEC98">9.4.3 The filter</A>
-<LI><A NAME="TOC99" HREF="gettext_9.html#SEC99">9.4.4 Useful <VAR>filter-option</VAR>s when the <VAR>filter</VAR> is <SAMP>&lsquo;sed&rsquo;</SAMP></A>
-<LI><A NAME="TOC100" HREF="gettext_9.html#SEC100">9.4.5 Built-in <VAR>filter</VAR>s</A>
-<LI><A NAME="TOC101" HREF="gettext_9.html#SEC101">9.4.6 Input file syntax</A>
-<LI><A NAME="TOC102" HREF="gettext_9.html#SEC102">9.4.7 Output details</A>
-<LI><A NAME="TOC103" HREF="gettext_9.html#SEC103">9.4.8 Informative output</A>
-</UL>
-<LI><A NAME="TOC104" HREF="gettext_9.html#SEC104">9.5 Invoking the <CODE>msguniq</CODE> Program</A>
+<LI><A NAME="TOC113" HREF="gettext_9.html#SEC113">9.5.1 Input file location</A>
+<LI><A NAME="TOC114" HREF="gettext_9.html#SEC114">9.5.2 Output file location</A>
+<LI><A NAME="TOC115" HREF="gettext_9.html#SEC115">9.5.3 Message selection</A>
+<LI><A NAME="TOC116" HREF="gettext_9.html#SEC116">9.5.4 Input file syntax</A>
+<LI><A NAME="TOC117" HREF="gettext_9.html#SEC117">9.5.5 Output details</A>
+<LI><A NAME="TOC118" HREF="gettext_9.html#SEC118">9.5.6 Informative output</A>
+</UL>
+<LI><A NAME="TOC119" HREF="gettext_9.html#SEC119">9.6 Invoking the <CODE>msgcomm</CODE> Program</A>
+<UL>
+<LI><A NAME="TOC120" HREF="gettext_9.html#SEC120">9.6.1 Input file location</A>
+<LI><A NAME="TOC121" HREF="gettext_9.html#SEC121">9.6.2 Output file location</A>
+<LI><A NAME="TOC122" HREF="gettext_9.html#SEC122">9.6.3 Message selection</A>
+<LI><A NAME="TOC123" HREF="gettext_9.html#SEC123">9.6.4 Input file syntax</A>
+<LI><A NAME="TOC124" HREF="gettext_9.html#SEC124">9.6.5 Output details</A>
+<LI><A NAME="TOC125" HREF="gettext_9.html#SEC125">9.6.6 Informative output</A>
+</UL>
+<LI><A NAME="TOC126" HREF="gettext_9.html#SEC126">9.7 Invoking the <CODE>msgcmp</CODE> Program</A>
<UL>
-<LI><A NAME="TOC105" HREF="gettext_9.html#SEC105">9.5.1 Input file location</A>
-<LI><A NAME="TOC106" HREF="gettext_9.html#SEC106">9.5.2 Output file location</A>
-<LI><A NAME="TOC107" HREF="gettext_9.html#SEC107">9.5.3 Message selection</A>
-<LI><A NAME="TOC108" HREF="gettext_9.html#SEC108">9.5.4 Input file syntax</A>
-<LI><A NAME="TOC109" HREF="gettext_9.html#SEC109">9.5.5 Output details</A>
-<LI><A NAME="TOC110" HREF="gettext_9.html#SEC110">9.5.6 Informative output</A>
-</UL>
-<LI><A NAME="TOC111" HREF="gettext_9.html#SEC111">9.6 Invoking the <CODE>msgcomm</CODE> Program</A>
-<UL>
-<LI><A NAME="TOC112" HREF="gettext_9.html#SEC112">9.6.1 Input file location</A>
-<LI><A NAME="TOC113" HREF="gettext_9.html#SEC113">9.6.2 Output file location</A>
-<LI><A NAME="TOC114" HREF="gettext_9.html#SEC114">9.6.3 Message selection</A>
-<LI><A NAME="TOC115" HREF="gettext_9.html#SEC115">9.6.4 Input file syntax</A>
-<LI><A NAME="TOC116" HREF="gettext_9.html#SEC116">9.6.5 Output details</A>
-<LI><A NAME="TOC117" HREF="gettext_9.html#SEC117">9.6.6 Informative output</A>
-</UL>
-<LI><A NAME="TOC118" HREF="gettext_9.html#SEC118">9.7 Invoking the <CODE>msgcmp</CODE> Program</A>
-<UL>
-<LI><A NAME="TOC119" HREF="gettext_9.html#SEC119">9.7.1 Input file location</A>
-<LI><A NAME="TOC120" HREF="gettext_9.html#SEC120">9.7.2 Operation modifiers</A>
-<LI><A NAME="TOC121" HREF="gettext_9.html#SEC121">9.7.3 Input file syntax</A>
-<LI><A NAME="TOC122" HREF="gettext_9.html#SEC122">9.7.4 Informative output</A>
+<LI><A NAME="TOC127" HREF="gettext_9.html#SEC127">9.7.1 Input file location</A>
+<LI><A NAME="TOC128" HREF="gettext_9.html#SEC128">9.7.2 Operation modifiers</A>
+<LI><A NAME="TOC129" HREF="gettext_9.html#SEC129">9.7.3 Input file syntax</A>
+<LI><A NAME="TOC130" HREF="gettext_9.html#SEC130">9.7.4 Informative output</A>
</UL>
-<LI><A NAME="TOC123" HREF="gettext_9.html#SEC123">9.8 Invoking the <CODE>msgattrib</CODE> Program</A>
+<LI><A NAME="TOC131" HREF="gettext_9.html#SEC131">9.8 Invoking the <CODE>msgattrib</CODE> Program</A>
<UL>
-<LI><A NAME="TOC124" HREF="gettext_9.html#SEC124">9.8.1 Input file location</A>
-<LI><A NAME="TOC125" HREF="gettext_9.html#SEC125">9.8.2 Output file location</A>
-<LI><A NAME="TOC126" HREF="gettext_9.html#SEC126">9.8.3 Message selection</A>
-<LI><A NAME="TOC127" HREF="gettext_9.html#SEC127">9.8.4 Attribute manipulation</A>
-<LI><A NAME="TOC128" HREF="gettext_9.html#SEC128">9.8.5 Input file syntax</A>
-<LI><A NAME="TOC129" HREF="gettext_9.html#SEC129">9.8.6 Output details</A>
-<LI><A NAME="TOC130" HREF="gettext_9.html#SEC130">9.8.7 Informative output</A>
-</UL>
-<LI><A NAME="TOC131" HREF="gettext_9.html#SEC131">9.9 Invoking the <CODE>msgen</CODE> Program</A>
-<UL>
-<LI><A NAME="TOC132" HREF="gettext_9.html#SEC132">9.9.1 Input file location</A>
-<LI><A NAME="TOC133" HREF="gettext_9.html#SEC133">9.9.2 Output file location</A>
-<LI><A NAME="TOC134" HREF="gettext_9.html#SEC134">9.9.3 Input file syntax</A>
-<LI><A NAME="TOC135" HREF="gettext_9.html#SEC135">9.9.4 Output details</A>
-<LI><A NAME="TOC136" HREF="gettext_9.html#SEC136">9.9.5 Informative output</A>
-</UL>
-<LI><A NAME="TOC137" HREF="gettext_9.html#SEC137">9.10 Invoking the <CODE>msgexec</CODE> Program</A>
-<UL>
-<LI><A NAME="TOC138" HREF="gettext_9.html#SEC138">9.10.1 Input file location</A>
-<LI><A NAME="TOC139" HREF="gettext_9.html#SEC139">9.10.2 Input file syntax</A>
-<LI><A NAME="TOC140" HREF="gettext_9.html#SEC140">9.10.3 Informative output</A>
+<LI><A NAME="TOC132" HREF="gettext_9.html#SEC132">9.8.1 Input file location</A>
+<LI><A NAME="TOC133" HREF="gettext_9.html#SEC133">9.8.2 Output file location</A>
+<LI><A NAME="TOC134" HREF="gettext_9.html#SEC134">9.8.3 Message selection</A>
+<LI><A NAME="TOC135" HREF="gettext_9.html#SEC135">9.8.4 Attribute manipulation</A>
+<LI><A NAME="TOC136" HREF="gettext_9.html#SEC136">9.8.5 Input file syntax</A>
+<LI><A NAME="TOC137" HREF="gettext_9.html#SEC137">9.8.6 Output details</A>
+<LI><A NAME="TOC138" HREF="gettext_9.html#SEC138">9.8.7 Informative output</A>
</UL>
-<LI><A NAME="TOC141" HREF="gettext_9.html#SEC141">9.11 Writing your own programs that process PO files</A>
+<LI><A NAME="TOC139" HREF="gettext_9.html#SEC139">9.9 Invoking the <CODE>msgen</CODE> Program</A>
+<UL>
+<LI><A NAME="TOC140" HREF="gettext_9.html#SEC140">9.9.1 Input file location</A>
+<LI><A NAME="TOC141" HREF="gettext_9.html#SEC141">9.9.2 Output file location</A>
+<LI><A NAME="TOC142" HREF="gettext_9.html#SEC142">9.9.3 Input file syntax</A>
+<LI><A NAME="TOC143" HREF="gettext_9.html#SEC143">9.9.4 Output details</A>
+<LI><A NAME="TOC144" HREF="gettext_9.html#SEC144">9.9.5 Informative output</A>
</UL>
-<LI><A NAME="TOC142" HREF="gettext_10.html#SEC142">10 Producing Binary MO Files</A>
-<UL>
-<LI><A NAME="TOC143" HREF="gettext_10.html#SEC143">10.1 Invoking the <CODE>msgfmt</CODE> Program</A>
+<LI><A NAME="TOC145" HREF="gettext_9.html#SEC145">9.10 Invoking the <CODE>msgexec</CODE> Program</A>
<UL>
-<LI><A NAME="TOC144" HREF="gettext_10.html#SEC144">10.1.1 Input file location</A>
-<LI><A NAME="TOC145" HREF="gettext_10.html#SEC145">10.1.2 Operation mode</A>
-<LI><A NAME="TOC146" HREF="gettext_10.html#SEC146">10.1.3 Output file location</A>
-<LI><A NAME="TOC147" HREF="gettext_10.html#SEC147">10.1.4 Output file location in Java mode</A>
-<LI><A NAME="TOC148" HREF="gettext_10.html#SEC148">10.1.5 Output file location in C# mode</A>
-<LI><A NAME="TOC149" HREF="gettext_10.html#SEC149">10.1.6 Output file location in Tcl mode</A>
-<LI><A NAME="TOC150" HREF="gettext_10.html#SEC150">10.1.7 Input file syntax</A>
-<LI><A NAME="TOC151" HREF="gettext_10.html#SEC151">10.1.8 Input file interpretation</A>
-<LI><A NAME="TOC152" HREF="gettext_10.html#SEC152">10.1.9 Output details</A>
-<LI><A NAME="TOC153" HREF="gettext_10.html#SEC153">10.1.10 Informative output</A>
-</UL>
-<LI><A NAME="TOC154" HREF="gettext_10.html#SEC154">10.2 Invoking the <CODE>msgunfmt</CODE> Program</A>
+<LI><A NAME="TOC146" HREF="gettext_9.html#SEC146">9.10.1 Input file location</A>
+<LI><A NAME="TOC147" HREF="gettext_9.html#SEC147">9.10.2 Input file syntax</A>
+<LI><A NAME="TOC148" HREF="gettext_9.html#SEC148">9.10.3 Informative output</A>
+</UL>
+<LI><A NAME="TOC149" HREF="gettext_9.html#SEC149">9.11 Highlighting parts of PO files</A>
+<UL>
+<LI><A NAME="TOC150" HREF="gettext_9.html#SEC150">9.11.1 The <CODE>--color</CODE> option</A>
+<LI><A NAME="TOC151" HREF="gettext_9.html#SEC151">9.11.2 The environment variable <CODE>TERM</CODE></A>
+<LI><A NAME="TOC152" HREF="gettext_9.html#SEC152">9.11.3 The <CODE>--style</CODE> option</A>
+<LI><A NAME="TOC153" HREF="gettext_9.html#SEC153">9.11.4 Style rules for PO files</A>
+<LI><A NAME="TOC154" HREF="gettext_9.html#SEC154">9.11.5 Customizing <CODE>less</CODE> for viewing PO files</A>
+</UL>
+<LI><A NAME="TOC155" HREF="gettext_9.html#SEC155">9.12 Writing your own programs that process PO files</A>
+</UL>
+<LI><A NAME="TOC156" HREF="gettext_10.html#SEC156">10 Producing Binary MO Files</A>
+<UL>
+<LI><A NAME="TOC157" HREF="gettext_10.html#SEC157">10.1 Invoking the <CODE>msgfmt</CODE> Program</A>
+<UL>
+<LI><A NAME="TOC158" HREF="gettext_10.html#SEC158">10.1.1 Input file location</A>
+<LI><A NAME="TOC159" HREF="gettext_10.html#SEC159">10.1.2 Operation mode</A>
+<LI><A NAME="TOC160" HREF="gettext_10.html#SEC160">10.1.3 Output file location</A>
+<LI><A NAME="TOC161" HREF="gettext_10.html#SEC161">10.1.4 Output file location in Java mode</A>
+<LI><A NAME="TOC162" HREF="gettext_10.html#SEC162">10.1.5 Output file location in C# mode</A>
+<LI><A NAME="TOC163" HREF="gettext_10.html#SEC163">10.1.6 Output file location in Tcl mode</A>
+<LI><A NAME="TOC164" HREF="gettext_10.html#SEC164">10.1.7 Input file syntax</A>
+<LI><A NAME="TOC165" HREF="gettext_10.html#SEC165">10.1.8 Input file interpretation</A>
+<LI><A NAME="TOC166" HREF="gettext_10.html#SEC166">10.1.9 Output details</A>
+<LI><A NAME="TOC167" HREF="gettext_10.html#SEC167">10.1.10 Informative output</A>
+</UL>
+<LI><A NAME="TOC168" HREF="gettext_10.html#SEC168">10.2 Invoking the <CODE>msgunfmt</CODE> Program</A>
<UL>
-<LI><A NAME="TOC155" HREF="gettext_10.html#SEC155">10.2.1 Operation mode</A>
-<LI><A NAME="TOC156" HREF="gettext_10.html#SEC156">10.2.2 Input file location</A>
-<LI><A NAME="TOC157" HREF="gettext_10.html#SEC157">10.2.3 Input file location in Java mode</A>
-<LI><A NAME="TOC158" HREF="gettext_10.html#SEC158">10.2.4 Input file location in C# mode</A>
-<LI><A NAME="TOC159" HREF="gettext_10.html#SEC159">10.2.5 Input file location in Tcl mode</A>
-<LI><A NAME="TOC160" HREF="gettext_10.html#SEC160">10.2.6 Output file location</A>
-<LI><A NAME="TOC161" HREF="gettext_10.html#SEC161">10.2.7 Output details</A>
-<LI><A NAME="TOC162" HREF="gettext_10.html#SEC162">10.2.8 Informative output</A>
+<LI><A NAME="TOC169" HREF="gettext_10.html#SEC169">10.2.1 Operation mode</A>
+<LI><A NAME="TOC170" HREF="gettext_10.html#SEC170">10.2.2 Input file location</A>
+<LI><A NAME="TOC171" HREF="gettext_10.html#SEC171">10.2.3 Input file location in Java mode</A>
+<LI><A NAME="TOC172" HREF="gettext_10.html#SEC172">10.2.4 Input file location in C# mode</A>
+<LI><A NAME="TOC173" HREF="gettext_10.html#SEC173">10.2.5 Input file location in Tcl mode</A>
+<LI><A NAME="TOC174" HREF="gettext_10.html#SEC174">10.2.6 Output file location</A>
+<LI><A NAME="TOC175" HREF="gettext_10.html#SEC175">10.2.7 Output details</A>
+<LI><A NAME="TOC176" HREF="gettext_10.html#SEC176">10.2.8 Informative output</A>
</UL>
-<LI><A NAME="TOC163" HREF="gettext_10.html#SEC163">10.3 The Format of GNU MO Files</A>
+<LI><A NAME="TOC177" HREF="gettext_10.html#SEC177">10.3 The Format of GNU MO Files</A>
</UL>
-<LI><A NAME="TOC164" HREF="gettext_11.html#SEC164">11 The Programmer's View</A>
-<UL>
-<LI><A NAME="TOC165" HREF="gettext_11.html#SEC165">11.1 About <CODE>catgets</CODE></A>
-<UL>
-<LI><A NAME="TOC166" HREF="gettext_11.html#SEC166">11.1.1 The Interface</A>
-<LI><A NAME="TOC167" HREF="gettext_11.html#SEC167">11.1.2 Problems with the <CODE>catgets</CODE> Interface?!</A>
-</UL>
-<LI><A NAME="TOC168" HREF="gettext_11.html#SEC168">11.2 About <CODE>gettext</CODE></A>
-<UL>
-<LI><A NAME="TOC169" HREF="gettext_11.html#SEC169">11.2.1 The Interface</A>
-<LI><A NAME="TOC170" HREF="gettext_11.html#SEC170">11.2.2 Solving Ambiguities</A>
-<LI><A NAME="TOC171" HREF="gettext_11.html#SEC171">11.2.3 Locating Message Catalog Files</A>
-<LI><A NAME="TOC172" HREF="gettext_11.html#SEC172">11.2.4 How to specify the output character set <CODE>gettext</CODE> uses</A>
-<LI><A NAME="TOC173" HREF="gettext_11.html#SEC173">11.2.5 Using contexts for solving ambiguities</A>
-<LI><A NAME="TOC174" HREF="gettext_11.html#SEC174">11.2.6 Additional functions for plural forms</A>
-<LI><A NAME="TOC175" HREF="gettext_11.html#SEC175">11.2.7 Optimization of the *gettext functions</A>
-</UL>
-<LI><A NAME="TOC176" HREF="gettext_11.html#SEC176">11.3 Comparing the Two Interfaces</A>
-<LI><A NAME="TOC177" HREF="gettext_11.html#SEC177">11.4 Using libintl.a in own programs</A>
-<LI><A NAME="TOC178" HREF="gettext_11.html#SEC178">11.5 Being a <CODE>gettext</CODE> grok</A>
-<LI><A NAME="TOC179" HREF="gettext_11.html#SEC179">11.6 Temporary Notes for the Programmers Chapter</A>
-<UL>
-<LI><A NAME="TOC180" HREF="gettext_11.html#SEC180">11.6.1 Temporary - Two Possible Implementations</A>
-<LI><A NAME="TOC181" HREF="gettext_11.html#SEC181">11.6.2 Temporary - About <CODE>catgets</CODE></A>
-<LI><A NAME="TOC182" HREF="gettext_11.html#SEC182">11.6.3 Temporary - Why a single implementation</A>
-<LI><A NAME="TOC183" HREF="gettext_11.html#SEC183">11.6.4 Temporary - Notes</A>
-</UL>
-</UL>
-<LI><A NAME="TOC184" HREF="gettext_12.html#SEC184">12 The Translator's View</A>
-<UL>
-<LI><A NAME="TOC185" HREF="gettext_12.html#SEC185">12.1 Introduction 0</A>
-<LI><A NAME="TOC186" HREF="gettext_12.html#SEC186">12.2 Introduction 1</A>
-<LI><A NAME="TOC187" HREF="gettext_12.html#SEC187">12.3 Discussions</A>
-<LI><A NAME="TOC188" HREF="gettext_12.html#SEC188">12.4 Organization</A>
-<UL>
-<LI><A NAME="TOC189" HREF="gettext_12.html#SEC189">12.4.1 Central Coordination</A>
-<LI><A NAME="TOC190" HREF="gettext_12.html#SEC190">12.4.2 National Teams</A>
-<UL>
-<LI><A NAME="TOC191" HREF="gettext_12.html#SEC191">12.4.2.1 Sub-Cultures</A>
-<LI><A NAME="TOC192" HREF="gettext_12.html#SEC192">12.4.2.2 Organizational Ideas</A>
-</UL>
-<LI><A NAME="TOC193" HREF="gettext_12.html#SEC193">12.4.3 Mailing Lists</A>
-</UL>
-<LI><A NAME="TOC194" HREF="gettext_12.html#SEC194">12.5 Information Flow</A>
-<LI><A NAME="TOC195" HREF="gettext_12.html#SEC195">12.6 Prioritizing messages: How to determine which messages to translate first</A>
-</UL>
-<LI><A NAME="TOC196" HREF="gettext_13.html#SEC196">13 The Maintainer's View</A>
-<UL>
-<LI><A NAME="TOC197" HREF="gettext_13.html#SEC197">13.1 Flat or Non-Flat Directory Structures</A>
-<LI><A NAME="TOC198" HREF="gettext_13.html#SEC198">13.2 Prerequisite Works</A>
-<LI><A NAME="TOC199" HREF="gettext_13.html#SEC199">13.3 Invoking the <CODE>gettextize</CODE> Program</A>
-<LI><A NAME="TOC200" HREF="gettext_13.html#SEC200">13.4 Files You Must Create or Alter</A>
-<UL>
-<LI><A NAME="TOC201" HREF="gettext_13.html#SEC201">13.4.1 <TT>&lsquo;POTFILES.in&rsquo;</TT> in <TT>&lsquo;po/&rsquo;</TT></A>
-<LI><A NAME="TOC202" HREF="gettext_13.html#SEC202">13.4.2 <TT>&lsquo;LINGUAS&rsquo;</TT> in <TT>&lsquo;po/&rsquo;</TT></A>
-<LI><A NAME="TOC203" HREF="gettext_13.html#SEC203">13.4.3 <TT>&lsquo;Makevars&rsquo;</TT> in <TT>&lsquo;po/&rsquo;</TT></A>
-<LI><A NAME="TOC204" HREF="gettext_13.html#SEC204">13.4.4 Extending <TT>&lsquo;Makefile&rsquo;</TT> in <TT>&lsquo;po/&rsquo;</TT></A>
-<LI><A NAME="TOC205" HREF="gettext_13.html#SEC205">13.4.5 <TT>&lsquo;configure.in&rsquo;</TT> at top level</A>
-<LI><A NAME="TOC206" HREF="gettext_13.html#SEC206">13.4.6 <TT>&lsquo;config.guess&rsquo;</TT>, <TT>&lsquo;config.sub&rsquo;</TT> at top level</A>
-<LI><A NAME="TOC207" HREF="gettext_13.html#SEC207">13.4.7 <TT>&lsquo;mkinstalldirs&rsquo;</TT> at top level</A>
-<LI><A NAME="TOC208" HREF="gettext_13.html#SEC208">13.4.8 <TT>&lsquo;aclocal.m4&rsquo;</TT> at top level</A>
-<LI><A NAME="TOC209" HREF="gettext_13.html#SEC209">13.4.9 <TT>&lsquo;acconfig.h&rsquo;</TT> at top level</A>
-<LI><A NAME="TOC210" HREF="gettext_13.html#SEC210">13.4.10 <TT>&lsquo;config.h.in&rsquo;</TT> at top level</A>
-<LI><A NAME="TOC211" HREF="gettext_13.html#SEC211">13.4.11 <TT>&lsquo;Makefile.in&rsquo;</TT> at top level</A>
-<LI><A NAME="TOC212" HREF="gettext_13.html#SEC212">13.4.12 <TT>&lsquo;Makefile.in&rsquo;</TT> in <TT>&lsquo;src/&rsquo;</TT></A>
-<LI><A NAME="TOC213" HREF="gettext_13.html#SEC213">13.4.13 <TT>&lsquo;gettext.h&rsquo;</TT> in <TT>&lsquo;lib/&rsquo;</TT></A>
-</UL>
-<LI><A NAME="TOC214" HREF="gettext_13.html#SEC214">13.5 Autoconf macros for use in <TT>&lsquo;configure.in&rsquo;</TT></A>
-<UL>
-<LI><A NAME="TOC215" HREF="gettext_13.html#SEC215">13.5.1 AM_GNU_GETTEXT in <TT>&lsquo;gettext.m4&rsquo;</TT></A>
-<LI><A NAME="TOC216" HREF="gettext_13.html#SEC216">13.5.2 AM_GNU_GETTEXT_VERSION in <TT>&lsquo;gettext.m4&rsquo;</TT></A>
-<LI><A NAME="TOC217" HREF="gettext_13.html#SEC217">13.5.3 AM_GNU_GETTEXT_NEED in <TT>&lsquo;gettext.m4&rsquo;</TT></A>
-<LI><A NAME="TOC218" HREF="gettext_13.html#SEC218">13.5.4 AM_GNU_GETTEXT_INTL_SUBDIR in <TT>&lsquo;intldir.m4&rsquo;</TT></A>
-<LI><A NAME="TOC219" HREF="gettext_13.html#SEC219">13.5.5 AM_PO_SUBDIRS in <TT>&lsquo;po.m4&rsquo;</TT></A>
-<LI><A NAME="TOC220" HREF="gettext_13.html#SEC220">13.5.6 AM_ICONV in <TT>&lsquo;iconv.m4&rsquo;</TT></A>
-</UL>
-<LI><A NAME="TOC221" HREF="gettext_13.html#SEC221">13.6 Integrating with CVS</A>
-<UL>
-<LI><A NAME="TOC222" HREF="gettext_13.html#SEC222">13.6.1 Avoiding version mismatch in distributed development</A>
-<LI><A NAME="TOC223" HREF="gettext_13.html#SEC223">13.6.2 Files to put under CVS version control</A>
-<LI><A NAME="TOC224" HREF="gettext_13.html#SEC224">13.6.3 Invoking the <CODE>autopoint</CODE> Program</A>
-<UL>
-<LI><A NAME="TOC225" HREF="gettext_13.html#SEC225">13.6.3.1 Options</A>
-<LI><A NAME="TOC226" HREF="gettext_13.html#SEC226">13.6.3.2 Informative output</A>
-</UL>
-</UL>
-<LI><A NAME="TOC227" HREF="gettext_13.html#SEC227">13.7 Creating a Distribution Tarball</A>
-</UL>
-<LI><A NAME="TOC228" HREF="gettext_14.html#SEC228">14 The Installer's and Distributor's View</A>
-<LI><A NAME="TOC229" HREF="gettext_15.html#SEC229">15 Other Programming Languages</A>
-<UL>
-<LI><A NAME="TOC230" HREF="gettext_15.html#SEC230">15.1 The Language Implementor's View</A>
-<LI><A NAME="TOC231" HREF="gettext_15.html#SEC231">15.2 The Programmer's View</A>
-<LI><A NAME="TOC232" HREF="gettext_15.html#SEC232">15.3 The Translator's View</A>
-<UL>
-<LI><A NAME="TOC233" HREF="gettext_15.html#SEC233">15.3.1 C Format Strings</A>
-<LI><A NAME="TOC234" HREF="gettext_15.html#SEC234">15.3.2 Objective C Format Strings</A>
-<LI><A NAME="TOC235" HREF="gettext_15.html#SEC235">15.3.3 Shell Format Strings</A>
-<LI><A NAME="TOC236" HREF="gettext_15.html#SEC236">15.3.4 Python Format Strings</A>
-<LI><A NAME="TOC237" HREF="gettext_15.html#SEC237">15.3.5 Lisp Format Strings</A>
-<LI><A NAME="TOC238" HREF="gettext_15.html#SEC238">15.3.6 Emacs Lisp Format Strings</A>
-<LI><A NAME="TOC239" HREF="gettext_15.html#SEC239">15.3.7 librep Format Strings</A>
-<LI><A NAME="TOC240" HREF="gettext_15.html#SEC240">15.3.8 Scheme Format Strings</A>
-<LI><A NAME="TOC241" HREF="gettext_15.html#SEC241">15.3.9 Smalltalk Format Strings</A>
-<LI><A NAME="TOC242" HREF="gettext_15.html#SEC242">15.3.10 Java Format Strings</A>
-<LI><A NAME="TOC243" HREF="gettext_15.html#SEC243">15.3.11 C# Format Strings</A>
-<LI><A NAME="TOC244" HREF="gettext_15.html#SEC244">15.3.12 awk Format Strings</A>
-<LI><A NAME="TOC245" HREF="gettext_15.html#SEC245">15.3.13 Object Pascal Format Strings</A>
-<LI><A NAME="TOC246" HREF="gettext_15.html#SEC246">15.3.14 YCP Format Strings</A>
-<LI><A NAME="TOC247" HREF="gettext_15.html#SEC247">15.3.15 Tcl Format Strings</A>
-<LI><A NAME="TOC248" HREF="gettext_15.html#SEC248">15.3.16 Perl Format Strings</A>
-<LI><A NAME="TOC249" HREF="gettext_15.html#SEC249">15.3.17 PHP Format Strings</A>
-<LI><A NAME="TOC250" HREF="gettext_15.html#SEC250">15.3.18 GCC internal Format Strings</A>
-<LI><A NAME="TOC251" HREF="gettext_15.html#SEC251">15.3.19 Qt Format Strings</A>
-<LI><A NAME="TOC252" HREF="gettext_15.html#SEC252">15.3.20 Boost Format Strings</A>
-</UL>
-<LI><A NAME="TOC253" HREF="gettext_15.html#SEC253">15.4 The Maintainer's View</A>
-<LI><A NAME="TOC254" HREF="gettext_15.html#SEC254">15.5 Individual Programming Languages</A>
-<UL>
-<LI><A NAME="TOC255" HREF="gettext_15.html#SEC255">15.5.1 C, C++, Objective C</A>
-<LI><A NAME="TOC256" HREF="gettext_15.html#SEC256">15.5.2 sh - Shell Script</A>
-<UL>
-<LI><A NAME="TOC257" HREF="gettext_15.html#SEC257">15.5.2.1 Preparing Shell Scripts for Internationalization</A>
-<LI><A NAME="TOC258" HREF="gettext_15.html#SEC258">15.5.2.2 Contents of <CODE>gettext.sh</CODE></A>
-<LI><A NAME="TOC259" HREF="gettext_15.html#SEC259">15.5.2.3 Invoking the <CODE>gettext</CODE> program</A>
-<LI><A NAME="TOC260" HREF="gettext_15.html#SEC260">15.5.2.4 Invoking the <CODE>ngettext</CODE> program</A>
-<LI><A NAME="TOC261" HREF="gettext_15.html#SEC261">15.5.2.5 Invoking the <CODE>envsubst</CODE> program</A>
-<LI><A NAME="TOC262" HREF="gettext_15.html#SEC262">15.5.2.6 Invoking the <CODE>eval_gettext</CODE> function</A>
-<LI><A NAME="TOC263" HREF="gettext_15.html#SEC263">15.5.2.7 Invoking the <CODE>eval_ngettext</CODE> function</A>
-</UL>
-<LI><A NAME="TOC264" HREF="gettext_15.html#SEC264">15.5.3 bash - Bourne-Again Shell Script</A>
-<LI><A NAME="TOC265" HREF="gettext_15.html#SEC265">15.5.4 Python</A>
-<LI><A NAME="TOC266" HREF="gettext_15.html#SEC266">15.5.5 GNU clisp - Common Lisp</A>
-<LI><A NAME="TOC267" HREF="gettext_15.html#SEC267">15.5.6 GNU clisp C sources</A>
-<LI><A NAME="TOC268" HREF="gettext_15.html#SEC268">15.5.7 Emacs Lisp</A>
-<LI><A NAME="TOC269" HREF="gettext_15.html#SEC269">15.5.8 librep</A>
-<LI><A NAME="TOC270" HREF="gettext_15.html#SEC270">15.5.9 GNU guile - Scheme</A>
-<LI><A NAME="TOC271" HREF="gettext_15.html#SEC271">15.5.10 GNU Smalltalk</A>
-<LI><A NAME="TOC272" HREF="gettext_15.html#SEC272">15.5.11 Java</A>
-<LI><A NAME="TOC273" HREF="gettext_15.html#SEC273">15.5.12 C#</A>
-<LI><A NAME="TOC274" HREF="gettext_15.html#SEC274">15.5.13 GNU awk</A>
-<LI><A NAME="TOC275" HREF="gettext_15.html#SEC275">15.5.14 Pascal - Free Pascal Compiler</A>
-<LI><A NAME="TOC276" HREF="gettext_15.html#SEC276">15.5.15 wxWidgets library</A>
-<LI><A NAME="TOC277" HREF="gettext_15.html#SEC277">15.5.16 YCP - YaST2 scripting language</A>
-<LI><A NAME="TOC278" HREF="gettext_15.html#SEC278">15.5.17 Tcl - Tk's scripting language</A>
-<LI><A NAME="TOC279" HREF="gettext_15.html#SEC279">15.5.18 Perl</A>
-<UL>
-<LI><A NAME="TOC280" HREF="gettext_15.html#SEC280">15.5.18.1 General Problems Parsing Perl Code</A>
-<LI><A NAME="TOC281" HREF="gettext_15.html#SEC281">15.5.18.2 Which keywords will xgettext look for?</A>
-<LI><A NAME="TOC282" HREF="gettext_15.html#SEC282">15.5.18.3 How to Extract Hash Keys</A>
-<LI><A NAME="TOC283" HREF="gettext_15.html#SEC283">15.5.18.4 What are Strings And Quote-like Expressions?</A>
-<LI><A NAME="TOC284" HREF="gettext_15.html#SEC284">15.5.18.5 Invalid Uses Of String Interpolation</A>
-<LI><A NAME="TOC285" HREF="gettext_15.html#SEC285">15.5.18.6 Valid Uses Of String Interpolation</A>
-<LI><A NAME="TOC286" HREF="gettext_15.html#SEC286">15.5.18.7 When To Use Parentheses</A>
-<LI><A NAME="TOC287" HREF="gettext_15.html#SEC287">15.5.18.8 How To Grok with Long Lines</A>
-<LI><A NAME="TOC288" HREF="gettext_15.html#SEC288">15.5.18.9 Bugs, Pitfalls, And Things That Do Not Work</A>
-</UL>
-<LI><A NAME="TOC289" HREF="gettext_15.html#SEC289">15.5.19 PHP Hypertext Preprocessor</A>
-<LI><A NAME="TOC290" HREF="gettext_15.html#SEC290">15.5.20 Pike</A>
-<LI><A NAME="TOC291" HREF="gettext_15.html#SEC291">15.5.21 GNU Compiler Collection sources</A>
-</UL>
-<LI><A NAME="TOC292" HREF="gettext_15.html#SEC292">15.6 Internationalizable Data</A>
-<UL>
-<LI><A NAME="TOC293" HREF="gettext_15.html#SEC293">15.6.1 POT - Portable Object Template</A>
-<LI><A NAME="TOC294" HREF="gettext_15.html#SEC294">15.6.2 Resource String Table</A>
-<LI><A NAME="TOC295" HREF="gettext_15.html#SEC295">15.6.3 Glade - GNOME user interface description</A>
-</UL>
-</UL>
-<LI><A NAME="TOC296" HREF="gettext_16.html#SEC296">16 Concluding Remarks</A>
-<UL>
-<LI><A NAME="TOC297" HREF="gettext_16.html#SEC297">16.1 History of GNU <CODE>gettext</CODE></A>
-<LI><A NAME="TOC298" HREF="gettext_16.html#SEC298">16.2 Related Readings</A>
-</UL>
-<LI><A NAME="TOC299" HREF="gettext_17.html#SEC299">A Language Codes</A>
-<UL>
-<LI><A NAME="TOC300" HREF="gettext_17.html#SEC300">A.1 Usual Language Codes</A>
-<LI><A NAME="TOC301" HREF="gettext_17.html#SEC301">A.2 Rare Language Codes</A>
-</UL>
-<LI><A NAME="TOC302" HREF="gettext_18.html#SEC302">B Country Codes</A>
-<LI><A NAME="TOC303" HREF="gettext_19.html#SEC303">C Licenses</A>
-<UL>
-<LI><A NAME="TOC304" HREF="gettext_19.html#SEC304">C.1 GNU GENERAL PUBLIC LICENSE</A>
-<UL>
-<LI><A NAME="TOC305" HREF="gettext_19.html#SEC305">Preamble</A>
-<LI><A NAME="TOC306" HREF="gettext_19.html#SEC306">Appendix: How to Apply These Terms to Your New Programs</A>
-</UL>
-<LI><A NAME="TOC307" HREF="gettext_19.html#SEC307">C.2 GNU LESSER GENERAL PUBLIC LICENSE</A>
-<UL>
-<LI><A NAME="TOC308" HREF="gettext_19.html#SEC308">Preamble</A>
-<LI><A NAME="TOC309" HREF="gettext_19.html#SEC309">How to Apply These Terms to Your New Libraries</A>
-</UL>
-<LI><A NAME="TOC310" HREF="gettext_19.html#SEC310">C.3 GNU Free Documentation License</A>
-<UL>
-<LI><A NAME="TOC311" HREF="gettext_19.html#SEC311">ADDENDUM: How to use this License for your documents</A>
-</UL>
-</UL>
-<LI><A NAME="TOC312" HREF="gettext_20.html#SEC312">Program Index</A>
-<LI><A NAME="TOC313" HREF="gettext_21.html#SEC313">Option Index</A>
-<LI><A NAME="TOC314" HREF="gettext_22.html#SEC314">Variable Index</A>
-<LI><A NAME="TOC315" HREF="gettext_23.html#SEC315">PO Mode Index</A>
-<LI><A NAME="TOC316" HREF="gettext_24.html#SEC316">Autoconf Macro Index</A>
-<LI><A NAME="TOC317" HREF="gettext_25.html#SEC317">General Index</A>
+<LI><A NAME="TOC178" HREF="gettext_11.html#SEC178">11 The Programmer's View</A>
+<UL>
+<LI><A NAME="TOC179" HREF="gettext_11.html#SEC179">11.1 About <CODE>catgets</CODE></A>
+<UL>
+<LI><A NAME="TOC180" HREF="gettext_11.html#SEC180">11.1.1 The Interface</A>
+<LI><A NAME="TOC181" HREF="gettext_11.html#SEC181">11.1.2 Problems with the <CODE>catgets</CODE> Interface?!</A>
+</UL>
+<LI><A NAME="TOC182" HREF="gettext_11.html#SEC182">11.2 About <CODE>gettext</CODE></A>
+<UL>
+<LI><A NAME="TOC183" HREF="gettext_11.html#SEC183">11.2.1 The Interface</A>
+<LI><A NAME="TOC184" HREF="gettext_11.html#SEC184">11.2.2 Solving Ambiguities</A>
+<LI><A NAME="TOC185" HREF="gettext_11.html#SEC185">11.2.3 Locating Message Catalog Files</A>
+<LI><A NAME="TOC186" HREF="gettext_11.html#SEC186">11.2.4 How to specify the output character set <CODE>gettext</CODE> uses</A>
+<LI><A NAME="TOC187" HREF="gettext_11.html#SEC187">11.2.5 Using contexts for solving ambiguities</A>
+<LI><A NAME="TOC188" HREF="gettext_11.html#SEC188">11.2.6 Additional functions for plural forms</A>
+<LI><A NAME="TOC189" HREF="gettext_11.html#SEC189">11.2.7 Optimization of the *gettext functions</A>
+</UL>
+<LI><A NAME="TOC190" HREF="gettext_11.html#SEC190">11.3 Comparing the Two Interfaces</A>
+<LI><A NAME="TOC191" HREF="gettext_11.html#SEC191">11.4 Using libintl.a in own programs</A>
+<LI><A NAME="TOC192" HREF="gettext_11.html#SEC192">11.5 Being a <CODE>gettext</CODE> grok</A>
+<LI><A NAME="TOC193" HREF="gettext_11.html#SEC193">11.6 Temporary Notes for the Programmers Chapter</A>
+<UL>
+<LI><A NAME="TOC194" HREF="gettext_11.html#SEC194">11.6.1 Temporary - Two Possible Implementations</A>
+<LI><A NAME="TOC195" HREF="gettext_11.html#SEC195">11.6.2 Temporary - About <CODE>catgets</CODE></A>
+<LI><A NAME="TOC196" HREF="gettext_11.html#SEC196">11.6.3 Temporary - Why a single implementation</A>
+<LI><A NAME="TOC197" HREF="gettext_11.html#SEC197">11.6.4 Temporary - Notes</A>
+</UL>
+</UL>
+<LI><A NAME="TOC198" HREF="gettext_12.html#SEC198">12 The Translator's View</A>
+<UL>
+<LI><A NAME="TOC199" HREF="gettext_12.html#SEC199">12.1 Introduction 0</A>
+<LI><A NAME="TOC200" HREF="gettext_12.html#SEC200">12.2 Introduction 1</A>
+<LI><A NAME="TOC201" HREF="gettext_12.html#SEC201">12.3 Discussions</A>
+<LI><A NAME="TOC202" HREF="gettext_12.html#SEC202">12.4 Organization</A>
+<UL>
+<LI><A NAME="TOC203" HREF="gettext_12.html#SEC203">12.4.1 Central Coordination</A>
+<LI><A NAME="TOC204" HREF="gettext_12.html#SEC204">12.4.2 National Teams</A>
+<UL>
+<LI><A NAME="TOC205" HREF="gettext_12.html#SEC205">12.4.2.1 Sub-Cultures</A>
+<LI><A NAME="TOC206" HREF="gettext_12.html#SEC206">12.4.2.2 Organizational Ideas</A>
+</UL>
+<LI><A NAME="TOC207" HREF="gettext_12.html#SEC207">12.4.3 Mailing Lists</A>
+</UL>
+<LI><A NAME="TOC208" HREF="gettext_12.html#SEC208">12.5 Information Flow</A>
+<LI><A NAME="TOC209" HREF="gettext_12.html#SEC209">12.6 Prioritizing messages: How to determine which messages to translate first</A>
+</UL>
+<LI><A NAME="TOC210" HREF="gettext_13.html#SEC210">13 The Maintainer's View</A>
+<UL>
+<LI><A NAME="TOC211" HREF="gettext_13.html#SEC211">13.1 Flat or Non-Flat Directory Structures</A>
+<LI><A NAME="TOC212" HREF="gettext_13.html#SEC212">13.2 Prerequisite Works</A>
+<LI><A NAME="TOC213" HREF="gettext_13.html#SEC213">13.3 Invoking the <CODE>gettextize</CODE> Program</A>
+<LI><A NAME="TOC214" HREF="gettext_13.html#SEC214">13.4 Files You Must Create or Alter</A>
+<UL>
+<LI><A NAME="TOC215" HREF="gettext_13.html#SEC215">13.4.1 <TT>&lsquo;POTFILES.in&rsquo;</TT> in <TT>&lsquo;po/&rsquo;</TT></A>
+<LI><A NAME="TOC216" HREF="gettext_13.html#SEC216">13.4.2 <TT>&lsquo;LINGUAS&rsquo;</TT> in <TT>&lsquo;po/&rsquo;</TT></A>
+<LI><A NAME="TOC217" HREF="gettext_13.html#SEC217">13.4.3 <TT>&lsquo;Makevars&rsquo;</TT> in <TT>&lsquo;po/&rsquo;</TT></A>
+<LI><A NAME="TOC218" HREF="gettext_13.html#SEC218">13.4.4 Extending <TT>&lsquo;Makefile&rsquo;</TT> in <TT>&lsquo;po/&rsquo;</TT></A>
+<LI><A NAME="TOC219" HREF="gettext_13.html#SEC219">13.4.5 <TT>&lsquo;configure.ac&rsquo;</TT> at top level</A>
+<LI><A NAME="TOC220" HREF="gettext_13.html#SEC220">13.4.6 <TT>&lsquo;config.guess&rsquo;</TT>, <TT>&lsquo;config.sub&rsquo;</TT> at top level</A>
+<LI><A NAME="TOC221" HREF="gettext_13.html#SEC221">13.4.7 <TT>&lsquo;mkinstalldirs&rsquo;</TT> at top level</A>
+<LI><A NAME="TOC222" HREF="gettext_13.html#SEC222">13.4.8 <TT>&lsquo;aclocal.m4&rsquo;</TT> at top level</A>
+<LI><A NAME="TOC223" HREF="gettext_13.html#SEC223">13.4.9 <TT>&lsquo;acconfig.h&rsquo;</TT> at top level</A>
+<LI><A NAME="TOC224" HREF="gettext_13.html#SEC224">13.4.10 <TT>&lsquo;config.h.in&rsquo;</TT> at top level</A>
+<LI><A NAME="TOC225" HREF="gettext_13.html#SEC225">13.4.11 <TT>&lsquo;Makefile.in&rsquo;</TT> at top level</A>
+<LI><A NAME="TOC226" HREF="gettext_13.html#SEC226">13.4.12 <TT>&lsquo;Makefile.in&rsquo;</TT> in <TT>&lsquo;src/&rsquo;</TT></A>
+<LI><A NAME="TOC227" HREF="gettext_13.html#SEC227">13.4.13 <TT>&lsquo;gettext.h&rsquo;</TT> in <TT>&lsquo;lib/&rsquo;</TT></A>
+</UL>
+<LI><A NAME="TOC228" HREF="gettext_13.html#SEC228">13.5 Autoconf macros for use in <TT>&lsquo;configure.ac&rsquo;</TT></A>
+<UL>
+<LI><A NAME="TOC229" HREF="gettext_13.html#SEC229">13.5.1 AM_GNU_GETTEXT in <TT>&lsquo;gettext.m4&rsquo;</TT></A>
+<LI><A NAME="TOC230" HREF="gettext_13.html#SEC230">13.5.2 AM_GNU_GETTEXT_VERSION in <TT>&lsquo;gettext.m4&rsquo;</TT></A>
+<LI><A NAME="TOC231" HREF="gettext_13.html#SEC231">13.5.3 AM_GNU_GETTEXT_NEED in <TT>&lsquo;gettext.m4&rsquo;</TT></A>
+<LI><A NAME="TOC232" HREF="gettext_13.html#SEC232">13.5.4 AM_GNU_GETTEXT_INTL_SUBDIR in <TT>&lsquo;intldir.m4&rsquo;</TT></A>
+<LI><A NAME="TOC233" HREF="gettext_13.html#SEC233">13.5.5 AM_PO_SUBDIRS in <TT>&lsquo;po.m4&rsquo;</TT></A>
+<LI><A NAME="TOC234" HREF="gettext_13.html#SEC234">13.5.6 AM_XGETTEXT_OPTION in <TT>&lsquo;po.m4&rsquo;</TT></A>
+<LI><A NAME="TOC235" HREF="gettext_13.html#SEC235">13.5.7 AM_ICONV in <TT>&lsquo;iconv.m4&rsquo;</TT></A>
+</UL>
+<LI><A NAME="TOC236" HREF="gettext_13.html#SEC236">13.6 Integrating with CVS</A>
+<UL>
+<LI><A NAME="TOC237" HREF="gettext_13.html#SEC237">13.6.1 Avoiding version mismatch in distributed development</A>
+<LI><A NAME="TOC238" HREF="gettext_13.html#SEC238">13.6.2 Files to put under CVS version control</A>
+<LI><A NAME="TOC239" HREF="gettext_13.html#SEC239">13.6.3 Invoking the <CODE>autopoint</CODE> Program</A>
+<UL>
+<LI><A NAME="TOC240" HREF="gettext_13.html#SEC240">13.6.3.1 Options</A>
+<LI><A NAME="TOC241" HREF="gettext_13.html#SEC241">13.6.3.2 Informative output</A>
+</UL>
+</UL>
+<LI><A NAME="TOC242" HREF="gettext_13.html#SEC242">13.7 Creating a Distribution Tarball</A>
+</UL>
+<LI><A NAME="TOC243" HREF="gettext_14.html#SEC243">14 The Installer's and Distributor's View</A>
+<LI><A NAME="TOC244" HREF="gettext_15.html#SEC244">15 Other Programming Languages</A>
+<UL>
+<LI><A NAME="TOC245" HREF="gettext_15.html#SEC245">15.1 The Language Implementor's View</A>
+<LI><A NAME="TOC246" HREF="gettext_15.html#SEC246">15.2 The Programmer's View</A>
+<LI><A NAME="TOC247" HREF="gettext_15.html#SEC247">15.3 The Translator's View</A>
+<UL>
+<LI><A NAME="TOC248" HREF="gettext_15.html#SEC248">15.3.1 C Format Strings</A>
+<LI><A NAME="TOC249" HREF="gettext_15.html#SEC249">15.3.2 Objective C Format Strings</A>
+<LI><A NAME="TOC250" HREF="gettext_15.html#SEC250">15.3.3 Shell Format Strings</A>
+<LI><A NAME="TOC251" HREF="gettext_15.html#SEC251">15.3.4 Python Format Strings</A>
+<LI><A NAME="TOC252" HREF="gettext_15.html#SEC252">15.3.5 Lisp Format Strings</A>
+<LI><A NAME="TOC253" HREF="gettext_15.html#SEC253">15.3.6 Emacs Lisp Format Strings</A>
+<LI><A NAME="TOC254" HREF="gettext_15.html#SEC254">15.3.7 librep Format Strings</A>
+<LI><A NAME="TOC255" HREF="gettext_15.html#SEC255">15.3.8 Scheme Format Strings</A>
+<LI><A NAME="TOC256" HREF="gettext_15.html#SEC256">15.3.9 Smalltalk Format Strings</A>
+<LI><A NAME="TOC257" HREF="gettext_15.html#SEC257">15.3.10 Java Format Strings</A>
+<LI><A NAME="TOC258" HREF="gettext_15.html#SEC258">15.3.11 C# Format Strings</A>
+<LI><A NAME="TOC259" HREF="gettext_15.html#SEC259">15.3.12 awk Format Strings</A>
+<LI><A NAME="TOC260" HREF="gettext_15.html#SEC260">15.3.13 Object Pascal Format Strings</A>
+<LI><A NAME="TOC261" HREF="gettext_15.html#SEC261">15.3.14 YCP Format Strings</A>
+<LI><A NAME="TOC262" HREF="gettext_15.html#SEC262">15.3.15 Tcl Format Strings</A>
+<LI><A NAME="TOC263" HREF="gettext_15.html#SEC263">15.3.16 Perl Format Strings</A>
+<LI><A NAME="TOC264" HREF="gettext_15.html#SEC264">15.3.17 PHP Format Strings</A>
+<LI><A NAME="TOC265" HREF="gettext_15.html#SEC265">15.3.18 GCC internal Format Strings</A>
+<LI><A NAME="TOC266" HREF="gettext_15.html#SEC266">15.3.19 Qt Format Strings</A>
+<LI><A NAME="TOC267" HREF="gettext_15.html#SEC267">15.3.20 KDE Format Strings</A>
+<LI><A NAME="TOC268" HREF="gettext_15.html#SEC268">15.3.21 Boost Format Strings</A>
+</UL>
+<LI><A NAME="TOC269" HREF="gettext_15.html#SEC269">15.4 The Maintainer's View</A>
+<LI><A NAME="TOC270" HREF="gettext_15.html#SEC270">15.5 Individual Programming Languages</A>
+<UL>
+<LI><A NAME="TOC271" HREF="gettext_15.html#SEC271">15.5.1 C, C++, Objective C</A>
+<LI><A NAME="TOC272" HREF="gettext_15.html#SEC272">15.5.2 sh - Shell Script</A>
+<UL>
+<LI><A NAME="TOC273" HREF="gettext_15.html#SEC273">15.5.2.1 Preparing Shell Scripts for Internationalization</A>
+<LI><A NAME="TOC274" HREF="gettext_15.html#SEC274">15.5.2.2 Contents of <CODE>gettext.sh</CODE></A>
+<LI><A NAME="TOC275" HREF="gettext_15.html#SEC275">15.5.2.3 Invoking the <CODE>gettext</CODE> program</A>
+<LI><A NAME="TOC276" HREF="gettext_15.html#SEC276">15.5.2.4 Invoking the <CODE>ngettext</CODE> program</A>
+<LI><A NAME="TOC277" HREF="gettext_15.html#SEC277">15.5.2.5 Invoking the <CODE>envsubst</CODE> program</A>
+<LI><A NAME="TOC278" HREF="gettext_15.html#SEC278">15.5.2.6 Invoking the <CODE>eval_gettext</CODE> function</A>
+<LI><A NAME="TOC279" HREF="gettext_15.html#SEC279">15.5.2.7 Invoking the <CODE>eval_ngettext</CODE> function</A>
+</UL>
+<LI><A NAME="TOC280" HREF="gettext_15.html#SEC280">15.5.3 bash - Bourne-Again Shell Script</A>
+<LI><A NAME="TOC281" HREF="gettext_15.html#SEC281">15.5.4 Python</A>
+<LI><A NAME="TOC282" HREF="gettext_15.html#SEC282">15.5.5 GNU clisp - Common Lisp</A>
+<LI><A NAME="TOC283" HREF="gettext_15.html#SEC283">15.5.6 GNU clisp C sources</A>
+<LI><A NAME="TOC284" HREF="gettext_15.html#SEC284">15.5.7 Emacs Lisp</A>
+<LI><A NAME="TOC285" HREF="gettext_15.html#SEC285">15.5.8 librep</A>
+<LI><A NAME="TOC286" HREF="gettext_15.html#SEC286">15.5.9 GNU guile - Scheme</A>
+<LI><A NAME="TOC287" HREF="gettext_15.html#SEC287">15.5.10 GNU Smalltalk</A>
+<LI><A NAME="TOC288" HREF="gettext_15.html#SEC288">15.5.11 Java</A>
+<LI><A NAME="TOC289" HREF="gettext_15.html#SEC289">15.5.12 C#</A>
+<LI><A NAME="TOC290" HREF="gettext_15.html#SEC290">15.5.13 GNU awk</A>
+<LI><A NAME="TOC291" HREF="gettext_15.html#SEC291">15.5.14 Pascal - Free Pascal Compiler</A>
+<LI><A NAME="TOC292" HREF="gettext_15.html#SEC292">15.5.15 wxWidgets library</A>
+<LI><A NAME="TOC293" HREF="gettext_15.html#SEC293">15.5.16 YCP - YaST2 scripting language</A>
+<LI><A NAME="TOC294" HREF="gettext_15.html#SEC294">15.5.17 Tcl - Tk's scripting language</A>
+<LI><A NAME="TOC295" HREF="gettext_15.html#SEC295">15.5.18 Perl</A>
+<UL>
+<LI><A NAME="TOC296" HREF="gettext_15.html#SEC296">15.5.18.1 General Problems Parsing Perl Code</A>
+<LI><A NAME="TOC297" HREF="gettext_15.html#SEC297">15.5.18.2 Which keywords will xgettext look for?</A>
+<LI><A NAME="TOC298" HREF="gettext_15.html#SEC298">15.5.18.3 How to Extract Hash Keys</A>
+<LI><A NAME="TOC299" HREF="gettext_15.html#SEC299">15.5.18.4 What are Strings And Quote-like Expressions?</A>
+<LI><A NAME="TOC300" HREF="gettext_15.html#SEC300">15.5.18.5 Invalid Uses Of String Interpolation</A>
+<LI><A NAME="TOC301" HREF="gettext_15.html#SEC301">15.5.18.6 Valid Uses Of String Interpolation</A>
+<LI><A NAME="TOC302" HREF="gettext_15.html#SEC302">15.5.18.7 When To Use Parentheses</A>
+<LI><A NAME="TOC303" HREF="gettext_15.html#SEC303">15.5.18.8 How To Grok with Long Lines</A>
+<LI><A NAME="TOC304" HREF="gettext_15.html#SEC304">15.5.18.9 Bugs, Pitfalls, And Things That Do Not Work</A>
+</UL>
+<LI><A NAME="TOC305" HREF="gettext_15.html#SEC305">15.5.19 PHP Hypertext Preprocessor</A>
+<LI><A NAME="TOC306" HREF="gettext_15.html#SEC306">15.5.20 Pike</A>
+<LI><A NAME="TOC307" HREF="gettext_15.html#SEC307">15.5.21 GNU Compiler Collection sources</A>
+</UL>
+<LI><A NAME="TOC308" HREF="gettext_15.html#SEC308">15.6 Internationalizable Data</A>
+<UL>
+<LI><A NAME="TOC309" HREF="gettext_15.html#SEC309">15.6.1 POT - Portable Object Template</A>
+<LI><A NAME="TOC310" HREF="gettext_15.html#SEC310">15.6.2 Resource String Table</A>
+<LI><A NAME="TOC311" HREF="gettext_15.html#SEC311">15.6.3 Glade - GNOME user interface description</A>
+</UL>
+</UL>
+<LI><A NAME="TOC312" HREF="gettext_16.html#SEC312">16 Concluding Remarks</A>
+<UL>
+<LI><A NAME="TOC313" HREF="gettext_16.html#SEC313">16.1 History of GNU <CODE>gettext</CODE></A>
+<LI><A NAME="TOC314" HREF="gettext_16.html#SEC314">16.2 Related Readings</A>
+</UL>
+<LI><A NAME="TOC315" HREF="gettext_17.html#SEC315">A Language Codes</A>
+<UL>
+<LI><A NAME="TOC316" HREF="gettext_17.html#SEC316">A.1 Usual Language Codes</A>
+<LI><A NAME="TOC317" HREF="gettext_17.html#SEC317">A.2 Rare Language Codes</A>
+</UL>
+<LI><A NAME="TOC318" HREF="gettext_18.html#SEC318">B Country Codes</A>
+<LI><A NAME="TOC319" HREF="gettext_19.html#SEC319">C Licenses</A>
+<UL>
+<LI><A NAME="TOC320" HREF="gettext_19.html#SEC320">C.1 GNU GENERAL PUBLIC LICENSE</A>
+<UL>
+<LI><A NAME="TOC321" HREF="gettext_19.html#SEC321">Preamble</A>
+<LI><A NAME="TOC322" HREF="gettext_19.html#SEC322">Appendix: How to Apply These Terms to Your New Programs</A>
+</UL>
+<LI><A NAME="TOC323" HREF="gettext_19.html#SEC323">C.2 GNU LESSER GENERAL PUBLIC LICENSE</A>
+<UL>
+<LI><A NAME="TOC324" HREF="gettext_19.html#SEC324">Preamble</A>
+<LI><A NAME="TOC325" HREF="gettext_19.html#SEC325">How to Apply These Terms to Your New Libraries</A>
+</UL>
+<LI><A NAME="TOC326" HREF="gettext_19.html#SEC326">C.3 GNU Free Documentation License</A>
+<UL>
+<LI><A NAME="TOC327" HREF="gettext_19.html#SEC327">ADDENDUM: How to use this License for your documents</A>
+</UL>
+</UL>
+<LI><A NAME="TOC328" HREF="gettext_20.html#SEC328">Program Index</A>
+<LI><A NAME="TOC329" HREF="gettext_21.html#SEC329">Option Index</A>
+<LI><A NAME="TOC330" HREF="gettext_22.html#SEC330">Variable Index</A>
+<LI><A NAME="TOC331" HREF="gettext_23.html#SEC331">PO Mode Index</A>
+<LI><A NAME="TOC332" HREF="gettext_24.html#SEC332">Autoconf Macro Index</A>
+<LI><A NAME="TOC333" HREF="gettext_25.html#SEC333">General Index</A>
</UL>
<P><HR><P>
-This document was generated on 25 October 2006 using the
+This document was generated on 4 November 2007 using the
<A HREF="http://wwwinfo.cern.ch/dis/texi2html/">texi2html</A>
translator version 1.52b.</P>
</BODY>
diff --git a/gettext-tools/doc/version.texi b/gettext-tools/doc/version.texi
index 4802785..f40d70e 100644
--- a/gettext-tools/doc/version.texi
+++ b/gettext-tools/doc/version.texi
@@ -1,4 +1,4 @@
-@set UPDATED 20 October 2006
-@set UPDATED-MONTH October 2006
-@set EDITION 0.16
-@set VERSION 0.16
+@set UPDATED 31 October 2007
+@set UPDATED-MONTH October 2007
+@set EDITION 0.17
+@set VERSION 0.17