summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2002-01-31 17:41:39 +0000
committerBruno Haible <bruno@clisp.org>2009-06-22 01:13:17 +0200
commit5a5bff9b68ed98cf49c198249f291f7b52c96fd8 (patch)
tree15bfac6c34276a448687b807ba5fb5d04ea997de /doc
parent0d46ec17869be3db170dd6a8717ee06a99133a36 (diff)
downloadexternal_gettext-5a5bff9b68ed98cf49c198249f291f7b52c96fd8.zip
external_gettext-5a5bff9b68ed98cf49c198249f291f7b52c96fd8.tar.gz
external_gettext-5a5bff9b68ed98cf49c198249f291f7b52c96fd8.tar.bz2
Regenerated.
Diffstat (limited to 'doc')
-rw-r--r--doc/Makefile.in37
-rw-r--r--doc/gettext.info296
-rw-r--r--doc/gettext.info-154
-rw-r--r--doc/gettext.info-254
-rw-r--r--doc/gettext.info-324
-rw-r--r--doc/gettext.info-4191
-rw-r--r--doc/gettext.info-5140
-rw-r--r--doc/gettext.info-6297
-rw-r--r--doc/gettext.info-7291
-rw-r--r--doc/gettext_1.html26
-rw-r--r--doc/gettext_10.html66
-rw-r--r--doc/gettext_11.html24
-rw-r--r--doc/gettext_12.html333
-rw-r--r--doc/gettext_13.html93
-rw-r--r--doc/gettext_14.html8
-rw-r--r--doc/gettext_15.html4
-rw-r--r--doc/gettext_16.html4
-rw-r--r--doc/gettext_2.html14
-rw-r--r--doc/gettext_3.html19
-rw-r--r--doc/gettext_4.html22
-rw-r--r--doc/gettext_5.html6
-rw-r--r--doc/gettext_6.html6
-rw-r--r--doc/gettext_7.html148
-rw-r--r--doc/gettext_8.html38
-rw-r--r--doc/gettext_9.html14
-rw-r--r--doc/gettext_foot.html8
-rw-r--r--doc/gettext_toc.html214
-rw-r--r--doc/version.texi8
28 files changed, 1623 insertions, 816 deletions
diff --git a/doc/Makefile.in b/doc/Makefile.in
index c0a6abc..41c9258 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -74,6 +74,7 @@ DLLTOOL = @DLLTOOL@
ECHO = @ECHO@
EMACS = @EMACS@
EXEEXT = @EXEEXT@
+GCC = @GCC@
GENCAT = @GENCAT@
GLIBC21 = @GLIBC21@
GMSGFMT = @GMSGFMT@
@@ -91,6 +92,7 @@ HAVE_JRE = @HAVE_JRE@
HAVE_JRE_IN_PATH = @HAVE_JRE_IN_PATH@
HAVE_JVIEW = @HAVE_JVIEW@
HAVE_JVIEW_IN_PATH = @HAVE_JVIEW_IN_PATH@
+HAVE_LIB = @HAVE_LIB@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INSTOBJEXT = @INSTOBJEXT@
INTLBISON = @INTLBISON@
@@ -100,13 +102,19 @@ INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
JAR = @JAR@
JAVA = @JAVA@
JAVAC = @JAVAC@
+LD = @LD@
LEX = @LEX@
LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
+LIB = @LIB@
LIBICONV = @LIBICONV@
+LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
LTALLOCA = @LTALLOCA@
+LTLIB = @LTLIB@
+LTLIBICONV = @LTLIBICONV@
+LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
MKINSTALLDIRS = @MKINSTALLDIRS@
OBJDUMP = @OBJDUMP@
@@ -127,6 +135,7 @@ am__include = @am__include@
am__quote = @am__quote@
install_sh = @install_sh@
lispdir = @lispdir@
+with_gnu_ld = @with_gnu_ld@
# Documentation in Postscript format.
@@ -153,16 +162,13 @@ info_TEXINFOS = gettext.texi
# List of texinfo sources @included by gettext.texi, excluding version.texi.
gettext_TEXINFOS = \
xgettext.texi msginit.texi msgmerge.texi msgcat.texi msgconv.texi \
- msggrep.texi msgexec.texi msguniq.texi msgcomm.texi msgcmp.texi \
- msgattrib.texi msgen.texi msgfmt.texi msgunfmt.texi \
+ msggrep.texi msgfilter.texi msguniq.texi msgcomm.texi msgcmp.texi \
+ msgattrib.texi msgen.texi msgexec.texi msgfmt.texi msgunfmt.texi \
iso-639.texi iso-3166.texi
-EXTRA_DIST = iso-639.sed iso-3166.sed ISO_639 ISO_3166 nls.texi matrix.texi $(EXTRA_DIST_html) texi2html
+EXTRA_DIST = iso-639.sed iso-3166.sed ISO_639 ISO_3166 nls.texi matrix.texi texi2html
-# This strange way of taking wildcards is a workaround to an automake-1.5 bug
-# which would occur if we wrote $(wildcard $(srcdir)/gettext_*.html).
-EXTRA_DIST_html = $(notdir $(wildcard gettext_*.html) $(wildcard $(addprefix $(srcdir), $(addprefix /, gettext_*.html))))
CLEANFILES = gettext.pdf gettext.html
# gettext.dvi and gettext.ps are already known to automake.
MAINTAINERCLEANFILES = gettext_*.html
@@ -297,7 +303,6 @@ top_distdir = ..
distdir = $(top_distdir)/$(PACKAGE)-$(VERSION)
distdir: $(DISTFILES)
- $(mkinstalldirs) $(distdir)/
@for file in $(DISTFILES); do \
if test -f $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
@@ -438,10 +443,13 @@ all-local: html
install-data-local: install-html
installdirs-local: installdirs-html
uninstall-local: uninstall-html
+# Hidden from automake, but really activated. Works around an automake-1.5 bug.
+#distdir: dist-html
html: html-split
install-html: install-html-split
uninstall-html: uninstall-html-split
+dist-html: dist-html-split
# Documentation in DVI format.
@@ -519,6 +527,21 @@ uninstall-html-monolithic:
uninstall-html-split:
$(RM) $(DESTDIR)$(htmldir)/gettext_*.html
+dist-html-monolithic:
+ $(mkinstalldirs) $(distdir)/
+ file=gettext.html; \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ cp -p $$d/$$file $(distdir)/$$file || exit 1
+
+# We would like to put gettext_*.html into EXTRA_DIST, but it doesn't work.
+dist-html-split:
+ $(mkinstalldirs) $(distdir)/
+ file=gettext_toc.html; \
+ if test -f $$file; then d=.; else d=$(srcdir); fi; \
+ for file in `cd $$d && echo gettext_*.html`; do \
+ cp -p $$d/$$file $(distdir)/$$file || exit 1; \
+ done
+
# One more automake bug.
installdirs: installdirs-local
# Tell versions [3.59,3.63) of GNU make to not export all variables.
diff --git a/doc/gettext.info b/doc/gettext.info
index cc60c89..d99d02f 100644
--- a/doc/gettext.info
+++ b/doc/gettext.info
@@ -13,8 +13,8 @@ END-INFO-DIR-ENTRY
This file provides documentation for GNU `gettext' utilities. It
also serves as a reference for the free Translation Project.
- Copyright (C) 1995, 1996, 1997, 1998, 2001 Free Software Foundation,
-Inc.
+ Copyright (C) 1995, 1996, 1997, 1998, 2001, 2002 Free Software
+Foundation, Inc.
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
@@ -32,151 +32,157 @@ translation approved by the Foundation.

Indirect:
-gettext.info-1: 1411
-gettext.info-2: 46553
-gettext.info-3: 91891
-gettext.info-4: 140946
-gettext.info-5: 189556
-gettext.info-6: 238120
-gettext.info-7: 287808
+gettext.info-1: 1417
+gettext.info-2: 46928
+gettext.info-3: 93218
+gettext.info-4: 142279
+gettext.info-5: 191750
+gettext.info-6: 240311
+gettext.info-7: 289557

Tag Table:
(Indirect)
-Node: Top1411
-Node: Introduction9603
-Node: Why11461
-Ref: Why-Footnote-114568
-Node: Concepts14724
-Node: Aspects18137
-Node: Files23919
-Node: Overview25814
-Node: Basics36652
-Node: Installation37482
-Node: PO Files39424
-Ref: PO Files-Footnote-146426
-Node: Main PO Commands46553
-Node: Entry Positioning51625
-Node: Normalizing57079
-Node: Sources61532
-Node: Triggering62802
-Node: Mark Keywords65818
-Node: Marking69366
-Node: c-format77082
-Node: Special cases80838
-Node: Template83700
-Node: xgettext Invocation84052
-Node: Creating89380
-Node: msginit Invocation90271
-Node: Header Entry91891
-Node: Updating98048
-Node: msgmerge Invocation98803
-Node: Translated Entries102655
-Node: Fuzzy Entries104013
-Node: Untranslated Entries107183
-Node: Obsolete Entries109105
-Node: Modifying Translations112320
-Node: Modifying Comments120271
-Node: Subedit124684
-Node: C Sources Context128563
-Node: Auxiliary133666
-Node: Compendium136891
-Node: Creating Compendia137501
-Node: Using Compendia140058
-Node: Manipulating140946
-Node: msgcat Invocation144171
-Node: msgconv Invocation147400
-Node: msggrep Invocation149560
-Node: msgexec Invocation153052
-Node: msguniq Invocation155639
-Node: msgcomm Invocation158507
-Node: msgcmp Invocation161531
-Node: msgattrib Invocation162761
-Node: msgen Invocation165876
-Node: Binaries168018
-Node: msgfmt Invocation168350
-Node: msgunfmt Invocation173593
-Node: MO Files175787
-Node: Users183878
-Node: Matrix185361
-Node: Installers186565
-Node: End Users187735
-Node: Programmers188384
-Node: catgets189556
-Node: Interface to catgets190960
-Node: Problems with catgets192964
-Node: gettext193864
-Node: Interface to gettext195322
-Node: Ambiguities197663
-Node: Locating Catalogs200356
-Ref: Locating Catalogs-Footnote-1201503
-Ref: Locating Catalogs-Footnote-2201728
-Node: Charset conversion201877
-Node: Plural forms204319
-Ref: Plural forms-Footnote-1214912
-Node: GUI program problems215004
-Node: Optimized gettext220108
-Node: Comparison221441
-Node: Using libintl.a225713
-Node: gettext grok226490
-Node: Temp Programmers229122
-Node: Temp Implementations229562
-Node: Temp catgets230928
-Node: Temp WSI232615
-Node: Temp Notes234603
-Node: Translators235092
-Node: Trans Intro 0235471
-Node: Trans Intro 1238120
-Node: Discussions239984
-Node: Organization243486
-Node: Central Coordination245467
-Node: National Teams246595
-Node: Sub-Cultures249107
-Node: Organizational Ideas250026
-Node: Mailing Lists251029
-Node: Information Flow252832
-Node: Maintainers254965
-Node: Flat and Non-Flat256735
-Node: Prerequisites258218
-Node: gettextize Invocation262359
-Node: Adjusting Files266432
-Node: po/POTFILES.in267841
-Node: po/LINGUAS268783
-Node: po/Makevars269565
-Node: configure.in271151
-Node: config.guess273141
-Node: aclocal274254
-Node: acconfig275488
-Node: Makefile275971
-Node: src/Makefile278364
-Node: Programming Languages281224
-Node: Language Implementors281986
-Node: Programmers for other Languages286807
-Node: Translators for other Languages287373
-Node: List of Programming Languages287808
-Node: C288869
-Node: sh289850
-Node: bash290476
-Node: Python291161
-Node: Common Lisp292225
-Node: clisp C292931
-Node: Emacs Lisp293653
-Node: librep294353
-Node: Smalltalk294992
-Node: Java296065
-Node: gawk298735
-Node: Pascal299512
-Node: wxWindows300728
-Node: YCP301462
-Node: Perl302122
-Node: PHP302740
-Node: Pike303443
-Node: List of Data Formats304069
-Node: POT304455
-Node: RST304699
-Node: Conclusion304897
-Node: History305397
-Node: References309499
-Node: Language Codes311054
-Node: Country Codes314957
+Node: Top1417
+Node: Introduction10024
+Node: Why11882
+Ref: Why-Footnote-114989
+Node: Concepts15145
+Node: Aspects18558
+Node: Files24340
+Node: Overview26235
+Node: Basics37029
+Node: Installation37859
+Node: PO Files39801
+Ref: PO Files-Footnote-146801
+Node: Main PO Commands46928
+Node: Entry Positioning51998
+Node: Normalizing57452
+Node: Sources61905
+Node: Triggering63175
+Node: Mark Keywords66191
+Node: Marking69739
+Node: c-format77455
+Node: Special cases81357
+Node: Template84085
+Node: xgettext Invocation84437
+Node: Creating90707
+Node: msginit Invocation91598
+Node: Header Entry93218
+Node: Updating99375
+Node: msgmerge Invocation100130
+Node: Translated Entries103982
+Node: Fuzzy Entries105340
+Node: Untranslated Entries108510
+Node: Obsolete Entries110432
+Node: Modifying Translations113647
+Node: Modifying Comments121604
+Node: Subedit126017
+Node: C Sources Context129896
+Node: Auxiliary134999
+Node: Compendium138224
+Node: Creating Compendia138834
+Node: Using Compendia141391
+Node: Manipulating142279
+Node: msgcat Invocation145758
+Node: msgconv Invocation148987
+Node: msggrep Invocation151147
+Node: msgfilter Invocation154715
+Node: msguniq Invocation158563
+Node: msgcomm Invocation161433
+Node: msgcmp Invocation164457
+Node: msgattrib Invocation165687
+Node: msgen Invocation168802
+Node: msgexec Invocation171152
+Node: Binaries173203
+Node: msgfmt Invocation173535
+Node: msgunfmt Invocation178778
+Node: MO Files180972
+Node: Users189063
+Node: Matrix190546
+Node: Installers191750
+Node: End Users192920
+Node: Programmers193569
+Node: catgets194742
+Node: Interface to catgets196145
+Node: Problems with catgets198149
+Node: gettext199049
+Node: Interface to gettext200507
+Node: Ambiguities202849
+Node: Locating Catalogs205542
+Ref: Locating Catalogs-Footnote-1206689
+Ref: Locating Catalogs-Footnote-2206914
+Node: Charset conversion207063
+Node: Plural forms209505
+Ref: Plural forms-Footnote-1220098
+Node: GUI program problems220190
+Node: Optimized gettext225294
+Node: Comparison226627
+Node: Using libintl.a230897
+Node: gettext grok231330
+Node: Temp Programmers233962
+Node: Temp Implementations234402
+Node: Temp catgets235768
+Node: Temp WSI237455
+Node: Temp Notes239443
+Node: Translators239932
+Node: Trans Intro 0240311
+Node: Trans Intro 1242960
+Node: Discussions244824
+Node: Organization248326
+Node: Central Coordination250307
+Node: National Teams251435
+Node: Sub-Cultures253947
+Node: Organizational Ideas254866
+Node: Mailing Lists255869
+Node: Information Flow257672
+Node: Maintainers259805
+Node: Flat and Non-Flat261649
+Node: Prerequisites263132
+Node: gettextize Invocation267271
+Node: Adjusting Files271719
+Node: po/POTFILES.in273321
+Node: po/LINGUAS274263
+Node: po/Makevars275045
+Node: configure.in276631
+Node: config.guess278606
+Node: aclocal279719
+Node: acconfig280998
+Node: Makefile281481
+Node: src/Makefile283869
+Node: lib/gettext.h286852
+Node: autoconf macros289077
+Node: AM_GNU_GETTEXT289557
+Node: AM_ICONV292859
+Node: Programming Languages295045
+Node: Language Implementors295866
+Node: Programmers for other Languages300687
+Node: Translators for other Languages301253
+Node: Maintainers for other Languages301690
+Node: List of Programming Languages302917
+Node: C303978
+Node: sh304959
+Node: bash305585
+Node: Python306270
+Node: Common Lisp307334
+Node: clisp C308048
+Node: Emacs Lisp308770
+Node: librep309476
+Node: Smalltalk310127
+Node: Java311200
+Node: gawk313870
+Node: Pascal314647
+Node: wxWindows315863
+Node: YCP316597
+Node: Perl317257
+Node: PHP317875
+Node: Pike318578
+Node: List of Data Formats319204
+Node: POT319590
+Node: RST319834
+Node: Conclusion320032
+Node: History320532
+Node: References324634
+Node: Language Codes326189
+Node: Country Codes330092

End Tag Table
diff --git a/doc/gettext.info-1 b/doc/gettext.info-1
index 32ac675..18d354b 100644
--- a/doc/gettext.info-1
+++ b/doc/gettext.info-1
@@ -13,8 +13,8 @@ END-INFO-DIR-ENTRY
This file provides documentation for GNU `gettext' utilities. It
also serves as a reference for the free Translation Project.
- Copyright (C) 1995, 1996, 1997, 1998, 2001 Free Software Foundation,
-Inc.
+ Copyright (C) 1995, 1996, 1997, 1998, 2001, 2002 Free Software
+Foundation, Inc.
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
@@ -89,7 +89,7 @@ Making the PO Template File
Creating a New PO File
* msginit Invocation:: Invoking the `msginit' Program
-* Header Entry:: Fields in the Header Entry
+* Header Entry:: Filling in the Header Entry
Updating Existing PO Files
@@ -115,12 +115,13 @@ Manipulating PO Files
* msgcat Invocation:: Invoking the `msgcat' Program
* msgconv Invocation:: Invoking the `msgconv' Program
* msggrep Invocation:: Invoking the `msggrep' Program
-* msgexec Invocation:: Invoking the `msgexec' Program
+* msgfilter Invocation:: Invoking the `msgfilter' Program
* msguniq Invocation:: Invoking the `msguniq' Program
* msgcomm Invocation:: Invoking the `msgcomm' Program
* msgcmp Invocation:: Invoking the `msgcmp' Program
* msgattrib Invocation:: Invoking the `msgattrib' Program
* msgen Invocation:: Invoking the `msgen' Program
+* msgexec Invocation:: Invoking the `msgexec' Program
Producing Binary MO Files
@@ -190,6 +191,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'
Files You Must Create or Alter
@@ -202,12 +204,19 @@ Files You Must Create or Alter
* acconfig:: `acconfig.h' at top level
* Makefile:: `Makefile.in' at top level
* src/Makefile:: `Makefile.in' in `src/'
+* lib/gettext.h:: `gettext.h' in `lib/'
+
+Autoconf macros for use in `configure.in'
+
+* AM_GNU_GETTEXT:: AM_GNU_GETTEXT in `gettext.m4'
+* AM_ICONV:: AM_ICONV in `iconv.m4'
Other Programming Languages
* Language Implementors:: The Language Implementor's View
* Programmers for other Languages:: The Programmer's View
* Translators for other Languages:: The Translator's View
+* Maintainers for other Languages:: The Maintainer's View
* List of Programming Languages:: Individual Programming Languages
* List of Data Formats:: Internationalizable Data
@@ -578,9 +587,9 @@ 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 a somewhat detailed explanations, which you should read
-while keeping an eye on the diagram. Having a clear understanding of
-these interrelations would surely help programmers, translators and
+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.
Original C Sources ---> PO mode ---> Marked C Sources ---.
@@ -631,7 +640,7 @@ Simply put the following lines at the beginning of each file or in a
central header file:
#define _(String) (String)
- #define N_(String) (String)
+ #define N_(String) String
#define textdomain(Domain)
#define bindtextdomain(Package, Directory)
@@ -641,10 +650,10 @@ simply replace these definitions by the following:
#include <libintl.h>
#define _(String) gettext (String)
- #define gettext_noop(String) (String)
+ #define gettext_noop(String) String
#define N_(String) gettext_noop (String)
- and link against `libintl.a' or `libintl.so'. Note that on GNU
+and link against `libintl.a' or `libintl.so'. Note that on GNU
systems, you don't need to link with `libintl' because the `gettext'
library functions are already contained in GNU libc. That is all you
have to change.
@@ -701,7 +710,7 @@ adding new strings, or modifying strings already translated. They just
do their job the best they can. For the Translation Project to work
smoothly, it is important that maintainers do not carry translation
concerns on their already loaded shoulders, and that translators be
-kept as free as possible of programmatic concerns.
+kept as free as possible of programming concerns.
The only concern maintainers should have is carefully marking new
strings as translatable, when they should be, and do not otherwise
@@ -741,21 +750,20 @@ People resisting it will have a hard time participating in the
Translation Project, or will give a hard time to other participants! In
particular, maintainers should relax and include all available official
PO files in their distributions, even if these have not recently been
-updated, without banging or otherwise trying to exert pressure on the
-translator teams to get the job done. The pressure should rather come
-from the community of users speaking a particular language, and
-maintainers should consider themselves fairly relieved of any concern
-about the adequacy of translation files. On the other hand, translators
-should reasonably try updating the PO files they are responsible for,
-while the package is undergoing pretest, prior to an official
-distribution.
+updated, without exerting pressure on the translator teams to get the
+job done. The pressure should rather come from the community of users
+speaking a particular language, and maintainers should consider
+themselves fairly relieved of any concern about the adequacy of
+translation files. On the other hand, translators should reasonably
+try updating the PO files they are responsible for, while the package
+is undergoing pretest, prior to an official distribution.
Once the PO file is complete and dependable, the `msgfmt' 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 (*note MO Files::). *Note msgfmt
-Invocation::, for more information about all modalities of execution
-for the `msgfmt' program.
+Invocation::, for more information about all modes of execution for the
+`msgfmt' program.
Finally, the modified and marked C sources are compiled and linked
with the GNU `gettext' library, usually through the operation of
@@ -902,7 +910,7 @@ forms of flags defined:
`c-format'
`no-c-format'
These flags should not be added by a human. Instead only the
- `xgettext' program adds them. In an automatized PO file processing
+ `xgettext' program adds them. In an automated PO file processing
system as proposed here the user changes would be thrown away
again as soon as the `xgettext' program generates a new template
file.
@@ -938,7 +946,7 @@ having Emacs handy should carefully continue reading on.
Each of UNTRANSLATED-STRING and TRANSLATED-STRING respects the C
syntax for a character string, including the surrounding quotes and
-imbedded backslashed escape sequences. When the time comes to write
+embedded backslashed escape sequences. When the time comes to write
multi-line strings, one should not use escaped newlines. Instead, a
closing quote should follow the last character on the line to be
continued, and an opening quote should resume the string at the
diff --git a/doc/gettext.info-2 b/doc/gettext.info-2
index aad92fc..c205e31 100644
--- a/doc/gettext.info-2
+++ b/doc/gettext.info-2
@@ -13,8 +13,8 @@ END-INFO-DIR-ENTRY
This file provides documentation for GNU `gettext' utilities. It
also serves as a reference for the free Translation Project.
- Copyright (C) 1995, 1996, 1997, 1998, 2001 Free Software Foundation,
-Inc.
+ Copyright (C) 1995, 1996, 1997, 1998, 2001, 2002 Free Software
+Foundation, Inc.
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
@@ -95,10 +95,10 @@ the editing window, one can undo the edition work quite parsimoniously.
used when the translator is done with the PO file. The former is a bit
less verbose than the latter. If the file has been modified, it is
saved to disk first. In both cases, and prior to all this, the
-commands check if some untranslated message remains in the PO file and,
-if yes, the translator is asked if she really wants to leave off
-working with this PO file. This is the preferred way of getting rid of
-an Emacs PO file buffer. Merely killing it through the usual command
+commands check if any untranslated messages remain in the PO file and,
+if so, the translator is asked if she really wants to leave off working
+with this PO file. This is the preferred way of getting rid of an
+Emacs PO file buffer. Merely killing it through the usual command
`C-x k' (`kill-buffer') is not the tidiest way to proceed.
The command `0' (`po-other-window') is another, softer way, to leave
@@ -259,7 +259,7 @@ Normalizing Strings in Entries
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
-backslahsed escaped sequences. Some features of PO mode rely on the
+backslashed escaped sequences. Some features of PO mode rely on the
ability for PO mode to scan an already existing PO file for a
particular string encoded into the `msgid' field of some entry. Even
if PO mode has internally all the built-in machinery for implementing
@@ -688,8 +688,11 @@ string is regarded as the address.
To prevent errors at runtime caused by translations the `msgfmt'
tool can check statically whether the arguments in the original and the
-translation string match in type and number. If this is not the case a
-warning will be given and the error cannot causes problems at runtime.
+translation string match in type and number. If this is not the case
+and the `-c' option has been passed to `msgfmt', `msgfmt' will give an
+error and refuse to produce a MO file. Thus consequent use of `msgfmt
+-c' will catch the error, so that it cannot cause cause problems at
+runtime.
If the word order in the above German translation would be correct one
would have to write
@@ -775,7 +778,7 @@ before printing them.
names a no-op. For the second we have to mark all access points to a
string from the array. So one solution can look like this:
- #define gettext_noop(String) (String)
+ #define gettext_noop(String) String
{
static const char *messages[] = {
@@ -798,7 +801,7 @@ 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:
- #define gettext_noop(String) (String)
+ #define gettext_noop(String) String
{
static const char *messages[] = {
@@ -814,11 +817,9 @@ along with the following one:
...
}
- But this has some drawbacks. First the programmer has to take care
-that he uses `gettext_noop' for the string `"a default message"'. A
-use of `gettext' could have in rare cases unpredictable results. The
-second reason is found in the internals of the GNU `gettext' Library
-which will make this solution less efficient.
+ But this has a drawback. The programmer has to take care that he
+uses `gettext_noop' for the string `"a default message"'. A use of
+`gettext' could have in rare cases unpredictable results.
One advantage is that you need not make control flow analysis to make
sure the output is really translated in any case. But this analysis is
@@ -1008,9 +1009,26 @@ Output details
invocations of `xgettext' on the same files with the same options
at different times are guaranteed to produce the same results.
+`--copyright-holder=STRING'
+ Set the copyright holder in the output. STRING should be the
+ copyright holder of the surrounding package. (Note that the msgstr
+ strings, extracted from the package's sources, belong to the
+ copyright holder of the package.) Translators are expected to
+ transfer or disclaim the copyright for their translations, so that
+ package maintainers can distribute them without legal risk. If
+ STRING is empty, the output files are marked as being in the
+ public domain; in this case, the translators are expected to
+ disclaim their copyright, again so that package maintainers can
+ distribute them without legal risk.
+
+ The default value for STRING is the Free Software Foundation, Inc.,
+ simply because `xgettext' was first used in the GNU project.
+
`--foreign-user'
- Omit FSF copyright in output. This can be useful for translators
- outside the GNU project.
+ Omit FSF copyright in output. This option is equivalent to
+ `--copyright-holder='''. It can be useful for packages outside
+ the GNU project that want their translations to be in the public
+ domain.
`-m [STRING]'
`--msgstr-prefix[=STRING]'
diff --git a/doc/gettext.info-3 b/doc/gettext.info-3
index e5feacb..af27d53 100644
--- a/doc/gettext.info-3
+++ b/doc/gettext.info-3
@@ -13,8 +13,8 @@ END-INFO-DIR-ENTRY
This file provides documentation for GNU `gettext' utilities. It
also serves as a reference for the free Translation Project.
- Copyright (C) 1995, 1996, 1997, 1998, 2001 Free Software Foundation,
-Inc.
+ Copyright (C) 1995, 1996, 1997, 1998, 2001, 2002 Free Software
+Foundation, Inc.
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
@@ -581,16 +581,16 @@ File: gettext.info, Node: Modifying Translations, Next: Modifying Comments, P
Modifying Translations
======================
- PO mode prevents direct edition of the PO file, by the usual means
-Emacs give 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
diff --git a/doc/gettext.info-4 b/doc/gettext.info-4
index 634c643..a51b5d7 100644
--- a/doc/gettext.info-4
+++ b/doc/gettext.info-4
@@ -13,8 +13,8 @@ END-INFO-DIR-ENTRY
This file provides documentation for GNU `gettext' utilities. It
also serves as a reference for the free Translation Project.
- Copyright (C) 1995, 1996, 1997, 1998, 2001 Free Software Foundation,
-Inc.
+ Copyright (C) 1995, 1996, 1997, 1998, 2001, 2002 Free Software
+Foundation, Inc.
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
@@ -62,15 +62,19 @@ that source file and use `msgmerge'.
special dialect or orthography - for example, German as written in
Switzerland versus German as written in Germany -, she needs to apply
some text processing to every message in the catalog. The tool for
-doing this is `msgexec'.
+doing this is `msgfilter'.
- Another use of `msgexec' is to produce approximately the POT file for
-which a given PO file was made. This can be done through a filter
-command like `msgexec sed -e d | sed -e '/^# /d''. Note that the
+ Another use of `msgfilter' is to produce approximately the POT file
+for which a given PO file was made. This can be done through a filter
+command like `msgfilter sed -e d | sed -e '/^# /d''. Note that the
original POT file may have had different comments and different plural
message counts, that's why it's better to use the original POT file if
available.
+ 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 `msgexec' program.
+
When third party tools create PO or POT files, sometimes duplicates
cannot be avoided. But the GNU `gettext' tools give an error when they
encounter duplicate msgids in the same file and in the same domain. To
@@ -93,12 +97,13 @@ catalogs. It copies each message's msgid to its msgstr.
* msgcat Invocation:: Invoking the `msgcat' Program
* msgconv Invocation:: Invoking the `msgconv' Program
* msggrep Invocation:: Invoking the `msggrep' Program
-* msgexec Invocation:: Invoking the `msgexec' Program
+* msgfilter Invocation:: Invoking the `msgfilter' Program
* msguniq Invocation:: Invoking the `msguniq' Program
* msgcomm Invocation:: Invoking the `msgcomm' Program
* msgcmp Invocation:: Invoking the `msgcmp' Program
* msgattrib Invocation:: Invoking the `msgattrib' Program
* msgen Invocation:: Invoking the `msgen' Program
+* msgexec Invocation:: Invoking the `msgexec' Program

File: gettext.info, Node: msgcat Invocation, Next: msgconv Invocation, Prev: Manipulating, Up: Manipulating
@@ -316,7 +321,7 @@ Informative output
Output version information and exit.

-File: gettext.info, Node: msggrep Invocation, Next: msgexec Invocation, Prev: msgconv Invocation, Up: Manipulating
+File: gettext.info, Node: msggrep Invocation, Next: msgfilter Invocation, Prev: msgconv Invocation, Up: Manipulating
Invoking the `msggrep' Program
==============================
@@ -377,7 +382,8 @@ regular expressions if -E is given, or fixed strings if -F is given.
`-N SOURCEFILE'
`--location=SOURCEFILE'
- Select messages extracted from SOURCEFILE.
+ Select messages extracted from SOURCEFILE. SOURCEFILE can be
+ either a literal file name or a wildcard pattern.
`-M DOMAINNAME'
`--domain=DOMAINNAME'
@@ -457,14 +463,14 @@ Informative output
Output version information and exit.

-File: gettext.info, Node: msgexec Invocation, Next: msguniq Invocation, Prev: msggrep Invocation, Up: Manipulating
+File: gettext.info, Node: msgfilter Invocation, Next: msguniq Invocation, Prev: msggrep Invocation, Up: Manipulating
-Invoking the `msgexec' Program
-==============================
+Invoking the `msgfilter' Program
+================================
- msgexec [OPTION] FILTER [FILTER-OPTION]
+ msgfilter [OPTION] FILTER [FILTER-OPTION]
- The `msgexec' program applies a filter to all translations of a
+ The `msgfilter' program applies a filter to all translations of a
translation catalog.
Input file location
@@ -499,6 +505,24 @@ The filter
input and writes a modified translation to standard output. A
frequently used filter is `sed'.
+ Note: It is your responsibility to ensure that the FILTER can cope
+with input encoded in the translation catalog's encoding. If the
+FILTER wants input in a particular encoding, you can in a first step
+convert the translation catalog to that encoding using the `msgconv'
+program, before invoking `msgfilter'. If the FILTER wants input in the
+locale's encoding, but you want to avoid the locale's encoding, then
+you can first convert the translation catalog to UTF-8 using the
+`msgconv' program and then make `msgfilter' work in an UTF-8 locale, by
+using the `LC_ALL' environment variable.
+
+ Note: Most translations in a translation catalog don't end with a
+newline character. For this reason, it is important that the FILTER
+recognizes its last input line even if it ends without a newline, and
+that it doesn't add an undesired trailing newline at the end. The `sed'
+program on some platforms is known to ignore the last line of input if
+it is not terminated with a newline. You can use GNU `sed' instead; it
+does not have this limitation.
+
Useful FILTER-OPTIONs when the FILTER is `sed'
----------------------------------------------
@@ -524,6 +548,11 @@ Output details
`--indent'
Write the .po file using indented style.
+`--keep-header'
+ Keep the header entry, i.e. the message with `msgid ""',
+ unmodified, instead of filtering it. By default, the header entry
+ is subject to filtering like any other message.
+
`--no-location'
Do not write `#: FILENAME:LINE' lines.
@@ -563,7 +592,7 @@ Informative output
Output version information and exit.

-File: gettext.info, Node: msguniq Invocation, Next: msgcomm Invocation, Prev: msgexec Invocation, Up: Manipulating
+File: gettext.info, Node: msguniq Invocation, Next: msgcomm Invocation, Prev: msgfilter Invocation, Up: Manipulating
Invoking the `msguniq' Program
==============================
@@ -968,7 +997,7 @@ Informative output
Output version information and exit.

-File: gettext.info, Node: msgen Invocation, Prev: msgattrib Invocation, Up: Manipulating
+File: gettext.info, Node: msgen Invocation, Next: msgexec Invocation, Prev: msgattrib Invocation, Up: Manipulating
Invoking the `msgen' Program
============================
@@ -980,6 +1009,10 @@ input file is the last created English PO file, or a PO Template file
(generally created by xgettext). Untranslated entries are assigned a
translation that is identical to the msgid, and are marked fuzzy.
+ Note: `msginit --no-translator --locale=en' performs a very similar
+task. The main difference is that `msginit' cares specially about the
+header entry, whereas `msgen' doesn't.
+
Input file location
-------------------
@@ -1053,6 +1086,65 @@ Informative output
Output version information and exit.

+File: gettext.info, Node: msgexec Invocation, Prev: msgen Invocation, Up: Manipulating
+
+Invoking the `msgexec' Program
+==============================
+
+ msgexec [OPTION] COMMAND [COMMAND-OPTION]
+
+ The `msgexec' program applies a command to all translations of a
+translation catalog. The COMMAND can be any program that reads a
+translation from standard input. It is invoked once for each
+translation. Its output becomes msgexec's output. `msgexec''s return
+code is the maximum return code across all invocations.
+
+ A special builtin command called `0' outputs the translation,
+followed by a null byte. The output of `msgexec 0' is suitable as
+input for `xargs -0'.
+
+ During each COMMAND invocation, the environment variable
+`MSGEXEC_MSGID' is bound to the message's msgid, and the environment
+variable `MSGEXEC_LOCATION' is bound to the location in the PO file of
+the message.
+
+ Note: It is your responsibility to ensure that the COMMAND can cope
+with input encoded in the translation catalog's encoding. If the
+COMMAND wants input in a particular encoding, you can in a first step
+convert the translation catalog to that encoding using the `msgconv'
+program, before invoking `msgexec'. If the COMMAND wants input in the
+locale's encoding, but you want to avoid the locale's encoding, then
+you can first convert the translation catalog to UTF-8 using the
+`msgconv' program and then make `msgexec' work in an UTF-8 locale, by
+using the `LC_ALL' environment variable.
+
+Input file location
+-------------------
+
+`-i INPUTFILE'
+`--input=INPUTFILE'
+ Input PO file.
+
+`-D DIRECTORY'
+`--directory=DIRECTORY'
+ Add DIRECTORY to the list of directories. Source files are
+ searched relative to this list of directories. The resulting `.po'
+ file will be written relative to the current directory, though.
+
+ If no INPUTFILE is given or if it is `-', standard input is read.
+
+Informative output
+------------------
+
+`-h'
+`--help'
+ Display this help and exit.
+
+`-V'
+`--version'
+ Output version information and exit.
+
+
File: gettext.info, Node: Binaries, Next: Users, Prev: Manipulating, Up: Top
Producing Binary MO Files
@@ -1377,7 +1469,7 @@ table itself is not contained in the MO file. Some people might prefer
this because a precomputed hashing table takes disk space, and does not
win _that_ much speed. The hash table contains indices to the sorted
array of strings in the MO file. Conflict resolution is done by double
-hashing. The precise hashing algorithm used is fairly dependent of GNU
+hashing. The precise hashing algorithm used is fairly dependent on GNU
`gettext' code, and is not documented here.
As for the strings themselves, they follow the hash file, and each
@@ -1520,68 +1612,3 @@ 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.
-
-File: gettext.info, Node: Installers, Next: End Users, Prev: Matrix, Up: Users
-
-Magic for Installers
-====================
-
- 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'
-functions. If not, the GNU `gettext' library should be automatically
-prepared and used. Installers may use special options at configuration
-time for changing this behavior. The command `./configure
---with-included-gettext' bypasses system `gettext' to use the included
-GNU `gettext' instead, while `./configure --disable-nls' produces
-programs totally unable to translate messages.
-
- Internationalized packages have usually many `LL.po' files. Unless
-translations are disabled, all those available are installed together
-with the package. However, the environment variable `LINGUAS' may be
-set, prior to configuration, to limit the installed set. `LINGUAS'
-should then contain a space separated list of two-letter codes, stating
-which languages are allowed.
-
-
-File: gettext.info, Node: End Users, Prev: Installers, Up: Users
-
-Magic for End Users
-===================
-
- 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.
-
-
-File: gettext.info, Node: Programmers, Next: Translators, Prev: Users, Up: Top
-
-The Programmer's View
-*********************
-
- One aim of the current message catalog implementation provided by
-GNU `gettext' was to use the systems 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
-describe below. In fact they couldn't agree on anything, so they
-decided only to include an example of an interface. The major Unix
-vendors are split in the usage of the two most important
-specifications: X/Open's catgets vs. Uniforum's gettext interface.
-We'll describe them both and later explain our solution of this dilemma.
-
-* Menu:
-
-* catgets:: About `catgets'
-* gettext:: About `gettext'
-* Comparison:: Comparing the two interfaces
-* Using libintl.a:: Using libintl.a in own programs
-* gettext grok:: Being a `gettext' grok
-* Temp Programmers:: Temporary Notes for the Programmers Chapter
-
diff --git a/doc/gettext.info-5 b/doc/gettext.info-5
index 36383f1..60d99e8 100644
--- a/doc/gettext.info-5
+++ b/doc/gettext.info-5
@@ -13,8 +13,8 @@ END-INFO-DIR-ENTRY
This file provides documentation for GNU `gettext' utilities. It
also serves as a reference for the free Translation Project.
- Copyright (C) 1995, 1996, 1997, 1998, 2001 Free Software Foundation,
-Inc.
+ Copyright (C) 1995, 1996, 1997, 1998, 2001, 2002 Free Software
+Foundation, Inc.
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
@@ -31,6 +31,71 @@ versions, except that this permission notice may be stated in a
translation approved by the Foundation.

+File: gettext.info, Node: Installers, Next: End Users, Prev: Matrix, Up: Users
+
+Magic for Installers
+====================
+
+ 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'
+functions. If not, the GNU `gettext' library should be automatically
+prepared and used. Installers may use special options at configuration
+time for changing this behavior. The command `./configure
+--with-included-gettext' bypasses system `gettext' to use the included
+GNU `gettext' instead, while `./configure --disable-nls' produces
+programs totally unable to translate messages.
+
+ Internationalized packages have usually many `LL.po' files. Unless
+translations are disabled, all those available are installed together
+with the package. However, the environment variable `LINGUAS' may be
+set, prior to configuration, to limit the installed set. `LINGUAS'
+should then contain a space separated list of two-letter codes, stating
+which languages are allowed.
+
+
+File: gettext.info, Node: End Users, Prev: Installers, Up: Users
+
+Magic for End Users
+===================
+
+ 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.
+
+
+File: gettext.info, Node: Programmers, Next: Translators, Prev: Users, Up: Top
+
+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
+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
+describe below. In fact they couldn't agree on anything, so they
+decided only to include an example of an interface. The major Unix
+vendors are split in the usage of the two most important
+specifications: X/Open's catgets vs. Uniforum's gettext interface.
+We'll describe them both and later explain our solution of this dilemma.
+
+* Menu:
+
+* catgets:: About `catgets'
+* gettext:: About `gettext'
+* Comparison:: Comparing the two interfaces
+* Using libintl.a:: Using libintl.a in own programs
+* gettext grok:: Being a `gettext' grok
+* Temp Programmers:: Temporary Notes for the Programmers Chapter
+
+
File: gettext.info, Node: catgets, Next: gettext, Prev: Programmers, Up: Programmers
About `catgets'
@@ -48,7 +113,7 @@ not guarantee a unique interface.
members could have made this interface. They never really tried to
program using this interface. It is a fast, memory-saving
implementation, an user can happily live with it. But programmers hate
-it (at least me and some others do...)
+it (at least I and some others do...)
But we must not forget one point: after all the trouble with
transfering the rights on Unix(tm) they at last came to X/Open, the
@@ -144,7 +209,7 @@ though.
The main points 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 so many task, especially the unique key handling.
-Of course here is also a unique key needed, but this key is the message
+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:: for a more
detailed comparison of the two methods.
@@ -184,7 +249,7 @@ domain is selectable by the user.
of the current global domain of the `LC_MESSAGE' category. The
argument is a null-terminated string, whose characters must be legal in
the use in filenames. If the DOMAIN_NAME argument is `NULL', the
-function return the current value. If no value has been set before,
+function returns the current value. If no value has been set before,
the name of the default domain is returned: _messages_. Please note
that although the return value of `textdomain' is of type `char *' no
changing is allowed. It is also important to know that no checks of
@@ -832,7 +897,7 @@ can use any that becomes available.
(*note Special cases::). One usually defines `gettext_noop' as a no-op
macro. So you should consider the following code for your project:
- #define gettext_noop(String) (String)
+ #define gettext_noop(String) String
#define N_(String) gettext_noop (String)
`N_' is a short form similar to `_'. The `Makefile' in the `po/'
@@ -895,12 +960,6 @@ 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)'.
- One exception of the above is found on HP-UX 10.01 systems. Here
-the C library does not contain the `alloca' function (and the HP
-compiler does not generate it inlined). But it is not intended to
-rewrite the whole library just because of this dumb system. Instead
-include the `alloca' function in all package you use the `libintl.a' in.
-

File: gettext.info, Node: gettext grok, Next: Temp Programmers, Prev: Using libintl.a, Up: Programmers
@@ -1108,60 +1167,3 @@ The Translator's View
* Organization:: Organization
* Information Flow:: Information Flow
-
-File: gettext.info, Node: Trans Intro 0, Next: Trans Intro 1, Prev: Translators, Up: Translators
-
-Introduction 0
-==============
-
- Free software is going international! The Translation Project is a
-way to get maintainers, translators and users all together, so free
-software will gradually become able to speak many native languages.
-
- The GNU `gettext' tool set contains _everything_ maintainers need
-for internationalizing their packages for messages. It also contains
-quite useful tools for helping translators at localizing messages to
-their native language, once a package has already been
-internationalized.
-
- To achieve the Translation Project, we need many interested people
-who like their own language and write it well, and who are also able to
-synergize with other translators speaking the same language. If you'd
-like to volunteer to _work_ at translating messages, please send mail
-to your translating team.
-
- Each team has its own mailing list, courtesy of Linux International.
-You may reach your translating team at the address `LL@li.org',
-replacing LL by the two-letter ISO 639 code for your language.
-Language codes are _not_ the same as country codes given in ISO 3166.
-The following translating teams exist:
-
- Chinese `zh', Czech `cs', Danish `da', Dutch `nl', Esperanto `eo',
- Finnish `fi', French `fr', Irish `ga', German `de', Greek `el',
- Italian `it', Japanese `ja', Indonesian `in', Norwegian `no',
- Polish `pl', Portuguese `pt', Russian `ru', Spanish `es', Swedish
- `sv' and Turkish `tr'.
-
-For example, you may reach the Chinese translating team by writing to
-`zh@li.org'. When you become a member of the translating team for your
-own language, you may subscribe to its list. For example, Swedish
-people can send a message to `sv-request@li.org', having this message
-body:
-
- subscribe
-
- 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.
-
- A handful of GNU packages have already been adapted and provided
-with message translations for several languages. Translation teams
-have begun to organize, using these packages as a starting point. But
-there are many more packages and many languages for which we have no
-volunteer translators. If you 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.
-
diff --git a/doc/gettext.info-6 b/doc/gettext.info-6
index e31199b..a81762d 100644
--- a/doc/gettext.info-6
+++ b/doc/gettext.info-6
@@ -13,8 +13,8 @@ END-INFO-DIR-ENTRY
This file provides documentation for GNU `gettext' utilities. It
also serves as a reference for the free Translation Project.
- Copyright (C) 1995, 1996, 1997, 1998, 2001 Free Software Foundation,
-Inc.
+ Copyright (C) 1995, 1996, 1997, 1998, 2001, 2002 Free Software
+Foundation, Inc.
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
@@ -31,6 +31,63 @@ versions, except that this permission notice may be stated in a
translation approved by the Foundation.

+File: gettext.info, Node: Trans Intro 0, Next: Trans Intro 1, Prev: Translators, Up: Translators
+
+Introduction 0
+==============
+
+ Free software is going international! The Translation Project is a
+way to get maintainers, translators and users all together, so free
+software will gradually become able to speak many native languages.
+
+ The GNU `gettext' tool set contains _everything_ maintainers need
+for internationalizing their packages for messages. It also contains
+quite useful tools for helping translators at localizing messages to
+their native language, once a package has already been
+internationalized.
+
+ To achieve the Translation Project, we need many interested people
+who like their own language and write it well, and who are also able to
+synergize with other translators speaking the same language. If you'd
+like to volunteer to _work_ at translating messages, please send mail
+to your translating team.
+
+ Each team has its own mailing list, courtesy of Linux International.
+You may reach your translating team at the address `LL@li.org',
+replacing LL by the two-letter ISO 639 code for your language.
+Language codes are _not_ the same as country codes given in ISO 3166.
+The following translating teams exist:
+
+ Chinese `zh', Czech `cs', Danish `da', Dutch `nl', Esperanto `eo',
+ Finnish `fi', French `fr', Irish `ga', German `de', Greek `el',
+ Italian `it', Japanese `ja', Indonesian `in', Norwegian `no',
+ Polish `pl', Portuguese `pt', Russian `ru', Spanish `es', Swedish
+ `sv' and Turkish `tr'.
+
+For example, you may reach the Chinese translating team by writing to
+`zh@li.org'. When you become a member of the translating team for your
+own language, you may subscribe to its list. For example, Swedish
+people can send a message to `sv-request@li.org', having this message
+body:
+
+ subscribe
+
+ 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.
+
+ A handful of GNU packages have already been adapted and provided
+with message translations for several languages. Translation teams
+have begun to organize, using these packages as a starting point. But
+there are many more packages and many languages for which we have no
+volunteer translators. If you 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.
+
+
File: gettext.info, Node: Trans Intro 1, Next: Discussions, Prev: Trans Intro 0, Up: Translators
Introduction 1
@@ -430,6 +487,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'

File: gettext.info, Node: Flat and Non-Flat, Next: Prerequisites, Prev: Maintainers, Up: Maintainers
@@ -516,8 +574,8 @@ to authentify the origin of the submission as being the representative
of the appropriate translating teams of the Translation Project (forward
the submission to `translation@iro.umontreal.ca' in case of doubt), to
ensure that the PO file format is not severely broken and does not
-prevent successful installation, and for the rest, to merely to put
-these PO files in `po/' for distribution.
+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
@@ -533,7 +591,7 @@ reach or join their team. The simplest might be to send them the
Maintainers should _never ever_ apply PO file bug reports
themselves, short-cutting translation teams. If some translator has
difficulty to get some of her points through her team, it should not be
-an issue for her to directly negotiate translations with maintainers.
+an option for her to directly negotiate translations with maintainers.
Teams ought to settle their problems themselves, if any. If you, as a
maintainer, ever think there is a real problem with a team, please
never try to _solve_ a team's problem on your own.
@@ -573,7 +631,11 @@ and accepts the following options:
`AM_GNU_GETTEXT([external])', and internationalization will not be
enabled on systems lacking GNU gettext.
-`-h'
+`--no-changelog'
+ Don't update or create ChangeLog files. By default, `gettextize'
+ logs all changes (file additions, modifications ans removals) in a
+ file called `ChangeLog' in each affected directory.
+
`--help'
Display this help and exit.
@@ -611,6 +673,10 @@ specified.
option `--force' (`-f') is given, the `intl/' directory is emptied
first.
+ 4. The `config.rpath' file is copied into the directory containing
+ configuration support files. It is needed by the `AM_GNU_GETTEXT'
+ autoconf macro.
+
If your site support symbolic links, `gettextize' will not actually
copy the files into your package, but establish symbolic links instead.
@@ -630,7 +696,7 @@ the `po/' directory needs its own `Makefile', and it has been designed
so it can be identical in all packages.

-File: gettext.info, Node: Adjusting Files, Prev: gettextize Invocation, Up: Maintainers
+File: gettext.info, Node: Adjusting Files, Next: autoconf macros, Prev: gettextize Invocation, Up: Maintainers
Files You Must Create or Alter
==============================
@@ -644,9 +710,11 @@ each.
So, here comes a list of files, each one followed by a description of
all alterations it needs. Many examples are taken out from the GNU
-`gettext' 0.11-pre2 distribution itself. You may indeed refer to the
-source code of the GNU `gettext' package, as it is intended to be a
-good example and master implementation for using its own functionality.
+`gettext' 0.11 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
+intended to be good examples for using GNU gettext functionality.
* Menu:
@@ -659,6 +727,7 @@ good example and master implementation for using its own functionality.
* acconfig:: `acconfig.h' at top level
* Makefile:: `Makefile.in' at top level
* src/Makefile:: `Makefile.in' in `src/'
+* lib/gettext.h:: `gettext.h' in `lib/'

File: gettext.info, Node: po/POTFILES.in, Next: po/LINGUAS, Prev: Adjusting Files, Up: Adjusting Files
@@ -753,16 +822,16 @@ File: gettext.info, Node: configure.in, Next: config.guess, Prev: po/Makevars
This is done by a set of lines like these:
PACKAGE=gettext
- VERSION=0.11-pre2
+ VERSION=0.11
AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
AC_SUBST(PACKAGE)
AC_SUBST(VERSION)
Of course, you replace `gettext' with the name of your package,
- and `0.11-pre2' by its version numbers, exactly as they should
- appear in the packaged `tar' file name of your distribution
- (`gettext-0.11-pre2.tar.gz', here).
+ and `0.11' by its version numbers, exactly as they should appear
+ in the packaged `tar' file name of your distribution
+ (`gettext-0.11.tar.gz', here).
2. Check for internationalization support.
@@ -830,10 +899,11 @@ File: gettext.info, Node: aclocal, Next: acconfig, Prev: config.guess, Up: A
If you do not have an `aclocal.m4' file in your distribution, the
simplest is to concatenate the files `codeset.m4', `gettext.m4',
-`glibc21.m4', `iconv.m4', `isc-posix.m4', `lcmessage.m4', `progtest.m4'
-from GNU `gettext''s `m4/' directory into a single file. If you have
-suppressed the `intl/' directory, only `gettext.m4', `iconv.m4',
-`progtest.m4' need to be concatenated.
+`glibc21.m4', `iconv.m4', `isc-posix.m4', `lcmessage.m4', `lib-ld.m4',
+`lib-link.m4', `lib-prefix.m4', `progtest.m4' from GNU `gettext''s
+`m4/' directory into a single file. If you have suppressed the `intl/'
+directory, only `gettext.m4', `iconv.m4', `progtest.m4' need to be
+concatenated.
If you already have an `aclocal.m4' file, then you will have to
merge the said macro files into your `aclocal.m4'. Note that if you
@@ -893,7 +963,7 @@ File: gettext.info, Node: Makefile, Next: src/Makefile, Prev: acconfig, Up:
example, we also define `SUBDIRS' in `Makefile.in' for it to be
further used in the `dist:' goal.
- SUBDIRS = doc intl lib src @POSUB@
+ SUBDIRS = doc intl lib src po
Note that you must arrange for `make' to descend into the `intl'
directory before descending into other directories containing code
@@ -923,7 +993,7 @@ File: gettext.info, Node: Makefile, Next: src/Makefile, Prev: acconfig, Up:

-File: gettext.info, Node: src/Makefile, Prev: Makefile, Up: Adjusting Files
+File: gettext.info, Node: src/Makefile, Next: lib/gettext.h, Prev: Makefile, Up: Adjusting Files
`Makefile.in' in `src/'
-----------------------
@@ -966,11 +1036,12 @@ modifications needed in `src/Makefile.in':
Note that `@datadir@' defaults to `$(prefix)/share', thus
`$(localedir)' defaults to `$(prefix)/share/locale'.
- 5. You should ensure that the final linking will use `@INTLLIBS@' as
- a library. An easy way to achieve this is to manage that it gets
- into `LIBS', like this:
+ 5. You should ensure that the final linking will use `@LIBINTL@' or
+ `@LTLIBINTL@' as a library. `@LIBINTL@' is for use without
+ `libtool', `@LTLIBINTL@' is for use with `libtool'. An easy way to
+ achieve this is to manage that it gets into `LIBS', like this:
- LIBS = @INTLLIBS@ @LIBS@
+ LIBS = @LIBINTL@ @LIBS@
In most packages internationalized with GNU `gettext', one will
find a directory `lib/' in which a library containing some helper
@@ -979,10 +1050,10 @@ modifications needed in `src/Makefile.in':
the functions in the `lib/' also give messages to the user which
of course should be translated, too. Taking care of this, the
support library (say `libsupport.a') should be placed before
- `@INTLLIBS@' and `@LIBS@' in the above example. So one has to
+ `@LIBINTL@' and `@LIBS@' in the above example. So one has to
write this:
- LIBS = ../lib/libsupport.a @INTLLIBS@ @LIBS@
+ LIBS = ../lib/libsupport.a @LIBINTL@ @LIBS@
6. You should also ensure that directory `intl/' will be searched for
C preprocessor include files in all circumstances. So, you have to
@@ -1000,138 +1071,68 @@ modifications needed in `src/Makefile.in':

-File: gettext.info, Node: Programming Languages, Next: Conclusion, Prev: Maintainers, Up: Top
+File: gettext.info, Node: lib/gettext.h, Prev: src/Makefile, Up: Adjusting Files
-Other Programming Languages
-***************************
+`gettext.h' in `lib/'
+---------------------
- 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.
+ Internationalization of packages, as provided by GNU `gettext', is
+optional. It can be turned off in two situations:
-* Menu:
+ * When the installer has specified `./configure --disable-nls'. This
+ can be useful when small binaries are more important than
+ features, for example when building utilities for boot diskettes.
+ It can also be useful in order to get some specific C compiler
+ warnings about code quality with some older versions of GCC (older
+ than 3.0).
-* Language Implementors:: The Language Implementor's View
-* Programmers for other Languages:: The Programmer's View
-* Translators for other Languages:: The Translator's View
-* List of Programming Languages:: Individual Programming Languages
-* List of Data Formats:: Internationalizable Data
+ * When the package does not include the `intl/' subdirectory, and the
+ libintl.h header (with its associated libintl library, if any) is
+ not already installed on the system, it is preferrable that the
+ package builds without internationalization support, rather than
+ to give a compilation error.
-
-File: gettext.info, Node: Language Implementors, Next: Programmers for other Languages, Prev: Programming Languages, Up: Programming Languages
-
-The Language Implementor's View
-===============================
-
- All programming and scripting languages that have the notion of
-strings are eligible to supporting `gettext'. Supporting `gettext'
-means the following:
-
- 1. You should add to the language a syntax for translatable strings.
- In principle, a function call of `gettext' would do, but a
- shorthand syntax helps keeping the legibility of internationalized
- programs. For example, in C we use the syntax `_("string")', in
- bash we use the syntax `$"string"', and in GNU awk we use the
- shorthand `_"string"'.
-
- 2. You should arrange that evaluation of such a translatable string at
- runtime calls the `gettext' function, or performs equivalent
- processing.
-
- 3. Similarly, you should make the functions `ngettext', `dcgettext',
- `dcngettext' available from within the language. These functions
- are less often used, but are nevertheless necessary for particular
- purposes: `ngettext' for correct plural handling, and `dcgettext'
- and `dcngettext' for obeying other locale environment variables
- than `LC_MESSAGES', such as `LC_TIME' or `LC_MONETARY'. For these
- latter functions, you need to make the `LC_*' constants, available
- in the C header `<locale.h>', referenceable from within the
- language, usually either as enumeration values or as strings.
-
- 4. You should allow the programmer to designate a message domain,
- either by making the `textdomain' function available from within
- the language, or by introducing a magic variable called
- `TEXTDOMAIN'. Similarly, you should allow the programmer to
- designate where to search for message catalogs, by providing
- access to the `bindtextdomain' function.
-
- 5. You should either perform a `setlocale (LC_ALL, "")' call during
- the startup of your language runtime, or allow the programmer to
- do so. Remember that gettext will act as a no-op if the
- `LC_MESSAGES' and `LC_CTYPE' locale facets are not both set.
-
- 6. A programmer should have a way to extract translatable strings
- from a program into a PO file. The GNU `xgettext' program is being
- extended to support very different programming languages. Please
- contact the GNU `gettext' maintainers to help them doing this. If
- the string extractor is best integrated into your language's
- parser, GNU `xgettext' can function as a front end to your string
- extractor.
-
- 7. The language's library should have a string formatting facility
- where the arguments of a format string are denoted by a positional
- number or a name. This is needed because for some languages and
- some messages with more than one substitutable argument, the
- translation will need to output the substituted arguments in
- different order. *Note c-format::.
-
- 8. If the language has more than one implementation, and not all of
- the implementations use `gettext', but the programs should be
- portable across implementations, you should provide a no-i18n
- emulation, that makes the other implementations accept programs
- written for yours, without actually translating the strings.
-
- 9. To help the programmer in the task of marking translatable strings,
- which is usually performed using the Emacs PO mode, you are
- welcome to contact the GNU `gettext' maintainers, so they can add
- support for your language to `po-mode.el'.
-
- On the implementation side, three approaches are possible, with
-different effects on portability and copyright:
-
- * You may integrate the GNU `gettext''s `intl/' directory in your
- package, as described in *Note Maintainers::. This allows you to
- have internationalization on all kinds of platforms. Note that
- when you then distribute your package, it legally falls under the
- GNU General Public License, and the GNU project will be glad about
- your contribution to the Free Software pool.
-
- * You may link against GNU `gettext' functions if they are found in
- the C library. For example, an autoconf test for `gettext()' and
- `ngettext()' will detect this situation. For the moment, this test
- will succeed on GNU systems and not on other platforms. No severe
- copyright restrictions apply.
-
- * You may emulate or reimplement the GNU `gettext' functionality.
- This has the advantage of full portability and no copyright
- restrictions, but also the drawback that you have to reimplement
- the GNU `gettext' features (such as the `LANGUAGE' environment
- variable, the locale aliases database, the automatic charset
- conversion, and plural handling).
+ A C preprocessor macro can be used to detect these two cases.
+Usually, when `libintl.h' was found and not explicitly disabled, the
+`ENABLE_NLS' macro will be defined to 1 in the autoconf generated
+configuration file (usually called `config.h'). In the two negative
+situations, however, this macro will not be defined, thus it will
+evaluate to 0 in C preprocessor expressions.
-
-File: gettext.info, Node: Programmers for other Languages, Next: Translators for other Languages, Prev: Language Implementors, Up: Programming Languages
+ `gettext.h' is a convenience header file for conditional use of
+`<libintl.h>', depending on the `ENABLE_NLS' macro. If `ENABLE_NLS' is
+set, it includes `<libintl.h>'; otherwise it defines no-op substitutes
+for the libintl.h functions. We recommend the use of `"gettext.h"' over
+direct use of `<libintl.h>', so that portability to older systems is
+guaranteed and installers can turn off internationalization if they
+want to. In the C code, you will then write
+
+ #include "gettext.h"
+
+instead of
-The Programmer's View
-=====================
+ #include <libintl.h>
- For the programmer, the general procedure is the same as for the C
-language. The Emacs PO mode supports other languages, and the GNU
-`xgettext' string extractor recognizes other languages based on the
-file extension or a command-line option. In some languages,
-`setlocale' is not needed because it is already performed by the
-underlying language runtime.
+ The location of `gettext.h' is usually in a directory containing
+auxiliary include files. In many GNU packages, there is a directory
+`lib/' containing helper functions; `gettext.h' fits there. In other
+packages, it can go into the `src' directory.
+
+ Do not install the `gettext.h' file in public locations. Every
+package that needs it should contain a copy of it on its own.

-File: gettext.info, Node: Translators for other Languages, Next: List of Programming Languages, Prev: Programmers for other Languages, Up: Programming Languages
+File: gettext.info, Node: autoconf macros, Prev: Adjusting Files, Up: Maintainers
+
+Autoconf macros for use in `configure.in'
+=========================================
-The Translator's View
-=====================
+ 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'.
+
+* Menu:
- 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.
+* AM_GNU_GETTEXT:: AM_GNU_GETTEXT in `gettext.m4'
+* AM_ICONV:: AM_ICONV in `iconv.m4'
diff --git a/doc/gettext.info-7 b/doc/gettext.info-7
index 30197ad..414eecd 100644
--- a/doc/gettext.info-7
+++ b/doc/gettext.info-7
@@ -13,8 +13,8 @@ END-INFO-DIR-ENTRY
This file provides documentation for GNU `gettext' utilities. It
also serves as a reference for the free Translation Project.
- Copyright (C) 1995, 1996, 1997, 1998, 2001 Free Software Foundation,
-Inc.
+ Copyright (C) 1995, 1996, 1997, 1998, 2001, 2002 Free Software
+Foundation, Inc.
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
@@ -31,7 +31,284 @@ versions, except that this permission notice may be stated in a
translation approved by the Foundation.

-File: gettext.info, Node: List of Programming Languages, Next: List of Data Formats, Prev: Translators for other Languages, Up: Programming Languages
+File: gettext.info, Node: AM_GNU_GETTEXT, Next: AM_ICONV, Prev: autoconf macros, Up: autoconf macros
+
+AM_GNU_GETTEXT in `gettext.m4'
+------------------------------
+
+ 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.
+
+ `AM_GNU_GETTEXT' accepts up to three optional arguments. The general
+syntax is
+
+ AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR])
+
+ INTLSYMBOL can be one of `external', `no-libtool', `use-libtool'.
+The default (if it is not specified or empty) is `no-libtool'.
+INTLSYMBOL should be `external' for packages with no `intl/' directory,
+and `no-libtool' or `use-libtool' for packages with an `intl/'
+directory. If INTLSYMBOL is `use-libtool', then a libtool library
+`$(top_builddir)/intl/libintl.la' will be created (shared and/or static,
+depending on `--{enable,disable}-{shared,static}' and on the presence
+of `AM_DISABLE_SHARED'). If INTLSYMBOL is `no-libtool', a static library
+`$(top_builddir)/intl/libintl.a' will be created.
+
+ If NEEDSYMBOL is specified and is `need-ngettext', then GNU gettext
+implementations (in libc or libintl) without the `ngettext()' function
+will be ignored.
+
+ INTLDIR is used to find the intl libraries. If empty, the value
+`$(top_builddir)/intl/' is used.
+
+ The `AM_GNU_GETTEXT' macro determines whether GNU gettext is
+available and should be used. If so, it sets the `USE_NLS' variable to
+`yes'; it defines `ENABLE_NLS' to 1 in the autoconf generated
+configuration file (usually called `config.h'); it sets the variables
+`LIBINTL' and `LTLIBINTL' to the linker options for use in a Makefile
+(`LIBINTL' for use without libtool, `LTLIBINTL' for use with libtool);
+it adds an `-I' option to `CPPFLAGS' if necessary. In the negative
+case, it sets `USE_NLS' to `no'; it sets `LIBINTL' and `LTLIBINTL' to
+empty and doesn't change `CPPFLAGS'.
+
+ The complexities that `AM_GNU_GETTEXT' deals with are the following:
+
+ * Some operating systems have `gettext' in the C library, for example
+ glibc. Some have it in a separate library `libintl'. GNU `libintl'
+ might have been installed as part of the GNU `gettext' package.
+
+ * GNU `libintl', if installed, is not necessarily already in the
+ search path (`CPPFLAGS' for the include file search path,
+ `LDFLAGS' for the library search path).
+
+ * Except for glibc, the operating system's native `gettext' cannot
+ exploit the GNU mo files, doesn't have the necessary locale
+ dependency features, and cannot convert messages from the
+ catalog's text encoding to the user's locale encoding.
+
+ * GNU `libintl', if installed, is not necessarily already in the run
+ time library search path. To avoid the need for setting an
+ environment variable like `LD_LIBRARY_PATH', the macro adds the
+ appropriate run time search path options to the `LIBINTL' and
+ `LTLIBINTL' variables. This works on most systems, but not on some
+ operating systems with limited shared library support, like SCO.
+
+ * GNU `libintl' relies on POSIX `iconv'. The macro checks for linker
+ options needed to use iconv and appends them to the `LIBINTL' and
+ `LTLIBINTL' variables.
+
+
+File: gettext.info, Node: AM_ICONV, Prev: AM_GNU_GETTEXT, Up: autoconf macros
+
+AM_ICONV in `iconv.m4'
+----------------------
+
+ The `AM_ICONV' macro tests for the presence of the POSIX `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 file
+(usually called `config.h'); it defines `ICONV_CONST' to `const' or to
+empty, depending on whether the second argument of `iconv()' is of type
+`const char **' or `char **'; it sets the variables `LIBICONV' and
+`LTLIBICONV' to the linker options for use in a Makefile (`LIBICONV'
+for use without libtool, `LTLIBICONV' for use with libtool); it adds an
+`-I' option to `CPPFLAGS' if necessary. If not found, it sets
+`LIBICONV' and `LTLIBICONV' to empty and doesn't change `CPPFLAGS'.
+
+ The complexities that `AM_ICONV' deals with are the following:
+
+ * Some operating systems have `iconv' in the C library, for example
+ glibc. Some have it in a separate library `libiconv', for example
+ OSF/1 or FreeBSD. Regardless of the operating system, GNU
+ `libiconv' might have been installed. In that case, it should be
+ used instead of the operating system's native `iconv'.
+
+ * GNU `libiconv', if installed, is not necessarily already in the
+ search path (`CPPFLAGS' for the include file search path,
+ `LDFLAGS' for the library search path).
+
+ * GNU `libiconv' is binary incompatible with some operating system's
+ native `iconv', for example on FreeBSD. Use of an `iconv.h' and
+ `libiconv.so' that don't fit together would produce program
+ crashes.
+
+ * GNU `libiconv', if installed, is not necessarily already in the
+ run time library search path. To avoid the need for setting an
+ environment variable like `LD_LIBRARY_PATH', the macro adds the
+ appropriate run time search path options to the `LIBICONV'
+ variable. This works on most systems, but not on some operating
+ systems with limited shared library support, like SCO.
+
+ `iconv.m4' is distributed with the GNU gettext package because
+`gettext.m4' relies on it.
+
+
+File: gettext.info, Node: Programming Languages, Next: Conclusion, Prev: Maintainers, Up: Top
+
+Other Programming Languages
+***************************
+
+ While the presentation of `gettext' focuses mostly on C and
+implicitly applies to C++ as well, its scope is far broader than that:
+Many programming languages, scripting languages and other textual data
+like GUI resources or package descriptions can make use of the gettext
+approach.
+
+* Menu:
+
+* Language Implementors:: The Language Implementor's View
+* Programmers for other Languages:: The Programmer's View
+* Translators for other Languages:: The Translator's View
+* Maintainers for other Languages:: The Maintainer's View
+* List of Programming Languages:: Individual Programming Languages
+* List of Data Formats:: Internationalizable Data
+
+
+File: gettext.info, Node: Language Implementors, Next: Programmers for other Languages, Prev: Programming Languages, Up: Programming Languages
+
+The Language Implementor's View
+===============================
+
+ All programming and scripting languages that have the notion of
+strings are eligible to supporting `gettext'. Supporting `gettext'
+means the following:
+
+ 1. You should add to the language a syntax for translatable strings.
+ In principle, a function call of `gettext' would do, but a
+ shorthand syntax helps keeping the legibility of internationalized
+ programs. For example, in C we use the syntax `_("string")', in
+ bash we use the syntax `$"string"', and in GNU awk we use the
+ shorthand `_"string"'.
+
+ 2. You should arrange that evaluation of such a translatable string at
+ runtime calls the `gettext' function, or performs equivalent
+ processing.
+
+ 3. Similarly, you should make the functions `ngettext', `dcgettext',
+ `dcngettext' available from within the language. These functions
+ are less often used, but are nevertheless necessary for particular
+ purposes: `ngettext' for correct plural handling, and `dcgettext'
+ and `dcngettext' for obeying other locale environment variables
+ than `LC_MESSAGES', such as `LC_TIME' or `LC_MONETARY'. For these
+ latter functions, you need to make the `LC_*' constants, available
+ in the C header `<locale.h>', referenceable from within the
+ language, usually either as enumeration values or as strings.
+
+ 4. You should allow the programmer to designate a message domain,
+ either by making the `textdomain' function available from within
+ the language, or by introducing a magic variable called
+ `TEXTDOMAIN'. Similarly, you should allow the programmer to
+ designate where to search for message catalogs, by providing
+ access to the `bindtextdomain' function.
+
+ 5. You should either perform a `setlocale (LC_ALL, "")' call during
+ the startup of your language runtime, or allow the programmer to
+ do so. Remember that gettext will act as a no-op if the
+ `LC_MESSAGES' and `LC_CTYPE' locale facets are not both set.
+
+ 6. A programmer should have a way to extract translatable strings
+ from a program into a PO file. The GNU `xgettext' program is being
+ extended to support very different programming languages. Please
+ contact the GNU `gettext' maintainers to help them doing this. If
+ the string extractor is best integrated into your language's
+ parser, GNU `xgettext' can function as a front end to your string
+ extractor.
+
+ 7. The language's library should have a string formatting facility
+ where the arguments of a format string are denoted by a positional
+ number or a name. This is needed because for some languages and
+ some messages with more than one substitutable argument, the
+ translation will need to output the substituted arguments in
+ different order. *Note c-format::.
+
+ 8. If the language has more than one implementation, and not all of
+ the implementations use `gettext', but the programs should be
+ portable across implementations, you should provide a no-i18n
+ emulation, that makes the other implementations accept programs
+ written for yours, without actually translating the strings.
+
+ 9. To help the programmer in the task of marking translatable strings,
+ which is usually performed using the Emacs PO mode, you are
+ welcome to contact the GNU `gettext' maintainers, so they can add
+ support for your language to `po-mode.el'.
+
+ On the implementation side, three approaches are possible, with
+different effects on portability and copyright:
+
+ * You may integrate the GNU `gettext''s `intl/' directory in your
+ package, as described in *Note Maintainers::. This allows you to
+ have internationalization on all kinds of platforms. Note that
+ when you then distribute your package, it legally falls under the
+ GNU General Public License, and the GNU project will be glad about
+ your contribution to the Free Software pool.
+
+ * You may link against GNU `gettext' functions if they are found in
+ the C library. For example, an autoconf test for `gettext()' and
+ `ngettext()' will detect this situation. For the moment, this test
+ will succeed on GNU systems and not on other platforms. No severe
+ copyright restrictions apply.
+
+ * You may emulate or reimplement the GNU `gettext' functionality.
+ This has the advantage of full portability and no copyright
+ restrictions, but also the drawback that you have to reimplement
+ the GNU `gettext' features (such as the `LANGUAGE' environment
+ variable, the locale aliases database, the automatic charset
+ conversion, and plural handling).
+
+
+File: gettext.info, Node: Programmers for other Languages, Next: Translators for other Languages, Prev: Language Implementors, Up: Programming Languages
+
+The Programmer's View
+=====================
+
+ For the programmer, the general procedure is the same as for the C
+language. The Emacs PO mode supports other languages, and the GNU
+`xgettext' string extractor recognizes other languages based on the
+file extension or a command-line option. In some languages,
+`setlocale' is not needed because it is already performed by the
+underlying language runtime.
+
+
+File: gettext.info, Node: Translators for other Languages, Next: Maintainers for other Languages, Prev: Programmers for other Languages, Up: Programming Languages
+
+The Translator's View
+=====================
+
+ The translator works exactly as in the C language case. The only
+difference is that when translating format strings, she has to be aware
+of the language's particular syntax for positional arguments in format
+strings.
+
+
+File: gettext.info, Node: Maintainers for other Languages, Next: List of Programming Languages, Prev: Translators for other Languages, Up: Programming Languages
+
+The Maintainer's View
+=====================
+
+ 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/'
+ directory is not needed and can be omitted. This means that the
+ maintainer calls the `gettextize' program without the `--intl'
+ option, and that he invokes the `AM_GNU_GETTEXT' autoconf macro via
+ `AM_GNU_GETTEXT([external])'.
+
+ * If only a single programming language is used, the
+ `XGETTEXT_OPTIONS' variable in `po/Makevars' (*note po/Makevars::)
+ should be adjusted to match the `xgettext' options for that
+ particular programming language. If the package uses more than
+ one programming language with `gettext' support, it becomes
+ necessary to change the POT file construction rule in
+ `po/Makefile.in.in'. It is recommended to make one `xgettext'
+ invocation per programming language, each with the options
+ appropriate for that language, and to combine the resulting files
+ using `msgcat'.
+
+
+File: gettext.info, Node: List of Programming Languages, Next: List of Data Formats, Prev: Maintainers for other Languages, Up: Programming Languages
Individual Programming Languages
================================
@@ -295,7 +572,7 @@ Use or emulate GNU gettext
use
Extractor
- `clisp-xgettext'
+ `xgettext -k_ -kENGLISH'
Formatting with positions
`format "~1@*~D ~0@*~D"'
@@ -393,7 +670,7 @@ Use or emulate GNU gettext
use
Extractor
- xpot
+ `xgettext'
Formatting with positions
`format "%2$d %1$d"'
@@ -411,7 +688,7 @@ librep
------
RPMs
- librep
+ librep 0.15.3 or newer
File extension
`jl'
@@ -441,7 +718,7 @@ Use or emulate GNU gettext
use
Extractor
- `rep-xgettext'
+ `xgettext'
Formatting with positions
`format "%2$d %1$d"'
diff --git a/doc/gettext_1.html b/doc/gettext_1.html
index f9f0bf7..b5365db 100644
--- a/doc/gettext_1.html
+++ b/doc/gettext_1.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52a
- from gettext.texi on 30 November 2001 -->
+ from gettext.texi on 31 January 2002 -->
<TITLE>GNU gettext utilities - 1 Introduction</TITLE>
</HEAD>
@@ -168,7 +168,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_10.html#SEC135">10 The Programmer's View</A>.
+GNU <CODE>gettext</CODE> offers one of these standards. See section <A HREF="gettext_10.html#SEC138">10 The Programmer's View</A>.
</P>
<P>
@@ -414,9 +414,9 @@ the GNU format.
<P>
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 a somewhat detailed explanations, which you should
+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 would surely help programmers, translators
+of these interrelations will surely help programmers, translators
and maintainers.
</P>
@@ -479,7 +479,7 @@ or in a central header file:
<PRE>
#define _(String) (String)
-#define N_(String) (String)
+#define N_(String) String
#define textdomain(Domain)
#define bindtextdomain(Package, Directory)
</PRE>
@@ -494,7 +494,7 @@ simply replace these definitions by the following:
<PRE>
#include &#60;libintl.h&#62;
#define _(String) gettext (String)
-#define gettext_noop(String) (String)
+#define gettext_noop(String) String
#define N_(String) gettext_noop (String)
</PRE>
@@ -516,7 +516,7 @@ a Template PO file, not yet oriented towards any particular language.
See section <A HREF="gettext_4.html#SEC20">4.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_12.html#SEC166">12 The Maintainer's View</A>). By doing so, you
+whole distribution setup (see section <A HREF="gettext_12.html#SEC169">12 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!
@@ -533,7 +533,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_11.html#SEC155">11 The Translator's View</A>). You will also find there indications
+manual (see section <A HREF="gettext_11.html#SEC158">11 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.
@@ -570,7 +570,7 @@ of adding new strings, or modifying strings already translated.
They just do their job the best they can. For the Translation
Project to work smoothly, it is important that maintainers do not
carry translation concerns on their already loaded shoulders, and that
-translators be kept as free as possible of programmatic concerns.
+translators be kept as free as possible of programming concerns.
</P>
<P>
@@ -619,8 +619,8 @@ People resisting it will have a hard time participating in the
Translation Project, or will give a hard time to other participants! In
particular, maintainers should relax and include all available official
PO files in their distributions, even if these have not recently been
-updated, without banging or otherwise trying to exert pressure on the
-translator teams to get the job done. The pressure should rather come
+updated, without exerting pressure on the translator teams to get the
+job done. The pressure should rather come
from the community of users speaking a particular language, and
maintainers should consider themselves fairly relieved of any concern
about the adequacy of translation files. On the other hand, translators
@@ -633,7 +633,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_8.html#SEC130">8.3 The Format of GNU MO Files</A>). See section <A HREF="gettext_8.html#SEC115">8.1 Invoking the <CODE>msgfmt</CODE> Program</A>, for more information about all modalities of execution
+package, whenever needed at runtime (see section <A HREF="gettext_8.html#SEC133">8.3 The Format of GNU MO Files</A>). See section <A HREF="gettext_8.html#SEC118">8.1 Invoking the <CODE>msgfmt</CODE> Program</A>, for more information about all modes of execution
for the <CODE>msgfmt</CODE> program.
</P>
@@ -643,7 +643,7 @@ with the GNU <CODE>gettext</CODE> library, usually through the operation of
<CODE>make</CODE>, given a suitable <TT>`Makefile&acute;</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_9.html#SEC134">9.3 Magic for End Users</A>), the
+appropriate environment variables are set (see section <A HREF="gettext_9.html#SEC137">9.3 Magic for End Users</A>), the
program should localize itself automatically, whenever it executes.
</P>
diff --git a/doc/gettext_10.html b/doc/gettext_10.html
index 056a8d9..81861b6 100644
--- a/doc/gettext_10.html
+++ b/doc/gettext_10.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52a
- from gettext.texi on 30 November 2001 -->
+ from gettext.texi on 31 January 2002 -->
<TITLE>GNU gettext utilities - 10 The Programmer's View</TITLE>
</HEAD>
@@ -10,11 +10,11 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_9.html">previous<
<P><HR><P>
-<H1><A NAME="SEC135" HREF="gettext_toc.html#TOC135">10 The Programmer's View</A></H1>
+<H1><A NAME="SEC138" HREF="gettext_toc.html#TOC138">10 The Programmer's View</A></H1>
<P>
One aim of the current message catalog implementation provided by
-GNU <CODE>gettext</CODE> was to use the systems message catalog handling, if the
+GNU <CODE>gettext</CODE> 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
@@ -28,7 +28,7 @@ later explain our solution of this dilemma.
-<H2><A NAME="SEC136" HREF="gettext_toc.html#TOC136">10.1 About <CODE>catgets</CODE></A></H2>
+<H2><A NAME="SEC139" HREF="gettext_toc.html#TOC139">10.1 About <CODE>catgets</CODE></A></H2>
<P>
The <CODE>catgets</CODE> implementation is defined in the X/Open Portability
@@ -44,7 +44,7 @@ does not guarantee a unique interface.
Another, personal comment on this that only a bunch of committee members
could have made this interface. They never really tried to program
using this interface. It is a fast, memory-saving implementation, an
-user can happily live with it. But programmers hate it (at least me and
+user can happily live with it. But programmers hate it (at least I and
some others do...)
</P>
@@ -60,7 +60,7 @@ therefore part of all Unix implementation (implementations, which are
-<H3><A NAME="SEC137" HREF="gettext_toc.html#TOC137">10.1.1 The Interface</A></H3>
+<H3><A NAME="SEC140" HREF="gettext_toc.html#TOC140">10.1.1 The Interface</A></H3>
<P>
The interface to the <CODE>catgets</CODE> implementation consists of three
@@ -135,7 +135,7 @@ After this no <CODE>catgets</CODE> call using the descriptor is legal anymore.
</P>
-<H3><A NAME="SEC138" HREF="gettext_toc.html#TOC138">10.1.2 Problems with the <CODE>catgets</CODE> Interface?!</A></H3>
+<H3><A NAME="SEC141" HREF="gettext_toc.html#TOC141">10.1.2 Problems with the <CODE>catgets</CODE> Interface?!</A></H3>
<P>
Now that this description seemed to be really easy -- where are the
@@ -153,7 +153,7 @@ more easy to manage.
</P>
-<H2><A NAME="SEC139" HREF="gettext_toc.html#TOC139">10.2 About <CODE>gettext</CODE></A></H2>
+<H2><A NAME="SEC142" HREF="gettext_toc.html#TOC142">10.2 About <CODE>gettext</CODE></A></H2>
<P>
The definition of the <CODE>gettext</CODE> interface comes from a Uniforum
@@ -166,8 +166,8 @@ standard, though.
The main points 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 so many task, especially the unique key handling.
-Of course here is also a unique key needed, but this key is the message
-itself (how long or short it is). See section <A HREF="gettext_10.html#SEC147">10.3 Comparing the Two Interfaces</A> for a more
+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_10.html#SEC150">10.3 Comparing the Two Interfaces</A> for a more
detailed comparison of the two methods.
</P>
@@ -181,7 +181,7 @@ in using this library will be interested in this description.
-<H3><A NAME="SEC140" HREF="gettext_toc.html#TOC140">10.2.1 The Interface</A></H3>
+<H3><A NAME="SEC143" HREF="gettext_toc.html#TOC143">10.2.1 The Interface</A></H3>
<P>
The minimal functionality an interface must have is a) to select a
@@ -206,7 +206,7 @@ This provides the possibility to change or query the current status of
the current global domain of the <CODE>LC_MESSAGE</CODE> category. The
argument is a null-terminated string, whose characters must be legal in
the use in filenames. If the <VAR>domain_name</VAR> argument is <CODE>NULL</CODE>,
-the function return the current value. If no value has been set
+the function returns the current value. If no value has been set
before, the name of the default domain is returned: <EM>messages</EM>.
Please note that although the return value of <CODE>textdomain</CODE> is of
type <CODE>char *</CODE> no changing is allowed. It is also important to know
@@ -249,7 +249,7 @@ your language.
</P>
-<H3><A NAME="SEC141" HREF="gettext_toc.html#TOC141">10.2.2 Solving Ambiguities</A></H3>
+<H3><A NAME="SEC144" HREF="gettext_toc.html#TOC144">10.2.2 Solving Ambiguities</A></H3>
<P>
While this single name domain works well for most applications there
@@ -322,7 +322,7 @@ unreliabilities.
</P>
-<H3><A NAME="SEC142" HREF="gettext_toc.html#TOC142">10.2.3 Locating Message Catalog Files</A></H3>
+<H3><A NAME="SEC145" HREF="gettext_toc.html#TOC145">10.2.3 Locating Message Catalog Files</A></H3>
<P>
Because many different languages for many different packages have to be
@@ -359,7 +359,7 @@ The value of the locale is determined through
</P>
-<H3><A NAME="SEC143" HREF="gettext_toc.html#TOC143">10.2.4 How to specify the output character set <CODE>gettext</CODE> uses</A></H3>
+<H3><A NAME="SEC146" HREF="gettext_toc.html#TOC146">10.2.4 How to specify the output character set <CODE>gettext</CODE> uses</A></H3>
<P>
<CODE>gettext</CODE> not only looks up a translation in a message catalog. It
@@ -422,7 +422,7 @@ global variable <VAR>errno</VAR> is set accordingly.
</P>
-<H3><A NAME="SEC144" HREF="gettext_toc.html#TOC144">10.2.5 Additional functions for plural forms</A></H3>
+<H3><A NAME="SEC147" HREF="gettext_toc.html#TOC147">10.2.5 Additional functions for plural forms</A></H3>
<P>
The functions of the <CODE>gettext</CODE> family described so far (and all the
@@ -839,7 +839,7 @@ Slovenian
-<H3><A NAME="SEC145" HREF="gettext_toc.html#TOC145">10.2.6 How to use <CODE>gettext</CODE> in GUI programs</A></H3>
+<H3><A NAME="SEC148" HREF="gettext_toc.html#TOC148">10.2.6 How to use <CODE>gettext</CODE> in GUI programs</A></H3>
<P>
One place where the <CODE>gettext</CODE> functions, if used normally, have big
@@ -990,7 +990,7 @@ quite some memory and disk space by doing this.
</P>
-<H3><A NAME="SEC146" HREF="gettext_toc.html#TOC146">10.2.7 Optimization of the *gettext functions</A></H3>
+<H3><A NAME="SEC149" HREF="gettext_toc.html#TOC149">10.2.7 Optimization of the *gettext functions</A></H3>
<P>
At this point of the discussion we should talk about an advantage of the
@@ -1042,7 +1042,7 @@ find the result through a single cache lookup.
</P>
-<H2><A NAME="SEC147" HREF="gettext_toc.html#TOC147">10.3 Comparing the Two Interfaces</A></H2>
+<H2><A NAME="SEC150" HREF="gettext_toc.html#TOC150">10.3 Comparing the Two Interfaces</A></H2>
<P>
The following discussion is perhaps a little bit colored. As said
@@ -1110,7 +1110,7 @@ no-op macro. So you should consider the following code for your project:
</P>
<PRE>
-#define gettext_noop(String) (String)
+#define gettext_noop(String) String
#define N_(String) gettext_noop (String)
</PRE>
@@ -1181,12 +1181,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_10.html#SEC141">10.2.2 Solving Ambiguities</A>.
+of this kind: See section <A HREF="gettext_10.html#SEC144">10.2.2 Solving Ambiguities</A>.
</P>
-<H2><A NAME="SEC148" HREF="gettext_toc.html#TOC148">10.4 Using libintl.a in own programs</A></H2>
+<H2><A NAME="SEC151" HREF="gettext_toc.html#TOC151">10.4 Using libintl.a in own programs</A></H2>
<P>
Starting with version 0.9.4 the library <CODE>libintl.h</CODE> should be
@@ -1195,17 +1195,9 @@ providing additional functions. The <TT>`Makefile&acute;</TT> will put the head
and the library in directories selected using the <CODE>$(prefix)</CODE>.
</P>
-<P>
-One exception of the above is found on HP-UX 10.01 systems. Here the C
-library does not contain the <CODE>alloca</CODE> function (and the HP compiler
-does not generate it inlined). But it is not intended to rewrite the whole
-library just because of this dumb system. Instead include the
-<CODE>alloca</CODE> function in all package you use the <CODE>libintl.a</CODE> in.
-
-</P>
-<H2><A NAME="SEC149" HREF="gettext_toc.html#TOC149">10.5 Being a <CODE>gettext</CODE> grok</A></H2>
+<H2><A NAME="SEC152" HREF="gettext_toc.html#TOC152">10.5 Being a <CODE>gettext</CODE> grok</A></H2>
<P>
To fully exploit the functionality of the GNU <CODE>gettext</CODE> library it
@@ -1254,7 +1246,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_10.html#SEC146">10.2.7 Optimization of the *gettext functions</A>). A
+<CODE>LANGUAGE</CODE> variable be changed (see section <A HREF="gettext_10.html#SEC149">10.2.7 Optimization of the *gettext functions</A>). A
solution for this is very easy. Include the following code in the
language switching function.
@@ -1280,11 +1272,11 @@ these little Unix tools) should never need this.
-<H2><A NAME="SEC150" HREF="gettext_toc.html#TOC150">10.6 Temporary Notes for the Programmers Chapter</A></H2>
+<H2><A NAME="SEC153" HREF="gettext_toc.html#TOC153">10.6 Temporary Notes for the Programmers Chapter</A></H2>
-<H3><A NAME="SEC151" HREF="gettext_toc.html#TOC151">10.6.1 Temporary - Two Possible Implementations</A></H3>
+<H3><A NAME="SEC154" HREF="gettext_toc.html#TOC154">10.6.1 Temporary - Two Possible Implementations</A></H3>
<P>
There are two competing methods for language independent messages:
@@ -1316,7 +1308,7 @@ see the Programming for Internationalization FAQ.
</P>
-<H3><A NAME="SEC152" HREF="gettext_toc.html#TOC152">10.6.2 Temporary - About <CODE>catgets</CODE></A></H3>
+<H3><A NAME="SEC155" HREF="gettext_toc.html#TOC155">10.6.2 Temporary - About <CODE>catgets</CODE></A></H3>
<P>
There have been a few discussions of late on the use of
@@ -1361,7 +1353,7 @@ of all Unix systems.
</P>
-<H3><A NAME="SEC153" HREF="gettext_toc.html#TOC153">10.6.3 Temporary - Why a single implementation</A></H3>
+<H3><A NAME="SEC156" HREF="gettext_toc.html#TOC156">10.6.3 Temporary - Why a single implementation</A></H3>
<P>
Now it seems kind of wasteful to me to have two different systems
@@ -1406,7 +1398,7 @@ the future.
</P>
-<H3><A NAME="SEC154" HREF="gettext_toc.html#TOC154">10.6.4 Temporary - Notes</A></H3>
+<H3><A NAME="SEC157" HREF="gettext_toc.html#TOC157">10.6.4 Temporary - Notes</A></H3>
<P>
X/Open agreed very late on the standard form so that many
diff --git a/doc/gettext_11.html b/doc/gettext_11.html
index a70c65a..e709244 100644
--- a/doc/gettext_11.html
+++ b/doc/gettext_11.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52a
- from gettext.texi on 30 November 2001 -->
+ from gettext.texi on 31 January 2002 -->
<TITLE>GNU gettext utilities - 11 The Translator's View</TITLE>
</HEAD>
@@ -10,11 +10,11 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_10.html">previous
<P><HR><P>
-<H1><A NAME="SEC155" HREF="gettext_toc.html#TOC155">11 The Translator's View</A></H1>
+<H1><A NAME="SEC158" HREF="gettext_toc.html#TOC158">11 The Translator's View</A></H1>
-<H2><A NAME="SEC156" HREF="gettext_toc.html#TOC156">11.1 Introduction 0</A></H2>
+<H2><A NAME="SEC159" HREF="gettext_toc.html#TOC159">11.1 Introduction 0</A></H2>
<P>
Free software is going international! The Translation Project is a way
@@ -92,7 +92,7 @@ you can work on.
</P>
-<H2><A NAME="SEC157" HREF="gettext_toc.html#TOC157">11.2 Introduction 1</A></H2>
+<H2><A NAME="SEC160" HREF="gettext_toc.html#TOC160">11.2 Introduction 1</A></H2>
<P>
This is now official, GNU is going international! Here is the
@@ -142,7 +142,7 @@ document, please e-mail to <TT>`translation@iro.umontreal.ca&acute;</TT>.
</P>
-<H2><A NAME="SEC158" HREF="gettext_toc.html#TOC158">11.3 Discussions</A></H2>
+<H2><A NAME="SEC161" HREF="gettext_toc.html#TOC161">11.3 Discussions</A></H2>
<P>
Facing this internationalization effort, a few users expressed their
@@ -219,7 +219,7 @@ software.
-<H2><A NAME="SEC159" HREF="gettext_toc.html#TOC159">11.4 Organization</A></H2>
+<H2><A NAME="SEC162" HREF="gettext_toc.html#TOC162">11.4 Organization</A></H2>
<P>
On a larger scale, the true solution would be to organize some kind of
@@ -263,7 +263,7 @@ reaches the Translation Project coordinator.
-<H3><A NAME="SEC160" HREF="gettext_toc.html#TOC160">11.4.1 Central Coordination</A></H3>
+<H3><A NAME="SEC163" HREF="gettext_toc.html#TOC163">11.4.1 Central Coordination</A></H3>
<P>
I also think GNU will need sooner than it thinks, that someone setup
@@ -288,7 +288,7 @@ overwhelming task, the time to put delegations in place.
</P>
-<H3><A NAME="SEC161" HREF="gettext_toc.html#TOC161">11.4.2 National Teams</A></H3>
+<H3><A NAME="SEC164" HREF="gettext_toc.html#TOC164">11.4.2 National Teams</A></H3>
<P>
I suggest we look for volunteer coordinators/editors for individual
@@ -351,7 +351,7 @@ consistent.
-<H4><A NAME="SEC162" HREF="gettext_toc.html#TOC162">11.4.2.1 Sub-Cultures</A></H4>
+<H4><A NAME="SEC165" HREF="gettext_toc.html#TOC165">11.4.2.1 Sub-Cultures</A></H4>
<P>
Taking French for example, there are a few sub-cultures around computers
@@ -373,7 +373,7 @@ means soon!
</P>
-<H4><A NAME="SEC163" HREF="gettext_toc.html#TOC163">11.4.2.2 Organizational Ideas</A></H4>
+<H4><A NAME="SEC166" HREF="gettext_toc.html#TOC166">11.4.2.2 Organizational Ideas</A></H4>
<P>
I expect the next big changes after the official release. Please note
@@ -410,7 +410,7 @@ this also seems to work).
-<H3><A NAME="SEC164" HREF="gettext_toc.html#TOC164">11.4.3 Mailing Lists</A></H3>
+<H3><A NAME="SEC167" HREF="gettext_toc.html#TOC167">11.4.3 Mailing Lists</A></H3>
<P>
If we get any inquiries about GNU <CODE>gettext</CODE>, send them on to:
@@ -464,7 +464,7 @@ subscribe as they see fit, as long as each team is represented in it.
</P>
-<H2><A NAME="SEC165" HREF="gettext_toc.html#TOC165">11.5 Information Flow</A></H2>
+<H2><A NAME="SEC168" HREF="gettext_toc.html#TOC168">11.5 Information Flow</A></H2>
<P>
There will surely be some discussion about this messages after the
diff --git a/doc/gettext_12.html b/doc/gettext_12.html
index 79e900b..e90d4cd 100644
--- a/doc/gettext_12.html
+++ b/doc/gettext_12.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52a
- from gettext.texi on 30 November 2001 -->
+ from gettext.texi on 31 January 2002 -->
<TITLE>GNU gettext utilities - 12 The Maintainer's View</TITLE>
</HEAD>
@@ -10,12 +10,12 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_11.html">previous
<P><HR><P>
-<H1><A NAME="SEC166" HREF="gettext_toc.html#TOC166">12 The Maintainer's View</A></H1>
+<H1><A NAME="SEC169" HREF="gettext_toc.html#TOC169">12 The Maintainer's View</A></H1>
<P>
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 (see section <A HREF="gettext_9.html#SEC131">9 The User's View</A>) will work
+and that the magic we described earlier (see section <A HREF="gettext_9.html#SEC134">9 The User's View</A>) will work
for installers and end users.
</P>
@@ -49,7 +49,7 @@ for changes.
-<H2><A NAME="SEC167" HREF="gettext_toc.html#TOC167">12.1 Flat or Non-Flat Directory Structures</A></H2>
+<H2><A NAME="SEC170" HREF="gettext_toc.html#TOC170">12.1 Flat or Non-Flat Directory Structures</A></H2>
<P>
Some free software packages are distributed as <CODE>tar</CODE> files which unpack
@@ -82,7 +82,7 @@ use this as an opportunity to unflatten their package structure.
</P>
-<H2><A NAME="SEC168" HREF="gettext_toc.html#TOC168">12.2 Prerequisite Works</A></H2>
+<H2><A NAME="SEC171" HREF="gettext_toc.html#TOC171">12.2 Prerequisite Works</A></H2>
<P>
There are some works which are required for using GNU <CODE>gettext</CODE>
@@ -150,7 +150,7 @@ to authentify the origin of the submission as being the representative
of the appropriate translating teams of the Translation Project (forward
the submission to <TT>`translation@iro.umontreal.ca&acute;</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 to put these
+prevent successful installation, and for the rest, to merely put these
PO files in <TT>`po/&acute;</TT> for distribution.
</P>
@@ -170,7 +170,7 @@ their team. The simplest might be to send them the <TT>`ABOUT-NLS&acute;</TT> f
Maintainers should <EM>never ever</EM> apply PO file bug reports
themselves, short-cutting translation teams. If some translator has
difficulty to get some of her points through her team, it should not be
-an issue for her to directly negotiate translations with maintainers.
+an option for her to directly negotiate translations with maintainers.
Teams ought to settle their problems themselves, if any. If you, as
a maintainer, ever think there is a real problem with a team, please
never try to <EM>solve</EM> a team's problem on your own.
@@ -178,7 +178,7 @@ never try to <EM>solve</EM> a team's problem on your own.
</P>
-<H2><A NAME="SEC169" HREF="gettext_toc.html#TOC169">12.3 Invoking the <CODE>gettextize</CODE> Program</A></H2>
+<H2><A NAME="SEC172" HREF="gettext_toc.html#TOC172">12.3 Invoking the <CODE>gettextize</CODE> Program</A></H2>
<P>
Some files are consistently and identically needed in every package
@@ -223,8 +223,12 @@ the call to <CODE>AM_GNU_GETTEXT</CODE> in <TT>`configure.in&acute;</TT> should
<SAMP>`AM_GNU_GETTEXT([external])&acute;</SAMP>, and internationalization will not
be enabled on systems lacking GNU gettext.
-<DT><SAMP>`-h&acute;</SAMP>
+<DT><SAMP>`--no-changelog&acute;</SAMP>
<DD>
+Don't update or create ChangeLog files. By default, <CODE>gettextize</CODE>
+logs all changes (file additions, modifications ans removals) in a
+file called <SAMP>`ChangeLog&acute;</SAMP> in each affected directory.
+
<DT><SAMP>`--help&acute;</SAMP>
<DD>
Display this help and exit.
@@ -279,6 +283,12 @@ originally in the <TT>`intl/&acute;</TT> directory of the GNU <CODE>gettext</COD
distribution. Also, if option <CODE>--force</CODE> (<CODE>-f</CODE>) is given,
the <TT>`intl/&acute;</TT> directory is emptied first.
+<LI>
+
+The <TT>`config.rpath&acute;</TT> file is copied into the directory containing
+configuration support files. It is needed by the <CODE>AM_GNU_GETTEXT</CODE>
+autoconf macro.
+
</OL>
<P>
@@ -306,7 +316,7 @@ it can be identical in all packages.
</P>
-<H2><A NAME="SEC170" HREF="gettext_toc.html#TOC170">12.4 Files You Must Create or Alter</A></H2>
+<H2><A NAME="SEC173" HREF="gettext_toc.html#TOC173">12.4 Files You Must Create or Alter</A></H2>
<P>
Besides files which are automatically added through <CODE>gettextize</CODE>,
@@ -320,16 +330,18 @@ 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.11-pre2 distribution itself. You may indeed
-refer to the source code of the GNU <CODE>gettext</CODE> package, as it
-is intended to be a good example and master implementation for using
-its own functionality.
+<CODE>gettext</CODE> 0.11 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>
+packages, as they are intended to be good examples for using GNU
+gettext functionality.
</P>
-<H3><A NAME="SEC171" HREF="gettext_toc.html#TOC171">12.4.1 <TT>`POTFILES.in&acute;</TT> in <TT>`po/&acute;</TT></A></H3>
+<H3><A NAME="SEC174" HREF="gettext_toc.html#TOC174">12.4.1 <TT>`POTFILES.in&acute;</TT> in <TT>`po/&acute;</TT></A></H3>
<P>
The <TT>`po/&acute;</TT> directory should receive a file named
@@ -364,7 +376,7 @@ of your whole distribution, rather than the location of the
</P>
-<H3><A NAME="SEC172" HREF="gettext_toc.html#TOC172">12.4.2 <TT>`LINGUAS&acute;</TT> in <TT>`po/&acute;</TT></A></H3>
+<H3><A NAME="SEC175" HREF="gettext_toc.html#TOC175">12.4.2 <TT>`LINGUAS&acute;</TT> in <TT>`po/&acute;</TT></A></H3>
<P>
The <TT>`po/&acute;</TT> directory should also receive a file named
@@ -385,12 +397,12 @@ 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>`LINGUAS&acute;</TT> file,
but rather by using the <CODE>LINGUAS</CODE> environment variable
-(see section <A HREF="gettext_9.html#SEC133">9.2 Magic for Installers</A>).
+(see section <A HREF="gettext_9.html#SEC136">9.2 Magic for Installers</A>).
</P>
-<H3><A NAME="SEC173" HREF="gettext_toc.html#TOC173">12.4.3 <TT>`Makefile&acute;</TT> pieces in <TT>`po/&acute;</TT></A></H3>
+<H3><A NAME="SEC176" HREF="gettext_toc.html#TOC176">12.4.3 <TT>`Makefile&acute;</TT> pieces in <TT>`po/&acute;</TT></A></H3>
<P>
The <TT>`po/&acute;</TT> directory also has a file named <TT>`Makevars&acute;</TT>.
@@ -426,7 +438,7 @@ GUI programs. To enable it, similarly add <CODE>en@boldquot</CODE> to the
</P>
-<H3><A NAME="SEC174" HREF="gettext_toc.html#TOC174">12.4.4 <TT>`configure.in&acute;</TT> at top level</A></H3>
+<H3><A NAME="SEC177" HREF="gettext_toc.html#TOC177">12.4.4 <TT>`configure.in&acute;</TT> at top level</A></H3>
<P>
<TT>`configure.in&acute;</TT> or <TT>`configure.ac&acute;</TT> - this is the source from which
@@ -442,7 +454,7 @@ This is done by a set of lines like these:
<PRE>
PACKAGE=gettext
-VERSION=0.11-pre2
+VERSION=0.11
AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
AC_SUBST(PACKAGE)
@@ -450,9 +462,9 @@ AC_SUBST(VERSION)
</PRE>
Of course, you replace <SAMP>`gettext&acute;</SAMP> with the name of your package,
-and <SAMP>`0.11-pre2&acute;</SAMP> by its version numbers, exactly as they
+and <SAMP>`0.11&acute;</SAMP> by its version numbers, exactly as they
should appear in the packaged <CODE>tar</CODE> file name of your distribution
-(<TT>`gettext-0.11-pre2.tar.gz&acute;</TT>, here).
+(<TT>`gettext-0.11.tar.gz&acute;</TT>, here).
<LI>Check for internationalization support.
@@ -499,7 +511,7 @@ add <CODE>intl/Makefile</CODE> to the <CODE>AC_OUTPUT</CODE> line.
-<H3><A NAME="SEC175" HREF="gettext_toc.html#TOC175">12.4.5 <TT>`config.guess&acute;</TT>, <TT>`config.sub&acute;</TT> at top level</A></H3>
+<H3><A NAME="SEC178" HREF="gettext_toc.html#TOC178">12.4.5 <TT>`config.guess&acute;</TT>, <TT>`config.sub&acute;</TT> at top level</A></H3>
<P>
If you don't have suppressed the <TT>`intl/&acute;</TT> subdirectory,
@@ -533,13 +545,14 @@ AC_CONFIG_AUX_DIR([<VAR>subdir</VAR>])
-<H3><A NAME="SEC176" HREF="gettext_toc.html#TOC176">12.4.6 <TT>`aclocal.m4&acute;</TT> at top level</A></H3>
+<H3><A NAME="SEC179" HREF="gettext_toc.html#TOC179">12.4.6 <TT>`aclocal.m4&acute;</TT> at top level</A></H3>
<P>
If you do not have an <TT>`aclocal.m4&acute;</TT> file in your distribution,
the simplest is to concatenate the files <TT>`codeset.m4&acute;</TT>,
<TT>`gettext.m4&acute;</TT>, <TT>`glibc21.m4&acute;</TT>, <TT>`iconv.m4&acute;</TT>, <TT>`isc-posix.m4&acute;</TT>,
-<TT>`lcmessage.m4&acute;</TT>, <TT>`progtest.m4&acute;</TT> from GNU <CODE>gettext</CODE>'s
+<TT>`lcmessage.m4&acute;</TT>, <TT>`lib-ld.m4&acute;</TT>, <TT>`lib-link.m4&acute;</TT>,
+<TT>`lib-prefix.m4&acute;</TT>, <TT>`progtest.m4&acute;</TT> from GNU <CODE>gettext</CODE>'s
<TT>`m4/&acute;</TT> directory into a single file. If you have suppressed the
<TT>`intl/&acute;</TT> directory, only <TT>`gettext.m4&acute;</TT>, <TT>`iconv.m4&acute;</TT>,
<TT>`progtest.m4&acute;</TT> need to be concatenated.
@@ -566,7 +579,7 @@ piece of <CODE>m4</CODE> code will be the same for all projects using GNU
</P>
-<H3><A NAME="SEC177" HREF="gettext_toc.html#TOC177">12.4.7 <TT>`acconfig.h&acute;</TT> at top level</A></H3>
+<H3><A NAME="SEC180" HREF="gettext_toc.html#TOC180">12.4.7 <TT>`acconfig.h&acute;</TT> at top level</A></H3>
<P>
Earlier GNU <CODE>gettext</CODE> releases required to put definitions for
@@ -579,7 +592,7 @@ independently from the <TT>`intl/&acute;</TT> directory.
</P>
-<H3><A NAME="SEC178" HREF="gettext_toc.html#TOC178">12.4.8 <TT>`Makefile.in&acute;</TT> at top level</A></H3>
+<H3><A NAME="SEC181" HREF="gettext_toc.html#TOC181">12.4.8 <TT>`Makefile.in&acute;</TT> at top level</A></H3>
<P>
Here are a few modifications you need to make to your main, top-level
@@ -622,7 +635,7 @@ to be further used in the <SAMP>`dist:&acute;</SAMP> goal.
<PRE>
-SUBDIRS = doc intl lib src @POSUB@
+SUBDIRS = doc intl lib src po
</PRE>
Note that you must arrange for <SAMP>`make&acute;</SAMP> to descend into the
@@ -660,7 +673,7 @@ dist: Makefile
-<H3><A NAME="SEC179" HREF="gettext_toc.html#TOC179">12.4.9 <TT>`Makefile.in&acute;</TT> in <TT>`src/&acute;</TT></A></H3>
+<H3><A NAME="SEC182" HREF="gettext_toc.html#TOC182">12.4.9 <TT>`Makefile.in&acute;</TT> in <TT>`src/&acute;</TT></A></H3>
<P>
Some of the modifications made in the main <TT>`Makefile.in&acute;</TT> will
@@ -730,13 +743,15 @@ Note that <CODE>@datadir@</CODE> defaults to <SAMP>`$(prefix)/share&acute;</SAMP
<LI>
-You should ensure that the final linking will use <CODE>@INTLLIBS@</CODE> as
-a library. An easy way to achieve this is to manage that it gets into
-<CODE>LIBS</CODE>, like this:
+You should ensure that the final linking will use <CODE>@LIBINTL@</CODE> or
+<CODE>@LTLIBINTL@</CODE> as a library. <CODE>@LIBINTL@</CODE> is for use without
+<CODE>libtool</CODE>, <CODE>@LTLIBINTL@</CODE> is for use with <CODE>libtool</CODE>. An
+easy way to achieve this is to manage that it gets into <CODE>LIBS</CODE>, like
+this:
<PRE>
-LIBS = @INTLLIBS@ @LIBS@
+LIBS = @LIBINTL@ @LIBS@
</PRE>
In most packages internationalized with GNU <CODE>gettext</CODE>, one will
@@ -745,12 +760,12 @@ functions will be build. (You need at least the few functions which the
GNU <CODE>gettext</CODE> Library itself needs.) However some of the functions
in the <TT>`lib/&acute;</TT> also give messages to the user which of course should be
translated, too. Taking care of this, the support library (say
-<TT>`libsupport.a&acute;</TT>) should be placed before <CODE>@INTLLIBS@</CODE> and
+<TT>`libsupport.a&acute;</TT>) should be placed before <CODE>@LIBINTL@</CODE> and
<CODE>@LIBS@</CODE> in the above example. So one has to write this:
<PRE>
-LIBS = ../lib/libsupport.a @INTLLIBS@ @LIBS@
+LIBS = ../lib/libsupport.a @LIBINTL@ @LIBS@
</PRE>
<LI>
@@ -776,6 +791,254 @@ dist: Makefile $(DISTFILES)
</OL>
+
+
+<H3><A NAME="SEC183" HREF="gettext_toc.html#TOC183">12.4.10 <TT>`gettext.h&acute;</TT> in <TT>`lib/&acute;</TT></A></H3>
+
+<P>
+Internationalization of packages, as provided by GNU <CODE>gettext</CODE>, is
+optional. It can be turned off in two situations:
+
+</P>
+
+<UL>
+<LI>
+
+When the installer has specified <SAMP>`./configure --disable-nls&acute;</SAMP>. This
+can be useful when small binaries are more important than features, for
+example when building utilities for boot diskettes. It can also be useful
+in order to get some specific C compiler warnings about code quality with
+some older versions of GCC (older than 3.0).
+
+<LI>
+
+When the package does not include the <CODE>intl/</CODE> subdirectory, and the
+libintl.h header (with its associated libintl library, if any) is not
+already installed on the system, it is preferrable that the package builds
+without internationalization support, rather than to give a compilation
+error.
+</UL>
+
+<P>
+A C preprocessor macro can be used to detect these two cases. Usually,
+when <CODE>libintl.h</CODE> was found and not explicitly disabled, the
+<CODE>ENABLE_NLS</CODE> macro will be defined to 1 in the autoconf generated
+configuration file (usually called <TT>`config.h&acute;</TT>). In the two negative
+situations, however, this macro will not be defined, thus it will evaluate
+to 0 in C preprocessor expressions.
+
+</P>
+<P>
+<TT>`gettext.h&acute;</TT> is a convenience header file for conditional use of
+<TT>`&#60;libintl.h&#62;&acute;</TT>, depending on the <CODE>ENABLE_NLS</CODE> macro. If
+<CODE>ENABLE_NLS</CODE> is set, it includes <TT>`&#60;libintl.h&#62;&acute;</TT>; otherwise it
+defines no-op substitutes for the libintl.h functions. We recommend
+the use of <CODE>"gettext.h"</CODE> over direct use of <TT>`&#60;libintl.h&#62;&acute;</TT>,
+so that portability to older systems is guaranteed and installers can
+turn off internationalization if they want to. In the C code, you will
+then write
+
+</P>
+
+<PRE>
+#include "gettext.h"
+</PRE>
+
+<P>
+instead of
+
+</P>
+
+<PRE>
+#include &#60;libintl.h&#62;
+</PRE>
+
+<P>
+The location of <CODE>gettext.h</CODE> is usually in a directory containing
+auxiliary include files. In many GNU packages, there is a directory
+<TT>`lib/&acute;</TT> containing helper functions; <TT>`gettext.h&acute;</TT> fits there.
+In other packages, it can go into the <TT>`src&acute;</TT> directory.
+
+</P>
+<P>
+Do not install the <CODE>gettext.h</CODE> file in public locations. Every
+package that needs it should contain a copy of it on its own.
+
+</P>
+
+
+<H2><A NAME="SEC184" HREF="gettext_toc.html#TOC184">12.5 Autoconf macros for use in <TT>`configure.in&acute;</TT></A></H2>
+
+<P>
+GNU <CODE>gettext</CODE> installs macros for use in a package's
+<TT>`configure.in&acute;</TT> or <TT>`configure.ac&acute;</TT>.
+See section `Introduction' in <CITE>The Autoconf Manual</CITE>.
+The primary macro is, of course, <CODE>AM_GNU_GETTEXT</CODE>.
+
+</P>
+
+
+
+<H3><A NAME="SEC185" HREF="gettext_toc.html#TOC185">12.5.1 AM_GNU_GETTEXT in <TT>`gettext.m4&acute;</TT></A></H3>
+
+<P>
+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
+<TT>`intl/&acute;</TT> directory.
+
+</P>
+<P>
+<CODE>AM_GNU_GETTEXT</CODE> accepts up to three optional arguments. The general
+syntax is
+
+</P>
+
+<PRE>
+AM_GNU_GETTEXT([<VAR>intlsymbol</VAR>], [<VAR>needsymbol</VAR>], [<VAR>intldir</VAR>])
+</PRE>
+
+<P>
+<VAR>intlsymbol</VAR> can be one of <SAMP>`external&acute;</SAMP>, <SAMP>`no-libtool&acute;</SAMP>,
+<SAMP>`use-libtool&acute;</SAMP>. The default (if it is not specified or empty) is
+<SAMP>`no-libtool&acute;</SAMP>. <VAR>intlsymbol</VAR> should be <SAMP>`external&acute;</SAMP> for packages
+with no <TT>`intl/&acute;</TT> directory, and <SAMP>`no-libtool&acute;</SAMP> or <SAMP>`use-libtool&acute;</SAMP>
+for packages with an <TT>`intl/&acute;</TT> directory. If <VAR>intlsymbol</VAR> is
+<SAMP>`use-libtool&acute;</SAMP>, then a libtool library
+<CODE>$(top_builddir)/intl/libintl.la</CODE> will be created (shared and/or static,
+depending on <CODE>--{enable,disable}-{shared,static}</CODE> and on the
+presence of <CODE>AM_DISABLE_SHARED</CODE>). If <VAR>intlsymbol</VAR> is
+<SAMP>`no-libtool&acute;</SAMP>, a static library
+<CODE>$(top_builddir)/intl/libintl.a</CODE> will be created.
+
+</P>
+<P>
+If <VAR>needsymbol</VAR> is specified and is <SAMP>`need-ngettext&acute;</SAMP>, then GNU
+gettext implementations (in libc or libintl) without the <CODE>ngettext()</CODE>
+function will be ignored.
+
+</P>
+<P>
+<VAR>intldir</VAR> is used to find the intl libraries. If empty, the value
+<SAMP>`$(top_builddir)/intl/&acute;</SAMP> is used.
+
+</P>
+<P>
+The <CODE>AM_GNU_GETTEXT</CODE> macro determines whether GNU gettext is
+available and should be used. If so, it sets the <CODE>USE_NLS</CODE> variable
+to <SAMP>`yes&acute;</SAMP>; it defines <CODE>ENABLE_NLS</CODE> to 1 in the autoconf
+generated configuration file (usually called <TT>`config.h&acute;</TT>); it sets
+the variables <CODE>LIBINTL</CODE> and <CODE>LTLIBINTL</CODE> to the linker options
+for use in a Makefile (<CODE>LIBINTL</CODE> for use without libtool,
+<CODE>LTLIBINTL</CODE> for use with libtool); it adds an <SAMP>`-I&acute;</SAMP> option to
+<CODE>CPPFLAGS</CODE> if necessary. In the negative case, it sets
+<CODE>USE_NLS</CODE> to <SAMP>`no&acute;</SAMP>; it sets <CODE>LIBINTL</CODE> and <CODE>LTLIBINTL</CODE>
+to empty and doesn't change <CODE>CPPFLAGS</CODE>.
+
+</P>
+<P>
+The complexities that <CODE>AM_GNU_GETTEXT</CODE> deals with are the following:
+
+</P>
+
+<UL>
+<LI>
+
+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.
+
+<LI>
+
+GNU <CODE>libintl</CODE>, if installed, is not necessarily already in the search
+path (<CODE>CPPFLAGS</CODE> for the include file search path, <CODE>LDFLAGS</CODE> for
+the library search path).
+
+<LI>
+
+Except for glibc, the operating system's native <CODE>gettext</CODE> cannot
+exploit the GNU mo files, doesn't have the necessary locale dependency
+features, and cannot convert messages from the catalog's text encoding
+to the user's locale encoding.
+
+<LI>
+
+GNU <CODE>libintl</CODE>, if installed, is not necessarily already in the
+run time library search path. To avoid the need for setting an environment
+variable like <CODE>LD_LIBRARY_PATH</CODE>, the macro adds the appropriate
+run time search path options to the <CODE>LIBINTL</CODE> and <CODE>LTLIBINTL</CODE>
+variables. This works on most systems, but not on some operating systems
+with limited shared library support, like SCO.
+
+<LI>
+
+GNU <CODE>libintl</CODE> relies on POSIX <CODE>iconv</CODE>. The macro checks for
+linker options needed to use iconv and appends them to the <CODE>LIBINTL</CODE>
+and <CODE>LTLIBINTL</CODE> variables.
+</UL>
+
+
+
+<H3><A NAME="SEC186" HREF="gettext_toc.html#TOC186">12.5.2 AM_ICONV in <TT>`iconv.m4&acute;</TT></A></H3>
+
+<P>
+The <CODE>AM_ICONV</CODE> macro tests for the presence of the POSIX
+<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>
+variable to <SAMP>`yes&acute;</SAMP>; it defines <CODE>HAVE_ICONV</CODE> to 1 in the autoconf
+generated configuration file (usually called <TT>`config.h&acute;</TT>); it defines
+<CODE>ICONV_CONST</CODE> to <SAMP>`const&acute;</SAMP> or to empty, depending on whether the
+second argument of <CODE>iconv()</CODE> is of type <SAMP>`const char **&acute;</SAMP> or
+<SAMP>`char **&acute;</SAMP>; it sets the variables <CODE>LIBICONV</CODE> and
+<CODE>LTLIBICONV</CODE> to the linker options for use in a Makefile
+(<CODE>LIBICONV</CODE> for use without libtool, <CODE>LTLIBICONV</CODE> for use with
+libtool); it adds an <SAMP>`-I&acute;</SAMP> option to <CODE>CPPFLAGS</CODE> if
+necessary. If not found, it sets <CODE>LIBICONV</CODE> and <CODE>LTLIBICONV</CODE> to
+empty and doesn't change <CODE>CPPFLAGS</CODE>.
+
+</P>
+<P>
+The complexities that <CODE>AM_ICONV</CODE> deals with are the following:
+
+</P>
+
+<UL>
+<LI>
+
+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>
+might have been installed. In that case, it should be used instead of the
+operating system's native <CODE>iconv</CODE>.
+
+<LI>
+
+GNU <CODE>libiconv</CODE>, if installed, is not necessarily already in the search
+path (<CODE>CPPFLAGS</CODE> for the include file search path, <CODE>LDFLAGS</CODE> for
+the library search path).
+
+<LI>
+
+GNU <CODE>libiconv</CODE> is binary incompatible with some operating system's
+native <CODE>iconv</CODE>, for example on FreeBSD. Use of an <TT>`iconv.h&acute;</TT>
+and <TT>`libiconv.so&acute;</TT> that don't fit together would produce program
+crashes.
+
+<LI>
+
+GNU <CODE>libiconv</CODE>, if installed, is not necessarily already in the
+run time library search path. To avoid the need for setting an environment
+variable like <CODE>LD_LIBRARY_PATH</CODE>, the macro adds the appropriate
+run time search path options to the <CODE>LIBICONV</CODE> variable. This works
+on most systems, but not on some operating systems with limited shared
+library support, like SCO.
+</UL>
+
+<P>
+<TT>`iconv.m4&acute;</TT> is distributed with the GNU gettext package because
+<TT>`gettext.m4&acute;</TT> relies on it.
+
+</P>
<P><HR><P>
Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_11.html">previous</A>, <A HREF="gettext_13.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
</BODY>
diff --git a/doc/gettext_13.html b/doc/gettext_13.html
index 9c00950..43ab331 100644
--- a/doc/gettext_13.html
+++ b/doc/gettext_13.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52a
- from gettext.texi on 30 November 2001 -->
+ from gettext.texi on 31 January 2002 -->
<TITLE>GNU gettext utilities - 13 Other Programming Languages</TITLE>
</HEAD>
@@ -10,7 +10,7 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_12.html">previous
<P><HR><P>
-<H1><A NAME="SEC180" HREF="gettext_toc.html#TOC180">13 Other Programming Languages</A></H1>
+<H1><A NAME="SEC187" HREF="gettext_toc.html#TOC187">13 Other Programming Languages</A></H1>
<P>
While the presentation of <CODE>gettext</CODE> focuses mostly on C and
@@ -23,7 +23,7 @@ approach.
-<H2><A NAME="SEC181" HREF="gettext_toc.html#TOC181">13.1 The Language Implementor's View</A></H2>
+<H2><A NAME="SEC188" HREF="gettext_toc.html#TOC188">13.1 The Language Implementor's View</A></H2>
<P>
All programming and scripting languages that have the notion of strings
@@ -120,7 +120,7 @@ different effects on portability and copyright:
<LI>
You may integrate the GNU <CODE>gettext</CODE>'s <TT>`intl/&acute;</TT> directory in
-your package, as described in section <A HREF="gettext_12.html#SEC166">12 The Maintainer's View</A>. This allows you to
+your package, as described in section <A HREF="gettext_12.html#SEC169">12 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
@@ -146,7 +146,7 @@ and plural handling).
-<H2><A NAME="SEC182" HREF="gettext_toc.html#TOC182">13.2 The Programmer's View</A></H2>
+<H2><A NAME="SEC189" HREF="gettext_toc.html#TOC189">13.2 The Programmer's View</A></H2>
<P>
For the programmer, the general procedure is the same as for the C
@@ -159,7 +159,7 @@ underlying language runtime.
</P>
-<H2><A NAME="SEC183" HREF="gettext_toc.html#TOC183">13.3 The Translator's View</A></H2>
+<H2><A NAME="SEC190" HREF="gettext_toc.html#TOC190">13.3 The Translator's View</A></H2>
<P>
The translator works exactly as in the C language case. The only
@@ -170,11 +170,42 @@ strings.
</P>
-<H2><A NAME="SEC184" HREF="gettext_toc.html#TOC184">13.4 Individual Programming Languages</A></H2>
+<H2><A NAME="SEC191" HREF="gettext_toc.html#TOC191">13.4 The Maintainer's View</A></H2>
+<P>
+For the maintainer, the general procedure differs from the C language
+case in two ways.
+
+</P>
+
+<UL>
+<LI>
+
+For those languages that don't use GNU gettext, the <TT>`intl/&acute;</TT> directory
+is not needed and can be omitted. This means that the maintainer calls the
+<CODE>gettextize</CODE> program without the <SAMP>`--intl&acute;</SAMP> option, and that he
+invokes the <CODE>AM_GNU_GETTEXT</CODE> autoconf macro via
+<SAMP>`AM_GNU_GETTEXT([external])&acute;</SAMP>.
+
+<LI>
+
+If only a single programming language is used, the <CODE>XGETTEXT_OPTIONS</CODE>
+variable in <TT>`po/Makevars&acute;</TT> (see section <A HREF="gettext_12.html#SEC176">12.4.3 <TT>`Makefile&acute;</TT> pieces in <TT>`po/&acute;</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
+in <TT>`po/Makefile.in.in&acute;</TT>. It is recommended to make one <CODE>xgettext</CODE>
+invocation per programming language, each with the options appropriate for
+that language, and to combine the resulting files using <CODE>msgcat</CODE>.
+</UL>
+
+
+
+<H2><A NAME="SEC192" HREF="gettext_toc.html#TOC192">13.5 Individual Programming Languages</A></H2>
-<H3><A NAME="SEC185" HREF="gettext_toc.html#TOC185">13.4.1 C, C++, Objective C</A></H3>
+
+<H3><A NAME="SEC193" HREF="gettext_toc.html#TOC193">13.5.1 C, C++, Objective C</A></H3>
<DL COMPACT>
@@ -242,7 +273,7 @@ yes
-<H3><A NAME="SEC186" HREF="gettext_toc.html#TOC186">13.4.2 sh - Shell Script</A></H3>
+<H3><A NAME="SEC194" HREF="gettext_toc.html#TOC194">13.5.2 sh - Shell Script</A></H3>
<DL COMPACT>
@@ -305,7 +336,7 @@ use
-<H3><A NAME="SEC187" HREF="gettext_toc.html#TOC187">13.4.3 bash - Bourne-Again Shell Script</A></H3>
+<H3><A NAME="SEC195" HREF="gettext_toc.html#TOC195">13.5.3 bash - Bourne-Again Shell Script</A></H3>
<DL COMPACT>
@@ -368,7 +399,7 @@ use
-<H3><A NAME="SEC188" HREF="gettext_toc.html#TOC188">13.4.4 Python</A></H3>
+<H3><A NAME="SEC196" HREF="gettext_toc.html#TOC196">13.5.4 Python</A></H3>
<DL COMPACT>
@@ -436,7 +467,7 @@ fully portable
-<H3><A NAME="SEC189" HREF="gettext_toc.html#TOC189">13.4.5 GNU clisp - Common Lisp</A></H3>
+<H3><A NAME="SEC197" HREF="gettext_toc.html#TOC197">13.5.5 GNU clisp - Common Lisp</A></H3>
<DL COMPACT>
@@ -482,7 +513,7 @@ use
<DT>Extractor
<DD>
-<CODE>clisp-xgettext</CODE>
+<CODE>xgettext -k_ -kENGLISH</CODE>
<DT>Formatting with positions
<DD>
@@ -499,7 +530,7 @@ On platforms without gettext, no translation.
-<H3><A NAME="SEC190" HREF="gettext_toc.html#TOC190">13.4.6 GNU clisp C sources</A></H3>
+<H3><A NAME="SEC198" HREF="gettext_toc.html#TOC198">13.5.6 GNU clisp C sources</A></H3>
<DL COMPACT>
@@ -564,7 +595,7 @@ On platforms without gettext, no translation.
-<H3><A NAME="SEC191" HREF="gettext_toc.html#TOC191">13.4.7 Emacs Lisp</A></H3>
+<H3><A NAME="SEC199" HREF="gettext_toc.html#TOC199">13.5.7 Emacs Lisp</A></H3>
<DL COMPACT>
@@ -610,7 +641,7 @@ use
<DT>Extractor
<DD>
-xpot
+<CODE>xgettext</CODE>
<DT>Formatting with positions
<DD>
@@ -627,13 +658,13 @@ Only XEmacs. Without <CODE>I18N3</CODE> defined at build time, no translation.
-<H3><A NAME="SEC192" HREF="gettext_toc.html#TOC192">13.4.8 librep</A></H3>
+<H3><A NAME="SEC200" HREF="gettext_toc.html#TOC200">13.5.8 librep</A></H3>
<DL COMPACT>
<DT>RPMs
<DD>
-librep
+librep 0.15.3 or newer
<DT>File extension
<DD>
@@ -673,7 +704,7 @@ use
<DT>Extractor
<DD>
-<CODE>rep-xgettext</CODE>
+<CODE>xgettext</CODE>
<DT>Formatting with positions
<DD>
@@ -690,7 +721,7 @@ On platforms without gettext, no translation.
-<H3><A NAME="SEC193" HREF="gettext_toc.html#TOC193">13.4.9 GNU Smalltalk</A></H3>
+<H3><A NAME="SEC201" HREF="gettext_toc.html#TOC201">13.5.9 GNU Smalltalk</A></H3>
<DL COMPACT>
@@ -759,7 +790,7 @@ fully portable
-<H3><A NAME="SEC194" HREF="gettext_toc.html#TOC194">13.4.10 Java</A></H3>
+<H3><A NAME="SEC202" HREF="gettext_toc.html#TOC202">13.5.10 Java</A></H3>
<DL COMPACT>
@@ -878,7 +909,7 @@ the GNU gettext package and distributed under the LGPL.
-<H3><A NAME="SEC195" HREF="gettext_toc.html#TOC195">13.4.11 GNU awk</A></H3>
+<H3><A NAME="SEC203" HREF="gettext_toc.html#TOC203">13.5.11 GNU awk</A></H3>
<DL COMPACT>
@@ -942,7 +973,7 @@ define <CODE>dcgettext</CODE> and <CODE>bindtextdomain</CODE> yourself.
-<H3><A NAME="SEC196" HREF="gettext_toc.html#TOC196">13.4.12 Pascal - Free Pascal Compiler</A></H3>
+<H3><A NAME="SEC204" HREF="gettext_toc.html#TOC204">13.5.12 Pascal - Free Pascal Compiler</A></H3>
<DL COMPACT>
@@ -1013,7 +1044,7 @@ using the <CODE>TranslateResourceStrings</CODE> function in the <CODE>gettext</C
</P>
-<H3><A NAME="SEC197" HREF="gettext_toc.html#TOC197">13.4.13 wxWindows library</A></H3>
+<H3><A NAME="SEC205" HREF="gettext_toc.html#TOC205">13.5.13 wxWindows library</A></H3>
<DL COMPACT>
@@ -1076,7 +1107,7 @@ yes
-<H3><A NAME="SEC198" HREF="gettext_toc.html#TOC198">13.4.14 YCP - YaST2 scripting language</A></H3>
+<H3><A NAME="SEC206" HREF="gettext_toc.html#TOC206">13.5.14 YCP - YaST2 scripting language</A></H3>
<DL COMPACT>
@@ -1139,7 +1170,7 @@ fully portable
-<H3><A NAME="SEC199" HREF="gettext_toc.html#TOC199">13.4.15 Perl</A></H3>
+<H3><A NAME="SEC207" HREF="gettext_toc.html#TOC207">13.5.15 Perl</A></H3>
<DL COMPACT>
@@ -1203,7 +1234,7 @@ use
-<H3><A NAME="SEC200" HREF="gettext_toc.html#TOC200">13.4.16 PHP Hypertext Preprocessor</A></H3>
+<H3><A NAME="SEC208" HREF="gettext_toc.html#TOC208">13.5.16 PHP Hypertext Preprocessor</A></H3>
<DL COMPACT>
@@ -1266,7 +1297,7 @@ On platforms without gettext, the functions are not available.
-<H3><A NAME="SEC201" HREF="gettext_toc.html#TOC201">13.4.17 Pike</A></H3>
+<H3><A NAME="SEC209" HREF="gettext_toc.html#TOC209">13.5.17 Pike</A></H3>
<DL COMPACT>
@@ -1329,7 +1360,7 @@ On platforms without gettext, the functions are not available.
-<H2><A NAME="SEC202" HREF="gettext_toc.html#TOC202">13.5 Internationalizable Data</A></H2>
+<H2><A NAME="SEC210" HREF="gettext_toc.html#TOC210">13.6 Internationalizable Data</A></H2>
<P>
Here is a list of other data formats which can be internationalized
@@ -1339,7 +1370,7 @@ using GNU gettext.
-<H3><A NAME="SEC203" HREF="gettext_toc.html#TOC203">13.5.1 POT - Portable Object Template</A></H3>
+<H3><A NAME="SEC211" HREF="gettext_toc.html#TOC211">13.6.1 POT - Portable Object Template</A></H3>
<DL COMPACT>
@@ -1358,7 +1389,7 @@ gettext
-<H3><A NAME="SEC204" HREF="gettext_toc.html#TOC204">13.5.2 Resource String Table</A></H3>
+<H3><A NAME="SEC212" HREF="gettext_toc.html#TOC212">13.6.2 Resource String Table</A></H3>
<DL COMPACT>
diff --git a/doc/gettext_14.html b/doc/gettext_14.html
index 8032c28..2bd6f3b 100644
--- a/doc/gettext_14.html
+++ b/doc/gettext_14.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52a
- from gettext.texi on 30 November 2001 -->
+ from gettext.texi on 31 January 2002 -->
<TITLE>GNU gettext utilities - 14 Concluding Remarks</TITLE>
</HEAD>
@@ -10,7 +10,7 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_13.html">previous
<P><HR><P>
-<H1><A NAME="SEC205" HREF="gettext_toc.html#TOC205">14 Concluding Remarks</A></H1>
+<H1><A NAME="SEC213" HREF="gettext_toc.html#TOC213">14 Concluding Remarks</A></H1>
<P>
We would like to conclude this GNU <CODE>gettext</CODE> manual by presenting
@@ -22,7 +22,7 @@ about Native Language Support matters.
-<H2><A NAME="SEC206" HREF="gettext_toc.html#TOC206">14.1 History of GNU <CODE>gettext</CODE></A></H2>
+<H2><A NAME="SEC214" HREF="gettext_toc.html#TOC214">14.1 History of GNU <CODE>gettext</CODE></A></H2>
<P>
Internationalization concerns and algorithms have been informally
@@ -118,7 +118,7 @@ manipulating PO files.
</P>
-<H2><A NAME="SEC207" HREF="gettext_toc.html#TOC207">14.2 Related Readings</A></H2>
+<H2><A NAME="SEC215" HREF="gettext_toc.html#TOC215">14.2 Related Readings</A></H2>
<P>
Eugene H. Dorr (<TT>`dorre@well.com&acute;</TT>) maintains an interesting
diff --git a/doc/gettext_15.html b/doc/gettext_15.html
index 932a986..66140b7 100644
--- a/doc/gettext_15.html
+++ b/doc/gettext_15.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52a
- from gettext.texi on 30 November 2001 -->
+ from gettext.texi on 31 January 2002 -->
<TITLE>GNU gettext utilities - A Language Codes</TITLE>
</HEAD>
@@ -10,7 +10,7 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_14.html">previous
<P><HR><P>
-<H1><A NAME="SEC208" HREF="gettext_toc.html#TOC208">A Language Codes</A></H1>
+<H1><A NAME="SEC216" HREF="gettext_toc.html#TOC216">A Language Codes</A></H1>
<P>
The ISO 639 standard defines two character codes for many languages.
diff --git a/doc/gettext_16.html b/doc/gettext_16.html
index 1e6332c..06c902d 100644
--- a/doc/gettext_16.html
+++ b/doc/gettext_16.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52a
- from gettext.texi on 30 November 2001 -->
+ from gettext.texi on 31 January 2002 -->
<TITLE>GNU gettext utilities - B Country Codes</TITLE>
</HEAD>
@@ -10,7 +10,7 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_15.html">previous
<P><HR><P>
-<H1><A NAME="SEC209" HREF="gettext_toc.html#TOC209">B Country Codes</A></H1>
+<H1><A NAME="SEC217" HREF="gettext_toc.html#TOC217">B Country Codes</A></H1>
<P>
The ISO 3166 standard defines two character codes for many countries
diff --git a/doc/gettext_2.html b/doc/gettext_2.html
index 475b5a0..699dfc5 100644
--- a/doc/gettext_2.html
+++ b/doc/gettext_2.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52a
- from gettext.texi on 30 November 2001 -->
+ from gettext.texi on 31 January 2002 -->
<TITLE>GNU gettext utilities - 2 PO Files and PO Mode Basics</TITLE>
</HEAD>
@@ -170,13 +170,13 @@ search only. See section <A HREF="gettext_6.html#SEC45">6.3 Fuzzy Entries</A>.
<DT><KBD>no-c-format</KBD>
<DD>
These flags should not be added by a human. Instead only the
-<CODE>xgettext</CODE> program adds them. In an automatized PO file processing
+<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
soon as the <CODE>xgettext</CODE> program generates a new template file.
In case the <KBD>c-format</KBD> 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_8.html#SEC115">8.1 Invoking the <CODE>msgfmt</CODE> Program</A>.
+See section <A HREF="gettext_8.html#SEC118">8.1 Invoking the <CODE>msgfmt</CODE> Program</A>.
</DL>
@@ -217,7 +217,7 @@ not having Emacs handy should carefully continue reading on.
<P>
Each of <VAR>untranslated-string</VAR> and <VAR>translated-string</VAR> respects
the C syntax for a character string, including the surrounding quotes
-and imbedded backslashed escape sequences. When the time comes
+and embedded backslashed escape sequences. When the time comes
to write multi-line strings, one should not use escaped newlines.
Instead, a closing quote should follow the last character on the
line to be continued, and an opening quote should resume the string
@@ -348,8 +348,8 @@ 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
has been modified, it is saved to disk first. In both cases, and prior to
-all this, the commands check if some untranslated message remains in the
-PO file and, if yes, the translator is asked if she really wants to leave
+all this, the commands check if any untranslated messages remain in the
+PO file and, if so, the translator is asked if she really wants to leave
off working with this PO file. This is the preferred way of getting rid
of an Emacs PO file buffer. Merely killing it through the usual command
<KBD>C-x k</KBD> (<CODE>kill-buffer</CODE>) is not the tidiest way to proceed.
@@ -558,7 +558,7 @@ merely use <KBD>x</KBD> for making the switch.
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 backslahsed escaped sequences. Some features of PO mode rely on
+by backslashed escaped sequences. Some features of PO mode rely on
the ability for PO mode to scan an already existing PO file for a
particular string encoded into the <CODE>msgid</CODE> field of some entry.
Even if PO mode has internally all the built-in machinery for
diff --git a/doc/gettext_3.html b/doc/gettext_3.html
index 595ebbc..1dd531e 100644
--- a/doc/gettext_3.html
+++ b/doc/gettext_3.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52a
- from gettext.texi on 30 November 2001 -->
+ from gettext.texi on 31 January 2002 -->
<TITLE>GNU gettext utilities - 3 Preparing Program Sources</TITLE>
</HEAD>
@@ -25,7 +25,7 @@ needing translation.
<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>`Makefile&acute;</TT> files are adjusted (see section <A HREF="gettext_12.html#SEC166">12 The Maintainer's View</A>), each C module
+<TT>`Makefile&acute;</TT> files are adjusted (see section <A HREF="gettext_12.html#SEC169">12 The Maintainer's View</A>), each C module
having translated C strings should contain the line:
</P>
@@ -435,8 +435,11 @@ string is regarded as the address.
<P>
To prevent errors at runtime caused by translations the <CODE>msgfmt</CODE>
tool can check statically whether the arguments in the original and the
-translation string match in type and number. If this is not the case a
-warning will be given and the error cannot causes problems at runtime.
+translation string match in type and number. If this is not the case
+and the <SAMP>`-c&acute;</SAMP> option has been passed to <CODE>msgfmt</CODE>, <CODE>msgfmt</CODE>
+will give an error and refuse to produce a MO file. Thus consequent
+use of <SAMP>`msgfmt -c&acute;</SAMP> will catch the error, so that it cannot cause
+cause problems at runtime.
</P>
<P>
@@ -552,7 +555,7 @@ from the array. So one solution can look like this:
</P>
<PRE>
-#define gettext_noop(String) (String)
+#define gettext_noop(String) String
{
static const char *messages[] = {
@@ -582,7 +585,7 @@ with the following one:
</P>
<PRE>
-#define gettext_noop(String) (String)
+#define gettext_noop(String) String
{
static const char *messages[] = {
@@ -600,11 +603,9 @@ with the following one:
</PRE>
<P>
-But this has some drawbacks. First the programmer has to take care that
+But this has a drawback. The programmer has to take care that
he uses <CODE>gettext_noop</CODE> for the string <CODE>"a default message"</CODE>.
A use of <CODE>gettext</CODE> could have in rare cases unpredictable results.
-The second reason is found in the internals of the GNU <CODE>gettext</CODE>
-Library which will make this solution less efficient.
</P>
<P>
diff --git a/doc/gettext_4.html b/doc/gettext_4.html
index fff3536..bc39311 100644
--- a/doc/gettext_4.html
+++ b/doc/gettext_4.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52a
- from gettext.texi on 30 November 2001 -->
+ from gettext.texi on 31 January 2002 -->
<TITLE>GNU gettext utilities - 4 Making the PO Template File</TITLE>
</HEAD>
@@ -270,10 +270,26 @@ of variance for generated <CODE>.gmo</CODE> files. With <CODE>--omit-header</CO
two invocations of <CODE>xgettext</CODE> on the same files with the same
options at different times are guaranteed to produce the same results.
+<DT><SAMP>`--copyright-holder=<VAR>string</VAR>&acute;</SAMP>
+<DD>
+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
+holder of the package.) Translators are expected to transfer or disclaim
+the copyright for their translations, so that package maintainers can
+distribute them without legal risk. If <VAR>string</VAR> is empty, the output
+files are marked as being in the public domain; in this case, the translators
+are expected to disclaim their copyright, again so that package maintainers
+can distribute them without legal risk.
+
+The default value for <VAR>string</VAR> is the Free Software Foundation, Inc.,
+simply because <CODE>xgettext</CODE> was first used in the GNU project.
+
<DT><SAMP>`--foreign-user&acute;</SAMP>
<DD>
-Omit FSF copyright in output. This can be useful for translators
-outside the GNU project.
+Omit FSF copyright in output. This option is equivalent to
+<SAMP>`--copyright-holder="&acute;</SAMP>. It can be useful for packages outside the GNU
+project that want their translations to be in the public domain.
<DT><SAMP>`-m [<VAR>string</VAR>]&acute;</SAMP>
<DD>
diff --git a/doc/gettext_5.html b/doc/gettext_5.html
index c08d9ab..9eb39af 100644
--- a/doc/gettext_5.html
+++ b/doc/gettext_5.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52a
- from gettext.texi on 30 November 2001 -->
+ from gettext.texi on 31 January 2002 -->
<TITLE>GNU gettext utilities - 5 Creating a New PO File</TITLE>
</HEAD>
@@ -197,7 +197,7 @@ in the "National teams" area.
Replace <SAMP>`CHARSET&acute;</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_10.html#SEC143">10.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_10.html#SEC146">10.2.4 How to specify the output character set <CODE>gettext</CODE> uses</A>).
You get the character encoding of your locale by running the shell command
<SAMP>`locale charmap&acute;</SAMP>. If the result is <SAMP>`C&acute;</SAMP> or <SAMP>`ANSI_X3.4-1968&acute;</SAMP>,
@@ -305,7 +305,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>`msgid_plural&acute;</SAMP> keyword. The
-format of the plural forms field is described in section <A HREF="gettext_10.html#SEC144">10.2.5 Additional functions for plural forms</A>.
+format of the plural forms field is described in section <A HREF="gettext_10.html#SEC147">10.2.5 Additional functions for plural forms</A>.
</DL>
<P><HR><P>
diff --git a/doc/gettext_6.html b/doc/gettext_6.html
index a3b8e77..b901927 100644
--- a/doc/gettext_6.html
+++ b/doc/gettext_6.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52a
- from gettext.texi on 30 November 2001 -->
+ from gettext.texi on 31 January 2002 -->
<TITLE>GNU gettext utilities - 6 Updating Existing PO Files</TITLE>
</HEAD>
@@ -550,8 +550,8 @@ merely tries to provide handy tools for helping her to do so.
<H2><A NAME="SEC48" HREF="gettext_toc.html#TOC48">6.6 Modifying Translations</A></H2>
<P>
-PO mode prevents direct edition of the PO file, by the usual
-means Emacs give for altering a buffer's contents. By doing so,
+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
diff --git a/doc/gettext_7.html b/doc/gettext_7.html
index 185cc37..e837d53 100644
--- a/doc/gettext_7.html
+++ b/doc/gettext_7.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52a
- from gettext.texi on 30 November 2001 -->
+ from gettext.texi on 31 January 2002 -->
<TITLE>GNU gettext utilities - 7 Manipulating PO Files</TITLE>
</HEAD>
@@ -47,22 +47,28 @@ 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
processing to every message in the catalog. The tool for doing this is
-<SAMP>`msgexec&acute;</SAMP>.
+<SAMP>`msgfilter&acute;</SAMP>.
</P>
<P>
-Another use of <CODE>msgexec</CODE> is to produce approximately the POT file for
+Another use of <CODE>msgfilter</CODE> is to produce approximately the POT file for
which a given PO file was made. This can be done through a filter command
-like <SAMP>`msgexec sed -e d | sed -e '/^# /d'&acute;</SAMP>. Note that the original
+like <SAMP>`msgfilter sed -e d | sed -e '/^# /d'&acute;</SAMP>. Note that the original
POT file may have had different comments and different plural message counts,
that's why it's better to use the original POT file if available.
</P>
<P>
+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>`msgexec&acute;</SAMP> program.
+
+</P>
+<P>
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.
-To merge duplicates, the <CODE>msguniq</CODE> program can be used.
+To merge duplicates, the <SAMP>`msguniq&acute;</SAMP> program can be used.
</P>
<P>
@@ -525,7 +531,8 @@ expressions if -E is given, or fixed strings if -F is given.
<DD>
<DT><SAMP>`--location=<VAR>sourcefile</VAR>&acute;</SAMP>
<DD>
-Select messages extracted from <VAR>sourcefile</VAR>.
+Select messages extracted from <VAR>sourcefile</VAR>. <VAR>sourcefile</VAR> can be
+either a literal file name or a wildcard pattern.
<DT><SAMP>`-M <VAR>domainname</VAR>&acute;</SAMP>
<DD>
@@ -646,15 +653,15 @@ Output version information and exit.
-<H2><A NAME="SEC79" HREF="gettext_toc.html#TOC79">7.4 Invoking the <CODE>msgexec</CODE> Program</A></H2>
+<H2><A NAME="SEC79" HREF="gettext_toc.html#TOC79">7.4 Invoking the <CODE>msgfilter</CODE> Program</A></H2>
<PRE>
-msgexec [<VAR>option</VAR>] <VAR>filter</VAR> [<VAR>filter-option</VAR>]
+msgfilter [<VAR>option</VAR>] <VAR>filter</VAR> [<VAR>filter-option</VAR>]
</PRE>
<P>
-The <CODE>msgexec</CODE> program applies a filter to all translations of a
+The <CODE>msgfilter</CODE> program applies a filter to all translations of a
translation catalog.
</P>
@@ -713,6 +720,28 @@ input and writes a modified translation to standard output. A frequently
used filter is <SAMP>`sed&acute;</SAMP>.
</P>
+<P>
+Note: It is your responsibility to ensure that the <VAR>filter</VAR> can cope
+with input encoded in the translation catalog's encoding. If the
+<VAR>filter</VAR> wants input in a particular encoding, you can in a first step
+convert the translation catalog to that encoding using the <SAMP>`msgconv&acute;</SAMP>
+program, before invoking <SAMP>`msgfilter&acute;</SAMP>. If the <VAR>filter</VAR> wants input
+in the locale's encoding, but you want to avoid the locale's encoding, then
+you can first convert the translation catalog to UTF-8 using the
+<SAMP>`msgconv&acute;</SAMP> program and then make <SAMP>`msgfilter&acute;</SAMP> work in an UTF-8
+locale, by using the <CODE>LC_ALL</CODE> environment variable.
+
+</P>
+<P>
+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
+it doesn't add an undesired trailing newline at the end. The <SAMP>`sed&acute;</SAMP>
+program on some platforms is known to ignore the last line of input if it
+is not terminated with a newline. You can use GNU <CODE>sed</CODE> instead; it
+does not have this limitation.
+
+</P>
<H3><A NAME="SEC83" HREF="gettext_toc.html#TOC83">7.4.4 Useful <VAR>filter-option</VAR>s when the <VAR>filter</VAR> is <SAMP>`sed&acute;</SAMP></A></H3>
@@ -755,6 +784,12 @@ Always write an output file even if it contains no message.
<DD>
Write the .po file using indented style.
+<DT><SAMP>`--keep-header&acute;</SAMP>
+<DD>
+Keep the header entry, i.e. the message with <SAMP>`msgid ""&acute;</SAMP>, unmodified,
+instead of filtering it. By default, the header entry is subject to
+filtering like any other message.
+
<DT><SAMP>`--no-location&acute;</SAMP>
<DD>
Do not write <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>&acute;</SAMP> lines.
@@ -1457,6 +1492,12 @@ input file is the last created English PO file, or a PO Template file
translation that is identical to the msgid, and are marked fuzzy.
</P>
+<P>
+Note: <SAMP>`msginit --no-translator --locale=en&acute;</SAMP> performs a very similar
+task. The main difference is that <CODE>msginit</CODE> cares specially about
+the header entry, whereas <CODE>msgen</CODE> doesn't.
+
+</P>
<H3><A NAME="SEC110" HREF="gettext_toc.html#TOC110">7.9.1 Input file location</A></H3>
@@ -1573,6 +1614,95 @@ Output version information and exit.
</DL>
+
+
+<H2><A NAME="SEC114" HREF="gettext_toc.html#TOC114">7.10 Invoking the <CODE>msgexec</CODE> Program</A></H2>
+
+
+<PRE>
+msgexec [<VAR>option</VAR>] <VAR>command</VAR> [<VAR>command-option</VAR>]
+</PRE>
+
+<P>
+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
+input. It is invoked once for each translation. Its output becomes
+msgexec's output. <CODE>msgexec</CODE>'s return code is the maximum return code
+across all invocations.
+
+</P>
+<P>
+A special builtin command called <SAMP>`0&acute;</SAMP> outputs the translation, followed
+by a null byte. The output of <SAMP>`msgexec 0&acute;</SAMP> is suitable as input for
+<SAMP>`xargs -0&acute;</SAMP>.
+
+</P>
+<P>
+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
+of the message.
+
+</P>
+<P>
+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
+convert the translation catalog to that encoding using the <SAMP>`msgconv&acute;</SAMP>
+program, before invoking <SAMP>`msgexec&acute;</SAMP>. If the <VAR>command</VAR> wants input
+in the locale's encoding, but you want to avoid the locale's encoding, then
+you can first convert the translation catalog to UTF-8 using the
+<SAMP>`msgconv&acute;</SAMP> program and then make <SAMP>`msgexec&acute;</SAMP> work in an UTF-8
+locale, by using the <CODE>LC_ALL</CODE> environment variable.
+
+</P>
+
+
+<H3><A NAME="SEC115" HREF="gettext_toc.html#TOC115">7.10.1 Input file location</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-i <VAR>inputfile</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--input=<VAR>inputfile</VAR>&acute;</SAMP>
+<DD>
+Input PO file.
+
+<DT><SAMP>`-D <VAR>directory</VAR>&acute;</SAMP>
+<DD>
+<DT><SAMP>`--directory=<VAR>directory</VAR>&acute;</SAMP>
+<DD>
+Add <VAR>directory</VAR> to the list of directories. Source files are
+searched relative to this list of directories. The resulting <TT>`.po&acute;</TT>
+file will be written relative to the current directory, though.
+
+</DL>
+
+<P>
+If no <VAR>inputfile</VAR> is given or if it is <SAMP>`-&acute;</SAMP>, standard input is read.
+
+</P>
+
+
+<H3><A NAME="SEC116" HREF="gettext_toc.html#TOC116">7.10.2 Informative output</A></H3>
+
+<DL COMPACT>
+
+<DT><SAMP>`-h&acute;</SAMP>
+<DD>
+<DT><SAMP>`--help&acute;</SAMP>
+<DD>
+Display this help and exit.
+
+<DT><SAMP>`-V&acute;</SAMP>
+<DD>
+<DT><SAMP>`--version&acute;</SAMP>
+<DD>
+Output version information and exit.
+
+</DL>
+
<P><HR><P>
Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_6.html">previous</A>, <A HREF="gettext_8.html">next</A>, <A HREF="gettext_16.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
</BODY>
diff --git a/doc/gettext_8.html b/doc/gettext_8.html
index c2fbc9c..fa253f5 100644
--- a/doc/gettext_8.html
+++ b/doc/gettext_8.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52a
- from gettext.texi on 30 November 2001 -->
+ from gettext.texi on 31 January 2002 -->
<TITLE>GNU gettext utilities - 8 Producing Binary MO Files</TITLE>
</HEAD>
@@ -10,11 +10,11 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_7.html">previous<
<P><HR><P>
-<H1><A NAME="SEC114" HREF="gettext_toc.html#TOC114">8 Producing Binary MO Files</A></H1>
+<H1><A NAME="SEC117" HREF="gettext_toc.html#TOC117">8 Producing Binary MO Files</A></H1>
-<H2><A NAME="SEC115" HREF="gettext_toc.html#TOC115">8.1 Invoking the <CODE>msgfmt</CODE> Program</A></H2>
+<H2><A NAME="SEC118" HREF="gettext_toc.html#TOC118">8.1 Invoking the <CODE>msgfmt</CODE> Program</A></H2>
<PRE>
@@ -28,7 +28,7 @@ translation description.
</P>
-<H3><A NAME="SEC116" HREF="gettext_toc.html#TOC116">8.1.1 Input file location</A></H3>
+<H3><A NAME="SEC119" HREF="gettext_toc.html#TOC119">8.1.1 Input file location</A></H3>
<DL COMPACT>
@@ -50,7 +50,7 @@ If an input file is <SAMP>`-&acute;</SAMP>, standard input is read.
</P>
-<H3><A NAME="SEC117" HREF="gettext_toc.html#TOC117">8.1.2 Operation mode</A></H3>
+<H3><A NAME="SEC120" HREF="gettext_toc.html#TOC120">8.1.2 Operation mode</A></H3>
<DL COMPACT>
@@ -68,7 +68,7 @@ Like --java, and assume Java2 (JDK 1.2 or higher).
-<H3><A NAME="SEC118" HREF="gettext_toc.html#TOC118">8.1.3 Output file location</A></H3>
+<H3><A NAME="SEC121" HREF="gettext_toc.html#TOC121">8.1.3 Output file location</A></H3>
<DL COMPACT>
@@ -98,7 +98,7 @@ If the output <VAR>file</VAR> is <SAMP>`-&acute;</SAMP>, output is written to st
</P>
-<H3><A NAME="SEC119" HREF="gettext_toc.html#TOC119">8.1.4 Output file location in Java mode</A></H3>
+<H3><A NAME="SEC122" HREF="gettext_toc.html#TOC122">8.1.4 Output file location in Java mode</A></H3>
<DL COMPACT>
@@ -129,7 +129,7 @@ is written under the specified directory.
</P>
-<H3><A NAME="SEC120" HREF="gettext_toc.html#TOC120">8.1.5 Input file interpretation</A></H3>
+<H3><A NAME="SEC123" HREF="gettext_toc.html#TOC123">8.1.5 Input file interpretation</A></H3>
<DL COMPACT>
@@ -205,7 +205,7 @@ a human translator.
-<H3><A NAME="SEC121" HREF="gettext_toc.html#TOC121">8.1.6 Output details</A></H3>
+<H3><A NAME="SEC124" HREF="gettext_toc.html#TOC124">8.1.6 Output details</A></H3>
<DL COMPACT>
@@ -224,7 +224,7 @@ at run time (binary search instead of hash table lookup).
-<H3><A NAME="SEC122" HREF="gettext_toc.html#TOC122">8.1.7 Informative output</A></H3>
+<H3><A NAME="SEC125" HREF="gettext_toc.html#TOC125">8.1.7 Informative output</A></H3>
<DL COMPACT>
@@ -254,7 +254,7 @@ Increase verbosity level.
-<H2><A NAME="SEC123" HREF="gettext_toc.html#TOC123">8.2 Invoking the <CODE>msgunfmt</CODE> Program</A></H2>
+<H2><A NAME="SEC126" HREF="gettext_toc.html#TOC126">8.2 Invoking the <CODE>msgunfmt</CODE> Program</A></H2>
<PRE>
@@ -268,7 +268,7 @@ Uniforum style .po file.
</P>
-<H3><A NAME="SEC124" HREF="gettext_toc.html#TOC124">8.2.1 Operation mode</A></H3>
+<H3><A NAME="SEC127" HREF="gettext_toc.html#TOC127">8.2.1 Operation mode</A></H3>
<DL COMPACT>
@@ -282,7 +282,7 @@ Java mode: generate a Java <CODE>ResourceBundle</CODE> class.
-<H3><A NAME="SEC125" HREF="gettext_toc.html#TOC125">8.2.2 Input file location</A></H3>
+<H3><A NAME="SEC128" HREF="gettext_toc.html#TOC128">8.2.2 Input file location</A></H3>
<DL COMPACT>
@@ -298,7 +298,7 @@ If no input <VAR>file</VAR> is given or if it is <SAMP>`-&acute;</SAMP>, standar
</P>
-<H3><A NAME="SEC126" HREF="gettext_toc.html#TOC126">8.2.3 Input file location in Java mode</A></H3>
+<H3><A NAME="SEC129" HREF="gettext_toc.html#TOC129">8.2.3 Input file location in Java mode</A></H3>
<DL COMPACT>
@@ -324,7 +324,7 @@ separated with an underscore. The class is located using the <CODE>CLASSPATH</C
</P>
-<H3><A NAME="SEC127" HREF="gettext_toc.html#TOC127">8.2.4 Output file location</A></H3>
+<H3><A NAME="SEC130" HREF="gettext_toc.html#TOC130">8.2.4 Output file location</A></H3>
<DL COMPACT>
@@ -343,7 +343,7 @@ or if it is <SAMP>`-&acute;</SAMP>.
</P>
-<H3><A NAME="SEC128" HREF="gettext_toc.html#TOC128">8.2.5 Output details</A></H3>
+<H3><A NAME="SEC131" HREF="gettext_toc.html#TOC131">8.2.5 Output details</A></H3>
<DL COMPACT>
@@ -382,7 +382,7 @@ for the translator to understand each message's context.
-<H3><A NAME="SEC129" HREF="gettext_toc.html#TOC129">8.2.6 Informative output</A></H3>
+<H3><A NAME="SEC132" HREF="gettext_toc.html#TOC132">8.2.6 Informative output</A></H3>
<DL COMPACT>
@@ -408,7 +408,7 @@ Increase verbosity level.
-<H2><A NAME="SEC130" HREF="gettext_toc.html#TOC130">8.3 The Format of GNU MO Files</A></H2>
+<H2><A NAME="SEC133" HREF="gettext_toc.html#TOC133">8.3 The Format of GNU MO Files</A></H2>
<P>
The format of the generated MO files is best described by a picture,
@@ -469,7 +469,7 @@ prefer this because a precomputed hashing table takes disk space, and
does not win <EM>that</EM> much speed. The hash table contains indices
to the sorted array of strings in the MO file. Conflict resolution is
done by double hashing. The precise hashing algorithm used is fairly
-dependent of GNU <CODE>gettext</CODE> code, and is not documented here.
+dependent on GNU <CODE>gettext</CODE> code, and is not documented here.
</P>
<P>
diff --git a/doc/gettext_9.html b/doc/gettext_9.html
index 415c638..dc0e0f4 100644
--- a/doc/gettext_9.html
+++ b/doc/gettext_9.html
@@ -1,7 +1,7 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52a
- from gettext.texi on 30 November 2001 -->
+ from gettext.texi on 31 January 2002 -->
<TITLE>GNU gettext utilities - 9 The User's View</TITLE>
</HEAD>
@@ -10,7 +10,7 @@ Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_8.html">previous<
<P><HR><P>
-<H1><A NAME="SEC131" HREF="gettext_toc.html#TOC131">9 The User's View</A></H1>
+<H1><A NAME="SEC134" HREF="gettext_toc.html#TOC134">9 The User's View</A></H1>
<P>
When GNU <CODE>gettext</CODE> will truly have reached its goal, average users
@@ -43,7 +43,7 @@ for both installers and end users.
-<H2><A NAME="SEC132" HREF="gettext_toc.html#TOC132">9.1 The Current <TT>`ABOUT-NLS&acute;</TT> Matrix</A></H2>
+<H2><A NAME="SEC135" HREF="gettext_toc.html#TOC135">9.1 The Current <TT>`ABOUT-NLS&acute;</TT> Matrix</A></H2>
<P>
Languages are not equally supported in all packages using GNU
@@ -52,7 +52,7 @@ may check the distribution for the <TT>`ABOUT-NLS&acute;</TT> information file,
some <TT>`<VAR>ll</VAR>.po&acute;</TT> files, often kept together into some <TT>`po/&acute;</TT>
directory, or for an <TT>`intl/&acute;</TT> directory. Internationalized packages
have usually many <TT>`<VAR>ll</VAR>.po&acute;</TT> files, where <VAR>ll</VAR> represents
-the language. section <A HREF="gettext_9.html#SEC134">9.3 Magic for End Users</A> for a complete description of the format
+the language. section <A HREF="gettext_9.html#SEC137">9.3 Magic for End Users</A> for a complete description of the format
for <VAR>ll</VAR>.
</P>
@@ -70,7 +70,7 @@ Translation Project sites, and also on most GNU archive sites.
</P>
-<H2><A NAME="SEC133" HREF="gettext_toc.html#TOC133">9.2 Magic for Installers</A></H2>
+<H2><A NAME="SEC136" HREF="gettext_toc.html#TOC136">9.2 Magic for Installers</A></H2>
<P>
By default, packages fully using GNU <CODE>gettext</CODE>, internally,
@@ -99,14 +99,14 @@ codes, stating which languages are allowed.
</P>
-<H2><A NAME="SEC134" HREF="gettext_toc.html#TOC134">9.3 Magic for End Users</A></H2>
+<H2><A NAME="SEC137" HREF="gettext_toc.html#TOC137">9.3 Magic for End Users</A></H2>
<P>
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>`<VAR>ll</VAR>_<VAR>CC</VAR>&acute;</SAMP>
-combination prior to using the programs in the package. See section <A HREF="gettext_9.html#SEC132">9.1 The Current <TT>`ABOUT-NLS&acute;</TT> Matrix</A>.
+combination prior to using the programs in the package. See section <A HREF="gettext_9.html#SEC135">9.1 The Current <TT>`ABOUT-NLS&acute;</TT> Matrix</A>.
For example, let's presume a German site. At the shell prompt, users
merely have to execute <SAMP>`setenv LANG de_DE&acute;</SAMP> (in <CODE>csh</CODE>) or
<SAMP>`export LANG; LANG=de_DE&acute;</SAMP> (in <CODE>sh</CODE>). They could even do
diff --git a/doc/gettext_foot.html b/doc/gettext_foot.html
index 6cb2fbb..7d59a83 100644
--- a/doc/gettext_foot.html
+++ b/doc/gettext_foot.html
@@ -1,14 +1,14 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52a
- from gettext.texi on 30 November 2001 -->
+ from gettext.texi on 31 January 2002 -->
<TITLE>GNU gettext utilities - Footnotes</TITLE>
</HEAD>
<BODY>
-<H1>GNU gettext tools, version 0.11-pre2</H1>
+<H1>GNU gettext tools, version 0.11</H1>
<H2>Native Language Support Library and Tools</H2>
-<H2>Edition 0.11-pre2, 30 November 2001</H2>
+<H2>Edition 0.11, 30 January 2002</H2>
<ADDRESS>Ulrich Drepper</ADDRESS>
<ADDRESS>Jim Meyering</ADDRESS>
<ADDRESS>Fran&ccedil;ois Pinard</ADDRESS>
@@ -36,7 +36,7 @@ variables.
<P>Additions are welcome. Send appropriate information to
<A HREF="mailto:bug-glibc-manual@gnu.org">bug-glibc-manual@gnu.org</A>.
<P><HR><P>
-This document was generated on 30 November 2001 using the
+This document was generated on 31 January 2002 using the
<A HREF="http://wwwinfo.cern.ch/dis/texi2html/">texi2html</A>
translator version 1.52a.</P>
</BODY>
diff --git a/doc/gettext_toc.html b/doc/gettext_toc.html
index eb45ec1..02b1455 100644
--- a/doc/gettext_toc.html
+++ b/doc/gettext_toc.html
@@ -1,14 +1,14 @@
<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52a
- from gettext.texi on 30 November 2001 -->
+ from gettext.texi on 31 January 2002 -->
<TITLE>GNU gettext utilities - Table of Contents</TITLE>
</HEAD>
<BODY>
-<H1>GNU gettext tools, version 0.11-pre2</H1>
+<H1>GNU gettext tools, version 0.11</H1>
<H2>Native Language Support Library and Tools</H2>
-<H2>Edition 0.11-pre2, 30 November 2001</H2>
+<H2>Edition 0.11, 30 January 2002</H2>
<ADDRESS>Ulrich Drepper</ADDRESS>
<ADDRESS>Jim Meyering</ADDRESS>
<ADDRESS>Fran&ccedil;ois Pinard</ADDRESS>
@@ -125,7 +125,7 @@
<LI><A NAME="TOC77" HREF="gettext_7.html#SEC77">7.3.4 Output details</A>
<LI><A NAME="TOC78" HREF="gettext_7.html#SEC78">7.3.5 Informative output</A>
</UL>
-<LI><A NAME="TOC79" HREF="gettext_7.html#SEC79">7.4 Invoking the <CODE>msgexec</CODE> Program</A>
+<LI><A NAME="TOC79" HREF="gettext_7.html#SEC79">7.4 Invoking the <CODE>msgfilter</CODE> Program</A>
<UL>
<LI><A NAME="TOC80" HREF="gettext_7.html#SEC80">7.4.1 Input file location</A>
<LI><A NAME="TOC81" HREF="gettext_7.html#SEC81">7.4.2 Output file location</A>
@@ -172,140 +172,152 @@
<LI><A NAME="TOC112" HREF="gettext_7.html#SEC112">7.9.3 Output details</A>
<LI><A NAME="TOC113" HREF="gettext_7.html#SEC113">7.9.4 Informative output</A>
</UL>
+<LI><A NAME="TOC114" HREF="gettext_7.html#SEC114">7.10 Invoking the <CODE>msgexec</CODE> Program</A>
+<UL>
+<LI><A NAME="TOC115" HREF="gettext_7.html#SEC115">7.10.1 Input file location</A>
+<LI><A NAME="TOC116" HREF="gettext_7.html#SEC116">7.10.2 Informative output</A>
+</UL>
</UL>
-<LI><A NAME="TOC114" HREF="gettext_8.html#SEC114">8 Producing Binary MO Files</A>
+<LI><A NAME="TOC117" HREF="gettext_8.html#SEC117">8 Producing Binary MO Files</A>
<UL>
-<LI><A NAME="TOC115" HREF="gettext_8.html#SEC115">8.1 Invoking the <CODE>msgfmt</CODE> Program</A>
+<LI><A NAME="TOC118" HREF="gettext_8.html#SEC118">8.1 Invoking the <CODE>msgfmt</CODE> Program</A>
<UL>
-<LI><A NAME="TOC116" HREF="gettext_8.html#SEC116">8.1.1 Input file location</A>
-<LI><A NAME="TOC117" HREF="gettext_8.html#SEC117">8.1.2 Operation mode</A>
-<LI><A NAME="TOC118" HREF="gettext_8.html#SEC118">8.1.3 Output file location</A>
-<LI><A NAME="TOC119" HREF="gettext_8.html#SEC119">8.1.4 Output file location in Java mode</A>
-<LI><A NAME="TOC120" HREF="gettext_8.html#SEC120">8.1.5 Input file interpretation</A>
-<LI><A NAME="TOC121" HREF="gettext_8.html#SEC121">8.1.6 Output details</A>
-<LI><A NAME="TOC122" HREF="gettext_8.html#SEC122">8.1.7 Informative output</A>
+<LI><A NAME="TOC119" HREF="gettext_8.html#SEC119">8.1.1 Input file location</A>
+<LI><A NAME="TOC120" HREF="gettext_8.html#SEC120">8.1.2 Operation mode</A>
+<LI><A NAME="TOC121" HREF="gettext_8.html#SEC121">8.1.3 Output file location</A>
+<LI><A NAME="TOC122" HREF="gettext_8.html#SEC122">8.1.4 Output file location in Java mode</A>
+<LI><A NAME="TOC123" HREF="gettext_8.html#SEC123">8.1.5 Input file interpretation</A>
+<LI><A NAME="TOC124" HREF="gettext_8.html#SEC124">8.1.6 Output details</A>
+<LI><A NAME="TOC125" HREF="gettext_8.html#SEC125">8.1.7 Informative output</A>
</UL>
-<LI><A NAME="TOC123" HREF="gettext_8.html#SEC123">8.2 Invoking the <CODE>msgunfmt</CODE> Program</A>
+<LI><A NAME="TOC126" HREF="gettext_8.html#SEC126">8.2 Invoking the <CODE>msgunfmt</CODE> Program</A>
<UL>
-<LI><A NAME="TOC124" HREF="gettext_8.html#SEC124">8.2.1 Operation mode</A>
-<LI><A NAME="TOC125" HREF="gettext_8.html#SEC125">8.2.2 Input file location</A>
-<LI><A NAME="TOC126" HREF="gettext_8.html#SEC126">8.2.3 Input file location in Java mode</A>
-<LI><A NAME="TOC127" HREF="gettext_8.html#SEC127">8.2.4 Output file location</A>
-<LI><A NAME="TOC128" HREF="gettext_8.html#SEC128">8.2.5 Output details</A>
-<LI><A NAME="TOC129" HREF="gettext_8.html#SEC129">8.2.6 Informative output</A>
+<LI><A NAME="TOC127" HREF="gettext_8.html#SEC127">8.2.1 Operation mode</A>
+<LI><A NAME="TOC128" HREF="gettext_8.html#SEC128">8.2.2 Input file location</A>
+<LI><A NAME="TOC129" HREF="gettext_8.html#SEC129">8.2.3 Input file location in Java mode</A>
+<LI><A NAME="TOC130" HREF="gettext_8.html#SEC130">8.2.4 Output file location</A>
+<LI><A NAME="TOC131" HREF="gettext_8.html#SEC131">8.2.5 Output details</A>
+<LI><A NAME="TOC132" HREF="gettext_8.html#SEC132">8.2.6 Informative output</A>
</UL>
-<LI><A NAME="TOC130" HREF="gettext_8.html#SEC130">8.3 The Format of GNU MO Files</A>
+<LI><A NAME="TOC133" HREF="gettext_8.html#SEC133">8.3 The Format of GNU MO Files</A>
</UL>
-<LI><A NAME="TOC131" HREF="gettext_9.html#SEC131">9 The User's View</A>
+<LI><A NAME="TOC134" HREF="gettext_9.html#SEC134">9 The User's View</A>
<UL>
-<LI><A NAME="TOC132" HREF="gettext_9.html#SEC132">9.1 The Current <TT>`ABOUT-NLS&acute;</TT> Matrix</A>
-<LI><A NAME="TOC133" HREF="gettext_9.html#SEC133">9.2 Magic for Installers</A>
-<LI><A NAME="TOC134" HREF="gettext_9.html#SEC134">9.3 Magic for End Users</A>
+<LI><A NAME="TOC135" HREF="gettext_9.html#SEC135">9.1 The Current <TT>`ABOUT-NLS&acute;</TT> Matrix</A>
+<LI><A NAME="TOC136" HREF="gettext_9.html#SEC136">9.2 Magic for Installers</A>
+<LI><A NAME="TOC137" HREF="gettext_9.html#SEC137">9.3 Magic for End Users</A>
</UL>
-<LI><A NAME="TOC135" HREF="gettext_10.html#SEC135">10 The Programmer's View</A>
+<LI><A NAME="TOC138" HREF="gettext_10.html#SEC138">10 The Programmer's View</A>
<UL>
-<LI><A NAME="TOC136" HREF="gettext_10.html#SEC136">10.1 About <CODE>catgets</CODE></A>
+<LI><A NAME="TOC139" HREF="gettext_10.html#SEC139">10.1 About <CODE>catgets</CODE></A>
<UL>
-<LI><A NAME="TOC137" HREF="gettext_10.html#SEC137">10.1.1 The Interface</A>
-<LI><A NAME="TOC138" HREF="gettext_10.html#SEC138">10.1.2 Problems with the <CODE>catgets</CODE> Interface?!</A>
+<LI><A NAME="TOC140" HREF="gettext_10.html#SEC140">10.1.1 The Interface</A>
+<LI><A NAME="TOC141" HREF="gettext_10.html#SEC141">10.1.2 Problems with the <CODE>catgets</CODE> Interface?!</A>
</UL>
-<LI><A NAME="TOC139" HREF="gettext_10.html#SEC139">10.2 About <CODE>gettext</CODE></A>
+<LI><A NAME="TOC142" HREF="gettext_10.html#SEC142">10.2 About <CODE>gettext</CODE></A>
<UL>
-<LI><A NAME="TOC140" HREF="gettext_10.html#SEC140">10.2.1 The Interface</A>
-<LI><A NAME="TOC141" HREF="gettext_10.html#SEC141">10.2.2 Solving Ambiguities</A>
-<LI><A NAME="TOC142" HREF="gettext_10.html#SEC142">10.2.3 Locating Message Catalog Files</A>
-<LI><A NAME="TOC143" HREF="gettext_10.html#SEC143">10.2.4 How to specify the output character set <CODE>gettext</CODE> uses</A>
-<LI><A NAME="TOC144" HREF="gettext_10.html#SEC144">10.2.5 Additional functions for plural forms</A>
-<LI><A NAME="TOC145" HREF="gettext_10.html#SEC145">10.2.6 How to use <CODE>gettext</CODE> in GUI programs</A>
-<LI><A NAME="TOC146" HREF="gettext_10.html#SEC146">10.2.7 Optimization of the *gettext functions</A>
+<LI><A NAME="TOC143" HREF="gettext_10.html#SEC143">10.2.1 The Interface</A>
+<LI><A NAME="TOC144" HREF="gettext_10.html#SEC144">10.2.2 Solving Ambiguities</A>
+<LI><A NAME="TOC145" HREF="gettext_10.html#SEC145">10.2.3 Locating Message Catalog Files</A>
+<LI><A NAME="TOC146" HREF="gettext_10.html#SEC146">10.2.4 How to specify the output character set <CODE>gettext</CODE> uses</A>
+<LI><A NAME="TOC147" HREF="gettext_10.html#SEC147">10.2.5 Additional functions for plural forms</A>
+<LI><A NAME="TOC148" HREF="gettext_10.html#SEC148">10.2.6 How to use <CODE>gettext</CODE> in GUI programs</A>
+<LI><A NAME="TOC149" HREF="gettext_10.html#SEC149">10.2.7 Optimization of the *gettext functions</A>
</UL>
-<LI><A NAME="TOC147" HREF="gettext_10.html#SEC147">10.3 Comparing the Two Interfaces</A>
-<LI><A NAME="TOC148" HREF="gettext_10.html#SEC148">10.4 Using libintl.a in own programs</A>
-<LI><A NAME="TOC149" HREF="gettext_10.html#SEC149">10.5 Being a <CODE>gettext</CODE> grok</A>
-<LI><A NAME="TOC150" HREF="gettext_10.html#SEC150">10.6 Temporary Notes for the Programmers Chapter</A>
+<LI><A NAME="TOC150" HREF="gettext_10.html#SEC150">10.3 Comparing the Two Interfaces</A>
+<LI><A NAME="TOC151" HREF="gettext_10.html#SEC151">10.4 Using libintl.a in own programs</A>
+<LI><A NAME="TOC152" HREF="gettext_10.html#SEC152">10.5 Being a <CODE>gettext</CODE> grok</A>
+<LI><A NAME="TOC153" HREF="gettext_10.html#SEC153">10.6 Temporary Notes for the Programmers Chapter</A>
<UL>
-<LI><A NAME="TOC151" HREF="gettext_10.html#SEC151">10.6.1 Temporary - Two Possible Implementations</A>
-<LI><A NAME="TOC152" HREF="gettext_10.html#SEC152">10.6.2 Temporary - About <CODE>catgets</CODE></A>
-<LI><A NAME="TOC153" HREF="gettext_10.html#SEC153">10.6.3 Temporary - Why a single implementation</A>
-<LI><A NAME="TOC154" HREF="gettext_10.html#SEC154">10.6.4 Temporary - Notes</A>
+<LI><A NAME="TOC154" HREF="gettext_10.html#SEC154">10.6.1 Temporary - Two Possible Implementations</A>
+<LI><A NAME="TOC155" HREF="gettext_10.html#SEC155">10.6.2 Temporary - About <CODE>catgets</CODE></A>
+<LI><A NAME="TOC156" HREF="gettext_10.html#SEC156">10.6.3 Temporary - Why a single implementation</A>
+<LI><A NAME="TOC157" HREF="gettext_10.html#SEC157">10.6.4 Temporary - Notes</A>
</UL>
</UL>
-<LI><A NAME="TOC155" HREF="gettext_11.html#SEC155">11 The Translator's View</A>
+<LI><A NAME="TOC158" HREF="gettext_11.html#SEC158">11 The Translator's View</A>
<UL>
-<LI><A NAME="TOC156" HREF="gettext_11.html#SEC156">11.1 Introduction 0</A>
-<LI><A NAME="TOC157" HREF="gettext_11.html#SEC157">11.2 Introduction 1</A>
-<LI><A NAME="TOC158" HREF="gettext_11.html#SEC158">11.3 Discussions</A>
-<LI><A NAME="TOC159" HREF="gettext_11.html#SEC159">11.4 Organization</A>
+<LI><A NAME="TOC159" HREF="gettext_11.html#SEC159">11.1 Introduction 0</A>
+<LI><A NAME="TOC160" HREF="gettext_11.html#SEC160">11.2 Introduction 1</A>
+<LI><A NAME="TOC161" HREF="gettext_11.html#SEC161">11.3 Discussions</A>
+<LI><A NAME="TOC162" HREF="gettext_11.html#SEC162">11.4 Organization</A>
<UL>
-<LI><A NAME="TOC160" HREF="gettext_11.html#SEC160">11.4.1 Central Coordination</A>
-<LI><A NAME="TOC161" HREF="gettext_11.html#SEC161">11.4.2 National Teams</A>
+<LI><A NAME="TOC163" HREF="gettext_11.html#SEC163">11.4.1 Central Coordination</A>
+<LI><A NAME="TOC164" HREF="gettext_11.html#SEC164">11.4.2 National Teams</A>
<UL>
-<LI><A NAME="TOC162" HREF="gettext_11.html#SEC162">11.4.2.1 Sub-Cultures</A>
-<LI><A NAME="TOC163" HREF="gettext_11.html#SEC163">11.4.2.2 Organizational Ideas</A>
+<LI><A NAME="TOC165" HREF="gettext_11.html#SEC165">11.4.2.1 Sub-Cultures</A>
+<LI><A NAME="TOC166" HREF="gettext_11.html#SEC166">11.4.2.2 Organizational Ideas</A>
</UL>
-<LI><A NAME="TOC164" HREF="gettext_11.html#SEC164">11.4.3 Mailing Lists</A>
+<LI><A NAME="TOC167" HREF="gettext_11.html#SEC167">11.4.3 Mailing Lists</A>
</UL>
-<LI><A NAME="TOC165" HREF="gettext_11.html#SEC165">11.5 Information Flow</A>
+<LI><A NAME="TOC168" HREF="gettext_11.html#SEC168">11.5 Information Flow</A>
</UL>
-<LI><A NAME="TOC166" HREF="gettext_12.html#SEC166">12 The Maintainer's View</A>
+<LI><A NAME="TOC169" HREF="gettext_12.html#SEC169">12 The Maintainer's View</A>
<UL>
-<LI><A NAME="TOC167" HREF="gettext_12.html#SEC167">12.1 Flat or Non-Flat Directory Structures</A>
-<LI><A NAME="TOC168" HREF="gettext_12.html#SEC168">12.2 Prerequisite Works</A>
-<LI><A NAME="TOC169" HREF="gettext_12.html#SEC169">12.3 Invoking the <CODE>gettextize</CODE> Program</A>
-<LI><A NAME="TOC170" HREF="gettext_12.html#SEC170">12.4 Files You Must Create or Alter</A>
+<LI><A NAME="TOC170" HREF="gettext_12.html#SEC170">12.1 Flat or Non-Flat Directory Structures</A>
+<LI><A NAME="TOC171" HREF="gettext_12.html#SEC171">12.2 Prerequisite Works</A>
+<LI><A NAME="TOC172" HREF="gettext_12.html#SEC172">12.3 Invoking the <CODE>gettextize</CODE> Program</A>
+<LI><A NAME="TOC173" HREF="gettext_12.html#SEC173">12.4 Files You Must Create or Alter</A>
+<UL>
+<LI><A NAME="TOC174" HREF="gettext_12.html#SEC174">12.4.1 <TT>`POTFILES.in&acute;</TT> in <TT>`po/&acute;</TT></A>
+<LI><A NAME="TOC175" HREF="gettext_12.html#SEC175">12.4.2 <TT>`LINGUAS&acute;</TT> in <TT>`po/&acute;</TT></A>
+<LI><A NAME="TOC176" HREF="gettext_12.html#SEC176">12.4.3 <TT>`Makefile&acute;</TT> pieces in <TT>`po/&acute;</TT></A>
+<LI><A NAME="TOC177" HREF="gettext_12.html#SEC177">12.4.4 <TT>`configure.in&acute;</TT> at top level</A>
+<LI><A NAME="TOC178" HREF="gettext_12.html#SEC178">12.4.5 <TT>`config.guess&acute;</TT>, <TT>`config.sub&acute;</TT> at top level</A>
+<LI><A NAME="TOC179" HREF="gettext_12.html#SEC179">12.4.6 <TT>`aclocal.m4&acute;</TT> at top level</A>
+<LI><A NAME="TOC180" HREF="gettext_12.html#SEC180">12.4.7 <TT>`acconfig.h&acute;</TT> at top level</A>
+<LI><A NAME="TOC181" HREF="gettext_12.html#SEC181">12.4.8 <TT>`Makefile.in&acute;</TT> at top level</A>
+<LI><A NAME="TOC182" HREF="gettext_12.html#SEC182">12.4.9 <TT>`Makefile.in&acute;</TT> in <TT>`src/&acute;</TT></A>
+<LI><A NAME="TOC183" HREF="gettext_12.html#SEC183">12.4.10 <TT>`gettext.h&acute;</TT> in <TT>`lib/&acute;</TT></A>
+</UL>
+<LI><A NAME="TOC184" HREF="gettext_12.html#SEC184">12.5 Autoconf macros for use in <TT>`configure.in&acute;</TT></A>
<UL>
-<LI><A NAME="TOC171" HREF="gettext_12.html#SEC171">12.4.1 <TT>`POTFILES.in&acute;</TT> in <TT>`po/&acute;</TT></A>
-<LI><A NAME="TOC172" HREF="gettext_12.html#SEC172">12.4.2 <TT>`LINGUAS&acute;</TT> in <TT>`po/&acute;</TT></A>
-<LI><A NAME="TOC173" HREF="gettext_12.html#SEC173">12.4.3 <TT>`Makefile&acute;</TT> pieces in <TT>`po/&acute;</TT></A>
-<LI><A NAME="TOC174" HREF="gettext_12.html#SEC174">12.4.4 <TT>`configure.in&acute;</TT> at top level</A>
-<LI><A NAME="TOC175" HREF="gettext_12.html#SEC175">12.4.5 <TT>`config.guess&acute;</TT>, <TT>`config.sub&acute;</TT> at top level</A>
-<LI><A NAME="TOC176" HREF="gettext_12.html#SEC176">12.4.6 <TT>`aclocal.m4&acute;</TT> at top level</A>
-<LI><A NAME="TOC177" HREF="gettext_12.html#SEC177">12.4.7 <TT>`acconfig.h&acute;</TT> at top level</A>
-<LI><A NAME="TOC178" HREF="gettext_12.html#SEC178">12.4.8 <TT>`Makefile.in&acute;</TT> at top level</A>
-<LI><A NAME="TOC179" HREF="gettext_12.html#SEC179">12.4.9 <TT>`Makefile.in&acute;</TT> in <TT>`src/&acute;</TT></A>
+<LI><A NAME="TOC185" HREF="gettext_12.html#SEC185">12.5.1 AM_GNU_GETTEXT in <TT>`gettext.m4&acute;</TT></A>
+<LI><A NAME="TOC186" HREF="gettext_12.html#SEC186">12.5.2 AM_ICONV in <TT>`iconv.m4&acute;</TT></A>
</UL>
</UL>
-<LI><A NAME="TOC180" HREF="gettext_13.html#SEC180">13 Other Programming Languages</A>
+<LI><A NAME="TOC187" HREF="gettext_13.html#SEC187">13 Other Programming Languages</A>
<UL>
-<LI><A NAME="TOC181" HREF="gettext_13.html#SEC181">13.1 The Language Implementor's View</A>
-<LI><A NAME="TOC182" HREF="gettext_13.html#SEC182">13.2 The Programmer's View</A>
-<LI><A NAME="TOC183" HREF="gettext_13.html#SEC183">13.3 The Translator's View</A>
-<LI><A NAME="TOC184" HREF="gettext_13.html#SEC184">13.4 Individual Programming Languages</A>
+<LI><A NAME="TOC188" HREF="gettext_13.html#SEC188">13.1 The Language Implementor's View</A>
+<LI><A NAME="TOC189" HREF="gettext_13.html#SEC189">13.2 The Programmer's View</A>
+<LI><A NAME="TOC190" HREF="gettext_13.html#SEC190">13.3 The Translator's View</A>
+<LI><A NAME="TOC191" HREF="gettext_13.html#SEC191">13.4 The Maintainer's View</A>
+<LI><A NAME="TOC192" HREF="gettext_13.html#SEC192">13.5 Individual Programming Languages</A>
<UL>
-<LI><A NAME="TOC185" HREF="gettext_13.html#SEC185">13.4.1 C, C++, Objective C</A>
-<LI><A NAME="TOC186" HREF="gettext_13.html#SEC186">13.4.2 sh - Shell Script</A>
-<LI><A NAME="TOC187" HREF="gettext_13.html#SEC187">13.4.3 bash - Bourne-Again Shell Script</A>
-<LI><A NAME="TOC188" HREF="gettext_13.html#SEC188">13.4.4 Python</A>
-<LI><A NAME="TOC189" HREF="gettext_13.html#SEC189">13.4.5 GNU clisp - Common Lisp</A>
-<LI><A NAME="TOC190" HREF="gettext_13.html#SEC190">13.4.6 GNU clisp C sources</A>
-<LI><A NAME="TOC191" HREF="gettext_13.html#SEC191">13.4.7 Emacs Lisp</A>
-<LI><A NAME="TOC192" HREF="gettext_13.html#SEC192">13.4.8 librep</A>
-<LI><A NAME="TOC193" HREF="gettext_13.html#SEC193">13.4.9 GNU Smalltalk</A>
-<LI><A NAME="TOC194" HREF="gettext_13.html#SEC194">13.4.10 Java</A>
-<LI><A NAME="TOC195" HREF="gettext_13.html#SEC195">13.4.11 GNU awk</A>
-<LI><A NAME="TOC196" HREF="gettext_13.html#SEC196">13.4.12 Pascal - Free Pascal Compiler</A>
-<LI><A NAME="TOC197" HREF="gettext_13.html#SEC197">13.4.13 wxWindows library</A>
-<LI><A NAME="TOC198" HREF="gettext_13.html#SEC198">13.4.14 YCP - YaST2 scripting language</A>
-<LI><A NAME="TOC199" HREF="gettext_13.html#SEC199">13.4.15 Perl</A>
-<LI><A NAME="TOC200" HREF="gettext_13.html#SEC200">13.4.16 PHP Hypertext Preprocessor</A>
-<LI><A NAME="TOC201" HREF="gettext_13.html#SEC201">13.4.17 Pike</A>
+<LI><A NAME="TOC193" HREF="gettext_13.html#SEC193">13.5.1 C, C++, Objective C</A>
+<LI><A NAME="TOC194" HREF="gettext_13.html#SEC194">13.5.2 sh - Shell Script</A>
+<LI><A NAME="TOC195" HREF="gettext_13.html#SEC195">13.5.3 bash - Bourne-Again Shell Script</A>
+<LI><A NAME="TOC196" HREF="gettext_13.html#SEC196">13.5.4 Python</A>
+<LI><A NAME="TOC197" HREF="gettext_13.html#SEC197">13.5.5 GNU clisp - Common Lisp</A>
+<LI><A NAME="TOC198" HREF="gettext_13.html#SEC198">13.5.6 GNU clisp C sources</A>
+<LI><A NAME="TOC199" HREF="gettext_13.html#SEC199">13.5.7 Emacs Lisp</A>
+<LI><A NAME="TOC200" HREF="gettext_13.html#SEC200">13.5.8 librep</A>
+<LI><A NAME="TOC201" HREF="gettext_13.html#SEC201">13.5.9 GNU Smalltalk</A>
+<LI><A NAME="TOC202" HREF="gettext_13.html#SEC202">13.5.10 Java</A>
+<LI><A NAME="TOC203" HREF="gettext_13.html#SEC203">13.5.11 GNU awk</A>
+<LI><A NAME="TOC204" HREF="gettext_13.html#SEC204">13.5.12 Pascal - Free Pascal Compiler</A>
+<LI><A NAME="TOC205" HREF="gettext_13.html#SEC205">13.5.13 wxWindows library</A>
+<LI><A NAME="TOC206" HREF="gettext_13.html#SEC206">13.5.14 YCP - YaST2 scripting language</A>
+<LI><A NAME="TOC207" HREF="gettext_13.html#SEC207">13.5.15 Perl</A>
+<LI><A NAME="TOC208" HREF="gettext_13.html#SEC208">13.5.16 PHP Hypertext Preprocessor</A>
+<LI><A NAME="TOC209" HREF="gettext_13.html#SEC209">13.5.17 Pike</A>
</UL>
-<LI><A NAME="TOC202" HREF="gettext_13.html#SEC202">13.5 Internationalizable Data</A>
+<LI><A NAME="TOC210" HREF="gettext_13.html#SEC210">13.6 Internationalizable Data</A>
<UL>
-<LI><A NAME="TOC203" HREF="gettext_13.html#SEC203">13.5.1 POT - Portable Object Template</A>
-<LI><A NAME="TOC204" HREF="gettext_13.html#SEC204">13.5.2 Resource String Table</A>
+<LI><A NAME="TOC211" HREF="gettext_13.html#SEC211">13.6.1 POT - Portable Object Template</A>
+<LI><A NAME="TOC212" HREF="gettext_13.html#SEC212">13.6.2 Resource String Table</A>
</UL>
</UL>
-<LI><A NAME="TOC205" HREF="gettext_14.html#SEC205">14 Concluding Remarks</A>
+<LI><A NAME="TOC213" HREF="gettext_14.html#SEC213">14 Concluding Remarks</A>
<UL>
-<LI><A NAME="TOC206" HREF="gettext_14.html#SEC206">14.1 History of GNU <CODE>gettext</CODE></A>
-<LI><A NAME="TOC207" HREF="gettext_14.html#SEC207">14.2 Related Readings</A>
+<LI><A NAME="TOC214" HREF="gettext_14.html#SEC214">14.1 History of GNU <CODE>gettext</CODE></A>
+<LI><A NAME="TOC215" HREF="gettext_14.html#SEC215">14.2 Related Readings</A>
</UL>
-<LI><A NAME="TOC208" HREF="gettext_15.html#SEC208">A Language Codes</A>
-<LI><A NAME="TOC209" HREF="gettext_16.html#SEC209">B Country Codes</A>
+<LI><A NAME="TOC216" HREF="gettext_15.html#SEC216">A Language Codes</A>
+<LI><A NAME="TOC217" HREF="gettext_16.html#SEC217">B Country Codes</A>
</UL>
<P><HR><P>
-This document was generated on 30 November 2001 using the
+This document was generated on 31 January 2002 using the
<A HREF="http://wwwinfo.cern.ch/dis/texi2html/">texi2html</A>
translator version 1.52a.</P>
</BODY>
diff --git a/doc/version.texi b/doc/version.texi
index c6892ee..e4687f9 100644
--- a/doc/version.texi
+++ b/doc/version.texi
@@ -1,4 +1,4 @@
-@set UPDATED 30 November 2001
-@set UPDATED-MONTH November 2001
-@set EDITION 0.11-pre2
-@set VERSION 0.11-pre2
+@set UPDATED 30 January 2002
+@set UPDATED-MONTH January 2002
+@set EDITION 0.11
+@set VERSION 0.11