]> git.ipfire.org Git - thirdparty/gettext.git/commitdiff
Obsolete.
authorBruno Haible <bruno@clisp.org>
Fri, 14 Feb 2003 17:04:54 +0000 (17:04 +0000)
committerBruno Haible <bruno@clisp.org>
Tue, 23 Jun 2009 10:10:02 +0000 (12:10 +0200)
35 files changed:
doc/gettext.info [deleted file]
doc/gettext.info-1 [deleted file]
doc/gettext.info-10 [deleted file]
doc/gettext.info-2 [deleted file]
doc/gettext.info-3 [deleted file]
doc/gettext.info-4 [deleted file]
doc/gettext.info-5 [deleted file]
doc/gettext.info-6 [deleted file]
doc/gettext.info-7 [deleted file]
doc/gettext.info-8 [deleted file]
doc/gettext.info-9 [deleted file]
doc/gettext_1.html [deleted file]
doc/gettext_10.html [deleted file]
doc/gettext_11.html [deleted file]
doc/gettext_12.html [deleted file]
doc/gettext_13.html [deleted file]
doc/gettext_14.html [deleted file]
doc/gettext_15.html [deleted file]
doc/gettext_16.html [deleted file]
doc/gettext_17.html [deleted file]
doc/gettext_18.html [deleted file]
doc/gettext_19.html [deleted file]
doc/gettext_2.html [deleted file]
doc/gettext_20.html [deleted file]
doc/gettext_21.html [deleted file]
doc/gettext_22.html [deleted file]
doc/gettext_3.html [deleted file]
doc/gettext_4.html [deleted file]
doc/gettext_5.html [deleted file]
doc/gettext_6.html [deleted file]
doc/gettext_7.html [deleted file]
doc/gettext_8.html [deleted file]
doc/gettext_9.html [deleted file]
doc/gettext_foot.html [deleted file]
doc/gettext_toc.html [deleted file]

diff --git a/doc/gettext.info b/doc/gettext.info
deleted file mode 100644 (file)
index b4b1eed..0000000
+++ /dev/null
@@ -1,234 +0,0 @@
-This is gettext.info, produced by makeinfo version 4.2 from
-gettext.texi.
-
-INFO-DIR-SECTION GNU Gettext Utilities
-START-INFO-DIR-ENTRY
-* gettext: (gettext).                          GNU gettext utilities.
-* autopoint: (gettext)autopoint Invocation.    Copy gettext infrastructure.
-* gettextize: (gettext)gettextize Invocation.  Prepare a package for gettext.
-* msgattrib: (gettext)msgattrib Invocation.    Select part of a PO file.
-* msgcat: (gettext)msgcat Invocation.          Combine several PO files.
-* msgcmp: (gettext)msgcmp Invocation.          Compare a PO file and template.
-* msgcomm: (gettext)msgcomm Invocation.        Match two PO files.
-* msgconv: (gettext)msgconv Invocation.        Convert PO file to encoding.
-* msgen: (gettext)msgen Invocation.            Create an English PO file.
-* msgexec: (gettext)msgexec Invocation.        Process a PO file.
-* msgfilter: (gettext)msgfilter Invocation.    Pipe a PO file through a filter.
-* msgfmt: (gettext)msgfmt Invocation.          Make MO files out of PO files.
-* msggrep: (gettext)msggrep Invocation.        Select part of a PO file.
-* msginit: (gettext)msginit Invocation.        Create a fresh PO file.
-* msgmerge: (gettext)msgmerge Invocation.      Update a PO file from template.
-* msgunfmt: (gettext)msgunfmt Invocation.      Uncompile MO file into PO file.
-* msguniq: (gettext)msguniq Invocation.        Unify duplicates for PO file.
-* xgettext: (gettext)xgettext Invocation.      Extract strings into a PO file.
-* ISO639: (gettext)Language Codes.             ISO 639 language codes.
-* ISO3166: (gettext)Country Codes.             ISO 3166 country codes.
-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, 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
-preserved on all copies.
-
-   Permission is granted to copy and distribute modified versions of
-this manual under the conditions for verbatim copying, provided that
-the entire resulting derived work is distributed under the terms of a
-permission notice identical to this one.
-
-   Permission is granted to copy and distribute translations of this
-manual into another language, under the above conditions for modified
-versions, except that this permission notice may be stated in a
-translation approved by the Foundation.
-
-\1f
-Indirect:
-gettext.info-1: 2520
-gettext.info-2: 50288
-gettext.info-3: 95147
-gettext.info-4: 142113
-gettext.info-5: 187723
-gettext.info-6: 235598
-gettext.info-7: 282648
-gettext.info-8: 332565
-gettext.info-9: 372723
-gettext.info-10: 409975
-\1f
-Tag Table:
-(Indirect)
-Node: Top\7f2520
-Node: Introduction\7f12918
-Node: Why\7f14776
-Ref: Why-Footnote-1\7f17883
-Node: Concepts\7f18039
-Node: Aspects\7f21452
-Node: Files\7f27290
-Node: Overview\7f29191
-Node: Basics\7f39983
-Node: Installation\7f40813
-Node: PO Files\7f42755
-Ref: PO Files-Footnote-1\7f50161
-Node: Main PO Commands\7f50288
-Node: Entry Positioning\7f55358
-Node: Normalizing\7f60812
-Node: Sources\7f65265
-Node: Triggering\7f66598
-Node: Preparing Strings\7f69628
-Node: Mark Keywords\7f76506
-Node: Marking\7f80061
-Node: c-format Flag\7f87782
-Node: Special cases\7f91693
-Node: Template\7f94426
-Node: xgettext Invocation\7f95147
-Node: Creating\7f102199
-Node: msginit Invocation\7f103080
-Node: Header Entry\7f104946
-Node: Updating\7f111352
-Node: msgmerge Invocation\7f112107
-Node: Translated Entries\7f116205
-Node: Fuzzy Entries\7f117559
-Node: Untranslated Entries\7f120728
-Node: Obsolete Entries\7f122648
-Node: Modifying Translations\7f125861
-Node: Modifying Comments\7f133818
-Node: Subedit\7f138231
-Node: C Sources Context\7f142113
-Node: Auxiliary\7f147223
-Node: Compendium\7f150448
-Node: Creating Compendia\7f151058
-Node: Using Compendia\7f153497
-Node: Manipulating\7f154385
-Node: msgcat Invocation\7f157865
-Node: msgconv Invocation\7f161340
-Node: msggrep Invocation\7f163746
-Node: msgfilter Invocation\7f167673
-Node: msguniq Invocation\7f171767
-Node: msgcomm Invocation\7f174883
-Node: msgcmp Invocation\7f178153
-Node: msgattrib Invocation\7f179383
-Node: msgen Invocation\7f182744
-Node: msgexec Invocation\7f185340
-Node: Binaries\7f187391
-Node: msgfmt Invocation\7f187723
-Node: msgunfmt Invocation\7f193455
-Node: MO Files\7f196382
-Node: Users\7f204473
-Node: Matrix\7f205956
-Node: Installers\7f207160
-Node: End Users\7f208330
-Node: Programmers\7f208979
-Node: catgets\7f210152
-Node: Interface to catgets\7f211555
-Node: Problems with catgets\7f213559
-Node: gettext\7f214460
-Node: Interface to gettext\7f215918
-Node: Ambiguities\7f218257
-Node: Locating Catalogs\7f220950
-Ref: Locating Catalogs-Footnote-1\7f222097
-Ref: Locating Catalogs-Footnote-2\7f222322
-Node: Charset conversion\7f222471
-Node: Plural forms\7f224913
-Ref: Plural forms-Footnote-1\7f235506
-Node: GUI program problems\7f235598
-Node: Optimized gettext\7f240702
-Node: Comparison\7f242035
-Node: Using libintl.a\7f246305
-Node: gettext grok\7f246738
-Node: Temp Programmers\7f249287
-Node: Temp Implementations\7f249727
-Node: Temp catgets\7f251093
-Node: Temp WSI\7f252780
-Node: Temp Notes\7f254768
-Node: Translators\7f255257
-Node: Trans Intro 0\7f255636
-Node: Trans Intro 1\7f258285
-Node: Discussions\7f260149
-Node: Organization\7f263648
-Node: Central Coordination\7f265629
-Node: National Teams\7f266757
-Node: Sub-Cultures\7f269269
-Node: Organizational Ideas\7f270188
-Node: Mailing Lists\7f271191
-Node: Information Flow\7f272994
-Node: Maintainers\7f275127
-Node: Flat and Non-Flat\7f277024
-Node: Prerequisites\7f278507
-Node: gettextize Invocation\7f282648
-Node: Adjusting Files\7f289351
-Node: po/POTFILES.in\7f291080
-Node: po/LINGUAS\7f292325
-Node: po/Makevars\7f293107
-Node: configure.in\7f294693
-Node: config.guess\7f296803
-Node: mkinstalldirs\7f297919
-Node: aclocal\7f298680
-Node: acconfig\7f300318
-Node: config.h.in\7f300804
-Node: Makefile\7f301961
-Node: src/Makefile\7f304542
-Node: lib/gettext.h\7f307557
-Node: autoconf macros\7f309782
-Node: AM_GNU_GETTEXT\7f310352
-Node: AM_GNU_GETTEXT_VERSION\7f314081
-Node: AM_ICONV\7f314511
-Node: CVS Issues\7f316705
-Node: Distributed CVS\7f317259
-Node: Files under CVS\7f319173
-Node: autopoint Invocation\7f321731
-Node: Programming Languages\7f323533
-Node: Language Implementors\7f324354
-Node: Programmers for other Languages\7f329180
-Node: Translators for other Languages\7f329746
-Node: c-format\7f330834
-Node: python-format\7f331345
-Node: lisp-format\7f331771
-Node: elisp-format\7f332086
-Node: librep-format\7f332565
-Node: smalltalk-format\7f332957
-Node: java-format\7f333446
-Node: awk-format\7f333878
-Node: object-pascal-format\7f334188
-Node: ycp-format\7f334404
-Node: tcl-format\7f334790
-Node: php-format\7f335071
-Node: Maintainers for other Languages\7f335394
-Node: List of Programming Languages\7f336621
-Node: C\7f337744
-Node: sh\7f338809
-Node: bash\7f339435
-Node: Python\7f340120
-Node: Common Lisp\7f341182
-Node: clisp C\7f341896
-Node: Emacs Lisp\7f342618
-Node: librep\7f343324
-Node: Smalltalk\7f343975
-Node: Java\7f344917
-Node: gawk\7f347587
-Node: Pascal\7f348414
-Node: wxWindows\7f349630
-Node: YCP\7f350364
-Node: Tcl\7f351023
-Node: Perl\7f352326
-Node: PHP\7f352944
-Node: Pike\7f353724
-Node: List of Data Formats\7f354350
-Node: POT\7f354809
-Node: RST\7f355053
-Node: Glade\7f355265
-Node: Conclusion\7f355543
-Node: History\7f356043
-Node: References\7f360145
-Node: Language Codes\7f361700
-Node: Country Codes\7f365639
-Node: Program Index\7f371359
-Node: Option Index\7f372723
-Node: Variable Index\7f399192
-Node: PO Mode Index\7f400294
-Node: Autoconf Macro Index\7f409652
-Node: Index\7f409975
-\1f
-End Tag Table
diff --git a/doc/gettext.info-1 b/doc/gettext.info-1
deleted file mode 100644 (file)
index 22cc54a..0000000
+++ /dev/null
@@ -1,1060 +0,0 @@
-This is gettext.info, produced by makeinfo version 4.2 from
-gettext.texi.
-
-INFO-DIR-SECTION GNU Gettext Utilities
-START-INFO-DIR-ENTRY
-* gettext: (gettext).                          GNU gettext utilities.
-* autopoint: (gettext)autopoint Invocation.    Copy gettext infrastructure.
-* gettextize: (gettext)gettextize Invocation.  Prepare a package for gettext.
-* msgattrib: (gettext)msgattrib Invocation.    Select part of a PO file.
-* msgcat: (gettext)msgcat Invocation.          Combine several PO files.
-* msgcmp: (gettext)msgcmp Invocation.          Compare a PO file and template.
-* msgcomm: (gettext)msgcomm Invocation.        Match two PO files.
-* msgconv: (gettext)msgconv Invocation.        Convert PO file to encoding.
-* msgen: (gettext)msgen Invocation.            Create an English PO file.
-* msgexec: (gettext)msgexec Invocation.        Process a PO file.
-* msgfilter: (gettext)msgfilter Invocation.    Pipe a PO file through a filter.
-* msgfmt: (gettext)msgfmt Invocation.          Make MO files out of PO files.
-* msggrep: (gettext)msggrep Invocation.        Select part of a PO file.
-* msginit: (gettext)msginit Invocation.        Create a fresh PO file.
-* msgmerge: (gettext)msgmerge Invocation.      Update a PO file from template.
-* msgunfmt: (gettext)msgunfmt Invocation.      Uncompile MO file into PO file.
-* msguniq: (gettext)msguniq Invocation.        Unify duplicates for PO file.
-* xgettext: (gettext)xgettext Invocation.      Extract strings into a PO file.
-* ISO639: (gettext)Language Codes.             ISO 639 language codes.
-* ISO3166: (gettext)Country Codes.             ISO 3166 country codes.
-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, 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
-preserved on all copies.
-
-   Permission is granted to copy and distribute modified versions of
-this manual under the conditions for verbatim copying, provided that
-the entire resulting derived work is distributed under the terms of a
-permission notice identical to this one.
-
-   Permission is granted to copy and distribute translations of this
-manual into another language, under the above conditions for modified
-versions, except that this permission notice may be stated in a
-translation approved by the Foundation.
-
-\1f
-File: gettext.info,  Node: Top,  Next: Introduction,  Prev: (dir),  Up: (dir)
-
-GNU `gettext' utilities
-***********************
-
-   This manual document the GNU gettext tools and the GNU libintl
-library, version 0.11.6-pre2.
-
-* Menu:
-
-* Introduction::                Introduction
-* Basics::                      PO Files and PO Mode Basics
-* Sources::                     Preparing Program Sources
-* Template::                    Making the PO Template File
-* Creating::                    Creating a New PO File
-* Updating::                    Updating Existing PO Files
-* Manipulating::                Manipulating PO Files
-* Binaries::                    Producing Binary MO Files
-* Users::                       The User's View
-* Programmers::                 The Programmer's View
-* Translators::                 The Translator's View
-* Maintainers::                 The Maintainer's View
-* Programming Languages::       Other Programming Languages
-* Conclusion::                  Concluding Remarks
-
-* Language Codes::              ISO 639 language codes
-* Country Codes::               ISO 3166 country codes
-
-* Program Index::               Index of Programs
-* Option Index::                Index of Command-Line Options
-* Variable Index::              Index of Environment Variables
-* PO Mode Index::               Index of Emacs PO Mode Commands
-* Autoconf Macro Index::        Index of Autoconf Macros
-* Index::                       General Index
-
- --- The Detailed Node Listing ---
-
-Introduction
-
-* Why::                         The Purpose of GNU `gettext'
-* Concepts::                    I18n, L10n, and Such
-* Aspects::                     Aspects in Native Language Support
-* Files::                       Files Conveying Translations
-* Overview::                    Overview of GNU `gettext'
-
-PO Files and PO Mode Basics
-
-* Installation::                Completing GNU `gettext' Installation
-* PO Files::                    The Format of PO Files
-* Main PO Commands::            Main Commands
-* Entry Positioning::           Entry Positioning
-* Normalizing::                 Normalizing Strings in Entries
-
-Preparing Program Sources
-
-* Triggering::                  Triggering `gettext' Operations
-* Preparing Strings::           Preparing Translatable Strings
-* Mark Keywords::               How Marks Appear in Sources
-* Marking::                     Marking Translatable Strings
-* c-format Flag::               Telling something about the following string
-* Special cases::               Special Cases of Translatable Strings
-
-Making the PO Template File
-
-* xgettext Invocation::         Invoking the `xgettext' Program
-
-Creating a New PO File
-
-* msginit Invocation::          Invoking the `msginit' Program
-* Header Entry::                Filling in the Header Entry
-
-Updating Existing PO Files
-
-* msgmerge Invocation::         Invoking the `msgmerge' Program
-* Translated Entries::          Translated Entries
-* Fuzzy Entries::               Fuzzy Entries
-* Untranslated Entries::        Untranslated Entries
-* Obsolete Entries::            Obsolete Entries
-* Modifying Translations::      Modifying Translations
-* Modifying Comments::          Modifying Comments
-* Subedit::                     Mode for Editing Translations
-* C Sources Context::           C Sources Context
-* Auxiliary::                   Consulting Auxiliary PO Files
-* Compendium::                  Using Translation Compendia
-
-Using Translation Compendia
-
-* Creating Compendia::          Merging translations for later use
-* Using Compendia::             Using older translations if they fit
-
-Manipulating PO Files
-
-* msgcat Invocation::           Invoking the `msgcat' Program
-* msgconv Invocation::          Invoking the `msgconv' Program
-* msggrep Invocation::          Invoking the `msggrep' 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
-
-* msgfmt Invocation::           Invoking the `msgfmt' Program
-* msgunfmt Invocation::         Invoking the `msgunfmt' Program
-* MO Files::                    The Format of GNU MO Files
-
-The User's View
-
-* Matrix::                      The Current `ABOUT-NLS' Matrix
-* Installers::                  Magic for Installers
-* End Users::                   Magic for End Users
-
-The Programmer's View
-
-* 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
-
-About `catgets'
-
-* Interface to catgets::        The interface
-* Problems with catgets::       Problems with the `catgets' interface?!
-
-About `gettext'
-
-* Interface to gettext::        The interface
-* Ambiguities::                 Solving ambiguities
-* Locating Catalogs::           Locating message catalog files
-* Charset conversion::          How to request conversion to Unicode
-* Plural forms::                Additional functions for handling plurals
-* GUI program problems::        Another technique for solving ambiguities
-* Optimized gettext::           Optimization of the *gettext functions
-
-Temporary Notes for the Programmers Chapter
-
-* Temp Implementations::        Temporary - Two Possible Implementations
-* Temp catgets::                Temporary - About `catgets'
-* Temp WSI::                    Temporary - Why a single implementation
-* Temp Notes::                  Temporary - Notes
-
-The Translator's View
-
-* Trans Intro 0::               Introduction 0
-* Trans Intro 1::               Introduction 1
-* Discussions::                 Discussions
-* Organization::                Organization
-* Information Flow::            Information Flow
-
-Organization
-
-* Central Coordination::        Central Coordination
-* National Teams::              National Teams
-* Mailing Lists::               Mailing Lists
-
-National Teams
-
-* Sub-Cultures::                Sub-Cultures
-* Organizational Ideas::        Organizational Ideas
-
-The Maintainer's View
-
-* Flat and Non-Flat::           Flat or Non-Flat Directory Structures
-* Prerequisites::               Prerequisite Works
-* gettextize Invocation::       Invoking the `gettextize' Program
-* Adjusting Files::             Files You Must Create or Alter
-* autoconf macros::             Autoconf macros for use in `configure.in'
-* CVS Issues::                  Integrating with CVS
-
-Files You Must Create or Alter
-
-* po/POTFILES.in::              `POTFILES.in' in `po/'
-* po/LINGUAS::                  `LINGUAS' in `po/'
-* po/Makevars::                 `Makefile' pieces in `po/'
-* configure.in::                `configure.in' at top level
-* config.guess::                `config.guess', `config.sub' at top level
-* mkinstalldirs::               `mkinstalldirs' at top level
-* aclocal::                     `aclocal.m4' at top level
-* acconfig::                    `acconfig.h' at top level
-* config.h.in::                 `config.h.in' 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_GNU_GETTEXT_VERSION::      AM_GNU_GETTEXT_VERSION in `gettext.m4'
-* AM_ICONV::                    AM_ICONV in `iconv.m4'
-
-Integrating with CVS
-
-* Distributed CVS::             Avoiding version mismatch in distributed development
-* Files under CVS::             Files to put under CVS version control
-* autopoint Invocation::        Invoking the `autopoint' Program
-
-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
-
-The Translator's View
-
-* c-format::                    C Format Strings
-* python-format::               Python Format Strings
-* lisp-format::                 Lisp Format Strings
-* elisp-format::                Emacs Lisp Format Strings
-* librep-format::               librep Format Strings
-* smalltalk-format::            Smalltalk Format Strings
-* java-format::                 Java Format Strings
-* awk-format::                  awk Format Strings
-* object-pascal-format::        Object Pascal Format Strings
-* ycp-format::                  YCP Format Strings
-* tcl-format::                  Tcl Format Strings
-* php-format::                  PHP Format Strings
-
-Individual Programming Languages
-
-* C::                           C, C++, Objective C
-* sh::                          sh - Shell Script
-* bash::                        bash - Bourne-Again Shell Script
-* Python::                      Python
-* Common Lisp::                 GNU clisp - Common Lisp
-* clisp C::                     GNU clisp C sources
-* Emacs Lisp::                  Emacs Lisp
-* librep::                      librep
-* Smalltalk::                   GNU Smalltalk
-* Java::                        Java
-* gawk::                        GNU awk
-* Pascal::                      Pascal - Free Pascal Compiler
-* wxWindows::                   wxWindows library
-* YCP::                         YCP - YaST2 scripting language
-* Tcl::                         Tcl - Tk's scripting language
-* Perl::                        Perl
-* PHP::                         PHP Hypertext Preprocessor
-* Pike::                        Pike
-
-Internationalizable Data
-
-* POT::                         POT - Portable Object Template
-* RST::                         Resource String Table
-* Glade::                       Glade - GNOME user interface description
-
-Concluding Remarks
-
-* History::                     History of GNU `gettext'
-* References::                  Related Readings
-
-\1f
-File: gettext.info,  Node: Introduction,  Next: Basics,  Prev: Top,  Up: Top
-
-Introduction
-************
-
-     This manual is still in _DRAFT_ state.  Some sections are still
-     empty, or almost.  We keep merging material from other sources
-     (essentially e-mail folders) while the proper integration of this
-     material is delayed.
-
-   In this manual, we use _he_ when speaking of the programmer or
-maintainer, _she_ when speaking of the translator, and _they_ when
-speaking of the installers or end users of the translated program.
-This is only a convenience for clarifying the documentation.  It is
-_absolutely_ not meant to imply that some roles are more appropriate to
-males or females.  Besides, as you might guess, GNU `gettext' is meant
-to be useful for people using computers, whatever their sex, race,
-religion or nationality!
-
-   This chapter explains the goals sought in the creation of GNU
-`gettext' and the free Translation Project.  Then, it explains a few
-broad concepts around Native Language Support, and positions message
-translation with regard to other aspects of national and cultural
-variance, as they apply to to programs.  It also surveys those files
-used to convey the translations.  It explains how the various tools
-interact in the initial generation of these files, and later, how the
-maintenance cycle should usually operate.
-
-   Please send suggestions and corrections to:
-
-     Internet address:
-         bug-gnu-gettext@gnu.org
-
-Please include the manual's edition number and update date in your
-messages.
-
-* Menu:
-
-* Why::                         The Purpose of GNU `gettext'
-* Concepts::                    I18n, L10n, and Such
-* Aspects::                     Aspects in Native Language Support
-* Files::                       Files Conveying Translations
-* Overview::                    Overview of GNU `gettext'
-
-\1f
-File: gettext.info,  Node: Why,  Next: Concepts,  Prev: Introduction,  Up: Introduction
-
-The Purpose of GNU `gettext'
-============================
-
-   Usually, programs are written and documented in English, and use
-English at execution time to interact with users.  This is true not
-only of GNU software, but also of a great deal of commercial and free
-software.  Using a common language is quite handy for communication
-between developers, maintainers and users from all countries.  On the
-other hand, most people are less comfortable with English than with
-their own native language, and would prefer to use their mother tongue
-for day to day's work, as far as possible.  Many would simply _love_ to
-see their computer screen showing a lot less of English, and far more
-of their own language.
-
-   However, to many people, this dream might appear so far fetched that
-they may believe it is not even worth spending time thinking about it.
-They have no confidence at all that the dream might ever become true.
-Yet some have not lost hope, and have organized themselves.  The
-Translation Project is a formalization of this hope into a workable
-structure, which has a good chance to get all of us nearer the
-achievement of a truly multi-lingual set of programs.
-
-   GNU `gettext' is an important step for the Translation Project, as
-it is an asset on which we may build many other steps.  This package
-offers to programmers, translators and even users, a well integrated
-set of tools and documentation.  Specifically, the GNU `gettext'
-utilities are a set of tools that provides a framework within which
-other free packages may produce multi-lingual messages.  These tools
-include
-
-   * A set of conventions about how programs should be written to
-     support message catalogs.
-
-   * A directory and file naming organization for the message catalogs
-     themselves.
-
-   * A runtime library supporting the retrieval of translated messages.
-
-   * A few stand-alone programs to massage in various ways the sets of
-     translatable strings, or already translated strings.
-
-   * A special mode for Emacs(1) which helps preparing these sets and
-     bringing them up to date.
-
-   GNU `gettext' is designed to minimize the impact of
-internationalization on program sources, keeping this impact as small
-and hardly noticeable as possible.  Internationalization has better
-chances of succeeding if it is very light weighted, or at least, appear
-to be so, when looking at program sources.
-
-   The Translation Project also uses the GNU `gettext' distribution as
-a vehicle for documenting its structure and methods.  This goes beyond
-the strict technicalities of documenting the GNU `gettext' proper.  By
-so doing, translators will find in a single place, as far as possible,
-all they need to know for properly doing their translating work.  Also,
-this supplemental documentation might also help programmers, and even
-curious users, in understanding how GNU `gettext' is related to the
-remainder of the Translation Project, and consequently, have a glimpse
-at the _big picture_.
-
-   ---------- Footnotes ----------
-
-   (1) In this manual, all mentions of Emacs refers to either GNU Emacs
-or to XEmacs, which people sometimes call FSF Emacs and Lucid Emacs,
-respectively.
-
-\1f
-File: gettext.info,  Node: Concepts,  Next: Aspects,  Prev: Why,  Up: Introduction
-
-I18n, L10n, and Such
-====================
-
-   Two long words appear all the time when we discuss support of native
-language in programs, and these words have a precise meaning, worth
-being explained here, once and for all in this document.  The words are
-_internationalization_ and _localization_.  Many people, tired of
-writing these long words over and over again, took the habit of writing
-"i18n" and "l10n" instead, quoting the first and last letter of each
-word, and replacing the run of intermediate letters by a number merely
-telling how many such letters there are.  But in this manual, in the
-sake of clarity, we will patiently write the names in full, each time...
-
-   By "internationalization", one refers to the operation by which a
-program, or a set of programs turned into a package, is made aware of
-and able to support multiple languages.  This is a generalization
-process, 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 `gettext' offers one of these standards.  *Note
-Programmers::.
-
-   By "localization", one means the operation by which, in a set of
-programs already internationalized, one gives the program all needed
-information so that it can adapt itself to handle its input and output
-in a fashion which is correct for some native language and cultural
-habits.  This is a particularisation process, by which generic methods
-already implemented in an internationalized program are used in
-specific ways.  The programming environment puts several functions to
-the programmers disposal which allow this runtime configuration.  The
-formal description of specific set of cultural habits for some country,
-together with all associated translations targeted to the same native
-language, is called the "locale" for this language or country.  Users
-achieve localization of programs by setting proper values to special
-environment variables, prior to executing those programs, identifying
-which locale should be used.
-
-   In fact, locale message support is only one component of the cultural
-data that makes up a particular locale.  There are a whole host of
-routines and functions provided to aid programmers in developing
-internationalized software and which allow them to access the data
-stored in a particular locale.  When someone presently refers to a
-particular locale, they are obviously referring to the data stored
-within that particular locale.  Similarly, if a programmer is referring
-to "accessing the locale routines", they are referring to the complete
-suite of routines that access all of the locale's information.
-
-   One uses the expression "Native Language Support", or merely NLS,
-for speaking of the overall activity or feature encompassing both
-internationalization and localization, allowing for multi-lingual
-interactions in a program.  In a nutshell, one could say that
-internationalization is the operation by which further localizations
-are made possible.
-
-   Also, very roughly said, when it comes to multi-lingual messages,
-internationalization is usually taken care of by programmers, and
-localization is usually taken care of by translators.
-
-\1f
-File: gettext.info,  Node: Aspects,  Next: Files,  Prev: Concepts,  Up: Introduction
-
-Aspects in Native Language Support
-==================================
-
-   For a totally multi-lingual distribution, there are many things to
-translate beyond output messages.
-
-   * As of today, GNU `gettext' offers a complete toolset for
-     translating messages output by C programs.  Perl scripts and shell
-     scripts will also need to be translated.  Even if there are today
-     some hooks by which this can be done, these hooks are not
-     integrated as well as they should be.
-
-   * Some programs, like `autoconf' or `bison', are able to produce
-     other programs (or scripts).  Even if the generating programs
-     themselves are internationalized, the generated programs they
-     produce may need internationalization on their own, and this
-     indirect internationalization could be automated right from the
-     generating program.  In fact, quite usually, generating and
-     generated programs could be internationalized independently, as
-     the effort needed is fairly orthogonal.
-
-   * A few programs include textual tables which might need translation
-     themselves, independently of the strings contained in the program
-     itself.  For example, RFC 1345 gives an English description for
-     each character which the `recode' program is able to reconstruct
-     at execution.  Since these descriptions are extracted from the RFC
-     by mechanical means, translating them properly would require a
-     prior translation of the RFC itself.
-
-   * Almost all programs accept options, which are often worded out so
-     to be descriptive for the English readers; one might want to
-     consider offering translated versions for program options as well.
-
-   * Many programs read, interpret, compile, or are somewhat driven by
-     input files which are texts containing keywords, identifiers, or
-     replies which are inherently translatable.  For example, one may
-     want `gcc' to allow diacriticized characters in identifiers or use
-     translated keywords; `rm -i' might accept something else than `y'
-     or `n' for replies, etc.  Even if the program will eventually make
-     most of its output in the foreign languages, one has to decide
-     whether the input syntax, option values, etc., are to be localized
-     or not.
-
-   * The manual accompanying a package, as well as all documentation
-     files in the distribution, could surely be translated, too.
-     Translating a manual, with the intent of later keeping up with
-     updates, is a major undertaking in itself, generally.
-
-
-   As we already stressed, translation is only one aspect of locales.
-Other internationalization aspects are system services and are handled
-in GNU `libc'.  There are many attributes that are needed to define a
-country's cultural conventions.  These attributes include beside the
-country's native language, the formatting of the date and time, the
-representation of numbers, the symbols for currency, etc.  These local
-"rules" are termed the country's locale.  The locale represents the
-knowledge needed to support the country's native attributes.
-
-   There are a few major areas which may vary between countries and
-hence, define what a locale must describe.  The following list helps
-putting multi-lingual messages into the proper context of other tasks
-related to locales.  See the GNU `libc' manual for details.
-
-_Characters and Codesets_
-     The codeset most commonly used through out the USA and most English
-     speaking parts of the world is the ASCII codeset.  However, there
-     are many characters needed by various locales that are not found
-     within this codeset.  The 8-bit ISO 8859-1 code set has most of
-     the special characters needed to handle the major European
-     languages.  However, in many cases, the ISO 8859-1 font is not
-     adequate: it doesn't even handle the major European currency.
-     Hence each locale will need to specify which codeset they need to
-     use and will need to have the appropriate character handling
-     routines to cope with the codeset.
-
-_Currency_
-     The symbols used vary from country to country as does the position
-     used by the symbol.  Software needs to be able to transparently
-     display currency figures in the native mode for each locale.
-
-_Dates_
-     The format of date varies between locales.  For example, Christmas
-     day in 1994 is written as 12/25/94 in the USA and as 25/12/94 in
-     Australia.  Other countries might use ISO 8061 dates, etc.
-
-     Time of the day may be noted as HH:MM, HH.MM, or otherwise.  Some
-     locales require time to be specified in 24-hour mode rather than
-     as AM or PM.  Further, the nature and yearly extent of the
-     Daylight Saving correction vary widely between countries.
-
-_Numbers_
-     Numbers can be represented differently in different locales.  For
-     example, the following numbers are all written correctly for their
-     respective locales:
-
-          12,345.67       English
-          12.345,67       German
-           12345,67       French
-          1,2345.67       Asia
-
-     Some programs could go further and use different unit systems, like
-     English units or Metric units, or even take into account variants
-     about how numbers are spelled in full.
-
-_Messages_
-     The most obvious area is the language support within a locale.
-     This is where GNU `gettext' provides the means for developers and
-     users to easily change the language that the software uses to
-     communicate to the user.
-
-   Components of locale outside of message handling are standardized in
-the ISO C standard and the SUSV2 specification.  GNU `libc' fully
-implements this, and most other modern systems provide a more or less
-reasonable support for at least some of the missing components.
-
-\1f
-File: gettext.info,  Node: Files,  Next: Overview,  Prev: Aspects,  Up: Introduction
-
-Files Conveying Translations
-============================
-
-   The letters PO in `.po' files means Portable Object, to distinguish
-it from `.mo' files, where MO stands for Machine Object.  This
-paradigm, as well as the PO file format, is inspired by the NLS
-standard developed by Uniforum, and first implemented by Sun in their
-Solaris system.
-
-   PO files are meant to be read and edited by humans, and associate
-each original, translatable string of a given package with its
-translation in a particular target language.  A single PO file is
-dedicated to a single target language.  If a package supports many
-languages, there is one such PO file per language supported, and each
-package has its own set of PO files.  These PO files are best created by
-the `xgettext' program, and later updated or refreshed through the
-`msgmerge' program.  Program `xgettext' extracts all marked messages
-from a set of C files and initializes a PO file with empty
-translations.  Program `msgmerge' takes care of adjusting PO files
-between releases of the corresponding sources, commenting obsolete
-entries, initializing new ones, and updating all source line
-references.  Files ending with `.pot' are kind of base translation
-files found in distributions, in PO file format.
-
-   MO files are meant to be read by programs, and are binary in nature.
-A few systems already offer tools for creating and handling MO files as
-part of the Native Language Support coming with the system, but the
-format of these MO files is often different from system to system, and
-non-portable.  The tools already provided with these systems don't
-support all the features of GNU `gettext'.  Therefore GNU `gettext'
-uses its own format for MO files.  Files ending with `.gmo' are really
-MO files, when it is known that these files use the GNU format.
-
-\1f
-File: gettext.info,  Node: Overview,  Prev: Files,  Up: Introduction
-
-Overview of GNU `gettext'
-=========================
-
-   The following diagram summarizes the relation between the files
-handled by GNU `gettext' and the tools acting on these files.  It is
-followed by somewhat detailed explanations, which you should read while
-keeping an eye on the diagram.  Having a clear understanding of these
-interrelations will surely help programmers, translators and
-maintainers.
-
-     Original C Sources ---> PO mode ---> Marked C Sources ---.
-                                                              |
-                   .---------<--- GNU gettext Library         |
-     .--- make <---+                                          |
-     |             `---------<--------------------+-----------'
-     |                                            |
-     |   .-----<--- PACKAGE.pot <--- xgettext <---'   .---<--- PO Compendium
-     |   |                                            |             ^
-     |   |                                            `---.         |
-     |   `---.                                            +---> PO mode ---.
-     |       +----> msgmerge ------> LANG.po ---->--------'                |
-     |   .---'                                                             |
-     |   |                                                                 |
-     |   `-------------<---------------.                                   |
-     |                                 +--- New LANG.po <------------------'
-     |   .--- LANG.gmo <--- msgfmt <---'
-     |   |
-     |   `---> install ---> /.../LANG/PACKAGE.mo ---.
-     |                                              +---> "Hello world!"
-     `-------> install ---> /.../bin/PROGRAM -------'
-
-   The indication `PO mode' appears in two places in this picture, and
-you may safely read it as merely meaning "hand editing", using any
-editor of your choice, really.  However, for those of you being the
-lucky users of Emacs, PO mode has been specifically created for
-providing a cozy environment for editing or modifying PO files.  While
-editing a PO file, PO mode allows for the easy browsing of auxiliary
-and compendium PO files, as well as for following references into the
-set of C program sources from which PO files have been derived.  It has
-a few special features, among which are the interactive marking of
-program strings as translatable, and the validation of PO files with
-easy repositioning to PO file lines showing errors.
-
-   As a programmer, the first step to bringing GNU `gettext' into your
-package is identifying, right in the C sources, those strings which are
-meant to be translatable, and those which are untranslatable.  This
-tedious job can be done a little more comfortably using emacs PO mode,
-but you can use any means familiar to you for modifying your C sources.
-Beside this some other simple, standard changes are needed to properly
-initialize the translation library.  *Note Sources::, for more
-information about all this.
-
-   For newly written software the strings of course can and should be
-marked while writing it.  The `gettext' approach makes this very easy.
-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 textdomain(Domain)
-     #define bindtextdomain(Package, Directory)
-
-Doing this allows you to prepare the sources for internationalization.
-Later when you feel ready for the step to use the `gettext' library
-simply replace these definitions by the following:
-
-     #include <libintl.h>
-     #define _(String) gettext (String)
-     #define gettext_noop(String) String
-     #define N_(String) gettext_noop (String)
-
-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.
-
-   Once the C sources have been modified, the `xgettext' program is
-used to find and extract all translatable strings, and create a PO
-template file out of all these.  This `PACKAGE.pot' file contains all
-original program strings.  It has sets of pointers to exactly where in
-C sources each string is used.  All translations are set to empty.  The
-letter `t' in `.pot' marks this as a Template PO file, not yet oriented
-towards any particular language.  *Note xgettext Invocation::, for more
-details about how one calls the `xgettext' program.  If you are
-_really_ lazy, you might be interested at working a lot more right
-away, and preparing the whole distribution setup (*note Maintainers::).
-By doing so, you spare yourself typing the `xgettext' command, as
-`make' should now generate the proper things automatically for you!
-
-   The first time through, there is no `LANG.po' yet, so the `msgmerge'
-step may be skipped and replaced by a mere copy of `PACKAGE.pot' to
-`LANG.po', where LANG represents the target language.  See *Note
-Creating:: for details.
-
-   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 (*note
-Translators::).  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.
-
-   While adding the translated messages into the `LANG.po' PO file, if
-you do not have Emacs handy, you are on your own for ensuring that your
-efforts fully respect the PO file format, and quoting conventions
-(*note PO Files::).  This is surely not an impossible task, as this is
-the way many people have handled PO files already for Uniforum or
-Solaris.  On the other hand, by using PO mode in Emacs, most details of
-PO file format are taken care of for you, but you have to acquire some
-familiarity with PO mode itself.  Besides main PO mode commands (*note
-Main PO Commands::), you should know how to move between entries (*note
-Entry Positioning::), and how to handle untranslated entries (*note
-Untranslated Entries::).
-
-   If some common translations have already been saved into a compendium
-PO file, translators may use PO mode for initializing untranslated
-entries from the compendium, and also save selected translations into
-the compendium, updating it (*note Compendium::).  Compendium files are
-meant to be exchanged between members of a given translation team.
-
-   Programs, or packages of programs, are dynamic in nature: users write
-bug reports and suggestion for improvements, maintainers react by
-modifying programs in various ways.  The fact that a package has
-already been internationalized should not make maintainers shy 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 programming concerns.
-
-   The only concern maintainers should have is carefully marking new
-strings as translatable, when they should be, and do not otherwise
-worry about them being translated, as this will come in proper time.
-Consequently, when programs and their strings are adjusted in various
-ways by maintainers, and for matters usually unrelated to translation,
-`xgettext' would construct `PACKAGE.pot' files which are evolving over
-time, so the translations carried by `LANG.po' are slowly fading out of
-date.
-
-   It is important for translators (and even maintainers) to understand
-that package translation is a continuous process in the lifetime of a
-package, and not something which is done once and for all at the start.
-After an initial burst of translation activity for a given package,
-interventions are needed once in a while, because here and there,
-translated entries become obsolete, and new untranslated entries
-appear, needing translation.
-
-   The `msgmerge' program has the purpose of refreshing an already
-existing `LANG.po' file, by comparing it with a newer `PACKAGE.pot'
-template file, extracted by `xgettext' out of recent C sources.  The
-refreshing operation adjusts all references to C source locations for
-strings, since these strings move as programs are modified.  Also,
-`msgmerge' comments out as obsolete, in `LANG.po', those already
-translated entries which are no longer used in the program sources
-(*note Obsolete Entries::).  It finally discovers new strings and
-inserts them in the resulting PO file as untranslated entries (*note
-Untranslated Entries::).  *Note msgmerge Invocation::, for more
-information about what `msgmerge' really does.
-
-   Whatever route or means taken, the goal is to obtain an updated
-`LANG.po' file offering translations for all strings.
-
-   The temporal mobility, or fluidity of PO files, is an integral part
-of the translation game, and should be well understood, and accepted.
-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 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 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
-`make', given a suitable `Makefile' exists for the project, and the
-resulting executable is installed somewhere users will find it.  The MO
-files themselves should also be properly installed.  Given the
-appropriate environment variables are set (*note End Users::), the
-program should localize itself automatically, whenever it executes.
-
-   The remainder of this manual has the purpose of explaining in depth
-the various steps outlined above.
-
-\1f
-File: gettext.info,  Node: Basics,  Next: Sources,  Prev: Introduction,  Up: Top
-
-PO Files and PO Mode Basics
-***************************
-
-   The GNU `gettext' toolset helps programmers and translators at
-producing, updating and using translation files, mainly those PO files
-which are textual, editable files.  This chapter stresses the format of
-PO files, and contains a PO mode starter.  PO mode description is
-spread throughout this manual instead of being concentrated in one
-place.  Here we present only the basics of PO mode.
-
-* Menu:
-
-* Installation::                Completing GNU `gettext' Installation
-* PO Files::                    The Format of PO Files
-* Main PO Commands::            Main Commands
-* Entry Positioning::           Entry Positioning
-* Normalizing::                 Normalizing Strings in Entries
-
-\1f
-File: gettext.info,  Node: Installation,  Next: PO Files,  Prev: Basics,  Up: Basics
-
-Completing GNU `gettext' Installation
-=====================================
-
-   Once you have received, unpacked, configured and compiled the GNU
-`gettext' distribution, the `make install' command puts in place the
-programs `xgettext', `msgfmt', `gettext', and `msgmerge', as well as
-their available message catalogs.  To top off a comfortable
-installation, you might also want to make the PO mode available to your
-Emacs users.
-
-   During the installation of the PO mode, you might want to modify your
-file `.emacs', once and for all, so it contains a few lines looking
-like:
-
-     (setq auto-mode-alist
-           (cons '("\\.po\\'\\|\\.po\\." . po-mode) auto-mode-alist))
-     (autoload 'po-mode "po-mode" "Major mode for translators to edit PO files" t)
-
-   Later, whenever you edit some `.po' file, or any file having the
-string `.po.' within its name, Emacs loads `po-mode.elc' (or
-`po-mode.el') as needed, and automatically activates PO mode commands
-for the associated buffer.  The string _PO_ appears in the mode line
-for any buffer for which PO mode is active.  Many PO files may be
-active at once in a single Emacs session.
-
-   If you are using Emacs version 20 or newer, and have already
-installed the appropriate international fonts on your system, you may
-also tell Emacs how to determine automatically the coding system of
-every PO file.  This will often (but not always) cause the necessary
-fonts to be loaded and used for displaying the translations on your
-Emacs screen.  For this to happen, add the lines:
-
-     (modify-coding-system-alist 'file "\\.po\\'\\|\\.po\\."
-                                 'po-find-file-coding-system)
-     (autoload 'po-find-file-coding-system "po-mode")
-
-to your `.emacs' file.  If, with this, you still see boxes instead of
-international characters, try a different font set (via Shift Mouse
-button 1).
-
-\1f
-File: gettext.info,  Node: PO Files,  Next: Main PO Commands,  Prev: Installation,  Up: Basics
-
-The Format of PO Files
-======================
-
-   A PO file is made up of many entries, each entry holding the relation
-between an original untranslated string and its corresponding
-translation.  All entries in a given PO file usually pertain to a
-single project, and all translations are expressed in a single target
-language.  One PO file "entry" has the following schematic structure:
-
-     WHITE-SPACE
-     #  TRANSLATOR-COMMENTS
-     #. AUTOMATIC-COMMENTS
-     #: REFERENCE...
-     #, FLAG...
-     msgid UNTRANSLATED-STRING
-     msgstr TRANSLATED-STRING
-
-   The general structure of a PO file should be well understood by the
-translator.  When using PO mode, very little has to be known about the
-format details, as PO mode takes care of them for her.
-
-   A simple entry can look like this:
-
-     #: lib/error.c:116
-     msgid "Unknown system error"
-     msgstr "Error desconegut del sistema"
-
-   Entries begin with some optional white space.  Usually, when
-generated through GNU `gettext' tools, there is exactly one blank line
-between entries.  Then comments follow, on lines all starting with the
-character `#'.  There are two kinds of comments: those which have some
-white space immediately following the `#', which comments are created
-and maintained exclusively by the translator, and those which have some
-non-white character just after the `#', which comments are created and
-maintained automatically by GNU `gettext' tools.  All comments, of
-either kind, are optional.
-
-   After white space and comments, entries show two strings, namely
-first the untranslated string as it appears in the original program
-sources, and then, the translation of this string.  The original string
-is introduced by the keyword `msgid', and the translation, by `msgstr'.
-The two strings, untranslated and translated, are quoted in various
-ways in the PO file, using `"' delimiters and `\' escapes, but the
-translator does not really have to pay attention to the precise quoting
-format, as PO mode fully takes care of quoting for her.
-
-   The `msgid' strings, as well as automatic comments, are produced and
-managed by other GNU `gettext' tools, and PO mode does not provide
-means for the translator to alter these.  The most she can do is merely
-deleting them, and only by deleting the whole entry.  On the other
-hand, the `msgstr' string, as well as translator comments, are really
-meant for the translator, and PO mode gives her the full control she
-needs.
-
-   The comment lines beginning with `#,' are special because they are
-not completely ignored by the programs as comments generally are.  The
-comma separated list of FLAGs is used by the `msgfmt' program to give
-the user some better diagnostic messages.  Currently there are two
-forms of flags defined:
-
-`fuzzy'
-     This flag can be generated by the `msgmerge' program or it can be
-     inserted by the translator herself.  It shows that the `msgstr'
-     string might not be a correct translation (anymore).  Only the
-     translator can judge if the translation requires further
-     modification, or is acceptable as is.  Once satisfied with the
-     translation, she then removes this `fuzzy' attribute.  The
-     `msgmerge' program inserts this when it combined the `msgid' and
-     `msgstr' entries after fuzzy search only.  *Note Fuzzy Entries::.
-
-`c-format'
-`no-c-format'
-     These flags should not be added by a human.  Instead only the
-     `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.
-
-     In case the `c-format' flag is given for a string the `msgfmt'
-     does some more tests to check to validity of the translation.
-     *Note msgfmt Invocation::.
-
-   A different kind of entries is used for translations which involve
-plural forms.
-
-     WHITE-SPACE
-     #  TRANSLATOR-COMMENTS
-     #. AUTOMATIC-COMMENTS
-     #: REFERENCE...
-     #, FLAG...
-     msgid UNTRANSLATED-STRING-SINGULAR
-     msgid_plural UNTRANSLATED-STRING-PLURAL
-     msgstr[0] TRANSLATED-STRING-CASE-0
-     ...
-     msgstr[N] TRANSLATED-STRING-CASE-N
-
-   Such an entry can look like this:
-
-     #: src/msgcmp.c:338 src/po-lex.c:699
-     #, c-format
-     msgid "found %d fatal error"
-     msgid_plural "found %d fatal errors"
-     msgstr[0] "s'ha trobat %d error fatal"
-     msgstr[1] "s'han trobat %d errors fatals"
-
-   It happens that some lines, usually whitespace or comments, follow
-the very last entry of a PO file.  Such lines are not part of any entry,
-and PO mode is unable to take action on those lines.  By using the PO
-mode function `M-x po-normalize', the translator may get rid of those
-spurious lines.  *Note Normalizing::.
-
-   The remainder of this section may be safely skipped by those using
-PO mode, yet it may be interesting for everybody to have a better idea
-of the precise format of a PO file.  On the other hand, those not
-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
-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
-beginning of the following PO file line.  For example:
-
-     msgid ""
-     "Here is an example of how one might continue a very long string\n"
-     "for the common case the string represents multi-line output.\n"
-
-In this example, the empty string is used on the first line, to allow
-better alignment of the `H' from the word `Here' over the `f' from the
-word `for'.  In this example, the `msgid' keyword is followed by three
-strings, which are meant to be concatenated.  Concatenating the empty
-string does not change the resulting overall string, but it is a way
-for us to comply with the necessity of `msgid' to be followed by a
-string on the same line, while keeping the multi-line presentation
-left-justified, as we find this to be a cleaner disposition.  The empty
-string could have been omitted, but only if the string starting with
-`Here' was promoted on the first line, right after `msgid'.(1) It was
-not really necessary either to switch between the two last quoted
-strings immediately after the newline `\n', the switch could have
-occurred after _any_ other character, we just did it this way because
-it is neater.
-
-   One should carefully distinguish between end of lines marked as `\n'
-_inside_ quotes, which are part of the represented string, and end of
-lines in the PO file itself, outside string quotes, which have no
-incidence on the represented string.
-
-   Outside strings, white lines and comments may be used freely.
-Comments start at the beginning of a line with `#' and extend until the
-end of the PO file line.  Comments written by translators should have
-the initial `#' immediately followed by some white space.  If the `#'
-is not immediately followed by white space, this comment is most likely
-generated and managed by specialized GNU tools, and might disappear or
-be replaced unexpectedly when the PO file is given to `msgmerge'.
-
-   ---------- Footnotes ----------
-
-   (1) This limitation is not imposed by GNU `gettext', but is for
-compatibility with the `msgfmt' implementation on Solaris.
-
diff --git a/doc/gettext.info-10 b/doc/gettext.info-10
deleted file mode 100644 (file)
index 5fafd45..0000000
+++ /dev/null
@@ -1,344 +0,0 @@
-This is gettext.info, produced by makeinfo version 4.2 from
-gettext.texi.
-
-INFO-DIR-SECTION GNU Gettext Utilities
-START-INFO-DIR-ENTRY
-* gettext: (gettext).                          GNU gettext utilities.
-* autopoint: (gettext)autopoint Invocation.    Copy gettext infrastructure.
-* gettextize: (gettext)gettextize Invocation.  Prepare a package for gettext.
-* msgattrib: (gettext)msgattrib Invocation.    Select part of a PO file.
-* msgcat: (gettext)msgcat Invocation.          Combine several PO files.
-* msgcmp: (gettext)msgcmp Invocation.          Compare a PO file and template.
-* msgcomm: (gettext)msgcomm Invocation.        Match two PO files.
-* msgconv: (gettext)msgconv Invocation.        Convert PO file to encoding.
-* msgen: (gettext)msgen Invocation.            Create an English PO file.
-* msgexec: (gettext)msgexec Invocation.        Process a PO file.
-* msgfilter: (gettext)msgfilter Invocation.    Pipe a PO file through a filter.
-* msgfmt: (gettext)msgfmt Invocation.          Make MO files out of PO files.
-* msggrep: (gettext)msggrep Invocation.        Select part of a PO file.
-* msginit: (gettext)msginit Invocation.        Create a fresh PO file.
-* msgmerge: (gettext)msgmerge Invocation.      Update a PO file from template.
-* msgunfmt: (gettext)msgunfmt Invocation.      Uncompile MO file into PO file.
-* msguniq: (gettext)msguniq Invocation.        Unify duplicates for PO file.
-* xgettext: (gettext)xgettext Invocation.      Extract strings into a PO file.
-* ISO639: (gettext)Language Codes.             ISO 639 language codes.
-* ISO3166: (gettext)Country Codes.             ISO 3166 country codes.
-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, 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
-preserved on all copies.
-
-   Permission is granted to copy and distribute modified versions of
-this manual under the conditions for verbatim copying, provided that
-the entire resulting derived work is distributed under the terms of a
-permission notice identical to this one.
-
-   Permission is granted to copy and distribute translations of this
-manual into another language, under the above conditions for modified
-versions, except that this permission notice may be stated in a
-translation approved by the Foundation.
-
-\1f
-File: gettext.info,  Node: Index,  Prev: Autoconf Macro Index,  Up: Top
-
-General Index
-*************
-
-* Menu:
-
-* _, a macro to mark strings for translation: Mark Keywords.
-* _nl_msg_cat_cntr:                      gettext grok.
-* ABOUT-NLS file:                        Matrix.
-* acconfig.h file:                       acconfig.
-* accumulating translations:             Creating Compendia.
-* aclocal.m4 file:                       aclocal.
-* adding keywords, xgettext:             xgettext Invocation.
-* ambiguities:                           Preparing Strings.
-* apply a filter to translations:        msgfilter Invocation.
-* apply command to all translations in a catalog: msgexec Invocation.
-* attribute manipulation:                msgattrib Invocation.
-* attribute, fuzzy:                      Fuzzy Entries.
-* attributes of a PO file entry:         Fuzzy Entries.
-* attributes, manipulating:              Manipulating.
-* autoconf macros for gettext:           autoconf macros.
-* autopoint program, usage:              autopoint Invocation.
-* auxiliary PO file:                     Auxiliary.
-* available translations:                Matrix.
-* awk:                                   gawk.
-* backup old file, and msgmerge program: msgmerge Invocation.
-* bash:                                  bash.
-* bibliography:                          References.
-* big picture:                           Overview.
-* bind_textdomain_codeset:               Charset conversion.
-* bug report address:                    Introduction.
-* C and C-like languages:                C.
-* C trigraphs:                           xgettext Invocation.
-* c-format flag:                         PO Files.
-* c-format, and xgettext:                c-format Flag.
-* catalog encoding and msgexec output:   msgexec Invocation.
-* catclose, a catgets function:          Interface to catgets.
-* catgets, a catgets function:           Interface to catgets.
-* catgets, X/Open specification:         catgets.
-* catopen, a catgets function:           Interface to catgets.
-* character encoding:                    Aspects.
-* charset conversion at runtime:         Charset conversion.
-* charset of PO files:                   Header Entry.
-* check format strings:                  msgfmt Invocation.
-* checking of translations:              Manipulating.
-* clisp:                                 Common Lisp.
-* clisp C sources:                       clisp C.
-* codeset:                               Aspects.
-* comments in PO files:                  PO Files.
-* Common Lisp:                           Common Lisp.
-* compare PO files:                      msgcmp Invocation.
-* comparison of interfaces:              Comparison.
-* compatibility with X/Open msgfmt:      msgfmt Invocation.
-* compendium:                            Compendium.
-* compendium, creating:                  Creating Compendia.
-* concatenate PO files:                  msgcat Invocation.
-* concatenating PO files into a compendium: Creating Compendia.
-* concatenation of strings:              Preparing Strings.
-* config.h.in file:                      config.h.in.
-* convert binary message catalog into PO file: msgunfmt Invocation.
-* convert translations to a different encoding: msgconv Invocation.
-* converting a package to use gettext:   Prerequisites.
-* country codes:                         Country Codes.
-* create new PO file:                    msginit Invocation.
-* creating a new PO file:                Creating.
-* creating compendia:                    Creating Compendia.
-* currency symbols:                      Aspects.
-* date format:                           Aspects.
-* dcngettext:                            Plural forms.
-* debugging messages marked as format strings: xgettext Invocation.
-* dialect:                               Manipulating.
-* disabling NLS:                         lib/gettext.h.
-* dngettext:                             Plural forms.
-* domain ambiguities:                    Ambiguities.
-* duplicate elimination:                 Manipulating.
-* duplicate removal:                     msguniq Invocation.
-* editing comments in PO files:          Modifying Comments.
-* editing translations:                  Modifying Translations.
-* Emacs Lisp:                            Emacs Lisp.
-* encoding:                              Aspects.
-* encoding conversion:                   Manipulating.
-* encoding conversion at runtime:        Charset conversion.
-* encoding for your language:            Header Entry.
-* encoding list:                         Header Entry.
-* encoding of PO files:                  Header Entry.
-* evolution of packages:                 Overview.
-* extracting parts of a PO file into a compendium: Creating Compendia.
-* file format, .mo:                      MO Files.
-* file format, .po:                      PO Files.
-* files, .po and .mo:                    Files.
-* files, .pot:                           Overview.
-* filter messages according to attributes: msgattrib Invocation.
-* find common messages:                  msgcomm Invocation.
-* force use of fuzzy entries:            msgfmt Invocation.
-* format strings:                        c-format Flag.
-* Free Pascal:                           Pascal.
-* fuzzy entries:                         Fuzzy Entries.
-* fuzzy flag:                            PO Files.
-* gawk:                                  gawk.
-* generate binary message catalog from PO file: msgfmt Invocation.
-* generate translation catalog in English: msgen Invocation.
-* gettext files:                         Adjusting Files.
-* gettext installation:                  Installation.
-* gettext interface:                     Interface to gettext.
-* gettext vs catgets:                    Comparison.
-* gettext, a programmer's view:          gettext.
-* gettext.h file:                        lib/gettext.h.
-* gettextize program, usage:             gettextize Invocation.
-* GUI programs:                          GUI program problems.
-* hash table, inside MO files:           MO Files.
-* he, she, and they:                     Introduction.
-* header entry of a PO file:             Header Entry.
-* help option:                           Preparing Strings.
-* history of GNU gettext:                History.
-* i18n:                                  Concepts.
-* importing PO files:                    Normalizing.
-* include file libintl.h <1>:            lib/gettext.h.
-* include file libintl.h <2>:            Comparison.
-* include file libintl.h <3>:            Sources.
-* include file libintl.h:                Overview.
-* initialization:                        Triggering.
-* initialize new PO file:                msginit Invocation.
-* initialize translations from a compendium: Using Compendia.
-* installing gettext:                    Installation.
-* interface to catgets:                  Interface to catgets.
-* internationalization:                  Concepts.
-* inttypes.h:                            Preparing Strings.
-* ISO 3166:                              Country Codes.
-* ISO 639:                               Language Codes.
-* Java:                                  Java.
-* Java mode, and msgfmt program:         msgfmt Invocation.
-* Java mode, and msgunfmt program:       msgunfmt Invocation.
-* Java, string concatenation:            Preparing Strings.
-* keyboard accelerator checking:         msgfmt Invocation.
-* l10n:                                  Concepts.
-* language codes:                        Language Codes.
-* language selection:                    End Users.
-* language selection at runtime:         gettext grok.
-* large package:                         Ambiguities.
-* libiconv library:                      AM_ICONV.
-* libintl for Java:                      Java.
-* libintl library:                       AM_GNU_GETTEXT.
-* librep Lisp:                           librep.
-* LINGUAS file:                          po/LINGUAS.
-* link with libintl:                     Overview.
-* Linux <1>:                             Header Entry.
-* Linux <2>:                             Overview.
-* Linux:                                 Aspects.
-* Lisp:                                  Common Lisp.
-* list of translation teams, where to find: Header Entry.
-* locale facet, LC_ALL:                  Triggering.
-* locale facet, LC_COLLATE:              Triggering.
-* locale facet, LC_CTYPE <1>:            Triggering.
-* locale facet, LC_CTYPE:                Aspects.
-* locale facet, LC_MESSAGES <1>:         Triggering.
-* locale facet, LC_MESSAGES:             Aspects.
-* locale facet, LC_MONETARY <1>:         Triggering.
-* locale facet, LC_MONETARY:             Aspects.
-* locale facet, LC_NUMERIC <1>:          Triggering.
-* locale facet, LC_NUMERIC:              Aspects.
-* locale facet, LC_RESPONSES:            Triggering.
-* locale facet, LC_TIME <1>:             Triggering.
-* locale facet, LC_TIME:                 Aspects.
-* locale facets:                         Aspects.
-* locale program:                        Header Entry.
-* localization:                          Concepts.
-* magic signature of MO files:           MO Files.
-* Makevars file:                         po/Makevars.
-* manipulating PO files:                 Manipulating.
-* marking string initializers:           Special cases.
-* marking strings that require translation: Mark Keywords.
-* marking strings, preparations:         Preparing Strings.
-* marking translatable strings:          Overview.
-* menu entries:                          GUI program problems.
-* menu, keyboard accelerator support:    msgfmt Invocation.
-* merge PO files:                        msgcat Invocation.
-* merging two PO files:                  Manipulating.
-* message catalog files location:        Locating Catalogs.
-* messages:                              Aspects.
-* migration from earlier versions of gettext: Prerequisites.
-* mkinstalldirs file:                    mkinstalldirs.
-* mnemonics of menu entries:             msgfmt Invocation.
-* MO file's format:                      MO Files.
-* modify message attrributes:            msgattrib Invocation.
-* msgattrib program, usage:              msgattrib Invocation.
-* msgcat program, usage:                 msgcat Invocation.
-* msgcmp program, usage:                 msgcmp Invocation.
-* msgcomm program, usage:                msgcomm Invocation.
-* msgconv program, usage:                msgconv Invocation.
-* msgen program, usage:                  msgen Invocation.
-* msgexec program, usage:                msgexec Invocation.
-* msgfilter filter and catalog encoding: msgfilter Invocation.
-* msgfilter program, usage:              msgfilter Invocation.
-* msgfmt program, usage:                 msgfmt Invocation.
-* msggrep program, usage:                msggrep Invocation.
-* msgid:                                 PO Files.
-* msgid_plural:                          PO Files.
-* msginit program, usage:                msginit Invocation.
-* msgmerge program, usage:               msgmerge Invocation.
-* msgstr:                                PO Files.
-* msgunfmt program, usage:               msgunfmt Invocation.
-* msguniq program, usage:                msguniq Invocation.
-* multi-line strings:                    Normalizing.
-* N_, a convenience macro:               Comparison.
-* Native Language Support:               Concepts.
-* Natural Language Support:              Concepts.
-* newlines in PO files:                  PO Files.
-* ngettext:                              Plural forms.
-* NLS:                                   Concepts.
-* no-c-format flag:                      PO Files.
-* no-c-format, and xgettext:             c-format Flag.
-* nplurals, in a PO file header:         Plural forms.
-* number format:                         Aspects.
-* Object Pascal:                         Pascal.
-* obsolete entries:                      Obsolete Entries.
-* optimization of gettext functions:     Optimized gettext.
-* orthography:                           Manipulating.
-* output to stdout, xgettext:            xgettext Invocation.
-* overview of gettext:                   Overview.
-* package and version declaration in configure.in: configure.in.
-* package build and installation options: Installers.
-* package maintainer's view of gettext:  Maintainers.
-* paragraphs:                            Preparing Strings.
-* Pascal:                                Pascal.
-* Perl:                                  Perl.
-* PHP:                                   PHP.
-* Pike:                                  Pike.
-* plural form formulas:                  Plural forms.
-* plural forms:                          Plural forms.
-* plural forms, in MO files:             MO Files.
-* plural forms, in PO files:             PO Files.
-* plural, in a PO file header:           Plural forms.
-* PO files' format:                      PO Files.
-* PO mode (Emacs) commands:              Main PO Commands.
-* PO template file:                      Template.
-* portability problems with sed:         msgfilter Invocation.
-* POTFILES.in file:                      po/POTFILES.in.
-* preparing programs for translation:    Sources.
-* problems with catgets interface:       Problems with catgets.
-* programming languages:                 Language Implementors.
-* Python:                                Python.
-* quotation marks <1>:                   po/Makevars.
-* quotation marks:                       Header Entry.
-* quote characters, use in PO files:     Header Entry.
-* related reading:                       References.
-* RST:                                   RST.
-* scripting languages:                   Language Implementors.
-* search messages in a catalog:          msggrep Invocation.
-* selecting message language:            End Users.
-* sentences:                             Preparing Strings.
-* setting up gettext at build time:      Installers.
-* setting up gettext at run time:        End Users.
-* several domains:                       Ambiguities.
-* sex:                                   Introduction.
-* sgettext:                              GUI program problems.
-* she, he, and they:                     Introduction.
-* shell scripts:                         sh.
-* Smalltalk:                             Smalltalk.
-* sorting msgcat output:                 msgcat Invocation.
-* sorting msgmerge output:               msgmerge Invocation.
-* sorting msgunfmt output:               msgunfmt Invocation.
-* sorting output of xgettext:            xgettext Invocation.
-* specifying plural form in a PO file:   Plural forms.
-* standard output, and msgcat:           msgcat Invocation.
-* standard output, and msgmerge program: msgmerge Invocation.
-* string concatenation:                  Preparing Strings.
-* string normalization in entries:       Normalizing.
-* style:                                 Preparing Strings.
-* supported languages, xgettext:         xgettext Invocation.
-* Tcl:                                   Tcl.
-* Tcl mode, and msgfmt program:          msgfmt Invocation.
-* Tcl mode, and msgunfmt program:        msgunfmt Invocation.
-* template PO file:                      Overview.
-* testing .po files for equivalence:     xgettext Invocation.
-* Tk's scripting language:               Tcl.
-* translated entries:                    Translated Entries.
-* translating menu entries:              GUI program problems.
-* translation aspects:                   Aspects.
-* Translation Matrix:                    Matrix.
-* Translation Project:                   Why.
-* turning off NLS support:               lib/gettext.h.
-* tutorial of gettext usage:             Overview.
-* unify duplicate translations:          msguniq Invocation.
-* untranslated entries:                  Untranslated Entries.
-* update translations from a compendium: Using Compendia.
-* upgrading to new versions of gettext:  Prerequisites.
-* version control for backup files, msgmerge: msgmerge Invocation.
-* wxWindows library:                     wxWindows.
-* xargs, and output from msgexec:        msgexec Invocation.
-* xgettext program, usage:               xgettext Invocation.
-* xmodmap program, and typing quotation marks: Header Entry.
-* YaST2 scripting language:              YCP.
-* YCP:                                   YCP.
-
-
diff --git a/doc/gettext.info-2 b/doc/gettext.info-2
deleted file mode 100644 (file)
index 7654c16..0000000
+++ /dev/null
@@ -1,1031 +0,0 @@
-This is gettext.info, produced by makeinfo version 4.2 from
-gettext.texi.
-
-INFO-DIR-SECTION GNU Gettext Utilities
-START-INFO-DIR-ENTRY
-* gettext: (gettext).                          GNU gettext utilities.
-* autopoint: (gettext)autopoint Invocation.    Copy gettext infrastructure.
-* gettextize: (gettext)gettextize Invocation.  Prepare a package for gettext.
-* msgattrib: (gettext)msgattrib Invocation.    Select part of a PO file.
-* msgcat: (gettext)msgcat Invocation.          Combine several PO files.
-* msgcmp: (gettext)msgcmp Invocation.          Compare a PO file and template.
-* msgcomm: (gettext)msgcomm Invocation.        Match two PO files.
-* msgconv: (gettext)msgconv Invocation.        Convert PO file to encoding.
-* msgen: (gettext)msgen Invocation.            Create an English PO file.
-* msgexec: (gettext)msgexec Invocation.        Process a PO file.
-* msgfilter: (gettext)msgfilter Invocation.    Pipe a PO file through a filter.
-* msgfmt: (gettext)msgfmt Invocation.          Make MO files out of PO files.
-* msggrep: (gettext)msggrep Invocation.        Select part of a PO file.
-* msginit: (gettext)msginit Invocation.        Create a fresh PO file.
-* msgmerge: (gettext)msgmerge Invocation.      Update a PO file from template.
-* msgunfmt: (gettext)msgunfmt Invocation.      Uncompile MO file into PO file.
-* msguniq: (gettext)msguniq Invocation.        Unify duplicates for PO file.
-* xgettext: (gettext)xgettext Invocation.      Extract strings into a PO file.
-* ISO639: (gettext)Language Codes.             ISO 639 language codes.
-* ISO3166: (gettext)Country Codes.             ISO 3166 country codes.
-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, 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
-preserved on all copies.
-
-   Permission is granted to copy and distribute modified versions of
-this manual under the conditions for verbatim copying, provided that
-the entire resulting derived work is distributed under the terms of a
-permission notice identical to this one.
-
-   Permission is granted to copy and distribute translations of this
-manual into another language, under the above conditions for modified
-versions, except that this permission notice may be stated in a
-translation approved by the Foundation.
-
-\1f
-File: gettext.info,  Node: Main PO Commands,  Next: Entry Positioning,  Prev: PO Files,  Up: Basics
-
-Main PO mode Commands
-=====================
-
-   After setting up Emacs with something similar to the lines in *Note
-Installation::, PO mode is activated for a window when Emacs finds a PO
-file in that window.  This puts the window read-only and establishes a
-po-mode-map, which is a genuine Emacs mode, in a way that is not derived
-from text mode in any way.  Functions found on `po-mode-hook', if any,
-will be executed.
-
-   When PO mode is active in a window, the letters `PO' appear in the
-mode line for that window.  The mode line also displays how many
-entries of each kind are held in the PO file.  For example, the string
-`132t+3f+10u+2o' would tell the translator that the PO mode contains
-132 translated entries (*note Translated Entries::, 3 fuzzy entries
-(*note Fuzzy Entries::), 10 untranslated entries (*note Untranslated
-Entries::) and 2 obsolete entries (*note Obsolete Entries::).
-Zero-coefficients items are not shown.  So, in this example, if the
-fuzzy entries were unfuzzied, the untranslated entries were translated
-and the obsolete entries were deleted, the mode line would merely
-display `145t' for the counters.
-
-   The main PO commands are those which do not fit into the other
-categories of subsequent sections.  These allow for quitting PO mode or
-for managing windows in special ways.
-
-`_'
-     Undo last modification to the PO file (`po-undo').
-
-`Q'
-     Quit processing and save the PO file (`po-quit').
-
-`q'
-     Quit processing, possibly after confirmation
-     (`po-confirm-and-quit').
-
-`0'
-     Temporary leave the PO file window (`po-other-window').
-
-`?'
-`h'
-     Show help about PO mode (`po-help').
-
-`='
-     Give some PO file statistics (`po-statistics').
-
-`V'
-     Batch validate the format of the whole PO file (`po-validate').
-
-   The command `_' (`po-undo') interfaces to the Emacs _undo_ facility.
-*Note Undoing Changes: (emacs)Undo.  Each time `U' is typed,
-modifications which the translator did to the PO file are undone a
-little more.  For the purpose of undoing, each PO mode command is
-atomic.  This is especially true for the `<RET>' command: the whole
-edition made by using a single use of this command is undone at once,
-even if the edition itself implied several actions.  However, while in
-the editing window, one can undo the edition work quite parsimoniously.
-
-   The commands `Q' (`po-quit') and `q' (`po-confirm-and-quit') 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 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
-PO mode, temporarily.  It just moves the cursor to some other Emacs
-window, and pops one if necessary.  For example, if the translator just
-got PO mode to show some source context in some other, she might
-discover some apparent bug in the program source that needs correction.
-This command allows the translator to change sex, become a programmer,
-and have the cursor right into the window containing the program she
-(or rather _he_) wants to modify.  By later getting the cursor back in
-the PO file window, or by asking Emacs to edit this file once again, PO
-mode is then recovered.
-
-   The command `h' (`po-help') displays a summary of all available PO
-mode commands.  The translator should then type any character to resume
-normal PO mode operations.  The command `?' has the same effect as `h'.
-
-   The command `=' (`po-statistics') computes the total number of
-entries in the PO file, the ordinal of the current entry (counted from
-1), the number of untranslated entries, the number of obsolete entries,
-and displays all these numbers.
-
-   The command `V' (`po-validate') launches `msgfmt' in checking and
-verbose mode over the current PO file.  This command first offers to
-save the current PO file on disk.  The `msgfmt' tool, from GNU
-`gettext', has the purpose of creating a MO file out of a PO file, and
-PO mode uses the features of this program for checking the overall
-format of a PO file, as well as all individual entries.
-
-   The program `msgfmt' runs asynchronously with Emacs, so the
-translator regains control immediately while her PO file is being
-studied.  Error output is collected in the Emacs `*compilation*' buffer,
-displayed in another window.  The regular Emacs command `C-x`'
-(`next-error'), as well as other usual compile commands, allow the
-translator to reposition quickly to the offending parts of the PO file.
-Once the cursor is on the line in error, the translator may decide on
-any PO mode action which would help correcting the error.
-
-\1f
-File: gettext.info,  Node: Entry Positioning,  Next: Normalizing,  Prev: Main PO Commands,  Up: Basics
-
-Entry Positioning
-=================
-
-   The cursor in a PO file window is almost always part of an entry.
-The only exceptions are the special case when the cursor is after the
-last entry in the file, or when the PO file is empty.  The entry where
-the cursor is found to be is said to be the current entry.  Many PO
-mode commands operate on the current entry, so moving the cursor does
-more than allowing the translator to browse the PO file, this also
-selects on which entry commands operate.
-
-   Some PO mode commands alter the position of the cursor in a
-specialized way.  A few of those special purpose positioning are
-described here, the others are described in following sections (for a
-complete list try `C-h m'):
-
-`.'
-     Redisplay the current entry (`po-current-entry').
-
-`n'
-     Select the entry after the current one (`po-next-entry').
-
-`p'
-     Select the entry before the current one (`po-previous-entry').
-
-`<'
-     Select the first entry in the PO file (`po-first-entry').
-
-`>'
-     Select the last entry in the PO file (`po-last-entry').
-
-`m'
-     Record the location of the current entry for later use
-     (`po-push-location').
-
-`r'
-     Return to a previously saved entry location (`po-pop-location').
-
-`x'
-     Exchange the current entry location with the previously saved one
-     (`po-exchange-location').
-
-   Any Emacs command able to reposition the cursor may be used to
-select the current entry in PO mode, including commands which move by
-characters, lines, paragraphs, screens or pages, and search commands.
-However, there is a kind of standard way to display the current entry
-in PO mode, which usual Emacs commands moving the cursor do not
-especially try to enforce.  The command `.' (`po-current-entry') has
-the sole purpose of redisplaying the current entry properly, after the
-current entry has been changed by means external to PO mode, or the
-Emacs screen otherwise altered.
-
-   It is yet to be decided if PO mode helps the translator, or otherwise
-irritates her, by forcing a rigid window disposition while she is doing
-her work.  We originally had quite precise ideas about how windows
-should behave, but on the other hand, anyone used to Emacs is often
-happy to keep full control.  Maybe a fixed window disposition might be
-offered as a PO mode option that the translator might activate or
-deactivate at will, so it could be offered on an experimental basis.
-If nobody feels a real need for using it, or a compulsion for writing
-it, we should drop this whole idea.  The incentive for doing it should
-come from translators rather than programmers, as opinions from an
-experienced translator are surely more worth to me than opinions from
-programmers _thinking_ about how _others_ should do translation.
-
-   The commands `n' (`po-next-entry') and `p' (`po-previous-entry')
-move the cursor the entry following, or preceding, the current one.  If
-`n' is given while the cursor is on the last entry of the PO file, or
-if `p' is given while the cursor is on the first entry, no move is done.
-
-   The commands `<' (`po-first-entry') and `>' (`po-last-entry') move
-the cursor to the first entry, or last entry, of the PO file.  When the
-cursor is located past the last entry in a PO file, most PO mode
-commands will return an error saying `After last entry'.  Moreover, the
-commands `<' and `>' have the special property of being able to work
-even when the cursor is not into some PO file entry, and one may use
-them for nicely correcting this situation.  But even these commands
-will fail on a truly empty PO file.  There are development plans for
-the PO mode for it to interactively fill an empty PO file from sources.
-*Note Marking::.
-
-   The translator may decide, before working at the translation of a
-particular entry, that she needs to browse the remainder of the PO
-file, maybe for finding the terminology or phraseology used in related
-entries.  She can of course use the standard Emacs idioms for saving
-the current cursor location in some register, and use that register for
-getting back, or else, use the location ring.
-
-   PO mode offers another approach, by which cursor locations may be
-saved onto a special stack.  The command `m' (`po-push-location')
-merely adds the location of current entry to the stack, pushing the
-already saved locations under the new one.  The command `r'
-(`po-pop-location') consumes the top stack element and repositions the
-cursor to the entry associated with that top element.  This position is
-then lost, for the next `r' will move the cursor to the previously
-saved location, and so on until no locations remain on the stack.
-
-   If the translator wants the position to be kept on the location
-stack, maybe for taking a look at the entry associated with the top
-element, then go elsewhere with the intent of getting back later, she
-ought to use `m' immediately after `r'.
-
-   The command `x' (`po-exchange-location') simultaneously repositions
-the cursor to the entry associated with the top element of the stack of
-saved locations, and replaces that top element with the location of the
-current entry before the move.  Consequently, repeating the `x' command
-toggles alternatively between two entries.  For achieving this, the
-translator will position the cursor on the first entry, use `m', then
-position to the second entry, and merely use `x' for making the switch.
-
-\1f
-File: gettext.info,  Node: Normalizing,  Prev: Entry Positioning,  Up: Basics
-
-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
-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
-this recognition easily, doing it fast is technically difficult.  To
-facilitate a solution to this efficiency problem, we decided on a
-canonical representation for strings.
-
-   A conventional representation of strings in a PO file is currently
-under discussion, and PO mode experiments with a canonical
-representation.  Having both `xgettext' and PO mode converging towards
-a uniform way of representing equivalent strings would be useful, as
-the internal normalization needed by PO mode could be automatically
-satisfied when using `xgettext' from GNU `gettext'.  An explicit PO
-mode normalization should then be only necessary for PO files imported
-from elsewhere, or for when the convention itself evolves.
-
-   So, for achieving normalization of at least the strings of a given
-PO file needing a canonical representation, the following PO mode
-command is available:
-
-`M-x po-normalize'
-     Tidy the whole PO file by making entries more uniform.
-
-   The special command `M-x po-normalize', which has no associated
-keys, revises all entries, ensuring that strings of both original and
-translated entries use uniform internal quoting in the PO file.  It
-also removes any crumb after the last entry.  This command may be
-useful for PO files freshly imported from elsewhere, or if we ever
-improve on the canonical quoting format we use.  This canonical format
-is not only meant for getting cleaner PO files, but also for greatly
-speeding up `msgid' string lookup for some other PO mode commands.
-
-   `M-x po-normalize' presently makes three passes over the entries.
-The first implements heuristics for converting PO files for GNU
-`gettext' 0.6 and earlier, in which `msgid' and `msgstr' fields were
-using K&R style C string syntax for multi-line strings.  These
-heuristics may fail for comments not related to obsolete entries and
-ending with a backslash; they also depend on subsequent passes for
-finalizing the proper commenting of continued lines for obsolete
-entries.  This first pass might disappear once all oldish PO files
-would have been adjusted.  The second and third pass normalize all
-`msgid' and `msgstr' strings respectively.  They also clean out those
-trailing backslashes used by XView's `msgfmt' for continued lines.
-
-   Having such an explicit normalizing command allows for importing PO
-files from other sources, but also eases the evolution of the current
-convention, evolution driven mostly by aesthetic concerns, as of now.
-It is easy to make suggested adjustments at a later time, as the
-normalizing command and eventually, other GNU `gettext' tools should
-greatly automate conformance.  A description of the canonical string
-format is given below, for the particular benefit of those not having
-Emacs handy, and who would nevertheless want to handcraft their PO
-files in nice ways.
-
-   Right now, in PO mode, strings are single line or multi-line.  A
-string goes multi-line if and only if it has _embedded_ newlines, that
-is, if it matches `[^\n]\n+[^\n]'.  So, we would have:
-
-     msgstr "\n\nHello, world!\n\n\n"
-
-   but, replacing the space by a newline, this becomes:
-
-     msgstr ""
-     "\n"
-     "\n"
-     "Hello,\n"
-     "world!\n"
-     "\n"
-     "\n"
-
-   We are deliberately using a caricatural example, here, to make the
-point clearer.  Usually, multi-lines are not that bad looking.  It is
-probable that we will implement the following suggestion.  We might
-lump together all initial newlines into the empty string, and also all
-newlines introducing empty lines (that is, for N > 1, the N-1'th last
-newlines would go together on a separate string), so making the
-previous example appear:
-
-     msgstr "\n\n"
-     "Hello,\n"
-     "world!\n"
-     "\n\n"
-
-   There are a few yet undecided little points about string
-normalization, to be documented in this manual, once these questions
-settle.
-
-\1f
-File: gettext.info,  Node: Sources,  Next: Template,  Prev: Basics,  Up: Top
-
-Preparing Program Sources
-*************************
-
-   For the programmer, changes to the C source code fall into three
-categories.  First, you have to make the localization functions known
-to all modules needing message translation.  Second, you should
-properly trigger the operation of GNU `gettext' when the program
-initializes, usually from the `main' function.  Last, you should
-identify and especially mark all constant strings in your program
-needing translation.
-
-   Presuming that your set of programs, or package, has been adjusted
-so all needed GNU `gettext' files are available, and your `Makefile'
-files are adjusted (*note Maintainers::), each C module having
-translated C strings should contain the line:
-
-     #include <libintl.h>
-
-   The remaining changes to your C sources are discussed in the further
-sections of this chapter.
-
-* Menu:
-
-* Triggering::                  Triggering `gettext' Operations
-* Preparing Strings::           Preparing Translatable Strings
-* Mark Keywords::               How Marks Appear in Sources
-* Marking::                     Marking Translatable Strings
-* c-format Flag::               Telling something about the following string
-* Special cases::               Special Cases of Translatable Strings
-
-\1f
-File: gettext.info,  Node: Triggering,  Next: Preparing Strings,  Prev: Sources,  Up: Sources
-
-Triggering `gettext' Operations
-===============================
-
-   The initialization of locale data should be done with more or less
-the same code in every program, as demonstrated below:
-
-     int
-     main (argc, argv)
-          int argc;
-          char argv;
-     {
-       ...
-       setlocale (LC_ALL, "");
-       bindtextdomain (PACKAGE, LOCALEDIR);
-       textdomain (PACKAGE);
-       ...
-     }
-
-   PACKAGE and LOCALEDIR should be provided either by `config.h' or by
-the Makefile.  For now consult the `gettext' or `hello' sources for
-more information.
-
-   The use of `LC_ALL' might not be appropriate for you.  `LC_ALL'
-includes all locale categories and especially `LC_CTYPE'.  This later
-category is responsible for determining character classes with the
-`isalnum' etc. functions from `ctype.h' which could especially for
-programs, which process some kind of input language, be wrong.  For
-example this would mean that a source code using the c, (c-cedilla
-character) is runnable in France but not in the U.S.
-
-   Some systems also have problems with parsing numbers using the
-`scanf' functions if an other but the `LC_ALL' locale is used.  The
-standards say that additional formats but the one known in the `"C"'
-locale might be recognized.  But some systems seem to reject numbers in
-the `"C"' locale format.  In some situation, it might also be a problem
-with the notation itself which makes it impossible to recognize whether
-the number is in the `"C"' locale or the local format.  This can happen
-if thousands separator characters are used.  Some locales define this
-character according to the national conventions to `'.'' which is the
-same character used in the `"C"' locale to denote the decimal point.
-
-   So it is sometimes necessary to replace the `LC_ALL' line in the
-code above by a sequence of `setlocale' lines
-
-     {
-       ...
-       setlocale (LC_CTYPE, "");
-       setlocale (LC_MESSAGES, "");
-       ...
-     }
-
-On all POSIX conformant systems the locale categories `LC_CTYPE',
-`LC_COLLATE', `LC_MONETARY', `LC_NUMERIC', and `LC_TIME' are available.
-On some modern systems there is also a locale `LC_MESSAGES' which is
-called on some old, XPG2 compliant systems `LC_RESPONSES'.
-
-   Note that changing the `LC_CTYPE' also affects the functions
-declared in the `<ctype.h>' standard header.  If this is not desirable
-in your application (for example in a compiler's parser), you can use a
-set of substitute functions which hardwire the C locale, such as found
-in the `<c-ctype.h>' and `<c-ctype.c>' files in the gettext source
-distribution.
-
-   It is also possible to switch the locale forth and back between the
-environment dependent locale and the C locale, but this approach is
-normally avoided because a `setlocale' call is expensive, because it is
-tedious to determine the places where a locale switch is needed in a
-large program's source, and because switching a locale is not
-multithread-safe.
-
-\1f
-File: gettext.info,  Node: Preparing Strings,  Next: Mark Keywords,  Prev: Triggering,  Up: Sources
-
-Preparing Translatable Strings
-==============================
-
-   Before strings can be marked for translations, they sometimes need to
-be adjusted. Usually preparing a string for translation is done right
-before marking it, during the marking phase which is described in the
-next sections. What you have to keep in mind while doing that is the
-following.
-
-   * Decent English style.
-
-   * Entire sentences.
-
-   * Split at paragraphs.
-
-   * Use format strings instead of string concatenation.
-
-Let's look at some examples of these guidelines.
-
-   Translatable strings should be in good English style. If slang
-language with abbreviations and shortcuts is used, often translators
-will not understand the message and will produce very inappropriate
-translations.
-
-     "%s: is parameter\n"
-
-This is nearly untranslatable: Is the displayed item _a_ parameter or
-_the_ parameter?
-
-     "No match"
-
-The ambiguity in this message makes it ununderstandable: Is the program
-attempting to set something on fire? Does it mean "The given object does
-not match the template"? Does it mean "The template does not fit for any
-of the objects"?
-
-   In both cases, adding more words to the message will help both the
-translator and the English speaking user.
-
-   Translatable strings should be entire sentences. It is often not
-possible to translate single verbs or adjectives in a substitutable way.
-
-     printf ("File %s is %s protected", filename, rw ? "write" : "read");
-
-Most translators will not look at the source and will thus only see the
-string `"File %s is %s protected"', which is unintelligible. Change
-this to
-
-     printf (rw ? "File %s is write protected" : "File %s is read protected",
-             filename);
-
-This way the translator will not only understand the message, she will
-also be able to find the appropriate grammatical construction. The
-French translator for example translates "write protected" like
-"protected against writing".
-
-   Often sentences don't fit into a single line. If a sentence is output
-using two subsequent `printf' statements, like this
-
-     printf ("Locale charset \"%s\" is different from\n", lcharset);
-     printf ("input file charset \"%s\".\n", fcharset);
-
-the translator would have to translate two half sentences, but nothing
-in the POT file would tell her that the two half sentences belong
-together.  It is necessary to merge the two `printf' statements so that
-the translator can handle the entire sentence at once and decide at
-which place to insert a line break in the translation (if at all):
-
-     printf ("Locale charset \"%s\" is different from\n\
-     input file charset \"%s\".\n", lcharset, fcharset);
-
-   You may now ask: how about two or more adjacent sentences? Like in
-this case:
-
-     puts ("Apollo 13 scenario: Stack overflow handling failed.");
-     puts ("On the next stack overflow we will crash!!!");
-
-Should these two statements merged into a single one? I would recommend
-to merge them if the two sentences are related to each other, because
-then it makes it easier for the translator to understand and translate
-both. On the other hand, if one of the two messages is a stereotypic
-one, occurring in other places as well, you will do a favour to the
-translator by not merging the two. (Identical messages occurring in
-several places are combined by xgettext, so the translator has to
-handle them once only.)
-
-   Translatable strings should be limited to one paragraph; don't let a
-single message be longer than ten lines. The reason is that when the
-translatable string changes, the translator is faced with the task of
-updating the entire translated string. Maybe only a single word will
-have changed in the English string, but the translator doesn't see that
-(with the current translation tools), therefore she has to proofread
-the entire message.
-
-   Many GNU programs have a `--help' output that extends over several
-screen pages. It is a courtesy towards the translators to split such a
-message into several ones of five to ten lines each. While doing that,
-you can also attempt to split the documented options into groups, such
-as the input options, the output options, and the informative output
-options. This will help every user to find the option he is looking for.
-
-   Hardcoded string concatenation is sometimes used to construct English
-strings:
-
-     strcpy (s, "Replace ");
-     strcat (s, object1);
-     strcat (s, " with ");
-     strcat (s, object2);
-     strcat (s, "?");
-
-In order to present to the translator only entire sentences, and also
-because in some languages the translator might want to swap the order
-of `object1' and `object2', it is necessary to change this to use a
-format string:
-
-     sprintf (s, "Replace %s with %s?", object1, object2);
-
-   A similar case is compile time concatenation of strings. The ISO C 99
-include file `<inttypes.h>' contains a macro `PRId64' that can be used
-as a formatting directive for outputting an `int64_t' integer through
-`printf'. It expands to a constant string, usually "d" or "ld" or "lld"
-or something like this, depending on the platform.  Assume you have
-code like
-
-     printf ("The amount is %0" PRId64 "\n", number);
-
-The `gettext' tools and library have special support for these
-`<inttypes.h>' macros.  You can therefore simply write
-
-     printf (gettext ("The amount is %0" PRId64 "\n"), number);
-
-The PO file will contain the string "The amount is %0<PRId64>\n".  The
-translators will provide a translation containing "%0<PRId64>" as well,
-and at runtime the `gettext' function's result will contain the
-appropriate constant string, "d" or "ld" or "lld".
-
-   This works only for the predefined `<inttypes.h>' macros.  If you
-have defined your own similar macros, let's say `MYPRId64', that are
-not known to `xgettext', the solution for this problem is to change the
-code like this:
-
-     char buf1[100];
-     sprintf (buf1, "%0" MYPRId64, number);
-     printf (gettext ("The amount is %s\n"), buf1);
-
-   This means, you put the platform dependent code in one statement,
-and the internationalization code in a different statement. Note that a
-buffer length of 100 is safe, because all available hardware integer
-types are limited to 128 bits, and to print a 128 bit integer one needs
-at most 54 characters, regardless whether in decimal, octal or
-hexadecimal.
-
-   All this applies to other programming languages as well. For
-example, in Java, string contenation is very frequently used, because
-it is a compiler built-in operator. Like in C, in Java, you would change
-
-     System.out.println("Replace "+object1+" with "+object2+"?");
-
-into a statement involving a format string:
-
-     System.out.println(
-         MessageFormat.format("Replace {0} with {1}?",
-                              new Object[] { object1, object2 }));
-
-\1f
-File: gettext.info,  Node: Mark Keywords,  Next: Marking,  Prev: Preparing Strings,  Up: Sources
-
-How Marks Appear in Sources
-===========================
-
-   All strings requiring translation should be marked in the C sources.
-Marking is done in such a way that each translatable string appears to
-be the sole argument of some function or preprocessor macro.  There are
-only a few such possible functions or macros meant for translation, and
-their names are said to be marking keywords.  The marking is attached
-to strings themselves, rather than to what we do with them.  This
-approach has more uses.  A blatant example is an error message produced
-by formatting.  The format string needs translation, as well as some
-strings inserted through some `%s' specification in the format, while
-the result from `sprintf' may have so many different instances that it
-is impractical to list them all in some `error_string_out()' routine,
-say.
-
-   This marking operation has two goals.  The first goal of marking is
-for triggering the retrieval of the translation, at run time.  The
-keyword are possibly resolved into a routine able to dynamically return
-the proper translation, as far as possible or wanted, for the argument
-string.  Most localizable strings are found in executable positions,
-that is, attached to variables or given as parameters to functions.
-But this is not universal usage, and some translatable strings appear
-in structured initializations.  *Note Special cases::.
-
-   The second goal of the marking operation is to help `xgettext' at
-properly extracting all translatable strings when it scans a set of
-program sources and produces PO file templates.
-
-   The canonical keyword for marking translatable strings is `gettext',
-it gave its name to the whole GNU `gettext' package.  For packages
-making only light use of the `gettext' keyword, macro or function, it
-is easily used _as is_.  However, for packages using the `gettext'
-interface more heavily, it is usually more convenient to give the main
-keyword a shorter, less obtrusive name.  Indeed, the keyword might
-appear on a lot of strings all over the package, and programmers
-usually do not want nor need their program sources to remind them
-forcefully, all the time, that they are internationalized.  Further, a
-long keyword has the disadvantage of using more horizontal space,
-forcing more indentation work on sources for those trying to keep them
-within 79 or 80 columns.
-
-   Many packages use `_' (a simple underline) as a keyword, and write
-`_("Translatable string")' instead of `gettext ("Translatable
-string")'.  Further, the coding rule, from GNU standards, wanting that
-there is a space between the keyword and the opening parenthesis is
-relaxed, in practice, for this particular usage.  So, the textual
-overhead per translatable string is reduced to only three characters:
-the underline and the two parentheses.  However, even if GNU `gettext'
-uses this convention internally, it does not offer it officially.  The
-real, genuine keyword is truly `gettext' indeed.  It is fairly easy for
-those wanting to use `_' instead of `gettext' to declare:
-
-     #include <libintl.h>
-     #define _(String) gettext (String)
-
-instead of merely using `#include <libintl.h>'.
-
-   Later on, the maintenance is relatively easy.  If, as a programmer,
-you add or modify a string, you will have to ask yourself if the new or
-altered string requires translation, and include it within `_()' if you
-think it should be translated.  `"%s: %d"' is an example of string
-_not_ requiring translation!
-
-\1f
-File: gettext.info,  Node: Marking,  Next: c-format Flag,  Prev: Mark Keywords,  Up: Sources
-
-Marking Translatable Strings
-============================
-
-   In PO mode, one set of features is meant more for the programmer than
-for the translator, and allows him to interactively mark which strings,
-in a set of program sources, are translatable, and which are not.  Even
-if it is a fairly easy job for a programmer to find and mark such
-strings by other means, using any editor of his choice, PO mode makes
-this work more comfortable.  Further, this gives translators who feel a
-little like programmers, or programmers who feel a little like
-translators, a tool letting them work at marking translatable strings
-in the program sources, while simultaneously producing a set of
-translation in some language, for the package being internationalized.
-
-   The set of program sources, targetted by the PO mode commands
-describe here, should have an Emacs tags table constructed for your
-project, prior to using these PO file commands.  This is easy to do.
-In any shell window, change the directory to the root of your project,
-then execute a command resembling:
-
-     etags src/*.[hc] lib/*.[hc]
-
-presuming here you want to process all `.h' and `.c' files from the
-`src/' and `lib/' directories.  This command will explore all said
-files and create a `TAGS' file in your root directory, somewhat
-summarizing the contents using a special file format Emacs can
-understand.
-
-   For packages following the GNU coding standards, there is a make
-goal `tags' or `TAGS' which constructs the tag files in all directories
-and for all files containing source code.
-
-   Once your `TAGS' file is ready, the following commands assist the
-programmer at marking translatable strings in his set of sources.  But
-these commands are necessarily driven from within a PO file window, and
-it is likely that you do not even have such a PO file yet.  This is not
-a problem at all, as you may safely open a new, empty PO file, mainly
-for using these commands.  This empty PO file will slowly fill in while
-you mark strings as translatable in your program sources.
-
-`,'
-     Search through program sources for a string which looks like a
-     candidate for translation (`po-tags-search').
-
-`M-,'
-     Mark the last string found with `_()' (`po-mark-translatable').
-
-`M-.'
-     Mark the last string found with a keyword taken from a set of
-     possible keywords.  This command with a prefix allows some
-     management of these keywords (`po-select-mark-and-mark').
-
-   The `,' (`po-tags-search') command searches for the next occurrence
-of a string which looks like a possible candidate for translation, and
-displays the program source in another Emacs window, positioned in such
-a way that the string is near the top of this other window.  If the
-string is too big to fit whole in this window, it is positioned so only
-its end is shown.  In any case, the cursor is left in the PO file
-window.  If the shown string would be better presented differently in
-different native languages, you may mark it using `M-,' or `M-.'.
-Otherwise, you might rather ignore it and skip to the next string by
-merely repeating the `,' command.
-
-   A string is a good candidate for translation if it contains a
-sequence of three or more letters.  A string containing at most two
-letters in a row will be considered as a candidate if it has more
-letters than non-letters.  The command disregards strings containing no
-letters, or isolated letters only.  It also disregards strings within
-comments, or strings already marked with some keyword PO mode knows
-(see below).
-
-   If you have never told Emacs about some `TAGS' file to use, the
-command will request that you specify one from the minibuffer, the
-first time you use the command.  You may later change your `TAGS' file
-by using the regular Emacs command `M-x visit-tags-table', which will
-ask you to name the precise `TAGS' file you want to use.  *Note Tag
-Tables: (emacs)Tags.
-
-   Each time you use the `,' command, the search resumes from where it
-was left by the previous search, and goes through all program sources,
-obeying the `TAGS' file, until all sources have been processed.
-However, by giving a prefix argument to the command (`C-u ,'), you may
-request that the search be restarted all over again from the first
-program source; but in this case, strings that you recently marked as
-translatable will be automatically skipped.
-
-   Using this `,' command does not prevent using of other regular Emacs
-tags commands.  For example, regular `tags-search' or
-`tags-query-replace' commands may be used without disrupting the
-independent `,' search sequence.  However, as implemented, the
-_initial_ `,' command (or the `,' command is used with a prefix) might
-also reinitialize the regular Emacs tags searching to the first tags
-file, this reinitialization might be considered spurious.
-
-   The `M-,' (`po-mark-translatable') command will mark the recently
-found string with the `_' keyword.  The `M-.'
-(`po-select-mark-and-mark') command will request that you type one
-keyword from the minibuffer and use that keyword for marking the
-string.  Both commands will automatically create a new PO file
-untranslated entry for the string being marked, and make it the current
-entry (making it easy for you to immediately proceed to its
-translation, if you feel like doing it right away).  It is possible
-that the modifications made to the program source by `M-,' or `M-.'
-render some source line longer than 80 columns, forcing you to break
-and re-indent this line differently.  You may use the `O' command from
-PO mode, or any other window changing command from Emacs, to break out
-into the program source window, and do any needed adjustments.  You
-will have to use some regular Emacs command to return the cursor to the
-PO file window, if you want command `,' for the next string, say.
-
-   The `M-.' command has a few built-in speedups, so you do not have to
-explicitly type all keywords all the time.  The first such speedup is
-that you are presented with a _preferred_ keyword, which you may accept
-by merely typing `<RET>' at the prompt.  The second speedup is that you
-may type any non-ambiguous prefix of the keyword you really mean, and
-the command will complete it automatically for you.  This also means
-that PO mode has to _know_ all your possible keywords, and that it will
-not accept mistyped keywords.
-
-   If you reply `?' to the keyword request, the command gives a list of
-all known keywords, from which you may choose.  When the command is
-prefixed by an argument (`C-u M-.'), it inhibits updating any program
-source or PO file buffer, and does some simple keyword management
-instead.  In this case, the command asks for a keyword, written in
-full, which becomes a new allowed keyword for later `M-.' commands.
-Moreover, this new keyword automatically becomes the _preferred_
-keyword for later commands.  By typing an already known keyword in
-response to `C-u M-.', one merely changes the _preferred_ keyword and
-does nothing more.
-
-   All keywords known for `M-.' are recognized by the `,' command when
-scanning for strings, and strings already marked by any of those known
-keywords are automatically skipped.  If many PO files are opened
-simultaneously, each one has its own independent set of known keywords.
-There is no provision in PO mode, currently, for deleting a known
-keyword, you have to quit the file (maybe using `q') and reopen it
-afresh.  When a PO file is newly brought up in an Emacs window, only
-`gettext' and `_' are known as keywords, and `gettext' is preferred for
-the `M-.' command.  In fact, this is not useful to prefer `_', as this
-one is already built in the `M-,' command.
-
-\1f
-File: gettext.info,  Node: c-format Flag,  Next: Special cases,  Prev: Marking,  Up: Sources
-
-Special Comments preceding Keywords
-===================================
-
-   In C programs strings are often used within calls of functions from
-the `printf' family.  The special thing about these format strings is
-that they can contain format specifiers introduced with `%'.  Assume we
-have the code
-
-     printf (gettext ("String `%s' has %d characters\n"), s, strlen (s));
-
-A possible German translation for the above string might be:
-
-     "%d Zeichen lang ist die Zeichenkette `%s'"
-
-   A C programmer, even if he cannot speak German, will recognize that
-there is something wrong here.  The order of the two format specifiers
-is changed but of course the arguments in the `printf' don't have.
-This will most probably lead to problems because now the length of the
-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
-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
-
-     "%2$d Zeichen lang ist die Zeichenkette `%1$s'"
-
-The routines in `msgfmt' know about this special notation.
-
-   Because not all strings in a program must be format strings it is not
-useful for `msgfmt' to test all the strings in the `.po' file.  This
-might cause problems because the string might contain what looks like a
-format specifier, but the string is not used in `printf'.
-
-   Therefore the `xgettext' adds a special tag to those messages it
-thinks might be a format string.  There is no absolute rule for this,
-only a heuristic.  In the `.po' file the entry is marked using the
-`c-format' flag in the `#,' comment line (*note PO Files::).
-
-   The careful reader now might say that this again can cause problems.
-The heuristic might guess it wrong.  This is true and therefore
-`xgettext' knows about a special kind of comment which lets the
-programmer take over the decision.  If in the same line as or the
-immediately preceding line to the `gettext' keyword the `xgettext'
-program finds a comment containing the words `xgettext:c-format', it
-will mark the string in any case with the `c-format' flag.  This kind
-of comment should be used when `xgettext' does not recognize the string
-as a format string but it really is one and it should be tested.
-Please note that when the comment is in the same line as the `gettext'
-keyword, it must be before the string to be translated.
-
-   This situation happens quite often.  The `printf' function is often
-called with strings which do not contain a format specifier.  Of course
-one would normally use `fputs' but it does happen.  In this case
-`xgettext' does not recognize this as a format string but what happens
-if the translation introduces a valid format specifier?  The `printf'
-function will try to access one of the parameters but none exists
-because the original code does not pass any parameters.
-
-   `xgettext' of course could make a wrong decision the other way
-round, i.e. a string marked as a format string actually is not a format
-string.  In this case the `msgfmt' might give too many warnings and
-would prevent translating the `.po' file.  The method to prevent this
-wrong decision is similar to the one used above, only the comment to
-use must contain the string `xgettext:no-c-format'.
-
-   If a string is marked with `c-format' and this is not correct the
-user can find out who is responsible for the decision.  See *Note
-xgettext Invocation:: to see how the `--debug' option can be used for
-solving this problem.
-
-\1f
-File: gettext.info,  Node: Special cases,  Prev: c-format Flag,  Up: Sources
-
-Special Cases of Translatable Strings
-=====================================
-
-   The attentive reader might now point out that it is not always
-possible to mark translatable string with `gettext' or something like
-this.  Consider the following case:
-
-     {
-       static const char *messages[] = {
-         "some very meaningful message",
-         "and another one"
-       };
-       const char *string;
-       ...
-       string
-         = index > 1 ? "a default message" : messages[index];
-     
-       fputs (string);
-       ...
-     }
-
-   While it is no problem to mark the string `"a default message"' it
-is not possible to mark the string initializers for `messages'.  What
-is to be done?  We have to fulfill two tasks.  First we have to mark the
-strings so that the `xgettext' program (*note xgettext Invocation::)
-can find them, and second we have to translate the string at runtime
-before printing them.
-
-   The first task can be fulfilled by creating a new keyword, which
-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
-     
-     {
-       static const char *messages[] = {
-         gettext_noop ("some very meaningful message"),
-         gettext_noop ("and another one")
-       };
-       const char *string;
-       ...
-       string
-         = index > 1 ? gettext ("a default message") : gettext (messages[index]);
-     
-       fputs (string);
-       ...
-     }
-
-   Please convince yourself that the string which is written by `fputs'
-is translated in any case.  How to get `xgettext' know the additional
-keyword `gettext_noop' is explained in *Note xgettext Invocation::.
-
-   The above is of course not the only solution.  You could also come
-along with the following one:
-
-     #define gettext_noop(String) String
-     
-     {
-       static const char *messages[] = {
-         gettext_noop ("some very meaningful message",
-         gettext_noop ("and another one")
-       };
-       const char *string;
-       ...
-       string
-         = index > 1 ? gettext_noop ("a default message") : messages[index];
-     
-       fputs (gettext (string));
-       ...
-     }
-
-   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
-generally not very difficult.  If it should be in any situation you can
-use this second method in this situation.
-
-\1f
-File: gettext.info,  Node: Template,  Next: Creating,  Prev: Sources,  Up: Top
-
-Making the PO Template File
-***************************
-
-   After preparing the sources, the programmer creates a PO template
-file.  This section explains how to use `xgettext' for this purpose.
-
-   `xgettext' creates a file named `DOMAINNAME.po'.  You should then
-rename it to `DOMAINNAME.pot'.  (Why doesn't `xgettext' create it under
-the name `DOMAINNAME.pot' right away?  The answer is: for historical
-reasons.  When `xgettext' was specified, the distinction between a PO
-file and PO file template was fuzzy, and the suffix `.pot' wasn't in
-use at that time.)
-
-* Menu:
-
-* xgettext Invocation::         Invoking the `xgettext' Program
-
diff --git a/doc/gettext.info-3 b/doc/gettext.info-3
deleted file mode 100644 (file)
index 18c338a..0000000
+++ /dev/null
@@ -1,1252 +0,0 @@
-This is gettext.info, produced by makeinfo version 4.2 from
-gettext.texi.
-
-INFO-DIR-SECTION GNU Gettext Utilities
-START-INFO-DIR-ENTRY
-* gettext: (gettext).                          GNU gettext utilities.
-* autopoint: (gettext)autopoint Invocation.    Copy gettext infrastructure.
-* gettextize: (gettext)gettextize Invocation.  Prepare a package for gettext.
-* msgattrib: (gettext)msgattrib Invocation.    Select part of a PO file.
-* msgcat: (gettext)msgcat Invocation.          Combine several PO files.
-* msgcmp: (gettext)msgcmp Invocation.          Compare a PO file and template.
-* msgcomm: (gettext)msgcomm Invocation.        Match two PO files.
-* msgconv: (gettext)msgconv Invocation.        Convert PO file to encoding.
-* msgen: (gettext)msgen Invocation.            Create an English PO file.
-* msgexec: (gettext)msgexec Invocation.        Process a PO file.
-* msgfilter: (gettext)msgfilter Invocation.    Pipe a PO file through a filter.
-* msgfmt: (gettext)msgfmt Invocation.          Make MO files out of PO files.
-* msggrep: (gettext)msggrep Invocation.        Select part of a PO file.
-* msginit: (gettext)msginit Invocation.        Create a fresh PO file.
-* msgmerge: (gettext)msgmerge Invocation.      Update a PO file from template.
-* msgunfmt: (gettext)msgunfmt Invocation.      Uncompile MO file into PO file.
-* msguniq: (gettext)msguniq Invocation.        Unify duplicates for PO file.
-* xgettext: (gettext)xgettext Invocation.      Extract strings into a PO file.
-* ISO639: (gettext)Language Codes.             ISO 639 language codes.
-* ISO3166: (gettext)Country Codes.             ISO 3166 country codes.
-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, 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
-preserved on all copies.
-
-   Permission is granted to copy and distribute modified versions of
-this manual under the conditions for verbatim copying, provided that
-the entire resulting derived work is distributed under the terms of a
-permission notice identical to this one.
-
-   Permission is granted to copy and distribute translations of this
-manual into another language, under the above conditions for modified
-versions, except that this permission notice may be stated in a
-translation approved by the Foundation.
-
-\1f
-File: gettext.info,  Node: xgettext Invocation,  Prev: Template,  Up: Template
-
-Invoking the `xgettext' Program
-===============================
-
-     xgettext [OPTION] [INPUTFILE] ...
-
-   The `xgettext' program extracts translatable strings from given
-input files.
-
-Input file location
--------------------
-
-`INPUTFILE ...'
-     Input files.
-
-`-f FILE'
-`--files-from=FILE'
-     Read the names of the input files from FILE instead of getting
-     them from the command line.
-
-`-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 INPUTFILE is `-', standard input is read.
-
-Output file location
---------------------
-
-`-d NAME'
-`--default-domain=NAME'
-     Use `NAME.po' for output (instead of `messages.po').
-
-`-o FILE'
-`--output=FILE'
-     Write output to specified file (instead of `NAME.po' or
-     `messages.po').
-
-`-p DIR'
-`--output-dir=DIR'
-     Output files will be placed in directory DIR.
-
-   If the output FILE is `-' or `/dev/stdout', the output is written to
-standard output.
-
-Choice of input file language
------------------------------
-
-`-L NAME'
-`--language=NAME'
-     Specifies the language of the input files.  The supported languages
-     are `C', `C++', `ObjectiveC', `PO', `Python', `Lisp', `EmacsLisp',
-     `librep', `Smalltalk', `Java', `awk', `YCP', `Tcl', `PHP', `RST',
-     `Glade'.
-
-`-C'
-`--c++'
-     This is a shorthand for `--language=C++'.
-
-   By default the language is guessed depending on the input file name
-extension.
-
-Input file interpretation
--------------------------
-
-`--from-code=NAME'
-     Specifies the encoding of the input files.  This option is needed
-     only if some untranslated message strings or their corresponding
-     comments contain non-ASCII characters.  Note that Python, Tcl, and
-     Glade input files are always assumed to be in UTF-8, regardless of
-     this option.
-
-   By default the input files are assumed to be in ASCII.
-
-Operation mode
---------------
-
-`-j'
-`--join-existing'
-     Join messages with existing file.
-
-`-x FILE'
-`--exclude-file=FILE'
-     Entries from FILE are not extracted.  FILE should be a PO or POT
-     file.
-
-`-c [TAG]'
-`--add-comments[=TAG]'
-     Place comment block with TAG (or those preceding keyword lines) in
-     output file.
-
-Language=C/C++ specific options
--------------------------------
-
-`-a'
-`--extract-all'
-     Extract all strings.
-
-`-k KEYWORDSPEC'
-`--keyword[=KEYWORDSPEC]'
-     Additional keyword to be looked for (without KEYWORDSPEC means not
-     to use default keywords).
-
-     If KEYWORDSPEC is a C identifer ID, `xgettext' looks for strings
-     in the first argument of each call to the function or macro ID.
-     If KEYWORDSPEC is of the form `ID:ARGNUM', `xgettext' looks for
-     strings in the ARGNUMth argument of the call.  If KEYWORDSPEC is
-     of the form `ID:ARGNUM1,ARGNUM2', `xgettext' looks for strings in
-     the ARGNUM1st argument and in the ARGNUM2nd argument of the call,
-     and treats them as singular/plural variants for a message with
-     plural handling.
-
-     The default keyword specifications, which are always looked for if
-     not explicitly disabled, are `gettext', `dgettext:2',
-     `dcgettext:2', `ngettext:1,2', `dngettext:2,3', `dcngettext:2,3',
-     and `gettext_noop'.
-
-`-T'
-`--trigraphs'
-     Understand ANSI C trigraphs for input.
-
-`--debug'
-     Use the flags `c-format' and `possible-c-format' to show who was
-     responsible for marking a message as a format string.  The latter
-     form is used if the `xgettext' program decided, the format form is
-     used if the programmer prescribed it.
-
-     By default only the `c-format' form is used.  The translator should
-     not have to care about these details.
-
-   This implementation of `xgettext' is able to process a few awkward
-cases, like strings in preprocessor macros, ANSI concatenation of
-adjacent strings, and escaped end of lines for continued strings.
-
-Output details
---------------
-
-`--force-po'
-     Always write an output file even if no message is defined.
-
-`-i'
-`--indent'
-     Write the .po file using indented style.
-
-`--no-location'
-     Do not write `#: FILENAME:LINE' lines.
-
-`-n'
-`--add-location'
-     Generate `#: FILENAME:LINE' lines (default).
-
-`--strict'
-     Write out a strict Uniforum conforming PO file.  Note that this
-     Uniforum format should be avoided because it doesn't support the
-     GNU extensions.
-
-`-w NUMBER'
-`--width=NUMBER'
-     Set the output page width.  Long strings in the output files will
-     be split across multiple lines in order to ensure that each line's
-     width (= number of screen columns) is less or equal to the given
-     NUMBER.
-
-`--no-wrap'
-     Do not break long message lines.  Message lines whose width
-     exceeds the output page width will not be split into several
-     lines.  Only file reference lines which are wider than the output
-     page width will be split.
-
-`-s'
-`--sort-output'
-     Generate sorted output.  Note that using this option makes it much
-     harder for the translator to understand each message's context.
-
-`-F'
-`--sort-by-file'
-     Sort output by file location.
-
-`--omit-header'
-     Don't write header with `msgid ""' entry.
-
-     This is useful for testing purposes because it eliminates a source
-     of variance for generated `.gmo' files.  With `--omit-header', two
-     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 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]'
-     Use STRING (or "" if not specified) as prefix for msgstr entries.
-
-`-M [STRING]'
-`--msgstr-suffix[=STRING]'
-     Use STRING (or "" if not specified) as suffix for msgstr entries.
-
-Informative output
-------------------
-
-`-h'
-`--help'
-     Display this help and exit.
-
-`-V'
-`--version'
-     Output version information and exit.
-
-\1f
-File: gettext.info,  Node: Creating,  Next: Updating,  Prev: Template,  Up: Top
-
-Creating a New PO File
-**********************
-
-   When starting a new translation, the translator creates a file called
-`LANG.po', as a copy of the `PACKAGE.pot' template file with
-modifications in the initial comments (at the beginning of the file)
-and in the header entry (the first entry, near the beginning of the
-file).
-
-   The easiest way to do so is by use of the `msginit' program.  For
-example:
-
-     $ cd PACKAGE-VERSION
-     $ cd po
-     $ msginit
-
-   The alternative way is to do the copy and modifications by hand.  To
-do so, the translator copies `PACKAGE.pot' to `LANG.po'.  Then she
-modifies the initial comments and the header entry of this file.
-
-* Menu:
-
-* msginit Invocation::          Invoking the `msginit' Program
-* Header Entry::                Filling in the Header Entry
-
-\1f
-File: gettext.info,  Node: msginit Invocation,  Next: Header Entry,  Prev: Creating,  Up: Creating
-
-Invoking the `msginit' Program
-==============================
-
-     msginit [OPTION]
-
-   The `msginit' program creates a new PO file, initializing the meta
-information with values from the user's environment.
-
-Input file location
--------------------
-
-`-i INPUTFILE'
-`--input=INPUTFILE'
-     Input POT file.
-
-   If no INPUTFILE is given, the current directory is searched for the
-POT file.  If it is `-', standard input is read.
-
-Output file location
---------------------
-
-`-o FILE'
-`--output-file=FILE'
-     Write output to specified PO file.
-
-   If no output file is given, it depends on the `--locale' option or
-the user's locale setting.  If it is `-', the results are written to
-standard output.
-
-Output details
---------------
-
-`-l LL_CC'
-`--locale=LL_CC'
-     Set target locale.  LL should be a language code, and CC should be
-     a country code.  The command `locale -a' can be used to output a
-     list of all installed locales.  The default is the user's locale
-     setting.
-
-`--no-translator'
-     Declares that the PO file will not have a human translator and is
-     instead automatically generated.
-
-`-w NUMBER'
-`--width=NUMBER'
-     Set the output page width.  Long strings in the output files will
-     be split across multiple lines in order to ensure that each line's
-     width (= number of screen columns) is less or equal to the given
-     NUMBER.
-
-`--no-wrap'
-     Do not break long message lines.  Message lines whose width
-     exceeds the output page width will not be split into several
-     lines.  Only file reference lines which are wider than the output
-     page width will be split.
-
-Informative output
-------------------
-
-`-h'
-`--help'
-     Display this help and exit.
-
-`-V'
-`--version'
-     Output version information and exit.
-
-\1f
-File: gettext.info,  Node: Header Entry,  Prev: msginit Invocation,  Up: Creating
-
-Filling in the Header Entry
-===========================
-
-   The initial comments "SOME DESCRIPTIVE TITLE", "YEAR" and "FIRST
-AUTHOR <EMAIL@ADDRESS>, YEAR" ought to be replaced by sensible
-information.  This can be done in any text editor; if Emacs is used and
-it switched to PO mode automatically (because it has recognized the
-file's suffix), you can disable it by typing `M-x fundamental-mode'.
-
-   Modifying the header entry can already be done using PO mode: in
-Emacs, type `M-x po-mode RET' and then `RET' again to start editing the
-entry.  You should fill in the following fields.
-
-Project-Id-Version
-     This is the name and version of the package.
-
-POT-Creation-Date
-     This has already been filled in by `xgettext'.
-
-PO-Revision-Date
-     You don't need to fill this in. It will be filled by the Emacs PO
-     mode when you save the file.
-
-Last-Translator
-     Fill in your name and email address (without double quotes).
-
-Language-Team
-     Fill in the English name of the language, and the email address or
-     homepage URL of the language team you are part of.
-
-     Before starting a translation, it is a good idea to get in touch
-     with your translation team, not only to make sure you don't do
-     duplicated work, but also to coordinate difficult linguistic
-     issues.
-
-     In the Free Translation Project, each translation team has its own
-     mailing list.  The up-to-date list of teams can be found at the
-     Free Translation Project's homepage,
-     `http://www.iro.umontreal.ca/contrib/po/HTML/', in the "National
-     teams" area.
-
-Content-Type
-     Replace `CHARSET' with the character encoding used for your
-     language, in your locale, or UTF-8.  This field is needed for
-     correct operation of the `msgmerge' and `msgfmt' programs, as well
-     as for users whose locale's character encoding differs from yours
-     (see *Note Charset conversion::).
-
-     You get the character encoding of your locale by running the shell
-     command `locale charmap'.  If the result is `C' or
-     `ANSI_X3.4-1968', which is equivalent to `ASCII' (= `US-ASCII'),
-     it means that your locale is not correctly configured.  In this
-     case, ask your translation team which charset to use.  `ASCII' is
-     not usable for any language except Latin.
-
-     Because the PO files must be portable to operating systems with
-     less advanced internationalization facilities, the character
-     encodings that can be used are limited to those supported by both
-     GNU `libc' and GNU `libiconv'. These are: `ASCII', `ISO-8859-1',
-     `ISO-8859-2', `ISO-8859-3', `ISO-8859-4', `ISO-8859-5',
-     `ISO-8859-6', `ISO-8859-7', `ISO-8859-8', `ISO-8859-9',
-     `ISO-8859-13', `ISO-8859-14', `ISO-8859-15', `KOI8-R', `KOI8-U',
-     `KOI8-T', `CP850', `CP866', `CP874', `CP932', `CP949', `CP950',
-     `CP1250', `CP1251', `CP1252', `CP1253', `CP1254', `CP1255',
-     `CP1256', `CP1257', `GB2312', `EUC-JP', `EUC-KR', `EUC-TW',
-     `BIG5', `BIG5-HKSCS', `GBK', `GB18030', `SHIFT_JIS', `JOHAB',
-     `TIS-620', `VISCII', `GEORGIAN-PS', `UTF-8'.
-
-     In the GNU system, the following encodings are frequently used for
-     the corresponding languages.
-
-        * `ISO-8859-1' for  Afrikaans, Albanian, Basque, Breton,
-          Catalan, Cornish, Danish, Dutch,  English, Estonian, Faroese,
-          Finnish, French, Galician, German,  Greenlandic, Icelandic,
-          Indonesian, Irish, Italian, Malay, Manx,  Norwegian, Occitan,
-          Portuguese, Spanish, Swedish, Tagalog, Uzbek,  Walloon,
-
-        * `ISO-8859-2' for  Bosnian, Croatian, Czech, Hungarian,
-          Polish, Romanian, Serbian, Slovak,  Slovenian,
-
-        * `ISO-8859-3' for Maltese,
-
-        * `ISO-8859-5' for Macedonian, Serbian,
-
-        * `ISO-8859-6' for Arabic,
-
-        * `ISO-8859-7' for Greek,
-
-        * `ISO-8859-8' for Hebrew,
-
-        * `ISO-8859-9' for Turkish,
-
-        * `ISO-8859-13' for Latvian, Lithuanian, Maori,
-
-        * `ISO-8859-14' for Welsh,
-
-        * `ISO-8859-15' for  Basque, Catalan, Dutch, English, Finnish,
-          French, Galician, German, Irish,  Italian, Portuguese,
-          Spanish, Swedish, Walloon,
-
-        * `KOI8-R' for Russian,
-
-        * `KOI8-U' for Ukrainian,
-
-        * `KOI8-T' for Tajik,
-
-        * `CP1251' for Bulgarian, Byelorussian,
-
-        * `GB2312', `GBK', `GB18030'  for simplified writing of Chinese,
-
-        * `BIG5', `BIG5-HKSCS'  for traditional writing of Chinese,
-
-        * `EUC-JP' for Japanese,
-
-        * `EUC-KR' for Korean,
-
-        * `TIS-620' for Thai,
-
-        * `GEORGIAN-PS' for Georgian,
-
-        * `UTF-8' for any language, including those listed above.
-
-     When single quote characters or double quote characters are used in
-     translations for your language, and your locale's encoding is one
-     of the ISO-8859-* charsets, it is best if you create your PO files
-     in UTF-8 encoding, instead of your locale's encoding.  This is
-     because in UTF-8 the real quote characters can be represented
-     (single quote characters: U+2018, U+2019, double quote characters:
-     U+201C, U+201D), whereas none of ISO-8859-* charsets has them all.
-     Users in UTF-8 locales will see the real quote characters,
-     whereas users in ISO-8859-* locales will see the vertical
-     apostrophe and the vertical double quote instead (because that's
-     what the character set conversion will transliterate them to).
-
-     To enter such quote characters under X11, you can change your
-     keyboard mapping using the `xmodmap' program.  The X11 names of
-     the quote characters are "leftsinglequotemark",
-     "rightsinglequotemark", "leftdoublequotemark",
-     "rightdoublequotemark", "singlelowquotemark", "doublelowquotemark".
-
-     Note that only recent versions of GNU Emacs support the UTF-8
-     encoding: Emacs 20 with Mule-UCS, and Emacs 21.  As of January
-     2001, XEmacs doesn't support the UTF-8 encoding.
-
-     The character encoding name can be written in either upper or
-     lower case.  Usually upper case is preferred.
-
-Content-Transfer-Encoding
-     Set this to `8bit'.
-
-Plural-Forms
-     This field is optional.  It is only needed if the PO file has
-     plural forms.  You can find them by searching for the
-     `msgid_plural' keyword.  The format of the plural forms field is
-     described in *Note Plural forms::.
-
-\1f
-File: gettext.info,  Node: Updating,  Next: Manipulating,  Prev: Creating,  Up: Top
-
-Updating Existing PO Files
-**************************
-
-* Menu:
-
-* msgmerge Invocation::         Invoking the `msgmerge' Program
-* Translated Entries::          Translated Entries
-* Fuzzy Entries::               Fuzzy Entries
-* Untranslated Entries::        Untranslated Entries
-* Obsolete Entries::            Obsolete Entries
-* Modifying Translations::      Modifying Translations
-* Modifying Comments::          Modifying Comments
-* Subedit::                     Mode for Editing Translations
-* C Sources Context::           C Sources Context
-* Auxiliary::                   Consulting Auxiliary PO Files
-* Compendium::                  Using Translation Compendia
-
-\1f
-File: gettext.info,  Node: msgmerge Invocation,  Next: Translated Entries,  Prev: Updating,  Up: Updating
-
-Invoking the `msgmerge' Program
-===============================
-
-     msgmerge [OPTION] DEF.po REF.pot
-
-   The `msgmerge' program merges two Uniforum style .po files together.
-The DEF.po file is an existing PO file with translations which will be
-taken over to the newly created file as long as they still match;
-comments will be preserved, but extracted comments and file positions
-will be discarded.  The REF.pot file is the last created PO file with
-up-to-date source references but old translations, or a PO Template file
-(generally created by `xgettext'); any translations or comments in the
-file will be discarded, however dot comments and file positions will be
-preserved.  Where an exact match cannot be found, fuzzy matching is
-used to produce better results.
-
-Input file location
--------------------
-
-`DEF.po'
-     Translations referring to old sources.
-
-`REF.pot'
-     References to the new sources.
-
-`-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.
-
-`-C FILE'
-`--compendium=FILE'
-     Specify an additional library of message translations.  *Note
-     Compendium::.  This option may be specified more than once.
-
-Operation mode
---------------
-
-`-U'
-`--update'
-     Update DEF.po.  Do nothing if DEF.po is already up to date.
-
-Output file location
---------------------
-
-`-o FILE'
-`--output-file=FILE'
-     Write output to specified file.
-
-   The results are written to standard output if no output file is
-specified or if it is `-'.
-
-Output file location in update mode
------------------------------------
-
-   The result is written back to DEF.po.
-
-`--backup=CONTROL'
-     Make a backup of DEF.po
-
-`--suffix=SUFFIX'
-     Override the usual backup suffix.
-
-   The version control method may be selected via the `--backup' option
-or through the `VERSION_CONTROL' environment variable.  Here are the
-values:
-
-`none'
-`off'
-     Never make backups (even if `--backup' is given).
-
-`numbered'
-`t'
-     Make numbered backups.
-
-`existing'
-`nil'
-     Make numbered backups if numbered backups for this file already
-     exist, otherwise make simple backups.
-
-`simple'
-`never'
-     Always make simple backups.
-
-   The backup suffix is `~', unless set with `--suffix' or the
-`SIMPLE_BACKUP_SUFFIX' environment variable.
-
-Operation modifiers
--------------------
-
-`-m'
-`--multi-domain'
-     Apply REF.pot to each of the domains in DEF.po.
-
-Output details
---------------
-
-`--force-po'
-     Always write an output file even if it contains no message.
-
-`-i'
-`--indent'
-     Write the .po file using indented style.
-
-`--no-location'
-     Do not write `#: FILENAME:LINE' lines.
-
-`--add-location'
-     Generate `#: FILENAME:LINE' lines (default).
-
-`--strict'
-     Write out a strict Uniforum conforming PO file.  Note that this
-     Uniforum format should be avoided because it doesn't support the
-     GNU extensions.
-
-`-w NUMBER'
-`--width=NUMBER'
-     Set the output page width.  Long strings in the output files will
-     be split across multiple lines in order to ensure that each line's
-     width (= number of screen columns) is less or equal to the given
-     NUMBER.
-
-`--no-wrap'
-     Do not break long message lines.  Message lines whose width
-     exceeds the output page width will not be split into several
-     lines.  Only file reference lines which are wider than the output
-     page width will be split.
-
-`-s'
-`--sort-output'
-     Generate sorted output.  Note that using this option makes it much
-     harder for the translator to understand each message's context.
-
-`-F'
-`--sort-by-file'
-     Sort output by file location.
-
-Informative output
-------------------
-
-`-h'
-`--help'
-     Display this help and exit.
-
-`-V'
-`--version'
-     Output version information and exit.
-
-`-v'
-`--verbose'
-     Increase verbosity level.
-
-`-q'
-`--quiet'
-`--silent'
-     Suppress progress indicators.
-
-\1f
-File: gettext.info,  Node: Translated Entries,  Next: Fuzzy Entries,  Prev: msgmerge Invocation,  Up: Updating
-
-Translated Entries
-==================
-
-   Each PO file entry for which the `msgstr' field has been filled with
-a translation, and which is not marked as fuzzy (*note Fuzzy Entries::),
-is said to be a "translated" entry.  Only translated entries will later
-be compiled by GNU `msgfmt' and become usable in programs.  Other entry
-types will be excluded; translation will not occur for them.
-
-   Some commands are more specifically related to translated entry
-processing.
-
-`t'
-     Find the next translated entry (`po-next-translated-entry').
-
-`T'
-     Find the previous translated entry
-     (`po-previous-translated-entry').
-
-   The commands `t' (`po-next-translated-entry') and `T'
-(`po-previous-translated-entry') move forwards or backwards, chasing
-for an translated entry.  If none is found, the search is extended and
-wraps around in the PO file buffer.
-
-   Translated entries usually result from the translator having edited
-in a translation for them, *Note Modifying Translations::.  However, if
-the variable `po-auto-fuzzy-on-edit' is not `nil', the entry having
-received a new translation first becomes a fuzzy entry, which ought to
-be later unfuzzied before becoming an official, genuine translated
-entry.  *Note Fuzzy Entries::.
-
-\1f
-File: gettext.info,  Node: Fuzzy Entries,  Next: Untranslated Entries,  Prev: Translated Entries,  Up: Updating
-
-Fuzzy Entries
-=============
-
-   Each PO file entry may have a set of "attributes", which are
-qualities given a name and explicitly associated with the translation,
-using a special system comment.  One of these attributes has the name
-`fuzzy', and entries having this attribute are said to have a fuzzy
-translation.  They are called fuzzy entries, for short.
-
-   Fuzzy entries, even if they account for translated entries for most
-other purposes, usually call for revision by the translator.  Those may
-be produced by applying the program `msgmerge' to update an older
-translated PO files according to a new PO template file, when this tool
-hypothesises that some new `msgid' has been modified only slightly out
-of an older one, and chooses to pair what it thinks to be the old
-translation for the new modified entry.  The slight alteration in the
-original string (the `msgid' string) should often be reflected in the
-translated string, and this requires the intervention of the
-translator.  For this reason, `msgmerge' might mark some entries as
-being fuzzy.
-
-   Also, the translator may decide herself to mark an entry as fuzzy
-for her own convenience, when she wants to remember that the entry has
-to be later revisited.  So, some commands are more specifically related
-to fuzzy entry processing.
-
-`z'
-     Find the next fuzzy entry (`po-next-fuzzy-entry').
-
-`Z'
-     Find the previous fuzzy entry (`po-previous-fuzzy-entry').
-
-`<TAB>'
-     Remove the fuzzy attribute of the current entry (`po-unfuzzy').
-
-   The commands `z' (`po-next-fuzzy-entry') and `Z'
-(`po-previous-fuzzy-entry') move forwards or backwards, chasing for a
-fuzzy entry.  If none is found, the search is extended and wraps around
-in the PO file buffer.
-
-   The command `<TAB>' (`po-unfuzzy') removes the fuzzy attribute
-associated with an entry, usually leaving it translated.  Further, if
-the variable `po-auto-select-on-unfuzzy' has not the `nil' value, the
-`<TAB>' command will automatically chase for another interesting entry
-to work on.  The initial value of `po-auto-select-on-unfuzzy' is `nil'.
-
-   The initial value of `po-auto-fuzzy-on-edit' is `nil'.  However, if
-the variable `po-auto-fuzzy-on-edit' is set to `t', any entry edited
-through the `<RET>' command is marked fuzzy, as a way to ensure some
-kind of double check, later.  In this case, the usual paradigm is that
-an entry becomes fuzzy (if not already) whenever the translator
-modifies it.  If she is satisfied with the translation, she then uses
-`<TAB>' to pick another entry to work on, clearing the fuzzy attribute
-on the same blow.  If she is not satisfied yet, she merely uses `<SPC>'
-to chase another entry, leaving the entry fuzzy.
-
-   The translator may also use the `<DEL>' command
-(`po-fade-out-entry') over any translated entry to mark it as being
-fuzzy, when she wants to easily leave a trace she wants to later return
-working at this entry.
-
-   Also, when time comes to quit working on a PO file buffer with the
-`q' command, the translator is asked for confirmation, if fuzzy string
-still exists.
-
-\1f
-File: gettext.info,  Node: Untranslated Entries,  Next: Obsolete Entries,  Prev: Fuzzy Entries,  Up: Updating
-
-Untranslated Entries
-====================
-
-   When `xgettext' originally creates a PO file, unless told otherwise,
-it initializes the `msgid' field with the untranslated string, and
-leaves the `msgstr' string to be empty.  Such entries, having an empty
-translation, are said to be "untranslated" entries.  Later, when the
-programmer slightly modifies some string right in the program, this
-change is later reflected in the PO file by the appearance of a new
-untranslated entry for the modified string.
-
-   The usual commands moving from entry to entry consider untranslated
-entries on the same level as active entries.  Untranslated entries are
-easily recognizable by the fact they end with `msgstr ""'.
-
-   The work of the translator might be (quite naively) seen as the
-process of seeking for an untranslated entry, editing a translation for
-it, and repeating these actions until no untranslated entries remain.
-Some commands are more specifically related to untranslated entry
-processing.
-
-`u'
-     Find the next untranslated entry (`po-next-untranslated-entry').
-
-`U'
-     Find the previous untranslated entry
-     (`po-previous-untransted-entry').
-
-`k'
-     Turn the current entry into an untranslated one (`po-kill-msgstr').
-
-   The commands `u' (`po-next-untranslated-entry') and `U'
-(`po-previous-untransted-entry') move forwards or backwards, chasing
-for an untranslated entry.  If none is found, the search is extended
-and wraps around in the PO file buffer.
-
-   An entry can be turned back into an untranslated entry by merely
-emptying its translation, using the command `k' (`po-kill-msgstr').
-*Note Modifying Translations::.
-
-   Also, when time comes to quit working on a PO file buffer with the
-`q' command, the translator is asked for confirmation, if some
-untranslated string still exists.
-
-\1f
-File: gettext.info,  Node: Obsolete Entries,  Next: Modifying Translations,  Prev: Untranslated Entries,  Up: Updating
-
-Obsolete Entries
-================
-
-   By "obsolete" PO file entries, we mean those entries which are
-commented out, usually by `msgmerge' when it found that the translation
-is not needed anymore by the package being localized.
-
-   The usual commands moving from entry to entry consider obsolete
-entries on the same level as active entries.  Obsolete entries are
-easily recognizable by the fact that all their lines start with `#',
-even those lines containing `msgid' or `msgstr'.
-
-   Commands exist for emptying the translation or reinitializing it to
-the original untranslated string.  Commands interfacing with the kill
-ring may force some previously saved text into the translation.  The
-user may interactively edit the translation.  All these commands may
-apply to obsolete entries, carefully leaving the entry obsolete after
-the fact.
-
-   Moreover, some commands are more specifically related to obsolete
-entry processing.
-
-`o'
-     Find the next obsolete entry (`po-next-obsolete-entry').
-
-`O'
-     Find the previous obsolete entry (`po-previous-obsolete-entry').
-
-`<DEL>'
-     Make an active entry obsolete, or zap out an obsolete entry
-     (`po-fade-out-entry').
-
-   The commands `o' (`po-next-obsolete-entry') and `O'
-(`po-previous-obsolete-entry') move forwards or backwards, chasing for
-an obsolete entry.  If none is found, the search is extended and wraps
-around in the PO file buffer.
-
-   PO mode does not provide ways for un-commenting an obsolete entry
-and making it active, because this would reintroduce an original
-untranslated string which does not correspond to any marked string in
-the program sources.  This goes with the philosophy of never
-introducing useless `msgid' values.
-
-   However, it is possible to comment out an active entry, so making it
-obsolete.  GNU `gettext' utilities will later react to the
-disappearance of a translation by using the untranslated string.  The
-command `<DEL>' (`po-fade-out-entry') pushes the current entry a little
-further towards annihilation.  If the entry is active (it is a
-translated entry), then it is first made fuzzy.  If it is already fuzzy,
-then the entry is merely commented out, with confirmation.  If the entry
-is already obsolete, then it is completely deleted from the PO file.
-It is easy to recycle the translation so deleted into some other PO file
-entry, usually one which is untranslated.  *Note Modifying
-Translations::.
-
-   Here is a quite interesting problem to solve for later development of
-PO mode, for those nights you are not sleepy.  The idea would be that
-PO mode might become bright enough, one of these days, to make good
-guesses at retrieving the most probable candidate, among all obsolete
-entries, for initializing the translation of a newly appeared string.
-I think it might be a quite hard problem to do this algorithmically, as
-we have to develop good and efficient measures of string similarity.
-Right now, PO mode completely lets the decision to the translator, when
-the time comes to find the adequate obsolete translation, it merely
-tries to provide handy tools for helping her to do so.
-
-\1f
-File: gettext.info,  Node: Modifying Translations,  Next: Modifying Comments,  Prev: Obsolete Entries,  Up: Updating
-
-Modifying Translations
-======================
-
-   PO mode prevents direct modification of the PO file, by the usual
-means Emacs gives for altering a buffer's contents.  By doing so, it
-pretends helping the translator to avoid little clerical errors about
-the overall file format, or the proper quoting of strings, as those
-errors would be easily made.  Other kinds of errors are still possible,
-but some may be caught and diagnosed by the batch validation process,
-which the translator may always trigger by the `V' command.  For all
-other errors, the translator has to rely on her own judgment, and also
-on the linguistic reports submitted to her by the users of the
-translated package, having the same mother tongue.
-
-   When the time comes to create a translation, correct an error
-diagnosed mechanically or reported by a user, the translators have to
-resort to using the following commands for modifying the translations.
-
-`<RET>'
-     Interactively edit the translation (`po-edit-msgstr').
-
-`<LFD>'
-`C-j'
-     Reinitialize the translation with the original, untranslated string
-     (`po-msgid-to-msgstr').
-
-`k'
-     Save the translation on the kill ring, and delete it
-     (`po-kill-msgstr').
-
-`w'
-     Save the translation on the kill ring, without deleting it
-     (`po-kill-ring-save-msgstr').
-
-`y'
-     Replace the translation, taking the new from the kill ring
-     (`po-yank-msgstr').
-
-   The command `<RET>' (`po-edit-msgstr') opens a new Emacs window
-meant to edit in a new translation, or to modify an already existing
-translation.  The new window contains a copy of the translation taken
-from the current PO file entry, all ready for edition, expunged of all
-quoting marks, fully modifiable and with the complete extent of Emacs
-modifying commands.  When the translator is done with her
-modifications, she may use `C-c C-c' to close the subedit window with
-the automatically requoted results, or `C-c C-k' to abort her
-modifications.  *Note Subedit::, for more information.
-
-   The command `<LFD>' (`po-msgid-to-msgstr') initializes, or
-reinitializes the translation with the original string.  This command is
-normally used when the translator wants to redo a fresh translation of
-the original string, disregarding any previous work.
-
-   It is possible to arrange so, whenever editing an untranslated
-entry, the `<LFD>' command be automatically executed.  If you set
-`po-auto-edit-with-msgid' to `t', the translation gets initialised with
-the original string, in case none exists already.  The default value
-for `po-auto-edit-with-msgid' is `nil'.
-
-   In fact, whether it is best to start a translation with an empty
-string, or rather with a copy of the original string, is a matter of
-taste or habit.  Sometimes, the source language and the target language
-are so different that is simply best to start writing on an empty page.
-At other times, the source and target languages are so close that it
-would be a waste to retype a number of words already being written in
-the original string.  A translator may also like having the original
-string right under her eyes, as she will progressively overwrite the
-original text with the translation, even if this requires some extra
-editing work to get rid of the original.
-
-   The command `k' (`po-kill-msgstr') merely empties the translation
-string, so turning the entry into an untranslated one.  But while doing
-so, its previous contents is put apart in a special place, known as the
-kill ring.  The command `w' (`po-kill-ring-save-msgstr') has also the
-effect of taking a copy of the translation onto the kill ring, but it
-otherwise leaves the entry alone, and does _not_ remove the translation
-from the entry.  Both commands use exactly the Emacs kill ring, which
-is shared between buffers, and which is well known already to Emacs
-lovers.
-
-   The translator may use `k' or `w' many times in the course of her
-work, as the kill ring may hold several saved translations.  From the
-kill ring, strings may later be reinserted in various Emacs buffers.
-In particular, the kill ring may be used for moving translation strings
-between different entries of a single PO file buffer, or if the
-translator is handling many such buffers at once, even between PO files.
-
-   To facilitate exchanges with buffers which are not in PO mode, the
-translation string put on the kill ring by the `k' command is fully
-unquoted before being saved: external quotes are removed, multi-line
-strings are concatenated, and backslash escaped sequences are turned
-into their corresponding characters.  In the special case of obsolete
-entries, the translation is also uncommented prior to saving.
-
-   The command `y' (`po-yank-msgstr') completely replaces the
-translation of the current entry by a string taken from the kill ring.
-Following Emacs terminology, we then say that the replacement string is
-"yanked" into the PO file buffer.  *Note Yanking: (emacs)Yanking.  The
-first time `y' is used, the translation receives the value of the most
-recent addition to the kill ring.  If `y' is typed once again,
-immediately, without intervening keystrokes, the translation just
-inserted is taken away and replaced by the second most recent addition
-to the kill ring.  By repeating `y' many times in a row, the translator
-may travel along the kill ring for saved strings, until she finds the
-string she really wanted.
-
-   When a string is yanked into a PO file entry, it is fully and
-automatically requoted for complying with the format PO files should
-have.  Further, if the entry is obsolete, PO mode then appropriately
-push the inserted string inside comments.  Once again, translators
-should not burden themselves with quoting considerations besides, of
-course, the necessity of the translated string itself respective to the
-program using it.
-
-   Note that `k' or `w' are not the only commands pushing strings on
-the kill ring, as almost any PO mode command replacing translation
-strings (or the translator comments) automatically saves the old string
-on the kill ring.  The main exceptions to this general rule are the
-yanking commands themselves.
-
-   To better illustrate the operation of killing and yanking, let's use
-an actual example, taken from a common situation.  When the programmer
-slightly modifies some string right in the program, his change is later
-reflected in the PO file by the appearance of a new untranslated entry
-for the modified string, and the fact that the entry translating the
-original or unmodified string becomes obsolete.  In many cases, the
-translator might spare herself some work by retrieving the unmodified
-translation from the obsolete entry, then initializing the untranslated
-entry `msgstr' field with this retrieved translation.  Once this done,
-the obsolete entry is not wanted anymore, and may be safely deleted.
-
-   When the translator finds an untranslated entry and suspects that a
-slight variant of the translation exists, she immediately uses `m' to
-mark the current entry location, then starts chasing obsolete entries
-with `o', hoping to find some translation corresponding to the
-unmodified string.  Once found, she uses the `<DEL>' command for
-deleting the obsolete entry, knowing that `<DEL>' also _kills_ the
-translation, that is, pushes the translation on the kill ring.  Then,
-`r' returns to the initial untranslated entry, and `y' then _yanks_ the
-saved translation right into the `msgstr' field.  The translator is
-then free to use `<RET>' for fine tuning the translation contents, and
-maybe to later use `u', then `m' again, for going on with the next
-untranslated string.
-
-   When some sequence of keys has to be typed over and over again, the
-translator may find it useful to become better acquainted with the Emacs
-capability of learning these sequences and playing them back under
-request.  *Note Keyboard Macros: (emacs)Keyboard Macros.
-
-\1f
-File: gettext.info,  Node: Modifying Comments,  Next: Subedit,  Prev: Modifying Translations,  Up: Updating
-
-Modifying Comments
-==================
-
-   Any translation work done seriously will raise many linguistic
-difficulties, for which decisions have to be made, and the choices
-further documented.  These documents may be saved within the PO file in
-form of translator comments, which the translator is free to create,
-delete, or modify at will.  These comments may be useful to herself
-when she returns to this PO file after a while.
-
-   Comments not having whitespace after the initial `#', for example,
-those beginning with `#.' or `#:', are _not_ translator comments, they
-are exclusively created by other `gettext' tools.  So, the commands
-below will never alter such system added comments, they are not meant
-for the translator to modify.  *Note PO Files::.
-
-   The following commands are somewhat similar to those modifying
-translations, so the general indications given for those apply here.
-*Note Modifying Translations::.
-
-`#'
-     Interactively edit the translator comments (`po-edit-comment').
-
-`K'
-     Save the translator comments on the kill ring, and delete it
-     (`po-kill-comment').
-
-`W'
-     Save the translator comments on the kill ring, without deleting it
-     (`po-kill-ring-save-comment').
-
-`Y'
-     Replace the translator comments, taking the new from the kill ring
-     (`po-yank-comment').
-
-   These commands parallel PO mode commands for modifying the
-translation strings, and behave much the same way as they do, except
-that they handle this part of PO file comments meant for translator
-usage, rather than the translation strings.  So, if the descriptions
-given below are slightly succinct, it is because the full details have
-already been given.  *Note Modifying Translations::.
-
-   The command `#' (`po-edit-comment') opens a new Emacs window
-containing a copy of the translator comments on the current PO file
-entry.  If there are no such comments, PO mode understands that the
-translator wants to add a comment to the entry, and she is presented
-with an empty screen.  Comment marks (`#') and the space following them
-are automatically removed before edition, and reinstated after.  For
-translator comments pertaining to obsolete entries, the uncommenting
-and recommenting operations are done twice.  Once in the editing
-window, the keys `C-c C-c' allow the translator to tell she is finished
-with editing the comment.  *Note Subedit::, for further details.
-
-   Functions found on `po-subedit-mode-hook', if any, are executed after
-the string has been inserted in the edit buffer.
-
-   The command `K' (`po-kill-comment') gets rid of all translator
-comments, while saving those comments on the kill ring.  The command
-`W' (`po-kill-ring-save-comment') takes a copy of the translator
-comments on the kill ring, but leaves them undisturbed in the current
-entry.  The command `Y' (`po-yank-comment') completely replaces the
-translator comments by a string taken at the front of the kill ring.
-When this command is immediately repeated, the comments just inserted
-are withdrawn, and replaced by other strings taken along the kill ring.
-
-   On the kill ring, all strings have the same nature.  There is no
-distinction between _translation_ strings and _translator comments_
-strings.  So, for example, let's presume the translator has just
-finished editing a translation, and wants to create a new translator
-comment to document why the previous translation was not good, just to
-remember what was the problem.  Foreseeing that she will do that in her
-documentation, the translator may want to quote the previous
-translation in her translator comments.  To do so, she may initialize
-the translator comments with the previous translation, still at the
-head of the kill ring.  Because editing already pushed the previous
-translation on the kill ring, she merely has to type `M-w' prior to
-`#', and the previous translation will be right there, all ready for
-being introduced by some explanatory text.
-
-   On the other hand, presume there are some translator comments already
-and that the translator wants to add to those comments, instead of
-wholly replacing them.  Then, she should edit the comment right away
-with `#'.  Once inside the editing window, she can use the regular
-Emacs commands `C-y' (`yank') and `M-y' (`yank-pop') to get the
-previous translation where she likes.
-
-\1f
-File: gettext.info,  Node: Subedit,  Next: C Sources Context,  Prev: Modifying Comments,  Up: Updating
-
-Details of Sub Edition
-======================
-
-   The PO subedit minor mode has a few peculiarities worth being
-described in fuller detail.  It installs a few commands over the usual
-editing set of Emacs, which are described below.
-
-`C-c C-c'
-     Complete edition (`po-subedit-exit').
-
-`C-c C-k'
-     Abort edition (`po-subedit-abort').
-
-`C-c C-a'
-     Consult auxiliary PO files (`po-subedit-cycle-auxiliary').
-
-   The window's contents represents a translation for a given message,
-or a translator comment.  The translator may modify this window to her
-heart's content.  Once this is done, the command `C-c C-c'
-(`po-subedit-exit') may be used to return the edited translation into
-the PO file, replacing the original translation, even if it moved out of
-sight or if buffers were switched.
-
-   If the translator becomes unsatisfied with her translation or
-comment, to the extent she prefers keeping what was existent prior to
-the `<RET>' or `#' command, she may use the command `C-c C-k'
-(`po-subedit-abort') to merely get rid of edition, while preserving the
-original translation or comment.  Another way would be for her to exit
-normally with `C-c C-c', then type `U' once for undoing the whole
-effect of last edition.
-
-   The command `C-c C-a' (`po-subedit-cycle-auxiliary') allows for
-glancing through translations already achieved in other languages,
-directly while editing the current translation.  This may be quite
-convenient when the translator is fluent at many languages, but of
-course, only makes sense when such completed auxiliary PO files are
-already available to her (*note Auxiliary::).
-
-   Functions found on `po-subedit-mode-hook', if any, are executed after
-the string has been inserted in the edit buffer.
-
-   While editing her translation, the translator should pay attention
-to not inserting unwanted `<RET>' (newline) characters at the end of
-the translated string if those are not meant to be there, or to removing
-such characters when they are required.  Since these characters are not
-visible in the editing buffer, they are easily introduced by mistake.
-To help her, `<RET>' automatically puts the character `<' at the end of
-the string being edited, but this `<' is not really part of the string.
-On exiting the editing window with `C-c C-c', PO mode automatically
-removes such `<' and all whitespace added after it.  If the translator
-adds characters after the terminating `<', it looses its delimiting
-property and integrally becomes part of the string.  If she removes the
-delimiting `<', then the edited string is taken _as is_, with all
-trailing newlines, even if invisible.  Also, if the translated string
-ought to end itself with a genuine `<', then the delimiting `<' may not
-be removed; so the string should appear, in the editing window, as
-ending with two `<' in a row.
-
-   When a translation (or a comment) is being edited, the translator
-may move the cursor back into the PO file buffer and freely move to
-other entries, browsing at will.  If, with an edition pending, the
-translator wanders in the PO file buffer, she may decide to start
-modifying another entry.  Each entry being edited has its own subedit
-buffer.  It is possible to simultaneously edit the translation _and_
-the comment of a single entry, or to edit entries in different PO
-files, all at once.  Typing `<RET>' on a field already being edited
-merely resumes that particular edit.  Yet, the translator should better
-be comfortable at handling many Emacs windows!
-
-   Pending subedits may be completed or aborted in any order, regardless
-of how or when they were started.  When many subedits are pending and
-the translator asks for quitting the PO file (with the `q' command),
-subedits are automatically resumed one at a time, so she may decide for
-each of them.
-
diff --git a/doc/gettext.info-4 b/doc/gettext.info-4
deleted file mode 100644 (file)
index 5abe608..0000000
+++ /dev/null
@@ -1,1513 +0,0 @@
-This is gettext.info, produced by makeinfo version 4.2 from
-gettext.texi.
-
-INFO-DIR-SECTION GNU Gettext Utilities
-START-INFO-DIR-ENTRY
-* gettext: (gettext).                          GNU gettext utilities.
-* autopoint: (gettext)autopoint Invocation.    Copy gettext infrastructure.
-* gettextize: (gettext)gettextize Invocation.  Prepare a package for gettext.
-* msgattrib: (gettext)msgattrib Invocation.    Select part of a PO file.
-* msgcat: (gettext)msgcat Invocation.          Combine several PO files.
-* msgcmp: (gettext)msgcmp Invocation.          Compare a PO file and template.
-* msgcomm: (gettext)msgcomm Invocation.        Match two PO files.
-* msgconv: (gettext)msgconv Invocation.        Convert PO file to encoding.
-* msgen: (gettext)msgen Invocation.            Create an English PO file.
-* msgexec: (gettext)msgexec Invocation.        Process a PO file.
-* msgfilter: (gettext)msgfilter Invocation.    Pipe a PO file through a filter.
-* msgfmt: (gettext)msgfmt Invocation.          Make MO files out of PO files.
-* msggrep: (gettext)msggrep Invocation.        Select part of a PO file.
-* msginit: (gettext)msginit Invocation.        Create a fresh PO file.
-* msgmerge: (gettext)msgmerge Invocation.      Update a PO file from template.
-* msgunfmt: (gettext)msgunfmt Invocation.      Uncompile MO file into PO file.
-* msguniq: (gettext)msguniq Invocation.        Unify duplicates for PO file.
-* xgettext: (gettext)xgettext Invocation.      Extract strings into a PO file.
-* ISO639: (gettext)Language Codes.             ISO 639 language codes.
-* ISO3166: (gettext)Country Codes.             ISO 3166 country codes.
-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, 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
-preserved on all copies.
-
-   Permission is granted to copy and distribute modified versions of
-this manual under the conditions for verbatim copying, provided that
-the entire resulting derived work is distributed under the terms of a
-permission notice identical to this one.
-
-   Permission is granted to copy and distribute translations of this
-manual into another language, under the above conditions for modified
-versions, except that this permission notice may be stated in a
-translation approved by the Foundation.
-
-\1f
-File: gettext.info,  Node: C Sources Context,  Next: Auxiliary,  Prev: Subedit,  Up: Updating
-
-C Sources Context
-=================
-
-   PO mode is particularly powerful when used with PO files created
-through GNU `gettext' utilities, as those utilities insert special
-comments in the PO files they generate.  Some of these special comments
-relate the PO file entry to exactly where the untranslated string
-appears in the program sources.
-
-   When the translator gets to an untranslated entry, she is fairly
-often faced with an original string which is not as informative as it
-normally should be, being succinct, cryptic, or otherwise ambiguous.
-Before choosing how to translate the string, she needs to understand
-better what the string really means and how tight the translation has
-to be.  Most of the time, when problems arise, the only way left to make
-her judgment is looking at the true program sources from where this
-string originated, searching for surrounding comments the programmer
-might have put in there, and looking around for helping clues of _any_
-kind.
-
-   Surely, when looking at program sources, the translator will receive
-more help if she is a fluent programmer.  However, even if she is not
-versed in programming and feels a little lost in C code, the translator
-should not be shy at taking a look, once in a while.  It is most
-probable that she will still be able to find some of the hints she
-needs.  She will learn quickly to not feel uncomfortable in program
-code, paying more attention to programmer's comments, variable and
-function names (if he dared choosing them well), and overall
-organization, than to the program code itself.
-
-   The following commands are meant to help the translator at getting
-program source context for a PO file entry.
-
-`s'
-     Resume the display of a program source context, or cycle through
-     them (`po-cycle-source-reference').
-
-`M-s'
-     Display of a program source context selected by menu
-     (`po-select-source-reference').
-
-`S'
-     Add a directory to the search path for source files
-     (`po-consider-source-path').
-
-`M-S'
-     Delete a directory from the search path for source files
-     (`po-ignore-source-path').
-
-   The commands `s' (`po-cycle-source-reference') and `M-s'
-(`po-select-source-reference') both open another window displaying some
-source program file, and already positioned in such a way that it shows
-an actual use of the string to be translated.  By doing so, the command
-gives source program context for the string.  But if the entry has no
-source context references, or if all references are unresolved along
-the search path for program sources, then the command diagnoses this as
-an error.
-
-   Even if `s' (or `M-s') opens a new window, the cursor stays in the
-PO file window.  If the translator really wants to get into the program
-source window, she ought to do it explicitly, maybe by using command
-`O'.
-
-   When `s' is typed for the first time, or for a PO file entry which
-is different of the last one used for getting source context, then the
-command reacts by giving the first context available for this entry, if
-any.  If some context has already been recently displayed for the
-current PO file entry, and the translator wandered off to do other
-things, typing `s' again will merely resume, in another window, the
-context last displayed.  In particular, if the translator moved the
-cursor away from the context in the source file, the command will bring
-the cursor back to the context.  By using `s' many times in a row, with
-no other commands intervening, PO mode will cycle to the next available
-contexts for this particular entry, getting back to the first context
-once the last has been shown.
-
-   The command `M-s' behaves differently.  Instead of cycling through
-references, it lets the translator choose a particular reference among
-many, and displays that reference.  It is best used with completion, if
-the translator types `<TAB>' immediately after `M-s', in response to
-the question, she will be offered a menu of all possible references, as
-a reminder of which are the acceptable answers.  This command is useful
-only where there are really many contexts available for a single string
-to translate.
-
-   Program source files are usually found relative to where the PO file
-stands.  As a special provision, when this fails, the file is also
-looked for, but relative to the directory immediately above it.  Those
-two cases take proper care of most PO files.  However, it might happen
-that a PO file has been moved, or is edited in a different place than
-its normal location.  When this happens, the translator should tell PO
-mode in which directory normally sits the genuine PO file.  Many such
-directories may be specified, and all together, they constitute what is
-called the "search path" for program sources.  The command `S'
-(`po-consider-source-path') is used to interactively enter a new
-directory at the front of the search path, and the command `M-S'
-(`po-ignore-source-path') is used to select, with completion, one of
-the directories she does not want anymore on the search path.
-
-\1f
-File: gettext.info,  Node: Auxiliary,  Next: Compendium,  Prev: C Sources Context,  Up: Updating
-
-Consulting Auxiliary PO Files
-=============================
-
-   PO mode is able to help the knowledgeable translator, being fluent in
-many languages, at taking advantage of translations already achieved in
-other languages she just happens to know.  It provides these other
-language translations as additional context for her own work.  Moreover,
-it has features to ease the production of translations for many
-languages at once, for translators preferring to work in this way.
-
-   An "auxiliary" PO file is an existing PO file meant for the same
-package the translator is working on, but targeted to a different mother
-tongue language.  Commands exist for declaring and handling auxiliary
-PO files, and also for showing contexts for the entry under work.
-
-   Here are the auxiliary file commands available in PO mode.
-
-`a'
-     Seek auxiliary files for another translation for the same entry
-     (`po-cycle-auxiliary').
-
-`C-c C-a'
-     Switch to a particular auxiliary file (`po-select-auxiliary').
-
-`A'
-     Declare this PO file as an auxiliary file
-     (`po-consider-as-auxiliary').
-
-`M-A'
-     Remove this PO file from the list of auxiliary files
-     (`po-ignore-as-auxiliary').
-
-   Command `A' (`po-consider-as-auxiliary') adds the current PO file to
-the list of auxiliary files, while command `M-A'
-(`po-ignore-as-auxiliary' just removes it.
-
-   The command `a' (`po-cycle-auxiliary') seeks all auxiliary PO files,
-round-robin, searching for a translated entry in some other language
-having an `msgid' field identical as the one for the current entry.
-The found PO file, if any, takes the place of the current PO file in
-the display (its window gets on top).  Before doing so, the current PO
-file is also made into an auxiliary file, if not already.  So, `a' in
-this newly displayed PO file will seek another PO file, and so on, so
-repeating `a' will eventually yield back the original PO file.
-
-   The command `C-c C-a' (`po-select-auxiliary') asks the translator
-for her choice of a particular auxiliary file, with completion, and
-then switches to that selected PO file.  The command also checks if the
-selected file has an `msgid' field identical as the one for the current
-entry, and if yes, this entry becomes current.  Otherwise, the cursor
-of the selected file is left undisturbed.
-
-   For all this to work fully, auxiliary PO files will have to be
-normalized, in that way that `msgid' fields should be written _exactly_
-the same way.  It is possible to write `msgid' fields in various ways
-for representing the same string, different writing would break the
-proper behaviour of the auxiliary file commands of PO mode.  This is not
-expected to be much a problem in practice, as most existing PO files
-have their `msgid' entries written by the same GNU `gettext' tools.
-
-   However, PO files initially created by PO mode itself, while marking
-strings in source files, are normalised differently.  So are PO files
-resulting of the the `M-x normalize' command.  Until these
-discrepancies between PO mode and other GNU `gettext' tools get fully
-resolved, the translator should stay aware of normalisation issues.
-
-\1f
-File: gettext.info,  Node: Compendium,  Prev: Auxiliary,  Up: Updating
-
-Using Translation Compendia
-===========================
-
-   A "compendium" is a special PO file containing a set of translations
-recurring in many different packages.  The translator can use gettext
-tools to build a new compendium, to add entries to her compendium, and
-to initialize untranslated entries, or to update already translated
-entries, from translations kept in the compendium.
-
-* Menu:
-
-* Creating Compendia::          Merging translations for later use
-* Using Compendia::             Using older translations if they fit
-
-\1f
-File: gettext.info,  Node: Creating Compendia,  Next: Using Compendia,  Prev: Compendium,  Up: Compendium
-
-Creating Compendia
-------------------
-
-   Basically every PO file consisting of translated entries only can be
-declared as a valid compendium.  Often the translator wants to have
-special compendia; let's consider two cases: `concatenating PO files'
-and `extracting a message subset from a PO file'.
-
-Concatenate PO Files
-....................
-
-   To concatenate several valid PO files into one compendium file you
-can use `msgcomm' or `msgcat' (the latter preferred):
-
-     msgcat -o compendium.po file1.po file2.po
-
-   By default, `msgcat' will accumulate divergent translations for the
-same string.  Those occurences will be marked as `fuzzy' and highly
-visible decorated; calling `msgcat' on `file1.po':
-
-     #: src/hello.c:200
-     #, c-format
-     msgid "Report bugs to <%s>.\n"
-     msgstr "Comunicar `bugs' a <%s>.\n"
-
-and `file2.po':
-
-     #: src/bye.c:100
-     #, c-format
-     msgid "Report bugs to <%s>.\n"
-     msgstr "Comunicar \"bugs\" a <%s>.\n"
-
-will result in:
-
-     #: src/hello.c:200 src/bye.c:100
-     #, fuzzy, c-format
-     msgid "Report bugs to <%s>.\n"
-     msgstr ""
-     "#-#-#-#-#  file1.po  #-#-#-#-#\n"
-     "Comunicar `bugs' a <%s>.\n"
-     "#-#-#-#-#  file2.po  #-#-#-#-#\n"
-     "Comunicar \"bugs\" a <%s>.\n"
-
-The translator will have to resolve this "conflict" manually; she has
-to decide whether the first or the second version is appropriate (or
-provide a new translation), to delete the "marker lines", and finally
-to remove the `fuzzy' mark.
-
-   If the translator knows in advance the first found translation of a
-message is always the best translation she can make use to the
-`--use-first' switch:
-
-     msgcat --use-first -o compendium.po file1.po file2.po
-
-   A good compendium file must not contain `fuzzy' or untranslated
-entries.  If input files are "dirty" you must preprocess the input
-files or postprocess the result using `msgattrib --translated
---no-fuzzy'.
-
-Extract a Message Subset from a PO File
-.......................................
-
-   Nobody wants to translate the same messages again and again; thus you
-may wish to have a compendium file containing `getopt.c' messages.
-
-   To extract a message subset (e.g., all `getopt.c' messages) from an
-existing PO file into one compendium file you can use `msggrep':
-
-     msggrep --location src/getopt.c -o compendium.po file.po
-
-\1f
-File: gettext.info,  Node: Using Compendia,  Prev: Creating Compendia,  Up: Compendium
-
-Using Compendia
----------------
-
-   You can use a compendium file to initialize a translation from
-scratch or to update an already existing translation.
-
-Initialize a New Translation File
-.................................
-
-   Since a PO file with translations does not exist the translator can
-merely use `/dev/null' to fake the "old" translation file.
-
-     msgmerge --compendium compendium.po -o file.po /dev/null file.pot
-
-Update an Existing Translation File
-...................................
-
-   Concatenate the compendium file(s) and the existing PO, merge the
-result with the POT file and remove the obsolete entries (optional,
-here done using `sed'):
-
-     msgcat --use-first -o update.po compendium1.po compendium2.po file.po
-     msgmerge update.po file.pot | sed -e '/^#~/d' > file.po
-
-\1f
-File: gettext.info,  Node: Manipulating,  Next: Binaries,  Prev: Updating,  Up: Top
-
-Manipulating PO Files
-*********************
-
-   Sometimes it is necessary to manipulate PO files in a way that is
-better performed automatically than by hand.  GNU `gettext' includes a
-complete set of tools for this purpose.
-
-   When merging two packages into a single package, the resulting POT
-file will be the concatenation of the two packages' POT files.  Thus the
-maintainer must concatenate the two existing package translations into
-a single translation catalog, for each language.  This is best performed
-using `msgcat'.  It is then the translators' duty to deal with any
-possible conflicts that arose during the merge.
-
-   When a translator takes over the translation job from another
-translator, but she uses a different character encoding in her locale,
-she will convert the catalog to her character encoding.  This is best
-done through the `msgconv' program.
-
-   When a maintainer takes a source file with tagged messages from
-another package, he should also take the existing translations for this
-source file (and not let the translators do the same job twice).  One
-way to do this is through `msggrep', another is to create a POT file for
-that source file and use `msgmerge'.
-
-   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 `msgfilter'.
-
-   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
-merge duplicates, the `msguniq' program can be used.
-
-   `msgcomm' is a more general tool for keeping or throwing away
-duplicates, occurring in different files.
-
-   `msgcmp' can be used to check whether a translation catalog is
-completely translated.
-
-   `msgattrib' can be used to select and extract only the fuzzy or
-untranslated messages of a translation catalog.
-
-   `msgen' is useful as a first step for preparing English translation
-catalogs.  It copies each message's msgid to its msgstr.
-
-* Menu:
-
-* msgcat Invocation::           Invoking the `msgcat' Program
-* msgconv Invocation::          Invoking the `msgconv' Program
-* msggrep Invocation::          Invoking the `msggrep' 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
-
-\1f
-File: gettext.info,  Node: msgcat Invocation,  Next: msgconv Invocation,  Prev: Manipulating,  Up: Manipulating
-
-Invoking the `msgcat' Program
-=============================
-
-     msgcat [OPTION] [INPUTFILE]...
-
-   The `msgcat' program concatenates and merges the specified PO files.
-It finds messages which are common to two or more of the specified PO
-files.  By using the `--more-than' option, greater commonality may be
-requested before messages are printed.  Conversely, the `--less-than'
-option may be used to specify less commonality before messages are
-printed (i.e.  `--less-than=2' will only print the unique messages).
-Translations, comments and extract comments will be cumulated, except
-that if `--use-first' is specified, they will be taken from the first
-PO file to define them.  File positions from all PO files will be
-cumulated.
-
-Input file location
--------------------
-
-`INPUTFILE ...'
-     Input files.
-
-`-f FILE'
-`--files-from=FILE'
-     Read the names of the input files from FILE instead of getting
-     them from the command line.
-
-`-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 INPUTFILE is `-', standard input is read.
-
-Output file location
---------------------
-
-`-o FILE'
-`--output-file=FILE'
-     Write output to specified file.
-
-   The results are written to standard output if no output file is
-specified or if it is `-'.
-
-Message selection
------------------
-
-`-< NUMBER'
-`--less-than=NUMBER'
-     Print messages with less than NUMBER definitions, defaults to
-     infinite if not set.
-
-`-> NUMBER'
-`--more-than=NUMBER'
-     Print messages with more than NUMBER definitions, defaults to 0 if
-     not set.
-
-`-u'
-`--unique'
-     Shorthand for `--less-than=2'.  Requests that only unique messages
-     be printed.
-
-Output details
---------------
-
-`-t'
-`--to-code=NAME'
-     Specify encoding for output.
-
-`--use-first'
-     Use first available translation for each message.  Don't merge
-     several translations into one.
-
-`--force-po'
-     Always write an output file even if it contains no message.
-
-`-i'
-`--indent'
-     Write the .po file using indented style.
-
-`--no-location'
-     Do not write `#: FILENAME:LINE' lines.
-
-`-n'
-`--add-location'
-     Generate `#: FILENAME:LINE' lines (default).
-
-`--strict'
-     Write out a strict Uniforum conforming PO file.  Note that this
-     Uniforum format should be avoided because it doesn't support the
-     GNU extensions.
-
-`-w NUMBER'
-`--width=NUMBER'
-     Set the output page width.  Long strings in the output files will
-     be split across multiple lines in order to ensure that each line's
-     width (= number of screen columns) is less or equal to the given
-     NUMBER.
-
-`--no-wrap'
-     Do not break long message lines.  Message lines whose width
-     exceeds the output page width will not be split into several
-     lines.  Only file reference lines which are wider than the output
-     page width will be split.
-
-`-s'
-`--sort-output'
-     Generate sorted output.  Note that using this option makes it much
-     harder for the translator to understand each message's context.
-
-`-F'
-`--sort-by-file'
-     Sort output by file location.
-
-Informative output
-------------------
-
-`-h'
-`--help'
-     Display this help and exit.
-
-`-V'
-`--version'
-     Output version information and exit.
-
-\1f
-File: gettext.info,  Node: msgconv Invocation,  Next: msggrep Invocation,  Prev: msgcat Invocation,  Up: Manipulating
-
-Invoking the `msgconv' Program
-==============================
-
-     msgconv [OPTION] [INPUTFILE]
-
-   The `msgconv' program converts a translation catalog to a different
-character encoding.
-
-Input file location
--------------------
-
-`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.
-
-Output file location
---------------------
-
-`-o FILE'
-`--output-file=FILE'
-     Write output to specified file.
-
-   The results are written to standard output if no output file is
-specified or if it is `-'.
-
-Conversion target
------------------
-
-`-t'
-`--to-code=NAME'
-     Specify encoding for output.
-
-   The default encoding is the current locale's encoding.
-
-Output details
---------------
-
-`--force-po'
-     Always write an output file even if it contains no message.
-
-`-i'
-`--indent'
-     Write the .po file using indented style.
-
-`--no-location'
-     Do not write `#: FILENAME:LINE' lines.
-
-`--add-location'
-     Generate `#: FILENAME:LINE' lines (default).
-
-`--strict'
-     Write out a strict Uniforum conforming PO file.  Note that this
-     Uniforum format should be avoided because it doesn't support the
-     GNU extensions.
-
-`-w NUMBER'
-`--width=NUMBER'
-     Set the output page width.  Long strings in the output files will
-     be split across multiple lines in order to ensure that each line's
-     width (= number of screen columns) is less or equal to the given
-     NUMBER.
-
-`--no-wrap'
-     Do not break long message lines.  Message lines whose width
-     exceeds the output page width will not be split into several
-     lines.  Only file reference lines which are wider than the output
-     page width will be split.
-
-`-s'
-`--sort-output'
-     Generate sorted output.  Note that using this option makes it much
-     harder for the translator to understand each message's context.
-
-`-F'
-`--sort-by-file'
-     Sort output by file location.
-
-Informative output
-------------------
-
-`-h'
-`--help'
-     Display this help and exit.
-
-`-V'
-`--version'
-     Output version information and exit.
-
-\1f
-File: gettext.info,  Node: msggrep Invocation,  Next: msgfilter Invocation,  Prev: msgconv Invocation,  Up: Manipulating
-
-Invoking the `msggrep' Program
-==============================
-
-     msggrep [OPTION] [INPUTFILE]
-
-   The `msggrep' program extracts all messages of a translation catalog
-that match a given pattern or belong to some given source files.
-
-Input file location
--------------------
-
-`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.
-
-Output file location
---------------------
-
-`-o FILE'
-`--output-file=FILE'
-     Write output to specified file.
-
-   The results are written to standard output if no output file is
-specified or if it is `-'.
-
-Message selection
------------------
-
-       [-N SOURCEFILE]... [-M DOMAINNAME]...
-       [-K MSGID-PATTERN] [-T MSGSTR-PATTERN] [-C COMMENT-PATTERN]
-
-   A message is selected if
-   * it comes from one of the specified source files,
-
-   * or if it comes from one of the specified domains,
-
-   * or if `-K' is given and its key (msgid or msgid_plural) matches
-       MSGID-PATTERN,
-
-   * or if `-T' is given and its translation (msgstr) matches
-     MSGSTR-PATTERN,
-
-   * or if `-C' is given and the translator's comment matches
-     COMMENT-PATTERN.
-
-   When more than one selection criterion is specified, the set of
-selected messages is the union of the selected messages of each
-criterion.
-
-   MSGID-PATTERN or MSGSTR-PATTERN syntax:
-       [-E | -F] [-e PATTERN | -f FILE]...
-   PATTERNs are basic regular expressions by default, or extended
-regular expressions if -E is given, or fixed strings if -F is given.
-
-`-N SOURCEFILE'
-`--location=SOURCEFILE'
-     Select messages extracted from SOURCEFILE.  SOURCEFILE can be
-     either a literal file name or a wildcard pattern.
-
-`-M DOMAINNAME'
-`--domain=DOMAINNAME'
-     Select messages belonging to domain DOMAINNAME.
-
-`-K'
-`--msgid'
-     Start of patterns for the msgid.
-
-`-T'
-`--msgstr'
-     Start of patterns for the msgstr.
-
-`-E'
-`--extended-regexp'
-     Specify that PATTERN is an extended regular expression.
-
-`-F'
-`--fixed-strings'
-     Specify that PATTERN is a set of newline-separated strings.
-
-`-e PATTERN'
-`--regexp=PATTERN'
-     Use PATTERN as a regular expression.
-
-`-f FILE'
-`--file=FILE'
-     Obtain PATTERN from FILE.
-
-`-i'
-`--ignore-case'
-     Ignore case distinctions.
-
-Output details
---------------
-
-`--force-po'
-     Always write an output file even if it contains no message.
-
-`--indent'
-     Write the .po file using indented style.
-
-`--no-location'
-     Do not write `#: FILENAME:LINE' lines.
-
-`--add-location'
-     Generate `#: FILENAME:LINE' lines (default).
-
-`--strict'
-     Write out a strict Uniforum conforming PO file.  Note that this
-     Uniforum format should be avoided because it doesn't support the
-     GNU extensions.
-
-`-w NUMBER'
-`--width=NUMBER'
-     Set the output page width.  Long strings in the output files will
-     be split across multiple lines in order to ensure that each line's
-     width (= number of screen columns) is less or equal to the given
-     NUMBER.
-
-`--no-wrap'
-     Do not break long message lines.  Message lines whose width
-     exceeds the output page width will not be split into several
-     lines.  Only file reference lines which are wider than the output
-     page width will be split.
-
-`--sort-output'
-     Generate sorted output.  Note that using this option makes it much
-     harder for the translator to understand each message's context.
-
-`--sort-by-file'
-     Sort output by file location.
-
-Informative output
-------------------
-
-`-h'
-`--help'
-     Display this help and exit.
-
-`-V'
-`--version'
-     Output version information and exit.
-
-\1f
-File: gettext.info,  Node: msgfilter Invocation,  Next: msguniq Invocation,  Prev: msggrep Invocation,  Up: Manipulating
-
-Invoking the `msgfilter' Program
-================================
-
-     msgfilter [OPTION] FILTER [FILTER-OPTION]
-
-   The `msgfilter' program applies a filter to all translations of a
-translation catalog.
-
-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.
-
-Output file location
---------------------
-
-`-o FILE'
-`--output-file=FILE'
-     Write output to specified file.
-
-   The results are written to standard output if no output file is
-specified or if it is `-'.
-
-The filter
-----------
-
-   The FILTER can be any program that reads a translation from standard
-input and writes a modified translation to standard output.  A
-frequently used filter is `sed'.
-
-   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'
-----------------------------------------------
-
-`-e SCRIPT'
-`--expression=SCRIPT'
-     Add SCRIPT to the commands to be executed.
-
-`-f SCRIPTFILE'
-`--file=SCRIPTFILE'
-     Add the contents of SCRIPTFILE to the commands to be executed.
-
-`-n'
-`--quiet'
-`--silent'
-     Suppress automatic printing of pattern space.
-
-Output details
---------------
-
-`--force-po'
-     Always write an output file even if it contains no message.
-
-`--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.
-
-`--add-location'
-     Generate `#: FILENAME:LINE' lines (default).
-
-`--strict'
-     Write out a strict Uniforum conforming PO file.  Note that this
-     Uniforum format should be avoided because it doesn't support the
-     GNU extensions.
-
-`-w NUMBER'
-`--width=NUMBER'
-     Set the output page width.  Long strings in the output files will
-     be split across multiple lines in order to ensure that each line's
-     width (= number of screen columns) is less or equal to the given
-     NUMBER.
-
-`--no-wrap'
-     Do not break long message lines.  Message lines whose width
-     exceeds the output page width will not be split into several
-     lines.  Only file reference lines which are wider than the output
-     page width will be split.
-
-`-s'
-`--sort-output'
-     Generate sorted output.  Note that using this option makes it much
-     harder for the translator to understand each message's context.
-
-`-F'
-`--sort-by-file'
-     Sort output by file location.
-
-Informative output
-------------------
-
-`-h'
-`--help'
-     Display this help and exit.
-
-`-V'
-`--version'
-     Output version information and exit.
-
-\1f
-File: gettext.info,  Node: msguniq Invocation,  Next: msgcomm Invocation,  Prev: msgfilter Invocation,  Up: Manipulating
-
-Invoking the `msguniq' Program
-==============================
-
-     msguniq [OPTION] [INPUTFILE]
-
-   The `msguniq' program unifies duplicate translations in a translation
-catalog.  It finds duplicate translations of the same message ID.  Such
-duplicates are invalid input for other programs like `msgfmt',
-`msgmerge' or `msgcat'.  By default, duplicates are merged together.
-When using the `--repeated' option, only duplicates are output, and all
-other messages are discarded.  Comments and extracted comments will be
-cumulated, except that if `--use-first' is specified, they will be
-taken from the first translation.  File positions will be cumulated.
-When using the `--unique' option, duplicates are discarded.
-
-Input file location
--------------------
-
-`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.
-
-Output file location
---------------------
-
-`-o FILE'
-`--output-file=FILE'
-     Write output to specified file.
-
-   The results are written to standard output if no output file is
-specified or if it is `-'.
-
-Message selection
------------------
-
-`-d'
-`--repeated'
-     Print only duplicates.
-
-`-u'
-`--unique'
-     Print only unique messages, discard duplicates.
-
-Output details
---------------
-
-`-t'
-`--to-code=NAME'
-     Specify encoding for output.
-
-`--use-first'
-     Use first available translation for each message.  Don't merge
-     several translations into one.
-
-`--force-po'
-     Always write an output file even if it contains no message.
-
-`-i'
-`--indent'
-     Write the .po file using indented style.
-
-`--no-location'
-     Do not write `#: FILENAME:LINE' lines.
-
-`-n'
-`--add-location'
-     Generate `#: FILENAME:LINE' lines (default).
-
-`--strict'
-     Write out a strict Uniforum conforming PO file.  Note that this
-     Uniforum format should be avoided because it doesn't support the
-     GNU extensions.
-
-`-w NUMBER'
-`--width=NUMBER'
-     Set the output page width.  Long strings in the output files will
-     be split across multiple lines in order to ensure that each line's
-     width (= number of screen columns) is less or equal to the given
-     NUMBER.
-
-`--no-wrap'
-     Do not break long message lines.  Message lines whose width
-     exceeds the output page width will not be split into several
-     lines.  Only file reference lines which are wider than the output
-     page width will be split.
-
-`-s'
-`--sort-output'
-     Generate sorted output.  Note that using this option makes it much
-     harder for the translator to understand each message's context.
-
-`-F'
-`--sort-by-file'
-     Sort output by file location.
-
-Informative output
-------------------
-
-`-h'
-`--help'
-     Display this help and exit.
-
-`-V'
-`--version'
-     Output version information and exit.
-
-\1f
-File: gettext.info,  Node: msgcomm Invocation,  Next: msgcmp Invocation,  Prev: msguniq Invocation,  Up: Manipulating
-
-Invoking the `msgcomm' Program
-==============================
-
-     msgcomm [OPTION] [INPUTFILE]...
-
-   The `msgcomm' program finds messages which are common to two or more
-of the specified PO files.  By using the `--more-than' option, greater
-commonality may be requested before messages are printed.  Conversely,
-the `--less-than' option may be used to specify less commonality before
-messages are printed (i.e.  `--less-than=2' will only print the unique
-messages).  Translations, comments and extract comments will be
-preserved, but only from the first PO file to define them.  File
-positions from all PO files will be cumulated.
-
-Input file location
--------------------
-
-`INPUTFILE ...'
-     Input files.
-
-`-f FILE'
-`--files-from=FILE'
-     Read the names of the input files from FILE instead of getting
-     them from the command line.
-
-`-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 INPUTFILE is `-', standard input is read.
-
-Output file location
---------------------
-
-`-o FILE'
-`--output-file=FILE'
-     Write output to specified file.
-
-   The results are written to standard output if no output file is
-specified or if it is `-'.
-
-Message selection
------------------
-
-`-< NUMBER'
-`--less-than=NUMBER'
-     Print messages with less than NUMBER definitions, defaults to
-     infinite if not set.
-
-`-> NUMBER'
-`--more-than=NUMBER'
-     Print messages with more than NUMBER definitions, defaults to 1 if
-     not set.
-
-`-u'
-`--unique'
-     Shorthand for `--less-than=2'.  Requests that only unique messages
-     be printed.
-
-Output details
---------------
-
-`--force-po'
-     Always write an output file even if it contains no message.
-
-`-i'
-`--indent'
-     Write the .po file using indented style.
-
-`--no-location'
-     Do not write `#: FILENAME:LINE' lines.
-
-`-n'
-`--add-location'
-     Generate `#: FILENAME:LINE' lines (default).
-
-`--strict'
-     Write out a strict Uniforum conforming PO file.  Note that this
-     Uniforum format should be avoided because it doesn't support the
-     GNU extensions.
-
-`-w NUMBER'
-`--width=NUMBER'
-     Set the output page width.  Long strings in the output files will
-     be split across multiple lines in order to ensure that each line's
-     width (= number of screen columns) is less or equal to the given
-     NUMBER.
-
-`--no-wrap'
-     Do not break long message lines.  Message lines whose width
-     exceeds the output page width will not be split into several
-     lines.  Only file reference lines which are wider than the output
-     page width will be split.
-
-`-s'
-`--sort-output'
-     Generate sorted output.  Note that using this option makes it much
-     harder for the translator to understand each message's context.
-
-`-F'
-`--sort-by-file'
-     Sort output by file location.
-
-`--omit-header'
-     Don't write header with `msgid ""' entry.
-
-Informative output
-------------------
-
-`-h'
-`--help'
-     Display this help and exit.
-
-`-V'
-`--version'
-     Output version information and exit.
-
-\1f
-File: gettext.info,  Node: msgcmp Invocation,  Next: msgattrib Invocation,  Prev: msgcomm Invocation,  Up: Manipulating
-
-Invoking the `msgcmp' Program
-=============================
-
-     msgcmp [OPTION] DEF.po REF.pot
-
-   The `msgcmp' program compares two Uniforum style .po files to check
-that both contain the same set of msgid strings.  The DEF.po file is an
-existing PO file with the translations.  The REF.pot file is the last
-created PO file, or a PO Template file (generally created by
-`xgettext').  This is useful for checking that you have translated each
-and every message in your program.  Where an exact match cannot be
-found, fuzzy matching is used to produce better diagnostics.
-
-Input file location
--------------------
-
-`DEF.po'
-     Translations.
-
-`REF.pot'
-     References to the sources.
-
-`-D DIRECTORY'
-`--directory=DIRECTORY'
-     Add DIRECTORY to the list of directories.  Source files are
-     searched relative to this list of directories.
-
-Operation modifiers
--------------------
-
-`-m'
-`--multi-domain'
-     Apply REF.pot to each of the domains in DEF.po.
-
-Informative output
-------------------
-
-`-h'
-`--help'
-     Display this help and exit.
-
-`-V'
-`--version'
-     Output version information and exit.
-
-\1f
-File: gettext.info,  Node: msgattrib Invocation,  Next: msgen Invocation,  Prev: msgcmp Invocation,  Up: Manipulating
-
-Invoking the `msgattrib' Program
-================================
-
-     msgattrib [OPTION] [INPUTFILE]
-
-   The `msgattrib' program filters the messages of a translation catalog
-according to their attributes, and manipulates the attributes.
-
-Input file location
--------------------
-
-`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.
-
-Output file location
---------------------
-
-`-o FILE'
-`--output-file=FILE'
-     Write output to specified file.
-
-   The results are written to standard output if no output file is
-specified or if it is `-'.
-
-Message selection
------------------
-
-`--translated'
-     Keep translated messages, remove untranslated messages.
-
-`--untranslated'
-     Keep untranslated messages, remove translated messages.
-
-`--no-fuzzy'
-     Remove `fuzzy' marked messages.
-
-`--only-fuzzy'
-     Keep `fuzzy' marked messages, remove all other messsages.
-
-`--no-obsolete'
-     Remove obsolete #~ messages.
-
-`--only-obsolete'
-     Keep obsolete #~ messages, remove all other messages.
-
-Attribute manipulation
-----------------------
-
-   Attributes are modified after the message selection/removal has been
-performed.
-
-`--set-fuzzy'
-     Set all messages `fuzzy'.
-
-`--clear-fuzzy'
-     Set all messages non-`fuzzy'.
-
-`--set-obsolete'
-     Set all messages obsolete.
-
-`--clear-obsolete'
-     Set all messages non-obsolete.
-
-`--fuzzy'
-     Synonym for `--only-fuzzy --clear-fuzzy': It keeps only the fuzzy
-     messages and removes their `fuzzy' mark.
-
-`--obsolete'
-     Synonym for `--only-obsolete --clear-obsolete': It keeps only the
-     obsolete messages and makes them non-obsolete.
-
-Output details
---------------
-
-`--force-po'
-     Always write an output file even if it contains no message.
-
-`-i'
-`--indent'
-     Write the .po file using indented style.
-
-`--no-location'
-     Do not write `#: FILENAME:LINE' lines.
-
-`-n'
-`--add-location'
-     Generate `#: FILENAME:LINE' lines (default).
-
-`--strict'
-     Write out a strict Uniforum conforming PO file.  Note that this
-     Uniforum format should be avoided because it doesn't support the
-     GNU extensions.
-
-`-w NUMBER'
-`--width=NUMBER'
-     Set the output page width.  Long strings in the output files will
-     be split across multiple lines in order to ensure that each line's
-     width (= number of screen columns) is less or equal to the given
-     NUMBER.
-
-`--no-wrap'
-     Do not break long message lines.  Message lines whose width
-     exceeds the output page width will not be split into several
-     lines.  Only file reference lines which are wider than the output
-     page width will be split.
-
-`-s'
-`--sort-output'
-     Generate sorted output.  Note that using this option makes it much
-     harder for the translator to understand each message's context.
-
-`-F'
-`--sort-by-file'
-     Sort output by file location.
-
-Informative output
-------------------
-
-`-h'
-`--help'
-     Display this help and exit.
-
-`-V'
-`--version'
-     Output version information and exit.
-
-\1f
-File: gettext.info,  Node: msgen Invocation,  Next: msgexec Invocation,  Prev: msgattrib Invocation,  Up: Manipulating
-
-Invoking the `msgen' Program
-============================
-
-     msgen [OPTION] INPUTFILE
-
-   The `msgen' program creates an English translation catalog.  The
-input file is the last created English PO file, or a PO Template file
-(generally created by xgettext).  Untranslated entries are assigned a
-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
--------------------
-
-`INPUTFILE'
-     Input PO or POT 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 INPUTFILE is `-', standard input is read.
-
-Output file location
---------------------
-
-`-o FILE'
-`--output-file=FILE'
-     Write output to specified file.
-
-   The results are written to standard output if no output file is
-specified or if it is `-'.
-
-Output details
---------------
-
-`--force-po'
-     Always write an output file even if it contains no message.
-
-`-i'
-`--indent'
-     Write the .po file using indented style.
-
-`--no-location'
-     Do not write `#: FILENAME:LINE' lines.
-
-`--add-location'
-     Generate `#: FILENAME:LINE' lines (default).
-
-`--strict'
-     Write out a strict Uniforum conforming PO file.  Note that this
-     Uniforum format should be avoided because it doesn't support the
-     GNU extensions.
-
-`-w NUMBER'
-`--width=NUMBER'
-     Set the output page width.  Long strings in the output files will
-     be split across multiple lines in order to ensure that each line's
-     width (= number of screen columns) is less or equal to the given
-     NUMBER.
-
-`--no-wrap'
-     Do not break long message lines.  Message lines whose width
-     exceeds the output page width will not be split into several
-     lines.  Only file reference lines which are wider than the output
-     page width will be split.
-
-`-s'
-`--sort-output'
-     Generate sorted output.  Note that using this option makes it much
-     harder for the translator to understand each message's context.
-
-`-F'
-`--sort-by-file'
-     Sort output by file location.
-
-Informative output
-------------------
-
-`-h'
-`--help'
-     Display this help and exit.
-
-`-V'
-`--version'
-     Output version information and exit.
-
-\1f
-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.
-
-\1f
-File: gettext.info,  Node: Binaries,  Next: Users,  Prev: Manipulating,  Up: Top
-
-Producing Binary MO Files
-*************************
-
-* Menu:
-
-* msgfmt Invocation::           Invoking the `msgfmt' Program
-* msgunfmt Invocation::         Invoking the `msgunfmt' Program
-* MO Files::                    The Format of GNU MO Files
-
diff --git a/doc/gettext.info-5 b/doc/gettext.info-5
deleted file mode 100644 (file)
index 777e513..0000000
+++ /dev/null
@@ -1,1213 +0,0 @@
-This is gettext.info, produced by makeinfo version 4.2 from
-gettext.texi.
-
-INFO-DIR-SECTION GNU Gettext Utilities
-START-INFO-DIR-ENTRY
-* gettext: (gettext).                          GNU gettext utilities.
-* autopoint: (gettext)autopoint Invocation.    Copy gettext infrastructure.
-* gettextize: (gettext)gettextize Invocation.  Prepare a package for gettext.
-* msgattrib: (gettext)msgattrib Invocation.    Select part of a PO file.
-* msgcat: (gettext)msgcat Invocation.          Combine several PO files.
-* msgcmp: (gettext)msgcmp Invocation.          Compare a PO file and template.
-* msgcomm: (gettext)msgcomm Invocation.        Match two PO files.
-* msgconv: (gettext)msgconv Invocation.        Convert PO file to encoding.
-* msgen: (gettext)msgen Invocation.            Create an English PO file.
-* msgexec: (gettext)msgexec Invocation.        Process a PO file.
-* msgfilter: (gettext)msgfilter Invocation.    Pipe a PO file through a filter.
-* msgfmt: (gettext)msgfmt Invocation.          Make MO files out of PO files.
-* msggrep: (gettext)msggrep Invocation.        Select part of a PO file.
-* msginit: (gettext)msginit Invocation.        Create a fresh PO file.
-* msgmerge: (gettext)msgmerge Invocation.      Update a PO file from template.
-* msgunfmt: (gettext)msgunfmt Invocation.      Uncompile MO file into PO file.
-* msguniq: (gettext)msguniq Invocation.        Unify duplicates for PO file.
-* xgettext: (gettext)xgettext Invocation.      Extract strings into a PO file.
-* ISO639: (gettext)Language Codes.             ISO 639 language codes.
-* ISO3166: (gettext)Country Codes.             ISO 3166 country codes.
-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, 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
-preserved on all copies.
-
-   Permission is granted to copy and distribute modified versions of
-this manual under the conditions for verbatim copying, provided that
-the entire resulting derived work is distributed under the terms of a
-permission notice identical to this one.
-
-   Permission is granted to copy and distribute translations of this
-manual into another language, under the above conditions for modified
-versions, except that this permission notice may be stated in a
-translation approved by the Foundation.
-
-\1f
-File: gettext.info,  Node: msgfmt Invocation,  Next: msgunfmt Invocation,  Prev: Binaries,  Up: Binaries
-
-Invoking the `msgfmt' Program
-=============================
-
-     msgfmt [OPTION] FILENAME.po ...
-
-   The `msgfmt' programs generates a binary message catalog from a
-textual translation description.
-
-Input file location
--------------------
-
-`FILENAME.po ...'
-
-`-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 an input file is `-', standard input is read.
-
-Operation mode
---------------
-
-`-j'
-`--java'
-     Java mode: generate a Java `ResourceBundle' class.
-
-`--java2'
-     Like -java, and assume Java2 (JDK 1.2 or higher).
-
-`--tcl'
-     Tcl mode: generate a tcl/msgcat `.msg' file.
-
-Output file location
---------------------
-
-`-o FILE'
-`--output-file=FILE'
-     Write output to specified file.
-
-`--strict'
-     Direct the program to work strictly following the Uniforum/Sun
-     implementation.  Currently this only affects the naming of the
-     output file.  If this option is not given the name of the output
-     file is the same as the domain name.  If the strict Uniforum mode
-     is enabled the suffix `.mo' is added to the file name if it is not
-     already present.
-
-     We find this behaviour of Sun's implementation rather silly and so
-     by default this mode is _not_ selected.
-
-   If the output FILE is `-', output is written to standard output.
-
-Output file location in Java mode
----------------------------------
-
-`-r RESOURCE'
-`--resource=RESOURCE'
-     Specify the resource name.
-
-`-l LOCALE'
-`--locale=LOCALE'
-     Specify the locale name, either a language specification of the
-     form LL or a combined language and country specification of the
-     form LL_CC.
-
-`-d DIRECTORY'
-     Specify the base directory of classes directory hierarchy.
-
-   The class name is determined by appending the locale name to the
-resource name, separated with an underscore.  The `-d' option is
-mandatory.  The class is written under the specified directory.
-
-Output file location in Tcl mode
---------------------------------
-
-`-l LOCALE'
-`--locale=LOCALE'
-     Specify the locale name, either a language specification of the
-     form LL or a combined language and country specification of the
-     form LL_CC.
-
-`-d DIRECTORY'
-     Specify the base directory of `.msg' message catalogs.
-
-   The `-l' and `-d' options are mandatory.  The `.msg' file is written
-in the specified directory.
-
-Input file interpretation
--------------------------
-
-`-c'
-`--check'
-     Perform all the checks implied by `--check-format',
-     `--check-header', `--check-domain'.
-
-`--check-format'
-     Check language dependent format strings.
-
-     If the string represents a format string used in a `printf'-like
-     function both strings should have the same number of `%' format
-     specifiers, with matching types.  If the flag `c-format' or
-     `possible-c-format' appears in the special comment <#,> for this
-     entry a check is performed.  For example, the check will diagnose
-     using `%.*s' against `%s', or `%d' against `%s', or `%d' against
-     `%x'.  It can even handle positional parameters.
-
-     Normally the `xgettext' program automatically decides whether a
-     string is a format string or not.  This algorithm is not perfect,
-     though.  It might regard a string as a format string though it is
-     not used in a `printf'-like function and so `msgfmt' might report
-     errors where there are none.
-
-     To solve this problem the programmer can dictate the decision to
-     the `xgettext' program (*note c-format::).  The translator should
-     not consider removing the flag from the <#,> line.  This "fix"
-     would be reversed again as soon as `msgmerge' is called the next
-     time.
-
-`--check-header'
-     Verify presence and contents of the header entry.  *Note Header
-     Entry::, for a description of the various fields in the header
-     entry.
-
-`--check-domain'
-     Check for conflicts between domain directives and the
-     `--output-file' option
-
-`-C'
-`--check-compatibility'
-     Check that GNU msgfmt behaves like X/Open msgfmt.  This will give
-     an error when attempting to use the GNU extensions.
-
-`--check-accelerators[=CHAR]'
-     Check presence of keyboard accelerators for menu items.  This is
-     based on the convention used in some GUIs that a keyboard
-     accelerator in a menu item string is designated by an immediately
-     preceding `&' character.  Sometimes a keyboard accelerator is also
-     called "keyboard mnemonic".  This check verifies that if the
-     untranslated string has exactly one `&' character, the translated
-     string has exactly one `&' as well.  If this option is given with
-     a CHAR argument, this CHAR should be a non-alphanumeric character
-     and is used as keyboard acceleator mark instead of `&'.
-
-`-f'
-`--use-fuzzy'
-     Use fuzzy entries in output.  Note that using this option is
-     usually wrong, because fuzzy messages are exactly those which have
-     not been validated by a human translator.
-
-Output details
---------------
-
-`-a NUMBER'
-`--alignment=NUMBER'
-     Align strings to NUMBER bytes (default: 1).
-
-`--no-hash'
-     Don't include a hash table in the binary file.  Lookup will be
-     more expensive at run time (binary search instead of hash table
-     lookup).
-
-Informative output
-------------------
-
-`-h'
-`--help'
-     Display this help and exit.
-
-`-V'
-`--version'
-     Output version information and exit.
-
-`--statistics'
-     Print statistics about translations.
-
-`-v'
-`--verbose'
-     Increase verbosity level.
-
-\1f
-File: gettext.info,  Node: msgunfmt Invocation,  Next: MO Files,  Prev: msgfmt Invocation,  Up: Binaries
-
-Invoking the `msgunfmt' Program
-===============================
-
-     msgunfmt [OPTION] [FILE]...
-
-   The `msgunfmt' program converts a binary message catalog to a
-Uniforum style .po file.
-
-Operation mode
---------------
-
-`-j'
-`--java'
-     Java mode: input is a Java `ResourceBundle' class.
-
-`--tcl'
-     Tcl mode: input is a tcl/msgcat `.msg' file.
-
-Input file location
--------------------
-
-`FILE ...'
-     Input .mo files.
-
-   If no input FILE is given or if it is `-', standard input is read.
-
-Input file location in Java mode
---------------------------------
-
-`-r RESOURCE'
-`--resource=RESOURCE'
-     Specify the resource name.
-
-`-l LOCALE'
-`--locale=LOCALE'
-     Specify the locale name, either a language specification of the
-     form LL or a combined language and country specification of the
-     form LL_CC.
-
-   The class name is determined by appending the locale name to the
-resource name, separated with an underscore.  The class is located
-using the `CLASSPATH'.
-
-Input file location in Tcl mode
--------------------------------
-
-`-l LOCALE'
-`--locale=LOCALE'
-     Specify the locale name, either a language specification of the
-     form LL or a combined language and country specification of the
-     form LL_CC.
-
-`-d DIRECTORY'
-     Specify the base directory of `.msg' message catalogs.
-
-   The `-l' and `-d' options are mandatory.  The `.msg' file is located
-in the specified directory.
-
-Output file location
---------------------
-
-`-o FILE'
-`--output-file=FILE'
-     Write output to specified file.
-
-   The results are written to standard output if no output file is
-specified or if it is `-'.
-
-Output details
---------------
-
-`--force-po'
-     Always write an output file even if it contains no message.
-
-`-i'
-`--indent'
-     Write the .po file using indented style.
-
-`--strict'
-     Write out a strict Uniforum conforming PO file.  Note that this
-     Uniforum format should be avoided because it doesn't support the
-     GNU extensions.
-
-`-w NUMBER'
-`--width=NUMBER'
-     Set the output page width.  Long strings in the output files will
-     be split across multiple lines in order to ensure that each line's
-     width (= number of screen columns) is less or equal to the given
-     NUMBER.
-
-`--no-wrap'
-     Do not break long message lines.  Message lines whose width
-     exceeds the output page width will not be split into several
-     lines.  Only file reference lines which are wider than the output
-     page width will be split.
-
-`-s'
-`--sort-output'
-     Generate sorted output.  Note that using this option makes it much
-     harder for the translator to understand each message's context.
-
-Informative output
-------------------
-
-`-h'
-`--help'
-     Display this help and exit.
-
-`-V'
-`--version'
-     Output version information and exit.
-
-`-v'
-`--verbose'
-     Increase verbosity level.
-
-\1f
-File: gettext.info,  Node: MO Files,  Prev: msgunfmt Invocation,  Up: Binaries
-
-The Format of GNU MO Files
-==========================
-
-   The format of the generated MO files is best described by a picture,
-which appears below.
-
-   The first two words serve the identification of the file.  The magic
-number will always signal GNU MO files.  The number is stored in the
-byte order of the generating machine, so the magic number really is two
-numbers: `0x950412de' and `0xde120495'.  The second word describes the
-current revision of the file format.  For now the revision is 0.  This
-might change in future versions, and ensures that the readers of MO
-files can distinguish new formats from old ones, so that both can be
-handled correctly.  The version is kept separate from the magic number,
-instead of using different magic numbers for different formats, mainly
-because `/etc/magic' is not updated often.  It might be better to have
-magic separated from internal format version identification.
-
-   Follow a number of pointers to later tables in the file, allowing
-for the extension of the prefix part of MO files without having to
-recompile programs reading them.  This might become useful for later
-inserting a few flag bits, indication about the charset used, new
-tables, or other things.
-
-   Then, at offset O and offset T in the picture, two tables of string
-descriptors can be found.  In both tables, each string descriptor uses
-two 32 bits integers, one for the string length, another for the offset
-of the string in the MO file, counting in bytes from the start of the
-file.  The first table contains descriptors for the original strings,
-and is sorted so the original strings are in increasing lexicographical
-order.  The second table contains descriptors for the translated
-strings, and is parallel to the first table: to find the corresponding
-translation one has to access the array slot in the second array with
-the same index.
-
-   Having the original strings sorted enables the use of simple binary
-search, for when the MO file does not contain an hashing table, or for
-when it is not practical to use the hashing table provided in the MO
-file.  This also has another advantage, as the empty string in a PO
-file GNU `gettext' is usually _translated_ into some system information
-attached to that particular MO file, and the empty string necessarily
-becomes the first in both the original and translated tables, making
-the system information very easy to find.
-
-   The size S of the hash table can be zero.  In this case, the hash
-table itself is not contained in the MO file.  Some people might prefer
-this because a precomputed hashing table takes disk space, and 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 on GNU
-`gettext' code, and is not documented here.
-
-   As for the strings themselves, they follow the hash file, and each
-is terminated with a <NUL>, and this <NUL> is not counted in the length
-which appears in the string descriptor.  The `msgfmt' program has an
-option selecting the alignment for MO file strings.  With this option,
-each string is separately aligned so it starts at an offset which is a
-multiple of the alignment value.  On some RISC machines, a correct
-alignment will speed things up.
-
-   Plural forms are stored by letting the plural of the original string
-follow the singular of the original string, separated through a <NUL>
-byte.  The length which appears in the string descriptor includes both.
-However, only the singular of the original string takes part in the
-hash table lookup.  The plural variants of the translation are all
-stored consecutively, separated through a <NUL> byte.  Here also, the
-length in the string descriptor includes all of them.
-
-   Nothing prevents a MO file from having embedded <NUL>s in strings.
-However, the program interface currently used already presumes that
-strings are <NUL> terminated, so embedded <NUL>s are somewhat useless.
-But the MO file format is general enough so other interfaces would be
-later possible, if for example, we ever want to implement wide
-characters right in MO files, where <NUL> bytes may accidently appear.
-(No, we don't want to have wide characters in MO files.  They would
-make the file unnecessarily large, and the `wchar_t' type being
-platform dependent, MO files would be platform dependent as well.)
-
-   This particular issue has been strongly debated in the GNU `gettext'
-development forum, and it is expectable that MO file format will evolve
-or change over time.  It is even possible that many formats may later
-be supported concurrently.  But surely, we have to start somewhere, and
-the MO file format described here is a good start.  Nothing is cast in
-concrete, and the format may later evolve fairly easily, so we should
-feel comfortable with the current approach.
-
-             byte
-                  +------------------------------------------+
-               0  | magic number = 0x950412de                |
-                  |                                          |
-               4  | file format revision = 0                 |
-                  |                                          |
-               8  | number of strings                        |  == N
-                  |                                          |
-              12  | offset of table with original strings    |  == O
-                  |                                          |
-              16  | offset of table with translation strings |  == T
-                  |                                          |
-              20  | size of hashing table                    |  == S
-                  |                                          |
-              24  | offset of hashing table                  |  == H
-                  |                                          |
-                  .                                          .
-                  .    (possibly more entries later)         .
-                  .                                          .
-                  |                                          |
-               O  | length & offset 0th string  ----------------.
-           O + 8  | length & offset 1st string  ------------------.
-                   ...                                    ...   | |
-     O + ((N-1)*8)| length & offset (N-1)th string           |  | |
-                  |                                          |  | |
-               T  | length & offset 0th translation  ---------------.
-           T + 8  | length & offset 1st translation  -----------------.
-                   ...                                    ...   | | | |
-     T + ((N-1)*8)| length & offset (N-1)th translation      |  | | | |
-                  |                                          |  | | | |
-               H  | start hash table                         |  | | | |
-                   ...                                    ...   | | | |
-       H + S * 4  | end hash table                           |  | | | |
-                  |                                          |  | | | |
-                  | NUL terminated 0th string  <----------------' | | |
-                  |                                          |    | | |
-                  | NUL terminated 1st string  <------------------' | |
-                  |                                          |      | |
-                   ...                                    ...       | |
-                  |                                          |      | |
-                  | NUL terminated 0th translation  <---------------' |
-                  |                                          |        |
-                  | NUL terminated 1st translation  <-----------------'
-                  |                                          |
-                   ...                                    ...
-                  |                                          |
-                  +------------------------------------------+
-
-\1f
-File: gettext.info,  Node: Users,  Next: Programmers,  Prev: Binaries,  Up: Top
-
-The User's View
-***************
-
-   When GNU `gettext' will truly have reached its goal, average users
-should feel some kind of astonished pleasure, seeing the effect of that
-strange kind of magic that just makes their own native language appear
-everywhere on their screens.  As for naive users, they would ideally
-have no special pleasure about it, merely taking their own language for
-_granted_, and becoming rather unhappy otherwise.
-
-   So, let's try to describe here how we would like the magic to
-operate, as we want the users' view to be the simplest, among all ways
-one could look at GNU `gettext'.  All other software engineers:
-programmers, translators, maintainers, should work together in such a
-way that the magic becomes possible.  This is a long and progressive
-undertaking, and information is available about the progress of the
-Translation Project.
-
-   When a package is distributed, there are two kinds of users:
-"installers" who fetch the distribution, unpack it, configure it,
-compile it and install it for themselves or others to use; and "end
-users" that call programs of the package, once these have been
-installed at their site.  GNU `gettext' is offering magic for both
-installers and end users.
-
-* Menu:
-
-* Matrix::                      The Current `ABOUT-NLS' Matrix
-* Installers::                  Magic for Installers
-* End Users::                   Magic for End Users
-
-\1f
-File: gettext.info,  Node: Matrix,  Next: Installers,  Prev: Users,  Up: Users
-
-The Current `ABOUT-NLS' Matrix
-==============================
-
-   Languages are not equally supported in all packages using GNU
-`gettext'.  To know if some package uses GNU `gettext', one may check
-the distribution for the `ABOUT-NLS' information file, for some `LL.po'
-files, often kept together into some `po/' directory, or for an `intl/'
-directory.  Internationalized packages have usually many `LL.po' files,
-where LL represents the language.  *Note End Users:: for a complete
-description of the format for LL.
-
-   More generally, a matrix is available for showing the current state
-of the Translation Project, listing which packages are prepared for
-multi-lingual messages, and which languages are supported by each.
-Because this information changes often, this matrix is not kept within
-this GNU `gettext' manual.  This information is often found in file
-`ABOUT-NLS' from various distributions, but is also as old as the
-distribution itself.  A recent copy of this `ABOUT-NLS' file,
-containing up-to-date information, should generally be found on the
-Translation Project sites, and also on most GNU archive sites.
-
-\1f
-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.
-
-\1f
-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.
-
-\1f
-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
-
-\1f
-File: gettext.info,  Node: catgets,  Next: gettext,  Prev: Programmers,  Up: Programmers
-
-About `catgets'
-===============
-
-   The `catgets' implementation is defined in the X/Open Portability
-Guide, Volume 3, XSI Supplementary Definitions, Chapter 5.  But the
-process of creating this standard seemed to be too slow for some of the
-Unix vendors so they created their implementations on preliminary
-versions of the standard.  Of course this leads again to problems while
-writing platform independent programs: even the usage of `catgets' 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 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
-very same who published this specification.  This leads me to making
-the prediction that this interface will be in future Unix standards
-(e.g. Spec1170) and therefore part of all Unix implementation
-(implementations, which are _allowed_ to wear this name).
-
-* Menu:
-
-* Interface to catgets::        The interface
-* Problems with catgets::       Problems with the `catgets' interface?!
-
-\1f
-File: gettext.info,  Node: Interface to catgets,  Next: Problems with catgets,  Prev: catgets,  Up: catgets
-
-The Interface
--------------
-
-   The interface to the `catgets' implementation consists of three
-functions which correspond to those used in file access: `catopen' to
-open the catalog for using, `catgets' for accessing the message tables,
-and `catclose' for closing after work is done.  Prototypes for the
-functions and the needed definitions are in the `<nl_types.h>' header
-file.
-
-   `catopen' is used like in this:
-
-     nl_catd catd = catopen ("catalog_name", 0);
-
-   The function takes as the argument the name of the catalog.  This
-usual refers to the name of the program or the package.  The second
-parameter is not further specified in the standard.  I don't even know
-whether it is implemented consistently among various systems.  So the
-common advice is to use `0' as the value.  The return value is a handle
-to the message catalog, equivalent to handles to file returned by
-`open'.
-
-   This handle is of course used in the `catgets' function which can be
-used like this:
-
-     char *translation = catgets (catd, set_no, msg_id, "original string");
-
-   The first parameter is this catalog descriptor.  The second parameter
-specifies the set of messages in this catalog, in which the message
-described by `msg_id' is obtained.  `catgets' therefore uses a
-three-stage addressing:
-
-     catalog name => set number => message ID => translation
-
-   The fourth argument is not used to address the translation.  It is
-given as a default value in case when one of the addressing stages
-fail.  One important thing to remember is that although the return type
-of catgets is `char *' the resulting string _must not_ be changed.  It
-should better be `const char *', but the standard is published in 1988,
-one year before ANSI C.
-
-The last of these function functions is used and behaves as expected:
-
-     catclose (catd);
-
-   After this no `catgets' call using the descriptor is legal anymore.
-
-\1f
-File: gettext.info,  Node: Problems with catgets,  Prev: Interface to catgets,  Up: catgets
-
-Problems with the `catgets' Interface?!
----------------------------------------
-
-   Now that this description seemed to be really easy -- where are the
-problems we speak of?  In fact the interface could be used in a
-reasonable way, but constructing the message catalogs is a pain.  The
-reason for this lies in the third argument of `catgets': the unique
-message ID.  This has to be a numeric value for all messages in a single
-set.  Perhaps you could imagine the problems keeping such a list while
-changing the source code.  Add a new message here, remove one there.  Of
-course there have been developed a lot of tools helping to organize this
-chaos but one as the other fails in one aspect or the other.  We don't
-want to say that the other approach has no problems but they are far
-more easy to manage.
-
-\1f
-File: gettext.info,  Node: gettext,  Next: Comparison,  Prev: catgets,  Up: Programmers
-
-About `gettext'
-===============
-
-   The definition of the `gettext' interface comes from a Uniforum
-proposal and it is followed by at least one major Unix vendor (Sun) in
-its last developments.  It is not specified in any official 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 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.
-
-   The following section contains a rather detailed description of the
-interface.  We make it that detailed because this is the interface we
-chose for the GNU `gettext' Library.  Programmers interested in using
-this library will be interested in this description.
-
-* Menu:
-
-* Interface to gettext::        The interface
-* Ambiguities::                 Solving ambiguities
-* Locating Catalogs::           Locating message catalog files
-* Charset conversion::          How to request conversion to Unicode
-* Plural forms::                Additional functions for handling plurals
-* GUI program problems::        Another technique for solving ambiguities
-* Optimized gettext::           Optimization of the *gettext functions
-
-\1f
-File: gettext.info,  Node: Interface to gettext,  Next: Ambiguities,  Prev: gettext,  Up: gettext
-
-The Interface
--------------
-
-   The minimal functionality an interface must have is a) to select a
-domain the strings are coming from (a single domain for all programs is
-not reasonable because its construction and maintenance is difficult,
-perhaps impossible) and b) to access a string in a selected domain.
-
-   This is principally the description of the `gettext' interface.  It
-has a global domain which unqualified usages reference.  Of course this
-domain is selectable by the user.
-
-     char *textdomain (const char *domain_name);
-
-   This provides the possibility to change or query the current status
-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 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
-the availability are made.  If the name is not available you will see
-this by the fact that no translations are provided.
-
-To use a domain set by `textdomain' the function
-
-     char *gettext (const char *msgid);
-
-is to be used.  This is the simplest reasonable form one can imagine.
-The translation of the string MSGID is returned if it is available in
-the current domain.  If not available the argument itself is returned.
-If the argument is `NULL' the result is undefined.
-
-   One things which should come into mind is that no explicit
-dependency to the used domain is given.  The current value of the
-domain for the `LC_MESSAGES' locale is used.  If this changes between
-two executions of the same `gettext' call in the program, both calls
-reference a different message catalog.
-
-   For the easiest case, which is normally used in internationalized
-packages, once at the beginning of execution a call to `textdomain' is
-issued, setting the domain to a unique name, normally the package name.
-In the following code all strings which have to be translated are
-filtered through the gettext function.  That's all, the package speaks
-your language.
-
-\1f
-File: gettext.info,  Node: Ambiguities,  Next: Locating Catalogs,  Prev: Interface to gettext,  Up: gettext
-
-Solving Ambiguities
--------------------
-
-   While this single name domain works well for most applications there
-might be the need to get translations from more than one domain.  Of
-course one could switch between different domains with calls to
-`textdomain', but this is really not convenient nor is it fast.  A
-possible situation could be one case subject to discussion during this
-writing:  all error messages of functions in the set of common used
-functions should go into a separate domain `error'.  By this mean we
-would only need to translate them once.  Another case are messages from
-a library, as these _have_ to be independent of the current domain set
-by the application.
-
-For this reasons there are two more functions to retrieve strings:
-
-     char *dgettext (const char *domain_name, const char *msgid);
-     char *dcgettext (const char *domain_name, const char *msgid,
-                      int category);
-
-   Both take an additional argument at the first place, which
-corresponds to the argument of `textdomain'.  The third argument of
-`dcgettext' allows to use another locale but `LC_MESSAGES'.  But I
-really don't know where this can be useful.  If the DOMAIN_NAME is
-`NULL' or CATEGORY has an value beside the known ones, the result is
-undefined.  It should also be noted that this function is not part of
-the second known implementation of this function family, the one found
-in Solaris.
-
-   A second ambiguity can arise by the fact, that perhaps more than one
-domain has the same name.  This can be solved by specifying where the
-needed message catalog files can be found.
-
-     char *bindtextdomain (const char *domain_name,
-                           const char *dir_name);
-
-   Calling this function binds the given domain to a file in the
-specified directory (how this file is determined follows below).
-Especially a file in the systems default place is not favored against
-the specified file anymore (as it would be by solely using
-`textdomain').  A `NULL' pointer for the DIR_NAME parameter returns the
-binding associated with DOMAIN_NAME.  If DOMAIN_NAME itself is `NULL'
-nothing happens and a `NULL' pointer is returned.  Here again as for
-all the other functions is true that none of the return value must be
-changed!
-
-   It is important to remember that relative path names for the
-DIR_NAME parameter can be trouble.  Since the path is always computed
-relative to the current directory different results will be achieved
-when the program executes a `chdir' command.  Relative paths should
-always be avoided to avoid dependencies and unreliabilities.
-
-\1f
-File: gettext.info,  Node: Locating Catalogs,  Next: Charset conversion,  Prev: Ambiguities,  Up: gettext
-
-Locating Message Catalog Files
-------------------------------
-
-   Because many different languages for many different packages have to
-be stored we need some way to add these information to file message
-catalog files.  The way usually used in Unix environments is have this
-encoding in the file name.  This is also done here.  The directory name
-given in `bindtextdomain's second argument (or the default directory),
-followed by the value and name of the locale and the domain name are
-concatenated:
-
-     DIR_NAME/LOCALE/LC_CATEGORY/DOMAIN_NAME.mo
-
-   The default value for DIR_NAME is system specific.  For the GNU
-library, and for packages adhering to its conventions, it's:
-     /usr/local/share/locale
-
-LOCALE is the value of the locale whose name is this `LC_CATEGORY'.
-For `gettext' and `dgettext' this `LC_CATEGORY' is always
-`LC_MESSAGES'.(1) The value of the locale is determined through
-`setlocale (LC_CATEGORY, NULL)'.  (2) `dcgettext' specifies the locale
-category by the third argument.
-
-   ---------- Footnotes ----------
-
-   (1) Some system, eg Ultrix, don't have `LC_MESSAGES'.  Here we use a
-more or less arbitrary value for it, namely 1729, the smallest positive
-integer which can be represented in two different ways as the sum of
-two cubes.
-
-   (2) When the system does not support `setlocale' its behavior in
-setting the locale values is simulated by looking at the environment
-variables.
-
-\1f
-File: gettext.info,  Node: Charset conversion,  Next: Plural forms,  Prev: Locating Catalogs,  Up: gettext
-
-How to specify the output character set `gettext' uses
-------------------------------------------------------
-
-   `gettext' not only looks up a translation in a message catalog.  It
-also converts the translation on the fly to the desired output character
-set.  This is useful if the user is working in a different character set
-than the translator who created the message catalog, because it avoids
-distributing variants of message catalogs which differ only in the
-character set.
-
-   The output character set is, by default, the value of `nl_langinfo
-(CODESET)', which depends on the `LC_CTYPE' part of the current locale.
-But programs which store strings in a locale independent way (e.g.
-UTF-8) can request that `gettext' and related functions return the
-translations in that encoding, by use of the `bind_textdomain_codeset'
-function.
-
-   Note that the MSGID argument to `gettext' is not subject to
-character set conversion.  Also, when `gettext' does not find a
-translation for MSGID, it returns MSGID unchanged - independently of
-the current output character set.  It is therefore recommended that all
-MSGIDs be US-ASCII strings.
-
- - Function: char * bind_textdomain_codeset (const char *DOMAINNAME,
-          const char *CODESET)
-     The `bind_textdomain_codeset' function can be used to specify the
-     output character set for message catalogs for domain DOMAINNAME.
-     The CODESET argument must be a valid codeset name which can be used
-     for the `iconv_open' function, or a null pointer.
-
-     If the CODESET parameter is the null pointer,
-     `bind_textdomain_codeset' returns the currently selected codeset
-     for the domain with the name DOMAINNAME. It returns `NULL' if no
-     codeset has yet been selected.
-
-     The `bind_textdomain_codeset' function can be used several times.
-     If used multiple times with the same DOMAINNAME argument, the
-     later call overrides the settings made by the earlier one.
-
-     The `bind_textdomain_codeset' function returns a pointer to a
-     string containing the name of the selected codeset.  The string is
-     allocated internally in the function and must not be changed by the
-     user.  If the system went out of core during the execution of
-     `bind_textdomain_codeset', the return value is `NULL' and the
-     global variable ERRNO is set accordingly.
-
-\1f
-File: gettext.info,  Node: Plural forms,  Next: GUI program problems,  Prev: Charset conversion,  Up: gettext
-
-Additional functions for plural forms
--------------------------------------
-
-   The functions of the `gettext' family described so far (and all the
-`catgets' functions as well) have one problem in the real world which
-have been neglected completely in all existing approaches.  What is
-meant here is the handling of plural forms.
-
-   Looking through Unix source code before the time anybody thought
-about internationalization (and, sadly, even afterwards) one can often
-find code similar to the following:
-
-        printf ("%d file%s deleted", n, n == 1 ? "" : "s");
-
-After the first complaints from people internationalizing the code
-people either completely avoided formulations like this or used strings
-like `"file(s)"'.  Both look unnatural and should be avoided.  First
-tries to solve the problem correctly looked like this:
-
-        if (n == 1)
-          printf ("%d file deleted", n);
-        else
-          printf ("%d files deleted", n);
-
-   But this does not solve the problem.  It helps languages where the
-plural form of a noun is not simply constructed by adding an `s' but
-that is all.  Once again people fell into the trap of believing the
-rules their language is using are universal.  But the handling of plural
-forms differs widely between the language families.  For example, Rafal
-Maszkowski `<rzm@mat.uni.torun.pl>' reports:
-
-     In Polish we use e.g. plik (file) this way:
-          1 plik
-          2,3,4 pliki
-          5-21 pliko'w
-          22-24 pliki
-          25-31 pliko'w
-     and so on (o' means 8859-2 oacute which should be rather okreska,
-     similar to aogonek).
-
-   There are two things which can differ between languages (and even
-inside language families);
-
-   * The form how plural forms are built differs.  This is a problem
-     with languages which have many irregularities.  German, for
-     instance, is a drastic case.  Though English and German are part
-     of the same language family (Germanic), the almost regular forming
-     of plural noun forms (appending an `s') is hardly found in German.
-
-   * The number of plural forms differ.  This is somewhat surprising for
-     those who only have experiences with Romanic and Germanic languages
-     since here the number is the same (there are two).
-
-     But other language families have only one form or many forms.  More
-     information on this in an extra section.
-
-   The consequence of this is that application writers should not try to
-solve the problem in their code.  This would be localization since it is
-only usable for certain, hardcoded language environments.  Instead the
-extended `gettext' interface should be used.
-
-   These extra functions are taking instead of the one key string two
-strings and a numerical argument.  The idea behind this is that using
-the numerical argument and the first string as a key, the implementation
-can select using rules specified by the translator the right plural
-form.  The two string arguments then will be used to provide a return
-value in case no message catalog is found (similar to the normal
-`gettext' behavior).  In this case the rules for Germanic language is
-used and it is assumed that the first string argument is the singular
-form, the second the plural form.
-
-   This has the consequence that programs without language catalogs can
-display the correct strings only if the program itself is written using
-a Germanic language.  This is a limitation but since the GNU C library
-(as well as the GNU `gettext' package) are written as part of the GNU
-package and the coding standards for the GNU project require program
-being written in English, this solution nevertheless fulfills its
-purpose.
-
- - Function: char * ngettext (const char *MSGID1, const char *MSGID2,
-          unsigned long int N)
-     The `ngettext' function is similar to the `gettext' function as it
-     finds the message catalogs in the same way.  But it takes two
-     extra arguments.  The MSGID1 parameter must contain the singular
-     form of the string to be converted.  It is also used as the key
-     for the search in the catalog.  The MSGID2 parameter is the plural
-     form.  The parameter N is used to determine the plural form.  If no
-     message catalog is found MSGID1 is returned if `n == 1', otherwise
-     `msgid2'.
-
-     An example for the use of this function is:
-
-          printf (ngettext ("%d file removed", "%d files removed", n), n);
-
-     Please note that the numeric value N has to be passed to the
-     `printf' function as well.  It is not sufficient to pass it only to
-     `ngettext'.
-
- - Function: char * dngettext (const char *DOMAIN, const char *MSGID1,
-          const char *MSGID2, unsigned long int N)
-     The `dngettext' is similar to the `dgettext' function in the way
-     the message catalog is selected.  The difference is that it takes
-     two extra parameter to provide the correct plural form.  These two
-     parameters are handled in the same way `ngettext' handles them.
-
- - Function: char * dcngettext (const char *DOMAIN, const char *MSGID1,
-          const char *MSGID2, unsigned long int N, int CATEGORY)
-     The `dcngettext' is similar to the `dcgettext' function in the way
-     the message catalog is selected.  The difference is that it takes
-     two extra parameter to provide the correct plural form.  These two
-     parameters are handled in the same way `ngettext' handles them.
-
-   Now, how do these functions solve the problem of the plural forms?
-Without the input of linguists (which was not available) it was not
-possible to determine whether there are only a few different forms in
-which plural forms are formed or whether the number can increase with
-every new supported language.
-
-   Therefore the solution implemented is to allow the translator to
-specify the rules of how to select the plural form.  Since the formula
-varies with every language this is the only viable solution except for
-hardcoding the information in the code (which still would require the
-possibility of extensions to not prevent the use of new languages).
-
-   The information about the plural form selection has to be stored in
-the header entry of the PO file (the one with the empty `msgid' string).
-The plural form information looks like this:
-
-     Plural-Forms: nplurals=2; plural=n == 1 ? 0 : 1;
-
-   The `nplurals' value must be a decimal number which specifies how
-many different plural forms exist for this language.  The string
-following `plural' is an expression which is using the C language
-syntax.  Exceptions are that no negative numbers are allowed, numbers
-must be decimal, and the only variable allowed is `n'.  This expression
-will be evaluated whenever one of the functions `ngettext',
-`dngettext', or `dcngettext' is called.  The numeric value passed to
-these functions is then substituted for all uses of the variable `n' in
-the expression.  The resulting value then must be greater or equal to
-zero and smaller than the value given as the value of `nplurals'.
-
-The following rules are known at this point.  The language with families
-are listed.  But this does not necessarily mean the information can be
-generalized for the whole family (as can be easily seen in the table
-below).(1)
-
-Only one form:
-     Some languages only require one single form.  There is no
-     distinction between the singular and plural form.  An appropriate
-     header entry would look like this:
-
-          Plural-Forms: nplurals=1; plural=0;
-
-     Languages with this property include:
-
-    Finno-Ugric family
-          Hungarian
-
-    Asian family
-          Japanese, Korean
-
-    Turkic/Altaic family
-          Turkish
-
-Two forms, singular used for one only
-     This is the form used in most existing programs since it is what
-     English is using.  A header entry would look like this:
-
-          Plural-Forms: nplurals=2; plural=n != 1;
-
-     (Note: this uses the feature of C expressions that boolean
-     expressions have to value zero or one.)
-
-     Languages with this property include:
-
-    Germanic family
-          Danish, Dutch, English, German, Norwegian, Swedish
-
-    Finno-Ugric family
-          Estonian, Finnish
-
-    Latin/Greek family
-          Greek
-
-    Semitic family
-          Hebrew
-
-    Romanic family
-          Italian, Portuguese, Spanish
-
-    Artificial
-          Esperanto
-
-Two forms, singular used for zero and one
-     Exceptional case in the language family.  The header entry would
-     be:
-
-          Plural-Forms: nplurals=2; plural=n>1;
-
-     Languages with this property include:
-
-    Romanic family
-          French, Brazilian Portuguese
-
-Three forms, special case for zero
-     The header entry would be:
-
-          Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;
-
-     Languages with this property include:
-
-    Baltic family
-          Latvian
-
-Three forms, special cases for one and two
-     The header entry would be:
-
-          Plural-Forms: nplurals=3; plural=n==1 ? 0 : n==2 ? 1 : 2;
-
-     Languages with this property include:
-
-    Celtic
-          Gaeilge (Irish)
-
-Three forms, special case for numbers ending in 1[2-9]
-     The header entry would look like this:
-
-          Plural-Forms: nplurals=3; \
-              plural=n%10==1 && n%100!=11 ? 0 : \
-                     n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2;
-
-     Languages with this property include:
-
-    Baltic family
-          Lithuanian
-
-Three forms, special cases for numbers ending in 1 and 2, 3, 4, except those ending in 1[1-4]
-     The header entry would look like this:
-
-          Plural-Forms: nplurals=3; \
-              plural=n%10==1 && n%100!=11 ? 0 : \
-                     n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;
-
-     Languages with this property include:
-
-    Slavic family
-          Croatian, Czech, Russian, Slovak, Ukrainian
-
-Three forms, special case for one and some numbers ending in 2, 3, or 4
-     The header entry would look like this:
-
-          Plural-Forms: nplurals=3; \
-              plural=n==1 ? 0 : \
-                     n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;
-
-     Languages with this property include:
-
-    Slavic family
-          Polish
-
-Four forms, special case for one and all numbers ending in 02, 03, or 04
-     The header entry would look like this:
-
-          Plural-Forms: nplurals=4; \
-              plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;
-
-     Languages with this property include:
-
-    Slavic family
-          Slovenian
-
-   ---------- Footnotes ----------
-
-   (1) Additions are welcome.  Send appropriate information to
-<bug-glibc-manual@gnu.org>.
-
diff --git a/doc/gettext.info-6 b/doc/gettext.info-6
deleted file mode 100644 (file)
index eeadcb9..0000000
+++ /dev/null
@@ -1,1082 +0,0 @@
-This is gettext.info, produced by makeinfo version 4.2 from
-gettext.texi.
-
-INFO-DIR-SECTION GNU Gettext Utilities
-START-INFO-DIR-ENTRY
-* gettext: (gettext).                          GNU gettext utilities.
-* autopoint: (gettext)autopoint Invocation.    Copy gettext infrastructure.
-* gettextize: (gettext)gettextize Invocation.  Prepare a package for gettext.
-* msgattrib: (gettext)msgattrib Invocation.    Select part of a PO file.
-* msgcat: (gettext)msgcat Invocation.          Combine several PO files.
-* msgcmp: (gettext)msgcmp Invocation.          Compare a PO file and template.
-* msgcomm: (gettext)msgcomm Invocation.        Match two PO files.
-* msgconv: (gettext)msgconv Invocation.        Convert PO file to encoding.
-* msgen: (gettext)msgen Invocation.            Create an English PO file.
-* msgexec: (gettext)msgexec Invocation.        Process a PO file.
-* msgfilter: (gettext)msgfilter Invocation.    Pipe a PO file through a filter.
-* msgfmt: (gettext)msgfmt Invocation.          Make MO files out of PO files.
-* msggrep: (gettext)msggrep Invocation.        Select part of a PO file.
-* msginit: (gettext)msginit Invocation.        Create a fresh PO file.
-* msgmerge: (gettext)msgmerge Invocation.      Update a PO file from template.
-* msgunfmt: (gettext)msgunfmt Invocation.      Uncompile MO file into PO file.
-* msguniq: (gettext)msguniq Invocation.        Unify duplicates for PO file.
-* xgettext: (gettext)xgettext Invocation.      Extract strings into a PO file.
-* ISO639: (gettext)Language Codes.             ISO 639 language codes.
-* ISO3166: (gettext)Country Codes.             ISO 3166 country codes.
-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, 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
-preserved on all copies.
-
-   Permission is granted to copy and distribute modified versions of
-this manual under the conditions for verbatim copying, provided that
-the entire resulting derived work is distributed under the terms of a
-permission notice identical to this one.
-
-   Permission is granted to copy and distribute translations of this
-manual into another language, under the above conditions for modified
-versions, except that this permission notice may be stated in a
-translation approved by the Foundation.
-
-\1f
-File: gettext.info,  Node: GUI program problems,  Next: Optimized gettext,  Prev: Plural forms,  Up: gettext
-
-How to use `gettext' in GUI programs
-------------------------------------
-
-   One place where the `gettext' functions, if used normally, have big
-problems is within programs with graphical user interfaces (GUIs).  The
-problem is that many of the strings which have to be translated are very
-short.  They have to appear in pull-down menus which restricts the
-length.  But strings which are not containing entire sentences or at
-least large fragments of a sentence may appear in more than one
-situation in the program but might have different translations.  This is
-especially true for the one-word strings which are frequently used in
-GUI programs.
-
-   As a consequence many people say that the `gettext' approach is
-wrong and instead `catgets' should be used which indeed does not have
-this problem.  But there is a very simple and powerful method to handle
-these kind of problems with the `gettext' functions.
-
-As as example consider the following fictional situation.  A GUI program
-has a menu bar with the following entries:
-
-     +------------+------------+--------------------------------------+
-     | File       | Printer    |                                      |
-     +------------+------------+--------------------------------------+
-     | Open     | | Select   |
-     | New      | | Open     |
-     +----------+ | Connect  |
-                  +----------+
-
-   To have the strings `File', `Printer', `Open', `New', `Select', and
-`Connect' translated there has to be at some point in the code a call
-to a function of the `gettext' family.  But in two places the string
-passed into the function would be `Open'.  The translations might not
-be the same and therefore we are in the dilemma described above.
-
-   One solution to this problem is to artificially enlengthen the
-strings to make them unambiguous.  But what would the program do if no
-translation is available?  The enlengthened string is not what should be
-printed.  So we should use a little bit modified version of the
-functions.
-
-   To enlengthen the strings a uniform method should be used.  E.g., in
-the example above the strings could be chosen as
-
-     Menu|File
-     Menu|Printer
-     Menu|File|Open
-     Menu|File|New
-     Menu|Printer|Select
-     Menu|Printer|Open
-     Menu|Printer|Connect
-
-   Now all the strings are different and if now instead of `gettext'
-the following little wrapper function is used, everything works just
-fine:
-
-       char *
-       sgettext (const char *msgid)
-       {
-         char *msgval = gettext (msgid);
-         if (msgval == msgid)
-           msgval = strrchr (msgid, '|') + 1;
-         return msgval;
-       }
-
-   What this little function does is to recognize the case when no
-translation is available.  This can be done very efficiently by a
-pointer comparison since the return value is the input value.  If there
-is no translation we know that the input string is in the format we used
-for the Menu entries and therefore contains a `|' character.  We simply
-search for the last occurrence of this character and return a pointer
-to the character following it.  That's it!
-
-   If one now consistently uses the enlengthened string form and
-replaces the `gettext' calls with calls to `sgettext' (this is normally
-limited to very few places in the GUI implementation) then it is
-possible to produce a program which can be internationalized.
-
-   The other `gettext' functions (`dgettext', `dcgettext' and the
-`ngettext' equivalents) can and should have corresponding functions as
-well which look almost identical, except for the parameters and the
-call to the underlying function.
-
-   Now there is of course the question why such functions do not exist
-in the GNU gettext package?  There are two parts of the answer to this
-question.
-
-   * They are easy to write and therefore can be provided by the
-     project they are used in.  This is not an answer by itself and
-     must be seen together with the second part which is:
-
-   * There is no way the gettext package can contain a version which
-     can work everywhere.  The problem is the selection of the
-     character to separate the prefix from the actual string in the
-     enlenghtened string.  The examples above used `|' which is a quite
-     good choice because it resembles a notation frequently used in
-     this context and it also is a character not often used in message
-     strings.
-
-     But what if the character is used in message strings?  Or if the
-     chose character is not available in the character set on the
-     machine one compiles (e.g., `|' is not required to exist for
-     ISO C; this is why the `iso646.h' file exists in ISO C programming
-     environments).
-
-   There is only one more comment to be said.  The wrapper function
-above requires that the translations strings are not enlengthened
-themselves.  This is only logical.  There is no need to disambiguate
-the strings (since they are never used as keys for a search) and one
-also saves quite some memory and disk space by doing this.
-
-\1f
-File: gettext.info,  Node: Optimized gettext,  Prev: GUI program problems,  Up: gettext
-
-Optimization of the *gettext functions
---------------------------------------
-
-   At this point of the discussion we should talk about an advantage of
-the GNU `gettext' implementation.  Some readers might have pointed out
-that an internationalized program might have a poor performance if some
-string has to be translated in an inner loop.  While this is unavoidable
-when the string varies from one run of the loop to the other it is
-simply a waste of time when the string is always the same.  Take the
-following example:
-
-     {
-       while (...)
-         {
-           puts (gettext ("Hello world"));
-         }
-     }
-
-When the locale selection does not change between two runs the resulting
-string is always the same.  One way to use this is:
-
-     {
-       str = gettext ("Hello world");
-       while (...)
-         {
-           puts (str);
-         }
-     }
-
-But this solution is not usable in all situation (e.g. when the locale
-selection changes) nor does it lead to legible code.
-
-   For this reason, GNU `gettext' caches previous translation results.
-When the same translation is requested twice, with no new message
-catalogs being loaded in between, `gettext' will, the second time, find
-the result through a single cache lookup.
-
-\1f
-File: gettext.info,  Node: Comparison,  Next: Using libintl.a,  Prev: gettext,  Up: Programmers
-
-Comparing the Two Interfaces
-============================
-
-   The following discussion is perhaps a little bit colored.  As said
-above we implemented GNU `gettext' following the Uniforum proposal and
-this surely has its reasons.  But it should show how we came to this
-decision.
-
-   First we take a look at the developing process.  When we write an
-application using NLS provided by `gettext' we proceed as always.  Only
-when we come to a string which might be seen by the users and thus has
-to be translated we use `gettext("...")' instead of `"..."'.  At the
-beginning of each source file (or in a central header file) we define
-
-     #define gettext(String) (String)
-
-   Even this definition can be avoided when the system supports the
-`gettext' function in its C library.  When we compile this code the
-result is the same as if no NLS code is used.  When  you take a look at
-the GNU `gettext' code you will see that we use `_("...")' instead of
-`gettext("...")'.  This reduces the number of additional characters per
-translatable string to _3_ (in words: three).
-
-   When now a production version of the program is needed we simply
-replace the definition
-
-     #define _(String) (String)
-
-by
-
-     #include <libintl.h>
-     #define _(String) gettext (String)
-
-Additionally we run the program `xgettext' on all source code file
-which contain translatable strings and that's it: we have a running
-program which does not depend on translations to be available, but which
-can use any that becomes available.
-
-   The same procedure can be done for the `gettext_noop' invocations
-(*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 N_(String) gettext_noop (String)
-
-   `N_' is a short form similar to `_'.  The `Makefile' in the `po/'
-directory of GNU `gettext' knows by default both of the mentioned short
-forms so you are invited to follow this proposal for your own ease.
-
-   Now to `catgets'.  The main problem is the work for the programmer.
-Every time he comes to a translatable string he has to define a number
-(or a symbolic constant) which has also be defined in the message
-catalog file.  He also has to take care for duplicate entries,
-duplicate message IDs etc.  If he wants to have the same quality in the
-message catalog as the GNU `gettext' program provides he also has to
-put the descriptive comments for the strings and the location in all
-source code files in the message catalog.  This is nearly a Mission:
-Impossible.
-
-   But there are also some points people might call advantages speaking
-for `catgets'.  If you have a single word in a string and this string
-is used in different contexts it is likely that in one or the other
-language the word has different translations.  Example:
-
-     printf ("%s: %d", gettext ("number"), number_of_errors)
-     
-     printf ("you should see %d %s", number_count,
-             number_count == 1 ? gettext ("number") : gettext ("numbers"))
-
-   Here we have to translate two times the string `"number"'.  Even if
-you do not speak a language beside English it might be possible to
-recognize that the two words have a different meaning.  In German the
-first appearance has to be translated to `"Anzahl"' and the second to
-`"Zahl"'.
-
-   Now you can say that this example is really esoteric.  And you are
-right!  This is exactly how we felt about this problem and decide that
-it does not weight that much.  The solution for the above problem could
-be very easy:
-
-     printf ("%s %d", gettext ("number:"), number_of_errors)
-     
-     printf (number_count == 1 ? gettext ("you should see %d number")
-                               : gettext ("you should see %d numbers"),
-             number_count)
-
-   We believe that we can solve all conflicts with this method.  If it
-is difficult one can also consider changing one of the conflicting
-string a little bit.  But it is not impossible to overcome.
-
-   `catgets' allows same original entry to have different translations,
-but `gettext' has another, scalable approach for solving ambiguities of
-this kind: *Note Ambiguities::.
-
-\1f
-File: gettext.info,  Node: Using libintl.a,  Next: gettext grok,  Prev: Comparison,  Up: Programmers
-
-Using libintl.a in own programs
-===============================
-
-   Starting with version 0.9.4 the library `libintl.h' should be
-self-contained.  I.e., you can use it in your own programs without
-providing additional functions.  The `Makefile' will put the header and
-the library in directories selected using the `$(prefix)'.
-
-\1f
-File: gettext.info,  Node: gettext grok,  Next: Temp Programmers,  Prev: Using libintl.a,  Up: Programmers
-
-Being a `gettext' grok
-======================
-
-   To fully exploit the functionality of the GNU `gettext' library it
-is surely helpful to read the source code.  But for those who don't want
-to spend that much time in reading the (sometimes complicated) code here
-is a list comments:
-
-   * Changing the language at runtime
-
-     For interactive programs it might be useful to offer a selection
-     of the used language at runtime.  To understand how to do this one
-     need to know how the used language is determined while executing
-     the `gettext' function.  The method which is presented here only
-     works correctly with the GNU implementation of the `gettext'
-     functions.
-
-     In the function `dcgettext' at every call the current setting of
-     the highest priority environment variable is determined and used.
-     Highest priority means here the following list with decreasing
-     priority:
-
-       1. `LANGUAGE'
-
-       2. `LC_ALL'
-
-       3. `LC_xxx', according to selected locale
-
-       4. `LANG'
-
-     Afterwards the path is constructed using the found value and the
-     translation file is loaded if available.
-
-     What happens now when the value for, say, `LANGUAGE' changes?
-     According to the process explained above the new value of this
-     variable is found as soon as the `dcgettext' function is called.
-     But this also means the (perhaps) different message catalog file
-     is loaded.  In other words: the used language is changed.
-
-     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 `dcgettext' function as long as no new catalog
-     is loaded.  But if `dcgettext' is not called the program also
-     cannot find the `LANGUAGE' variable be changed (*note Optimized
-     gettext::).  A solution for this is very easy.  Include the
-     following code in the language switching function.
-
-            /* Change language.  */
-            setenv ("LANGUAGE", "fr", 1);
-          
-            /* Make change known.  */
-            {
-              extern int  _nl_msg_cat_cntr;
-              ++_nl_msg_cat_cntr;
-            }
-
-     The variable `_nl_msg_cat_cntr' is defined in `loadmsgcat.c'.  You
-     don't need to know what this is for. But it can be used to detect
-     whether a `gettext' implementation is GNU gettext and not non-GNU
-     system's native gettext implementation.
-
-
-\1f
-File: gettext.info,  Node: Temp Programmers,  Prev: gettext grok,  Up: Programmers
-
-Temporary Notes for the Programmers Chapter
-===========================================
-
-* Menu:
-
-* Temp Implementations::        Temporary - Two Possible Implementations
-* Temp catgets::                Temporary - About `catgets'
-* Temp WSI::                    Temporary - Why a single implementation
-* Temp Notes::                  Temporary - Notes
-
-\1f
-File: gettext.info,  Node: Temp Implementations,  Next: Temp catgets,  Prev: Temp Programmers,  Up: Temp Programmers
-
-Temporary - Two Possible Implementations
-----------------------------------------
-
-   There are two competing methods for language independent messages:
-the X/Open `catgets' method, and the Uniforum `gettext' method.  The
-`catgets' method indexes messages by integers; the `gettext' method
-indexes them by their English translations.  The `catgets' method has
-been around longer and is supported by more vendors.  The `gettext'
-method is supported by Sun, and it has been heard that the COSE
-multi-vendor initiative is supporting it.  Neither method is a POSIX
-standard; the POSIX.1 committee had a lot of disagreement in this area.
-
-   Neither one is in the POSIX standard.  There was much disagreement
-in the POSIX.1 committee about using the `gettext' routines vs.
-`catgets' (XPG).  In the end the committee couldn't agree on anything,
-so no messaging system was included as part of the standard.  I believe
-the informative annex of the standard includes the XPG3 messaging
-interfaces, "...as an example of a messaging system that has been
-implemented..."
-
-   They were very careful not to say anywhere that you should use one
-set of interfaces over the other.  For more on this topic please see
-the Programming for Internationalization FAQ.
-
-\1f
-File: gettext.info,  Node: Temp catgets,  Next: Temp WSI,  Prev: Temp Implementations,  Up: Temp Programmers
-
-Temporary - About `catgets'
----------------------------
-
-   There have been a few discussions of late on the use of `catgets' as
-a base.  I think it important to present both sides of the argument and
-hence am opting to play devil's advocate for a little bit.
-
-   I'll not deny the fact that `catgets' could have been designed a lot
-better.  It currently has quite a number of limitations and these have
-already been pointed out.
-
-   However there is a great deal to be said for consistency and
-standardization.  A common recurring problem when writing Unix software
-is the myriad portability problems across Unix platforms.  It seems as
-if every Unix vendor had a look at the operating system and found parts
-they could improve upon.  Undoubtedly, these modifications are probably
-innovative and solve real problems.  However, software developers have
-a hard time keeping up with all these changes across so many platforms.
-
-   And this has prompted the Unix vendors to begin to standardize their
-systems.  Hence the impetus for Spec1170.  Every major Unix vendor has
-committed to supporting this standard and every Unix software developer
-waits with glee the day they can write software to this standard and
-simply recompile (without having to use autoconf) across different
-platforms.
-
-   As I understand it, Spec1170 is roughly based upon version 4 of the
-X/Open Portability Guidelines (XPG4).  Because `catgets' and friends
-are defined in XPG4, I'm led to believe that `catgets' is a part of
-Spec1170 and hence will become a standardized component of all Unix
-systems.
-
-\1f
-File: gettext.info,  Node: Temp WSI,  Next: Temp Notes,  Prev: Temp catgets,  Up: Temp Programmers
-
-Temporary - Why a single implementation
----------------------------------------
-
-   Now it seems kind of wasteful to me to have two different systems
-installed for accessing message catalogs.  If we do want to remedy
-`catgets' deficiencies why don't we try to expand `catgets' (in a
-compatible manner) rather than implement an entirely new system.
-Otherwise, we'll end up with two message catalog access systems
-installed with an operating system - one set of routines for packages
-using GNU `gettext' for their internationalization, and another set of
-routines (catgets) for all other software.  Bloated?
-
-   Supposing another catalog access system is implemented.  Which do we
-recommend?  At least for Linux, we need to attract as many software
-developers as possible.  Hence we need to make it as easy for them to
-port their software as possible.  Which means supporting `catgets'.  We
-will be implementing the `libintl' code within our `libc', but does
-this mean we also have to incorporate another message catalog access
-scheme within our `libc' as well?  And what about people who are going
-to be using the `libintl' + non-`catgets' routines.  When they port
-their software to other platforms, they're now going to have to include
-the front-end (`libintl') code plus the back-end code (the non-`catgets'
-access routines) with their software instead of just including the
-`libintl' code with their software.
-
-   Message catalog support is however only the tip of the iceberg.
-What about the data for the other locale categories.  They also have a
-number of deficiencies.  Are we going to abandon them as well and
-develop another duplicate set of routines (should `libintl' expand
-beyond message catalog support)?
-
-   Like many parts of Unix that can be improved upon, we're stuck with
-balancing compatibility with the past with useful improvements and
-innovations for the future.
-
-\1f
-File: gettext.info,  Node: Temp Notes,  Prev: Temp WSI,  Up: Temp Programmers
-
-Temporary - Notes
------------------
-
-   X/Open agreed very late on the standard form so that many
-implementations differ from the final form.  Both of my system (old
-Linux catgets and Ultrix-4) have a strange variation.
-
-   OK.  After incorporating the last changes I have to spend some time
-on making the GNU/Linux `libc' `gettext' functions.  So in future
-Solaris is not the only system having `gettext'.
-
-\1f
-File: gettext.info,  Node: Translators,  Next: Maintainers,  Prev: Programmers,  Up: Top
-
-The Translator's View
-*********************
-
-* Menu:
-
-* Trans Intro 0::               Introduction 0
-* Trans Intro 1::               Introduction 1
-* Discussions::                 Discussions
-* Organization::                Organization
-* Information Flow::            Information Flow
-
-\1f
-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.
-
-\1f
-File: gettext.info,  Node: Trans Intro 1,  Next: Discussions,  Prev: Trans Intro 0,  Up: Translators
-
-Introduction 1
-==============
-
-   This is now official, GNU is going international!  Here is the
-announcement submitted for the January 1995 GNU Bulletin:
-
-     A handful of GNU packages have already been adapted and provided
-     with message translations for several languages.  Translation
-     teams have begun to organize, using these packages as a starting
-     point.  But there are many more packages and many languages for
-     which we have no volunteer translators.  If you'd like to
-     volunteer to work at translating messages, please send mail to
-     `translation@iro.umontreal.ca' indicating what language(s) you can
-     work on.
-
-   This document should answer many questions for those who are curious
-about the process or would like to contribute.  Please at least skim
-over it, hoping to cut down a little of the high volume of e-mail
-generated by this collective effort towards internationalization of
-free software.
-
-   Most free programming which is widely shared is done in English, and
-currently, English is used as the main communicating language between
-national communities collaborating to free software.  This very document
-is written in English.  This will not change in the foreseeable future.
-
-   However, there is a strong appetite from national communities for
-having more software able to write using national language and habits,
-and there is an on-going effort to modify free software in such a way
-that it becomes able to do so.  The experiments driven so far raised an
-enthusiastic response from pretesters, so we believe that
-internationalization of free software is dedicated to succeed.
-
-   For suggestion clarifications, additions or corrections to this
-document, please e-mail to `translation@iro.umontreal.ca'.
-
-\1f
-File: gettext.info,  Node: Discussions,  Next: Organization,  Prev: Trans Intro 1,  Up: Translators
-
-Discussions
-===========
-
-   Facing this internationalization effort, a few users expressed their
-concerns.  Some of these doubts are presented and discussed, here.
-
-   * Smaller groups
-
-     Some languages are not spoken by a very large number of people, so
-     people speaking them sometimes consider that there may not be all
-     that much demand such versions of free software packages.
-     Moreover, many people being _into computers_, in some countries,
-     generally seem to prefer English versions of their software.
-
-     On the other end, people might enjoy their own language a lot, and
-     be very motivated at providing to themselves the pleasure of
-     having their beloved free software speaking their mother tongue.
-     They do themselves a personal favor, and do not pay that much
-     attention to the number of people benefiting of their work.
-
-   * Misinterpretation
-
-     Other users are shy to push forward their own language, seeing in
-     this some kind of misplaced propaganda.  Someone thought there
-     must be some users of the language over the networks pestering
-     other people with it.
-
-     But any spoken language is worth localization, because there are
-     people behind the language for whom the language is important and
-     dear to their hearts.
-
-   * Odd translations
-
-     The biggest problem is to find the right translations so that
-     everybody can understand the messages.  Translations are usually a
-     little odd.  Some people get used to English, to the extent they
-     may find translations into their own language "rather pushy,
-     obnoxious and sometimes even hilarious."  As a French speaking
-     man, I have the experience of those instruction manuals for goods,
-     so poorly translated in French in Korea or Taiwan...
-
-     The fact is that we sometimes have to create a kind of national
-     computer culture, and this is not easy without the collaboration of
-     many people liking their mother tongue.  This is why translations
-     are better achieved by people knowing and loving their own
-     language, and ready to work together at improving the results they
-     obtain.
-
-   * Dependencies over the GPL or LGPL
-
-     Some people wonder if using GNU `gettext' necessarily brings their
-     package under the protective wing of the GNU General Public
-     License or the GNU Library General Public License, when they do
-     not want to make their program free, or want other kinds of
-     freedom.  The simplest answer is "normally not".
-
-     The GNU `gettext' library, i.e. the contents of `libintl', is
-     covered by the GNU Library General Public License.  The rest of
-     the GNU `gettext' package is covered by the GNU General Public
-     License.
-
-     The mere marking of localizable strings in a package, or
-     conditional inclusion of a few lines for initialization, is not
-     really including GPL'ed or LGPL'ed code.  However, since the
-     localization routines in `libintl' are under the LGPL, the LGPL
-     needs to be considered.  It gives the right to distribute the
-     complete unmodified source of `libintl' even with non-free
-     programs.  It also gives the right to use `libintl' as a shared
-     library, even for non-free programs.  But it gives the right to
-     use `libintl' as a static library or to incorporate `libintl' into
-     another library only to free software.
-
-
-\1f
-File: gettext.info,  Node: Organization,  Next: Information Flow,  Prev: Discussions,  Up: Translators
-
-Organization
-============
-
-   On a larger scale, the true solution would be to organize some kind
-of fairly precise set up in which volunteers could participate.  I gave
-some thought to this idea lately, and realize there will be some touchy
-points.  I thought of writing to Richard Stallman to launch such a
-project, but feel it might be good to shake out the ideas between
-ourselves first.  Most probably that Linux International has some
-experience in the field already, or would like to orchestrate the
-volunteer work, maybe.  Food for thought, in any case!
-
-   I guess we have to setup something early, somehow, that will help
-many possible contributors of the same language to interlock and avoid
-work duplication, and further be put in contact for solving together
-problems particular to their tongue (in most languages, there are many
-difficulties peculiar to translating technical English).  My Swedish
-contributor acknowledged these difficulties, and I'm well aware of them
-for French.
-
-   This is surely not a technical issue, but we should manage so the
-effort of locale contributors be maximally useful, despite the national
-team layer interface between contributors and maintainers.
-
-   The Translation Project needs some setup for coordinating language
-coordinators.  Localizing evolving programs will surely become a
-permanent and continuous activity in the free software community, once
-well started.  The setup should be minimally completed and tested
-before GNU `gettext' becomes an official reality.  The e-mail address
-`translation@iro.umontreal.ca' has been setup for receiving offers from
-volunteers and general e-mail on these topics.  This address reaches
-the Translation Project coordinator.
-
-* Menu:
-
-* Central Coordination::        Central Coordination
-* National Teams::              National Teams
-* Mailing Lists::               Mailing Lists
-
-\1f
-File: gettext.info,  Node: Central Coordination,  Next: National Teams,  Prev: Organization,  Up: Organization
-
-Central Coordination
---------------------
-
-   I also think GNU will need sooner than it thinks, that someone setup
-a way to organize and coordinate these groups.  Some kind of group of
-groups.  My opinion is that it would be good that GNU delegates this
-task to a small group of collaborating volunteers, shortly.  Perhaps in
-`gnu.announce' a list of this national committee's can be published.
-
-   My role as coordinator would simply be to refer to Ulrich any German
-speaking volunteer interested to localization of free software
-packages, and maybe helping national groups to initially organize,
-while maintaining national registries for until national groups are
-ready to take over.  In fact, the coordinator should ease volunteers to
-get in contact with one another for creating national teams, which
-should then select one coordinator per language, or country
-(regionalized language).  If well done, the coordination should be
-useful without being an overwhelming task, the time to put delegations
-in place.
-
-\1f
-File: gettext.info,  Node: National Teams,  Next: Mailing Lists,  Prev: Central Coordination,  Up: Organization
-
-National Teams
---------------
-
-   I suggest we look for volunteer coordinators/editors for individual
-languages.  These people will scan contributions of translation files
-for various programs, for their own languages, and will ensure high and
-uniform standards of diction.
-
-   From my current experience with other people in these days, those who
-provide localizations are very enthusiastic about the process, and are
-more interested in the localization process than in the program they
-localize, and want to do many programs, not just one.  This seems to
-confirm that having a coordinator/editor for each language is a good
-idea.
-
-   We need to choose someone who is good at writing clear and concise
-prose in the language in question.  That is hard--we can't check it
-ourselves.  So we need to ask a few people to judge each others'
-writing and select the one who is best.
-
-   I announce my prerelease to a few dozen people, and you would not
-believe all the discussions it generated already.  I shudder to think
-what will happen when this will be launched, for true, officially,
-world wide.  Who am I to arbitrate between two Czekolsovak users
-contradicting each other, for example?
-
-   I assume that your German is not much better than my French so that
-I would not be able to judge about these formulations.  What I would
-suggest is that for each language there is a group for people who
-maintain the PO files and judge about changes.  I suspect there will be
-cultural differences between how such groups of people will behave.
-Some will have relaxed ways, reach consensus easily, and have anyone of
-the group relate to the maintainers, while others will fight to death,
-organize heavy administrations up to national standards, and use strict
-channels.
-
-   The German team is putting out a good example.  Right now, they are
-maybe half a dozen people revising translations of each other and
-discussing the linguistic issues.  I do not even have all the names.
-Ulrich Drepper is taking care of coordinating the German team.  He
-subscribed to all my pretest lists, so I do not even have to warn him
-specifically of incoming releases.
-
-   I'm sure, that is a good idea to get teams for each language working
-on translations. That will make the translations better and more
-consistent.
-
-* Menu:
-
-* Sub-Cultures::                Sub-Cultures
-* Organizational Ideas::        Organizational Ideas
-
-\1f
-File: gettext.info,  Node: Sub-Cultures,  Next: Organizational Ideas,  Prev: National Teams,  Up: National Teams
-
-Sub-Cultures
-............
-
-   Taking French for example, there are a few sub-cultures around
-computers which developed diverging vocabularies.  Picking volunteers
-here and there without addressing this problem in an organized way,
-soon in the project, might produce a distasteful mix of
-internationalized programs, and possibly trigger endless quarrels among
-those who really care.
-
-   Keeping some kind of unity in the way French localization of
-internationalized programs is achieved is a difficult (and delicate)
-job.  Knowing the latin character of French people (:-), if we take this
-the wrong way, we could end up nowhere, or spoil a lot of energies.
-Maybe we should begin to address this problem seriously _before_ GNU
-`gettext' become officially published.  And I suspect that this means
-soon!
-
-\1f
-File: gettext.info,  Node: Organizational Ideas,  Prev: Sub-Cultures,  Up: National Teams
-
-Organizational Ideas
-....................
-
-   I expect the next big changes after the official release.  Please
-note that I use the German translation of the short GPL message.  We
-need to set a few good examples before the localization goes out for
-true in the free software community.  Here are a few points to discuss:
-
-   * Each group should have one FTP server (at least one master).
-
-   * The files on the server should reflect the latest version (of
-     course!) and it should also contain a RCS directory with the
-     corresponding archives (I don't have this now).
-
-   * There should also be a ChangeLog file (this is more useful than the
-     RCS archive but can be generated automatically from the later by
-     Emacs).
-
-   * A "core group" should judge about questionable changes (for now
-     this group consists solely by me but I ask some others
-     occasionally; this also seems to work).
-
-
-\1f
-File: gettext.info,  Node: Mailing Lists,  Prev: National Teams,  Up: Organization
-
-Mailing Lists
--------------
-
-   If we get any inquiries about GNU `gettext', send them on to:
-
-     `translation@iro.umontreal.ca'
-
-   The `*-pretest' lists are quite useful to me, maybe the idea could
-be generalized to many GNU, and non-GNU packages.  But each maintainer
-his/her way!
-
-   Franc,ois, we have a mechanism in place here at `gnu.ai.mit.edu' to
-track teams, support mailing lists for them and log members.  We have a
-slight preference that you use it.  If this is OK with you, I can get
-you clued in.
-
-   Things are changing!  A few years ago, when Daniel Fekete and I
-asked for a mailing list for GNU localization, nested at the FSF, we
-were politely invited to organize it anywhere else, and so did we.  For
-communicating with my pretesters, I later made a handful of mailing
-lists located at iro.umontreal.ca and administrated by `majordomo'.
-These lists have been _very_ dependable so far...
-
-   I suspect that the German team will organize itself a mailing list
-located in Germany, and so forth for other countries.  But before they
-organize for true, it could surely be useful to offer mailing lists
-located at the FSF to each national team.  So yes, please explain me
-how I should proceed to create and handle them.
-
-   We should create temporary mailing lists, one per country, to help
-people organize.  Temporary, because once regrouped and structured, it
-would be fair the volunteers from country bring back _their_ list in
-there and manage it as they want.  My feeling is that, in the long run,
-each team should run its own list, from within their country.  There
-also should be some central list to which all teams could subscribe as
-they see fit, as long as each team is represented in it.
-
-\1f
-File: gettext.info,  Node: Information Flow,  Prev: Organization,  Up: Translators
-
-Information Flow
-================
-
-   There will surely be some discussion about this messages after the
-packages are finally released.  If people now send you some proposals
-for better messages, how do you proceed?  Jim, please note that right
-now, as I put forward nearly a dozen of localizable programs, I receive
-both the translations and the coordination concerns about them.
-
-   If I put one of my things to pretest, Ulrich receives the
-announcement and passes it on to the German team, who make last minute
-revisions.  Then he submits the translation files to me _as the
-maintainer_.  For free packages I do not maintain, I would not even
-hear about it.  This scheme could be made to work for the whole
-Translation Project, I think.  For security reasons, maybe Ulrich
-(national coordinators, in fact) should update central registry kept at
-the Translation Project (Jim, me, or Len's recruits) once in a while.
-
-   In December/January, I was aggressively ready to internationalize
-all of GNU, giving myself the duty of one small GNU package per week or
-so, taking many weeks or months for bigger packages.  But it does not
-work this way.  I first did all the things I'm responsible for.  I've
-nothing against some missionary work on other maintainers, but I'm also
-loosing a lot of energy over it--same debates over again.
-
-   And when the first localized packages are released we'll get a lot of
-responses about ugly translations :-).  Surely, and we need to have
-beforehand a fairly good idea about how to handle the information flow
-between the national teams and the package maintainers.
-
-   Please start saving somewhere a quick history of each PO file.  I
-know for sure that the file format will change, allowing for comments.
-It would be nice that each file has a kind of log, and references for
-those who want to submit comments or gripes, or otherwise contribute.
-I sent a proposal for a fast and flexible format, but it is not
-receiving acceptance yet by the GNU deciders.  I'll tell you when I
-have more information about this.
-
-\1f
-File: gettext.info,  Node: Maintainers,  Next: Programming Languages,  Prev: Translators,  Up: Top
-
-The Maintainer's View
-*********************
-
-   The maintainer of a package has many responsibilities.  One of them
-is ensuring that the package will install easily on many platforms, and
-that the magic we described earlier (*note Users::) will work for
-installers and end users.
-
-   Of course, there are many possible ways by which GNU `gettext' might
-be integrated in a distribution, and this chapter does not cover them
-in all generality.  Instead, it details one possible approach which is
-especially adequate for many free software distributions following GNU
-standards, or even better, Gnits standards, because GNU `gettext' is
-purposely for helping the internationalization of the whole GNU
-project, and as many other good free packages as possible.  So, the
-maintainer's view presented here presumes that the package already has
-a `configure.in' file and uses GNU Autoconf.
-
-   Nevertheless, GNU `gettext' may surely be useful for free packages
-not following GNU standards and conventions, but the maintainers of such
-packages might have to show imagination and initiative in organizing
-their distributions so `gettext' work for them in all situations.
-There are surely many, out there.
-
-   Even if `gettext' methods are now stabilizing, slight adjustments
-might be needed between successive `gettext' versions, so you should
-ideally revise this chapter in subsequent releases, looking for changes.
-
-* Menu:
-
-* Flat and Non-Flat::           Flat or Non-Flat Directory Structures
-* Prerequisites::               Prerequisite Works
-* gettextize Invocation::       Invoking the `gettextize' Program
-* Adjusting Files::             Files You Must Create or Alter
-* autoconf macros::             Autoconf macros for use in `configure.in'
-* CVS Issues::                  Integrating with CVS
-
-\1f
-File: gettext.info,  Node: Flat and Non-Flat,  Next: Prerequisites,  Prev: Maintainers,  Up: Maintainers
-
-Flat or Non-Flat Directory Structures
-=====================================
-
-   Some free software packages are distributed as `tar' files which
-unpack in a single directory, these are said to be "flat" distributions.
-Other free software packages have a one level hierarchy of
-subdirectories, using for example a subdirectory named `doc/' for the
-Texinfo manual and man pages, another called `lib/' for holding
-functions meant to replace or complement C libraries, and a
-subdirectory `src/' for holding the proper sources for the package.
-These other distributions are said to be "non-flat".
-
-   We cannot say much about flat distributions.  A flat directory
-structure has the disadvantage of increasing the difficulty of updating
-to a new version of GNU `gettext'.  Also, if you have many PO files,
-this could somewhat pollute your single directory.  Also, GNU
-`gettext''s libintl sources consist of C sources, shell scripts, `sed'
-scripts and complicated Makefile rules, which don't fit well into an
-existing flat structure.  For these reasons, we recommend to use
-non-flat approach in this case as well.
-
-   Maybe because GNU `gettext' itself has a non-flat structure, we have
-more experience with this approach, and this is what will be described
-in the remaining of this chapter.  Some maintainers might use this as
-an opportunity to unflatten their package structure.
-
-\1f
-File: gettext.info,  Node: Prerequisites,  Next: gettextize Invocation,  Prev: Flat and Non-Flat,  Up: Maintainers
-
-Prerequisite Works
-==================
-
-   There are some works which are required for using GNU `gettext' in
-one of your package.  These works have some kind of generality that
-escape the point by point descriptions used in the remainder of this
-chapter.  So, we describe them here.
-
-   * Before attempting to use `gettextize' you should install some
-     other packages first.  Ensure that recent versions of GNU `m4',
-     GNU Autoconf and GNU `gettext' are already installed at your site,
-     and if not, proceed to do this first.  If you get to install these
-     things, beware that GNU `m4' must be fully installed before GNU
-     Autoconf is even _configured_.
-
-     To further ease the task of a package maintainer the `automake'
-     package was designed and implemented.  GNU `gettext' now uses this
-     tool and the `Makefile's in the `intl/' and `po/' therefore know
-     about all the goals necessary for using `automake' and `libintl'
-     in one project.
-
-     Those four packages are only needed by you, as a maintainer; the
-     installers of your own package and end users do not really need
-     any of GNU `m4', GNU Autoconf, GNU `gettext', or GNU `automake'
-     for successfully installing and running your package, with messages
-     properly translated.  But this is not completely true if you
-     provide internationalized shell scripts within your own package:
-     GNU `gettext' shall then be installed at the user site if the end
-     users want to see the translation of shell script messages.
-
-   * Your package should use Autoconf and have a `configure.in' or
-     `configure.ac' file.  If it does not, you have to learn how.  The
-     Autoconf documentation is quite well written, it is a good idea
-     that you print it and get familiar with it.
-
-   * Your C sources should have already been modified according to
-     instructions given earlier in this manual.  *Note Sources::.
-
-   * Your `po/' directory should receive all PO files submitted to you
-     by the translator teams, each having `LL.po' as a name.  This is
-     not usually easy to get translation work done before your package
-     gets internationalized and available!  Since the cycle has to
-     start somewhere, the easiest for the maintainer is to start with
-     absolutely no PO files, and wait until various translator teams
-     get interested in your package, and submit PO files.
-
-
-   It is worth adding here a few words about how the maintainer should
-ideally behave with PO files submissions.  As a maintainer, your role is
-to authenticate the origin of the submission as being the representative
-of the appropriate translating teams of the Translation Project (forward
-the submission to `translation@iro.umontreal.ca' in case of doubt), to
-ensure that the PO file format is not severely broken and does not
-prevent successful installation, and for the rest, to merely put these
-PO files in `po/' for distribution.
-
-   As a maintainer, you do not have to take on your shoulders the
-responsibility of checking if the translations are adequate or
-complete, and should avoid diving into linguistic matters.  Translation
-teams drive themselves and are fully responsible of their linguistic
-choices for the Translation Project.  Keep in mind that translator
-teams are _not_ driven by maintainers.  You can help by carefully
-redirecting all communications and reports from users about linguistic
-matters to the appropriate translation team, or explain users how to
-reach or join their team.  The simplest might be to send them the
-`ABOUT-NLS' file.
-
-   Maintainers should _never ever_ apply PO file bug reports
-themselves, short-cutting translation teams.  If some translator has
-difficulty to get some of her points through her team, it should not be
-an 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.
-
diff --git a/doc/gettext.info-7 b/doc/gettext.info-7
deleted file mode 100644 (file)
index be3288d..0000000
+++ /dev/null
@@ -1,1209 +0,0 @@
-This is gettext.info, produced by makeinfo version 4.2 from
-gettext.texi.
-
-INFO-DIR-SECTION GNU Gettext Utilities
-START-INFO-DIR-ENTRY
-* gettext: (gettext).                          GNU gettext utilities.
-* autopoint: (gettext)autopoint Invocation.    Copy gettext infrastructure.
-* gettextize: (gettext)gettextize Invocation.  Prepare a package for gettext.
-* msgattrib: (gettext)msgattrib Invocation.    Select part of a PO file.
-* msgcat: (gettext)msgcat Invocation.          Combine several PO files.
-* msgcmp: (gettext)msgcmp Invocation.          Compare a PO file and template.
-* msgcomm: (gettext)msgcomm Invocation.        Match two PO files.
-* msgconv: (gettext)msgconv Invocation.        Convert PO file to encoding.
-* msgen: (gettext)msgen Invocation.            Create an English PO file.
-* msgexec: (gettext)msgexec Invocation.        Process a PO file.
-* msgfilter: (gettext)msgfilter Invocation.    Pipe a PO file through a filter.
-* msgfmt: (gettext)msgfmt Invocation.          Make MO files out of PO files.
-* msggrep: (gettext)msggrep Invocation.        Select part of a PO file.
-* msginit: (gettext)msginit Invocation.        Create a fresh PO file.
-* msgmerge: (gettext)msgmerge Invocation.      Update a PO file from template.
-* msgunfmt: (gettext)msgunfmt Invocation.      Uncompile MO file into PO file.
-* msguniq: (gettext)msguniq Invocation.        Unify duplicates for PO file.
-* xgettext: (gettext)xgettext Invocation.      Extract strings into a PO file.
-* ISO639: (gettext)Language Codes.             ISO 639 language codes.
-* ISO3166: (gettext)Country Codes.             ISO 3166 country codes.
-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, 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
-preserved on all copies.
-
-   Permission is granted to copy and distribute modified versions of
-this manual under the conditions for verbatim copying, provided that
-the entire resulting derived work is distributed under the terms of a
-permission notice identical to this one.
-
-   Permission is granted to copy and distribute translations of this
-manual into another language, under the above conditions for modified
-versions, except that this permission notice may be stated in a
-translation approved by the Foundation.
-
-\1f
-File: gettext.info,  Node: gettextize Invocation,  Next: Adjusting Files,  Prev: Prerequisites,  Up: Maintainers
-
-Invoking the `gettextize' Program
-=================================
-
-   The `gettextize' program is an interactive tool that helps the
-maintainer of a package internationalized through GNU `gettext'.  It is
-used for two purposes:
-
-   * As a wizard, when a package is modified to use GNU `gettext' for
-     the first time.
-
-   * As a migration tool, for upgrading the GNU `gettext' support in a
-     package from a previous to a newer version of GNU `gettext'.
-
-   This program performs the following tasks:
-
-   * It copies into the package some files that are consistently and
-     identically needed in every package internationalized through GNU
-     `gettext'.
-
-   * It performs as many of the tasks mentioned in the next section
-     *Note Adjusting Files:: as can be performed automatically.
-
-   * It removes obsolete files and idioms used for previous GNU
-     `gettext' versions to the form recommended for the current GNU
-     `gettext' version.
-
-   * It prints a summary of the tasks that ought to be done manually
-     and could not be done automatically by `gettextize'.
-
-   It can be invoked as follows:
-
-     gettextize [ OPTION... ] [ DIRECTORY ]
-
-and accepts the following options:
-
-`-c'
-`--copy'
-     Copy the needed files instead of making symbolic links.  Using
-     links would allow the package to always use the latest `gettext'
-     code available on the system, but it might disturb some mechanism
-     the maintainer is used to apply to the sources.  Because running
-     `gettextize' is easy there shouldn't be problems with using copies.
-
-`-f'
-`--force'
-     Force replacement of files which already exist.
-
-`--intl'
-     Install the libintl sources in a subdirectory named `intl/'.  This
-     libintl will be used to provide internationalization on systems
-     that don't have GNU libintl installed. If this option is omitted,
-     the call to `AM_GNU_GETTEXT' in `configure.in' should read:
-     `AM_GNU_GETTEXT([external])', and internationalization will not be
-     enabled on systems lacking GNU gettext.
-
-`--no-changelog'
-     Don't update or create ChangeLog files.  By default, `gettextize'
-     logs all changes (file additions, modifications and removals) in a
-     file called `ChangeLog' in each affected directory.
-
-`-n'
-`--dry-run'
-     Print modifications but don't perform them.  All actions that
-     `gettextize' would normally execute are inhibited and instead only
-     listed on standard output.
-
-`--help'
-     Display this help and exit.
-
-`--version'
-     Output version information and exit.
-
-   If DIRECTORY is given, this is the top level directory of a package
-to prepare for using GNU `gettext'.  If not given, it is assumed that
-the current directory is the top level directory of such a package.
-
-   The program `gettextize' provides the following files.  However, no
-existing file will be replaced unless the option `--force' (`-f') is
-specified.
-
-  1. The `ABOUT-NLS' file is copied in the main directory of your
-     package, the one being at the top level.  This file gives the main
-     indications about how to install and use the Native Language
-     Support features of your program.  You might elect to use a more
-     recent copy of this `ABOUT-NLS' file than the one provided through
-     `gettextize', if you have one handy.  You may also fetch a more
-     recent copy of file `ABOUT-NLS' from Translation Project sites,
-     and from most GNU archive sites.
-
-  2. A `po/' directory is created for eventually holding all
-     translation files, but initially only containing the file
-     `po/Makefile.in.in' from the GNU `gettext' distribution (beware
-     the double `.in' in the file name) and a few auxiliary files. If
-     the `po/' directory already exists, it will be preserved along
-     with the files it contains, and only `Makefile.in.in' and the
-     auxiliary files will be overwritten.
-
-  3. Only if `--intl' has been specified: A `intl/' directory is
-     created and filled with most of the files originally in the
-     `intl/' directory of the GNU `gettext' distribution.  Also, if
-     option `--force' (`-f') is given, the `intl/' directory is emptied
-     first.
-
-  4. The files `config.rpath' and `mkinstalldirs' are copied into the
-     directory containing configuration support files. It is needed by
-     the `AM_GNU_GETTEXT' autoconf macro.
-
-  5. Only if the project is using GNU `automake': A set of `autoconf'
-     macro files is copied into the package's `autoconf' macro
-     repository, usually in a directory called `m4/'.
-
-   If your site support symbolic links, `gettextize' will not actually
-copy the files into your package, but establish symbolic links instead.
-This avoids duplicating the disk space needed in all packages.  Merely
-using the `-h' option while creating the `tar' archive of your
-distribution will resolve each link by an actual copy in the
-distribution archive.  So, to insist, you really should use `-h' option
-with `tar' within your `dist' goal of your main `Makefile.in'.
-
-   Furthermore, `gettextize' will update all `Makefile.am' files in
-each affected directory, as well as the top level `configure.in' or
-`configure.ac' file.
-
-   It is interesting to understand that most new files for supporting
-GNU `gettext' facilities in one package go in `intl/', `po/' and `m4/'
-subdirectories.  One distinction between `intl/' and the two other
-directories is that `intl/' is meant to be completely identical in all
-packages using GNU `gettext', while the other directories will mostly
-contain package dependent files.
-
-   The `gettextize' program makes backup files for all files it
-replaces or changes, and also write ChangeLog entries about these
-changes.  This way, the careful maintainer can check after running
-`gettextize' whether its changes are acceptable to him, and possibly
-adjust them.  An exception to this rule is the `intl/' directory, which
-is added or replaced or removed as a whole.
-
-   It is important to understand that `gettextize' can not do the
-entire job of adapting a package for using GNU `gettext'.  The amount
-of remaining work depends on whether the package uses GNU `automake' or
-not.  But in any case, the maintainer should still read the section
-*Note Adjusting Files:: after invoking `gettextize'.
-
-   It is also important to understand that `gettextize' is not part of
-the GNU build system, in the sense that it should not be invoked
-automatically, and not be invoked by someone who doesn't assume the
-responsibilities of a package maintainer.  For the latter purpose, a
-separate tool is provided, see *Note autopoint Invocation::.
-
-\1f
-File: gettext.info,  Node: Adjusting Files,  Next: autoconf macros,  Prev: gettextize Invocation,  Up: Maintainers
-
-Files You Must Create or Alter
-==============================
-
-   Besides files which are automatically added through `gettextize',
-there are many files needing revision for properly interacting with GNU
-`gettext'.  If you are closely following GNU standards for Makefile
-engineering and auto-configuration, the adaptations should be easier to
-achieve.  Here is a point by point description of the changes needed in
-each.
-
-   So, here comes a list of files, each one followed by a description of
-all alterations it needs.  Many examples are taken out from the GNU
-`gettext' 0.11.6-pre2 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:
-
-* po/POTFILES.in::              `POTFILES.in' in `po/'
-* po/LINGUAS::                  `LINGUAS' in `po/'
-* po/Makevars::                 `Makefile' pieces in `po/'
-* configure.in::                `configure.in' at top level
-* config.guess::                `config.guess', `config.sub' at top level
-* mkinstalldirs::               `mkinstalldirs' at top level
-* aclocal::                     `aclocal.m4' at top level
-* acconfig::                    `acconfig.h' at top level
-* config.h.in::                 `config.h.in' at top level
-* Makefile::                    `Makefile.in' at top level
-* src/Makefile::                `Makefile.in' in `src/'
-* lib/gettext.h::               `gettext.h' in `lib/'
-
-\1f
-File: gettext.info,  Node: po/POTFILES.in,  Next: po/LINGUAS,  Prev: Adjusting Files,  Up: Adjusting Files
-
-`POTFILES.in' in `po/'
-----------------------
-
-   The `po/' directory should receive a file named `POTFILES.in'.  This
-file tells which files, among all program sources, have marked strings
-needing translation.  Here is an example of such a file:
-
-     # List of source files containing translatable strings.
-     # Copyright (C) 1995 Free Software Foundation, Inc.
-     
-     # Common library files
-     lib/error.c
-     lib/getopt.c
-     lib/xmalloc.c
-     
-     # Package source files
-     src/gettext.c
-     src/msgfmt.c
-     src/xgettext.c
-
-Hash-marked comments and white lines are ignored.  All other lines list
-those source files containing strings marked for translation (*note
-Mark Keywords::), in a notation relative to the top level of your whole
-distribution, rather than the location of the `POTFILES.in' file itself.
-
-   When a C file is automatically generated by a tool, like `flex' or
-`bison', that doesn't introduce translatable strings by itself, it is
-recommended to list in `po/POTFILES.in' the real source file (ending in
-`.l' in the case of `flex', or in `.y' in the case of `bison'), not the
-generated C file.
-
-\1f
-File: gettext.info,  Node: po/LINGUAS,  Next: po/Makevars,  Prev: po/POTFILES.in,  Up: Adjusting Files
-
-`LINGUAS' in `po/'
-------------------
-
-   The `po/' directory should also receive a file named `LINGUAS'.
-This file contains the list of available translations.  It is a
-whitespace separated list.  Hash-marked comments and white lines are
-ignored.  Here is an example file:
-
-     # Set of available languages.
-     de fr
-
-This example means that German and French PO files are available, so
-that these languages are currently supported by your package.  If you
-want to further restrict, at installation time, the set of installed
-languages, this should not be done by modifying the `LINGUAS' file, but
-rather by using the `LINGUAS' environment variable (*note Installers::).
-
-\1f
-File: gettext.info,  Node: po/Makevars,  Next: configure.in,  Prev: po/LINGUAS,  Up: Adjusting Files
-
-`Makefile' pieces in `po/'
---------------------------
-
-   The `po/' directory also has a file named `Makevars'.  It can be
-left unmodified if your package has a single message domain and,
-accordingly, a single `po/' directory. Only packages which have
-multiple `po/' directories at different locations need to adjust the
-three variables defined in `Makevars'.
-
-   `po/Makevars' gets inserted into the `po/Makefile' when the latter
-is created. At the same time, all files called `Rules-*' in the `po/'
-directory get appended to the `po/Makefile'. They present an
-opportunity to add rules for special PO files to the Makefile, without
-needing to mess with `po/Makefile.in.in'.
-
-   GNU gettext comes with a `Rules-quot' file, containing rules for
-building catalogs `en@quot.po' and `en@boldquot.po'. The effect of
-`en@quot.po' is that people who set their `LANGUAGE' environment
-variable to `en@quot' will get messages with proper looking symmetric
-Unicode quotation marks instead of abusing the ASCII grave accent and
-the ASCII apostrophe for indicating quotations. To enable this catalog,
-simply add `en@quot' to the `po/LINGUAS' file. The effect of
-`en@boldquot.po' is that people who set `LANGUAGE' to `en@boldquot'
-will get not only proper quotation marks, but also the quoted text will
-be shown in a bold font on terminals and consoles. This catalog is
-useful only for command-line programs, not GUI programs. To enable it,
-similarly add `en@boldquot' to the `po/LINGUAS' file.
-
-\1f
-File: gettext.info,  Node: configure.in,  Next: config.guess,  Prev: po/Makevars,  Up: Adjusting Files
-
-`configure.in' at top level
----------------------------
-
-   `configure.in' or `configure.ac' - this is the source from which
-`autoconf' generates the `configure' script.
-
-  1. Declare the package and version.
-
-     This is done by a set of lines like these:
-
-          PACKAGE=gettext
-          VERSION=0.11.6-pre2
-          AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
-          AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
-          AC_SUBST(PACKAGE)
-          AC_SUBST(VERSION)
-
-     or, if you are using GNU `automake', by a line like this:
-
-          AM_INIT_AUTOMAKE(gettext, 0.11.6-pre2)
-
-     Of course, you replace `gettext' with the name of your package,
-     and `0.11.6-pre2' by its version numbers, exactly as they should
-     appear in the packaged `tar' file name of your distribution
-     (`gettext-0.11.6-pre2.tar.gz', here).
-
-  2. Check for internationalization support.
-
-     Here is the main `m4' macro for triggering internationalization
-     support.  Just add this line to `configure.in':
-
-          AM_GNU_GETTEXT
-
-     This call is purposely simple, even if it generates a lot of
-     configure time checking and actions.
-
-     If you have suppressed the `intl/' subdirectory by calling
-     `gettextize' without `--intl' option, this call should read
-
-          AM_GNU_GETTEXT([external])
-
-  3. Have output files created.
-
-     The `AC_OUTPUT' directive, at the end of your `configure.in' file,
-     needs to be modified in two ways:
-
-          AC_OUTPUT([EXISTING CONFIGURATION FILES intl/Makefile po/Makefile.in],
-          [EXISTING ADDITIONAL ACTIONS])
-
-     The modification to the first argument to `AC_OUTPUT' asks for
-     substitution in the `intl/' and `po/' directories.  Note the `.in'
-     suffix used for `po/' only.  This is because the distributed file
-     is really `po/Makefile.in.in'.
-
-     If you have suppressed the `intl/' subdirectory by calling
-     `gettextize' without `--intl' option, then you don't need to add
-     `intl/Makefile' to the `AC_OUTPUT' line.
-
-
-\1f
-File: gettext.info,  Node: config.guess,  Next: mkinstalldirs,  Prev: configure.in,  Up: Adjusting Files
-
-`config.guess', `config.sub' at top level
------------------------------------------
-
-   If you haven't suppressed the `intl/' subdirectory, you need to add
-the GNU `config.guess' and `config.sub' files to your distribution.
-They are needed because the `intl/' directory has platform dependent
-support for determining the locale's character encoding and therefore
-needs to identify the platform.
-
-   You can obtain the newest version of `config.guess' and `config.sub'
-from `ftp://ftp.gnu.org/pub/gnu/config/'.  Less recent versions are
-also contained in the GNU `automake' and GNU `libtool' packages.
-
-   Normally, `config.guess' and `config.sub' are put at the top level
-of a distribution.  But it is also possible to put them in a
-subdirectory, altogether with other configuration support files like
-`install-sh', `ltconfig', `ltmain.sh', `mkinstalldirs' or `missing'.
-All you need to do, other than moving the files, is to add the
-following line to your `configure.in'.
-
-     AC_CONFIG_AUX_DIR([SUBDIR])
-
-\1f
-File: gettext.info,  Node: mkinstalldirs,  Next: aclocal,  Prev: config.guess,  Up: Adjusting Files
-
-`mkinstalldirs' at top level
-----------------------------
-
-   If `gettextize' has not already done it, you need to add the GNU
-`mkinstalldirs' script to your distribution.  It is needed because
-`mkdir -p' is not portable enough.  You find this script in the GNU
-`automake' distribution.
-
-   Normally, `mkinstalldirs' is put at the top level of a distribution.
-But it is also possible to put it in a subdirectory, altogether with
-other configuration support files like `install-sh', `ltconfig',
-`ltmain.sh' or `missing'.  All you need to do, other than moving the
-files, is to add the following line to your `configure.in'.
-
-     AC_CONFIG_AUX_DIR([SUBDIR])
-
-\1f
-File: gettext.info,  Node: aclocal,  Next: acconfig,  Prev: mkinstalldirs,  Up: Adjusting Files
-
-`aclocal.m4' at top level
--------------------------
-
-   If you do not have an `aclocal.m4' file in your distribution, the
-simplest is to concatenate the files `codeset.m4', `gettext.m4',
-`glibc21.m4', `iconv.m4', `intdiv0.m4', `inttypes.m4', `inttypes_h.m4',
-`inttypes-pri.m4', `isc-posix.m4', `lcmessage.m4', `lib-ld.m4',
-`lib-link.m4', `lib-prefix.m4', `progtest.m4', `stdint_h.m4',
-`uintmax_t.m4', `ulonglong.m4' from GNU `gettext''s `m4/' directory
-into a single file.  If you have suppressed the `intl/' directory, only
-`gettext.m4', `iconv.m4', `lib-ld.m4', `lib-link.m4', `lib-prefix.m4',
-`progtest.m4' need to be concatenated.
-
-   If you already have an `aclocal.m4' file, then you will have to
-merge the said macro files into your `aclocal.m4'.  Note that if you
-are upgrading from a previous release of GNU `gettext', you should most
-probably _replace_ the macros (`AM_GNU_GETTEXT', etc.), as they usually
-change a little from one release of GNU `gettext' to the next.  Their
-contents may vary as we get more experience with strange systems out
-there.
-
-   If you are using GNU `automake' 1.5 or newer, it is enough to put
-these macro files into a subdirectory named `m4/' and add the line
-
-     ACLOCAL_AMFLAGS = -I m4
-
-to your top level `Makefile.am'.
-
-   These macros check for the internationalization support functions
-and related informations.  Hopefully, once stabilized, these macros
-might be integrated in the standard Autoconf set, because this piece of
-`m4' code will be the same for all projects using GNU `gettext'.
-
-\1f
-File: gettext.info,  Node: acconfig,  Next: config.h.in,  Prev: aclocal,  Up: Adjusting Files
-
-`acconfig.h' at top level
--------------------------
-
-   Earlier GNU `gettext' releases required to put definitions for
-`ENABLE_NLS', `HAVE_GETTEXT' and `HAVE_LC_MESSAGES', `HAVE_STPCPY',
-`PACKAGE' and `VERSION' into an `acconfig.h' file.  This is not needed
-any more; you can remove them from your `acconfig.h' file unless your
-package uses them independently from the `intl/' directory.
-
-\1f
-File: gettext.info,  Node: config.h.in,  Next: Makefile,  Prev: acconfig,  Up: Adjusting Files
-
-`config.h.in' at top level
---------------------------
-
-   The include file template that holds the C macros to be defined by
-`configure' is usually called `config.h.in' and may be maintained
-either manually or automatically.
-
-   If it is maintained automatically, by use of the `autoheader'
-program, you need to do nothing about it.  This is the case in
-particular if you are using GNU `automake'.
-
-   If it is maintained manually, and if `gettextize' has created an
-`intl/' directory, you should switch to using `autoheader'.  The list
-of C macros to be added for the sake of the `intl/' directory is just
-too long to be maintained manually; it also changes between different
-versions of GNU `gettext'.
-
-   If it is maintained manually, and if on the other hand you have
-suppressed the `intl/' directory by calling `gettextize' without
-`--intl' option, then you can get away by adding the following lines to
-`config.h.in':
-
-     /* Define to 1 if translation of program messages to the user's
-        native language is requested. */
-     #undef ENABLE_NLS
-
-\1f
-File: gettext.info,  Node: Makefile,  Next: src/Makefile,  Prev: config.h.in,  Up: Adjusting Files
-
-`Makefile.in' at top level
---------------------------
-
-   Here are a few modifications you need to make to your main, top-level
-`Makefile.in' file.
-
-  1. Add the following lines near the beginning of your `Makefile.in',
-     so the `dist:' goal will work properly (as explained further down):
-
-          PACKAGE = @PACKAGE@
-          VERSION = @VERSION@
-
-  2. Add file `ABOUT-NLS' to the `DISTFILES' definition, so the file
-     gets distributed.
-
-  3. Wherever you process subdirectories in your `Makefile.in', be sure
-     you also process the subdirectories `intl' and `po'.  Special
-     rules in the `Makefiles' take care for the case where no
-     internationalization is wanted.
-
-     If you are using Makefiles, either generated by automake, or
-     hand-written so they carefully follow the GNU coding standards,
-     the effected goals for which the new subdirectories must be
-     handled include `installdirs', `install', `uninstall', `clean',
-     `distclean'.
-
-     Here is an example of a canonical order of processing.  In this
-     example, we also define `SUBDIRS' in `Makefile.in' for it to be
-     further used in the `dist:' goal.
-
-          SUBDIRS = doc intl lib src po
-
-     Note that you must arrange for `make' to descend into the `intl'
-     directory before descending into other directories containing code
-     which make use of the `libintl.h' header file.  For this reason,
-     here we mention `intl' before `lib' and `src'.
-
-  4. A delicate point is the `dist:' goal, as both `intl/Makefile' and
-     `po/Makefile' will later assume that the proper directory has been
-     set up from the main `Makefile'.  Here is an example at what the
-     `dist:' goal might look like:
-
-          distdir = $(PACKAGE)-$(VERSION)
-          dist: Makefile
-               rm -fr $(distdir)
-               mkdir $(distdir)
-               chmod 777 $(distdir)
-               for file in $(DISTFILES); do \
-                 ln $$file $(distdir) 2>/dev/null || cp -p $$file $(distdir); \
-               done
-               for subdir in $(SUBDIRS); do \
-                 mkdir $(distdir)/$$subdir || exit 1; \
-                 chmod 777 $(distdir)/$$subdir; \
-                 (cd $$subdir && $(MAKE) $@) || exit 1; \
-               done
-               tar chozf $(distdir).tar.gz $(distdir)
-               rm -fr $(distdir)
-
-
-   Note that if you are using GNU `automake', `Makefile.in' is
-automatically generated from `Makefile.am', and all needed changes to
-`Makefile.am' are already made by running `gettextize'.
-
-\1f
-File: gettext.info,  Node: src/Makefile,  Next: lib/gettext.h,  Prev: Makefile,  Up: Adjusting Files
-
-`Makefile.in' in `src/'
------------------------
-
-   Some of the modifications made in the main `Makefile.in' will also
-be needed in the `Makefile.in' from your package sources, which we
-assume here to be in the `src/' subdirectory.  Here are all the
-modifications needed in `src/Makefile.in':
-
-  1. In view of the `dist:' goal, you should have these lines near the
-     beginning of `src/Makefile.in':
-
-          PACKAGE = @PACKAGE@
-          VERSION = @VERSION@
-
-  2. If not done already, you should guarantee that `top_srcdir' gets
-     defined.  This will serve for `cpp' include files.  Just add the
-     line:
-
-          top_srcdir = @top_srcdir@
-
-  3. You might also want to define `subdir' as `src', later allowing
-     for almost uniform `dist:' goals in all your `Makefile.in'.  At
-     list, the `dist:' goal below assume that you used:
-
-          subdir = src
-
-  4. The `main' function of your program will normally call
-     `bindtextdomain' (see *note Triggering::), like this:
-
-          bindtextdomain (PACKAGE, LOCALEDIR);
-          textdomain (PACKAGE);
-
-     To make LOCALEDIR known to the program, add the following lines to
-     Makefile.in:
-
-          datadir = @datadir@
-          localedir = $(datadir)/locale
-          DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@
-
-     Note that `@datadir@' defaults to `$(prefix)/share', thus
-     `$(localedir)' defaults to `$(prefix)/share/locale'.
-
-  5. You should ensure that the final linking will use `@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 = @LIBINTL@ @LIBS@
-
-     In most packages internationalized with GNU `gettext', one will
-     find a directory `lib/' in which a library containing some helper
-     functions will be build.  (You need at least the few functions
-     which the GNU `gettext' Library itself needs.)  However some of
-     the functions in the `lib/' also give messages to the user which
-     of course should be translated, too.  Taking care of this, the
-     support library (say `libsupport.a') should be placed before
-     `@LIBINTL@' and `@LIBS@' in the above example.  So one has to
-     write this:
-
-          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
-     manage so both `-I../intl' and `-I$(top_srcdir)/intl' will be
-     given to the C compiler.
-
-  7. Your `dist:' goal has to conform with others.  Here is a
-     reasonable definition for it:
-
-          distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
-          dist: Makefile $(DISTFILES)
-               for file in $(DISTFILES); do \
-                 ln $$file $(distdir) 2>/dev/null || cp -p $$file $(distdir); \
-               done
-
-
-\1f
-File: gettext.info,  Node: lib/gettext.h,  Prev: src/Makefile,  Up: Adjusting Files
-
-`gettext.h' in `lib/'
----------------------
-
-   Internationalization of packages, as provided by GNU `gettext', is
-optional. It can be turned off in two situations:
-
-   * When the installer has specified `./configure --disable-nls'. This
-     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).
-
-   * 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.
-
-   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.
-
-   `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
-
-     #include <libintl.h>
-
-   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.
-
-\1f
-File: gettext.info,  Node: autoconf macros,  Next: CVS Issues,  Prev: Adjusting Files,  Up: Maintainers
-
-Autoconf macros for use in `configure.in'
-=========================================
-
-   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:
-
-* AM_GNU_GETTEXT::              AM_GNU_GETTEXT in `gettext.m4'
-* AM_GNU_GETTEXT_VERSION::      AM_GNU_GETTEXT_VERSION in `gettext.m4'
-* AM_ICONV::                    AM_ICONV in `iconv.m4'
-
-\1f
-File: gettext.info,  Node: AM_GNU_GETTEXT,  Next: AM_GNU_GETTEXT_VERSION,  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.  If NEEDSYMBOL is specified and is
-`need-formatstring-macros', then GNU gettext implementations that don't
-support the ISO C 99 `<inttypes.h>' formatstring macros will be ignored.
-Only one NEEDSYMBOL can be specified.  To specify more than one
-requirement, just specify the strongest one among them.  The hierarchy
-among the various alternatives is as follows: `need-formatstring-macros'
-implies `need-ngettext'.
-
-   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.
-
-\1f
-File: gettext.info,  Node: AM_GNU_GETTEXT_VERSION,  Next: AM_ICONV,  Prev: AM_GNU_GETTEXT,  Up: autoconf macros
-
-AM_GNU_GETTEXT_VERSION in `gettext.m4'
---------------------------------------
-
-   The `AM_GNU_GETTEXT_VERSION' macro declares the version number of
-the GNU gettext infrastructure that is used by the package.
-
-   The use of this macro is optional; only the `autopoint' program makes
-use of it (*note CVS Issues::).
-
-\1f
-File: gettext.info,  Node: AM_ICONV,  Prev: AM_GNU_GETTEXT_VERSION,  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.
-
-\1f
-File: gettext.info,  Node: CVS Issues,  Prev: autoconf macros,  Up: Maintainers
-
-Integrating with CVS
-====================
-
-   Many projects use CVS for distributed development, version control
-and source backup.  This section gives some advice how to manage the
-uses of `cvs', `gettextize', `autopoint' and `autoconf'.
-
-* Menu:
-
-* Distributed CVS::             Avoiding version mismatch in distributed development
-* Files under CVS::             Files to put under CVS version control
-* autopoint Invocation::        Invoking the `autopoint' Program
-
-\1f
-File: gettext.info,  Node: Distributed CVS,  Next: Files under CVS,  Prev: CVS Issues,  Up: CVS Issues
-
-Avoiding version mismatch in distributed development
-----------------------------------------------------
-
-   In a project development with multiple developers, using CVS, there
-should be a single developer who occasionally - when there is desire to
-upgrade to a new `gettext' version - runs `gettextize' and performs the
-changes listed in *Note Adjusting Files::, and then commits his changes
-to the CVS.
-
-   It is highly recommended that all developers on a project use the
-same version of GNU `gettext' in the package.  In other words, if a
-developer runs `gettextize', he should go the whole way, make the
-necessary remaining changes and commit his changes to the CVS.
-Otherwise the following damages will likely occur:
-
-   * Apparent version mismatch between developers.  Since some `gettext'
-     specific portions in `configure.in', `configure.ac' and
-     `Makefile.am', `Makefile.in' files depend on the `gettext'
-     version, the use of infrastructure files belonging to different
-     `gettext' versions can easily lead to build errors.
-
-   * Hidden version mismatch.  Such version mismatch can also lead to
-     malfunctioning of the package, that may be undiscovered by the
-     developers.  The worst case of hidden version mismatch is that
-     internationalization of the package doesn't work at all.
-
-   * Release risks.  All developers implicitly perform constant testing
-     on a package.  This is important in the days and weeks before a
-     release.  If the guy who makes the release tar files uses a
-     different version of GNU `gettext' than the other developers, the
-     distribution will be less well tested than if all had been using
-     the same `gettext' version.  For example, it is possible that a
-     platform specific bug goes undiscovered due to this constellation.
-
-\1f
-File: gettext.info,  Node: Files under CVS,  Next: autopoint Invocation,  Prev: Distributed CVS,  Up: CVS Issues
-
-Files to put under CVS version control
---------------------------------------
-
-   There are basically three ways to deal with generated files in the
-context of a CVS repository, such as `configure' generated from
-`configure.in', `PARSER.c' generated from `PARSER.y', or
-`po/Makefile.in.in' autoinstalled by `gettextize' or `autopoint'.
-
-  1. All generated files are always committed into the repository.
-
-  2. All generated files are committed into the repository occasionally,
-     for example each time a release is made.
-
-  3. Generated files are never committed into the repository.
-
-   Each of these three approaches has different advantages and
-drawbacks.
-
-  1. The advantage is that anyone can check out the CVS at any moment
-     and gets a working build.  The drawbacks are:  1a. It requires
-     some frequent "cvs commit" actions by the maintainers.  1b. The
-     reposity grows in size quite fast.
-
-  2. The advantage is that anyone can check out the CVS, and the usual
-     "./configure; make" will work.  The drawbacks are:  2a. The one who
-     checks out the repository needs tools like GNU `automake', GNU
-     `autoconf', GNU `m4' installed in his PATH; sometimes he even
-     needs particular versions of them.  2b. When a release is made and
-     a commit is made on the generated files, the other developers get
-     conflicts on the generated files after doing "cvs update".
-     Although these conflicts are easy to resolve, they are annoying.
-
-  3. The advantage is less work for the maintainers.  The drawback is
-     that anyone who checks out the CVS not only needs tools like GNU
-     `automake', GNU `autoconf', GNU `m4' installed in his PATH, but
-     also that he needs to perform a package specific pre-build step
-     before being able to "./configure; make".
-
-   For the first and second approach, all files modified or brought in
-by the occasional `gettextize' invocation and update should be
-committed into the CVS.
-
-   For the third approach, the maintainer can omit from the CVS
-repository all the files that `gettextize' mentions as "copy".
-Instead, he adds to the `configure.in' or `configure.ac' a line of the
-form
-
-     AM_GNU_GETTEXT_VERSION(0.11.6-pre2)
-
-and adds to the package's pre-build script an invocation of
-`autopoint'.  For everyone who checks out the CVS, this `autopoint'
-invocation will copy into the right place the `gettext' infrastructure
-files that have been omitted from the CVS.
-
-\1f
-File: gettext.info,  Node: autopoint Invocation,  Prev: Files under CVS,  Up: CVS Issues
-
-Invoking the `autopoint' Program
---------------------------------
-
-     autopoint [OPTION]...
-
-   The `autopoint' program copies standard gettext infrastructure files
-into a source package.  It extracts from a macro call of the form
-`AM_GNU_GETTEXT_VERSION(VERSION)', found in the package's
-`configure.in' or `configure.ac' file, the gettext version used by the
-package, and copies the infrastructure files belonging to this version
-into the package.
-
-Options
-.......
-
-`-f'
-`--force'
-     Force overwriting of files that already exist.
-
-`-n'
-`--dry-run'
-     Print modifications but don't perform them.  All file copying
-     actions that `autopoint' would normally execute are inhibited and
-     instead only listed on standard output.
-
-Informative output
-..................
-
-`--help'
-     Display this help and exit.
-
-`--version'
-     Output version information and exit.
-
-   `autopoint' supports the GNU `gettext' versions from 0.10.35 to the
-current one, 0.11.6-pre2.  In order to apply `autopoint' to a package
-using a `gettext' version newer than 0.11.6-pre2, you need to install
-this same version of GNU `gettext' at least.
-
-   In packages using GNU `automake', an invocation of `autopoint'
-should be followed by invocations of `aclocal' and then `autoconf' and
-`autoheader'.  The reason is that `autopoint' installs some autoconf
-macro files, which are used by `aclocal' to create `aclocal.m4', and
-the latter is used by `autoconf' to create the package's `configure'
-script and by `autoheader' to create the package's `config.h.in'
-include file template.
-
-   The name `autopoint' is an abbreviation of `auto-po-intl-m4'; the
-tool copies or updates mostly files in the `po', `intl', `m4'
-directories.
-
-\1f
-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
-
-\1f
-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 Flag::.
-
-  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).
-
-\1f
-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.
-
-\1f
-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.
-
-* Menu:
-
-* c-format::                    C Format Strings
-* python-format::               Python Format Strings
-* lisp-format::                 Lisp Format Strings
-* elisp-format::                Emacs Lisp Format Strings
-* librep-format::               librep Format Strings
-* smalltalk-format::            Smalltalk Format Strings
-* java-format::                 Java Format Strings
-* awk-format::                  awk Format Strings
-* object-pascal-format::        Object Pascal Format Strings
-* ycp-format::                  YCP Format Strings
-* tcl-format::                  Tcl Format Strings
-* php-format::                  PHP Format Strings
-
-\1f
-File: gettext.info,  Node: c-format,  Next: python-format,  Prev: Translators for other Languages,  Up: Translators for other Languages
-
-C Format Strings
-----------------
-
-   C format strings are described in POSIX (IEEE P1003.1 2001), section
-XSH 3 fprintf(),
-`http://www.opengroup.org/onlinepubs/007904975/functions/fprintf.html'.
-See also the fprintf(3) manual page,
-`http://www.linuxvalley.it/encyclopedia/ldp/manpage/man3/printf.3.php',
-`http://informatik.fh-wuerzburg.de/student/i510/man/printf.html'.
-
-\1f
-File: gettext.info,  Node: python-format,  Next: lisp-format,  Prev: c-format,  Up: Translators for other Languages
-
-Python Format Strings
----------------------
-
-   Python format strings are described in Python Library reference /
-2. Built-in Types, Exceptions and Functions / 2.2. Built-in Types /
-2.2.6. Sequence Types / 2.2.6.2. String Formatting Operations.
-`http://www.python.org/doc/2.2.1/lib/typesseq-strings.html'.
-
-\1f
-File: gettext.info,  Node: lisp-format,  Next: elisp-format,  Prev: python-format,  Up: Translators for other Languages
-
-Lisp Format Strings
--------------------
-
-   Lisp format strings are described in the Common Lisp HyperSpec,
-chapter 22.3 Formatted Output,
-`http://www.lisp.org/HyperSpec/Body/sec_22-3.html'.
-
-\1f
-File: gettext.info,  Node: elisp-format,  Next: librep-format,  Prev: lisp-format,  Up: Translators for other Languages
-
-Emacs Lisp Format Strings
--------------------------
-
-   Emacs Lisp format strings are documented in the Emacs Lisp reference,
-section Formatting Strings,
-`http://www.gnu.org/manual/elisp-manual-21-2.8/html_chapter/elisp_4.html#SEC75'.
-Note that as of version 21, XEmacs supports numbered argument
-specifications in format strings while FSF Emacs doesn't.
-
diff --git a/doc/gettext.info-8 b/doc/gettext.info-8
deleted file mode 100644 (file)
index 6ccb66c..0000000
+++ /dev/null
@@ -1,2586 +0,0 @@
-This is gettext.info, produced by makeinfo version 4.2 from
-gettext.texi.
-
-INFO-DIR-SECTION GNU Gettext Utilities
-START-INFO-DIR-ENTRY
-* gettext: (gettext).                          GNU gettext utilities.
-* autopoint: (gettext)autopoint Invocation.    Copy gettext infrastructure.
-* gettextize: (gettext)gettextize Invocation.  Prepare a package for gettext.
-* msgattrib: (gettext)msgattrib Invocation.    Select part of a PO file.
-* msgcat: (gettext)msgcat Invocation.          Combine several PO files.
-* msgcmp: (gettext)msgcmp Invocation.          Compare a PO file and template.
-* msgcomm: (gettext)msgcomm Invocation.        Match two PO files.
-* msgconv: (gettext)msgconv Invocation.        Convert PO file to encoding.
-* msgen: (gettext)msgen Invocation.            Create an English PO file.
-* msgexec: (gettext)msgexec Invocation.        Process a PO file.
-* msgfilter: (gettext)msgfilter Invocation.    Pipe a PO file through a filter.
-* msgfmt: (gettext)msgfmt Invocation.          Make MO files out of PO files.
-* msggrep: (gettext)msggrep Invocation.        Select part of a PO file.
-* msginit: (gettext)msginit Invocation.        Create a fresh PO file.
-* msgmerge: (gettext)msgmerge Invocation.      Update a PO file from template.
-* msgunfmt: (gettext)msgunfmt Invocation.      Uncompile MO file into PO file.
-* msguniq: (gettext)msguniq Invocation.        Unify duplicates for PO file.
-* xgettext: (gettext)xgettext Invocation.      Extract strings into a PO file.
-* ISO639: (gettext)Language Codes.             ISO 639 language codes.
-* ISO3166: (gettext)Country Codes.             ISO 3166 country codes.
-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, 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
-preserved on all copies.
-
-   Permission is granted to copy and distribute modified versions of
-this manual under the conditions for verbatim copying, provided that
-the entire resulting derived work is distributed under the terms of a
-permission notice identical to this one.
-
-   Permission is granted to copy and distribute translations of this
-manual into another language, under the above conditions for modified
-versions, except that this permission notice may be stated in a
-translation approved by the Foundation.
-
-\1f
-File: gettext.info,  Node: librep-format,  Next: smalltalk-format,  Prev: elisp-format,  Up: Translators for other Languages
-
-librep Format Strings
----------------------
-
-   librep format strings are documented in the librep manual, section
-Formatted Output,
-<http://librep.sourceforge.net/librep-manual.html#Formatted%20Output>,
-<http://www.gwinnup.org/research/docs/librep.html#SEC122>.
-
-\1f
-File: gettext.info,  Node: smalltalk-format,  Next: java-format,  Prev: librep-format,  Up: Translators for other Languages
-
-Smalltalk Format Strings
-------------------------
-
-   Smalltalk format strings are described in the GNU Smalltalk
-documentation, class `CharArray', methods `bindWith:' and
-`bindWithArguments:'.
-`http://www.gnu.org/software/smalltalk/gst-manual/gst_68.html#SEC238'.
-In summary, a directive starts with `%' and is followed by `%' or a
-nonzero digit (`1' to `9').
-
-\1f
-File: gettext.info,  Node: java-format,  Next: awk-format,  Prev: smalltalk-format,  Up: Translators for other Languages
-
-Java Format Strings
--------------------
-
-   Java format strings are described in the JDK documentation for class
-`java.text.MessageFormat',
-`http://java.sun.com/j2se/1.4/docs/api/java/text/MessageFormat.html'.
-See also the ICU documentation
-`http://oss.software.ibm.com/icu/apiref/classMessageFormat.html'.
-
-\1f
-File: gettext.info,  Node: awk-format,  Next: object-pascal-format,  Prev: java-format,  Up: Translators for other Languages
-
-awk Format Strings
-------------------
-
-   awk format strings are described in the gawk documentation, section
-Printf, `http://www.gnu.org/manual/gawk/html_node/Printf.html#Printf'.
-
-\1f
-File: gettext.info,  Node: object-pascal-format,  Next: ycp-format,  Prev: awk-format,  Up: Translators for other Languages
-
-Object Pascal Format Strings
-----------------------------
-
-   Where is this documented?
-
-\1f
-File: gettext.info,  Node: ycp-format,  Next: tcl-format,  Prev: object-pascal-format,  Up: Translators for other Languages
-
-YCP Format Strings
-------------------
-
-   YCP sformat strings are described in the libycp documentation
-`file:/usr/share/doc/packages/libycp/YCP-builtins.html'.  In summary, a
-directive starts with `%' and is followed by `%' or a nonzero digit
-(`1' to `9').
-
-\1f
-File: gettext.info,  Node: tcl-format,  Next: php-format,  Prev: ycp-format,  Up: Translators for other Languages
-
-Tcl Format Strings
-------------------
-
-   Tcl format strings are described in the `format.n' manual page,
-`http://www.scriptics.com/man/tcl8.3/TclCmd/format.htm'.
-
-\1f
-File: gettext.info,  Node: php-format,  Prev: tcl-format,  Up: Translators for other Languages
-
-PHP Format Strings
-------------------
-
-   PHP format strings are described in the documentation of the PHP
-function `sprintf', in `phpdoc/manual/function.sprintf.html' or
-`http://www.php.net/manual/en/function.sprintf.php'.
-
-\1f
-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'.
-
-\1f
-File: gettext.info,  Node: List of Programming Languages,  Next: List of Data Formats,  Prev: Maintainers for other Languages,  Up: Programming Languages
-
-Individual Programming Languages
-================================
-
-* Menu:
-
-* C::                           C, C++, Objective C
-* sh::                          sh - Shell Script
-* bash::                        bash - Bourne-Again Shell Script
-* Python::                      Python
-* Common Lisp::                 GNU clisp - Common Lisp
-* clisp C::                     GNU clisp C sources
-* Emacs Lisp::                  Emacs Lisp
-* librep::                      librep
-* Smalltalk::                   GNU Smalltalk
-* Java::                        Java
-* gawk::                        GNU awk
-* Pascal::                      Pascal - Free Pascal Compiler
-* wxWindows::                   wxWindows library
-* YCP::                         YCP - YaST2 scripting language
-* Tcl::                         Tcl - Tk's scripting language
-* Perl::                        Perl
-* PHP::                         PHP Hypertext Preprocessor
-* Pike::                        Pike
-
-\1f
-File: gettext.info,  Node: C,  Next: sh,  Prev: List of Programming Languages,  Up: List of Programming Languages
-
-C, C++, Objective C
--------------------
-
-RPMs
-     gcc, gpp, gobjc, glibc, gettext
-
-File extension
-     For C: `c', `h'.
-     For C++: `C', `c++', `cc', `cxx', `cpp', `hpp'.
-     For Objective C: `m'.
-
-String syntax
-     `"abc"'
-
-gettext shorthand
-     `_("abc")'
-
-gettext/ngettext functions
-     `gettext', `dgettext', `dcgettext', `ngettext', `dngettext',
-     `dcngettext'
-
-textdomain
-     `textdomain' function
-
-bindtextdomain
-     `bindtextdomain' function
-
-setlocale
-     Programmer must call `setlocale (LC_ALL, "")'
-
-Prerequisite
-     `#include <libintl.h>'
-     `#include <locale.h>'
-     `#define _(string) gettext (string)'
-
-Use or emulate GNU gettext
-     Use
-
-Extractor
-     `xgettext -k_'
-
-Formatting with positions
-     `fprintf "%2$d %1$d"' (POSIX but not C 99)
-     In C++: `autosprintf "%2$d %1$d"' (*note Introduction:
-     (autosprintf)Top.)
-
-Portability
-     autoconf (gettext.m4) and #if ENABLE_NLS
-
-po-mode marking
-     yes
-
-\1f
-File: gettext.info,  Node: sh,  Next: bash,  Prev: C,  Up: List of Programming Languages
-
-sh - Shell Script
------------------
-
-RPMs
-     bash, gettext
-
-File extension
-     `sh'
-
-String syntax
-     `"abc"', `'abc'', `abc'
-
-gettext shorthand
-     `"`gettext "abc"`"'
-
-gettext/ngettext functions
-     `gettext', `ngettext' programs
-
-textdomain
-     environment variable `TEXTDOMAIN'
-
-bindtextdomain
-     environment variable `TEXTDOMAINDIR'
-
-setlocale
-     automatic
-
-Prerequisite
-     --
-
-Use or emulate GNU gettext
-     use
-
-Extractor
-     --
-
-Formatting with positions
-     --
-
-Portability
-     --
-
-po-mode marking
-     --
-
-\1f
-File: gettext.info,  Node: bash,  Next: Python,  Prev: sh,  Up: List of Programming Languages
-
-bash - Bourne-Again Shell Script
---------------------------------
-
-RPMs
-     bash 2.0 or newer, gettext
-
-File extension
-     `sh'
-
-String syntax
-     `"abc"', `'abc'', `abc'
-
-gettext shorthand
-     `$"abc"'
-
-gettext/ngettext functions
-     `gettext', `ngettext' programs
-
-textdomain
-     environment variable `TEXTDOMAIN'
-
-bindtextdomain
-     environment variable `TEXTDOMAINDIR'
-
-setlocale
-     automatic
-
-Prerequisite
-     --
-
-Use or emulate GNU gettext
-     use
-
-Extractor
-     `bash --dump-po-strings'
-
-Formatting with positions
-     --
-
-Portability
-     --
-
-po-mode marking
-     --
-
-\1f
-File: gettext.info,  Node: Python,  Next: Common Lisp,  Prev: bash,  Up: List of Programming Languages
-
-Python
-------
-
-RPMs
-     python
-
-File extension
-     `py'
-
-String syntax
-     `'abc'', `u'abc'', `r'abc'', `ur'abc'',
-     `"abc"', `u"abc"', `r"abc"', `ur"abc"',
-     `'''abc'''', `u'''abc'''', `r'''abc'''', `ur'''abc'''',
-     `"""abc"""', `u"""abc"""', `r"""abc"""', `ur"""abc"""'
-
-gettext shorthand
-     `_('abc')' etc.
-
-gettext/ngettext functions
-     `gettext.gettext', `gettext.dgettext', also `ugettext'
-
-textdomain
-     `gettext.textdomain' function, or `gettext.install(DOMAIN)'
-     function
-
-bindtextdomain
-     `gettext.bindtextdomain' function, or
-     `gettext.install(DOMAIN,LOCALEDIR)' function
-
-setlocale
-     not used by the gettext emulation
-
-Prerequisite
-     `import gettext'
-
-Use or emulate GNU gettext
-     emulate. Bug: uses only the first found .mo file, not all of them
-
-Extractor
-     `xgettext'
-
-Formatting with positions
-     `'...%(ident)d...' % { 'ident': value }'
-
-Portability
-     fully portable
-
-po-mode marking
-     --
-
-\1f
-File: gettext.info,  Node: Common Lisp,  Next: clisp C,  Prev: Python,  Up: List of Programming Languages
-
-GNU clisp - Common Lisp
------------------------
-
-RPMs
-     clisp 2.28 or newer
-
-File extension
-     `lisp'
-
-String syntax
-     `"abc"'
-
-gettext shorthand
-     `(_ "abc")', `(ENGLISH "abc")'
-
-gettext/ngettext functions
-     `i18n:gettext', `i18n:ngettext'
-
-textdomain
-     `i18n:textdomain'
-
-bindtextdomain
-     `i18n:textdomaindir'
-
-setlocale
-     automatic
-
-Prerequisite
-     --
-
-Use or emulate GNU gettext
-     use
-
-Extractor
-     `xgettext -k_ -kENGLISH'
-
-Formatting with positions
-     `format "~1@*~D ~0@*~D"'
-
-Portability
-     On platforms without gettext, no translation.
-
-po-mode marking
-     --
-
-\1f
-File: gettext.info,  Node: clisp C,  Next: Emacs Lisp,  Prev: Common Lisp,  Up: List of Programming Languages
-
-GNU clisp C sources
--------------------
-
-RPMs
-     clisp
-
-File extension
-     `d'
-
-String syntax
-     `"abc"'
-
-gettext shorthand
-     `ENGLISH ? "abc" : ""'
-     `GETTEXT("abc")'
-     `GETTEXTL("abc")'
-
-gettext/ngettext functions
-     `clgettext', `clgettextl'
-
-textdomain
-     --
-
-bindtextdomain
-     --
-
-setlocale
-     automatic
-
-Prerequisite
-     `#include "lispbibl.c"'
-
-Use or emulate GNU gettext
-     use
-
-Extractor
-     `clisp-xgettext'
-
-Formatting with positions
-     `fprintf "%2$d %1$d"' (POSIX but not C 99)
-
-Portability
-     On platforms without gettext, no translation.
-
-po-mode marking
-     --
-
-\1f
-File: gettext.info,  Node: Emacs Lisp,  Next: librep,  Prev: clisp C,  Up: List of Programming Languages
-
-Emacs Lisp
-----------
-
-RPMs
-     emacs, xemacs
-
-File extension
-     `el'
-
-String syntax
-     `"abc"'
-
-gettext shorthand
-     `(_"abc")'
-
-gettext/ngettext functions
-     `gettext', `dgettext' (xemacs only)
-
-textdomain
-     `domain' special form (xemacs only)
-
-bindtextdomain
-     `bind-text-domain' function (xemacs only)
-
-setlocale
-     automatic
-
-Prerequisite
-     --
-
-Use or emulate GNU gettext
-     use
-
-Extractor
-     `xgettext'
-
-Formatting with positions
-     `format "%2$d %1$d"'
-
-Portability
-     Only XEmacs. Without `I18N3' defined at build time, no translation.
-
-po-mode marking
-     --
-
-\1f
-File: gettext.info,  Node: librep,  Next: Smalltalk,  Prev: Emacs Lisp,  Up: List of Programming Languages
-
-librep
-------
-
-RPMs
-     librep 0.15.3 or newer
-
-File extension
-     `jl'
-
-String syntax
-     `"abc"'
-
-gettext shorthand
-     `(_"abc")'
-
-gettext/ngettext functions
-     `gettext'
-
-textdomain
-     `textdomain' function
-
-bindtextdomain
-     `bindtextdomain' function
-
-setlocale
-     --
-
-Prerequisite
-     `(require 'rep.i18n.gettext)'
-
-Use or emulate GNU gettext
-     use
-
-Extractor
-     `xgettext'
-
-Formatting with positions
-     `format "%2$d %1$d"'
-
-Portability
-     On platforms without gettext, no translation.
-
-po-mode marking
-     --
-
-\1f
-File: gettext.info,  Node: Smalltalk,  Next: Java,  Prev: librep,  Up: List of Programming Languages
-
-GNU Smalltalk
--------------
-
-RPMs
-     smalltalk
-
-File extension
-     `st'
-
-String syntax
-     `'abc''
-
-gettext shorthand
-     `NLS ? 'abc''
-
-gettext/ngettext functions
-     `LcMessagesDomain>>#at:', `LcMessagesDomain>>#at:plural:with:'
-
-textdomain
-     `LcMessages>>#domain:localeDirectory:' (returns a
-     `LcMessagesDomain' object).
-     Example: `I18N Locale default messages domain: 'gettext'
-     localeDirectory: /usr/local/share/locale''
-
-bindtextdomain
-     `LcMessages>>#domain:localeDirectory:', see above.
-
-setlocale
-     Automatic if you use `I18N Locale default'.
-
-Prerequisite
-     `PackageLoader fileInPackage: 'I18N'!'
-
-Use or emulate GNU gettext
-     emulate
-
-Extractor
-     `xgettext'
-
-Formatting with positions
-     `'%1 %2' bindWith: 'Hello' with: 'world''
-
-Portability
-     fully portable
-
-po-mode marking
-     --
-
-\1f
-File: gettext.info,  Node: Java,  Next: gawk,  Prev: Smalltalk,  Up: List of Programming Languages
-
-Java
-----
-
-RPMs
-     java, java2
-
-File extension
-     `java'
-
-String syntax
-     "abc"
-
-gettext shorthand
-     _("abc")
-
-gettext/ngettext functions
-     `GettextResource.gettext', `GettextResource.ngettext'
-
-textdomain
-     --, use `ResourceBundle.getResource' instead
-
-bindtextdomain
-     --, use CLASSPATH instead
-
-setlocale
-     automatic
-
-Prerequisite
-     --
-
-Use or emulate GNU gettext
-     --, uses a Java specific message catalog format
-
-Extractor
-     `xgettext -k_'
-
-Formatting with positions
-     `MessageFormat.format "{1,number} {0,number}"'
-
-Portability
-     fully portable
-
-po-mode marking
-     --
-
-   Before marking strings as internationalizable, uses of the string
-concatenation operator need to be converted to `MessageFormat'
-applications. For example, `"file "+filename+" not found"' becomes
-`MessageFormat.format("file {0} not found", new Object[] { filename })'.
-Only after this is done, can the strings be marked and extracted.
-
-   GNU gettext uses the native Java internationalization mechanism,
-namely `ResourceBundle's. To convert a PO file to a ResourceBundle, the
-`msgfmt' program can be used with the option `--java' or `--java2'. To
-convert a ResourceBundle back to a PO file, the `msgunfmt' program can
-be used with the option `--java'.
-
-   Two different programmatic APIs can be used to access
-ResourceBundles.  Note that both APIs work with all kinds of
-ResourceBundles, whether GNU gettext generated classes, or other
-`.class' or `.properties' files.
-
-  1. The `java.util.ResourceBundle' API.
-
-     In particular, its `getString' function returns a string
-     translation.  Note that a missing translation yields a
-     `MissingResourceException'.
-
-     This has the advantage of being the standard API. And it does not
-     require any additional libraries, only the `msgfmt' generated
-     `.class' files. But it cannot do plural handling, even if the
-     resource was generated from a PO file with plural handling.
-
-  2. The `gnu.gettext.GettextResource' API.
-
-     Reference documentation in Javadoc 1.1 style format is in the
-     javadoc1 directory (javadoc1/tree.html) and in Javadoc 2 style
-     format in the javadoc2 directory (javadoc2/index.html).
-
-     Its `gettext' function returns a string translation. Note that when
-     a translation is missing, the MSGID argument is returned unchanged.
-
-     This has the advantage of having the `ngettext' function for plural
-     handling.
-
-     To use this API, one needs the `libintl.jar' file which is part of
-     the GNU gettext package and distributed under the LGPL.
-
-\1f
-File: gettext.info,  Node: gawk,  Next: Pascal,  Prev: Java,  Up: List of Programming Languages
-
-GNU awk
--------
-
-RPMs
-     gawk 3.1 or newer
-
-File extension
-     `awk'
-
-String syntax
-     `"abc"'
-
-gettext shorthand
-     `_"abc"'
-
-gettext/ngettext functions
-     `dcgettext', missing `dcngettext' in gawk-3.1.0
-
-textdomain
-     `TEXTDOMAIN' variable
-
-bindtextdomain
-     `bindtextdomain' function
-
-setlocale
-     automatic, but missing `setlocale (LC_MESSAGES, "")' in gawk-3.1.0
-
-Prerequisite
-     --
-
-Use or emulate GNU gettext
-     use
-
-Extractor
-     `xgettext'
-
-Formatting with positions
-     `printf "%2$d %1$d"' (GNU awk only)
-
-Portability
-     On platforms without gettext, no translation.  On non-GNU awks,
-     you must define `dcgettext', `dcngettext' and `bindtextdomain'
-     yourself.
-
-po-mode marking
-     --
-
-\1f
-File: gettext.info,  Node: Pascal,  Next: wxWindows,  Prev: gawk,  Up: List of Programming Languages
-
-Pascal - Free Pascal Compiler
------------------------------
-
-RPMs
-     fpk
-
-File extension
-     `pp', `pas'
-
-String syntax
-     `'abc''
-
-gettext shorthand
-     automatic
-
-gettext/ngettext functions
-     --, use `ResourceString' data type instead
-
-textdomain
-     --, use `TranslateResourceStrings' function instead
-
-bindtextdomain
-     --, use `TranslateResourceStrings' function instead
-
-setlocale
-     automatic, but uses only LANG, not LC_MESSAGES or LC_ALL
-
-Prerequisite
-     `{$mode delphi}' or `{$mode objfpc}'
-     `uses gettext;'
-
-Use or emulate GNU gettext
-     emulate partially
-
-Extractor
-     `ppc386' followed by `xgettext' or `rstconv'
-
-Formatting with positions
-     `uses sysutils;'
-     `format "%1:d %0:d"'
-
-Portability
-     ?
-
-po-mode marking
-     --
-
-   The Pascal compiler has special support for the `ResourceString' data
-type. It generates a `.rst' file. This is then converted to a `.pot'
-file by use of `xgettext' or `rstconv'. At runtime, a `.mo' file
-corresponding to translations of this `.pot' file can be loaded using
-the `TranslateResourceStrings' function in the `gettext' unit.
-
-\1f
-File: gettext.info,  Node: wxWindows,  Next: YCP,  Prev: Pascal,  Up: List of Programming Languages
-
-wxWindows library
------------------
-
-RPMs
-     wxGTK, gettext
-
-File extension
-     `cpp'
-
-String syntax
-     `"abc"'
-
-gettext shorthand
-     `_("abc")'
-
-gettext/ngettext functions
-     `wxLocale::GetString', `wxGetTranslation'
-
-textdomain
-     `wxLocale::AddCatalog'
-
-bindtextdomain
-     `wxLocale::AddCatalogLookupPathPrefix'
-
-setlocale
-     `wxLocale::Init', `wxSetLocale'
-
-Prerequisite
-     `#include <wx/intl.h>'
-
-Use or emulate GNU gettext
-     emulate, see `include/wx/intl.h' and `src/common/intl.cpp'
-
-Extractor
-     `xgettext'
-
-Formatting with positions
-     --
-
-Portability
-     fully portable
-
-po-mode marking
-     yes
-
-\1f
-File: gettext.info,  Node: YCP,  Next: Tcl,  Prev: wxWindows,  Up: List of Programming Languages
-
-YCP - YaST2 scripting language
-------------------------------
-
-RPMs
-     libycp, libycp-devel, yast2-core-translator
-
-File extension
-     `ycp'
-
-String syntax
-     `"abc"'
-
-gettext shorthand
-     `_("abc")'
-
-gettext/ngettext functions
-     `_()' with 1 or 3 arguments
-
-textdomain
-     `textdomain' statement
-
-bindtextdomain
-     --
-
-setlocale
-     --
-
-Prerequisite
-     --
-
-Use or emulate GNU gettext
-     use maps instead
-
-Extractor
-     `xgettext'
-
-Formatting with positions
-     `sformat "%2 %1"'
-
-Portability
-     fully portable
-
-po-mode marking
-     --
-
-\1f
-File: gettext.info,  Node: Tcl,  Next: Perl,  Prev: YCP,  Up: List of Programming Languages
-
-Tcl - Tk's scripting language
------------------------------
-
-RPMs
-     tcl
-
-File extension
-     `tcl'
-
-String syntax
-     `"abc"'
-
-gettext shorthand
-     `[_ "abc"]'
-
-gettext/ngettext functions
-     `::msgcat::mc'
-
-textdomain
-     --
-
-bindtextdomain
-     --, use `::msgcat::mcload' instead
-
-setlocale
-     automatic, uses LANG, but ignores LC_MESSAGES and LC_ALL
-
-Prerequisite
-     `package require msgcat'
-     `proc _ {s} {return [::msgcat::mc $s]}'
-
-Use or emulate GNU gettext
-     --, uses a Tcl specific message catalog format
-
-Extractor
-     `xgettext -k_'
-
-Formatting with positions
-     `format "%2\$d %1\$d"'
-
-Portability
-     fully portable
-
-po-mode marking
-     --
-
-   Before marking strings as internationalizable, substitutions of
-variables into the string need to be converted to `format'
-applications. For example, `"file $filename not found"' becomes
-`[format "file %s not found" $filename]'.  Only after this is done, can
-the strings be marked and extracted.  After marking, this example
-becomes `[format [_ "file %s not found"] $filename]' or `[msgcat::mc
-"file %s not found" $filename]'. Note that the `msgcat::mc' function
-implicitly calls `format' when more than one argument is given.
-
-\1f
-File: gettext.info,  Node: Perl,  Next: PHP,  Prev: Tcl,  Up: List of Programming Languages
-
-Perl
-----
-
-RPMs
-     perl, perl-gettext
-
-File extension
-     `pl', `PL'
-
-String syntax
-     `"abc"'
-
-gettext shorthand
-     --
-
-gettext/ngettext functions
-     `gettext', `dgettext', `dcgettext'
-
-textdomain
-     `textdomain' function
-
-bindtextdomain
-     `bindtextdomain' function
-
-setlocale
-     Use `setlocale (LC_ALL, "");'
-
-Prerequisite
-     `use POSIX;'
-     `use Locale::gettext;'
-
-Use or emulate GNU gettext
-     use
-
-Extractor
-     ?
-
-Formatting with positions
-     --
-
-Portability
-     ?
-
-po-mode marking
-     --
-
-\1f
-File: gettext.info,  Node: PHP,  Next: Pike,  Prev: Perl,  Up: List of Programming Languages
-
-PHP Hypertext Preprocessor
---------------------------
-
-RPMs
-     mod_php4, mod_php4-core, phplib, phpdoc
-
-File extension
-     `php', `php3', `php4'
-
-String syntax
-     `"abc"', `'abc''
-
-gettext shorthand
-     `_("abc")'
-
-gettext/ngettext functions
-     `gettext', `dgettext', `dcgettext'
-
-textdomain
-     `textdomain' function
-
-bindtextdomain
-     `bindtextdomain' function
-
-setlocale
-     Programmer must call `setlocale (LC_ALL, "")'
-
-Prerequisite
-     --
-
-Use or emulate GNU gettext
-     use
-
-Extractor
-     `xgettext'
-
-Formatting with positions
-     `printf "%2\$d %1\$d"'
-
-Portability
-     On platforms without gettext, the functions are not available.
-
-po-mode marking
-     --
-
-\1f
-File: gettext.info,  Node: Pike,  Prev: PHP,  Up: List of Programming Languages
-
-Pike
-----
-
-RPMs
-     roxen
-
-File extension
-     `pike'
-
-String syntax
-     `"abc"'
-
-gettext shorthand
-     --
-
-gettext/ngettext functions
-     `gettext', `dgettext', `dcgettext'
-
-textdomain
-     `textdomain' function
-
-bindtextdomain
-     `bindtextdomain' function
-
-setlocale
-     `setlocale' function
-
-Prerequisite
-     `import Locale.Gettext;'
-
-Use or emulate GNU gettext
-     use
-
-Extractor
-     --
-
-Formatting with positions
-     --
-
-Portability
-     On platforms without gettext, the functions are not available.
-
-po-mode marking
-     --
-
-\1f
-File: gettext.info,  Node: List of Data Formats,  Prev: List of Programming Languages,  Up: Programming Languages
-
-Internationalizable Data
-========================
-
-   Here is a list of other data formats which can be internationalized
-using GNU gettext.
-
-* Menu:
-
-* POT::                         POT - Portable Object Template
-* RST::                         Resource String Table
-* Glade::                       Glade - GNOME user interface description
-
-\1f
-File: gettext.info,  Node: POT,  Next: RST,  Prev: List of Data Formats,  Up: List of Data Formats
-
-POT - Portable Object Template
-------------------------------
-
-RPMs
-     gettext
-
-File extension
-     `pot', `po'
-
-Extractor
-     `xgettext'
-
-\1f
-File: gettext.info,  Node: RST,  Next: Glade,  Prev: POT,  Up: List of Data Formats
-
-Resource String Table
----------------------
-
-RPMs
-     fpk
-
-File extension
-     `rst'
-
-Extractor
-     `xgettext', `rstconv'
-
-\1f
-File: gettext.info,  Node: Glade,  Prev: RST,  Up: List of Data Formats
-
-Glade - GNOME user interface description
-----------------------------------------
-
-RPMs
-     glade, libglade, xml-i18n-tools
-
-File extension
-     `glade'
-
-Extractor
-     `xgettext', `libglade-xgettext'
-
-\1f
-File: gettext.info,  Node: Conclusion,  Next: Language Codes,  Prev: Programming Languages,  Up: Top
-
-Concluding Remarks
-******************
-
-   We would like to conclude this GNU `gettext' manual by presenting an
-history of the Translation Project so far.  We finally give a few
-pointers for those who want to do further research or readings about
-Native Language Support matters.
-
-* Menu:
-
-* History::                     History of GNU `gettext'
-* References::                  Related Readings
-
-\1f
-File: gettext.info,  Node: History,  Next: References,  Prev: Conclusion,  Up: Conclusion
-
-History of GNU `gettext'
-========================
-
-   Internationalization concerns and algorithms have been informally
-and casually discussed for years in GNU, sometimes around GNU `libc',
-maybe around the incoming `Hurd', or otherwise (nobody clearly
-remembers).  And even then, when the work started for real, this was
-somewhat independently of these previous discussions.
-
-   This all began in July 1994, when Patrick D'Cruze had the idea and
-initiative of internationalizing version 3.9.2 of GNU `fileutils'.  He
-then asked Jim Meyering, the maintainer, how to get those changes
-folded into an official release.  That first draft was full of
-`#ifdef's and somewhat disconcerting, and Jim wanted to find nicer
-ways.  Patrick and Jim shared some tries and experimentations in this
-area.  Then, feeling that this might eventually have a deeper impact on
-GNU, Jim wanted to know what standards were, and contacted Richard
-Stallman, who very quickly and verbally described an overall design for
-what was meant to become `glocale', at that time.
-
-   Jim implemented `glocale' and got a lot of exhausting feedback from
-Patrick and Richard, of course, but also from Mitchum DSouza (who wrote
-a `catgets'-like package), Roland McGrath, maybe David MacKenzie,
-Franc,ois Pinard, and Paul Eggert, all pushing and pulling in various
-directions, not always compatible, to the extent that after a couple of
-test releases, `glocale' was torn apart.
-
-   While Jim took some distance and time and became dad for a second
-time, Roland wanted to get GNU `libc' internationalized, and got Ulrich
-Drepper involved in that project.  Instead of starting from `glocale',
-Ulrich rewrote something from scratch, but more conformant to the set
-of guidelines who emerged out of the `glocale' effort.  Then, Ulrich
-got people from the previous forum to involve themselves into this new
-project, and the switch from `glocale' to what was first named
-`msgutils', renamed `nlsutils', and later `gettext', became officially
-accepted by Richard in May 1995 or so.
-
-   Let's summarize by saying that Ulrich Drepper wrote GNU `gettext' in
-April 1995.  The first official release of the package, including PO
-mode, occurred in July 1995, and was numbered 0.7.  Other people
-contributed to the effort by providing a discussion forum around
-Ulrich, writing little pieces of code, or testing.  These are quoted in
-the `THANKS' file which comes with the GNU `gettext' distribution.
-
-   While this was being done, Franc,ois adapted half a dozen of GNU
-packages to `glocale' first, then later to `gettext', putting them in
-pretest, so providing along the way an effective user environment for
-fine tuning the evolving tools.  He also took the responsibility of
-organizing and coordinating the Translation Project.  After nearly a
-year of informal exchanges between people from many countries,
-translator teams started to exist in May 1995, through the creation and
-support by Patrick D'Cruze of twenty unmoderated mailing lists for that
-many native languages, and two moderated lists: one for reaching all
-teams at once, the other for reaching all willing maintainers of
-internationalized free software packages.
-
-   Franc,ois also wrote PO mode in June 1995 with the collaboration of
-Greg McGary, as a kind of contribution to Ulrich's package.  He also
-gave a hand with the GNU `gettext' Texinfo manual.
-
-   In 1997, Ulrich Drepper released the GNU libc 2.0, which included the
-`gettext', `textdomain' and `bindtextdomain' functions.
-
-   In 2000, Ulrich Drepper added plural form handling (the `ngettext'
-function) to GNU libc.  Later, in 2001, he released GNU libc 2.2.x,
-which is the first free C library with full internationalization
-support.
-
-   Ulrich being quite busy in his role of General Maintainer of GNU
-libc, he handed over the GNU `gettext' maintenance to Bruno Haible in
-2000.  Bruno added the plural form handling to the tools as well, added
-support for UTF-8 and CJK locales, and wrote a few new tools for
-manipulating PO files.
-
-\1f
-File: gettext.info,  Node: References,  Prev: History,  Up: Conclusion
-
-Related Readings
-================
-
-   Eugene H. Dorr (`dorre@well.com') maintains an interesting
-bibliography on internationalization matters, called
-`Internationalization Reference List', which is available as:
-     ftp://ftp.ora.com/pub/examples/nutshell/ujip/doc/i18n-books.txt
-
-   Michael Gschwind (`mike@vlsivie.tuwien.ac.at') maintains a
-Frequently Asked Questions (FAQ) list, entitled `Programming for
-Internationalisation'.  This FAQ discusses writing programs which can
-handle different language conventions, character sets, etc.; and is
-applicable to all character set encodings, with particular emphasis on
-ISO 8859-1.  It is regularly published in Usenet groups
-`comp.unix.questions', `comp.std.internat',
-`comp.software.international', `comp.lang.c', `comp.windows.x',
-`comp.std.c', `comp.answers' and `news.answers'.  The home location of
-this document is:
-     ftp://ftp.vlsivie.tuwien.ac.at/pub/8bit/ISO-programming
-
-   Patrick D'Cruze (`pdcruze@li.org') wrote a tutorial about NLS
-matters, and Jochen Hein (`Hein@student.tu-clausthal.de') took over the
-responsibility of maintaining it.  It may be found as:
-     ftp://sunsite.unc.edu/pub/Linux/utils/nls/catalogs/Incoming/...
-          ...locale-tutorial-0.8.txt.gz
-
-This site is mirrored in:
-     ftp://ftp.ibp.fr/pub/linux/sunsite/
-
-   A French version of the same tutorial should be findable at:
-     ftp://ftp.ibp.fr/pub/linux/french/docs/
-
-together with French translations of many Linux-related documents.
-
-\1f
-File: gettext.info,  Node: Language Codes,  Next: Country Codes,  Prev: Conclusion,  Up: Top
-
-Language Codes
-**************
-
-   The ISO 639 standard defines two character codes for many languages.
-All abbreviations for languages used in the Translation Project should
-come from this standard.
-
-`aa'
-     Afar.
-
-`ab'
-     Abkhazian.
-
-`ae'
-     Avestan.
-
-`af'
-     Afrikaans.
-
-`am'
-     Amharic.
-
-`ar'
-     Arabic.
-
-`as'
-     Assamese.
-
-`ay'
-     Aymara.
-
-`az'
-     Azerbaijani.
-
-`ba'
-     Bashkir.
-
-`be'
-     Byelorussian; Belarusian.
-
-`bg'
-     Bulgarian.
-
-`bh'
-     Bihari.
-
-`bi'
-     Bislama.
-
-`bn'
-     Bengali; Bangla.
-
-`bo'
-     Tibetan.
-
-`br'
-     Breton.
-
-`bs'
-     Bosnian.
-
-`ca'
-     Catalan.
-
-`ce'
-     Chechen.
-
-`ch'
-     Chamorro.
-
-`co'
-     Corsican.
-
-`cs'
-     Czech.
-
-`cu'
-     Church Slavic.
-
-`cv'
-     Chuvash.
-
-`cy'
-     Welsh.
-
-`da'
-     Danish.
-
-`de'
-     German.
-
-`dz'
-     Dzongkha; Bhutani.
-
-`el'
-     Greek.
-
-`en'
-     English.
-
-`eo'
-     Esperanto.
-
-`es'
-     Spanish.
-
-`et'
-     Estonian.
-
-`eu'
-     Basque.
-
-`fa'
-     Persian.
-
-`fi'
-     Finnish.
-
-`fj'
-     Fijian; Fiji.
-
-`fo'
-     Faroese.
-
-`fr'
-     French.
-
-`fy'
-     Frisian.
-
-`ga'
-     Irish.
-
-`gd'
-     Scots; Gaelic.
-
-`gl'
-     Gallegan; Galician.
-
-`gn'
-     Guarani.
-
-`gu'
-     Gujarati.
-
-`gv'
-     Manx.
-
-`ha'
-     Hausa (?).
-
-`he'
-     Hebrew (formerly iw).
-
-`hi'
-     Hindi.
-
-`ho'
-     Hiri Motu.
-
-`hr'
-     Croatian.
-
-`hu'
-     Hungarian.
-
-`hy'
-     Armenian.
-
-`hz'
-     Herero.
-
-`ia'
-     Interlingua.
-
-`id'
-     Indonesian (formerly in).
-
-`ie'
-     Interlingue.
-
-`ik'
-     Inupiak.
-
-`io'
-     Ido.
-
-`is'
-     Icelandic.
-
-`it'
-     Italian.
-
-`iu'
-     Inuktitut.
-
-`ja'
-     Japanese.
-
-`jv'
-     Javanese.
-
-`ka'
-     Georgian.
-
-`ki'
-     Kikuyu.
-
-`kj'
-     Kuanyama.
-
-`kk'
-     Kazakh.
-
-`kl'
-     Kalaallisut; Greenlandic.
-
-`km'
-     Khmer; Cambodian.
-
-`kn'
-     Kannada.
-
-`ko'
-     Korean.
-
-`ks'
-     Kashmiri.
-
-`ku'
-     Kurdish.
-
-`kv'
-     Komi.
-
-`kw'
-     Cornish.
-
-`ky'
-     Kirghiz.
-
-`la'
-     Latin.
-
-`lb'
-     Letzeburgesch.
-
-`ln'
-     Lingala.
-
-`lo'
-     Lao; Laotian.
-
-`lt'
-     Lithuanian.
-
-`lv'
-     Latvian; Lettish.
-
-`mg'
-     Malagasy.
-
-`mh'
-     Marshall.
-
-`mi'
-     Maori.
-
-`mk'
-     Macedonian.
-
-`ml'
-     Malayalam.
-
-`mn'
-     Mongolian.
-
-`mo'
-     Moldavian.
-
-`mr'
-     Marathi.
-
-`ms'
-     Malay.
-
-`mt'
-     Maltese.
-
-`my'
-     Burmese.
-
-`na'
-     Nauru.
-
-`nb'
-     Norwegian Bokmaal.
-
-`nd'
-     Ndebele, North.
-
-`ne'
-     Nepali.
-
-`ng'
-     Ndonga.
-
-`nl'
-     Dutch.
-
-`nn'
-     Norwegian Nynorsk.
-
-`no'
-     Norwegian.
-
-`nr'
-     Ndebele, South.
-
-`nv'
-     Navajo.
-
-`ny'
-     Chichewa; Nyanja.
-
-`oc'
-     Occitan; Provenc,al.
-
-`om'
-     (Afan) Oromo.
-
-`or'
-     Oriya.
-
-`os'
-     Ossetian; Ossetic.
-
-`pa'
-     Panjabi; Punjabi.
-
-`pi'
-     Pali.
-
-`pl'
-     Polish.
-
-`ps'
-     Pashto, Pushto.
-
-`pt'
-     Portuguese.
-
-`qu'
-     Quechua.
-
-`rm'
-     Rhaeto-Romance.
-
-`rn'
-     Rundi; Kirundi.
-
-`ro'
-     Romanian.
-
-`ru'
-     Russian.
-
-`rw'
-     Kinyarwanda.
-
-`sa'
-     Sanskrit.
-
-`sc'
-     Sardinian.
-
-`sd'
-     Sindhi.
-
-`se'
-     Northern Sami.
-
-`sg'
-     Sango; Sangro.
-
-`si'
-     Sinhalese.
-
-`sk'
-     Slovak.
-
-`sl'
-     Slovenian.
-
-`sm'
-     Samoan.
-
-`sn'
-     Shona.
-
-`so'
-     Somali.
-
-`sq'
-     Albanian.
-
-`sr'
-     Serbian.
-
-`ss'
-     Swati; Siswati.
-
-`st'
-     Sesotho; Sotho, Southern.
-
-`su'
-     Sundanese.
-
-`sv'
-     Swedish.
-
-`sw'
-     Swahili.
-
-`ta'
-     Tamil.
-
-`te'
-     Telugu.
-
-`tg'
-     Tajik.
-
-`th'
-     Thai.
-
-`ti'
-     Tigrinya.
-
-`tk'
-     Turkmen.
-
-`tl'
-     Tagalog.
-
-`tn'
-     Tswana; Setswana.
-
-`to'
-     Tonga (?).
-
-`tr'
-     Turkish.
-
-`ts'
-     Tsonga.
-
-`tt'
-     Tatar.
-
-`tw'
-     Twi.
-
-`ty'
-     Tahitian.
-
-`ug'
-     Uighur.
-
-`uk'
-     Ukrainian.
-
-`ur'
-     Urdu.
-
-`uz'
-     Uzbek.
-
-`vi'
-     Vietnamese.
-
-`vo'
-     Volapu"k; Volapuk.
-
-`wa'
-     Walloon.
-
-`wo'
-     Wolof.
-
-`xh'
-     Xhosa.
-
-`yi'
-     Yiddish (formerly ji).
-
-`yo'
-     Yoruba.
-
-`za'
-     Zhuang.
-
-`zh'
-     Chinese.
-
-`zu'
-     Zulu.
-
-\1f
-File: gettext.info,  Node: Country Codes,  Next: Program Index,  Prev: Language Codes,  Up: Top
-
-Country Codes
-*************
-
-   The ISO 3166 standard defines two character codes for many countries
-and territories.  All abbreviations for countries used in the
-Translation Project should come from this standard.
-
-`AD'
-     Andorra.
-
-`AE'
-     United Arab Emirates.
-
-`AF'
-     Afghanistan.
-
-`AG'
-     Antigua and Barbuda.
-
-`AI'
-     Anguilla.
-
-`AL'
-     Albania.
-
-`AM'
-     Armenia.
-
-`AN'
-     Netherlands Antilles.
-
-`AO'
-     Angola.
-
-`AQ'
-     Antarctica.
-
-`AR'
-     Argentina.
-
-`AS'
-     Samoa (American).
-
-`AT'
-     Austria.
-
-`AU'
-     Australia.
-
-`AW'
-     Aruba.
-
-`AZ'
-     Azerbaijan.
-
-`BA'
-     Bosnia and Herzegovina.
-
-`BB'
-     Barbados.
-
-`BD'
-     Bangladesh.
-
-`BE'
-     Belgium.
-
-`BF'
-     Burkina Faso.
-
-`BG'
-     Bulgaria.
-
-`BH'
-     Bahrain.
-
-`BI'
-     Burundi.
-
-`BJ'
-     Benin.
-
-`BM'
-     Bermuda.
-
-`BN'
-     Brunei.
-
-`BO'
-     Bolivia.
-
-`BR'
-     Brazil.
-
-`BS'
-     Bahamas.
-
-`BT'
-     Bhutan.
-
-`BV'
-     Bouvet Island.
-
-`BW'
-     Botswana.
-
-`BY'
-     Belarus.
-
-`BZ'
-     Belize.
-
-`CA'
-     Canada.
-
-`CC'
-     Cocos (Keeling) Islands.
-
-`CD'
-     Congo (Dem. Rep.).
-
-`CF'
-     Central African Rep..
-
-`CG'
-     Congo (Rep.).
-
-`CH'
-     Switzerland.
-
-`CI'
-     Cote d'Ivoire.
-
-`CK'
-     Cook Islands.
-
-`CL'
-     Chile.
-
-`CM'
-     Cameroon.
-
-`CN'
-     China.
-
-`CO'
-     Colombia.
-
-`CR'
-     Costa Rica.
-
-`CU'
-     Cuba.
-
-`CV'
-     Cape Verde.
-
-`CX'
-     Christmas Island.
-
-`CY'
-     Cyprus.
-
-`CZ'
-     Czech Republic.
-
-`DE'
-     Germany.
-
-`DJ'
-     Djibouti.
-
-`DK'
-     Denmark.
-
-`DM'
-     Dominica.
-
-`DO'
-     Dominican Republic.
-
-`DZ'
-     Algeria.
-
-`EC'
-     Ecuador.
-
-`EE'
-     Estonia.
-
-`EG'
-     Egypt.
-
-`EH'
-     Western Sahara.
-
-`ER'
-     Eritrea.
-
-`ES'
-     Spain.
-
-`ET'
-     Ethiopia.
-
-`FI'
-     Finland.
-
-`FJ'
-     Fiji.
-
-`FK'
-     Falkland Islands.
-
-`FM'
-     Micronesia.
-
-`FO'
-     Faeroe Islands.
-
-`FR'
-     France.
-
-`GA'
-     Gabon.
-
-`GB'
-     Britain (UK).
-
-`GD'
-     Grenada.
-
-`GE'
-     Georgia.
-
-`GF'
-     French Guiana.
-
-`GH'
-     Ghana.
-
-`GI'
-     Gibraltar.
-
-`GL'
-     Greenland.
-
-`GM'
-     Gambia.
-
-`GN'
-     Guinea.
-
-`GP'
-     Guadeloupe.
-
-`GQ'
-     Equatorial Guinea.
-
-`GR'
-     Greece.
-
-`GS'
-     South Georgia and the South Sandwich Islands.
-
-`GT'
-     Guatemala.
-
-`GU'
-     Guam.
-
-`GW'
-     Guinea-Bissau.
-
-`GY'
-     Guyana.
-
-`HK'
-     Hong Kong.
-
-`HM'
-     Heard Island and McDonald Islands.
-
-`HN'
-     Honduras.
-
-`HR'
-     Croatia.
-
-`HT'
-     Haiti.
-
-`HU'
-     Hungary.
-
-`ID'
-     Indonesia.
-
-`IE'
-     Ireland.
-
-`IL'
-     Israel.
-
-`IN'
-     India.
-
-`IO'
-     British Indian Ocean Territory.
-
-`IQ'
-     Iraq.
-
-`IR'
-     Iran.
-
-`IS'
-     Iceland.
-
-`IT'
-     Italy.
-
-`JM'
-     Jamaica.
-
-`JO'
-     Jordan.
-
-`JP'
-     Japan.
-
-`KE'
-     Kenya.
-
-`KG'
-     Kyrgyzstan.
-
-`KH'
-     Cambodia.
-
-`KI'
-     Kiribati.
-
-`KM'
-     Comoros.
-
-`KN'
-     St Kitts and Nevis.
-
-`KP'
-     Korea (North).
-
-`KR'
-     Korea (South).
-
-`KW'
-     Kuwait.
-
-`KY'
-     Cayman Islands.
-
-`KZ'
-     Kazakhstan.
-
-`LA'
-     Laos.
-
-`LB'
-     Lebanon.
-
-`LC'
-     St Lucia.
-
-`LI'
-     Liechtenstein.
-
-`LK'
-     Sri Lanka.
-
-`LR'
-     Liberia.
-
-`LS'
-     Lesotho.
-
-`LT'
-     Lithuania.
-
-`LU'
-     Luxembourg.
-
-`LV'
-     Latvia.
-
-`LY'
-     Libya.
-
-`MA'
-     Morocco.
-
-`MC'
-     Monaco.
-
-`MD'
-     Moldova.
-
-`MG'
-     Madagascar.
-
-`MH'
-     Marshall Islands.
-
-`MK'
-     Macedonia.
-
-`ML'
-     Mali.
-
-`MM'
-     Myanmar (Burma).
-
-`MN'
-     Mongolia.
-
-`MO'
-     Macao.
-
-`MP'
-     Northern Mariana Islands.
-
-`MQ'
-     Martinique.
-
-`MR'
-     Mauritania.
-
-`MS'
-     Montserrat.
-
-`MT'
-     Malta.
-
-`MU'
-     Mauritius.
-
-`MV'
-     Maldives.
-
-`MW'
-     Malawi.
-
-`MX'
-     Mexico.
-
-`MY'
-     Malaysia.
-
-`MZ'
-     Mozambique.
-
-`NA'
-     Namibia.
-
-`NC'
-     New Caledonia.
-
-`NE'
-     Niger.
-
-`NF'
-     Norfolk Island.
-
-`NG'
-     Nigeria.
-
-`NI'
-     Nicaragua.
-
-`NL'
-     Netherlands.
-
-`NO'
-     Norway.
-
-`NP'
-     Nepal.
-
-`NR'
-     Nauru.
-
-`NU'
-     Niue.
-
-`NZ'
-     New Zealand.
-
-`OM'
-     Oman.
-
-`PA'
-     Panama.
-
-`PE'
-     Peru.
-
-`PF'
-     French Polynesia.
-
-`PG'
-     Papua New Guinea.
-
-`PH'
-     Philippines.
-
-`PK'
-     Pakistan.
-
-`PL'
-     Poland.
-
-`PM'
-     St Pierre and Miquelon.
-
-`PN'
-     Pitcairn.
-
-`PR'
-     Puerto Rico.
-
-`PS'
-     Palestine.
-
-`PT'
-     Portugal.
-
-`PW'
-     Palau.
-
-`PY'
-     Paraguay.
-
-`QA'
-     Qatar.
-
-`RE'
-     Reunion.
-
-`RO'
-     Romania.
-
-`RU'
-     Russia.
-
-`RW'
-     Rwanda.
-
-`SA'
-     Saudi Arabia.
-
-`SB'
-     Solomon Islands.
-
-`SC'
-     Seychelles.
-
-`SD'
-     Sudan.
-
-`SE'
-     Sweden.
-
-`SG'
-     Singapore.
-
-`SH'
-     St Helena.
-
-`SI'
-     Slovenia.
-
-`SJ'
-     Svalbard and Jan Mayen.
-
-`SK'
-     Slovakia.
-
-`SL'
-     Sierra Leone.
-
-`SM'
-     San Marino.
-
-`SN'
-     Senegal.
-
-`SO'
-     Somalia.
-
-`SR'
-     Suriname.
-
-`ST'
-     Sao Tome and Principe.
-
-`SV'
-     El Salvador.
-
-`SY'
-     Syria.
-
-`SZ'
-     Swaziland.
-
-`TC'
-     Turks and Caicos Is.
-
-`TD'
-     Chad.
-
-`TF'
-     French Southern and Antarctic Lands.
-
-`TG'
-     Togo.
-
-`TH'
-     Thailand.
-
-`TJ'
-     Tajikistan.
-
-`TK'
-     Tokelau.
-
-`TM'
-     Turkmenistan.
-
-`TN'
-     Tunisia.
-
-`TO'
-     Tonga.
-
-`TP'
-     East Timor.
-
-`TR'
-     Turkey.
-
-`TT'
-     Trinidad and Tobago.
-
-`TV'
-     Tuvalu.
-
-`TW'
-     Taiwan.
-
-`TZ'
-     Tanzania.
-
-`UA'
-     Ukraine.
-
-`UG'
-     Uganda.
-
-`UM'
-     US minor outlying islands.
-
-`US'
-     United States.
-
-`UY'
-     Uruguay.
-
-`UZ'
-     Uzbekistan.
-
-`VA'
-     Vatican City.
-
-`VC'
-     St Vincent.
-
-`VE'
-     Venezuela.
-
-`VG'
-     Virgin Islands (UK).
-
-`VI'
-     Virgin Islands (US).
-
-`VN'
-     Vietnam.
-
-`VU'
-     Vanuatu.
-
-`WF'
-     Wallis and Futuna.
-
-`WS'
-     Samoa (Western).
-
-`YE'
-     Yemen.
-
-`YT'
-     Mayotte.
-
-`YU'
-     Yugoslavia.
-
-`ZA'
-     South Africa.
-
-`ZM'
-     Zambia.
-
-`ZW'
-     Zimbabwe.
-
-\1f
-File: gettext.info,  Node: Program Index,  Next: Option Index,  Prev: Country Codes,  Up: Top
-
-Program Index
-*************
-
-* Menu:
-
-* autopoint:                             autopoint Invocation.
-* gettext <1>:                           bash.
-* gettext:                               sh.
-* gettextize:                            gettextize Invocation.
-* msgattrib:                             msgattrib Invocation.
-* msgcat:                                msgcat Invocation.
-* msgcmp:                                msgcmp Invocation.
-* msgcomm:                               msgcomm Invocation.
-* msgconv:                               msgconv Invocation.
-* msgen:                                 msgen Invocation.
-* msgexec:                               msgexec Invocation.
-* msgfilter:                             msgfilter Invocation.
-* msgfmt:                                msgfmt Invocation.
-* msggrep:                               msggrep Invocation.
-* msginit:                               msginit Invocation.
-* msgmerge:                              msgmerge Invocation.
-* msgunfmt:                              msgunfmt Invocation.
-* msguniq:                               msguniq Invocation.
-* ngettext <1>:                          bash.
-* ngettext:                              sh.
-* xgettext:                              xgettext Invocation.
-
diff --git a/doc/gettext.info-9 b/doc/gettext.info-9
deleted file mode 100644 (file)
index 2a32909..0000000
+++ /dev/null
@@ -1,689 +0,0 @@
-This is gettext.info, produced by makeinfo version 4.2 from
-gettext.texi.
-
-INFO-DIR-SECTION GNU Gettext Utilities
-START-INFO-DIR-ENTRY
-* gettext: (gettext).                          GNU gettext utilities.
-* autopoint: (gettext)autopoint Invocation.    Copy gettext infrastructure.
-* gettextize: (gettext)gettextize Invocation.  Prepare a package for gettext.
-* msgattrib: (gettext)msgattrib Invocation.    Select part of a PO file.
-* msgcat: (gettext)msgcat Invocation.          Combine several PO files.
-* msgcmp: (gettext)msgcmp Invocation.          Compare a PO file and template.
-* msgcomm: (gettext)msgcomm Invocation.        Match two PO files.
-* msgconv: (gettext)msgconv Invocation.        Convert PO file to encoding.
-* msgen: (gettext)msgen Invocation.            Create an English PO file.
-* msgexec: (gettext)msgexec Invocation.        Process a PO file.
-* msgfilter: (gettext)msgfilter Invocation.    Pipe a PO file through a filter.
-* msgfmt: (gettext)msgfmt Invocation.          Make MO files out of PO files.
-* msggrep: (gettext)msggrep Invocation.        Select part of a PO file.
-* msginit: (gettext)msginit Invocation.        Create a fresh PO file.
-* msgmerge: (gettext)msgmerge Invocation.      Update a PO file from template.
-* msgunfmt: (gettext)msgunfmt Invocation.      Uncompile MO file into PO file.
-* msguniq: (gettext)msguniq Invocation.        Unify duplicates for PO file.
-* xgettext: (gettext)xgettext Invocation.      Extract strings into a PO file.
-* ISO639: (gettext)Language Codes.             ISO 639 language codes.
-* ISO3166: (gettext)Country Codes.             ISO 3166 country codes.
-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, 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
-preserved on all copies.
-
-   Permission is granted to copy and distribute modified versions of
-this manual under the conditions for verbatim copying, provided that
-the entire resulting derived work is distributed under the terms of a
-permission notice identical to this one.
-
-   Permission is granted to copy and distribute translations of this
-manual into another language, under the above conditions for modified
-versions, except that this permission notice may be stated in a
-translation approved by the Foundation.
-
-\1f
-File: gettext.info,  Node: Option Index,  Next: Variable Index,  Prev: Program Index,  Up: Top
-
-Option Index
-************
-
-* Menu:
-
-* --add-comments, xgettext option:       xgettext Invocation.
-* --add-location, msgattrib option:      msgattrib Invocation.
-* --add-location, msgcat option:         msgcat Invocation.
-* --add-location, msgcomm option:        msgcomm Invocation.
-* --add-location, msgconv option:        msgconv Invocation.
-* --add-location, msgen option:          msgen Invocation.
-* --add-location, msgfilter option:      msgfilter Invocation.
-* --add-location, msggrep option:        msggrep Invocation.
-* --add-location, msgmerge option:       msgmerge Invocation.
-* --add-location, msguniq option:        msguniq Invocation.
-* --add-location, xgettext option:       xgettext Invocation.
-* --alignment, msgfmt option:            msgfmt Invocation.
-* --backup, msgmerge option:             msgmerge Invocation.
-* --c++, xgettext option:                xgettext Invocation.
-* --check, msgfmt option:                msgfmt Invocation.
-* --check-accelerators, msgfmt option:   msgfmt Invocation.
-* --check-compatibility, msgfmt option:  msgfmt Invocation.
-* --check-domain, msgfmt option:         msgfmt Invocation.
-* --check-format, msgfmt option:         msgfmt Invocation.
-* --check-header, msgfmt option:         msgfmt Invocation.
-* --clear-fuzzy, msgattrib option:       msgattrib Invocation.
-* --clear-obsolete, msgattrib option:    msgattrib Invocation.
-* --compendium, msgmerge option:         msgmerge Invocation.
-* --copy, gettextize option:             gettextize Invocation.
-* --copyright-holder, xgettext option:   xgettext Invocation.
-* --debug, xgettext option:              xgettext Invocation.
-* --default-domain, xgettext option:     xgettext Invocation.
-* --directory, msgattrib option:         msgattrib Invocation.
-* --directory, msgcat option:            msgcat Invocation.
-* --directory, msgcmp option:            msgcmp Invocation.
-* --directory, msgcomm option:           msgcomm Invocation.
-* --directory, msgconv option:           msgconv Invocation.
-* --directory, msgen option:             msgen Invocation.
-* --directory, msgexec option:           msgexec Invocation.
-* --directory, msgfilter option:         msgfilter Invocation.
-* --directory, msgfmt option:            msgfmt Invocation.
-* --directory, msggrep option:           msggrep Invocation.
-* --directory, msgmerge option:          msgmerge Invocation.
-* --directory, msguniq option:           msguniq Invocation.
-* --directory, xgettext option:          xgettext Invocation.
-* --domain, msggrep option:              msggrep Invocation.
-* --dry-run, autopoint option:           autopoint Invocation.
-* --dry-run, gettextize option:          gettextize Invocation.
-* --exclude-file, xgettext option:       xgettext Invocation.
-* --expression, msgfilter option:        msgfilter Invocation.
-* --extended-regexp, msggrep option:     msggrep Invocation.
-* --extract-all, xgettext option:        xgettext Invocation.
-* --file, msgfilter option:              msgfilter Invocation.
-* --file, msggrep option:                msggrep Invocation.
-* --files-from, msgcat option:           msgcat Invocation.
-* --files-from, msgcomm option:          msgcomm Invocation.
-* --files-from, xgettext option:         xgettext Invocation.
-* --fixed-strings, msggrep option:       msggrep Invocation.
-* --force, autopoint option:             autopoint Invocation.
-* --force, gettextize option:            gettextize Invocation.
-* --force-po, msgattrib option:          msgattrib Invocation.
-* --force-po, msgcat option:             msgcat Invocation.
-* --force-po, msgcomm option:            msgcomm Invocation.
-* --force-po, msgconv option:            msgconv Invocation.
-* --force-po, msgen option:              msgen Invocation.
-* --force-po, msgfilter option:          msgfilter Invocation.
-* --force-po, msggrep option:            msggrep Invocation.
-* --force-po, msgmerge option:           msgmerge Invocation.
-* --force-po, msgunfmt option:           msgunfmt Invocation.
-* --force-po, msguniq option:            msguniq Invocation.
-* --force-po, xgettext option:           xgettext Invocation.
-* --foreign-user, xgettext option:       xgettext Invocation.
-* --from-code, xgettext option:          xgettext Invocation.
-* --fuzzy, msgattrib option:             msgattrib Invocation.
-* --help, autopoint option:              autopoint Invocation.
-* --help, gettextize option:             gettextize Invocation.
-* --help, msgattrib option:              msgattrib Invocation.
-* --help, msgcat option:                 msgcat Invocation.
-* --help, msgcmp option:                 msgcmp Invocation.
-* --help, msgcomm option:                msgcomm Invocation.
-* --help, msgconv option:                msgconv Invocation.
-* --help, msgen option:                  msgen Invocation.
-* --help, msgexec option:                msgexec Invocation.
-* --help, msgfilter option:              msgfilter Invocation.
-* --help, msgfmt option:                 msgfmt Invocation.
-* --help, msggrep option:                msggrep Invocation.
-* --help, msginit option:                msginit Invocation.
-* --help, msgmerge option:               msgmerge Invocation.
-* --help, msgunfmt option:               msgunfmt Invocation.
-* --help, msguniq option:                msguniq Invocation.
-* --help, xgettext option:               xgettext Invocation.
-* --ignore-case, msggrep option:         msggrep Invocation.
-* --indent, msgattrib option:            msgattrib Invocation.
-* --indent, msgcat option:               msgcat Invocation.
-* --indent, msgcomm option:              msgcomm Invocation.
-* --indent, msgconv option:              msgconv Invocation.
-* --indent, msgen option:                msgen Invocation.
-* --indent, msgfilter option:            msgfilter Invocation.
-* --indent, msggrep option:              msggrep Invocation.
-* --indent, msgmerge option:             msgmerge Invocation.
-* --indent, msgunfmt option:             msgunfmt Invocation.
-* --indent, msguniq option:              msguniq Invocation.
-* --indent, xgettext option:             xgettext Invocation.
-* --input, msgexec option:               msgexec Invocation.
-* --input, msgfilter option:             msgfilter Invocation.
-* --input, msginit option:               msginit Invocation.
-* --intl, gettextize option:             gettextize Invocation.
-* --java, msgfmt option:                 msgfmt Invocation.
-* --java, msgunfmt option:               msgunfmt Invocation.
-* --java2, msgfmt option:                msgfmt Invocation.
-* --join-existing, xgettext option:      xgettext Invocation.
-* --keep-header, msgfilter option:       msgfilter Invocation.
-* --keyword, xgettext option:            xgettext Invocation.
-* --language, xgettext option:           xgettext Invocation.
-* --less-than, msgcat option:            msgcat Invocation.
-* --less-than, msgcomm option:           msgcomm Invocation.
-* --locale, msgfmt option:               msgfmt Invocation.
-* --locale, msginit option:              msginit Invocation.
-* --locale, msgunfmt option:             msgunfmt Invocation.
-* --location, msggrep option:            msggrep Invocation.
-* --more-than, msgcat option:            msgcat Invocation.
-* --more-than, msgcomm option:           msgcomm Invocation.
-* --msgid, msggrep option:               msggrep Invocation.
-* --msgstr, msggrep option:              msggrep Invocation.
-* --msgstr-prefix, xgettext option:      xgettext Invocation.
-* --msgstr-suffix, xgettext option:      xgettext Invocation.
-* --multi-domain, msgcmp option:         msgcmp Invocation.
-* --multi-domain, msgmerge option:       msgmerge Invocation.
-* --no-changelog, gettextize option:     gettextize Invocation.
-* --no-fuzzy, msgattrib option:          msgattrib Invocation.
-* --no-hash, msgfmt option:              msgfmt Invocation.
-* --no-location, msgattrib option:       msgattrib Invocation.
-* --no-location, msgcat option:          msgcat Invocation.
-* --no-location, msgcomm option:         msgcomm Invocation.
-* --no-location, msgconv option:         msgconv Invocation.
-* --no-location, msgen option:           msgen Invocation.
-* --no-location, msgfilter option:       msgfilter Invocation.
-* --no-location, msggrep option:         msggrep Invocation.
-* --no-location, msgmerge option:        msgmerge Invocation.
-* --no-location, msguniq option:         msguniq Invocation.
-* --no-location, xgettext option:        xgettext Invocation.
-* --no-obsolete, msgattrib option:       msgattrib Invocation.
-* --no-translator, msginit option:       msginit Invocation.
-* --no-wrap, msgattrib option:           msgattrib Invocation.
-* --no-wrap, msgcat option:              msgcat Invocation.
-* --no-wrap, msgcomm option:             msgcomm Invocation.
-* --no-wrap, msgconv option:             msgconv Invocation.
-* --no-wrap, msgen option:               msgen Invocation.
-* --no-wrap, msgfilter option:           msgfilter Invocation.
-* --no-wrap, msggrep option:             msggrep Invocation.
-* --no-wrap, msginit option:             msginit Invocation.
-* --no-wrap, msgmerge option:            msgmerge Invocation.
-* --no-wrap, msgunfmt option:            msgunfmt Invocation.
-* --no-wrap, msguniq option:             msguniq Invocation.
-* --no-wrap, xgettext option:            xgettext Invocation.
-* --obsolete, msgattrib option:          msgattrib Invocation.
-* --omit-header, msgcomm option:         msgcomm Invocation.
-* --omit-header, xgettext option:        xgettext Invocation.
-* --only-fuzzy, msgattrib option:        msgattrib Invocation.
-* --only-obsolete, msgattrib option:     msgattrib Invocation.
-* --output, xgettext option:             xgettext Invocation.
-* --output-dir, xgettext option:         xgettext Invocation.
-* --output-file, msgattrib option:       msgattrib Invocation.
-* --output-file, msgcat option:          msgcat Invocation.
-* --output-file, msgcomm option:         msgcomm Invocation.
-* --output-file, msgconv option:         msgconv Invocation.
-* --output-file, msgen option:           msgen Invocation.
-* --output-file, msgfilter option:       msgfilter Invocation.
-* --output-file, msgfmt option:          msgfmt Invocation.
-* --output-file, msggrep option:         msggrep Invocation.
-* --output-file, msginit option:         msginit Invocation.
-* --output-file, msgmerge option:        msgmerge Invocation.
-* --output-file, msgunfmt option:        msgunfmt Invocation.
-* --output-file, msguniq option:         msguniq Invocation.
-* --quiet, msgfilter option:             msgfilter Invocation.
-* --quiet, msgmerge option:              msgmerge Invocation.
-* --regexp=, msggrep option:             msggrep Invocation.
-* --repeated, msguniq option:            msguniq Invocation.
-* --resource, msgfmt option:             msgfmt Invocation.
-* --resource, msgunfmt option:           msgunfmt Invocation.
-* --set-fuzzy, msgattrib option:         msgattrib Invocation.
-* --set-obsolete, msgattrib option:      msgattrib Invocation.
-* --silent, msgfilter option:            msgfilter Invocation.
-* --silent, msgmerge option:             msgmerge Invocation.
-* --sort-by-file, msgattrib option:      msgattrib Invocation.
-* --sort-by-file, msgcat option:         msgcat Invocation.
-* --sort-by-file, msgcomm option:        msgcomm Invocation.
-* --sort-by-file, msgconv option:        msgconv Invocation.
-* --sort-by-file, msgen option:          msgen Invocation.
-* --sort-by-file, msgfilter option:      msgfilter Invocation.
-* --sort-by-file, msggrep option:        msggrep Invocation.
-* --sort-by-file, msgmerge option:       msgmerge Invocation.
-* --sort-by-file, msguniq option:        msguniq Invocation.
-* --sort-by-file, xgettext option:       xgettext Invocation.
-* --sort-output, msgattrib option:       msgattrib Invocation.
-* --sort-output, msgcat option:          msgcat Invocation.
-* --sort-output, msgcomm option:         msgcomm Invocation.
-* --sort-output, msgconv option:         msgconv Invocation.
-* --sort-output, msgen option:           msgen Invocation.
-* --sort-output, msgfilter option:       msgfilter Invocation.
-* --sort-output, msggrep option:         msggrep Invocation.
-* --sort-output, msgmerge option:        msgmerge Invocation.
-* --sort-output, msgunfmt option:        msgunfmt Invocation.
-* --sort-output, msguniq option:         msguniq Invocation.
-* --sort-output, xgettext option:        xgettext Invocation.
-* --statistics, msgfmt option:           msgfmt Invocation.
-* --strict, msgattrib option:            msgattrib Invocation.
-* --strict, msgcat option:               msgcat Invocation.
-* --strict, msgcomm option:              msgcomm Invocation.
-* --strict, msgconv option:              msgconv Invocation.
-* --strict, msgen option:                msgen Invocation.
-* --strict, msgfilter option:            msgfilter Invocation.
-* --strict, msgfmt option:               msgfmt Invocation.
-* --strict, msggrep option:              msggrep Invocation.
-* --strict, msgmerge option:             msgmerge Invocation.
-* --strict, msgunfmt option:             msgunfmt Invocation.
-* --strict, msguniq option:              msguniq Invocation.
-* --strict, xgettext option:             xgettext Invocation.
-* --suffix, msgmerge option:             msgmerge Invocation.
-* --tcl, msgfmt option:                  msgfmt Invocation.
-* --tcl, msgunfmt option:                msgunfmt Invocation.
-* --to-code, msgcat option:              msgcat Invocation.
-* --to-code, msgconv option:             msgconv Invocation.
-* --to-code, msguniq option:             msguniq Invocation.
-* --translated, msgattrib option:        msgattrib Invocation.
-* --trigraphs, xgettext option:          xgettext Invocation.
-* --unique, msgcat option:               msgcat Invocation.
-* --unique, msgcomm option:              msgcomm Invocation.
-* --unique, msguniq option:              msguniq Invocation.
-* --untranslated, msgattrib option:      msgattrib Invocation.
-* --update, msgmerge option:             msgmerge Invocation.
-* --use-first, msgcat option:            msgcat Invocation.
-* --use-first, msguniq option:           msguniq Invocation.
-* --use-fuzzy, msgfmt option:            msgfmt Invocation.
-* --verbose, msgfmt option:              msgfmt Invocation.
-* --verbose, msgmerge option:            msgmerge Invocation.
-* --verbose, msgunfmt option:            msgunfmt Invocation.
-* --version, autopoint option:           autopoint Invocation.
-* --version, gettextize option:          gettextize Invocation.
-* --version, msgattrib option:           msgattrib Invocation.
-* --version, msgcat option:              msgcat Invocation.
-* --version, msgcmp option:              msgcmp Invocation.
-* --version, msgcomm option:             msgcomm Invocation.
-* --version, msgconv option:             msgconv Invocation.
-* --version, msgen option:               msgen Invocation.
-* --version, msgexec option:             msgexec Invocation.
-* --version, msgfilter option:           msgfilter Invocation.
-* --version, msgfmt option:              msgfmt Invocation.
-* --version, msggrep option:             msggrep Invocation.
-* --version, msginit option:             msginit Invocation.
-* --version, msgmerge option:            msgmerge Invocation.
-* --version, msgunfmt option:            msgunfmt Invocation.
-* --version, msguniq option:             msguniq Invocation.
-* --version, xgettext option:            xgettext Invocation.
-* --width, msgattrib option:             msgattrib Invocation.
-* --width, msgcat option:                msgcat Invocation.
-* --width, msgcomm option:               msgcomm Invocation.
-* --width, msgconv option:               msgconv Invocation.
-* --width, msgen option:                 msgen Invocation.
-* --width, msgfilter option:             msgfilter Invocation.
-* --width, msggrep option:               msggrep Invocation.
-* --width, msginit option:               msginit Invocation.
-* --width, msgmerge option:              msgmerge Invocation.
-* --width, msgunfmt option:              msgunfmt Invocation.
-* --width, msguniq option:               msguniq Invocation.
-* --width, xgettext option:              xgettext Invocation.
-* -<, msgcat option:                     msgcat Invocation.
-* -<, msgcomm option:                    msgcomm Invocation.
-* ->, msgcat option:                     msgcat Invocation.
-* ->, msgcomm option:                    msgcomm Invocation.
-* -a, msgfmt option:                     msgfmt Invocation.
-* -a, xgettext option:                   xgettext Invocation.
-* -c, gettextize option:                 gettextize Invocation.
-* -C, msgfmt option:                     msgfmt Invocation.
-* -c, msgfmt option:                     msgfmt Invocation.
-* -C, msgmerge option:                   msgmerge Invocation.
-* -c, xgettext option:                   xgettext Invocation.
-* -C, xgettext option:                   xgettext Invocation.
-* -d, autopoint option:                  autopoint Invocation.
-* -d, gettextize option:                 gettextize Invocation.
-* -D, msgattrib option:                  msgattrib Invocation.
-* -D, msgcat option:                     msgcat Invocation.
-* -D, msgcmp option:                     msgcmp Invocation.
-* -D, msgcomm option:                    msgcomm Invocation.
-* -D, msgconv option:                    msgconv Invocation.
-* -D, msgen option:                      msgen Invocation.
-* -D, msgexec option:                    msgexec Invocation.
-* -D, msgfilter option:                  msgfilter Invocation.
-* -d, msgfmt option:                     msgfmt Invocation.
-* -D, msgfmt option:                     msgfmt Invocation.
-* -D, msggrep option:                    msggrep Invocation.
-* -D, msgmerge option:                   msgmerge Invocation.
-* -d, msgunfmt option:                   msgunfmt Invocation.
-* -d, msguniq option:                    msguniq Invocation.
-* -D, msguniq option:                    msguniq Invocation.
-* -d, xgettext option:                   xgettext Invocation.
-* -D, xgettext option:                   xgettext Invocation.
-* -e, msgfilter option:                  msgfilter Invocation.
-* -e, msggrep option:                    msggrep Invocation.
-* -E, msggrep option:                    msggrep Invocation.
-* -f, autopoint option:                  autopoint Invocation.
-* -f, gettextize option:                 gettextize Invocation.
-* -F, msgattrib option:                  msgattrib Invocation.
-* -F, msgcat option:                     msgcat Invocation.
-* -f, msgcat option:                     msgcat Invocation.
-* -F, msgcomm option:                    msgcomm Invocation.
-* -f, msgcomm option:                    msgcomm Invocation.
-* -F, msgconv option:                    msgconv Invocation.
-* -F, msgen option:                      msgen Invocation.
-* -F, msgfilter option:                  msgfilter Invocation.
-* -f, msgfilter option:                  msgfilter Invocation.
-* -f, msgfmt option:                     msgfmt Invocation.
-* -f, msggrep option:                    msggrep Invocation.
-* -F, msggrep option:                    msggrep Invocation.
-* -F, msgmerge option:                   msgmerge Invocation.
-* -F, msguniq option:                    msguniq Invocation.
-* -F, xgettext option:                   xgettext Invocation.
-* -f, xgettext option:                   xgettext Invocation.
-* -h, msgattrib option:                  msgattrib Invocation.
-* -h, msgcat option:                     msgcat Invocation.
-* -h, msgcmp option:                     msgcmp Invocation.
-* -h, msgcomm option:                    msgcomm Invocation.
-* -h, msgconv option:                    msgconv Invocation.
-* -h, msgen option:                      msgen Invocation.
-* -h, msgexec option:                    msgexec Invocation.
-* -h, msgfilter option:                  msgfilter Invocation.
-* -h, msgfmt option:                     msgfmt Invocation.
-* -h, msggrep option:                    msggrep Invocation.
-* -h, msginit option:                    msginit Invocation.
-* -h, msgmerge option:                   msgmerge Invocation.
-* -h, msgunfmt option:                   msgunfmt Invocation.
-* -h, msguniq option:                    msguniq Invocation.
-* -h, xgettext option:                   xgettext Invocation.
-* -i, msgattrib option:                  msgattrib Invocation.
-* -i, msgcat option:                     msgcat Invocation.
-* -i, msgcomm option:                    msgcomm Invocation.
-* -i, msgconv option:                    msgconv Invocation.
-* -i, msgen option:                      msgen Invocation.
-* -i, msgexec option:                    msgexec Invocation.
-* -i, msgfilter option:                  msgfilter Invocation.
-* -i, msggrep option:                    msggrep Invocation.
-* -i, msginit option:                    msginit Invocation.
-* -i, msgmerge option:                   msgmerge Invocation.
-* -i, msgunfmt option:                   msgunfmt Invocation.
-* -i, msguniq option:                    msguniq Invocation.
-* -i, xgettext option:                   xgettext Invocation.
-* -j, msgfmt option:                     msgfmt Invocation.
-* -j, msgunfmt option:                   msgunfmt Invocation.
-* -j, xgettext option:                   xgettext Invocation.
-* -K, msggrep option:                    msggrep Invocation.
-* -k, xgettext option:                   xgettext Invocation.
-* -l, msgfmt option:                     msgfmt Invocation.
-* -l, msginit option:                    msginit Invocation.
-* -l, msgunfmt option:                   msgunfmt Invocation.
-* -L, xgettext option:                   xgettext Invocation.
-* -m, msgcmp option:                     msgcmp Invocation.
-* -M, msggrep option:                    msggrep Invocation.
-* -m, msgmerge option:                   msgmerge Invocation.
-* -M, xgettext option:                   xgettext Invocation.
-* -m, xgettext option:                   xgettext Invocation.
-* -n, msgattrib option:                  msgattrib Invocation.
-* -n, msgcat option:                     msgcat Invocation.
-* -n, msgcomm option:                    msgcomm Invocation.
-* -n, msgfilter option:                  msgfilter Invocation.
-* -N, msggrep option:                    msggrep Invocation.
-* -n, msguniq option:                    msguniq Invocation.
-* -n, xgettext option:                   xgettext Invocation.
-* -o, msgattrib option:                  msgattrib Invocation.
-* -o, msgcat option:                     msgcat Invocation.
-* -o, msgcomm option:                    msgcomm Invocation.
-* -o, msgconv option:                    msgconv Invocation.
-* -o, msgen option:                      msgen Invocation.
-* -o, msgfilter option:                  msgfilter Invocation.
-* -o, msgfmt option:                     msgfmt Invocation.
-* -o, msggrep option:                    msggrep Invocation.
-* -o, msginit option:                    msginit Invocation.
-* -o, msgmerge option:                   msgmerge Invocation.
-* -o, msgunfmt option:                   msgunfmt Invocation.
-* -o, msguniq option:                    msguniq Invocation.
-* -o, xgettext option:                   xgettext Invocation.
-* -p, xgettext option:                   xgettext Invocation.
-* -q, msgmerge option:                   msgmerge Invocation.
-* -r, msgfmt option:                     msgfmt Invocation.
-* -r, msgunfmt option:                   msgunfmt Invocation.
-* -s, msgattrib option:                  msgattrib Invocation.
-* -s, msgcat option:                     msgcat Invocation.
-* -s, msgcomm option:                    msgcomm Invocation.
-* -s, msgconv option:                    msgconv Invocation.
-* -s, msgen option:                      msgen Invocation.
-* -s, msgfilter option:                  msgfilter Invocation.
-* -s, msgmerge option:                   msgmerge Invocation.
-* -s, msgunfmt option:                   msgunfmt Invocation.
-* -s, msguniq option:                    msguniq Invocation.
-* -s, xgettext option:                   xgettext Invocation.
-* -t, msgcat option:                     msgcat Invocation.
-* -t, msgconv option:                    msgconv Invocation.
-* -T, msggrep option:                    msggrep Invocation.
-* -t, msguniq option:                    msguniq Invocation.
-* -T, xgettext option:                   xgettext Invocation.
-* -u, msgcat option:                     msgcat Invocation.
-* -u, msgcomm option:                    msgcomm Invocation.
-* -U, msgmerge option:                   msgmerge Invocation.
-* -u, msguniq option:                    msguniq Invocation.
-* -V, msgattrib option:                  msgattrib Invocation.
-* -V, msgcat option:                     msgcat Invocation.
-* -V, msgcmp option:                     msgcmp Invocation.
-* -V, msgcomm option:                    msgcomm Invocation.
-* -V, msgconv option:                    msgconv Invocation.
-* -V, msgen option:                      msgen Invocation.
-* -V, msgexec option:                    msgexec Invocation.
-* -V, msgfilter option:                  msgfilter Invocation.
-* -v, msgfmt option:                     msgfmt Invocation.
-* -V, msgfmt option:                     msgfmt Invocation.
-* -V, msggrep option:                    msggrep Invocation.
-* -V, msginit option:                    msginit Invocation.
-* -v, msgmerge option:                   msgmerge Invocation.
-* -V, msgmerge option:                   msgmerge Invocation.
-* -v, msgunfmt option:                   msgunfmt Invocation.
-* -V, msgunfmt option:                   msgunfmt Invocation.
-* -V, msguniq option:                    msguniq Invocation.
-* -V, xgettext option:                   xgettext Invocation.
-* -w, msgattrib option:                  msgattrib Invocation.
-* -w, msgcat option:                     msgcat Invocation.
-* -w, msgcomm option:                    msgcomm Invocation.
-* -w, msgconv option:                    msgconv Invocation.
-* -w, msgen option:                      msgen Invocation.
-* -w, msgfilter option:                  msgfilter Invocation.
-* -w, msggrep option:                    msggrep Invocation.
-* -w, msginit option:                    msginit Invocation.
-* -w, msgmerge option:                   msgmerge Invocation.
-* -w, msgunfmt option:                   msgunfmt Invocation.
-* -w, msguniq option:                    msguniq Invocation.
-* -w, xgettext option:                   xgettext Invocation.
-* -x, xgettext option:                   xgettext Invocation.
-
-\1f
-File: gettext.info,  Node: Variable Index,  Next: PO Mode Index,  Prev: Option Index,  Up: Top
-
-Variable Index
-**************
-
-* Menu:
-
-* LANG, environment variable <1>:        gettext grok.
-* LANG, environment variable:            End Users.
-* LANGUAGE, environment variable <1>:    po/Makevars.
-* LANGUAGE, environment variable:        gettext grok.
-* LC_ALL, environment variable:          gettext grok.
-* LC_COLLATE, environment variable:      gettext grok.
-* LC_CTYPE, environment variable:        gettext grok.
-* LC_MESSAGES, environment variable:     gettext grok.
-* LC_MONETARY, environment variable:     gettext grok.
-* LC_NUMERIC, environment variable:      gettext grok.
-* LC_TIME, environment variable:         gettext grok.
-* LINGUAS, environment variable:         Installers.
-* MSGEXEC_LOCATION, environment variable: msgexec Invocation.
-* MSGEXEC_MSGID, environment variable:   msgexec Invocation.
-* TEXTDOMAIN, environment variable <1>:  bash.
-* TEXTDOMAIN, environment variable:      sh.
-* TEXTDOMAINDIR, environment variable <1>: bash.
-* TEXTDOMAINDIR, environment variable:   sh.
-
-\1f
-File: gettext.info,  Node: PO Mode Index,  Next: Autoconf Macro Index,  Prev: Variable Index,  Up: Top
-
-PO Mode Index
-*************
-
-* Menu:
-
-* #, PO Mode command:                    Modifying Comments.
-* ,, PO Mode command:                    Marking.
-* ., PO Mode command:                    Entry Positioning.
-* .emacs customizations:                 Installation.
-* 0, PO Mode command:                    Main PO Commands.
-* <, PO Mode command:                    Entry Positioning.
-* =, PO Mode command:                    Main PO Commands.
-* >, PO Mode command:                    Entry Positioning.
-* ?, PO Mode command:                    Main PO Commands.
-* _, PO Mode command:                    Main PO Commands.
-* a, PO Mode command:                    Auxiliary.
-* A, PO Mode command:                    Auxiliary.
-* a, PO Mode command:                    Auxiliary.
-* auxiliary PO file:                     Auxiliary.
-* C-c C-a, PO Mode command <1>:          Auxiliary.
-* C-c C-a, PO Mode command:              Subedit.
-* C-c C-c, PO Mode command:              Subedit.
-* C-c C-k, PO Mode command:              Subedit.
-* C-j, PO Mode command:                  Modifying Translations.
-* commands:                              Main PO Commands.
-* comment out PO file entry:             Obsolete Entries.
-* consulting program sources:            C Sources Context.
-* consulting translations to other languages: Auxiliary.
-* current entry of a PO file:            Entry Positioning.
-* cut and paste for translated strings:  Modifying Translations.
-* DEL, PO Mode command <1>:              Obsolete Entries.
-* DEL, PO Mode command:                  Fuzzy Entries.
-* editing comments:                      Modifying Comments.
-* editing multiple entries:              Subedit.
-* editing translations:                  Modifying Translations.
-* etags, using for marking strings:      Marking.
-* exiting PO subedit:                    Subedit.
-* find source fragment for a PO file entry: C Sources Context.
-* h, PO Mode command:                    Main PO Commands.
-* installing PO mode:                    Installation.
-* K, PO Mode command:                    Modifying Comments.
-* k, PO Mode command <1>:                Modifying Translations.
-* k, PO Mode command:                    Untranslated Entries.
-* LFD, PO Mode command:                  Modifying Translations.
-* looking at the source to aid translation: C Sources Context.
-* m, PO Mode command:                    Entry Positioning.
-* M-,, PO Mode command:                  Marking.
-* M-., PO Mode command:                  Marking.
-* M-A, PO Mode command:                  Auxiliary.
-* M-S, PO Mode command:                  C Sources Context.
-* M-s, PO Mode command:                  C Sources Context.
-* M-S, PO Mode command:                  C Sources Context.
-* M-s, PO Mode command:                  C Sources Context.
-* marking strings for translation:       Marking.
-* moving by fuzzy entries:               Fuzzy Entries.
-* moving by obsolete entries:            Obsolete Entries.
-* moving by translated entries:          Translated Entries.
-* moving by untranslated entries:        Untranslated Entries.
-* moving through a PO file:              Entry Positioning.
-* n, PO Mode command:                    Entry Positioning.
-* next-error, stepping through PO file validation results: Main PO Commands.
-* normalize, PO Mode command:            Auxiliary.
-* O, PO Mode command:                    Obsolete Entries.
-* o, PO Mode command:                    Obsolete Entries.
-* O, PO Mode command:                    Obsolete Entries.
-* o, PO Mode command:                    Obsolete Entries.
-* obsolete active entry:                 Obsolete Entries.
-* p, PO Mode command:                    Entry Positioning.
-* pending subedits:                      Subedit.
-* po-auto-edit-with-msgid, PO Mode variable: Modifying Translations.
-* po-auto-fuzzy-on-edit, PO Mode variable: Translated Entries.
-* po-auto-select-on-unfuzzy, PO Mode variable: Fuzzy Entries.
-* po-confirm-and-quit, PO Mode command:  Main PO Commands.
-* po-consider-as-auxiliary, PO Mode command: Auxiliary.
-* po-consider-source-path, PO Mode command: C Sources Context.
-* po-current-entry, PO Mode command:     Entry Positioning.
-* po-cycle-auxiliary, PO Mode command:   Auxiliary.
-* po-cycle-source-reference, PO Mode command: C Sources Context.
-* po-edit-comment, PO Mode command:      Modifying Comments.
-* po-edit-msgstr, PO Mode command:       Modifying Translations.
-* po-exchange-location, PO Mode command: Entry Positioning.
-* po-fade-out-entry, PO Mode command <1>: Obsolete Entries.
-* po-fade-out-entry, PO Mode command:    Fuzzy Entries.
-* po-first-entry, PO Mode command:       Entry Positioning.
-* po-help, PO Mode command:              Main PO Commands.
-* po-ignore-as-auxiliary, PO Mode command: Auxiliary.
-* po-ignore-source-path, PO Mode command: C Sources Context.
-* po-kill-comment, PO Mode command:      Modifying Comments.
-* po-kill-msgstr, PO Mode command <1>:   Modifying Translations.
-* po-kill-msgstr, PO Mode command:       Untranslated Entries.
-* po-kill-ring-save-comment, PO Mode command: Modifying Comments.
-* po-kill-ring-save-msgstr, PO Mode command: Modifying Translations.
-* po-last-entry, PO Mode command:        Entry Positioning.
-* po-mark-translatable, PO Mode command: Marking.
-* po-msgid-to-msgstr, PO Mode command:   Modifying Translations.
-* po-next-entry, PO Mode command:        Entry Positioning.
-* po-next-fuzzy-entry, PO Mode command:  Fuzzy Entries.
-* po-next-obsolete-entry, PO Mode command: Obsolete Entries.
-* po-next-translated-entry, PO Mode command: Translated Entries.
-* po-next-untranslated-entry, PO Mode command: Untranslated Entries.
-* po-normalize, PO Mode command <1>:     Normalizing.
-* po-normalize, PO Mode command:         PO Files.
-* po-other-window, PO Mode command:      Main PO Commands.
-* po-pop-location, PO Mode command:      Entry Positioning.
-* po-previous-entry, PO Mode command:    Entry Positioning.
-* po-previous-fuzzy-entry, PO Mode command: Fuzzy Entries.
-* po-previous-obsolete-entry, PO Mode command: Obsolete Entries.
-* po-previous-translated-entry, PO Mode command: Translated Entries.
-* po-previous-untransted-entry, PO Mode command: Untranslated Entries.
-* po-push-location, PO Mode command:     Entry Positioning.
-* po-quit, PO Mode command:              Main PO Commands.
-* po-select-auxiliary, PO Mode command:  Auxiliary.
-* po-select-mark-and-mark, PO Mode command: Marking.
-* po-select-source-reference, PO Mode command: C Sources Context.
-* po-statistics, PO Mode command:        Main PO Commands.
-* po-subedit-abort, PO Mode command:     Subedit.
-* po-subedit-cycle-auxiliary, PO Mode command: Subedit.
-* po-subedit-exit, PO Mode command:      Subedit.
-* po-subedit-mode-hook, PO Mode variable: Modifying Comments.
-* po-tags-search, PO Mode command:       Marking.
-* po-undo, PO Mode command:              Main PO Commands.
-* po-unfuzzy, PO Mode command:           Fuzzy Entries.
-* po-validate, PO Mode command:          Main PO Commands.
-* po-yank-comment, PO Mode command:      Modifying Comments.
-* po-yank-msgstr, PO Mode command:       Modifying Translations.
-* q, PO Mode command:                    Main PO Commands.
-* Q, PO Mode command:                    Main PO Commands.
-* q, PO Mode command:                    Main PO Commands.
-* Q, PO Mode command:                    Main PO Commands.
-* r, PO Mode command:                    Entry Positioning.
-* RET, PO Mode command:                  Modifying Translations.
-* S, PO Mode command:                    C Sources Context.
-* s, PO Mode command:                    C Sources Context.
-* S, PO Mode command:                    C Sources Context.
-* s, PO Mode command:                    C Sources Context.
-* starting a string translation:         Modifying Translations.
-* string normalization in entries:       Normalizing.
-* subedit minor mode:                    Subedit.
-* T, PO Mode command:                    Translated Entries.
-* t, PO Mode command:                    Translated Entries.
-* T, PO Mode command:                    Translated Entries.
-* t, PO Mode command:                    Translated Entries.
-* TAB, PO Mode command:                  Fuzzy Entries.
-* TAGS, and marking translatable strings: Marking.
-* U, PO Mode command:                    Untranslated Entries.
-* u, PO Mode command:                    Untranslated Entries.
-* U, PO Mode command:                    Untranslated Entries.
-* u, PO Mode command:                    Untranslated Entries.
-* use the source, Luke:                  C Sources Context.
-* using obsolete translations to make new entries: Modifying Translations.
-* using translation compendia:           Compendium.
-* V, PO Mode command:                    Main PO Commands.
-* W, PO Mode command:                    Modifying Comments.
-* w, PO Mode command:                    Modifying Translations.
-* x, PO Mode command:                    Entry Positioning.
-* Y, PO Mode command:                    Modifying Comments.
-* y, PO Mode command:                    Modifying Translations.
-* Z, PO Mode command:                    Fuzzy Entries.
-* z, PO Mode command:                    Fuzzy Entries.
-* Z, PO Mode command:                    Fuzzy Entries.
-* z, PO Mode command:                    Fuzzy Entries.
-
-\1f
-File: gettext.info,  Node: Autoconf Macro Index,  Next: Index,  Prev: PO Mode Index,  Up: Top
-
-Autoconf Macro Index
-********************
-
-* Menu:
-
-* AM_GNU_GETTEXT:                        AM_GNU_GETTEXT.
-* AM_GNU_GETTEXT_VERSION:                AM_GNU_GETTEXT_VERSION.
-* AM_ICONV:                              AM_ICONV.
-
diff --git a/doc/gettext_1.html b/doc/gettext_1.html
deleted file mode 100644 (file)
index 988e875..0000000
+++ /dev/null
@@ -1,703 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52a
-     from gettext.texi on 5 November 2002 -->
-
-<TITLE>GNU gettext utilities - 1  Introduction</TITLE>
-</HEAD>
-<BODY>
-Go to the first, previous, <A HREF="gettext_2.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC1" HREF="gettext_toc.html#TOC1">1  Introduction</A></H1>
-
-
-<BLOCKQUOTE>
-<P>
-This manual is still in <EM>DRAFT</EM> state.  Some sections are still
-empty, or almost.  We keep merging material from other sources
-(essentially e-mail folders) while the proper integration of this
-material is delayed.
-</BLOCKQUOTE>
-
-<P>
-<A NAME="IDX1"></A>
-<A NAME="IDX2"></A>
-<A NAME="IDX3"></A>
-In this manual, we use <EM>he</EM> when speaking of the programmer or
-maintainer, <EM>she</EM> when speaking of the translator, and <EM>they</EM>
-when speaking of the installers or end users of the translated program.
-This is only a convenience for clarifying the documentation.  It is
-<EM>absolutely</EM> not meant to imply that some roles are more appropriate
-to males or females.  Besides, as you might guess, GNU <CODE>gettext</CODE>
-is meant to be useful for people using computers, whatever their sex,
-race, religion or nationality!
-
-</P>
-<P>
-This chapter explains the goals sought in the creation
-of GNU <CODE>gettext</CODE> and the free Translation Project.
-Then, it explains a few broad concepts around
-Native Language Support, and positions message translation with regard
-to other aspects of national and cultural variance, as they apply to
-to programs.  It also surveys those files used to convey the
-translations.  It explains how the various tools interact in the
-initial generation of these files, and later, how the maintenance
-cycle should usually operate.
-
-</P>
-<P>
-<A NAME="IDX4"></A>
-Please send suggestions and corrections to:
-
-</P>
-
-<PRE>
-Internet address:
-    bug-gnu-gettext@gnu.org
-</PRE>
-
-<P>
-Please include the manual's edition number and update date in your messages.
-
-</P>
-
-
-
-<H2><A NAME="SEC2" HREF="gettext_toc.html#TOC2">1.1  The Purpose of GNU <CODE>gettext</CODE></A></H2>
-
-<P>
-Usually, programs are written and documented in English, and use
-English at execution time to interact with users.  This is true
-not only of GNU software, but also of a great deal of commercial
-and free software.  Using a common language is quite handy for
-communication between developers, maintainers and users from all
-countries.  On the other hand, most people are less comfortable with
-English than with their own native language, and would prefer to
-use their mother tongue for day to day's work, as far as possible.
-Many would simply <EM>love</EM> to see their computer screen showing
-a lot less of English, and far more of their own language.
-
-</P>
-<P>
-<A NAME="IDX5"></A>
-However, to many people, this dream might appear so far fetched that
-they may believe it is not even worth spending time thinking about
-it.  They have no confidence at all that the dream might ever
-become true.  Yet some have not lost hope, and have organized themselves.
-The Translation Project is a formalization of this hope into a
-workable structure, which has a good chance to get all of us nearer
-the achievement of a truly multi-lingual set of programs.
-
-</P>
-<P>
-GNU <CODE>gettext</CODE> is an important step for the Translation Project,
-as it is an asset on which we may build many other steps.  This package
-offers to programmers, translators and even users, a well integrated
-set of tools and documentation.  Specifically, the GNU <CODE>gettext</CODE>
-utilities are a set of tools that provides a framework within which
-other free packages may produce multi-lingual messages.  These tools
-include
-
-</P>
-
-<UL>
-<LI>
-
-A set of conventions about how programs should be written to support
-message catalogs.
-
-<LI>
-
-A directory and file naming organization for the message catalogs
-themselves.
-
-<LI>
-
-A runtime library supporting the retrieval of translated messages.
-
-<LI>
-
-A few stand-alone programs to massage in various ways the sets of
-translatable strings, or already translated strings.
-
-<LI>
-
-A special mode for Emacs<A NAME="DOCF1" HREF="gettext_foot.html#FOOT1">(1)</A> which helps preparing these sets
-and bringing them up to date.
-</UL>
-
-<P>
-GNU <CODE>gettext</CODE> is designed to minimize the impact of
-internationalization on program sources, keeping this impact as small
-and hardly noticeable as possible.  Internationalization has better
-chances of succeeding if it is very light weighted, or at least,
-appear to be so, when looking at program sources.
-
-</P>
-<P>
-The Translation Project also uses the GNU <CODE>gettext</CODE> distribution
-as a vehicle for documenting its structure and methods.  This goes
-beyond the strict technicalities of documenting the GNU <CODE>gettext</CODE>
-proper.  By so doing, translators will find in a single place, as
-far as possible, all they need to know for properly doing their
-translating work.  Also, this supplemental documentation might also
-help programmers, and even curious users, in understanding how GNU
-<CODE>gettext</CODE> is related to the remainder of the Translation
-Project, and consequently, have a glimpse at the <EM>big picture</EM>.
-
-</P>
-
-
-<H2><A NAME="SEC3" HREF="gettext_toc.html#TOC3">1.2  I18n, L10n, and Such</A></H2>
-
-<P>
-<A NAME="IDX6"></A>
-<A NAME="IDX7"></A>
-Two long words appear all the time when we discuss support of native
-language in programs, and these words have a precise meaning, worth
-being explained here, once and for all in this document.  The words are
-<EM>internationalization</EM> and <EM>localization</EM>.  Many people,
-tired of writing these long words over and over again, took the
-habit of writing <EM>i18n</EM> and <EM>l10n</EM> instead, quoting the first
-and last letter of each word, and replacing the run of intermediate
-letters by a number merely telling how many such letters there are.
-But in this manual, in the sake of clarity, we will patiently write
-the names in full, each time...
-
-</P>
-<P>
-<A NAME="IDX8"></A>
-By <EM>internationalization</EM>, one refers to the operation by which a
-program, or a set of programs turned into a package, is made aware of and
-able to support multiple languages.  This is a generalization process,
-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#SEC142">10  The Programmer's View</A>.
-
-</P>
-<P>
-<A NAME="IDX9"></A>
-By <EM>localization</EM>, one means the operation by which, in a set
-of programs already internationalized, one gives the program all
-needed information so that it can adapt itself to handle its input
-and output in a fashion which is correct for some native language and
-cultural habits.  This is a particularisation process, by which generic
-methods already implemented in an internationalized program are used
-in specific ways.  The programming environment puts several functions
-to the programmers disposal which allow this runtime configuration.
-The formal description of specific set of cultural habits for some
-country, together with all associated translations targeted to the
-same native language, is called the <EM>locale</EM> for this language
-or country.  Users achieve localization of programs by setting proper
-values to special environment variables, prior to executing those
-programs, identifying which locale should be used.
-
-</P>
-<P>
-In fact, locale message support is only one component of the cultural
-data that makes up a particular locale.  There are a whole host of
-routines and functions provided to aid programmers in developing
-internationalized software and which allow them to access the data
-stored in a particular locale.  When someone presently refers to a
-particular locale, they are obviously referring to the data stored
-within that particular locale.  Similarly, if a programmer is referring
-to "accessing the locale routines", they are referring to the
-complete suite of routines that access all of the locale's information.
-
-</P>
-<P>
-<A NAME="IDX10"></A>
-<A NAME="IDX11"></A>
-<A NAME="IDX12"></A>
-One uses the expression <EM>Native Language Support</EM>, or merely NLS,
-for speaking of the overall activity or feature encompassing both
-internationalization and localization, allowing for multi-lingual
-interactions in a program.  In a nutshell, one could say that
-internationalization is the operation by which further localizations
-are made possible.
-
-</P>
-<P>
-Also, very roughly said, when it comes to multi-lingual messages,
-internationalization is usually taken care of by programmers, and
-localization is usually taken care of by translators.
-
-</P>
-
-
-<H2><A NAME="SEC4" HREF="gettext_toc.html#TOC4">1.3  Aspects in Native Language Support</A></H2>
-
-<P>
-<A NAME="IDX13"></A>
-For a totally multi-lingual distribution, there are many things to
-translate beyond output messages.
-
-</P>
-
-<UL>
-<LI>
-
-As of today, GNU <CODE>gettext</CODE> offers a complete toolset for
-translating messages output by C programs.  Perl scripts and shell
-scripts will also need to be translated.  Even if there are today some hooks
-by which this can be done, these hooks are not integrated as well as they
-should be.
-
-<LI>
-
-Some programs, like <CODE>autoconf</CODE> or <CODE>bison</CODE>, are able
-to produce other programs (or scripts).  Even if the generating
-programs themselves are internationalized, the generated programs they
-produce may need internationalization on their own, and this indirect
-internationalization could be automated right from the generating
-program.  In fact, quite usually, generating and generated programs
-could be internationalized independently, as the effort needed is
-fairly orthogonal.
-
-<LI>
-
-A few programs include textual tables which might need translation
-themselves, independently of the strings contained in the program
-itself.  For example, RFC 1345 gives an English description for each
-character which the <CODE>recode</CODE> program is able to reconstruct at execution.
-Since these descriptions are extracted from the RFC by mechanical means,
-translating them properly would require a prior translation of the RFC
-itself.
-
-<LI>
-
-Almost all programs accept options, which are often worded out so to
-be descriptive for the English readers; one might want to consider
-offering translated versions for program options as well.
-
-<LI>
-
-Many programs read, interpret, compile, or are somewhat driven by
-input files which are texts containing keywords, identifiers, or
-replies which are inherently translatable.  For example, one may want
-<CODE>gcc</CODE> to allow diacriticized characters in identifiers or use
-translated keywords; <SAMP>`rm -i&acute;</SAMP> might accept something else than
-<SAMP>`y&acute;</SAMP> or <SAMP>`n&acute;</SAMP> for replies, etc.  Even if the program will
-eventually make most of its output in the foreign languages, one has
-to decide whether the input syntax, option values, etc., are to be
-localized or not.
-
-<LI>
-
-The manual accompanying a package, as well as all documentation files
-in the distribution, could surely be translated, too.  Translating a
-manual, with the intent of later keeping up with updates, is a major
-undertaking in itself, generally.
-
-</UL>
-
-<P>
-As we already stressed, translation is only one aspect of locales.
-Other internationalization aspects are system services and are handled
-in GNU <CODE>libc</CODE>.  There
-are many attributes that are needed to define a country's cultural
-conventions.  These attributes include beside the country's native
-language, the formatting of the date and time, the representation of
-numbers, the symbols for currency, etc.  These local <EM>rules</EM> are
-termed the country's locale.  The locale represents the knowledge
-needed to support the country's native attributes.
-
-</P>
-<P>
-<A NAME="IDX14"></A>
-There are a few major areas which may vary between countries and
-hence, define what a locale must describe.  The following list helps
-putting multi-lingual messages into the proper context of other tasks
-related to locales.  See the GNU <CODE>libc</CODE> manual for details.
-
-</P>
-<DL COMPACT>
-
-<DT><EM>Characters and Codesets</EM>
-<DD>
-<A NAME="IDX15"></A>
-<A NAME="IDX16"></A>
-<A NAME="IDX17"></A>
-<A NAME="IDX18"></A>
-
-The codeset most commonly used through out the USA and most English
-speaking parts of the world is the ASCII codeset.  However, there are
-many characters needed by various locales that are not found within
-this codeset.  The 8-bit ISO 8859-1 code set has most of the special
-characters needed to handle the major European languages.  However, in
-many cases, the ISO 8859-1 font is not adequate: it doesn't even
-handle the major European currency.  Hence each locale
-will need to specify which codeset they need to use and will need
-to have the appropriate character handling routines to cope with
-the codeset.
-
-<DT><EM>Currency</EM>
-<DD>
-<A NAME="IDX19"></A>
-<A NAME="IDX20"></A>
-
-The symbols used vary from country to country as does the position
-used by the symbol.  Software needs to be able to transparently
-display currency figures in the native mode for each locale.
-
-<DT><EM>Dates</EM>
-<DD>
-<A NAME="IDX21"></A>
-<A NAME="IDX22"></A>
-
-The format of date varies between locales.  For example, Christmas day
-in 1994 is written as 12/25/94 in the USA and as 25/12/94 in Australia.
-Other countries might use ISO 8061 dates, etc.
-
-Time of the day may be noted as <VAR>hh</VAR>:<VAR>mm</VAR>, <VAR>hh</VAR>.<VAR>mm</VAR>,
-or otherwise.  Some locales require time to be specified in 24-hour
-mode rather than as AM or PM.  Further, the nature and yearly extent
-of the Daylight Saving correction vary widely between countries.
-
-<DT><EM>Numbers</EM>
-<DD>
-<A NAME="IDX23"></A>
-<A NAME="IDX24"></A>
-
-Numbers can be represented differently in different locales.
-For example, the following numbers are all written correctly for
-their respective locales:
-
-
-<PRE>
-12,345.67       English
-12.345,67       German
- 12345,67       French
-1,2345.67       Asia
-</PRE>
-
-Some programs could go further and use different unit systems, like
-English units or Metric units, or even take into account variants
-about how numbers are spelled in full.
-
-<DT><EM>Messages</EM>
-<DD>
-<A NAME="IDX25"></A>
-<A NAME="IDX26"></A>
-
-The most obvious area is the language support within a locale.  This is
-where GNU <CODE>gettext</CODE> provides the means for developers and users to
-easily change the language that the software uses to communicate to
-the user.
-
-</DL>
-
-<P>
-<A NAME="IDX27"></A>
-Components of locale outside of message handling are standardized in
-the ISO C standard and the SUSV2 specification.  GNU <CODE>libc</CODE>
-fully implements this, and most other modern systems provide a more
-or less reasonable support for at least some of the missing components.
-
-</P>
-
-
-<H2><A NAME="SEC5" HREF="gettext_toc.html#TOC5">1.4  Files Conveying Translations</A></H2>
-
-<P>
-<A NAME="IDX28"></A>
-The letters PO in <TT>`.po&acute;</TT> files means Portable Object, to
-distinguish it from <TT>`.mo&acute;</TT> files, where MO stands for Machine
-Object.  This paradigm, as well as the PO file format, is inspired
-by the NLS standard developed by Uniforum, and first implemented by
-Sun in their Solaris system.
-
-</P>
-<P>
-PO files are meant to be read and edited by humans, and associate each
-original, translatable string of a given package with its translation
-in a particular target language.  A single PO file is dedicated to
-a single target language.  If a package supports many languages,
-there is one such PO file per language supported, and each package
-has its own set of PO files.  These PO files are best created by
-the <CODE>xgettext</CODE> program, and later updated or refreshed through
-the <CODE>msgmerge</CODE> program.  Program <CODE>xgettext</CODE> extracts all
-marked messages from a set of C files and initializes a PO file with
-empty translations.  Program <CODE>msgmerge</CODE> takes care of adjusting
-PO files between releases of the corresponding sources, commenting
-obsolete entries, initializing new ones, and updating all source
-line references.  Files ending with <TT>`.pot&acute;</TT> are kind of base
-translation files found in distributions, in PO file format.
-
-</P>
-<P>
-MO files are meant to be read by programs, and are binary in nature.
-A few systems already offer tools for creating and handling MO files
-as part of the Native Language Support coming with the system, but the
-format of these MO files is often different from system to system,
-and non-portable.  The tools already provided with these systems don't
-support all the features of GNU <CODE>gettext</CODE>.  Therefore GNU
-<CODE>gettext</CODE> uses its own format for MO files.  Files ending with
-<TT>`.gmo&acute;</TT> are really MO files, when it is known that these files use
-the GNU format.
-
-</P>
-
-
-<H2><A NAME="SEC6" HREF="gettext_toc.html#TOC6">1.5  Overview of GNU <CODE>gettext</CODE></A></H2>
-
-<P>
-<A NAME="IDX29"></A>
-<A NAME="IDX30"></A>
-<A NAME="IDX31"></A>
-The following diagram summarizes the relation between the files
-handled by GNU <CODE>gettext</CODE> and the tools acting on these files.
-It is followed by somewhat detailed explanations, which you should
-read while keeping an eye on the diagram.  Having a clear understanding
-of these interrelations will surely help programmers, translators
-and maintainers.
-
-</P>
-
-<PRE>
-Original C Sources ---&#62; PO mode ---&#62; Marked C Sources ---.
-                                                         |
-              .---------&#60;--- GNU gettext Library         |
-.--- make &#60;---+                                          |
-|             `---------&#60;--------------------+-----------'
-|                                            |
-|   .-----&#60;--- PACKAGE.pot &#60;--- xgettext &#60;---'   .---&#60;--- PO Compendium
-|   |                                            |             ^
-|   |                                            `---.         |
-|   `---.                                            +---&#62; PO mode ---.
-|       +----&#62; msgmerge ------&#62; LANG.po ----&#62;--------'                |
-|   .---'                                                             |
-|   |                                                                 |
-|   `-------------&#60;---------------.                                   |
-|                                 +--- New LANG.po &#60;------------------'
-|   .--- LANG.gmo &#60;--- msgfmt &#60;---'
-|   |
-|   `---&#62; install ---&#62; /.../LANG/PACKAGE.mo ---.
-|                                              +---&#62; "Hello world!"
-`-------&#62; install ---&#62; /.../bin/PROGRAM -------'
-</PRE>
-
-<P>
-The indication <SAMP>`PO mode&acute;</SAMP> appears in two places in this picture,
-and you may safely read it as merely meaning "hand editing", using
-any editor of your choice, really.  However, for those of you being
-the lucky users of Emacs, PO mode has been specifically created
-for providing a cozy environment for editing or modifying PO files.
-While editing a PO file, PO mode allows for the easy browsing of
-auxiliary and compendium PO files, as well as for following references into
-the set of C program sources from which PO files have been derived.
-It has a few special features, among which are the interactive marking
-of program strings as translatable, and the validation of PO files
-with easy repositioning to PO file lines showing errors.
-
-</P>
-<P>
-<A NAME="IDX32"></A>
-As a programmer, the first step to bringing GNU <CODE>gettext</CODE>
-into your package is identifying, right in the C sources, those strings
-which are meant to be translatable, and those which are untranslatable.
-This tedious job can be done a little more comfortably using emacs PO
-mode, but you can use any means familiar to you for modifying your
-C sources.  Beside this some other simple, standard changes are needed to
-properly initialize the translation library.  See section <A HREF="gettext_3.html#SEC13">3  Preparing Program Sources</A>, for
-more information about all this.
-
-</P>
-<P>
-For newly written software the strings of course can and should be
-marked while writing it.  The <CODE>gettext</CODE> approach makes this
-very easy.  Simply put the following lines at the beginning of each file
-or in a central header file:
-
-</P>
-
-<PRE>
-#define _(String) (String)
-#define N_(String) String
-#define textdomain(Domain)
-#define bindtextdomain(Package, Directory)
-</PRE>
-
-<P>
-Doing this allows you to prepare the sources for internationalization.
-Later when you feel ready for the step to use the <CODE>gettext</CODE> library
-simply replace these definitions by the following:
-
-</P>
-<P>
-<A NAME="IDX33"></A>
-
-<PRE>
-#include &#60;libintl.h&#62;
-#define _(String) gettext (String)
-#define gettext_noop(String) String
-#define N_(String) gettext_noop (String)
-</PRE>
-
-<P>
-<A NAME="IDX34"></A>
-<A NAME="IDX35"></A>
-and link against <TT>`libintl.a&acute;</TT> or <TT>`libintl.so&acute;</TT>.  Note that on
-GNU systems, you don't need to link with <CODE>libintl</CODE> because the
-<CODE>gettext</CODE> library functions are already contained in GNU libc.
-That is all you have to change.
-
-</P>
-<P>
-<A NAME="IDX36"></A>
-<A NAME="IDX37"></A>
-Once the C sources have been modified, the <CODE>xgettext</CODE> program
-is used to find and extract all translatable strings, and create a
-PO template file out of all these.  This <TT>`<VAR>package</VAR>.pot&acute;</TT> file
-contains all original program strings.  It has sets of pointers to
-exactly where in C sources each string is used.  All translations
-are set to empty.  The letter <KBD>t</KBD> in <TT>`.pot&acute;</TT> marks this as
-a Template PO file, not yet oriented towards any particular language.
-See section <A HREF="gettext_4.html#SEC21">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#SEC173">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!
-
-</P>
-<P>
-The first time through, there is no <TT>`<VAR>lang</VAR>.po&acute;</TT> yet, so the
-<CODE>msgmerge</CODE> step may be skipped and replaced by a mere copy of
-<TT>`<VAR>package</VAR>.pot&acute;</TT> to <TT>`<VAR>lang</VAR>.po&acute;</TT>, where <VAR>lang</VAR>
-represents the target language.  See section <A HREF="gettext_5.html#SEC30">5  Creating a New PO File</A> for details.
-
-</P>
-<P>
-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#SEC162">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.
-
-</P>
-<P>
-While adding the translated messages into the <TT>`<VAR>lang</VAR>.po&acute;</TT>
-PO file, if you do not have Emacs handy, you are on your own
-for ensuring that your efforts fully respect the PO file format, and quoting
-conventions (see section <A HREF="gettext_2.html#SEC9">2.2  The Format of PO Files</A>).  This is surely not an impossible task,
-as this is the way many people have handled PO files already for Uniforum or
-Solaris.  On the other hand, by using PO mode in Emacs, most details
-of PO file format are taken care of for you, but you have to acquire
-some familiarity with PO mode itself.  Besides main PO mode commands
-(see section <A HREF="gettext_2.html#SEC10">2.3  Main PO mode Commands</A>), you should know how to move between entries
-(see section <A HREF="gettext_2.html#SEC11">2.4  Entry Positioning</A>), and how to handle untranslated entries
-(see section <A HREF="gettext_6.html#SEC48">6.4  Untranslated Entries</A>).
-
-</P>
-<P>
-If some common translations have already been saved into a compendium
-PO file, translators may use PO mode for initializing untranslated
-entries from the compendium, and also save selected translations into
-the compendium, updating it (see section <A HREF="gettext_6.html#SEC55">6.11  Using Translation Compendia</A>).  Compendium files
-are meant to be exchanged between members of a given translation team.
-
-</P>
-<P>
-Programs, or packages of programs, are dynamic in nature: users write
-bug reports and suggestion for improvements, maintainers react by
-modifying programs in various ways.  The fact that a package has
-already been internationalized should not make maintainers shy
-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 programming concerns.
-
-</P>
-<P>
-The only concern maintainers should have is carefully marking new
-strings as translatable, when they should be, and do not otherwise
-worry about them being translated, as this will come in proper time.
-Consequently, when programs and their strings are adjusted in various
-ways by maintainers, and for matters usually unrelated to translation,
-<CODE>xgettext</CODE> would construct <TT>`<VAR>package</VAR>.pot&acute;</TT> files which are
-evolving over time, so the translations carried by <TT>`<VAR>lang</VAR>.po&acute;</TT>
-are slowly fading out of date.
-
-</P>
-<P>
-<A NAME="IDX38"></A>
-It is important for translators (and even maintainers) to understand
-that package translation is a continuous process in the lifetime of a
-package, and not something which is done once and for all at the start.
-After an initial burst of translation activity for a given package,
-interventions are needed once in a while, because here and there,
-translated entries become obsolete, and new untranslated entries
-appear, needing translation.
-
-</P>
-<P>
-The <CODE>msgmerge</CODE> program has the purpose of refreshing an already
-existing <TT>`<VAR>lang</VAR>.po&acute;</TT> file, by comparing it with a newer
-<TT>`<VAR>package</VAR>.pot&acute;</TT> template file, extracted by <CODE>xgettext</CODE>
-out of recent C sources.  The refreshing operation adjusts all
-references to C source locations for strings, since these strings
-move as programs are modified.  Also, <CODE>msgmerge</CODE> comments out as
-obsolete, in <TT>`<VAR>lang</VAR>.po&acute;</TT>, those already translated entries
-which are no longer used in the program sources (see section <A HREF="gettext_6.html#SEC49">6.5  Obsolete Entries</A>).  It finally discovers new strings and inserts them in
-the resulting PO file as untranslated entries (see section <A HREF="gettext_6.html#SEC48">6.4  Untranslated Entries</A>).  See section <A HREF="gettext_6.html#SEC38">6.1  Invoking the <CODE>msgmerge</CODE> Program</A>, for more information about what
-<CODE>msgmerge</CODE> really does.
-
-</P>
-<P>
-Whatever route or means taken, the goal is to obtain an updated
-<TT>`<VAR>lang</VAR>.po&acute;</TT> file offering translations for all strings.
-
-</P>
-<P>
-The temporal mobility, or fluidity of PO files, is an integral part of
-the translation game, and should be well understood, and accepted.
-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 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.
-
-</P>
-<P>
-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#SEC137">8.3  The Format of GNU MO Files</A>).  See section <A HREF="gettext_8.html#SEC120">8.1  Invoking the <CODE>msgfmt</CODE> Program</A>, for more information about all modes of execution
-for the <CODE>msgfmt</CODE> program.
-
-</P>
-<P>
-Finally, the modified and marked C sources are compiled and linked
-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#SEC141">9.3  Magic for End Users</A>), the
-program should localize itself automatically, whenever it executes.
-
-</P>
-<P>
-The remainder of this manual has the purpose of explaining in depth the various
-steps outlined above.
-
-</P>
-<P><HR><P>
-Go to the first, previous, <A HREF="gettext_2.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
-</BODY>
-</HTML>
diff --git a/doc/gettext_10.html b/doc/gettext_10.html
deleted file mode 100644 (file)
index cfda479..0000000
+++ /dev/null
@@ -1,1483 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52a
-     from gettext.texi on 5 November 2002 -->
-
-<TITLE>GNU gettext utilities - 10  The Programmer's View</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_9.html">previous</A>, <A HREF="gettext_11.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC142" HREF="gettext_toc.html#TOC142">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 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.
-
-</P>
-
-
-
-<H2><A NAME="SEC143" HREF="gettext_toc.html#TOC143">10.1  About <CODE>catgets</CODE></A></H2>
-<P>
-<A NAME="IDX822"></A>
-
-</P>
-<P>
-The <CODE>catgets</CODE> implementation is defined in the X/Open Portability
-Guide, Volume 3, XSI Supplementary Definitions, Chapter 5.  But the
-process of creating this standard seemed to be too slow for some of
-the Unix vendors so they created their implementations on preliminary
-versions of the standard.  Of course this leads again to problems while
-writing platform independent programs: even the usage of <CODE>catgets</CODE>
-does not guarantee a unique interface.
-
-</P>
-<P>
-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 I and
-some others do...)
-
-</P>
-<P>
-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 very same who
-published this specification.  This leads me to making the prediction
-that this interface will be in future Unix standards (e.g. Spec1170) and
-therefore part of all Unix implementation (implementations, which are
-<EM>allowed</EM> to wear this name).
-
-</P>
-
-
-
-<H3><A NAME="SEC144" HREF="gettext_toc.html#TOC144">10.1.1  The Interface</A></H3>
-<P>
-<A NAME="IDX823"></A>
-
-</P>
-<P>
-The interface to the <CODE>catgets</CODE> implementation consists of three
-functions which correspond to those used in file access: <CODE>catopen</CODE>
-to open the catalog for using, <CODE>catgets</CODE> for accessing the message
-tables, and <CODE>catclose</CODE> for closing after work is done.  Prototypes
-for the functions and the needed definitions are in the
-<CODE>&#60;nl_types.h&#62;</CODE> header file.
-
-</P>
-<P>
-<A NAME="IDX824"></A>
-<CODE>catopen</CODE> is used like in this:
-
-</P>
-
-<PRE>
-nl_catd catd = catopen ("catalog_name", 0);
-</PRE>
-
-<P>
-The function takes as the argument the name of the catalog.  This usual
-refers to the name of the program or the package.  The second parameter
-is not further specified in the standard.  I don't even know whether it
-is implemented consistently among various systems.  So the common advice
-is to use <CODE>0</CODE> as the value.  The return value is a handle to the
-message catalog, equivalent to handles to file returned by <CODE>open</CODE>.
-
-</P>
-<P>
-<A NAME="IDX825"></A>
-This handle is of course used in the <CODE>catgets</CODE> function which can
-be used like this:
-
-</P>
-
-<PRE>
-char *translation = catgets (catd, set_no, msg_id, "original string");
-</PRE>
-
-<P>
-The first parameter is this catalog descriptor.  The second parameter
-specifies the set of messages in this catalog, in which the message
-described by <CODE>msg_id</CODE> is obtained.  <CODE>catgets</CODE> therefore uses a
-three-stage addressing:
-
-</P>
-
-<PRE>
-catalog name => set number => message ID => translation
-</PRE>
-
-<P>
-The fourth argument is not used to address the translation.  It is given
-as a default value in case when one of the addressing stages fail.  One
-important thing to remember is that although the return type of catgets
-is <CODE>char *</CODE> the resulting string <EM>must not</EM> be changed.  It
-should better be <CODE>const char *</CODE>, but the standard is published in
-1988, one year before ANSI C.
-
-</P>
-<P>
-<A NAME="IDX826"></A>
-The last of these function functions is used and behaves as expected:
-
-</P>
-
-<PRE>
-catclose (catd);
-</PRE>
-
-<P>
-After this no <CODE>catgets</CODE> call using the descriptor is legal anymore.
-
-</P>
-
-
-<H3><A NAME="SEC145" HREF="gettext_toc.html#TOC145">10.1.2  Problems with the <CODE>catgets</CODE> Interface?!</A></H3>
-<P>
-<A NAME="IDX827"></A>
-
-</P>
-<P>
-Now that this description seemed to be really easy -- where are the
-problems we speak of?  In fact the interface could be used in a
-reasonable way, but constructing the message catalogs is a pain.  The
-reason for this lies in the third argument of <CODE>catgets</CODE>: the unique
-message ID.  This has to be a numeric value for all messages in a single
-set.  Perhaps you could imagine the problems keeping such a list while
-changing the source code.  Add a new message here, remove one there.  Of
-course there have been developed a lot of tools helping to organize this
-chaos but one as the other fails in one aspect or the other.  We don't
-want to say that the other approach has no problems but they are far
-more easy to manage.
-
-</P>
-
-
-<H2><A NAME="SEC146" HREF="gettext_toc.html#TOC146">10.2  About <CODE>gettext</CODE></A></H2>
-<P>
-<A NAME="IDX828"></A>
-
-</P>
-<P>
-The definition of the <CODE>gettext</CODE> interface comes from a Uniforum
-proposal and it is followed by at least one major Unix vendor
-(Sun) in its last developments.  It is not specified in any official
-standard, though.
-
-</P>
-<P>
-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 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#SEC154">10.3  Comparing the Two Interfaces</A> for a more
-detailed comparison of the two methods.
-
-</P>
-<P>
-The following section contains a rather detailed description of the
-interface.  We make it that detailed because this is the interface
-we chose for the GNU <CODE>gettext</CODE> Library.  Programmers interested
-in using this library will be interested in this description.
-
-</P>
-
-
-
-<H3><A NAME="SEC147" HREF="gettext_toc.html#TOC147">10.2.1  The Interface</A></H3>
-<P>
-<A NAME="IDX829"></A>
-
-</P>
-<P>
-The minimal functionality an interface must have is a) to select a
-domain the strings are coming from (a single domain for all programs is
-not reasonable because its construction and maintenance is difficult,
-perhaps impossible) and b) to access a string in a selected domain.
-
-</P>
-<P>
-This is principally the description of the <CODE>gettext</CODE> interface.  It
-has a global domain which unqualified usages reference.  Of course this
-domain is selectable by the user.
-
-</P>
-
-<PRE>
-char *textdomain (const char *domain_name);
-</PRE>
-
-<P>
-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 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
-that no checks of the availability are made.  If the name is not
-available you will see this by the fact that no translations are provided.
-
-</P>
-<P>
-To use a domain set by <CODE>textdomain</CODE> the function
-
-</P>
-
-<PRE>
-char *gettext (const char *msgid);
-</PRE>
-
-<P>
-is to be used.  This is the simplest reasonable form one can imagine.
-The translation of the string <VAR>msgid</VAR> is returned if it is available
-in the current domain.  If not available the argument itself is
-returned.  If the argument is <CODE>NULL</CODE> the result is undefined.
-
-</P>
-<P>
-One things which should come into mind is that no explicit dependency to
-the used domain is given.  The current value of the domain for the
-<CODE>LC_MESSAGES</CODE> locale is used.  If this changes between two
-executions of the same <CODE>gettext</CODE> call in the program, both calls
-reference a different message catalog.
-
-</P>
-<P>
-For the easiest case, which is normally used in internationalized
-packages, once at the beginning of execution a call to <CODE>textdomain</CODE>
-is issued, setting the domain to a unique name, normally the package
-name.  In the following code all strings which have to be translated are
-filtered through the gettext function.  That's all, the package speaks
-your language.
-
-</P>
-
-
-<H3><A NAME="SEC148" HREF="gettext_toc.html#TOC148">10.2.2  Solving Ambiguities</A></H3>
-<P>
-<A NAME="IDX830"></A>
-<A NAME="IDX831"></A>
-<A NAME="IDX832"></A>
-
-</P>
-<P>
-While this single name domain works well for most applications there
-might be the need to get translations from more than one domain.  Of
-course one could switch between different domains with calls to
-<CODE>textdomain</CODE>, but this is really not convenient nor is it fast.  A
-possible situation could be one case subject to discussion during this
-writing:  all
-error messages of functions in the set of common used functions should
-go into a separate domain <CODE>error</CODE>.  By this mean we would only need
-to translate them once.
-Another case are messages from a library, as these <EM>have</EM> to be
-independent of the current domain set by the application.
-
-</P>
-<P>
-For this reasons there are two more functions to retrieve strings:
-
-</P>
-
-<PRE>
-char *dgettext (const char *domain_name, const char *msgid);
-char *dcgettext (const char *domain_name, const char *msgid,
-                 int category);
-</PRE>
-
-<P>
-Both take an additional argument at the first place, which corresponds
-to the argument of <CODE>textdomain</CODE>.  The third argument of
-<CODE>dcgettext</CODE> allows to use another locale but <CODE>LC_MESSAGES</CODE>.
-But I really don't know where this can be useful.  If the
-<VAR>domain_name</VAR> is <CODE>NULL</CODE> or <VAR>category</VAR> has an value beside
-the known ones, the result is undefined.  It should also be noted that
-this function is not part of the second known implementation of this
-function family, the one found in Solaris.
-
-</P>
-<P>
-A second ambiguity can arise by the fact, that perhaps more than one
-domain has the same name.  This can be solved by specifying where the
-needed message catalog files can be found.
-
-</P>
-
-<PRE>
-char *bindtextdomain (const char *domain_name,
-                      const char *dir_name);
-</PRE>
-
-<P>
-Calling this function binds the given domain to a file in the specified
-directory (how this file is determined follows below).  Especially a
-file in the systems default place is not favored against the specified
-file anymore (as it would be by solely using <CODE>textdomain</CODE>).  A
-<CODE>NULL</CODE> pointer for the <VAR>dir_name</VAR> parameter returns the binding
-associated with <VAR>domain_name</VAR>.  If <VAR>domain_name</VAR> itself is
-<CODE>NULL</CODE> nothing happens and a <CODE>NULL</CODE> pointer is returned.  Here
-again as for all the other functions is true that none of the return
-value must be changed!
-
-</P>
-<P>
-It is important to remember that relative path names for the
-<VAR>dir_name</VAR> parameter can be trouble.  Since the path is always
-computed relative to the current directory different results will be
-achieved when the program executes a <CODE>chdir</CODE> command.  Relative
-paths should always be avoided to avoid dependencies and
-unreliabilities.
-
-</P>
-
-
-<H3><A NAME="SEC149" HREF="gettext_toc.html#TOC149">10.2.3  Locating Message Catalog Files</A></H3>
-<P>
-<A NAME="IDX833"></A>
-
-</P>
-<P>
-Because many different languages for many different packages have to be
-stored we need some way to add these information to file message catalog
-files.  The way usually used in Unix environments is have this encoding
-in the file name.  This is also done here.  The directory name given in
-<CODE>bindtextdomain</CODE>s second argument (or the default directory),
-followed by the value and name of the locale and the domain name are
-concatenated:
-
-</P>
-
-<PRE>
-<VAR>dir_name</VAR>/<VAR>locale</VAR>/LC_<VAR>category</VAR>/<VAR>domain_name</VAR>.mo
-</PRE>
-
-<P>
-The default value for <VAR>dir_name</VAR> is system specific.  For the GNU
-library, and for packages adhering to its conventions, it's:
-
-<PRE>
-/usr/local/share/locale
-</PRE>
-
-<P>
-<VAR>locale</VAR> is the value of the locale whose name is this
-<CODE>LC_<VAR>category</VAR></CODE>.  For <CODE>gettext</CODE> and <CODE>dgettext</CODE> this
-<CODE>LC_<VAR>category</VAR></CODE> is always <CODE>LC_MESSAGES</CODE>.<A NAME="DOCF3" HREF="gettext_foot.html#FOOT3">(3)</A>
-The value of the locale is determined through
-<CODE>setlocale (LC_<VAR>category</VAR>, NULL)</CODE>.
-<A NAME="DOCF4" HREF="gettext_foot.html#FOOT4">(4)</A>
-<CODE>dcgettext</CODE> specifies the locale category by the third argument.
-
-</P>
-
-
-<H3><A NAME="SEC150" HREF="gettext_toc.html#TOC150">10.2.4  How to specify the output character set <CODE>gettext</CODE> uses</A></H3>
-<P>
-<A NAME="IDX834"></A>
-<A NAME="IDX835"></A>
-
-</P>
-<P>
-<CODE>gettext</CODE> not only looks up a translation in a message catalog.  It
-also converts the translation on the fly to the desired output character
-set.  This is useful if the user is working in a different character set
-than the translator who created the message catalog, because it avoids
-distributing variants of message catalogs which differ only in the
-character set.
-
-</P>
-<P>
-The output character set is, by default, the value of <CODE>nl_langinfo
-(CODESET)</CODE>, which depends on the <CODE>LC_CTYPE</CODE> part of the current
-locale.  But programs which store strings in a locale independent way
-(e.g. UTF-8) can request that <CODE>gettext</CODE> and related functions
-return the translations in that encoding, by use of the
-<CODE>bind_textdomain_codeset</CODE> function.
-
-</P>
-<P>
-Note that the <VAR>msgid</VAR> argument to <CODE>gettext</CODE> is not subject to
-character set conversion.  Also, when <CODE>gettext</CODE> does not find a
-translation for <VAR>msgid</VAR>, it returns <VAR>msgid</VAR> unchanged --
-independently of the current output character set.  It is therefore
-recommended that all <VAR>msgid</VAR>s be US-ASCII strings.
-
-</P>
-<P>
-<DL>
-<DT><U>Function:</U> char * <B>bind_textdomain_codeset</B> <I>(const char *<VAR>domainname</VAR>, const char *<VAR>codeset</VAR>)</I>
-<DD><A NAME="IDX836"></A>
-The <CODE>bind_textdomain_codeset</CODE> function can be used to specify the
-output character set for message catalogs for domain <VAR>domainname</VAR>.
-The <VAR>codeset</VAR> argument must be a valid codeset name which can be used
-for the <CODE>iconv_open</CODE> function, or a null pointer.
-
-</P>
-<P>
-If the <VAR>codeset</VAR> parameter is the null pointer,
-<CODE>bind_textdomain_codeset</CODE> returns the currently selected codeset
-for the domain with the name <VAR>domainname</VAR>. It returns <CODE>NULL</CODE> if
-no codeset has yet been selected.
-
-</P>
-<P>
-The <CODE>bind_textdomain_codeset</CODE> function can be used several times. 
-If used multiple times with the same <VAR>domainname</VAR> argument, the
-later call overrides the settings made by the earlier one.
-
-</P>
-<P>
-The <CODE>bind_textdomain_codeset</CODE> function returns a pointer to a
-string containing the name of the selected codeset.  The string is
-allocated internally in the function and must not be changed by the
-user.  If the system went out of core during the execution of
-<CODE>bind_textdomain_codeset</CODE>, the return value is <CODE>NULL</CODE> and the
-global variable <VAR>errno</VAR> is set accordingly.
-</DL>
-
-</P>
-
-
-<H3><A NAME="SEC151" HREF="gettext_toc.html#TOC151">10.2.5  Additional functions for plural forms</A></H3>
-<P>
-<A NAME="IDX837"></A>
-
-</P>
-<P>
-The functions of the <CODE>gettext</CODE> family described so far (and all the
-<CODE>catgets</CODE> functions as well) have one problem in the real world
-which have been neglected completely in all existing approaches.  What
-is meant here is the handling of plural forms.
-
-</P>
-<P>
-Looking through Unix source code before the time anybody thought about
-internationalization (and, sadly, even afterwards) one can often find
-code similar to the following:
-
-</P>
-
-<PRE>
-   printf ("%d file%s deleted", n, n == 1 ? "" : "s");
-</PRE>
-
-<P>
-After the first complaints from people internationalizing the code people
-either completely avoided formulations like this or used strings like
-<CODE>"file(s)"</CODE>.  Both look unnatural and should be avoided.  First
-tries to solve the problem correctly looked like this:
-
-</P>
-
-<PRE>
-   if (n == 1)
-     printf ("%d file deleted", n);
-   else
-     printf ("%d files deleted", n);
-</PRE>
-
-<P>
-But this does not solve the problem.  It helps languages where the
-plural form of a noun is not simply constructed by adding an `s' but
-that is all.  Once again people fell into the trap of believing the
-rules their language is using are universal.  But the handling of plural
-forms differs widely between the language families.  For example,
-Rafal Maszkowski <CODE>&#60;rzm@mat.uni.torun.pl&#62;</CODE> reports:
-
-</P>
-
-<BLOCKQUOTE>
-<P>
-In Polish we use e.g. plik (file) this way:
-
-<PRE>
-1 plik
-2,3,4 pliki
-5-21 pliko'w
-22-24 pliki
-25-31 pliko'w
-</PRE>
-
-<P>
-and so on (o' means 8859-2 oacute which should be rather okreska,
-similar to aogonek).
-</BLOCKQUOTE>
-
-<P>
-There are two things which can differ between languages (and even inside
-language families);
-
-</P>
-
-<UL>
-<LI>
-
-The form how plural forms are built differs.  This is a problem with
-languages which have many irregularities.  German, for instance, is a
-drastic case.  Though English and German are part of the same language
-family (Germanic), the almost regular forming of plural noun forms
-(appending an `s') is hardly found in German.
-
-<LI>
-
-The number of plural forms differ.  This is somewhat surprising for
-those who only have experiences with Romanic and Germanic languages
-since here the number is the same (there are two).
-
-But other language families have only one form or many forms.  More
-information on this in an extra section.
-</UL>
-
-<P>
-The consequence of this is that application writers should not try to
-solve the problem in their code.  This would be localization since it is
-only usable for certain, hardcoded language environments.  Instead the
-extended <CODE>gettext</CODE> interface should be used.
-
-</P>
-<P>
-These extra functions are taking instead of the one key string two
-strings and a numerical argument.  The idea behind this is that using
-the numerical argument and the first string as a key, the implementation
-can select using rules specified by the translator the right plural
-form.  The two string arguments then will be used to provide a return
-value in case no message catalog is found (similar to the normal
-<CODE>gettext</CODE> behavior).  In this case the rules for Germanic language
-is used and it is assumed that the first string argument is the singular
-form, the second the plural form.
-
-</P>
-<P>
-This has the consequence that programs without language catalogs can
-display the correct strings only if the program itself is written using
-a Germanic language.  This is a limitation but since the GNU C library
-(as well as the GNU <CODE>gettext</CODE> package) are written as part of the
-GNU package and the coding standards for the GNU project require program
-being written in English, this solution nevertheless fulfills its
-purpose.
-
-</P>
-<P>
-<DL>
-<DT><U>Function:</U> char * <B>ngettext</B> <I>(const char *<VAR>msgid1</VAR>, const char *<VAR>msgid2</VAR>, unsigned long int <VAR>n</VAR>)</I>
-<DD><A NAME="IDX838"></A>
-The <CODE>ngettext</CODE> function is similar to the <CODE>gettext</CODE> function
-as it finds the message catalogs in the same way.  But it takes two
-extra arguments.  The <VAR>msgid1</VAR> parameter must contain the singular
-form of the string to be converted.  It is also used as the key for the
-search in the catalog.  The <VAR>msgid2</VAR> parameter is the plural form.
-The parameter <VAR>n</VAR> is used to determine the plural form.  If no
-message catalog is found <VAR>msgid1</VAR> is returned if <CODE>n == 1</CODE>,
-otherwise <CODE>msgid2</CODE>.
-
-</P>
-<P>
-An example for the use of this function is:
-
-</P>
-
-<PRE>
-printf (ngettext ("%d file removed", "%d files removed", n), n);
-</PRE>
-
-<P>
-Please note that the numeric value <VAR>n</VAR> has to be passed to the
-<CODE>printf</CODE> function as well.  It is not sufficient to pass it only to
-<CODE>ngettext</CODE>.
-</DL>
-
-</P>
-<P>
-<DL>
-<DT><U>Function:</U> char * <B>dngettext</B> <I>(const char *<VAR>domain</VAR>, const char *<VAR>msgid1</VAR>, const char *<VAR>msgid2</VAR>, unsigned long int <VAR>n</VAR>)</I>
-<DD><A NAME="IDX839"></A>
-The <CODE>dngettext</CODE> is similar to the <CODE>dgettext</CODE> function in the
-way the message catalog is selected.  The difference is that it takes
-two extra parameter to provide the correct plural form.  These two
-parameters are handled in the same way <CODE>ngettext</CODE> handles them.
-</DL>
-
-</P>
-<P>
-<DL>
-<DT><U>Function:</U> char * <B>dcngettext</B> <I>(const char *<VAR>domain</VAR>, const char *<VAR>msgid1</VAR>, const char *<VAR>msgid2</VAR>, unsigned long int <VAR>n</VAR>, int <VAR>category</VAR>)</I>
-<DD><A NAME="IDX840"></A>
-The <CODE>dcngettext</CODE> is similar to the <CODE>dcgettext</CODE> function in the
-way the message catalog is selected.  The difference is that it takes
-two extra parameter to provide the correct plural form.  These two
-parameters are handled in the same way <CODE>ngettext</CODE> handles them.
-</DL>
-
-</P>
-<P>
-Now, how do these functions solve the problem of the plural forms?
-Without the input of linguists (which was not available) it was not
-possible to determine whether there are only a few different forms in
-which plural forms are formed or whether the number can increase with
-every new supported language.
-
-</P>
-<P>
-Therefore the solution implemented is to allow the translator to specify
-the rules of how to select the plural form.  Since the formula varies
-with every language this is the only viable solution except for
-hardcoding the information in the code (which still would require the
-possibility of extensions to not prevent the use of new languages).
-
-</P>
-<P>
-<A NAME="IDX841"></A>
-<A NAME="IDX842"></A>
-<A NAME="IDX843"></A>
-The information about the plural form selection has to be stored in the
-header entry of the PO file (the one with the empty <CODE>msgid</CODE> string).
-The plural form information looks like this:
-
-</P>
-
-<PRE>
-Plural-Forms: nplurals=2; plural=n == 1 ? 0 : 1;
-</PRE>
-
-<P>
-The <CODE>nplurals</CODE> value must be a decimal number which specifies how
-many different plural forms exist for this language.  The string
-following <CODE>plural</CODE> is an expression which is using the C language
-syntax.  Exceptions are that no negative numbers are allowed, numbers
-must be decimal, and the only variable allowed is <CODE>n</CODE>.  This
-expression will be evaluated whenever one of the functions
-<CODE>ngettext</CODE>, <CODE>dngettext</CODE>, or <CODE>dcngettext</CODE> is called.  The
-numeric value passed to these functions is then substituted for all uses
-of the variable <CODE>n</CODE> in the expression.  The resulting value then
-must be greater or equal to zero and smaller than the value given as the
-value of <CODE>nplurals</CODE>.
-
-</P>
-<P>
-<A NAME="IDX844"></A>
-The following rules are known at this point.  The language with families
-are listed.  But this does not necessarily mean the information can be
-generalized for the whole family (as can be easily seen in the table
-below).<A NAME="DOCF5" HREF="gettext_foot.html#FOOT5">(5)</A>
-
-</P>
-<DL COMPACT>
-
-<DT>Only one form:
-<DD>
-Some languages only require one single form.  There is no distinction
-between the singular and plural form.  An appropriate header entry
-would look like this:
-
-
-<PRE>
-Plural-Forms: nplurals=1; plural=0;
-</PRE>
-
-Languages with this property include:
-
-<DL COMPACT>
-
-<DT>Finno-Ugric family
-<DD>
-Hungarian
-<DT>Asian family
-<DD>
-Japanese, Korean
-<DT>Turkic/Altaic family
-<DD>
-Turkish
-</DL>
-
-<DT>Two forms, singular used for one only
-<DD>
-This is the form used in most existing programs since it is what English
-is using.  A header entry would look like this:
-
-
-<PRE>
-Plural-Forms: nplurals=2; plural=n != 1;
-</PRE>
-
-(Note: this uses the feature of C expressions that boolean expressions
-have to value zero or one.)
-
-Languages with this property include:
-
-<DL COMPACT>
-
-<DT>Germanic family
-<DD>
-Danish, Dutch, English, German, Norwegian, Swedish
-<DT>Finno-Ugric family
-<DD>
-Estonian, Finnish
-<DT>Latin/Greek family
-<DD>
-Greek
-<DT>Semitic family
-<DD>
-Hebrew
-<DT>Romanic family
-<DD>
-Italian, Portuguese, Spanish
-<DT>Artificial
-<DD>
-Esperanto
-</DL>
-
-<DT>Two forms, singular used for zero and one
-<DD>
-Exceptional case in the language family.  The header entry would be:
-
-
-<PRE>
-Plural-Forms: nplurals=2; plural=n&#62;1;
-</PRE>
-
-Languages with this property include:
-
-<DL COMPACT>
-
-<DT>Romanic family
-<DD>
-French, Brazilian Portuguese
-</DL>
-
-<DT>Three forms, special case for zero
-<DD>
-The header entry would be:
-
-
-<PRE>
-Plural-Forms: nplurals=3; plural=n%10==1 &#38;&#38; n%100!=11 ? 0 : n != 0 ? 1 : 2;
-</PRE>
-
-Languages with this property include:
-
-<DL COMPACT>
-
-<DT>Baltic family
-<DD>
-Latvian
-</DL>
-
-<DT>Three forms, special cases for one and two
-<DD>
-The header entry would be:
-
-
-<PRE>
-Plural-Forms: nplurals=3; plural=n==1 ? 0 : n==2 ? 1 : 2;
-</PRE>
-
-Languages with this property include:
-
-<DL COMPACT>
-
-<DT>Celtic
-<DD>
-Gaeilge (Irish)
-</DL>
-
-<DT>Three forms, special case for numbers ending in 1[2-9]
-<DD>
-The header entry would look like this:
-
-
-<PRE>
-Plural-Forms: nplurals=3; \
-    plural=n%10==1 &#38;&#38; n%100!=11 ? 0 : \
-           n%10&#62;=2 &#38;&#38; (n%100&#60;10 || n%100&#62;=20) ? 1 : 2;
-</PRE>
-
-Languages with this property include:
-
-<DL COMPACT>
-
-<DT>Baltic family
-<DD>
-Lithuanian
-</DL>
-
-<DT>Three forms, special cases for numbers ending in 1 and 2, 3, 4, except those ending in 1[1-4]
-<DD>
-The header entry would look like this:
-
-
-<PRE>
-Plural-Forms: nplurals=3; \
-    plural=n%10==1 &#38;&#38; n%100!=11 ? 0 : \
-           n%10&#62;=2 &#38;&#38; n%10&#60;=4 &#38;&#38; (n%100&#60;10 || n%100&#62;=20) ? 1 : 2;
-</PRE>
-
-Languages with this property include:
-
-<DL COMPACT>
-
-<DT>Slavic family
-<DD>
-Croatian, Czech, Russian, Slovak, Ukrainian
-</DL>
-
-<DT>Three forms, special case for one and some numbers ending in 2, 3, or 4
-<DD>
-The header entry would look like this:
-
-
-<PRE>
-Plural-Forms: nplurals=3; \
-    plural=n==1 ? 0 : \
-           n%10&#62;=2 &#38;&#38; n%10&#60;=4 &#38;&#38; (n%100&#60;10 || n%100&#62;=20) ? 1 : 2;
-</PRE>
-
-Languages with this property include:
-
-<DL COMPACT>
-
-<DT>Slavic family
-<DD>
-Polish
-</DL>
-
-<DT>Four forms, special case for one and all numbers ending in 02, 03, or 04
-<DD>
-The header entry would look like this:
-
-
-<PRE>
-Plural-Forms: nplurals=4; \
-    plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;
-</PRE>
-
-Languages with this property include:
-
-<DL COMPACT>
-
-<DT>Slavic family
-<DD>
-Slovenian
-</DL>
-</DL>
-
-
-
-<H3><A NAME="SEC152" HREF="gettext_toc.html#TOC152">10.2.6  How to use <CODE>gettext</CODE> in GUI programs</A></H3>
-<P>
-<A NAME="IDX845"></A>
-<A NAME="IDX846"></A>
-<A NAME="IDX847"></A>
-
-</P>
-<P>
-One place where the <CODE>gettext</CODE> functions, if used normally, have big
-problems is within programs with graphical user interfaces (GUIs).  The
-problem is that many of the strings which have to be translated are very
-short.  They have to appear in pull-down menus which restricts the
-length.  But strings which are not containing entire sentences or at
-least large fragments of a sentence may appear in more than one
-situation in the program but might have different translations.  This is
-especially true for the one-word strings which are frequently used in
-GUI programs.
-
-</P>
-<P>
-As a consequence many people say that the <CODE>gettext</CODE> approach is
-wrong and instead <CODE>catgets</CODE> should be used which indeed does not
-have this problem.  But there is a very simple and powerful method to
-handle these kind of problems with the <CODE>gettext</CODE> functions.
-
-</P>
-<P>
-As as example consider the following fictional situation.  A GUI program
-has a menu bar with the following entries:
-
-</P>
-
-<PRE>
-+------------+------------+--------------------------------------+
-| File       | Printer    |                                      |
-+------------+------------+--------------------------------------+
-| Open     | | Select   |
-| New      | | Open     |
-+----------+ | Connect  |
-             +----------+
-</PRE>
-
-<P>
-To have the strings <CODE>File</CODE>, <CODE>Printer</CODE>, <CODE>Open</CODE>,
-<CODE>New</CODE>, <CODE>Select</CODE>, and <CODE>Connect</CODE> translated there has to be
-at some point in the code a call to a function of the <CODE>gettext</CODE>
-family.  But in two places the string passed into the function would be
-<CODE>Open</CODE>.  The translations might not be the same and therefore we
-are in the dilemma described above.
-
-</P>
-<P>
-One solution to this problem is to artificially enlengthen the strings
-to make them unambiguous.  But what would the program do if no
-translation is available?  The enlengthened string is not what should be
-printed.  So we should use a little bit modified version of the functions.
-
-</P>
-<P>
-To enlengthen the strings a uniform method should be used.  E.g., in the
-example above the strings could be chosen as
-
-</P>
-
-<PRE>
-Menu|File
-Menu|Printer
-Menu|File|Open
-Menu|File|New
-Menu|Printer|Select
-Menu|Printer|Open
-Menu|Printer|Connect
-</PRE>
-
-<P>
-Now all the strings are different and if now instead of <CODE>gettext</CODE>
-the following little wrapper function is used, everything works just
-fine:
-
-</P>
-<P>
-<A NAME="IDX848"></A>
-
-<PRE>
-  char *
-  sgettext (const char *msgid)
-  {
-    char *msgval = gettext (msgid);
-    if (msgval == msgid)
-      msgval = strrchr (msgid, '|') + 1;
-    return msgval;
-  }
-</PRE>
-
-<P>
-What this little function does is to recognize the case when no
-translation is available.  This can be done very efficiently by a
-pointer comparison since the return value is the input value.  If there
-is no translation we know that the input string is in the format we used
-for the Menu entries and therefore contains a <CODE>|</CODE> character.  We
-simply search for the last occurrence of this character and return a
-pointer to the character following it.  That's it!
-
-</P>
-<P>
-If one now consistently uses the enlengthened string form and replaces
-the <CODE>gettext</CODE> calls with calls to <CODE>sgettext</CODE> (this is normally
-limited to very few places in the GUI implementation) then it is
-possible to produce a program which can be internationalized.
-
-</P>
-<P>
-The other <CODE>gettext</CODE> functions (<CODE>dgettext</CODE>, <CODE>dcgettext</CODE>
-and the <CODE>ngettext</CODE> equivalents) can and should have corresponding
-functions as well which look almost identical, except for the parameters
-and the call to the underlying function.
-
-</P>
-<P>
-Now there is of course the question why such functions do not exist in
-the GNU gettext package?  There are two parts of the answer to this question.
-
-</P>
-
-<UL>
-<LI>
-
-They are easy to write and therefore can be provided by the project they
-are used in.  This is not an answer by itself and must be seen together
-with the second part which is:
-
-<LI>
-
-There is no way the gettext package can contain a version which can work
-everywhere.  The problem is the selection of the character to separate
-the prefix from the actual string in the enlenghtened string.  The
-examples above used <CODE>|</CODE> which is a quite good choice because it
-resembles a notation frequently used in this context and it also is a
-character not often used in message strings.
-
-But what if the character is used in message strings?  Or if the chose
-character is not available in the character set on the machine one
-compiles (e.g., <CODE>|</CODE> is not required to exist for ISO C; this is
-why the <TT>`iso646.h&acute;</TT> file exists in ISO C programming environments).
-</UL>
-
-<P>
-There is only one more comment to be said.  The wrapper function above
-requires that the translations strings are not enlengthened themselves.
-This is only logical.  There is no need to disambiguate the strings
-(since they are never used as keys for a search) and one also saves
-quite some memory and disk space by doing this.
-
-</P>
-
-
-<H3><A NAME="SEC153" HREF="gettext_toc.html#TOC153">10.2.7  Optimization of the *gettext functions</A></H3>
-<P>
-<A NAME="IDX849"></A>
-
-</P>
-<P>
-At this point of the discussion we should talk about an advantage of the
-GNU <CODE>gettext</CODE> implementation.  Some readers might have pointed out
-that an internationalized program might have a poor performance if some
-string has to be translated in an inner loop.  While this is unavoidable
-when the string varies from one run of the loop to the other it is
-simply a waste of time when the string is always the same.  Take the
-following example:
-
-</P>
-
-<PRE>
-{
-  while (...)
-    {
-      puts (gettext ("Hello world"));
-    }
-}
-</PRE>
-
-<P>
-When the locale selection does not change between two runs the resulting
-string is always the same.  One way to use this is:
-
-</P>
-
-<PRE>
-{
-  str = gettext ("Hello world");
-  while (...)
-    {
-      puts (str);
-    }
-}
-</PRE>
-
-<P>
-But this solution is not usable in all situation (e.g. when the locale
-selection changes) nor does it lead to legible code.
-
-</P>
-<P>
-For this reason, GNU <CODE>gettext</CODE> caches previous translation results.
-When the same translation is requested twice, with no new message
-catalogs being loaded in between, <CODE>gettext</CODE> will, the second time,
-find the result through a single cache lookup.
-
-</P>
-
-
-<H2><A NAME="SEC154" HREF="gettext_toc.html#TOC154">10.3  Comparing the Two Interfaces</A></H2>
-<P>
-<A NAME="IDX850"></A>
-<A NAME="IDX851"></A>
-
-</P>
-
-<P>
-The following discussion is perhaps a little bit colored.  As said
-above we implemented GNU <CODE>gettext</CODE> following the Uniforum
-proposal and this surely has its reasons.  But it should show how we
-came to this decision.
-
-</P>
-<P>
-First we take a look at the developing process.  When we write an
-application using NLS provided by <CODE>gettext</CODE> we proceed as always.
-Only when we come to a string which might be seen by the users and thus
-has to be translated we use <CODE>gettext("...")</CODE> instead of
-<CODE>"..."</CODE>.  At the beginning of each source file (or in a central
-header file) we define
-
-</P>
-
-<PRE>
-#define gettext(String) (String)
-</PRE>
-
-<P>
-Even this definition can be avoided when the system supports the
-<CODE>gettext</CODE> function in its C library.  When we compile this code the
-result is the same as if no NLS code is used.  When  you take a look at
-the GNU <CODE>gettext</CODE> code you will see that we use <CODE>_("...")</CODE>
-instead of <CODE>gettext("...")</CODE>.  This reduces the number of
-additional characters per translatable string to <EM>3</EM> (in words:
-three).
-
-</P>
-<P>
-When now a production version of the program is needed we simply replace
-the definition
-
-</P>
-
-<PRE>
-#define _(String) (String)
-</PRE>
-
-<P>
-by
-
-</P>
-<P>
-<A NAME="IDX852"></A>
-
-<PRE>
-#include &#60;libintl.h&#62;
-#define _(String) gettext (String)
-</PRE>
-
-<P>
-Additionally we run the program <TT>`xgettext&acute;</TT> on all source code file
-which contain translatable strings and that's it: we have a running
-program which does not depend on translations to be available, but which
-can use any that becomes available.
-
-</P>
-<P>
-<A NAME="IDX853"></A>
-The same procedure can be done for the <CODE>gettext_noop</CODE> invocations
-(see section <A HREF="gettext_3.html#SEC19">3.6  Special Cases of Translatable Strings</A>).  One usually defines <CODE>gettext_noop</CODE> as a
-no-op macro.  So you should consider the following code for your project:
-
-</P>
-
-<PRE>
-#define gettext_noop(String) String
-#define N_(String) gettext_noop (String)
-</PRE>
-
-<P>
-<CODE>N_</CODE> is a short form similar to <CODE>_</CODE>.  The <TT>`Makefile&acute;</TT> in
-the <TT>`po/&acute;</TT> directory of GNU <CODE>gettext</CODE> knows by default both of the
-mentioned short forms so you are invited to follow this proposal for
-your own ease.
-
-</P>
-<P>
-Now to <CODE>catgets</CODE>.  The main problem is the work for the
-programmer.  Every time he comes to a translatable string he has to
-define a number (or a symbolic constant) which has also be defined in
-the message catalog file.  He also has to take care for duplicate
-entries, duplicate message IDs etc.  If he wants to have the same
-quality in the message catalog as the GNU <CODE>gettext</CODE> program
-provides he also has to put the descriptive comments for the strings and
-the location in all source code files in the message catalog.  This is
-nearly a Mission: Impossible.
-
-</P>
-<P>
-But there are also some points people might call advantages speaking for
-<CODE>catgets</CODE>.  If you have a single word in a string and this string
-is used in different contexts it is likely that in one or the other
-language the word has different translations.  Example:
-
-</P>
-
-<PRE>
-printf ("%s: %d", gettext ("number"), number_of_errors)
-
-printf ("you should see %d %s", number_count,
-        number_count == 1 ? gettext ("number") : gettext ("numbers"))
-</PRE>
-
-<P>
-Here we have to translate two times the string <CODE>"number"</CODE>.  Even
-if you do not speak a language beside English it might be possible to
-recognize that the two words have a different meaning.  In German the
-first appearance has to be translated to <CODE>"Anzahl"</CODE> and the second
-to <CODE>"Zahl"</CODE>.
-
-</P>
-<P>
-Now you can say that this example is really esoteric.  And you are
-right!  This is exactly how we felt about this problem and decide that
-it does not weight that much.  The solution for the above problem could
-be very easy:
-
-</P>
-
-<PRE>
-printf ("%s %d", gettext ("number:"), number_of_errors)
-
-printf (number_count == 1 ? gettext ("you should see %d number")
-                          : gettext ("you should see %d numbers"),
-        number_count)
-</PRE>
-
-<P>
-We believe that we can solve all conflicts with this method.  If it is
-difficult one can also consider changing one of the conflicting string a
-little bit.  But it is not impossible to overcome.
-
-</P>
-<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#SEC148">10.2.2  Solving Ambiguities</A>.
-
-</P>
-
-
-<H2><A NAME="SEC155" HREF="gettext_toc.html#TOC155">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
-self-contained.  I.e., you can use it in your own programs without
-providing additional functions.  The <TT>`Makefile&acute;</TT> will put the header
-and the library in directories selected using the <CODE>$(prefix)</CODE>.
-
-</P>
-
-
-<H2><A NAME="SEC156" HREF="gettext_toc.html#TOC156">10.5  Being a <CODE>gettext</CODE> grok</A></H2>
-
-<P>
-To fully exploit the functionality of the GNU <CODE>gettext</CODE> library it
-is surely helpful to read the source code.  But for those who don't want
-to spend that much time in reading the (sometimes complicated) code here
-is a list comments:
-
-</P>
-
-<UL>
-<LI>Changing the language at runtime
-
-<A NAME="IDX854"></A>
-
-For interactive programs it might be useful to offer a selection of the
-used language at runtime.  To understand how to do this one need to know
-how the used language is determined while executing the <CODE>gettext</CODE>
-function.  The method which is presented here only works correctly
-with the GNU implementation of the <CODE>gettext</CODE> functions.
-
-In the function <CODE>dcgettext</CODE> at every call the current setting of
-the highest priority environment variable is determined and used.
-Highest priority means here the following list with decreasing
-priority:
-
-
-<OL>
-<LI><CODE>LANGUAGE</CODE>
-
-<A NAME="IDX855"></A>
-<A NAME="IDX856"></A>
-<LI><CODE>LC_ALL</CODE>
-
-<A NAME="IDX857"></A>
-<A NAME="IDX858"></A>
-<A NAME="IDX859"></A>
-<A NAME="IDX860"></A>
-<A NAME="IDX861"></A>
-<A NAME="IDX862"></A>
-<LI><CODE>LC_xxx</CODE>, according to selected locale
-
-<A NAME="IDX863"></A>
-<LI><CODE>LANG</CODE>
-
-</OL>
-
-Afterwards the path is constructed using the found value and the
-translation file is loaded if available.
-
-What happens now when the value for, say, <CODE>LANGUAGE</CODE> changes?  According
-to the process explained above the new value of this variable is found
-as soon as the <CODE>dcgettext</CODE> function is called.  But this also means
-the (perhaps) different message catalog file is loaded.  In other
-words: the used language is changed.
-
-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#SEC153">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.
-
-
-<PRE>
-  /* Change language.  */
-  setenv ("LANGUAGE", "fr", 1);
-
-  /* Make change known.  */
-  {
-    extern int  _nl_msg_cat_cntr;
-    ++_nl_msg_cat_cntr;
-  }
-</PRE>
-
-<A NAME="IDX864"></A>
-The variable <CODE>_nl_msg_cat_cntr</CODE> is defined in <TT>`loadmsgcat.c&acute;</TT>.
-You don't need to know what this is for. But it can be used to detect
-whether a <CODE>gettext</CODE> implementation is GNU gettext and not non-GNU
-system's native gettext implementation.
-
-</UL>
-
-
-
-<H2><A NAME="SEC157" HREF="gettext_toc.html#TOC157">10.6  Temporary Notes for the Programmers Chapter</A></H2>
-
-
-
-<H3><A NAME="SEC158" HREF="gettext_toc.html#TOC158">10.6.1  Temporary - Two Possible Implementations</A></H3>
-
-<P>
-There are two competing methods for language independent messages:
-the X/Open <CODE>catgets</CODE> method, and the Uniforum <CODE>gettext</CODE>
-method.  The <CODE>catgets</CODE> method indexes messages by integers; the
-<CODE>gettext</CODE> method indexes them by their English translations.
-The <CODE>catgets</CODE> method has been around longer and is supported
-by more vendors.  The <CODE>gettext</CODE> method is supported by Sun,
-and it has been heard that the COSE multi-vendor initiative is
-supporting it.  Neither method is a POSIX standard; the POSIX.1
-committee had a lot of disagreement in this area.
-
-</P>
-<P>
-Neither one is in the POSIX standard.  There was much disagreement
-in the POSIX.1 committee about using the <CODE>gettext</CODE> routines
-vs. <CODE>catgets</CODE> (XPG).  In the end the committee couldn't
-agree on anything, so no messaging system was included as part
-of the standard.  I believe the informative annex of the standard
-includes the XPG3 messaging interfaces, "...as an example of
-a messaging system that has been implemented..."
-
-</P>
-<P>
-They were very careful not to say anywhere that you should use one
-set of interfaces over the other.  For more on this topic please
-see the Programming for Internationalization FAQ.
-
-</P>
-
-
-<H3><A NAME="SEC159" HREF="gettext_toc.html#TOC159">10.6.2  Temporary - About <CODE>catgets</CODE></A></H3>
-
-<P>
-There have been a few discussions of late on the use of
-<CODE>catgets</CODE> as a base.  I think it important to present both
-sides of the argument and hence am opting to play devil's advocate
-for a little bit.
-
-</P>
-<P>
-I'll not deny the fact that <CODE>catgets</CODE> could have been designed
-a lot better.  It currently has quite a number of limitations and
-these have already been pointed out.
-
-</P>
-<P>
-However there is a great deal to be said for consistency and
-standardization.  A common recurring problem when writing Unix
-software is the myriad portability problems across Unix platforms.
-It seems as if every Unix vendor had a look at the operating system
-and found parts they could improve upon.  Undoubtedly, these
-modifications are probably innovative and solve real problems.
-However, software developers have a hard time keeping up with all
-these changes across so many platforms.
-
-</P>
-<P>
-And this has prompted the Unix vendors to begin to standardize their
-systems.  Hence the impetus for Spec1170.  Every major Unix vendor
-has committed to supporting this standard and every Unix software
-developer waits with glee the day they can write software to this
-standard and simply recompile (without having to use autoconf)
-across different platforms.
-
-</P>
-<P>
-As I understand it, Spec1170 is roughly based upon version 4 of the
-X/Open Portability Guidelines (XPG4).  Because <CODE>catgets</CODE> and
-friends are defined in XPG4, I'm led to believe that <CODE>catgets</CODE>
-is a part of Spec1170 and hence will become a standardized component
-of all Unix systems.
-
-</P>
-
-
-<H3><A NAME="SEC160" HREF="gettext_toc.html#TOC160">10.6.3  Temporary - Why a single implementation</A></H3>
-
-<P>
-Now it seems kind of wasteful to me to have two different systems
-installed for accessing message catalogs.  If we do want to remedy
-<CODE>catgets</CODE> deficiencies why don't we try to expand <CODE>catgets</CODE>
-(in a compatible manner) rather than implement an entirely new system.
-Otherwise, we'll end up with two message catalog access systems installed
-with an operating system - one set of routines for packages using GNU
-<CODE>gettext</CODE> for their internationalization, and another set of routines
-(catgets) for all other software.  Bloated?
-
-</P>
-<P>
-Supposing another catalog access system is implemented.  Which do
-we recommend?  At least for Linux, we need to attract as many
-software developers as possible.  Hence we need to make it as easy
-for them to port their software as possible.  Which means supporting
-<CODE>catgets</CODE>.  We will be implementing the <CODE>libintl</CODE> code
-within our <CODE>libc</CODE>, but does this mean we also have to incorporate
-another message catalog access scheme within our <CODE>libc</CODE> as well?
-And what about people who are going to be using the <CODE>libintl</CODE>
-+ non-<CODE>catgets</CODE> routines.  When they port their software to
-other platforms, they're now going to have to include the front-end
-(<CODE>libintl</CODE>) code plus the back-end code (the non-<CODE>catgets</CODE>
-access routines) with their software instead of just including the
-<CODE>libintl</CODE> code with their software.
-
-</P>
-<P>
-Message catalog support is however only the tip of the iceberg.
-What about the data for the other locale categories.  They also have
-a number of deficiencies.  Are we going to abandon them as well and
-develop another duplicate set of routines (should <CODE>libintl</CODE>
-expand beyond message catalog support)?
-
-</P>
-<P>
-Like many parts of Unix that can be improved upon, we're stuck with balancing
-compatibility with the past with useful improvements and innovations for
-the future.
-
-</P>
-
-
-<H3><A NAME="SEC161" HREF="gettext_toc.html#TOC161">10.6.4  Temporary - Notes</A></H3>
-
-<P>
-X/Open agreed very late on the standard form so that many
-implementations differ from the final form.  Both of my system (old
-Linux catgets and Ultrix-4) have a strange variation.
-
-</P>
-<P>
-OK.  After incorporating the last changes I have to spend some time on
-making the GNU/Linux <CODE>libc</CODE> <CODE>gettext</CODE> functions.  So in future
-Solaris is not the only system having <CODE>gettext</CODE>.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_9.html">previous</A>, <A HREF="gettext_11.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
-</BODY>
-</HTML>
diff --git a/doc/gettext_11.html b/doc/gettext_11.html
deleted file mode 100644 (file)
index 0c1b022..0000000
+++ /dev/null
@@ -1,517 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52a
-     from gettext.texi on 5 November 2002 -->
-
-<TITLE>GNU gettext utilities - 11  The Translator's View</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_10.html">previous</A>, <A HREF="gettext_12.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC162" HREF="gettext_toc.html#TOC162">11  The Translator's View</A></H1>
-
-
-
-<H2><A NAME="SEC163" HREF="gettext_toc.html#TOC163">11.1  Introduction 0</A></H2>
-
-<P>
-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.
-
-</P>
-<P>
-The GNU <CODE>gettext</CODE> tool set contains <EM>everything</EM> 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.
-
-</P>
-<P>
-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 <EM>work</EM> at translating messages,
-please send mail to your translating team.
-
-</P>
-<P>
-Each team has its own mailing list, courtesy of Linux
-International.  You may reach your translating team at the address
-<TT>`<VAR>ll</VAR>@li.org&acute;</TT>, replacing <VAR>ll</VAR> by the two-letter ISO 639
-code for your language.  Language codes are <EM>not</EM> the same as
-country codes given in ISO 3166.  The following translating teams
-exist:
-
-</P>
-
-<BLOCKQUOTE>
-<P>
-Chinese <CODE>zh</CODE>, Czech <CODE>cs</CODE>, Danish <CODE>da</CODE>, Dutch <CODE>nl</CODE>,
-Esperanto <CODE>eo</CODE>, Finnish <CODE>fi</CODE>, French <CODE>fr</CODE>, Irish
-<CODE>ga</CODE>, German <CODE>de</CODE>, Greek <CODE>el</CODE>, Italian <CODE>it</CODE>,
-Japanese <CODE>ja</CODE>, Indonesian <CODE>in</CODE>, Norwegian <CODE>no</CODE>, Polish
-<CODE>pl</CODE>, Portuguese <CODE>pt</CODE>, Russian <CODE>ru</CODE>, Spanish <CODE>es</CODE>,
-Swedish <CODE>sv</CODE> and Turkish <CODE>tr</CODE>.
-</BLOCKQUOTE>
-
-<P>
-For example, you may reach the Chinese translating team by writing to
-<TT>`zh@li.org&acute;</TT>.  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 <TT>`sv-request@li.org&acute;</TT>,
-having this message body:
-
-</P>
-
-<PRE>
-subscribe
-</PRE>
-
-<P>
-Keep in mind that team members should be interested in <EM>working</EM>
-at translations, or at solving translational difficulties, rather than
-merely lurking around.  If your team does not exist yet and you want to
-start one, please write to <TT>`translation@iro.umontreal.ca&acute;</TT>;
-you will then reach the coordinator for all translator teams.
-
-</P>
-<P>
-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
-<TT>`translation@iro.umontreal.ca&acute;</TT> indicating what language(s)
-you can work on.
-
-</P>
-
-
-<H2><A NAME="SEC164" HREF="gettext_toc.html#TOC164">11.2  Introduction 1</A></H2>
-
-<P>
-This is now official, GNU is going international!  Here is the
-announcement submitted for the January 1995 GNU Bulletin:
-
-</P>
-
-<BLOCKQUOTE>
-<P>
-A handful of GNU packages have already been adapted and provided
-with message translations for several languages.  Translation
-teams have begun to organize, using these packages as a starting
-point.  But there are many more packages and many languages
-for which we have no volunteer translators.  If you'd like to
-volunteer to work at translating messages, please send mail to
-<SAMP>`translation@iro.umontreal.ca&acute;</SAMP> indicating what language(s)
-you can work on.
-</BLOCKQUOTE>
-
-<P>
-This document should answer many questions for those who are curious about
-the process or would like to contribute.  Please at least skim over it,
-hoping to cut down a little of the high volume of e-mail generated by this
-collective effort towards internationalization of free software.
-
-</P>
-<P>
-Most free programming which is widely shared is done in English, and
-currently, English is used as the main communicating language between
-national communities collaborating to free software.  This very document
-is written in English.  This will not change in the foreseeable future.
-
-</P>
-<P>
-However, there is a strong appetite from national communities for
-having more software able to write using national language and habits,
-and there is an on-going effort to modify free software in such a way
-that it becomes able to do so.  The experiments driven so far raised
-an enthusiastic response from pretesters, so we believe that
-internationalization of free software is dedicated to succeed.
-
-</P>
-<P>
-For suggestion clarifications, additions or corrections to this
-document, please e-mail to <TT>`translation@iro.umontreal.ca&acute;</TT>.
-
-</P>
-
-
-<H2><A NAME="SEC165" HREF="gettext_toc.html#TOC165">11.3  Discussions</A></H2>
-
-<P>
-Facing this internationalization effort, a few users expressed their
-concerns.  Some of these doubts are presented and discussed, here.
-
-</P>
-
-<UL>
-<LI>Smaller groups
-
-Some languages are not spoken by a very large number of people, so people
-speaking them sometimes consider that there may not be all that much
-demand such versions of free software packages.  Moreover, many people
-being <EM>into computers</EM>, in some countries, generally seem to prefer
-English versions of their software.
-
-On the other end, people might enjoy their own language a lot, and be
-very motivated at providing to themselves the pleasure of having their
-beloved free software speaking their mother tongue.  They do themselves
-a personal favor, and do not pay that much attention to the number of
-people benefiting of their work.
-
-<LI>Misinterpretation
-
-Other users are shy to push forward their own language, seeing in this
-some kind of misplaced propaganda.  Someone thought there must be some
-users of the language over the networks pestering other people with it.
-
-But any spoken language is worth localization, because there are
-people behind the language for whom the language is important and
-dear to their hearts.
-
-<LI>Odd translations
-
-The biggest problem is to find the right translations so that
-everybody can understand the messages.  Translations are usually a
-little odd.  Some people get used to English, to the extent they may
-find translations into their own language "rather pushy, obnoxious
-and sometimes even hilarious."  As a French speaking man, I have
-the experience of those instruction manuals for goods, so poorly
-translated in French in Korea or Taiwan...
-
-The fact is that we sometimes have to create a kind of national
-computer culture, and this is not easy without the collaboration of
-many people liking their mother tongue.  This is why translations are
-better achieved by people knowing and loving their own language, and
-ready to work together at improving the results they obtain.
-
-<LI>Dependencies over the GPL or LGPL
-
-Some people wonder if using GNU <CODE>gettext</CODE> necessarily brings their
-package under the protective wing of the GNU General Public License or
-the GNU Library General Public License, when they do not want to make
-their program free, or want other kinds of freedom.  The simplest
-answer is "normally not".
-
-The GNU <CODE>gettext</CODE> library, i.e. the contents of <CODE>libintl</CODE>,
-is covered by the GNU Library General Public License.  The rest of
-the GNU <CODE>gettext</CODE> package is covered by the GNU General Public
-License.
-
-The mere marking of localizable strings in a package, or conditional
-inclusion of a few lines for initialization, is not really including
-GPL'ed or LGPL'ed code.  However, since the localization routines in
-<CODE>libintl</CODE> are under the LGPL, the LGPL needs to be considered.
-It gives the right to distribute the complete unmodified source of
-<CODE>libintl</CODE> even with non-free programs.  It also gives the right
-to use <CODE>libintl</CODE> as a shared library, even for non-free programs.
-But it gives the right to use <CODE>libintl</CODE> as a static library or
-to incorporate <CODE>libintl</CODE> into another library only to free
-software.
-
-</UL>
-
-
-
-<H2><A NAME="SEC166" HREF="gettext_toc.html#TOC166">11.4  Organization</A></H2>
-
-<P>
-On a larger scale, the true solution would be to organize some kind of
-fairly precise set up in which volunteers could participate.  I gave
-some thought to this idea lately, and realize there will be some
-touchy points.  I thought of writing to Richard Stallman to launch
-such a project, but feel it might be good to shake out the ideas
-between ourselves first.  Most probably that Linux International has
-some experience in the field already, or would like to orchestrate
-the volunteer work, maybe.  Food for thought, in any case!
-
-</P>
-<P>
-I guess we have to setup something early, somehow, that will help
-many possible contributors of the same language to interlock and avoid
-work duplication, and further be put in contact for solving together
-problems particular to their tongue (in most languages, there are many
-difficulties peculiar to translating technical English).  My Swedish
-contributor acknowledged these difficulties, and I'm well aware of
-them for French.
-
-</P>
-<P>
-This is surely not a technical issue, but we should manage so the
-effort of locale contributors be maximally useful, despite the national
-team layer interface between contributors and maintainers.
-
-</P>
-<P>
-The Translation Project needs some setup for coordinating language
-coordinators.  Localizing evolving programs will surely
-become a permanent and continuous activity in the free software community,
-once well started.
-The setup should be minimally completed and tested before GNU
-<CODE>gettext</CODE> becomes an official reality.  The e-mail address
-<TT>`translation@iro.umontreal.ca&acute;</TT> has been setup for receiving
-offers from volunteers and general e-mail on these topics.  This address
-reaches the Translation Project coordinator.
-
-</P>
-
-
-
-<H3><A NAME="SEC167" HREF="gettext_toc.html#TOC167">11.4.1  Central Coordination</A></H3>
-
-<P>
-I also think GNU will need sooner than it thinks, that someone setup
-a way to organize and coordinate these groups.  Some kind of group
-of groups.  My opinion is that it would be good that GNU delegates
-this task to a small group of collaborating volunteers, shortly.
-Perhaps in <TT>`gnu.announce&acute;</TT> a list of this national committee's
-can be published.
-
-</P>
-<P>
-My role as coordinator would simply be to refer to Ulrich any German
-speaking volunteer interested to localization of free software packages, and
-maybe helping national groups to initially organize, while maintaining
-national registries for until national groups are ready to take over.
-In fact, the coordinator should ease volunteers to get in contact with
-one another for creating national teams, which should then select
-one coordinator per language, or country (regionalized language).
-If well done, the coordination should be useful without being an
-overwhelming task, the time to put delegations in place.
-
-</P>
-
-
-<H3><A NAME="SEC168" HREF="gettext_toc.html#TOC168">11.4.2  National Teams</A></H3>
-
-<P>
-I suggest we look for volunteer coordinators/editors for individual
-languages.  These people will scan contributions of translation files
-for various programs, for their own languages, and will ensure high
-and uniform standards of diction.
-
-</P>
-<P>
-From my current experience with other people in these days, those who
-provide localizations are very enthusiastic about the process, and are
-more interested in the localization process than in the program they
-localize, and want to do many programs, not just one.  This seems
-to confirm that having a coordinator/editor for each language is a
-good idea.
-
-</P>
-<P>
-We need to choose someone who is good at writing clear and concise
-prose in the language in question.  That is hard--we can't check
-it ourselves.  So we need to ask a few people to judge each others'
-writing and select the one who is best.
-
-</P>
-<P>
-I announce my prerelease to a few dozen people, and you would not
-believe all the discussions it generated already.  I shudder to think
-what will happen when this will be launched, for true, officially,
-world wide.  Who am I to arbitrate between two Czekolsovak users
-contradicting each other, for example?
-
-</P>
-<P>
-I assume that your German is not much better than my French so that
-I would not be able to judge about these formulations.  What I would
-suggest is that for each language there is a group for people who
-maintain the PO files and judge about changes.  I suspect there will
-be cultural differences between how such groups of people will behave.
-Some will have relaxed ways, reach consensus easily, and have anyone
-of the group relate to the maintainers, while others will fight to
-death, organize heavy administrations up to national standards, and
-use strict channels.
-
-</P>
-<P>
-The German team is putting out a good example.  Right now, they are
-maybe half a dozen people revising translations of each other and
-discussing the linguistic issues.  I do not even have all the names.
-Ulrich Drepper is taking care of coordinating the German team.
-He subscribed to all my pretest lists, so I do not even have to warn
-him specifically of incoming releases.
-
-</P>
-<P>
-I'm sure, that is a good idea to get teams for each language working
-on translations. That will make the translations better and more
-consistent.
-
-</P>
-
-
-
-<H4><A NAME="SEC169" HREF="gettext_toc.html#TOC169">11.4.2.1  Sub-Cultures</A></H4>
-
-<P>
-Taking French for example, there are a few sub-cultures around computers
-which developed diverging vocabularies.  Picking volunteers here and
-there without addressing this problem in an organized way, soon in the
-project, might produce a distasteful mix of internationalized programs,
-and possibly trigger endless quarrels among those who really care.
-
-</P>
-<P>
-Keeping some kind of unity in the way French localization of
-internationalized programs is achieved is a difficult (and delicate) job.
-Knowing the latin character of French people (:-), if we take this
-the wrong way, we could end up nowhere, or spoil a lot of energies.
-Maybe we should begin to address this problem seriously <EM>before</EM>
-GNU <CODE>gettext</CODE> become officially published.  And I suspect that this
-means soon!
-
-</P>
-
-
-<H4><A NAME="SEC170" HREF="gettext_toc.html#TOC170">11.4.2.2  Organizational Ideas</A></H4>
-
-<P>
-I expect the next big changes after the official release.  Please note
-that I use the German translation of the short GPL message.  We need
-to set a few good examples before the localization goes out for true
-in the free software community.  Here are a few points to discuss:
-
-</P>
-
-<UL>
-<LI>
-
-Each group should have one FTP server (at least one master).
-
-<LI>
-
-The files on the server should reflect the latest version (of
-course!) and it should also contain a RCS directory with the
-corresponding archives (I don't have this now).
-
-<LI>
-
-There should also be a ChangeLog file (this is more useful than the
-RCS archive but can be generated automatically from the later by
-Emacs).
-
-<LI>
-
-A <EM>core group</EM> should judge about questionable changes (for now
-this group consists solely by me but I ask some others occasionally;
-this also seems to work).
-
-</UL>
-
-
-
-<H3><A NAME="SEC171" HREF="gettext_toc.html#TOC171">11.4.3  Mailing Lists</A></H3>
-
-<P>
-If we get any inquiries about GNU <CODE>gettext</CODE>, send them on to:
-
-</P>
-
-<PRE>
-<TT>`translation@iro.umontreal.ca&acute;</TT>
-</PRE>
-
-<P>
-The <TT>`*-pretest&acute;</TT> lists are quite useful to me, maybe the idea could
-be generalized to many GNU, and non-GNU packages.  But each maintainer
-his/her way!
-
-</P>
-<P>
-Fran&ccedil;ois, we have a mechanism in place here at
-<TT>`gnu.ai.mit.edu&acute;</TT> to track teams, support mailing lists for
-them and log members.  We have a slight preference that you use it.
-If this is OK with you, I can get you clued in.
-
-</P>
-<P>
-Things are changing!  A few years ago, when Daniel Fekete and I
-asked for a mailing list for GNU localization, nested at the FSF, we
-were politely invited to organize it anywhere else, and so did we.
-For communicating with my pretesters, I later made a handful of
-mailing lists located at iro.umontreal.ca and administrated by
-<CODE>majordomo</CODE>.  These lists have been <EM>very</EM> dependable
-so far...
-
-</P>
-<P>
-I suspect that the German team will organize itself a mailing list
-located in Germany, and so forth for other countries.  But before they
-organize for true, it could surely be useful to offer mailing lists
-located at the FSF to each national team.  So yes, please explain me
-how I should proceed to create and handle them.
-
-</P>
-<P>
-We should create temporary mailing lists, one per country, to help
-people organize.  Temporary, because once regrouped and structured, it
-would be fair the volunteers from country bring back <EM>their</EM> list
-in there and manage it as they want.  My feeling is that, in the long
-run, each team should run its own list, from within their country.
-There also should be some central list to which all teams could
-subscribe as they see fit, as long as each team is represented in it.
-
-</P>
-
-
-<H2><A NAME="SEC172" HREF="gettext_toc.html#TOC172">11.5  Information Flow</A></H2>
-
-<P>
-There will surely be some discussion about this messages after the
-packages are finally released.  If people now send you some proposals
-for better messages, how do you proceed?  Jim, please note that
-right now, as I put forward nearly a dozen of localizable programs, I
-receive both the translations and the coordination concerns about them.
-
-</P>
-<P>
-If I put one of my things to pretest, Ulrich receives the announcement
-and passes it on to the German team, who make last minute revisions.
-Then he submits the translation files to me <EM>as the maintainer</EM>.
-For free packages I do not maintain, I would not even hear about it.
-This scheme could be made to work for the whole Translation Project,
-I think.  For security reasons, maybe Ulrich (national coordinators,
-in fact) should update central registry kept at the Translation Project
-(Jim, me, or Len's recruits) once in a while.
-
-</P>
-<P>
-In December/January, I was aggressively ready to internationalize
-all of GNU, giving myself the duty of one small GNU package per week
-or so, taking many weeks or months for bigger packages.  But it does
-not work this way.  I first did all the things I'm responsible for.
-I've nothing against some missionary work on other maintainers, but
-I'm also loosing a lot of energy over it--same debates over again.
-
-</P>
-<P>
-And when the first localized packages are released we'll get a lot of
-responses about ugly translations :-).  Surely, and we need to have
-beforehand a fairly good idea about how to handle the information
-flow between the national teams and the package maintainers.
-
-</P>
-<P>
-Please start saving somewhere a quick history of each PO file.  I know
-for sure that the file format will change, allowing for comments.
-It would be nice that each file has a kind of log, and references for
-those who want to submit comments or gripes, or otherwise contribute.
-I sent a proposal for a fast and flexible format, but it is not
-receiving acceptance yet by the GNU deciders.  I'll tell you when I
-have more information about this.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_10.html">previous</A>, <A HREF="gettext_12.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
-</BODY>
-</HTML>
diff --git a/doc/gettext_12.html b/doc/gettext_12.html
deleted file mode 100644 (file)
index 7faffe4..0000000
+++ /dev/null
@@ -1,1547 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52a
-     from gettext.texi on 5 November 2002 -->
-
-<TITLE>GNU gettext utilities - 12  The Maintainer's View</TITLE>
-</HEAD>
-<BODY>
-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_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC173" HREF="gettext_toc.html#TOC173">12  The Maintainer's View</A></H1>
-<P>
-<A NAME="IDX865"></A>
-
-</P>
-<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#SEC138">9  The User's View</A>) will work
-for installers and end users.
-
-</P>
-<P>
-Of course, there are many possible ways by which GNU <CODE>gettext</CODE>
-might be integrated in a distribution, and this chapter does not cover
-them in all generality.  Instead, it details one possible approach which
-is especially adequate for many free software distributions following GNU
-standards, or even better, Gnits standards, because GNU <CODE>gettext</CODE>
-is purposely for helping the internationalization of the whole GNU
-project, and as many other good free packages as possible.  So, the
-maintainer's view presented here presumes that the package already has
-a <TT>`configure.in&acute;</TT> file and uses GNU Autoconf.
-
-</P>
-<P>
-Nevertheless, GNU <CODE>gettext</CODE> may surely be useful for free packages
-not following GNU standards and conventions, but the maintainers of such
-packages might have to show imagination and initiative in organizing
-their distributions so <CODE>gettext</CODE> work for them in all situations.
-There are surely many, out there.
-
-</P>
-<P>
-Even if <CODE>gettext</CODE> methods are now stabilizing, slight adjustments
-might be needed between successive <CODE>gettext</CODE> versions, so you
-should ideally revise this chapter in subsequent releases, looking
-for changes.
-
-</P>
-
-
-
-<H2><A NAME="SEC174" HREF="gettext_toc.html#TOC174">12.1  Flat or Non-Flat Directory Structures</A></H2>
-
-<P>
-Some free software packages are distributed as <CODE>tar</CODE> files which unpack
-in a single directory, these are said to be <EM>flat</EM> distributions.
-Other free software packages have a one level hierarchy of subdirectories, using
-for example a subdirectory named <TT>`doc/&acute;</TT> for the Texinfo manual and
-man pages, another called <TT>`lib/&acute;</TT> for holding functions meant to
-replace or complement C libraries, and a subdirectory <TT>`src/&acute;</TT> for
-holding the proper sources for the package.  These other distributions
-are said to be <EM>non-flat</EM>.
-
-</P>
-<P>
-We cannot say much about flat distributions.  A flat
-directory structure has the disadvantage of increasing the difficulty
-of updating to a new version of GNU <CODE>gettext</CODE>.  Also, if you have
-many PO files, this could somewhat pollute your single directory.
-Also, GNU <CODE>gettext</CODE>'s libintl sources consist of C sources, shell
-scripts, <CODE>sed</CODE> scripts and complicated Makefile rules, which don't
-fit well into an existing flat structure.  For these reasons, we
-recommend to use non-flat approach in this case as well.
-
-</P>
-<P>
-Maybe because GNU <CODE>gettext</CODE> itself has a non-flat structure,
-we have more experience with this approach, and this is what will be
-described in the remaining of this chapter.  Some maintainers might
-use this as an opportunity to unflatten their package structure.
-
-</P>
-
-
-<H2><A NAME="SEC175" HREF="gettext_toc.html#TOC175">12.2  Prerequisite Works</A></H2>
-<P>
-<A NAME="IDX866"></A>
-<A NAME="IDX867"></A>
-<A NAME="IDX868"></A>
-
-</P>
-<P>
-There are some works which are required for using GNU <CODE>gettext</CODE>
-in one of your package.  These works have some kind of generality
-that escape the point by point descriptions used in the remainder
-of this chapter.  So, we describe them here.
-
-</P>
-
-<UL>
-<LI>
-
-Before attempting to use <CODE>gettextize</CODE> you should install some
-other packages first.
-Ensure that recent versions of GNU <CODE>m4</CODE>, GNU Autoconf and GNU
-<CODE>gettext</CODE> are already installed at your site, and if not, proceed
-to do this first.  If you get to install these things, beware that
-GNU <CODE>m4</CODE> must be fully installed before GNU Autoconf is even
-<EM>configured</EM>.
-
-To further ease the task of a package maintainer the <CODE>automake</CODE>
-package was designed and implemented.  GNU <CODE>gettext</CODE> now uses this
-tool and the <TT>`Makefile&acute;</TT>s in the <TT>`intl/&acute;</TT> and <TT>`po/&acute;</TT>
-therefore know about all the goals necessary for using <CODE>automake</CODE>
-and <TT>`libintl&acute;</TT> in one project.
-
-Those four packages are only needed by you, as a maintainer; the
-installers of your own package and end users do not really need any of
-GNU <CODE>m4</CODE>, GNU Autoconf, GNU <CODE>gettext</CODE>, or GNU <CODE>automake</CODE>
-for successfully installing and running your package, with messages
-properly translated.  But this is not completely true if you provide
-internationalized shell scripts within your own package: GNU
-<CODE>gettext</CODE> shall then be installed at the user site if the end users
-want to see the translation of shell script messages.
-
-<LI>
-
-Your package should use Autoconf and have a <TT>`configure.in&acute;</TT> or
-<TT>`configure.ac&acute;</TT> file.
-If it does not, you have to learn how.  The Autoconf documentation
-is quite well written, it is a good idea that you print it and get
-familiar with it.
-
-<LI>
-
-Your C sources should have already been modified according to
-instructions given earlier in this manual.  See section <A HREF="gettext_3.html#SEC13">3  Preparing Program Sources</A>.
-
-<LI>
-
-Your <TT>`po/&acute;</TT> directory should receive all PO files submitted to you
-by the translator teams, each having <TT>`<VAR>ll</VAR>.po&acute;</TT> as a name.
-This is not usually easy to get translation
-work done before your package gets internationalized and available!
-Since the cycle has to start somewhere, the easiest for the maintainer
-is to start with absolutely no PO files, and wait until various
-translator teams get interested in your package, and submit PO files.
-
-</UL>
-
-<P>
-It is worth adding here a few words about how the maintainer should
-ideally behave with PO files submissions.  As a maintainer, your role is
-to authenticate the origin of the submission as being the representative
-of the appropriate translating teams of the Translation Project (forward
-the submission to <TT>`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 put these
-PO files in <TT>`po/&acute;</TT> for distribution.
-
-</P>
-<P>
-As a maintainer, you do not have to take on your shoulders the
-responsibility of checking if the translations are adequate or
-complete, and should avoid diving into linguistic matters.  Translation
-teams drive themselves and are fully responsible of their linguistic
-choices for the Translation Project.  Keep in mind that translator teams are <EM>not</EM>
-driven by maintainers.  You can help by carefully redirecting all
-communications and reports from users about linguistic matters to the
-appropriate translation team, or explain users how to reach or join
-their team.  The simplest might be to send them the <TT>`ABOUT-NLS&acute;</TT> file.
-
-</P>
-<P>
-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 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.
-
-</P>
-
-
-<H2><A NAME="SEC176" HREF="gettext_toc.html#TOC176">12.3  Invoking the <CODE>gettextize</CODE> Program</A></H2>
-
-<P>
-The <CODE>gettextize</CODE> program is an interactive tool that helps the
-maintainer of a package internationalized through GNU <CODE>gettext</CODE>.
-It is used for two purposes:
-
-</P>
-
-<UL>
-<LI>
-
-As a wizard, when a package is modified to use GNU <CODE>gettext</CODE> for
-the first time.
-
-<LI>
-
-As a migration tool, for upgrading the GNU <CODE>gettext</CODE> support in
-a package from a previous to a newer version of GNU <CODE>gettext</CODE>.
-</UL>
-
-<P>
-This program performs the following tasks:
-
-</P>
-
-<UL>
-<LI>
-
-It copies into the package some files that are consistently and
-identically needed in every package internationalized through
-GNU <CODE>gettext</CODE>.
-
-<LI>It performs as many of the tasks mentioned in the next section
-
-section <A HREF="gettext_12.html#SEC177">12.4  Files You Must Create or Alter</A> as can be performed automatically.
-
-<LI>It removes obsolete files and idioms used for previous GNU
-
-<CODE>gettext</CODE> versions to the form recommended for the current GNU
-<CODE>gettext</CODE> version.
-
-<LI>It prints a summary of the tasks that ought to be done manually
-
-and could not be done automatically by <CODE>gettextize</CODE>.
-</UL>
-
-<P>
-It can be invoked as follows:
-
-</P>
-<P>
-<A NAME="IDX869"></A>
-<A NAME="IDX870"></A>
-
-<PRE>
-gettextize [ <VAR>option</VAR>... ] [ <VAR>directory</VAR> ]
-</PRE>
-
-<P>
-and accepts the following options:
-
-</P>
-<DL COMPACT>
-
-<DT><SAMP>`-c&acute;</SAMP>
-<DD>
-<DT><SAMP>`--copy&acute;</SAMP>
-<DD>
-<A NAME="IDX871"></A>
-<A NAME="IDX872"></A>
-Copy the needed files instead of making symbolic links.  Using links
-would allow the package to always use the latest <CODE>gettext</CODE> code
-available on the system, but it might disturb some mechanism the
-maintainer is used to apply to the sources.  Because running
-<CODE>gettextize</CODE> is easy there shouldn't be problems with using copies.
-
-<DT><SAMP>`-f&acute;</SAMP>
-<DD>
-<DT><SAMP>`--force&acute;</SAMP>
-<DD>
-<A NAME="IDX873"></A>
-<A NAME="IDX874"></A>
-Force replacement of files which already exist.
-
-<DT><SAMP>`--intl&acute;</SAMP>
-<DD>
-<A NAME="IDX875"></A>
-Install the libintl sources in a subdirectory named <TT>`intl/&acute;</TT>.
-This libintl will be used to provide internationalization on systems
-that don't have GNU libintl installed. If this option is omitted,
-the call to <CODE>AM_GNU_GETTEXT</CODE> in <TT>`configure.in&acute;</TT> should read:
-<SAMP>`AM_GNU_GETTEXT([external])&acute;</SAMP>, and internationalization will not
-be enabled on systems lacking GNU gettext.
-
-<DT><SAMP>`--no-changelog&acute;</SAMP>
-<DD>
-<A NAME="IDX876"></A>
-Don't update or create ChangeLog files.  By default, <CODE>gettextize</CODE>
-logs all changes (file additions, modifications and removals) in a
-file called <SAMP>`ChangeLog&acute;</SAMP> in each affected directory.
-
-<DT><SAMP>`-n&acute;</SAMP>
-<DD>
-<DT><SAMP>`--dry-run&acute;</SAMP>
-<DD>
-<A NAME="IDX877"></A>
-<A NAME="IDX878"></A>
-Print modifications but don't perform them.  All actions that
-<CODE>gettextize</CODE> would normally execute are inhibited and instead only
-listed on standard output.
-
-<DT><SAMP>`--help&acute;</SAMP>
-<DD>
-<A NAME="IDX879"></A>
-Display this help and exit.
-
-<DT><SAMP>`--version&acute;</SAMP>
-<DD>
-<A NAME="IDX880"></A>
-Output version information and exit.
-
-</DL>
-
-<P>
-If <VAR>directory</VAR> is given, this is the top level directory of a
-package to prepare for using GNU <CODE>gettext</CODE>.  If not given, it
-is assumed that the current directory is the top level directory of
-such a package.
-
-</P>
-<P>
-The program <CODE>gettextize</CODE> provides the following files.  However,
-no existing file will be replaced unless the option <CODE>--force</CODE>
-(<CODE>-f</CODE>) is specified.
-
-</P>
-
-<OL>
-<LI>
-
-The <TT>`ABOUT-NLS&acute;</TT> file is copied in the main directory of your package,
-the one being at the top level.  This file gives the main indications
-about how to install and use the Native Language Support features
-of your program.  You might elect to use a more recent copy of this
-<TT>`ABOUT-NLS&acute;</TT> file than the one provided through <CODE>gettextize</CODE>,
-if you have one handy.  You may also fetch a more recent copy of file
-<TT>`ABOUT-NLS&acute;</TT> from Translation Project sites, and from most GNU
-archive sites.
-
-<LI>
-
-A <TT>`po/&acute;</TT> directory is created for eventually holding
-all translation files, but initially only containing the file
-<TT>`po/Makefile.in.in&acute;</TT> from the GNU <CODE>gettext</CODE> distribution
-(beware the double <SAMP>`.in&acute;</SAMP> in the file name) and a few auxiliary
-files. If the <TT>`po/&acute;</TT> directory already exists, it will be preserved
-along with the files it contains, and only <TT>`Makefile.in.in&acute;</TT> and
-the auxiliary files will be overwritten.
-
-<LI>
-
-Only if <SAMP>`--intl&acute;</SAMP> has been specified:
-A <TT>`intl/&acute;</TT> directory is created and filled with most of the files
-originally in the <TT>`intl/&acute;</TT> directory of the GNU <CODE>gettext</CODE>
-distribution.  Also, if option <CODE>--force</CODE> (<CODE>-f</CODE>) is given,
-the <TT>`intl/&acute;</TT> directory is emptied first.
-
-<LI>
-
-The files <TT>`config.rpath&acute;</TT> and <TT>`mkinstalldirs&acute;</TT> are copied into
-the directory containing configuration support files. It is needed by
-the <CODE>AM_GNU_GETTEXT</CODE> autoconf macro.
-
-<LI>
-
-Only if the project is using GNU <CODE>automake</CODE>:
-A set of <CODE>autoconf</CODE> macro files is copied into the package's
-<CODE>autoconf</CODE> macro repository, usually in a directory called <TT>`m4/&acute;</TT>.
-</OL>
-
-<P>
-If your site support symbolic links, <CODE>gettextize</CODE> will not
-actually copy the files into your package, but establish symbolic
-links instead.  This avoids duplicating the disk space needed in
-all packages.  Merely using the <SAMP>`-h&acute;</SAMP> option while creating the
-<CODE>tar</CODE> archive of your distribution will resolve each link by an
-actual copy in the distribution archive.  So, to insist, you really
-should use <SAMP>`-h&acute;</SAMP> option with <CODE>tar</CODE> within your <CODE>dist</CODE>
-goal of your main <TT>`Makefile.in&acute;</TT>.
-
-</P>
-<P>
-Furthermore, <CODE>gettextize</CODE> will update all <TT>`Makefile.am&acute;</TT> files
-in each affected directory, as well as the top level <TT>`configure.in&acute;</TT>
-or <TT>`configure.ac&acute;</TT> file.
-
-</P>
-<P>
-It is interesting to understand that most new files for supporting
-GNU <CODE>gettext</CODE> facilities in one package go in <TT>`intl/&acute;</TT>,
-<TT>`po/&acute;</TT> and <TT>`m4/&acute;</TT> subdirectories.  One distinction between
-<TT>`intl/&acute;</TT> and the two other directories is that <TT>`intl/&acute;</TT> is
-meant to be completely identical in all packages using GNU <CODE>gettext</CODE>,
-while the other directories will mostly contain package dependent
-files.
-
-</P>
-<P>
-The <CODE>gettextize</CODE> program makes backup files for all files it
-replaces or changes, and also write ChangeLog entries about these
-changes.  This way, the careful maintainer can check after running
-<CODE>gettextize</CODE> whether its changes are acceptable to him, and
-possibly adjust them.  An exception to this rule is the <TT>`intl/&acute;</TT>
-directory, which is added or replaced or removed as a whole.
-
-</P>
-<P>
-It is important to understand that <CODE>gettextize</CODE> can not do the
-entire job of adapting a package for using GNU <CODE>gettext</CODE>.  The
-amount of remaining work depends on whether the package uses GNU
-<CODE>automake</CODE> or not.  But in any case, the maintainer should still
-read the section section <A HREF="gettext_12.html#SEC177">12.4  Files You Must Create or Alter</A> after invoking <CODE>gettextize</CODE>.
-
-</P>
-<P>
-It is also important to understand that <CODE>gettextize</CODE> is not part
-of the GNU build system, in the sense that it should not be invoked
-automatically, and not be invoked by someone who doesn't assume the
-responsibilities of a package maintainer.  For the latter purpose, a
-separate tool is provided, see section <A HREF="gettext_12.html#SEC197">12.6.3  Invoking the <CODE>autopoint</CODE> Program</A>.
-
-</P>
-
-
-<H2><A NAME="SEC177" HREF="gettext_toc.html#TOC177">12.4  Files You Must Create or Alter</A></H2>
-<P>
-<A NAME="IDX881"></A>
-
-</P>
-<P>
-Besides files which are automatically added through <CODE>gettextize</CODE>,
-there are many files needing revision for properly interacting with
-GNU <CODE>gettext</CODE>.  If you are closely following GNU standards for
-Makefile engineering and auto-configuration, the adaptations should
-be easier to achieve.  Here is a point by point description of the
-changes needed in each.
-
-</P>
-<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.6-pre2 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="SEC178" HREF="gettext_toc.html#TOC178">12.4.1  <TT>`POTFILES.in&acute;</TT> in <TT>`po/&acute;</TT></A></H3>
-<P>
-<A NAME="IDX882"></A>
-
-</P>
-<P>
-The <TT>`po/&acute;</TT> directory should receive a file named
-<TT>`POTFILES.in&acute;</TT>.  This file tells which files, among all program
-sources, have marked strings needing translation.  Here is an example
-of such a file:
-
-</P>
-
-<PRE>
-# List of source files containing translatable strings.
-# Copyright (C) 1995 Free Software Foundation, Inc.
-
-# Common library files
-lib/error.c
-lib/getopt.c
-lib/xmalloc.c
-
-# Package source files
-src/gettext.c
-src/msgfmt.c
-src/xgettext.c
-</PRE>
-
-<P>
-Hash-marked comments and white lines are ignored.  All other lines
-list those source files containing strings marked for translation
-(see section <A HREF="gettext_3.html#SEC16">3.3  How Marks Appear in Sources</A>), in a notation relative to the top level
-of your whole distribution, rather than the location of the
-<TT>`POTFILES.in&acute;</TT> file itself.
-
-</P>
-<P>
-When a C file is automatically generated by a tool, like <CODE>flex</CODE> or
-<CODE>bison</CODE>, that doesn't introduce translatable strings by itself,
-it is recommended to list in <TT>`po/POTFILES.in&acute;</TT> the real source file
-(ending in <TT>`.l&acute;</TT> in the case of <CODE>flex</CODE>, or in <TT>`.y&acute;</TT> in the
-case of <CODE>bison</CODE>), not the generated C file.
-
-</P>
-
-
-<H3><A NAME="SEC179" HREF="gettext_toc.html#TOC179">12.4.2  <TT>`LINGUAS&acute;</TT> in <TT>`po/&acute;</TT></A></H3>
-<P>
-<A NAME="IDX883"></A>
-
-</P>
-<P>
-The <TT>`po/&acute;</TT> directory should also receive a file named
-<TT>`LINGUAS&acute;</TT>.  This file contains the list of available translations.
-It is a whitespace separated list.  Hash-marked comments and white lines
-are ignored.  Here is an example file:
-
-</P>
-
-<PRE>
-# Set of available languages.
-de fr
-</PRE>
-
-<P>
-This example means that German and French PO files are available, so
-that these languages are currently supported by your package.  If you
-want to further restrict, at installation time, the set of installed
-languages, this should not be done by modifying the <TT>`LINGUAS&acute;</TT> file,
-but rather by using the <CODE>LINGUAS</CODE> environment variable
-(see section <A HREF="gettext_9.html#SEC140">9.2  Magic for Installers</A>).
-
-</P>
-
-
-<H3><A NAME="SEC180" HREF="gettext_toc.html#TOC180">12.4.3  <TT>`Makefile&acute;</TT> pieces in <TT>`po/&acute;</TT></A></H3>
-<P>
-<A NAME="IDX884"></A>
-
-</P>
-<P>
-The <TT>`po/&acute;</TT> directory also has a file named <TT>`Makevars&acute;</TT>.
-It can be left unmodified if your package has a single message domain
-and, accordingly, a single <TT>`po/&acute;</TT> directory. Only packages which
-have multiple <TT>`po/&acute;</TT> directories at different locations need to
-adjust the three variables defined in <TT>`Makevars&acute;</TT>.
-
-</P>
-<P>
-<TT>`po/Makevars&acute;</TT> gets inserted into the <TT>`po/Makefile&acute;</TT> when the
-latter is created. At the same time, all files called <TT>`Rules-*&acute;</TT> in the
-<TT>`po/&acute;</TT> directory get appended to the <TT>`po/Makefile&acute;</TT>. They present
-an opportunity to add rules for special PO files to the Makefile, without
-needing to mess with <TT>`po/Makefile.in.in&acute;</TT>.
-
-</P>
-<P>
-<A NAME="IDX885"></A>
-<A NAME="IDX886"></A>
-GNU gettext comes with a <TT>`Rules-quot&acute;</TT> file, containing rules for
-building catalogs <TT>`en@quot.po&acute;</TT> and <TT>`en@boldquot.po&acute;</TT>. The
-effect of <TT>`en@quot.po&acute;</TT> is that people who set their <CODE>LANGUAGE</CODE>
-environment variable to <SAMP>`en@quot&acute;</SAMP> will get messages with proper
-looking symmetric Unicode quotation marks instead of abusing the ASCII
-grave accent and the ASCII apostrophe for indicating quotations. To
-enable this catalog, simply add <CODE>en@quot</CODE> to the <TT>`po/LINGUAS&acute;</TT>
-file. The effect of <TT>`en@boldquot.po&acute;</TT> is that people who set
-<CODE>LANGUAGE</CODE> to <SAMP>`en@boldquot&acute;</SAMP> will get not only proper quotation
-marks, but also the quoted text will be shown in a bold font on terminals
-and consoles. This catalog is useful only for command-line programs, not
-GUI programs. To enable it, similarly add <CODE>en@boldquot</CODE> to the
-<TT>`po/LINGUAS&acute;</TT> file.
-
-</P>
-
-
-<H3><A NAME="SEC181" HREF="gettext_toc.html#TOC181">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
-<CODE>autoconf</CODE> generates the <TT>`configure&acute;</TT> script.
-
-</P>
-
-<OL>
-<LI>Declare the package and version.
-
-<A NAME="IDX887"></A>
-
-This is done by a set of lines like these:
-
-
-<PRE>
-PACKAGE=gettext
-VERSION=0.11.6-pre2
-AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE")
-AC_DEFINE_UNQUOTED(VERSION, "$VERSION")
-AC_SUBST(PACKAGE)
-AC_SUBST(VERSION)
-</PRE>
-
-or, if you are using GNU <CODE>automake</CODE>, by a line like this:
-
-
-<PRE>
-AM_INIT_AUTOMAKE(gettext, 0.11.6-pre2)
-</PRE>
-
-Of course, you replace <SAMP>`gettext&acute;</SAMP> with the name of your package,
-and <SAMP>`0.11.6-pre2&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.6-pre2.tar.gz&acute;</TT>, here).
-
-<LI>Check for internationalization support.
-
-Here is the main <CODE>m4</CODE> macro for triggering internationalization
-support.  Just add this line to <TT>`configure.in&acute;</TT>:
-
-
-<PRE>
-AM_GNU_GETTEXT
-</PRE>
-
-This call is purposely simple, even if it generates a lot of configure
-time checking and actions.
-
-If you have suppressed the <TT>`intl/&acute;</TT> subdirectory by calling
-<CODE>gettextize</CODE> without <SAMP>`--intl&acute;</SAMP> option, this call should read
-
-
-<PRE>
-AM_GNU_GETTEXT([external])
-</PRE>
-
-<LI>Have output files created.
-
-The <CODE>AC_OUTPUT</CODE> directive, at the end of your <TT>`configure.in&acute;</TT>
-file, needs to be modified in two ways:
-
-
-<PRE>
-AC_OUTPUT([<VAR>existing configuration files</VAR> intl/Makefile po/Makefile.in],
-[<VAR>existing additional actions</VAR>])
-</PRE>
-
-The modification to the first argument to <CODE>AC_OUTPUT</CODE> asks
-for substitution in the <TT>`intl/&acute;</TT> and <TT>`po/&acute;</TT> directories.
-Note the <SAMP>`.in&acute;</SAMP> suffix used for <TT>`po/&acute;</TT> only.  This is because
-the distributed file is really <TT>`po/Makefile.in.in&acute;</TT>.
-
-If you have suppressed the <TT>`intl/&acute;</TT> subdirectory by calling
-<CODE>gettextize</CODE> without <SAMP>`--intl&acute;</SAMP> option, then you don't need to
-add <CODE>intl/Makefile</CODE> to the <CODE>AC_OUTPUT</CODE> line.
-
-</OL>
-
-
-
-<H3><A NAME="SEC182" HREF="gettext_toc.html#TOC182">12.4.5  <TT>`config.guess&acute;</TT>, <TT>`config.sub&acute;</TT> at top level</A></H3>
-
-<P>
-If you haven't suppressed the <TT>`intl/&acute;</TT> subdirectory,
-you need to add the GNU <TT>`config.guess&acute;</TT> and <TT>`config.sub&acute;</TT> files
-to your distribution.  They are needed because the <TT>`intl/&acute;</TT> directory
-has platform dependent support for determining the locale's character
-encoding and therefore needs to identify the platform.
-
-</P>
-<P>
-You can obtain the newest version of <TT>`config.guess&acute;</TT> and
-<TT>`config.sub&acute;</TT> from <TT>`ftp://ftp.gnu.org/pub/gnu/config/&acute;</TT>.
-Less recent versions are also contained in the GNU <CODE>automake</CODE> and
-GNU <CODE>libtool</CODE> packages.
-
-</P>
-<P>
-Normally, <TT>`config.guess&acute;</TT> and <TT>`config.sub&acute;</TT> are put at the
-top level of a distribution.  But it is also possible to put them in a
-subdirectory, altogether with other configuration support files like
-<TT>`install-sh&acute;</TT>, <TT>`ltconfig&acute;</TT>, <TT>`ltmain.sh&acute;</TT>,
-<TT>`mkinstalldirs&acute;</TT> or <TT>`missing&acute;</TT>.  All you need to do, other than
-moving the files, is to add the following line to your
-<TT>`configure.in&acute;</TT>.
-
-</P>
-
-<PRE>
-AC_CONFIG_AUX_DIR([<VAR>subdir</VAR>])
-</PRE>
-
-
-
-<H3><A NAME="SEC183" HREF="gettext_toc.html#TOC183">12.4.6  <TT>`mkinstalldirs&acute;</TT> at top level</A></H3>
-<P>
-<A NAME="IDX888"></A>
-
-</P>
-<P>
-If <CODE>gettextize</CODE> has not already done it, you need to add the GNU
-<TT>`mkinstalldirs&acute;</TT> script to your distribution.  It is needed because
-<SAMP>`mkdir -p&acute;</SAMP> is not portable enough.  You find this script in the
-GNU <CODE>automake</CODE> distribution.
-
-</P>
-<P>
-Normally, <TT>`mkinstalldirs&acute;</TT> is put at the top level of a distribution.
-But it is also possible to put it in a subdirectory, altogether with other
-configuration support files like <TT>`install-sh&acute;</TT>, <TT>`ltconfig&acute;</TT>,
-<TT>`ltmain.sh&acute;</TT> or <TT>`missing&acute;</TT>.  All you need to do, other than
-moving the files, is to add the following line to your <TT>`configure.in&acute;</TT>.
-
-</P>
-
-<PRE>
-AC_CONFIG_AUX_DIR([<VAR>subdir</VAR>])
-</PRE>
-
-
-
-<H3><A NAME="SEC184" HREF="gettext_toc.html#TOC184">12.4.7  <TT>`aclocal.m4&acute;</TT> at top level</A></H3>
-<P>
-<A NAME="IDX889"></A>
-
-</P>
-<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>`intdiv0.m4&acute;</TT>,
-<TT>`inttypes.m4&acute;</TT>, <TT>`inttypes_h.m4&acute;</TT>, <TT>`inttypes-pri.m4&acute;</TT>,
-<TT>`isc-posix.m4&acute;</TT>, <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>,
-<TT>`stdint_h.m4&acute;</TT>, <TT>`uintmax_t.m4&acute;</TT>, <TT>`ulonglong.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>`lib-ld.m4&acute;</TT>, <TT>`lib-link.m4&acute;</TT>, <TT>`lib-prefix.m4&acute;</TT>,
-<TT>`progtest.m4&acute;</TT> need to be concatenated.
-
-</P>
-<P>
-If you already have an <TT>`aclocal.m4&acute;</TT> file, then you will have
-to merge the said macro files into your <TT>`aclocal.m4&acute;</TT>.  Note that if
-you are upgrading from a previous release of GNU <CODE>gettext</CODE>, you
-should most probably <EM>replace</EM> the macros (<CODE>AM_GNU_GETTEXT</CODE>,
-etc.), as they usually
-change a little from one release of GNU <CODE>gettext</CODE> to the next.
-Their contents may vary as we get more experience with strange systems
-out there.
-
-</P>
-<P>
-If you are using GNU <CODE>automake</CODE> 1.5 or newer, it is enough to put
-these macro files into a subdirectory named <TT>`m4/&acute;</TT> and add the line
-
-</P>
-
-<PRE>
-ACLOCAL_AMFLAGS = -I m4
-</PRE>
-
-<P>
-to your top level <TT>`Makefile.am&acute;</TT>.
-
-</P>
-<P>
-These macros check for the internationalization support functions
-and related informations.  Hopefully, once stabilized, these macros
-might be integrated in the standard Autoconf set, because this
-piece of <CODE>m4</CODE> code will be the same for all projects using GNU
-<CODE>gettext</CODE>.
-
-</P>
-
-
-<H3><A NAME="SEC185" HREF="gettext_toc.html#TOC185">12.4.8  <TT>`acconfig.h&acute;</TT> at top level</A></H3>
-<P>
-<A NAME="IDX890"></A>
-
-</P>
-<P>
-Earlier GNU <CODE>gettext</CODE> releases required to put definitions for
-<CODE>ENABLE_NLS</CODE>, <CODE>HAVE_GETTEXT</CODE> and <CODE>HAVE_LC_MESSAGES</CODE>,
-<CODE>HAVE_STPCPY</CODE>, <CODE>PACKAGE</CODE> and <CODE>VERSION</CODE> into an
-<TT>`acconfig.h&acute;</TT> file.  This is not needed any more; you can remove
-them from your <TT>`acconfig.h&acute;</TT> file unless your package uses them
-independently from the <TT>`intl/&acute;</TT> directory.
-
-</P>
-
-
-<H3><A NAME="SEC186" HREF="gettext_toc.html#TOC186">12.4.9  <TT>`config.h.in&acute;</TT> at top level</A></H3>
-<P>
-<A NAME="IDX891"></A>
-
-</P>
-<P>
-The include file template that holds the C macros to be defined by
-<CODE>configure</CODE> is usually called <TT>`config.h.in&acute;</TT> and may be
-maintained either manually or automatically.
-
-</P>
-<P>
-If it is maintained automatically, by use of the <SAMP>`autoheader&acute;</SAMP>
-program, you need to do nothing about it.  This is the case in particular
-if you are using GNU <CODE>automake</CODE>.
-
-</P>
-<P>
-If it is maintained manually, and if <CODE>gettextize</CODE> has created an
-<TT>`intl/&acute;</TT> directory, you should switch to using <SAMP>`autoheader&acute;</SAMP>.
-The list of C macros to be added for the sake of the <TT>`intl/&acute;</TT>
-directory is just too long to be maintained manually; it also changes
-between different versions of GNU <CODE>gettext</CODE>.
-
-</P>
-<P>
-If it is maintained manually, and if on the other hand you have
-suppressed the <TT>`intl/&acute;</TT> directory by calling <CODE>gettextize</CODE>
-without <SAMP>`--intl&acute;</SAMP> option, then you can get away by adding the
-following lines to <TT>`config.h.in&acute;</TT>:
-
-</P>
-
-<PRE>
-/* Define to 1 if translation of program messages to the user's
-   native language is requested. */
-#undef ENABLE_NLS
-</PRE>
-
-
-
-<H3><A NAME="SEC187" HREF="gettext_toc.html#TOC187">12.4.10  <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
-<TT>`Makefile.in&acute;</TT> file.
-
-</P>
-
-<OL>
-<LI>
-
-Add the following lines near the beginning of your <TT>`Makefile.in&acute;</TT>,
-so the <SAMP>`dist:&acute;</SAMP> goal will work properly (as explained further down):
-
-
-<PRE>
-PACKAGE = @PACKAGE@
-VERSION = @VERSION@
-</PRE>
-
-<LI>
-
-Add file <TT>`ABOUT-NLS&acute;</TT> to the <CODE>DISTFILES</CODE> definition, so the file gets
-distributed.
-
-<LI>
-
-Wherever you process subdirectories in your <TT>`Makefile.in&acute;</TT>, be sure
-you also process the subdirectories <SAMP>`intl&acute;</SAMP> and <SAMP>`po&acute;</SAMP>.  Special
-rules in the <TT>`Makefiles&acute;</TT> take care for the case where no
-internationalization is wanted.
-
-If you are using Makefiles, either generated by automake, or hand-written
-so they carefully follow the GNU coding standards, the effected goals for
-which the new subdirectories must be handled include <SAMP>`installdirs&acute;</SAMP>,
-<SAMP>`install&acute;</SAMP>, <SAMP>`uninstall&acute;</SAMP>, <SAMP>`clean&acute;</SAMP>, <SAMP>`distclean&acute;</SAMP>.
-
-Here is an example of a canonical order of processing.  In this
-example, we also define <CODE>SUBDIRS</CODE> in <CODE>Makefile.in</CODE> for it
-to be further used in the <SAMP>`dist:&acute;</SAMP> goal.
-
-
-<PRE>
-SUBDIRS = doc intl lib src po
-</PRE>
-
-Note that you must arrange for <SAMP>`make&acute;</SAMP> to descend into the
-<CODE>intl</CODE> directory before descending into other directories containing
-code which make use of the <CODE>libintl.h</CODE> header file.  For this
-reason, here we mention <CODE>intl</CODE> before <CODE>lib</CODE> and <CODE>src</CODE>.
-
-<LI>
-
-A delicate point is the <SAMP>`dist:&acute;</SAMP> goal, as both
-<TT>`intl/Makefile&acute;</TT> and <TT>`po/Makefile&acute;</TT> will later assume that the
-proper directory has been set up from the main <TT>`Makefile&acute;</TT>.  Here is
-an example at what the <SAMP>`dist:&acute;</SAMP> goal might look like:
-
-
-<PRE>
-distdir = $(PACKAGE)-$(VERSION)
-dist: Makefile
-       rm -fr $(distdir)
-       mkdir $(distdir)
-       chmod 777 $(distdir)
-       for file in $(DISTFILES); do \
-         ln $$file $(distdir) 2&#62;/dev/null || cp -p $$file $(distdir); \
-       done
-       for subdir in $(SUBDIRS); do \
-         mkdir $(distdir)/$$subdir || exit 1; \
-         chmod 777 $(distdir)/$$subdir; \
-         (cd $$subdir &#38;&#38; $(MAKE) $@) || exit 1; \
-       done
-       tar chozf $(distdir).tar.gz $(distdir)
-       rm -fr $(distdir)
-</PRE>
-
-</OL>
-
-<P>
-Note that if you are using GNU <CODE>automake</CODE>, <TT>`Makefile.in&acute;</TT> is
-automatically generated from <TT>`Makefile.am&acute;</TT>, and all needed changes
-to <TT>`Makefile.am&acute;</TT> are already made by running <SAMP>`gettextize&acute;</SAMP>.
-
-</P>
-
-
-<H3><A NAME="SEC188" HREF="gettext_toc.html#TOC188">12.4.11  <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
-also be needed in the <TT>`Makefile.in&acute;</TT> from your package sources,
-which we assume here to be in the <TT>`src/&acute;</TT> subdirectory.  Here are
-all the modifications needed in <TT>`src/Makefile.in&acute;</TT>:
-
-</P>
-
-<OL>
-<LI>
-
-In view of the <SAMP>`dist:&acute;</SAMP> goal, you should have these lines near the
-beginning of <TT>`src/Makefile.in&acute;</TT>:
-
-
-<PRE>
-PACKAGE = @PACKAGE@
-VERSION = @VERSION@
-</PRE>
-
-<LI>
-
-If not done already, you should guarantee that <CODE>top_srcdir</CODE>
-gets defined.  This will serve for <CODE>cpp</CODE> include files.  Just add
-the line:
-
-
-<PRE>
-top_srcdir = @top_srcdir@
-</PRE>
-
-<LI>
-
-You might also want to define <CODE>subdir</CODE> as <SAMP>`src&acute;</SAMP>, later
-allowing for almost uniform <SAMP>`dist:&acute;</SAMP> goals in all your
-<TT>`Makefile.in&acute;</TT>.  At list, the <SAMP>`dist:&acute;</SAMP> goal below assume that
-you used:
-
-
-<PRE>
-subdir = src
-</PRE>
-
-<LI>
-
-The <CODE>main</CODE> function of your program will normally call
-<CODE>bindtextdomain</CODE> (see see section <A HREF="gettext_3.html#SEC14">3.1  Triggering <CODE>gettext</CODE> Operations</A>), like this:
-
-
-<PRE>
-bindtextdomain (<VAR>PACKAGE</VAR>, LOCALEDIR);
-textdomain (<VAR>PACKAGE</VAR>);
-</PRE>
-
-To make LOCALEDIR known to the program, add the following lines to
-Makefile.in:
-
-
-<PRE>
-datadir = @datadir@
-localedir = $(datadir)/locale
-DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@
-</PRE>
-
-Note that <CODE>@datadir@</CODE> defaults to <SAMP>`$(prefix)/share&acute;</SAMP>, thus
-<CODE>$(localedir)</CODE> defaults to <SAMP>`$(prefix)/share/locale&acute;</SAMP>.
-
-<LI>
-
-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 = @LIBINTL@ @LIBS@
-</PRE>
-
-In most packages internationalized with GNU <CODE>gettext</CODE>, one will
-find a directory <TT>`lib/&acute;</TT> in which a library containing some helper
-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>@LIBINTL@</CODE> and
-<CODE>@LIBS@</CODE> in the above example.  So one has to write this:
-
-
-<PRE>
-LIBS = ../lib/libsupport.a @LIBINTL@ @LIBS@
-</PRE>
-
-<LI>
-
-You should also ensure that directory <TT>`intl/&acute;</TT> will be searched for
-C preprocessor include files in all circumstances.  So, you have to
-manage so both <SAMP>`-I../intl&acute;</SAMP> and <SAMP>`-I$(top_srcdir)/intl&acute;</SAMP> will
-be given to the C compiler.
-
-<LI>
-
-Your <SAMP>`dist:&acute;</SAMP> goal has to conform with others.  Here is a
-reasonable definition for it:
-
-
-<PRE>
-distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
-dist: Makefile $(DISTFILES)
-       for file in $(DISTFILES); do \
-         ln $$file $(distdir) 2&#62;/dev/null || cp -p $$file $(distdir); \
-       done
-</PRE>
-
-</OL>
-
-
-
-<H3><A NAME="SEC189" HREF="gettext_toc.html#TOC189">12.4.12  <TT>`gettext.h&acute;</TT> in <TT>`lib/&acute;</TT></A></H3>
-<P>
-<A NAME="IDX892"></A>
-<A NAME="IDX893"></A>
-<A NAME="IDX894"></A>
-
-</P>
-<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>
-<A NAME="IDX895"></A>
-<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="SEC190" HREF="gettext_toc.html#TOC190">12.5  Autoconf macros for use in <TT>`configure.in&acute;</TT></A></H2>
-<P>
-<A NAME="IDX896"></A>
-
-</P>
-<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="SEC191" HREF="gettext_toc.html#TOC191">12.5.1  AM_GNU_GETTEXT in <TT>`gettext.m4&acute;</TT></A></H3>
-
-<P>
-<A NAME="IDX897"></A>
-The <CODE>AM_GNU_GETTEXT</CODE> macro tests for the presence of the GNU gettext
-function family in either the C library or a separate <CODE>libintl</CODE>
-library (shared or static libraries are both supported) or in the package's
-<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.  If <VAR>needsymbol</VAR> is specified and is
-<SAMP>`need-formatstring-macros&acute;</SAMP>, then GNU gettext implementations that don't
-support the ISO C 99 <TT>`&#60;inttypes.h&#62;&acute;</TT> formatstring macros will be ignored.
-Only one <VAR>needsymbol</VAR> can be specified.  To specify more than one
-requirement, just specify the strongest one among them.  The hierarchy among
-the various alternatives is as follows: <SAMP>`need-formatstring-macros&acute;</SAMP>
-implies <SAMP>`need-ngettext&acute;</SAMP>.
-
-</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>
-
-<A NAME="IDX898"></A>
-Some operating systems have <CODE>gettext</CODE> in the C library, for example
-glibc. Some have it in a separate library <CODE>libintl</CODE>. GNU <CODE>libintl</CODE>
-might have been installed as part of the GNU <CODE>gettext</CODE> package.
-
-<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="SEC192" HREF="gettext_toc.html#TOC192">12.5.2  AM_GNU_GETTEXT_VERSION in <TT>`gettext.m4&acute;</TT></A></H3>
-
-<P>
-<A NAME="IDX899"></A>
-The <CODE>AM_GNU_GETTEXT_VERSION</CODE> macro declares the version number of
-the GNU gettext infrastructure that is used by the package.
-
-</P>
-<P>
-The use of this macro is optional; only the <CODE>autopoint</CODE> program makes
-use of it (see section <A HREF="gettext_12.html#SEC194">12.6  Integrating with CVS</A>).
-
-</P>
-
-
-<H3><A NAME="SEC193" HREF="gettext_toc.html#TOC193">12.5.3  AM_ICONV in <TT>`iconv.m4&acute;</TT></A></H3>
-
-<P>
-<A NAME="IDX900"></A>
-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>
-
-<A NAME="IDX901"></A>
-Some operating systems have <CODE>iconv</CODE> in the C library, for example
-glibc. Some have it in a separate library <CODE>libiconv</CODE>, for example
-OSF/1 or FreeBSD. Regardless of the operating system, GNU <CODE>libiconv</CODE>
-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>
-
-
-<H2><A NAME="SEC194" HREF="gettext_toc.html#TOC194">12.6  Integrating with CVS</A></H2>
-
-<P>
-Many projects use CVS for distributed development, version control and
-source backup.  This section gives some advice how to manage the uses
-of <CODE>cvs</CODE>, <CODE>gettextize</CODE>, <CODE>autopoint</CODE> and <CODE>autoconf</CODE>.
-
-</P>
-
-
-
-<H3><A NAME="SEC195" HREF="gettext_toc.html#TOC195">12.6.1  Avoiding version mismatch in distributed development</A></H3>
-
-<P>
-In a project development with multiple developers, using CVS, there
-should be a single developer who occasionally - when there is desire to
-upgrade to a new <CODE>gettext</CODE> version - runs <CODE>gettextize</CODE> and
-performs the changes listed in section <A HREF="gettext_12.html#SEC177">12.4  Files You Must Create or Alter</A>, and then commits
-his changes to the CVS.
-
-</P>
-<P>
-It is highly recommended that all developers on a project use the same
-version of GNU <CODE>gettext</CODE> in the package.  In other words, if a
-developer runs <CODE>gettextize</CODE>, he should go the whole way, make the
-necessary remaining changes and commit his changes to the CVS.
-Otherwise the following damages will likely occur:
-
-</P>
-
-<UL>
-<LI>
-
-Apparent version mismatch between developers.  Since some <CODE>gettext</CODE>
-specific portions in <TT>`configure.in&acute;</TT>, <TT>`configure.ac&acute;</TT> and
-<CODE>Makefile.am</CODE>, <CODE>Makefile.in</CODE> files depend on the <CODE>gettext</CODE>
-version, the use of infrastructure files belonging to different
-<CODE>gettext</CODE> versions can easily lead to build errors.
-
-<LI>
-
-Hidden version mismatch.  Such version mismatch can also lead to
-malfunctioning of the package, that may be undiscovered by the developers.
-The worst case of hidden version mismatch is that internationalization
-of the package doesn't work at all.
-
-<LI>
-
-Release risks.  All developers implicitly perform constant testing on
-a package.  This is important in the days and weeks before a release.
-If the guy who makes the release tar files uses a different version
-of GNU <CODE>gettext</CODE> than the other developers, the distribution will
-be less well tested than if all had been using the same <CODE>gettext</CODE>
-version.  For example, it is possible that a platform specific bug goes
-undiscovered due to this constellation.
-</UL>
-
-
-
-<H3><A NAME="SEC196" HREF="gettext_toc.html#TOC196">12.6.2  Files to put under CVS version control</A></H3>
-
-<P>
-There are basically three ways to deal with generated files in the
-context of a CVS repository, such as <TT>`configure&acute;</TT> generated from
-<TT>`configure.in&acute;</TT>, <CODE><VAR>parser</VAR>.c</CODE> generated from
-<CODE><VAR>parser</VAR>.y</CODE>, or <CODE>po/Makefile.in.in</CODE> autoinstalled by
-<CODE>gettextize</CODE> or <CODE>autopoint</CODE>.
-
-</P>
-
-<OL>
-<LI>
-
-All generated files are always committed into the repository.
-
-<LI>
-
-All generated files are committed into the repository occasionally,
-for example each time a release is made.
-
-<LI>
-
-Generated files are never committed into the repository.
-</OL>
-
-<P>
-Each of these three approaches has different advantages and drawbacks.
-
-</P>
-
-<OL>
-<LI>
-
-The advantage is that anyone can check out the CVS at any moment and
-gets a working build.  The drawbacks are:  1a. It requires some frequent
-"cvs commit" actions by the maintainers.  1b. The reposity grows in size
-quite fast.
-
-<LI>
-
-The advantage is that anyone can check out the CVS, and the usual
-"./configure; make" will work.  The drawbacks are:  2a. The one who
-checks out the repository needs tools like GNU <CODE>automake</CODE>,
-GNU <CODE>autoconf</CODE>, GNU <CODE>m4</CODE> installed in his PATH; sometimes
-he even needs particular versions of them.  2b. When a release is made
-and a commit is made on the generated files, the other developers get
-conflicts on the generated files after doing "cvs update".  Although
-these conflicts are easy to resolve, they are annoying.
-
-<LI>
-
-The advantage is less work for the maintainers.  The drawback is that
-anyone who checks out the CVS not only needs tools like GNU <CODE>automake</CODE>,
-GNU <CODE>autoconf</CODE>, GNU <CODE>m4</CODE> installed in his PATH, but also that
-he needs to perform a package specific pre-build step before being able
-to "./configure; make".
-</OL>
-
-<P>
-For the first and second approach, all files modified or brought in
-by the occasional <CODE>gettextize</CODE> invocation and update should be
-committed into the CVS.
-
-</P>
-<P>
-For the third approach, the maintainer can omit from the CVS repository
-all the files that <CODE>gettextize</CODE> mentions as "copy".  Instead, he
-adds to the <TT>`configure.in&acute;</TT> or <TT>`configure.ac&acute;</TT> a line of the
-form
-
-</P>
-
-<PRE>
-AM_GNU_GETTEXT_VERSION(0.11.6-pre2)
-</PRE>
-
-<P>
-and adds to the package's pre-build script an invocation of
-<SAMP>`autopoint&acute;</SAMP>.  For everyone who checks out the CVS, this
-<CODE>autopoint</CODE> invocation will copy into the right place the
-<CODE>gettext</CODE> infrastructure files that have been omitted from the CVS.
-
-</P>
-
-
-<H3><A NAME="SEC197" HREF="gettext_toc.html#TOC197">12.6.3  Invoking the <CODE>autopoint</CODE> Program</A></H3>
-
-<P>
-<A NAME="IDX902"></A>
-<A NAME="IDX903"></A>
-
-<PRE>
-autopoint [<VAR>option</VAR>]...
-</PRE>
-
-<P>
-The <CODE>autopoint</CODE> program copies standard gettext infrastructure files
-into a source package.  It extracts from a macro call of the form
-<CODE>AM_GNU_GETTEXT_VERSION(<VAR>version</VAR>)</CODE>, found in the package's
-<TT>`configure.in&acute;</TT> or <TT>`configure.ac&acute;</TT> file, the gettext version
-used by the package, and copies the infrastructure files belonging to
-this version into the package.
-
-</P>
-
-
-<H4><A NAME="SEC198" HREF="gettext_toc.html#TOC198">12.6.3.1  Options</A></H4>
-
-<DL COMPACT>
-
-<DT><SAMP>`-f&acute;</SAMP>
-<DD>
-<DT><SAMP>`--force&acute;</SAMP>
-<DD>
-<A NAME="IDX904"></A>
-<A NAME="IDX905"></A>
-Force overwriting of files that already exist.
-
-<DT><SAMP>`-n&acute;</SAMP>
-<DD>
-<DT><SAMP>`--dry-run&acute;</SAMP>
-<DD>
-<A NAME="IDX906"></A>
-<A NAME="IDX907"></A>
-Print modifications but don't perform them.  All file copying actions that
-<CODE>autopoint</CODE> would normally execute are inhibited and instead only
-listed on standard output.
-
-</DL>
-
-
-
-<H4><A NAME="SEC199" HREF="gettext_toc.html#TOC199">12.6.3.2  Informative output</A></H4>
-
-<DL COMPACT>
-
-<DT><SAMP>`--help&acute;</SAMP>
-<DD>
-<A NAME="IDX908"></A>
-Display this help and exit.
-
-<DT><SAMP>`--version&acute;</SAMP>
-<DD>
-<A NAME="IDX909"></A>
-Output version information and exit.
-
-</DL>
-
-<P>
-<CODE>autopoint</CODE> supports the GNU <CODE>gettext</CODE> versions from 0.10.35 to
-the current one, 0.11.6-pre2.  In order to apply <CODE>autopoint</CODE> to
-a package using a <CODE>gettext</CODE> version newer than 0.11.6-pre2, you
-need to install this same version of GNU <CODE>gettext</CODE> at least.
-
-</P>
-<P>
-In packages using GNU <CODE>automake</CODE>, an invocation of <CODE>autopoint</CODE>
-should be followed by invocations of <CODE>aclocal</CODE> and then <CODE>autoconf</CODE>
-and <CODE>autoheader</CODE>.  The reason is that <CODE>autopoint</CODE> installs some
-autoconf macro files, which are used by <CODE>aclocal</CODE> to create
-<TT>`aclocal.m4&acute;</TT>, and the latter is used by <CODE>autoconf</CODE> to create the
-package's <TT>`configure&acute;</TT> script and by <CODE>autoheader</CODE> to create the
-package's <TT>`config.h.in&acute;</TT> include file template.
-
-</P>
-<P>
-The name <SAMP>`autopoint&acute;</SAMP> is an abbreviation of <SAMP>`auto-po-intl-m4&acute;</SAMP>;
-the tool copies or updates mostly files in the <TT>`po&acute;</TT>, <TT>`intl&acute;</TT>,
-<TT>`m4&acute;</TT> directories.
-
-</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_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
-</BODY>
-</HTML>
diff --git a/doc/gettext_13.html b/doc/gettext_13.html
deleted file mode 100644 (file)
index ec23fc2..0000000
+++ /dev/null
@@ -1,1718 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52a
-     from gettext.texi on 5 November 2002 -->
-
-<TITLE>GNU gettext utilities - 13  Other Programming Languages</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_12.html">previous</A>, <A HREF="gettext_14.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC200" HREF="gettext_toc.html#TOC200">13  Other Programming Languages</A></H1>
-
-<P>
-While the presentation of <CODE>gettext</CODE> 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.
-
-</P>
-
-
-
-<H2><A NAME="SEC201" HREF="gettext_toc.html#TOC201">13.1  The Language Implementor's View</A></H2>
-<P>
-<A NAME="IDX910"></A>
-<A NAME="IDX911"></A>
-
-</P>
-<P>
-All programming and scripting languages that have the notion of strings
-are eligible to supporting <CODE>gettext</CODE>.  Supporting <CODE>gettext</CODE>
-means the following:
-
-</P>
-
-<OL>
-<LI>
-
-You should add to the language a syntax for translatable strings.  In
-principle, a function call of <CODE>gettext</CODE> would do, but a shorthand
-syntax helps keeping the legibility of internationalized programs.  For
-example, in C we use the syntax <CODE>_("string")</CODE>, in bash we use the
-syntax <CODE>$"string"</CODE>, and in GNU awk we use the shorthand
-<CODE>_"string"</CODE>.
-
-<LI>
-
-You should arrange that evaluation of such a translatable string at
-runtime calls the <CODE>gettext</CODE> function, or performs equivalent
-processing.
-
-<LI>
-
-Similarly, you should make the functions <CODE>ngettext</CODE>,
-<CODE>dcgettext</CODE>, <CODE>dcngettext</CODE> available from within the language.
-These functions are less often used, but are nevertheless necessary for
-particular purposes: <CODE>ngettext</CODE> for correct plural handling, and
-<CODE>dcgettext</CODE> and <CODE>dcngettext</CODE> for obeying other locale
-environment variables than <CODE>LC_MESSAGES</CODE>, such as <CODE>LC_TIME</CODE> or
-<CODE>LC_MONETARY</CODE>.  For these latter functions, you need to make the
-<CODE>LC_*</CODE> constants, available in the C header <CODE>&#60;locale.h&#62;</CODE>,
-referenceable from within the language, usually either as enumeration
-values or as strings.
-
-<LI>
-
-You should allow the programmer to designate a message domain, either by
-making the <CODE>textdomain</CODE> function available from within the
-language, or by introducing a magic variable called <CODE>TEXTDOMAIN</CODE>.
-Similarly, you should allow the programmer to designate where to search
-for message catalogs, by providing access to the <CODE>bindtextdomain</CODE>
-function.
-
-<LI>
-
-You should either perform a <CODE>setlocale (LC_ALL, "")</CODE> call during
-the startup of your language runtime, or allow the programmer to do so.
-Remember that gettext will act as a no-op if the <CODE>LC_MESSAGES</CODE> and
-<CODE>LC_CTYPE</CODE> locale facets are not both set.
-
-<LI>
-
-A programmer should have a way to extract translatable strings from a
-program into a PO file.  The GNU <CODE>xgettext</CODE> program is being
-extended to support very different programming languages.  Please
-contact the GNU <CODE>gettext</CODE> maintainers to help them doing this.  If
-the string extractor is best integrated into your language's parser, GNU
-<CODE>xgettext</CODE> can function as a front end to your string extractor.
-
-<LI>
-
-The language's library should have a string formatting facility where
-the arguments of a format string are denoted by a positional number or a
-name.  This is needed because for some languages and some messages with
-more than one substitutable argument, the translation will need to
-output the substituted arguments in different order.  See section <A HREF="gettext_3.html#SEC18">3.5  Special Comments preceding Keywords</A>.
-
-<LI>
-
-If the language has more than one implementation, and not all of the
-implementations use <CODE>gettext</CODE>, 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.
-
-<LI>
-
-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 <CODE>gettext</CODE> maintainers, so they can add support for
-your language to <TT>`po-mode.el&acute;</TT>.
-</OL>
-
-<P>
-On the implementation side, three approaches are possible, with
-different effects on portability and copyright:
-
-</P>
-
-<UL>
-<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#SEC173">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
-to the Free Software pool.
-
-<LI>
-
-You may link against GNU <CODE>gettext</CODE> functions if they are found in
-the C library.  For example, an autoconf test for <CODE>gettext()</CODE> and
-<CODE>ngettext()</CODE> will detect this situation.  For the moment, this test
-will succeed on GNU systems and not on other platforms.  No severe
-copyright restrictions apply.
-
-<LI>
-
-You may emulate or reimplement the GNU <CODE>gettext</CODE> functionality.
-This has the advantage of full portability and no copyright
-restrictions, but also the drawback that you have to reimplement the GNU
-<CODE>gettext</CODE> features (such as the <CODE>LANGUAGE</CODE> environment
-variable, the locale aliases database, the automatic charset conversion,
-and plural handling).
-</UL>
-
-
-
-<H2><A NAME="SEC202" HREF="gettext_toc.html#TOC202">13.2  The Programmer's View</A></H2>
-
-<P>
-For the programmer, the general procedure is the same as for the C
-language.  The Emacs PO mode supports other languages, and the GNU
-<CODE>xgettext</CODE> string extractor recognizes other languages based on the
-file extension or a command-line option.  In some languages,
-<CODE>setlocale</CODE> is not needed because it is already performed by the
-underlying language runtime.
-
-</P>
-
-
-<H2><A NAME="SEC203" HREF="gettext_toc.html#TOC203">13.3  The Translator's View</A></H2>
-
-<P>
-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.
-
-</P>
-
-
-
-<H3><A NAME="SEC204" HREF="gettext_toc.html#TOC204">13.3.1  C Format Strings</A></H3>
-
-<P>
-C format strings are described in POSIX (IEEE P1003.1 2001), section
-XSH 3 fprintf(),
-<A HREF="http://www.opengroup.org/onlinepubs/007904975/functions/fprintf.html">http://www.opengroup.org/onlinepubs/007904975/functions/fprintf.html</A>.
-See also the fprintf(3) manual page,
-<A HREF="http://www.linuxvalley.it/encyclopedia/ldp/manpage/man3/printf.3.php">http://www.linuxvalley.it/encyclopedia/ldp/manpage/man3/printf.3.php</A>,
-<A HREF="http://informatik.fh-wuerzburg.de/student/i510/man/printf.html">http://informatik.fh-wuerzburg.de/student/i510/man/printf.html</A>.
-
-</P>
-
-
-<H3><A NAME="SEC205" HREF="gettext_toc.html#TOC205">13.3.2  Python Format Strings</A></H3>
-
-<P>
-Python format strings are described in
-Python Library reference /
-2. Built-in Types, Exceptions and Functions /
-2.2. Built-in Types /
-2.2.6. Sequence Types /
-2.2.6.2. String Formatting Operations.
-<A HREF="http://www.python.org/doc/2.2.1/lib/typesseq-strings.html">http://www.python.org/doc/2.2.1/lib/typesseq-strings.html</A>.
-
-</P>
-
-
-<H3><A NAME="SEC206" HREF="gettext_toc.html#TOC206">13.3.3  Lisp Format Strings</A></H3>
-
-<P>
-Lisp format strings are described in the Common Lisp HyperSpec,
-chapter 22.3 Formatted Output,
-<A HREF="http://www.lisp.org/HyperSpec/Body/sec_22-3.html">http://www.lisp.org/HyperSpec/Body/sec_22-3.html</A>.
-
-</P>
-
-
-<H3><A NAME="SEC207" HREF="gettext_toc.html#TOC207">13.3.4  Emacs Lisp Format Strings</A></H3>
-
-<P>
-Emacs Lisp format strings are documented in the Emacs Lisp reference,
-section Formatting Strings,
-<A HREF="http://www.gnu.org/manual/elisp-manual-21-2.8/html_chapter/elisp_4.html#SEC75">http://www.gnu.org/manual/elisp-manual-21-2.8/html_chapter/elisp_4.html#SEC75</A>.
-Note that as of version 21, XEmacs supports numbered argument specifications
-in format strings while FSF Emacs doesn't.
-
-</P>
-
-
-<H3><A NAME="SEC208" HREF="gettext_toc.html#TOC208">13.3.5  librep Format Strings</A></H3>
-
-<P>
-librep format strings are documented in the librep manual, section
-Formatted Output,
-<A HREF="http://librep.sourceforge.net/librep-manual.html#Formatted%20Output">http://librep.sourceforge.net/librep-manual.html#Formatted%20Output</A>,
-<A HREF="http://www.gwinnup.org/research/docs/librep.html#SEC122">http://www.gwinnup.org/research/docs/librep.html#SEC122</A>.
-
-</P>
-
-
-<H3><A NAME="SEC209" HREF="gettext_toc.html#TOC209">13.3.6  Smalltalk Format Strings</A></H3>
-
-<P>
-Smalltalk format strings are described in the GNU Smalltalk documentation,
-class <CODE>CharArray</CODE>, methods <SAMP>`bindWith:&acute;</SAMP> and
-<SAMP>`bindWithArguments:&acute;</SAMP>.
-<A HREF="http://www.gnu.org/software/smalltalk/gst-manual/gst_68.html#SEC238">http://www.gnu.org/software/smalltalk/gst-manual/gst_68.html#SEC238</A>.
-In summary, a directive starts with <SAMP>`%&acute;</SAMP> and is followed by <SAMP>`%&acute;</SAMP>
-or a nonzero digit (<SAMP>`1&acute;</SAMP> to <SAMP>`9&acute;</SAMP>).
-
-</P>
-
-
-<H3><A NAME="SEC210" HREF="gettext_toc.html#TOC210">13.3.7  Java Format Strings</A></H3>
-
-<P>
-Java format strings are described in the JDK documentation for class
-<CODE>java.text.MessageFormat</CODE>,
-<A HREF="http://java.sun.com/j2se/1.4/docs/api/java/text/MessageFormat.html">http://java.sun.com/j2se/1.4/docs/api/java/text/MessageFormat.html</A>.
-See also the ICU documentation
-<A HREF="http://oss.software.ibm.com/icu/apiref/classMessageFormat.html">http://oss.software.ibm.com/icu/apiref/classMessageFormat.html</A>.
-
-</P>
-
-
-<H3><A NAME="SEC211" HREF="gettext_toc.html#TOC211">13.3.8  awk Format Strings</A></H3>
-
-<P>
-awk format strings are described in the gawk documentation, section
-Printf,
-<A HREF="http://www.gnu.org/manual/gawk/html_node/Printf.html#Printf">http://www.gnu.org/manual/gawk/html_node/Printf.html#Printf</A>.
-
-</P>
-
-
-<H3><A NAME="SEC212" HREF="gettext_toc.html#TOC212">13.3.9  Object Pascal Format Strings</A></H3>
-
-<P>
-Where is this documented?
-
-</P>
-
-
-<H3><A NAME="SEC213" HREF="gettext_toc.html#TOC213">13.3.10  YCP Format Strings</A></H3>
-
-<P>
-YCP sformat strings are described in the libycp documentation
-<A HREF="file:/usr/share/doc/packages/libycp/YCP-builtins.html">file:/usr/share/doc/packages/libycp/YCP-builtins.html</A>.
-In summary, a directive starts with <SAMP>`%&acute;</SAMP> and is followed by <SAMP>`%&acute;</SAMP>
-or a nonzero digit (<SAMP>`1&acute;</SAMP> to <SAMP>`9&acute;</SAMP>).
-
-</P>
-
-
-<H3><A NAME="SEC214" HREF="gettext_toc.html#TOC214">13.3.11  Tcl Format Strings</A></H3>
-
-<P>
-Tcl format strings are described in the <TT>`format.n&acute;</TT> manual page,
-<A HREF="http://www.scriptics.com/man/tcl8.3/TclCmd/format.htm">http://www.scriptics.com/man/tcl8.3/TclCmd/format.htm</A>.
-
-</P>
-
-
-<H3><A NAME="SEC215" HREF="gettext_toc.html#TOC215">13.3.12  PHP Format Strings</A></H3>
-
-<P>
-PHP format strings are described in the documentation of the PHP function
-<CODE>sprintf</CODE>, in <TT>`phpdoc/manual/function.sprintf.html&acute;</TT> or
-<A HREF="http://www.php.net/manual/en/function.sprintf.php">http://www.php.net/manual/en/function.sprintf.php</A>.
-
-</P>
-
-
-<H2><A NAME="SEC216" HREF="gettext_toc.html#TOC216">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#SEC180">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="SEC217" HREF="gettext_toc.html#TOC217">13.5  Individual Programming Languages</A></H2>
-
-
-
-<H3><A NAME="SEC218" HREF="gettext_toc.html#TOC218">13.5.1  C, C++, Objective C</A></H3>
-<P>
-<A NAME="IDX912"></A>
-
-</P>
-<DL COMPACT>
-
-<DT>RPMs
-<DD>
-gcc, gpp, gobjc, glibc, gettext
-
-<DT>File extension
-<DD>
-For C: <CODE>c</CODE>, <CODE>h</CODE>.
-<BR>For C++: <CODE>C</CODE>, <CODE>c++</CODE>, <CODE>cc</CODE>, <CODE>cxx</CODE>, <CODE>cpp</CODE>, <CODE>hpp</CODE>.
-<BR>For Objective C: <CODE>m</CODE>.
-
-<DT>String syntax
-<DD>
-<CODE>"abc"</CODE>
-
-<DT>gettext shorthand
-<DD>
-<CODE>_("abc")</CODE>
-
-<DT>gettext/ngettext functions
-<DD>
-<CODE>gettext</CODE>, <CODE>dgettext</CODE>, <CODE>dcgettext</CODE>, <CODE>ngettext</CODE>,
-<CODE>dngettext</CODE>, <CODE>dcngettext</CODE>
-
-<DT>textdomain
-<DD>
-<CODE>textdomain</CODE> function
-
-<DT>bindtextdomain
-<DD>
-<CODE>bindtextdomain</CODE> function
-
-<DT>setlocale
-<DD>
-Programmer must call <CODE>setlocale (LC_ALL, "")</CODE>
-
-<DT>Prerequisite
-<DD>
-<CODE>#include &#60;libintl.h&#62;</CODE>
-<BR><CODE>#include &#60;locale.h&#62;</CODE>
-<BR><CODE>#define _(string) gettext (string)</CODE>
-
-<DT>Use or emulate GNU gettext
-<DD>
-Use
-
-<DT>Extractor
-<DD>
-<CODE>xgettext -k_</CODE>
-
-<DT>Formatting with positions
-<DD>
-<CODE>fprintf "%2$d %1$d"</CODE> (POSIX but not C 99)
-<BR>In C++: <CODE>autosprintf "%2$d %1$d"</CODE>
-(see section `Introduction' in <CITE>GNU autosprintf</CITE>)
-
-<DT>Portability
-<DD>
-autoconf (gettext.m4) and #if ENABLE_NLS
-
-<DT>po-mode marking
-<DD>
-yes
-</DL>
-
-
-
-<H3><A NAME="SEC219" HREF="gettext_toc.html#TOC219">13.5.2  sh - Shell Script</A></H3>
-<P>
-<A NAME="IDX913"></A>
-
-</P>
-<DL COMPACT>
-
-<DT>RPMs
-<DD>
-bash, gettext
-
-<DT>File extension
-<DD>
-<CODE>sh</CODE>
-
-<DT>String syntax
-<DD>
-<CODE>"abc"</CODE>, <CODE>'abc'</CODE>, <CODE>abc</CODE>
-
-<DT>gettext shorthand
-<DD>
-<CODE>"`gettext "abc"`"</CODE>
-
-<DT>gettext/ngettext functions
-<DD>
-<A NAME="IDX914"></A>
-<A NAME="IDX915"></A>
-<CODE>gettext</CODE>, <CODE>ngettext</CODE> programs
-
-<DT>textdomain
-<DD>
-<A NAME="IDX916"></A>
-environment variable <CODE>TEXTDOMAIN</CODE>
-
-<DT>bindtextdomain
-<DD>
-<A NAME="IDX917"></A>
-environment variable <CODE>TEXTDOMAINDIR</CODE>
-
-<DT>setlocale
-<DD>
-automatic
-
-<DT>Prerequisite
-<DD>
----
-
-<DT>Use or emulate GNU gettext
-<DD>
-use
-
-<DT>Extractor
-<DD>
----
-
-<DT>Formatting with positions
-<DD>
----
-
-<DT>Portability
-<DD>
----
-
-<DT>po-mode marking
-<DD>
----
-</DL>
-
-
-
-<H3><A NAME="SEC220" HREF="gettext_toc.html#TOC220">13.5.3  bash - Bourne-Again Shell Script</A></H3>
-<P>
-<A NAME="IDX918"></A>
-
-</P>
-<DL COMPACT>
-
-<DT>RPMs
-<DD>
-bash 2.0 or newer, gettext
-
-<DT>File extension
-<DD>
-<CODE>sh</CODE>
-
-<DT>String syntax
-<DD>
-<CODE>"abc"</CODE>, <CODE>'abc'</CODE>, <CODE>abc</CODE>
-
-<DT>gettext shorthand
-<DD>
-<CODE>$"abc"</CODE>
-
-<DT>gettext/ngettext functions
-<DD>
-<A NAME="IDX919"></A>
-<A NAME="IDX920"></A>
-<CODE>gettext</CODE>, <CODE>ngettext</CODE> programs
-
-<DT>textdomain
-<DD>
-<A NAME="IDX921"></A>
-environment variable <CODE>TEXTDOMAIN</CODE>
-
-<DT>bindtextdomain
-<DD>
-<A NAME="IDX922"></A>
-environment variable <CODE>TEXTDOMAINDIR</CODE>
-
-<DT>setlocale
-<DD>
-automatic
-
-<DT>Prerequisite
-<DD>
----
-
-<DT>Use or emulate GNU gettext
-<DD>
-use
-
-<DT>Extractor
-<DD>
-<CODE>bash --dump-po-strings</CODE>
-
-<DT>Formatting with positions
-<DD>
----
-
-<DT>Portability
-<DD>
----
-
-<DT>po-mode marking
-<DD>
----
-</DL>
-
-
-
-<H3><A NAME="SEC221" HREF="gettext_toc.html#TOC221">13.5.4  Python</A></H3>
-<P>
-<A NAME="IDX923"></A>
-
-</P>
-<DL COMPACT>
-
-<DT>RPMs
-<DD>
-python
-
-<DT>File extension
-<DD>
-<CODE>py</CODE>
-
-<DT>String syntax
-<DD>
-<CODE>'abc'</CODE>, <CODE>u'abc'</CODE>, <CODE>r'abc'</CODE>, <CODE>ur'abc'</CODE>,
-<BR><CODE>"abc"</CODE>, <CODE>u"abc"</CODE>, <CODE>r"abc"</CODE>, <CODE>ur"abc"</CODE>,
-<BR><CODE>"'abc"'</CODE>, <CODE>u"'abc"'</CODE>, <CODE>r"'abc"'</CODE>, <CODE>ur"'abc"'</CODE>,
-<BR><CODE>"""abc"""</CODE>, <CODE>u"""abc"""</CODE>, <CODE>r"""abc"""</CODE>, <CODE>ur"""abc"""</CODE>
-
-<DT>gettext shorthand
-<DD>
-<CODE>_('abc')</CODE> etc.
-
-<DT>gettext/ngettext functions
-<DD>
-<CODE>gettext.gettext</CODE>, <CODE>gettext.dgettext</CODE>, also <CODE>ugettext</CODE>
-
-<DT>textdomain
-<DD>
-<CODE>gettext.textdomain</CODE> function, or
-<CODE>gettext.install(<VAR>domain</VAR>)</CODE> function
-
-<DT>bindtextdomain
-<DD>
-<CODE>gettext.bindtextdomain</CODE> function, or
-<CODE>gettext.install(<VAR>domain</VAR>,<VAR>localedir</VAR>)</CODE> function
-
-<DT>setlocale
-<DD>
-not used by the gettext emulation
-
-<DT>Prerequisite
-<DD>
-<CODE>import gettext</CODE>
-
-<DT>Use or emulate GNU gettext
-<DD>
-emulate. Bug: uses only the first found .mo file, not all of them
-
-<DT>Extractor
-<DD>
-<CODE>xgettext</CODE>
-
-<DT>Formatting with positions
-<DD>
-<CODE>'...%(ident)d...' % { 'ident': value }</CODE>
-
-<DT>Portability
-<DD>
-fully portable
-
-<DT>po-mode marking
-<DD>
----
-</DL>
-
-
-
-<H3><A NAME="SEC222" HREF="gettext_toc.html#TOC222">13.5.5  GNU clisp - Common Lisp</A></H3>
-<P>
-<A NAME="IDX924"></A>
-<A NAME="IDX925"></A>
-<A NAME="IDX926"></A>
-
-</P>
-<DL COMPACT>
-
-<DT>RPMs
-<DD>
-clisp 2.28 or newer
-
-<DT>File extension
-<DD>
-<CODE>lisp</CODE>
-
-<DT>String syntax
-<DD>
-<CODE>"abc"</CODE>
-
-<DT>gettext shorthand
-<DD>
-<CODE>(_ "abc")</CODE>, <CODE>(ENGLISH "abc")</CODE>
-
-<DT>gettext/ngettext functions
-<DD>
-<CODE>i18n:gettext</CODE>, <CODE>i18n:ngettext</CODE>
-
-<DT>textdomain
-<DD>
-<CODE>i18n:textdomain</CODE>
-
-<DT>bindtextdomain
-<DD>
-<CODE>i18n:textdomaindir</CODE>
-
-<DT>setlocale
-<DD>
-automatic
-
-<DT>Prerequisite
-<DD>
----
-
-<DT>Use or emulate GNU gettext
-<DD>
-use
-
-<DT>Extractor
-<DD>
-<CODE>xgettext -k_ -kENGLISH</CODE>
-
-<DT>Formatting with positions
-<DD>
-<CODE>format "~1@*~D ~0@*~D"</CODE>
-
-<DT>Portability
-<DD>
-On platforms without gettext, no translation.
-
-<DT>po-mode marking
-<DD>
----
-</DL>
-
-
-
-<H3><A NAME="SEC223" HREF="gettext_toc.html#TOC223">13.5.6  GNU clisp C sources</A></H3>
-<P>
-<A NAME="IDX927"></A>
-
-</P>
-<DL COMPACT>
-
-<DT>RPMs
-<DD>
-clisp
-
-<DT>File extension
-<DD>
-<CODE>d</CODE>
-
-<DT>String syntax
-<DD>
-<CODE>"abc"</CODE>
-
-<DT>gettext shorthand
-<DD>
-<CODE>ENGLISH ? "abc" : ""</CODE>
-<BR><CODE>GETTEXT("abc")</CODE>
-<BR><CODE>GETTEXTL("abc")</CODE>
-
-<DT>gettext/ngettext functions
-<DD>
-<CODE>clgettext</CODE>, <CODE>clgettextl</CODE>
-
-<DT>textdomain
-<DD>
----
-
-<DT>bindtextdomain
-<DD>
----
-
-<DT>setlocale
-<DD>
-automatic
-
-<DT>Prerequisite
-<DD>
-<CODE>#include "lispbibl.c"</CODE>
-
-<DT>Use or emulate GNU gettext
-<DD>
-use
-
-<DT>Extractor
-<DD>
-<CODE>clisp-xgettext</CODE>
-
-<DT>Formatting with positions
-<DD>
-<CODE>fprintf "%2$d %1$d"</CODE> (POSIX but not C 99)
-
-<DT>Portability
-<DD>
-On platforms without gettext, no translation.
-
-<DT>po-mode marking
-<DD>
----
-</DL>
-
-
-
-<H3><A NAME="SEC224" HREF="gettext_toc.html#TOC224">13.5.7  Emacs Lisp</A></H3>
-<P>
-<A NAME="IDX928"></A>
-
-</P>
-<DL COMPACT>
-
-<DT>RPMs
-<DD>
-emacs, xemacs
-
-<DT>File extension
-<DD>
-<CODE>el</CODE>
-
-<DT>String syntax
-<DD>
-<CODE>"abc"</CODE>
-
-<DT>gettext shorthand
-<DD>
-<CODE>(_"abc")</CODE>
-
-<DT>gettext/ngettext functions
-<DD>
-<CODE>gettext</CODE>, <CODE>dgettext</CODE> (xemacs only)
-
-<DT>textdomain
-<DD>
-<CODE>domain</CODE> special form (xemacs only)
-
-<DT>bindtextdomain
-<DD>
-<CODE>bind-text-domain</CODE> function (xemacs only)
-
-<DT>setlocale
-<DD>
-automatic
-
-<DT>Prerequisite
-<DD>
----
-
-<DT>Use or emulate GNU gettext
-<DD>
-use
-
-<DT>Extractor
-<DD>
-<CODE>xgettext</CODE>
-
-<DT>Formatting with positions
-<DD>
-<CODE>format "%2$d %1$d"</CODE>
-
-<DT>Portability
-<DD>
-Only XEmacs. Without <CODE>I18N3</CODE> defined at build time, no translation.
-
-<DT>po-mode marking
-<DD>
----
-</DL>
-
-
-
-<H3><A NAME="SEC225" HREF="gettext_toc.html#TOC225">13.5.8  librep</A></H3>
-<P>
-<A NAME="IDX929"></A>
-
-</P>
-<DL COMPACT>
-
-<DT>RPMs
-<DD>
-librep 0.15.3 or newer
-
-<DT>File extension
-<DD>
-<CODE>jl</CODE>
-
-<DT>String syntax
-<DD>
-<CODE>"abc"</CODE>
-
-<DT>gettext shorthand
-<DD>
-<CODE>(_"abc")</CODE>
-
-<DT>gettext/ngettext functions
-<DD>
-<CODE>gettext</CODE>
-
-<DT>textdomain
-<DD>
-<CODE>textdomain</CODE> function
-
-<DT>bindtextdomain
-<DD>
-<CODE>bindtextdomain</CODE> function
-
-<DT>setlocale
-<DD>
----
-
-<DT>Prerequisite
-<DD>
-<CODE>(require 'rep.i18n.gettext)</CODE>
-
-<DT>Use or emulate GNU gettext
-<DD>
-use
-
-<DT>Extractor
-<DD>
-<CODE>xgettext</CODE>
-
-<DT>Formatting with positions
-<DD>
-<CODE>format "%2$d %1$d"</CODE>
-
-<DT>Portability
-<DD>
-On platforms without gettext, no translation.
-
-<DT>po-mode marking
-<DD>
----
-</DL>
-
-
-
-<H3><A NAME="SEC226" HREF="gettext_toc.html#TOC226">13.5.9  GNU Smalltalk</A></H3>
-<P>
-<A NAME="IDX930"></A>
-
-</P>
-<DL COMPACT>
-
-<DT>RPMs
-<DD>
-smalltalk
-
-<DT>File extension
-<DD>
-<CODE>st</CODE>
-
-<DT>String syntax
-<DD>
-<CODE>'abc'</CODE>
-
-<DT>gettext shorthand
-<DD>
-<CODE>NLS ? 'abc'</CODE>
-
-<DT>gettext/ngettext functions
-<DD>
-<CODE>LcMessagesDomain&#62;&#62;#at:</CODE>, <CODE>LcMessagesDomain&#62;&#62;#at:plural:with:</CODE>
-
-<DT>textdomain
-<DD>
-<CODE>LcMessages&#62;&#62;#domain:localeDirectory:</CODE> (returns a <CODE>LcMessagesDomain</CODE>
-object).<BR>
-Example: <CODE>I18N Locale default messages domain: 'gettext' localeDirectory: /usr/local/share/locale'</CODE>
-
-<DT>bindtextdomain
-<DD>
-<CODE>LcMessages&#62;&#62;#domain:localeDirectory:</CODE>, see above.
-
-<DT>setlocale
-<DD>
-Automatic if you use <CODE>I18N Locale default</CODE>.
-
-<DT>Prerequisite
-<DD>
-<CODE>PackageLoader fileInPackage: 'I18N'!</CODE>
-
-<DT>Use or emulate GNU gettext
-<DD>
-emulate
-
-<DT>Extractor
-<DD>
-<CODE>xgettext</CODE>
-
-<DT>Formatting with positions
-<DD>
-<CODE>'%1 %2' bindWith: 'Hello' with: 'world'</CODE>
-
-<DT>Portability
-<DD>
-fully portable
-
-<DT>po-mode marking
-<DD>
----
-</DL>
-
-
-
-<H3><A NAME="SEC227" HREF="gettext_toc.html#TOC227">13.5.10  Java</A></H3>
-<P>
-<A NAME="IDX931"></A>
-
-</P>
-<DL COMPACT>
-
-<DT>RPMs
-<DD>
-java, java2
-
-<DT>File extension
-<DD>
-<CODE>java</CODE>
-
-<DT>String syntax
-<DD>
-"abc"
-
-<DT>gettext shorthand
-<DD>
-_("abc")
-
-<DT>gettext/ngettext functions
-<DD>
-<CODE>GettextResource.gettext</CODE>, <CODE>GettextResource.ngettext</CODE>
-
-<DT>textdomain
-<DD>
----, use <CODE>ResourceBundle.getResource</CODE> instead
-
-<DT>bindtextdomain
-<DD>
----, use CLASSPATH instead
-
-<DT>setlocale
-<DD>
-automatic
-
-<DT>Prerequisite
-<DD>
----
-
-<DT>Use or emulate GNU gettext
-<DD>
----, uses a Java specific message catalog format
-
-<DT>Extractor
-<DD>
-<CODE>xgettext -k_</CODE>
-
-<DT>Formatting with positions
-<DD>
-<CODE>MessageFormat.format "{1,number} {0,number}"</CODE>
-
-<DT>Portability
-<DD>
-fully portable
-
-<DT>po-mode marking
-<DD>
----
-</DL>
-
-<P>
-Before marking strings as internationalizable, uses of the string
-concatenation operator need to be converted to <CODE>MessageFormat</CODE>
-applications. For example, <CODE>"file "+filename+" not found"</CODE> becomes
-<CODE>MessageFormat.format("file {0} not found", new Object[] { filename })</CODE>.
-Only after this is done, can the strings be marked and extracted.
-
-</P>
-<P>
-GNU gettext uses the native Java internationalization mechanism, namely
-<CODE>ResourceBundle</CODE>s. To convert a PO file to a ResourceBundle, the
-<CODE>msgfmt</CODE> program can be used with the option <CODE>--java</CODE> or
-<CODE>--java2</CODE>. To convert a ResourceBundle back to a PO file, the
-<CODE>msgunfmt</CODE> program can be used with the option <CODE>--java</CODE>.
-
-</P>
-<P>
-Two different programmatic APIs can be used to access ResourceBundles.
-Note that both APIs work with all kinds of ResourceBundles, whether
-GNU gettext generated classes, or other <CODE>.class</CODE> or <CODE>.properties</CODE>
-files.
-
-</P>
-
-<OL>
-<LI>
-
-The <CODE>java.util.ResourceBundle</CODE> API.
-
-In particular, its <CODE>getString</CODE> function returns a string translation.
-Note that a missing translation yields a <CODE>MissingResourceException</CODE>.
-
-This has the advantage of being the standard API. And it does not require
-any additional libraries, only the <CODE>msgfmt</CODE> generated <CODE>.class</CODE>
-files. But it cannot do plural handling, even if the resource was generated
-from a PO file with plural handling.
-
-<LI>
-
-The <CODE>gnu.gettext.GettextResource</CODE> API.
-
-Reference documentation in Javadoc 1.1 style format
-is in the <A HREF="javadoc1/tree.html">javadoc1 directory</A> and
-in Javadoc 2 style format
-in the <A HREF="javadoc2/index.html">javadoc2 directory</A>.
-
-Its <CODE>gettext</CODE> function returns a string translation. Note that when
-a translation is missing, the <VAR>msgid</VAR> argument is returned unchanged.
-
-This has the advantage of having the <CODE>ngettext</CODE> function for plural
-handling.
-
-<A NAME="IDX932"></A>
-To use this API, one needs the <CODE>libintl.jar</CODE> file which is part of
-the GNU gettext package and distributed under the LGPL.
-</OL>
-
-
-
-<H3><A NAME="SEC228" HREF="gettext_toc.html#TOC228">13.5.11  GNU awk</A></H3>
-<P>
-<A NAME="IDX933"></A>
-<A NAME="IDX934"></A>
-
-</P>
-<DL COMPACT>
-
-<DT>RPMs
-<DD>
-gawk 3.1 or newer
-
-<DT>File extension
-<DD>
-<CODE>awk</CODE>
-
-<DT>String syntax
-<DD>
-<CODE>"abc"</CODE>
-
-<DT>gettext shorthand
-<DD>
-<CODE>_"abc"</CODE>
-
-<DT>gettext/ngettext functions
-<DD>
-<CODE>dcgettext</CODE>, missing <CODE>dcngettext</CODE> in gawk-3.1.0
-
-<DT>textdomain
-<DD>
-<CODE>TEXTDOMAIN</CODE> variable
-
-<DT>bindtextdomain
-<DD>
-<CODE>bindtextdomain</CODE> function
-
-<DT>setlocale
-<DD>
-automatic, but missing <CODE>setlocale (LC_MESSAGES, "")</CODE> in gawk-3.1.0
-
-<DT>Prerequisite
-<DD>
----
-
-<DT>Use or emulate GNU gettext
-<DD>
-use
-
-<DT>Extractor
-<DD>
-<CODE>xgettext</CODE>
-
-<DT>Formatting with positions
-<DD>
-<CODE>printf "%2$d %1$d"</CODE> (GNU awk only)
-
-<DT>Portability
-<DD>
-On platforms without gettext, no translation.  On non-GNU awks, you must
-define <CODE>dcgettext</CODE>, <CODE>dcngettext</CODE> and <CODE>bindtextdomain</CODE>
-yourself.
-
-<DT>po-mode marking
-<DD>
----
-</DL>
-
-
-
-<H3><A NAME="SEC229" HREF="gettext_toc.html#TOC229">13.5.12  Pascal - Free Pascal Compiler</A></H3>
-<P>
-<A NAME="IDX935"></A>
-<A NAME="IDX936"></A>
-<A NAME="IDX937"></A>
-
-</P>
-<DL COMPACT>
-
-<DT>RPMs
-<DD>
-fpk
-
-<DT>File extension
-<DD>
-<CODE>pp</CODE>, <CODE>pas</CODE>
-
-<DT>String syntax
-<DD>
-<CODE>'abc'</CODE>
-
-<DT>gettext shorthand
-<DD>
-automatic
-
-<DT>gettext/ngettext functions
-<DD>
----, use <CODE>ResourceString</CODE> data type instead
-
-<DT>textdomain
-<DD>
----, use <CODE>TranslateResourceStrings</CODE> function instead
-
-<DT>bindtextdomain
-<DD>
----, use <CODE>TranslateResourceStrings</CODE> function instead
-
-<DT>setlocale
-<DD>
-automatic, but uses only LANG, not LC_MESSAGES or LC_ALL
-
-<DT>Prerequisite
-<DD>
-<CODE>{$mode delphi}</CODE> or <CODE>{$mode objfpc}</CODE><BR><CODE>uses gettext;</CODE>
-
-<DT>Use or emulate GNU gettext
-<DD>
-emulate partially
-
-<DT>Extractor
-<DD>
-<CODE>ppc386</CODE> followed by <CODE>xgettext</CODE> or <CODE>rstconv</CODE>
-
-<DT>Formatting with positions
-<DD>
-<CODE>uses sysutils;</CODE><BR><CODE>format "%1:d %0:d"</CODE>
-
-<DT>Portability
-<DD>
-?
-
-<DT>po-mode marking
-<DD>
----
-</DL>
-
-<P>
-The Pascal compiler has special support for the <CODE>ResourceString</CODE> data
-type. It generates a <CODE>.rst</CODE> file. This is then converted to a <CODE>.pot</CODE>
-file by use of <CODE>xgettext</CODE> or <CODE>rstconv</CODE>. At runtime, a <CODE>.mo</CODE>
-file corresponding to translations of this <CODE>.pot</CODE> file can be loaded
-using the <CODE>TranslateResourceStrings</CODE> function in the <CODE>gettext</CODE> unit.
-
-</P>
-
-
-<H3><A NAME="SEC230" HREF="gettext_toc.html#TOC230">13.5.13  wxWindows library</A></H3>
-<P>
-<A NAME="IDX938"></A>
-
-</P>
-<DL COMPACT>
-
-<DT>RPMs
-<DD>
-wxGTK, gettext
-
-<DT>File extension
-<DD>
-<CODE>cpp</CODE>
-
-<DT>String syntax
-<DD>
-<CODE>"abc"</CODE>
-
-<DT>gettext shorthand
-<DD>
-<CODE>_("abc")</CODE>
-
-<DT>gettext/ngettext functions
-<DD>
-<CODE>wxLocale::GetString</CODE>, <CODE>wxGetTranslation</CODE>
-
-<DT>textdomain
-<DD>
-<CODE>wxLocale::AddCatalog</CODE>
-
-<DT>bindtextdomain
-<DD>
-<CODE>wxLocale::AddCatalogLookupPathPrefix</CODE>
-
-<DT>setlocale
-<DD>
-<CODE>wxLocale::Init</CODE>, <CODE>wxSetLocale</CODE>
-
-<DT>Prerequisite
-<DD>
-<CODE>#include &#60;wx/intl.h&#62;</CODE>
-
-<DT>Use or emulate GNU gettext
-<DD>
-emulate, see <CODE>include/wx/intl.h</CODE> and <CODE>src/common/intl.cpp</CODE>
-
-<DT>Extractor
-<DD>
-<CODE>xgettext</CODE>
-
-<DT>Formatting with positions
-<DD>
----
-
-<DT>Portability
-<DD>
-fully portable
-
-<DT>po-mode marking
-<DD>
-yes
-</DL>
-
-
-
-<H3><A NAME="SEC231" HREF="gettext_toc.html#TOC231">13.5.14  YCP - YaST2 scripting language</A></H3>
-<P>
-<A NAME="IDX939"></A>
-<A NAME="IDX940"></A>
-
-</P>
-<DL COMPACT>
-
-<DT>RPMs
-<DD>
-libycp, libycp-devel, yast2-core-translator
-
-<DT>File extension
-<DD>
-<CODE>ycp</CODE>
-
-<DT>String syntax
-<DD>
-<CODE>"abc"</CODE>
-
-<DT>gettext shorthand
-<DD>
-<CODE>_("abc")</CODE>
-
-<DT>gettext/ngettext functions
-<DD>
-<CODE>_()</CODE> with 1 or 3 arguments
-
-<DT>textdomain
-<DD>
-<CODE>textdomain</CODE> statement
-
-<DT>bindtextdomain
-<DD>
----
-
-<DT>setlocale
-<DD>
----
-
-<DT>Prerequisite
-<DD>
----
-
-<DT>Use or emulate GNU gettext
-<DD>
-use maps instead
-
-<DT>Extractor
-<DD>
-<CODE>xgettext</CODE>
-
-<DT>Formatting with positions
-<DD>
-<CODE>sformat "%2 %1"</CODE>
-
-<DT>Portability
-<DD>
-fully portable
-
-<DT>po-mode marking
-<DD>
----
-</DL>
-
-
-
-<H3><A NAME="SEC232" HREF="gettext_toc.html#TOC232">13.5.15  Tcl - Tk's scripting language</A></H3>
-<P>
-<A NAME="IDX941"></A>
-<A NAME="IDX942"></A>
-
-</P>
-<DL COMPACT>
-
-<DT>RPMs
-<DD>
-tcl
-
-<DT>File extension
-<DD>
-<CODE>tcl</CODE>
-
-<DT>String syntax
-<DD>
-<CODE>"abc"</CODE>
-
-<DT>gettext shorthand
-<DD>
-<CODE>[_ "abc"]</CODE>
-
-<DT>gettext/ngettext functions
-<DD>
-<CODE>::msgcat::mc</CODE>
-
-<DT>textdomain
-<DD>
----
-
-<DT>bindtextdomain
-<DD>
----, use <CODE>::msgcat::mcload</CODE> instead
-
-<DT>setlocale
-<DD>
-automatic, uses LANG, but ignores LC_MESSAGES and LC_ALL
-
-<DT>Prerequisite
-<DD>
-<CODE>package require msgcat</CODE>
-<BR><CODE>proc _ {s} {return [::msgcat::mc $s]}</CODE>
-
-<DT>Use or emulate GNU gettext
-<DD>
----, uses a Tcl specific message catalog format
-
-<DT>Extractor
-<DD>
-<CODE>xgettext -k_</CODE>
-
-<DT>Formatting with positions
-<DD>
-<CODE>format "%2\$d %1\$d"</CODE>
-
-<DT>Portability
-<DD>
-fully portable
-
-<DT>po-mode marking
-<DD>
----
-</DL>
-
-<P>
-Before marking strings as internationalizable, substitutions of variables
-into the string need to be converted to <CODE>format</CODE> applications. For
-example, <CODE>"file $filename not found"</CODE> becomes
-<CODE>[format "file %s not found" $filename]</CODE>.
-Only after this is done, can the strings be marked and extracted.
-After marking, this example becomes
-<CODE>[format [_ "file %s not found"] $filename]</CODE> or
-<CODE>[msgcat::mc "file %s not found" $filename]</CODE>. Note that the
-<CODE>msgcat::mc</CODE> function implicitly calls <CODE>format</CODE> when more than one
-argument is given.
-
-</P>
-
-
-<H3><A NAME="SEC233" HREF="gettext_toc.html#TOC233">13.5.16  Perl</A></H3>
-<P>
-<A NAME="IDX943"></A>
-
-</P>
-<DL COMPACT>
-
-<DT>RPMs
-<DD>
-perl, perl-gettext
-
-<DT>File extension
-<DD>
-<CODE>pl</CODE>, <CODE>PL</CODE>
-
-<DT>String syntax
-<DD>
-<CODE>"abc"</CODE>
-
-<DT>gettext shorthand
-<DD>
----
-
-<DT>gettext/ngettext functions
-<DD>
-<CODE>gettext</CODE>, <CODE>dgettext</CODE>, <CODE>dcgettext</CODE>
-
-<DT>textdomain
-<DD>
-<CODE>textdomain</CODE> function
-
-<DT>bindtextdomain
-<DD>
-<CODE>bindtextdomain</CODE> function
-
-<DT>setlocale
-<DD>
-Use <CODE>setlocale (LC_ALL, "");</CODE>
-
-<DT>Prerequisite
-<DD>
-<CODE>use POSIX;</CODE>
-<BR><CODE>use Locale::gettext;</CODE>
-
-<DT>Use or emulate GNU gettext
-<DD>
-use
-
-<DT>Extractor
-<DD>
-?
-
-<DT>Formatting with positions
-<DD>
----
-
-<DT>Portability
-<DD>
-?
-
-<DT>po-mode marking
-<DD>
----
-</DL>
-
-
-
-<H3><A NAME="SEC234" HREF="gettext_toc.html#TOC234">13.5.17  PHP Hypertext Preprocessor</A></H3>
-<P>
-<A NAME="IDX944"></A>
-
-</P>
-<DL COMPACT>
-
-<DT>RPMs
-<DD>
-mod_php4, mod_php4-core, phplib, phpdoc
-
-<DT>File extension
-<DD>
-<CODE>php</CODE>, <CODE>php3</CODE>, <CODE>php4</CODE>
-
-<DT>String syntax
-<DD>
-<CODE>"abc"</CODE>, <CODE>'abc'</CODE>
-
-<DT>gettext shorthand
-<DD>
-<CODE>_("abc")</CODE>
-
-<DT>gettext/ngettext functions
-<DD>
-<CODE>gettext</CODE>, <CODE>dgettext</CODE>, <CODE>dcgettext</CODE>
-
-<DT>textdomain
-<DD>
-<CODE>textdomain</CODE> function
-
-<DT>bindtextdomain
-<DD>
-<CODE>bindtextdomain</CODE> function
-
-<DT>setlocale
-<DD>
-Programmer must call <CODE>setlocale (LC_ALL, "")</CODE>
-
-<DT>Prerequisite
-<DD>
----
-
-<DT>Use or emulate GNU gettext
-<DD>
-use
-
-<DT>Extractor
-<DD>
-<CODE>xgettext</CODE>
-
-<DT>Formatting with positions
-<DD>
-<CODE>printf "%2\$d %1\$d"</CODE>
-
-<DT>Portability
-<DD>
-On platforms without gettext, the functions are not available.
-
-<DT>po-mode marking
-<DD>
----
-</DL>
-
-
-
-<H3><A NAME="SEC235" HREF="gettext_toc.html#TOC235">13.5.18  Pike</A></H3>
-<P>
-<A NAME="IDX945"></A>
-
-</P>
-<DL COMPACT>
-
-<DT>RPMs
-<DD>
-roxen
-
-<DT>File extension
-<DD>
-<CODE>pike</CODE>
-
-<DT>String syntax
-<DD>
-<CODE>"abc"</CODE>
-
-<DT>gettext shorthand
-<DD>
----
-
-<DT>gettext/ngettext functions
-<DD>
-<CODE>gettext</CODE>, <CODE>dgettext</CODE>, <CODE>dcgettext</CODE>
-
-<DT>textdomain
-<DD>
-<CODE>textdomain</CODE> function
-
-<DT>bindtextdomain
-<DD>
-<CODE>bindtextdomain</CODE> function
-
-<DT>setlocale
-<DD>
-<CODE>setlocale</CODE> function
-
-<DT>Prerequisite
-<DD>
-<CODE>import Locale.Gettext;</CODE>
-
-<DT>Use or emulate GNU gettext
-<DD>
-use
-
-<DT>Extractor
-<DD>
----
-
-<DT>Formatting with positions
-<DD>
----
-
-<DT>Portability
-<DD>
-On platforms without gettext, the functions are not available.
-
-<DT>po-mode marking
-<DD>
----
-</DL>
-
-
-
-<H2><A NAME="SEC236" HREF="gettext_toc.html#TOC236">13.6  Internationalizable Data</A></H2>
-
-<P>
-Here is a list of other data formats which can be internationalized
-using GNU gettext.
-
-</P>
-
-
-
-<H3><A NAME="SEC237" HREF="gettext_toc.html#TOC237">13.6.1  POT - Portable Object Template</A></H3>
-
-<DL COMPACT>
-
-<DT>RPMs
-<DD>
-gettext
-
-<DT>File extension
-<DD>
-<CODE>pot</CODE>, <CODE>po</CODE>
-
-<DT>Extractor
-<DD>
-<CODE>xgettext</CODE>
-</DL>
-
-
-
-<H3><A NAME="SEC238" HREF="gettext_toc.html#TOC238">13.6.2  Resource String Table</A></H3>
-<P>
-<A NAME="IDX946"></A>
-
-</P>
-<DL COMPACT>
-
-<DT>RPMs
-<DD>
-fpk
-
-<DT>File extension
-<DD>
-<CODE>rst</CODE>
-
-<DT>Extractor
-<DD>
-<CODE>xgettext</CODE>, <CODE>rstconv</CODE>
-</DL>
-
-
-
-<H3><A NAME="SEC239" HREF="gettext_toc.html#TOC239">13.6.3  Glade - GNOME user interface description</A></H3>
-
-<DL COMPACT>
-
-<DT>RPMs
-<DD>
-glade, libglade, xml-i18n-tools
-
-<DT>File extension
-<DD>
-<CODE>glade</CODE>
-
-<DT>Extractor
-<DD>
-<CODE>xgettext</CODE>, <CODE>libglade-xgettext</CODE>
-</DL>
-
-<P><HR><P>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_12.html">previous</A>, <A HREF="gettext_14.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
-</BODY>
-</HTML>
diff --git a/doc/gettext_14.html b/doc/gettext_14.html
deleted file mode 100644 (file)
index c84fd6e..0000000
+++ /dev/null
@@ -1,186 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52a
-     from gettext.texi on 5 November 2002 -->
-
-<TITLE>GNU gettext utilities - 14  Concluding Remarks</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_13.html">previous</A>, <A HREF="gettext_15.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC240" HREF="gettext_toc.html#TOC240">14  Concluding Remarks</A></H1>
-
-<P>
-We would like to conclude this GNU <CODE>gettext</CODE> manual by presenting
-an history of the Translation Project so far.  We finally give
-a few pointers for those who want to do further research or readings
-about Native Language Support matters.
-
-</P>
-
-
-
-<H2><A NAME="SEC241" HREF="gettext_toc.html#TOC241">14.1  History of GNU <CODE>gettext</CODE></A></H2>
-<P>
-<A NAME="IDX947"></A>
-
-</P>
-<P>
-Internationalization concerns and algorithms have been informally
-and casually discussed for years in GNU, sometimes around GNU
-<CODE>libc</CODE>, maybe around the incoming <CODE>Hurd</CODE>, or otherwise
-(nobody clearly remembers).  And even then, when the work started for
-real, this was somewhat independently of these previous discussions.
-
-</P>
-<P>
-This all began in July 1994, when Patrick D'Cruze had the idea and
-initiative of internationalizing version 3.9.2 of GNU <CODE>fileutils</CODE>.
-He then asked Jim Meyering, the maintainer, how to get those changes
-folded into an official release.  That first draft was full of
-<CODE>#ifdef</CODE>s and somewhat disconcerting, and Jim wanted to find
-nicer ways.  Patrick and Jim shared some tries and experimentations
-in this area.  Then, feeling that this might eventually have a deeper
-impact on GNU, Jim wanted to know what standards were, and contacted
-Richard Stallman, who very quickly and verbally described an overall
-design for what was meant to become <CODE>glocale</CODE>, at that time.
-
-</P>
-<P>
-Jim implemented <CODE>glocale</CODE> and got a lot of exhausting feedback
-from Patrick and Richard, of course, but also from Mitchum DSouza
-(who wrote a <CODE>catgets</CODE>-like package), Roland McGrath, maybe David
-MacKenzie, Fran&ccedil;ois Pinard, and Paul Eggert, all pushing and
-pulling in various directions, not always compatible, to the extent
-that after a couple of test releases, <CODE>glocale</CODE> was torn apart.
-
-</P>
-<P>
-While Jim took some distance and time and became dad for a second
-time, Roland wanted to get GNU <CODE>libc</CODE> internationalized, and
-got Ulrich Drepper involved in that project.  Instead of starting
-from <CODE>glocale</CODE>, Ulrich rewrote something from scratch, but
-more conformant to the set of guidelines who emerged out of the
-<CODE>glocale</CODE> effort.  Then, Ulrich got people from the previous
-forum to involve themselves into this new project, and the switch
-from <CODE>glocale</CODE> to what was first named <CODE>msgutils</CODE>, renamed
-<CODE>nlsutils</CODE>, and later <CODE>gettext</CODE>, became officially accepted
-by Richard in May 1995 or so.
-
-</P>
-<P>
-Let's summarize by saying that Ulrich Drepper wrote GNU <CODE>gettext</CODE>
-in April 1995.  The first official release of the package, including
-PO mode, occurred in July 1995, and was numbered 0.7.  Other people
-contributed to the effort by providing a discussion forum around
-Ulrich, writing little pieces of code, or testing.  These are quoted
-in the <CODE>THANKS</CODE> file which comes with the GNU <CODE>gettext</CODE>
-distribution.
-
-</P>
-<P>
-While this was being done, Fran&ccedil;ois adapted half a dozen of
-GNU packages to <CODE>glocale</CODE> first, then later to <CODE>gettext</CODE>,
-putting them in pretest, so providing along the way an effective
-user environment for fine tuning the evolving tools.  He also took
-the responsibility of organizing and coordinating the Translation
-Project.  After nearly a year of informal exchanges between people from
-many countries, translator teams started to exist in May 1995, through
-the creation and support by Patrick D'Cruze of twenty unmoderated
-mailing lists for that many native languages, and two moderated
-lists: one for reaching all teams at once, the other for reaching
-all willing maintainers of internationalized free software packages.
-
-</P>
-<P>
-Fran&ccedil;ois also wrote PO mode in June 1995 with the collaboration
-of Greg McGary, as a kind of contribution to Ulrich's package.
-He also gave a hand with the GNU <CODE>gettext</CODE> Texinfo manual.
-
-</P>
-<P>
-In 1997, Ulrich Drepper released the GNU libc 2.0, which included the
-<CODE>gettext</CODE>, <CODE>textdomain</CODE> and <CODE>bindtextdomain</CODE> functions.
-
-</P>
-<P>
-In 2000, Ulrich Drepper added plural form handling (the <CODE>ngettext</CODE>
-function) to GNU libc.  Later, in 2001, he released GNU libc 2.2.x,
-which is the first free C library with full internationalization support.
-
-</P>
-<P>
-Ulrich being quite busy in his role of General Maintainer of GNU libc,
-he handed over the GNU <CODE>gettext</CODE> maintenance to Bruno Haible in
-2000.  Bruno added the plural form handling to the tools as well, added
-support for UTF-8 and CJK locales, and wrote a few new tools for
-manipulating PO files.
-
-</P>
-
-
-<H2><A NAME="SEC242" HREF="gettext_toc.html#TOC242">14.2  Related Readings</A></H2>
-<P>
-<A NAME="IDX948"></A>
-<A NAME="IDX949"></A>
-
-</P>
-<P>
-Eugene H. Dorr (<TT>`dorre@well.com&acute;</TT>) maintains an interesting
-bibliography on internationalization matters, called
-<CITE>Internationalization Reference List</CITE>, which is available as:
-
-<PRE>
-ftp://ftp.ora.com/pub/examples/nutshell/ujip/doc/i18n-books.txt
-</PRE>
-
-<P>
-Michael Gschwind (<TT>`mike@vlsivie.tuwien.ac.at&acute;</TT>) maintains a
-Frequently Asked Questions (FAQ) list, entitled <CITE>Programming for
-Internationalisation</CITE>.  This FAQ discusses writing programs which
-can handle different language conventions, character sets, etc.;
-and is applicable to all character set encodings, with particular
-emphasis on ISO 8859-1.  It is regularly published in Usenet
-groups <TT>`comp.unix.questions&acute;</TT>, <TT>`comp.std.internat&acute;</TT>,
-<TT>`comp.software.international&acute;</TT>, <TT>`comp.lang.c&acute;</TT>,
-<TT>`comp.windows.x&acute;</TT>, <TT>`comp.std.c&acute;</TT>, <TT>`comp.answers&acute;</TT>
-and <TT>`news.answers&acute;</TT>.  The home location of this document is:
-
-<PRE>
-ftp://ftp.vlsivie.tuwien.ac.at/pub/8bit/ISO-programming
-</PRE>
-
-<P>
-Patrick D'Cruze (<TT>`pdcruze@li.org&acute;</TT>) wrote a tutorial about NLS
-matters, and Jochen Hein (<TT>`Hein@student.tu-clausthal.de&acute;</TT>) took
-over the responsibility of maintaining it.  It may be found as:
-
-<PRE>
-ftp://sunsite.unc.edu/pub/Linux/utils/nls/catalogs/Incoming/...
-     ...locale-tutorial-0.8.txt.gz
-</PRE>
-
-<P>
-This site is mirrored in:
-
-<PRE>
-ftp://ftp.ibp.fr/pub/linux/sunsite/
-</PRE>
-
-<P>
-A French version of the same tutorial should be findable at:
-
-<PRE>
-ftp://ftp.ibp.fr/pub/linux/french/docs/
-</PRE>
-
-<P>
-together with French translations of many Linux-related documents.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_13.html">previous</A>, <A HREF="gettext_15.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
-</BODY>
-</HTML>
diff --git a/doc/gettext_15.html b/doc/gettext_15.html
deleted file mode 100644 (file)
index 538820c..0000000
+++ /dev/null
@@ -1,533 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52a
-     from gettext.texi on 5 November 2002 -->
-
-<TITLE>GNU gettext utilities - A  Language Codes</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_14.html">previous</A>, <A HREF="gettext_16.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC243" HREF="gettext_toc.html#TOC243">A  Language Codes</A></H1>
-<P>
-<A NAME="IDX950"></A>
-<A NAME="IDX951"></A>
-
-</P>
-<P>
-The ISO 639 standard defines two character codes for many languages.
-All abbreviations for languages used in the Translation Project should
-come from this standard.
-
-</P>
-<DL COMPACT>
-
-<DT><SAMP>`aa&acute;</SAMP>
-<DD>
-Afar.
-<DT><SAMP>`ab&acute;</SAMP>
-<DD>
-Abkhazian.
-<DT><SAMP>`ae&acute;</SAMP>
-<DD>
-Avestan.
-<DT><SAMP>`af&acute;</SAMP>
-<DD>
-Afrikaans.
-<DT><SAMP>`am&acute;</SAMP>
-<DD>
-Amharic.
-<DT><SAMP>`ar&acute;</SAMP>
-<DD>
-Arabic.
-<DT><SAMP>`as&acute;</SAMP>
-<DD>
-Assamese.
-<DT><SAMP>`ay&acute;</SAMP>
-<DD>
-Aymara.
-<DT><SAMP>`az&acute;</SAMP>
-<DD>
-Azerbaijani.
-<DT><SAMP>`ba&acute;</SAMP>
-<DD>
-Bashkir.
-<DT><SAMP>`be&acute;</SAMP>
-<DD>
-Byelorussian; Belarusian.
-<DT><SAMP>`bg&acute;</SAMP>
-<DD>
-Bulgarian.
-<DT><SAMP>`bh&acute;</SAMP>
-<DD>
-Bihari.
-<DT><SAMP>`bi&acute;</SAMP>
-<DD>
-Bislama.
-<DT><SAMP>`bn&acute;</SAMP>
-<DD>
-Bengali; Bangla.
-<DT><SAMP>`bo&acute;</SAMP>
-<DD>
-Tibetan.
-<DT><SAMP>`br&acute;</SAMP>
-<DD>
-Breton.
-<DT><SAMP>`bs&acute;</SAMP>
-<DD>
-Bosnian.
-<DT><SAMP>`ca&acute;</SAMP>
-<DD>
-Catalan.
-<DT><SAMP>`ce&acute;</SAMP>
-<DD>
-Chechen.
-<DT><SAMP>`ch&acute;</SAMP>
-<DD>
-Chamorro.
-<DT><SAMP>`co&acute;</SAMP>
-<DD>
-Corsican.
-<DT><SAMP>`cs&acute;</SAMP>
-<DD>
-Czech.
-<DT><SAMP>`cu&acute;</SAMP>
-<DD>
-Church Slavic.
-<DT><SAMP>`cv&acute;</SAMP>
-<DD>
-Chuvash.
-<DT><SAMP>`cy&acute;</SAMP>
-<DD>
-Welsh.
-<DT><SAMP>`da&acute;</SAMP>
-<DD>
-Danish.
-<DT><SAMP>`de&acute;</SAMP>
-<DD>
-German.
-<DT><SAMP>`dz&acute;</SAMP>
-<DD>
-Dzongkha; Bhutani.
-<DT><SAMP>`el&acute;</SAMP>
-<DD>
-Greek.
-<DT><SAMP>`en&acute;</SAMP>
-<DD>
-English.
-<DT><SAMP>`eo&acute;</SAMP>
-<DD>
-Esperanto.
-<DT><SAMP>`es&acute;</SAMP>
-<DD>
-Spanish.
-<DT><SAMP>`et&acute;</SAMP>
-<DD>
-Estonian.
-<DT><SAMP>`eu&acute;</SAMP>
-<DD>
-Basque.
-<DT><SAMP>`fa&acute;</SAMP>
-<DD>
-Persian.
-<DT><SAMP>`fi&acute;</SAMP>
-<DD>
-Finnish.
-<DT><SAMP>`fj&acute;</SAMP>
-<DD>
-Fijian; Fiji.
-<DT><SAMP>`fo&acute;</SAMP>
-<DD>
-Faroese.
-<DT><SAMP>`fr&acute;</SAMP>
-<DD>
-French.
-<DT><SAMP>`fy&acute;</SAMP>
-<DD>
-Frisian.
-<DT><SAMP>`ga&acute;</SAMP>
-<DD>
-Irish.
-<DT><SAMP>`gd&acute;</SAMP>
-<DD>
-Scots; Gaelic.
-<DT><SAMP>`gl&acute;</SAMP>
-<DD>
-Gallegan; Galician.
-<DT><SAMP>`gn&acute;</SAMP>
-<DD>
-Guarani.
-<DT><SAMP>`gu&acute;</SAMP>
-<DD>
-Gujarati.
-<DT><SAMP>`gv&acute;</SAMP>
-<DD>
-Manx.
-<DT><SAMP>`ha&acute;</SAMP>
-<DD>
-Hausa (?).
-<DT><SAMP>`he&acute;</SAMP>
-<DD>
-Hebrew (formerly iw).
-<DT><SAMP>`hi&acute;</SAMP>
-<DD>
-Hindi.
-<DT><SAMP>`ho&acute;</SAMP>
-<DD>
-Hiri Motu.
-<DT><SAMP>`hr&acute;</SAMP>
-<DD>
-Croatian.
-<DT><SAMP>`hu&acute;</SAMP>
-<DD>
-Hungarian.
-<DT><SAMP>`hy&acute;</SAMP>
-<DD>
-Armenian.
-<DT><SAMP>`hz&acute;</SAMP>
-<DD>
-Herero.
-<DT><SAMP>`ia&acute;</SAMP>
-<DD>
-Interlingua.
-<DT><SAMP>`id&acute;</SAMP>
-<DD>
-Indonesian (formerly in).
-<DT><SAMP>`ie&acute;</SAMP>
-<DD>
-Interlingue.
-<DT><SAMP>`ik&acute;</SAMP>
-<DD>
-Inupiak.
-<DT><SAMP>`io&acute;</SAMP>
-<DD>
-Ido.
-<DT><SAMP>`is&acute;</SAMP>
-<DD>
-Icelandic.
-<DT><SAMP>`it&acute;</SAMP>
-<DD>
-Italian.
-<DT><SAMP>`iu&acute;</SAMP>
-<DD>
-Inuktitut.
-<DT><SAMP>`ja&acute;</SAMP>
-<DD>
-Japanese.
-<DT><SAMP>`jv&acute;</SAMP>
-<DD>
-Javanese.
-<DT><SAMP>`ka&acute;</SAMP>
-<DD>
-Georgian.
-<DT><SAMP>`ki&acute;</SAMP>
-<DD>
-Kikuyu.
-<DT><SAMP>`kj&acute;</SAMP>
-<DD>
-Kuanyama.
-<DT><SAMP>`kk&acute;</SAMP>
-<DD>
-Kazakh.
-<DT><SAMP>`kl&acute;</SAMP>
-<DD>
-Kalaallisut; Greenlandic.
-<DT><SAMP>`km&acute;</SAMP>
-<DD>
-Khmer; Cambodian.
-<DT><SAMP>`kn&acute;</SAMP>
-<DD>
-Kannada.
-<DT><SAMP>`ko&acute;</SAMP>
-<DD>
-Korean.
-<DT><SAMP>`ks&acute;</SAMP>
-<DD>
-Kashmiri.
-<DT><SAMP>`ku&acute;</SAMP>
-<DD>
-Kurdish.
-<DT><SAMP>`kv&acute;</SAMP>
-<DD>
-Komi.
-<DT><SAMP>`kw&acute;</SAMP>
-<DD>
-Cornish.
-<DT><SAMP>`ky&acute;</SAMP>
-<DD>
-Kirghiz.
-<DT><SAMP>`la&acute;</SAMP>
-<DD>
-Latin.
-<DT><SAMP>`lb&acute;</SAMP>
-<DD>
-Letzeburgesch.
-<DT><SAMP>`ln&acute;</SAMP>
-<DD>
-Lingala.
-<DT><SAMP>`lo&acute;</SAMP>
-<DD>
-Lao; Laotian.
-<DT><SAMP>`lt&acute;</SAMP>
-<DD>
-Lithuanian.
-<DT><SAMP>`lv&acute;</SAMP>
-<DD>
-Latvian; Lettish.
-<DT><SAMP>`mg&acute;</SAMP>
-<DD>
-Malagasy.
-<DT><SAMP>`mh&acute;</SAMP>
-<DD>
-Marshall.
-<DT><SAMP>`mi&acute;</SAMP>
-<DD>
-Maori.
-<DT><SAMP>`mk&acute;</SAMP>
-<DD>
-Macedonian.
-<DT><SAMP>`ml&acute;</SAMP>
-<DD>
-Malayalam.
-<DT><SAMP>`mn&acute;</SAMP>
-<DD>
-Mongolian.
-<DT><SAMP>`mo&acute;</SAMP>
-<DD>
-Moldavian.
-<DT><SAMP>`mr&acute;</SAMP>
-<DD>
-Marathi.
-<DT><SAMP>`ms&acute;</SAMP>
-<DD>
-Malay.
-<DT><SAMP>`mt&acute;</SAMP>
-<DD>
-Maltese.
-<DT><SAMP>`my&acute;</SAMP>
-<DD>
-Burmese.
-<DT><SAMP>`na&acute;</SAMP>
-<DD>
-Nauru.
-<DT><SAMP>`nb&acute;</SAMP>
-<DD>
-Norwegian Bokm&aring;l.
-<DT><SAMP>`nd&acute;</SAMP>
-<DD>
-Ndebele, North.
-<DT><SAMP>`ne&acute;</SAMP>
-<DD>
-Nepali.
-<DT><SAMP>`ng&acute;</SAMP>
-<DD>
-Ndonga.
-<DT><SAMP>`nl&acute;</SAMP>
-<DD>
-Dutch.
-<DT><SAMP>`nn&acute;</SAMP>
-<DD>
-Norwegian Nynorsk.
-<DT><SAMP>`no&acute;</SAMP>
-<DD>
-Norwegian.
-<DT><SAMP>`nr&acute;</SAMP>
-<DD>
-Ndebele, South.
-<DT><SAMP>`nv&acute;</SAMP>
-<DD>
-Navajo.
-<DT><SAMP>`ny&acute;</SAMP>
-<DD>
-Chichewa; Nyanja.
-<DT><SAMP>`oc&acute;</SAMP>
-<DD>
-Occitan; Proven&ccedil;al.
-<DT><SAMP>`om&acute;</SAMP>
-<DD>
-(Afan) Oromo.
-<DT><SAMP>`or&acute;</SAMP>
-<DD>
-Oriya.
-<DT><SAMP>`os&acute;</SAMP>
-<DD>
-Ossetian; Ossetic.
-<DT><SAMP>`pa&acute;</SAMP>
-<DD>
-Panjabi; Punjabi.
-<DT><SAMP>`pi&acute;</SAMP>
-<DD>
-Pali.
-<DT><SAMP>`pl&acute;</SAMP>
-<DD>
-Polish.
-<DT><SAMP>`ps&acute;</SAMP>
-<DD>
-Pashto, Pushto.
-<DT><SAMP>`pt&acute;</SAMP>
-<DD>
-Portuguese.
-<DT><SAMP>`qu&acute;</SAMP>
-<DD>
-Quechua.
-<DT><SAMP>`rm&acute;</SAMP>
-<DD>
-Rhaeto-Romance.
-<DT><SAMP>`rn&acute;</SAMP>
-<DD>
-Rundi; Kirundi.
-<DT><SAMP>`ro&acute;</SAMP>
-<DD>
-Romanian.
-<DT><SAMP>`ru&acute;</SAMP>
-<DD>
-Russian.
-<DT><SAMP>`rw&acute;</SAMP>
-<DD>
-Kinyarwanda.
-<DT><SAMP>`sa&acute;</SAMP>
-<DD>
-Sanskrit.
-<DT><SAMP>`sc&acute;</SAMP>
-<DD>
-Sardinian.
-<DT><SAMP>`sd&acute;</SAMP>
-<DD>
-Sindhi.
-<DT><SAMP>`se&acute;</SAMP>
-<DD>
-Northern Sami.
-<DT><SAMP>`sg&acute;</SAMP>
-<DD>
-Sango; Sangro.
-<DT><SAMP>`si&acute;</SAMP>
-<DD>
-Sinhalese.
-<DT><SAMP>`sk&acute;</SAMP>
-<DD>
-Slovak.
-<DT><SAMP>`sl&acute;</SAMP>
-<DD>
-Slovenian.
-<DT><SAMP>`sm&acute;</SAMP>
-<DD>
-Samoan.
-<DT><SAMP>`sn&acute;</SAMP>
-<DD>
-Shona.
-<DT><SAMP>`so&acute;</SAMP>
-<DD>
-Somali.
-<DT><SAMP>`sq&acute;</SAMP>
-<DD>
-Albanian.
-<DT><SAMP>`sr&acute;</SAMP>
-<DD>
-Serbian.
-<DT><SAMP>`ss&acute;</SAMP>
-<DD>
-Swati; Siswati.
-<DT><SAMP>`st&acute;</SAMP>
-<DD>
-Sesotho; Sotho, Southern.
-<DT><SAMP>`su&acute;</SAMP>
-<DD>
-Sundanese.
-<DT><SAMP>`sv&acute;</SAMP>
-<DD>
-Swedish.
-<DT><SAMP>`sw&acute;</SAMP>
-<DD>
-Swahili.
-<DT><SAMP>`ta&acute;</SAMP>
-<DD>
-Tamil.
-<DT><SAMP>`te&acute;</SAMP>
-<DD>
-Telugu.
-<DT><SAMP>`tg&acute;</SAMP>
-<DD>
-Tajik.
-<DT><SAMP>`th&acute;</SAMP>
-<DD>
-Thai.
-<DT><SAMP>`ti&acute;</SAMP>
-<DD>
-Tigrinya.
-<DT><SAMP>`tk&acute;</SAMP>
-<DD>
-Turkmen.
-<DT><SAMP>`tl&acute;</SAMP>
-<DD>
-Tagalog.
-<DT><SAMP>`tn&acute;</SAMP>
-<DD>
-Tswana; Setswana.
-<DT><SAMP>`to&acute;</SAMP>
-<DD>
-Tonga (?).
-<DT><SAMP>`tr&acute;</SAMP>
-<DD>
-Turkish.
-<DT><SAMP>`ts&acute;</SAMP>
-<DD>
-Tsonga.
-<DT><SAMP>`tt&acute;</SAMP>
-<DD>
-Tatar.
-<DT><SAMP>`tw&acute;</SAMP>
-<DD>
-Twi.
-<DT><SAMP>`ty&acute;</SAMP>
-<DD>
-Tahitian.
-<DT><SAMP>`ug&acute;</SAMP>
-<DD>
-Uighur.
-<DT><SAMP>`uk&acute;</SAMP>
-<DD>
-Ukrainian.
-<DT><SAMP>`ur&acute;</SAMP>
-<DD>
-Urdu.
-<DT><SAMP>`uz&acute;</SAMP>
-<DD>
-Uzbek.
-<DT><SAMP>`vi&acute;</SAMP>
-<DD>
-Vietnamese.
-<DT><SAMP>`vo&acute;</SAMP>
-<DD>
-Volap&uuml;k; Volapuk.
-<DT><SAMP>`wa&acute;</SAMP>
-<DD>
-Walloon.
-<DT><SAMP>`wo&acute;</SAMP>
-<DD>
-Wolof.
-<DT><SAMP>`xh&acute;</SAMP>
-<DD>
-Xhosa.
-<DT><SAMP>`yi&acute;</SAMP>
-<DD>
-Yiddish (formerly ji).
-<DT><SAMP>`yo&acute;</SAMP>
-<DD>
-Yoruba.
-<DT><SAMP>`za&acute;</SAMP>
-<DD>
-Zhuang.
-<DT><SAMP>`zh&acute;</SAMP>
-<DD>
-Chinese.
-<DT><SAMP>`zu&acute;</SAMP>
-<DD>
-Zulu.
-</DL>
-
-<P><HR><P>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_14.html">previous</A>, <A HREF="gettext_16.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
-</BODY>
-</HTML>
diff --git a/doc/gettext_16.html b/doc/gettext_16.html
deleted file mode 100644 (file)
index e6affcd..0000000
+++ /dev/null
@@ -1,749 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52a
-     from gettext.texi on 5 November 2002 -->
-
-<TITLE>GNU gettext utilities - B  Country Codes</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_15.html">previous</A>, <A HREF="gettext_17.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC244" HREF="gettext_toc.html#TOC244">B  Country Codes</A></H1>
-<P>
-<A NAME="IDX952"></A>
-<A NAME="IDX953"></A>
-
-</P>
-<P>
-The ISO 3166 standard defines two character codes for many countries
-and territories.  All abbreviations for countries used in the Translation
-Project should come from this standard.
-
-</P>
-<DL COMPACT>
-
-<DT><SAMP>`AD&acute;</SAMP>
-<DD>
-Andorra.
-<DT><SAMP>`AE&acute;</SAMP>
-<DD>
-United Arab Emirates.
-<DT><SAMP>`AF&acute;</SAMP>
-<DD>
-Afghanistan.
-<DT><SAMP>`AG&acute;</SAMP>
-<DD>
-Antigua and Barbuda.
-<DT><SAMP>`AI&acute;</SAMP>
-<DD>
-Anguilla.
-<DT><SAMP>`AL&acute;</SAMP>
-<DD>
-Albania.
-<DT><SAMP>`AM&acute;</SAMP>
-<DD>
-Armenia.
-<DT><SAMP>`AN&acute;</SAMP>
-<DD>
-Netherlands Antilles.
-<DT><SAMP>`AO&acute;</SAMP>
-<DD>
-Angola.
-<DT><SAMP>`AQ&acute;</SAMP>
-<DD>
-Antarctica.
-<DT><SAMP>`AR&acute;</SAMP>
-<DD>
-Argentina.
-<DT><SAMP>`AS&acute;</SAMP>
-<DD>
-Samoa (American).
-<DT><SAMP>`AT&acute;</SAMP>
-<DD>
-Austria.
-<DT><SAMP>`AU&acute;</SAMP>
-<DD>
-Australia.
-<DT><SAMP>`AW&acute;</SAMP>
-<DD>
-Aruba.
-<DT><SAMP>`AZ&acute;</SAMP>
-<DD>
-Azerbaijan.
-<DT><SAMP>`BA&acute;</SAMP>
-<DD>
-Bosnia and Herzegovina.
-<DT><SAMP>`BB&acute;</SAMP>
-<DD>
-Barbados.
-<DT><SAMP>`BD&acute;</SAMP>
-<DD>
-Bangladesh.
-<DT><SAMP>`BE&acute;</SAMP>
-<DD>
-Belgium.
-<DT><SAMP>`BF&acute;</SAMP>
-<DD>
-Burkina Faso.
-<DT><SAMP>`BG&acute;</SAMP>
-<DD>
-Bulgaria.
-<DT><SAMP>`BH&acute;</SAMP>
-<DD>
-Bahrain.
-<DT><SAMP>`BI&acute;</SAMP>
-<DD>
-Burundi.
-<DT><SAMP>`BJ&acute;</SAMP>
-<DD>
-Benin.
-<DT><SAMP>`BM&acute;</SAMP>
-<DD>
-Bermuda.
-<DT><SAMP>`BN&acute;</SAMP>
-<DD>
-Brunei.
-<DT><SAMP>`BO&acute;</SAMP>
-<DD>
-Bolivia.
-<DT><SAMP>`BR&acute;</SAMP>
-<DD>
-Brazil.
-<DT><SAMP>`BS&acute;</SAMP>
-<DD>
-Bahamas.
-<DT><SAMP>`BT&acute;</SAMP>
-<DD>
-Bhutan.
-<DT><SAMP>`BV&acute;</SAMP>
-<DD>
-Bouvet Island.
-<DT><SAMP>`BW&acute;</SAMP>
-<DD>
-Botswana.
-<DT><SAMP>`BY&acute;</SAMP>
-<DD>
-Belarus.
-<DT><SAMP>`BZ&acute;</SAMP>
-<DD>
-Belize.
-<DT><SAMP>`CA&acute;</SAMP>
-<DD>
-Canada.
-<DT><SAMP>`CC&acute;</SAMP>
-<DD>
-Cocos (Keeling) Islands.
-<DT><SAMP>`CD&acute;</SAMP>
-<DD>
-Congo (Dem. Rep.).
-<DT><SAMP>`CF&acute;</SAMP>
-<DD>
-Central African Rep..
-<DT><SAMP>`CG&acute;</SAMP>
-<DD>
-Congo (Rep.).
-<DT><SAMP>`CH&acute;</SAMP>
-<DD>
-Switzerland.
-<DT><SAMP>`CI&acute;</SAMP>
-<DD>
-Cote d'Ivoire.
-<DT><SAMP>`CK&acute;</SAMP>
-<DD>
-Cook Islands.
-<DT><SAMP>`CL&acute;</SAMP>
-<DD>
-Chile.
-<DT><SAMP>`CM&acute;</SAMP>
-<DD>
-Cameroon.
-<DT><SAMP>`CN&acute;</SAMP>
-<DD>
-China.
-<DT><SAMP>`CO&acute;</SAMP>
-<DD>
-Colombia.
-<DT><SAMP>`CR&acute;</SAMP>
-<DD>
-Costa Rica.
-<DT><SAMP>`CU&acute;</SAMP>
-<DD>
-Cuba.
-<DT><SAMP>`CV&acute;</SAMP>
-<DD>
-Cape Verde.
-<DT><SAMP>`CX&acute;</SAMP>
-<DD>
-Christmas Island.
-<DT><SAMP>`CY&acute;</SAMP>
-<DD>
-Cyprus.
-<DT><SAMP>`CZ&acute;</SAMP>
-<DD>
-Czech Republic.
-<DT><SAMP>`DE&acute;</SAMP>
-<DD>
-Germany.
-<DT><SAMP>`DJ&acute;</SAMP>
-<DD>
-Djibouti.
-<DT><SAMP>`DK&acute;</SAMP>
-<DD>
-Denmark.
-<DT><SAMP>`DM&acute;</SAMP>
-<DD>
-Dominica.
-<DT><SAMP>`DO&acute;</SAMP>
-<DD>
-Dominican Republic.
-<DT><SAMP>`DZ&acute;</SAMP>
-<DD>
-Algeria.
-<DT><SAMP>`EC&acute;</SAMP>
-<DD>
-Ecuador.
-<DT><SAMP>`EE&acute;</SAMP>
-<DD>
-Estonia.
-<DT><SAMP>`EG&acute;</SAMP>
-<DD>
-Egypt.
-<DT><SAMP>`EH&acute;</SAMP>
-<DD>
-Western Sahara.
-<DT><SAMP>`ER&acute;</SAMP>
-<DD>
-Eritrea.
-<DT><SAMP>`ES&acute;</SAMP>
-<DD>
-Spain.
-<DT><SAMP>`ET&acute;</SAMP>
-<DD>
-Ethiopia.
-<DT><SAMP>`FI&acute;</SAMP>
-<DD>
-Finland.
-<DT><SAMP>`FJ&acute;</SAMP>
-<DD>
-Fiji.
-<DT><SAMP>`FK&acute;</SAMP>
-<DD>
-Falkland Islands.
-<DT><SAMP>`FM&acute;</SAMP>
-<DD>
-Micronesia.
-<DT><SAMP>`FO&acute;</SAMP>
-<DD>
-Faeroe Islands.
-<DT><SAMP>`FR&acute;</SAMP>
-<DD>
-France.
-<DT><SAMP>`GA&acute;</SAMP>
-<DD>
-Gabon.
-<DT><SAMP>`GB&acute;</SAMP>
-<DD>
-Britain (UK).
-<DT><SAMP>`GD&acute;</SAMP>
-<DD>
-Grenada.
-<DT><SAMP>`GE&acute;</SAMP>
-<DD>
-Georgia.
-<DT><SAMP>`GF&acute;</SAMP>
-<DD>
-French Guiana.
-<DT><SAMP>`GH&acute;</SAMP>
-<DD>
-Ghana.
-<DT><SAMP>`GI&acute;</SAMP>
-<DD>
-Gibraltar.
-<DT><SAMP>`GL&acute;</SAMP>
-<DD>
-Greenland.
-<DT><SAMP>`GM&acute;</SAMP>
-<DD>
-Gambia.
-<DT><SAMP>`GN&acute;</SAMP>
-<DD>
-Guinea.
-<DT><SAMP>`GP&acute;</SAMP>
-<DD>
-Guadeloupe.
-<DT><SAMP>`GQ&acute;</SAMP>
-<DD>
-Equatorial Guinea.
-<DT><SAMP>`GR&acute;</SAMP>
-<DD>
-Greece.
-<DT><SAMP>`GS&acute;</SAMP>
-<DD>
-South Georgia and the South Sandwich Islands.
-<DT><SAMP>`GT&acute;</SAMP>
-<DD>
-Guatemala.
-<DT><SAMP>`GU&acute;</SAMP>
-<DD>
-Guam.
-<DT><SAMP>`GW&acute;</SAMP>
-<DD>
-Guinea-Bissau.
-<DT><SAMP>`GY&acute;</SAMP>
-<DD>
-Guyana.
-<DT><SAMP>`HK&acute;</SAMP>
-<DD>
-Hong Kong.
-<DT><SAMP>`HM&acute;</SAMP>
-<DD>
-Heard Island and McDonald Islands.
-<DT><SAMP>`HN&acute;</SAMP>
-<DD>
-Honduras.
-<DT><SAMP>`HR&acute;</SAMP>
-<DD>
-Croatia.
-<DT><SAMP>`HT&acute;</SAMP>
-<DD>
-Haiti.
-<DT><SAMP>`HU&acute;</SAMP>
-<DD>
-Hungary.
-<DT><SAMP>`ID&acute;</SAMP>
-<DD>
-Indonesia.
-<DT><SAMP>`IE&acute;</SAMP>
-<DD>
-Ireland.
-<DT><SAMP>`IL&acute;</SAMP>
-<DD>
-Israel.
-<DT><SAMP>`IN&acute;</SAMP>
-<DD>
-India.
-<DT><SAMP>`IO&acute;</SAMP>
-<DD>
-British Indian Ocean Territory.
-<DT><SAMP>`IQ&acute;</SAMP>
-<DD>
-Iraq.
-<DT><SAMP>`IR&acute;</SAMP>
-<DD>
-Iran.
-<DT><SAMP>`IS&acute;</SAMP>
-<DD>
-Iceland.
-<DT><SAMP>`IT&acute;</SAMP>
-<DD>
-Italy.
-<DT><SAMP>`JM&acute;</SAMP>
-<DD>
-Jamaica.
-<DT><SAMP>`JO&acute;</SAMP>
-<DD>
-Jordan.
-<DT><SAMP>`JP&acute;</SAMP>
-<DD>
-Japan.
-<DT><SAMP>`KE&acute;</SAMP>
-<DD>
-Kenya.
-<DT><SAMP>`KG&acute;</SAMP>
-<DD>
-Kyrgyzstan.
-<DT><SAMP>`KH&acute;</SAMP>
-<DD>
-Cambodia.
-<DT><SAMP>`KI&acute;</SAMP>
-<DD>
-Kiribati.
-<DT><SAMP>`KM&acute;</SAMP>
-<DD>
-Comoros.
-<DT><SAMP>`KN&acute;</SAMP>
-<DD>
-St Kitts and Nevis.
-<DT><SAMP>`KP&acute;</SAMP>
-<DD>
-Korea (North).
-<DT><SAMP>`KR&acute;</SAMP>
-<DD>
-Korea (South).
-<DT><SAMP>`KW&acute;</SAMP>
-<DD>
-Kuwait.
-<DT><SAMP>`KY&acute;</SAMP>
-<DD>
-Cayman Islands.
-<DT><SAMP>`KZ&acute;</SAMP>
-<DD>
-Kazakhstan.
-<DT><SAMP>`LA&acute;</SAMP>
-<DD>
-Laos.
-<DT><SAMP>`LB&acute;</SAMP>
-<DD>
-Lebanon.
-<DT><SAMP>`LC&acute;</SAMP>
-<DD>
-St Lucia.
-<DT><SAMP>`LI&acute;</SAMP>
-<DD>
-Liechtenstein.
-<DT><SAMP>`LK&acute;</SAMP>
-<DD>
-Sri Lanka.
-<DT><SAMP>`LR&acute;</SAMP>
-<DD>
-Liberia.
-<DT><SAMP>`LS&acute;</SAMP>
-<DD>
-Lesotho.
-<DT><SAMP>`LT&acute;</SAMP>
-<DD>
-Lithuania.
-<DT><SAMP>`LU&acute;</SAMP>
-<DD>
-Luxembourg.
-<DT><SAMP>`LV&acute;</SAMP>
-<DD>
-Latvia.
-<DT><SAMP>`LY&acute;</SAMP>
-<DD>
-Libya.
-<DT><SAMP>`MA&acute;</SAMP>
-<DD>
-Morocco.
-<DT><SAMP>`MC&acute;</SAMP>
-<DD>
-Monaco.
-<DT><SAMP>`MD&acute;</SAMP>
-<DD>
-Moldova.
-<DT><SAMP>`MG&acute;</SAMP>
-<DD>
-Madagascar.
-<DT><SAMP>`MH&acute;</SAMP>
-<DD>
-Marshall Islands.
-<DT><SAMP>`MK&acute;</SAMP>
-<DD>
-Macedonia.
-<DT><SAMP>`ML&acute;</SAMP>
-<DD>
-Mali.
-<DT><SAMP>`MM&acute;</SAMP>
-<DD>
-Myanmar (Burma).
-<DT><SAMP>`MN&acute;</SAMP>
-<DD>
-Mongolia.
-<DT><SAMP>`MO&acute;</SAMP>
-<DD>
-Macao.
-<DT><SAMP>`MP&acute;</SAMP>
-<DD>
-Northern Mariana Islands.
-<DT><SAMP>`MQ&acute;</SAMP>
-<DD>
-Martinique.
-<DT><SAMP>`MR&acute;</SAMP>
-<DD>
-Mauritania.
-<DT><SAMP>`MS&acute;</SAMP>
-<DD>
-Montserrat.
-<DT><SAMP>`MT&acute;</SAMP>
-<DD>
-Malta.
-<DT><SAMP>`MU&acute;</SAMP>
-<DD>
-Mauritius.
-<DT><SAMP>`MV&acute;</SAMP>
-<DD>
-Maldives.
-<DT><SAMP>`MW&acute;</SAMP>
-<DD>
-Malawi.
-<DT><SAMP>`MX&acute;</SAMP>
-<DD>
-Mexico.
-<DT><SAMP>`MY&acute;</SAMP>
-<DD>
-Malaysia.
-<DT><SAMP>`MZ&acute;</SAMP>
-<DD>
-Mozambique.
-<DT><SAMP>`NA&acute;</SAMP>
-<DD>
-Namibia.
-<DT><SAMP>`NC&acute;</SAMP>
-<DD>
-New Caledonia.
-<DT><SAMP>`NE&acute;</SAMP>
-<DD>
-Niger.
-<DT><SAMP>`NF&acute;</SAMP>
-<DD>
-Norfolk Island.
-<DT><SAMP>`NG&acute;</SAMP>
-<DD>
-Nigeria.
-<DT><SAMP>`NI&acute;</SAMP>
-<DD>
-Nicaragua.
-<DT><SAMP>`NL&acute;</SAMP>
-<DD>
-Netherlands.
-<DT><SAMP>`NO&acute;</SAMP>
-<DD>
-Norway.
-<DT><SAMP>`NP&acute;</SAMP>
-<DD>
-Nepal.
-<DT><SAMP>`NR&acute;</SAMP>
-<DD>
-Nauru.
-<DT><SAMP>`NU&acute;</SAMP>
-<DD>
-Niue.
-<DT><SAMP>`NZ&acute;</SAMP>
-<DD>
-New Zealand.
-<DT><SAMP>`OM&acute;</SAMP>
-<DD>
-Oman.
-<DT><SAMP>`PA&acute;</SAMP>
-<DD>
-Panama.
-<DT><SAMP>`PE&acute;</SAMP>
-<DD>
-Peru.
-<DT><SAMP>`PF&acute;</SAMP>
-<DD>
-French Polynesia.
-<DT><SAMP>`PG&acute;</SAMP>
-<DD>
-Papua New Guinea.
-<DT><SAMP>`PH&acute;</SAMP>
-<DD>
-Philippines.
-<DT><SAMP>`PK&acute;</SAMP>
-<DD>
-Pakistan.
-<DT><SAMP>`PL&acute;</SAMP>
-<DD>
-Poland.
-<DT><SAMP>`PM&acute;</SAMP>
-<DD>
-St Pierre and Miquelon.
-<DT><SAMP>`PN&acute;</SAMP>
-<DD>
-Pitcairn.
-<DT><SAMP>`PR&acute;</SAMP>
-<DD>
-Puerto Rico.
-<DT><SAMP>`PS&acute;</SAMP>
-<DD>
-Palestine.
-<DT><SAMP>`PT&acute;</SAMP>
-<DD>
-Portugal.
-<DT><SAMP>`PW&acute;</SAMP>
-<DD>
-Palau.
-<DT><SAMP>`PY&acute;</SAMP>
-<DD>
-Paraguay.
-<DT><SAMP>`QA&acute;</SAMP>
-<DD>
-Qatar.
-<DT><SAMP>`RE&acute;</SAMP>
-<DD>
-Reunion.
-<DT><SAMP>`RO&acute;</SAMP>
-<DD>
-Romania.
-<DT><SAMP>`RU&acute;</SAMP>
-<DD>
-Russia.
-<DT><SAMP>`RW&acute;</SAMP>
-<DD>
-Rwanda.
-<DT><SAMP>`SA&acute;</SAMP>
-<DD>
-Saudi Arabia.
-<DT><SAMP>`SB&acute;</SAMP>
-<DD>
-Solomon Islands.
-<DT><SAMP>`SC&acute;</SAMP>
-<DD>
-Seychelles.
-<DT><SAMP>`SD&acute;</SAMP>
-<DD>
-Sudan.
-<DT><SAMP>`SE&acute;</SAMP>
-<DD>
-Sweden.
-<DT><SAMP>`SG&acute;</SAMP>
-<DD>
-Singapore.
-<DT><SAMP>`SH&acute;</SAMP>
-<DD>
-St Helena.
-<DT><SAMP>`SI&acute;</SAMP>
-<DD>
-Slovenia.
-<DT><SAMP>`SJ&acute;</SAMP>
-<DD>
-Svalbard and Jan Mayen.
-<DT><SAMP>`SK&acute;</SAMP>
-<DD>
-Slovakia.
-<DT><SAMP>`SL&acute;</SAMP>
-<DD>
-Sierra Leone.
-<DT><SAMP>`SM&acute;</SAMP>
-<DD>
-San Marino.
-<DT><SAMP>`SN&acute;</SAMP>
-<DD>
-Senegal.
-<DT><SAMP>`SO&acute;</SAMP>
-<DD>
-Somalia.
-<DT><SAMP>`SR&acute;</SAMP>
-<DD>
-Suriname.
-<DT><SAMP>`ST&acute;</SAMP>
-<DD>
-Sao Tome and Principe.
-<DT><SAMP>`SV&acute;</SAMP>
-<DD>
-El Salvador.
-<DT><SAMP>`SY&acute;</SAMP>
-<DD>
-Syria.
-<DT><SAMP>`SZ&acute;</SAMP>
-<DD>
-Swaziland.
-<DT><SAMP>`TC&acute;</SAMP>
-<DD>
-Turks and Caicos Is.
-<DT><SAMP>`TD&acute;</SAMP>
-<DD>
-Chad.
-<DT><SAMP>`TF&acute;</SAMP>
-<DD>
-French Southern and Antarctic Lands.
-<DT><SAMP>`TG&acute;</SAMP>
-<DD>
-Togo.
-<DT><SAMP>`TH&acute;</SAMP>
-<DD>
-Thailand.
-<DT><SAMP>`TJ&acute;</SAMP>
-<DD>
-Tajikistan.
-<DT><SAMP>`TK&acute;</SAMP>
-<DD>
-Tokelau.
-<DT><SAMP>`TM&acute;</SAMP>
-<DD>
-Turkmenistan.
-<DT><SAMP>`TN&acute;</SAMP>
-<DD>
-Tunisia.
-<DT><SAMP>`TO&acute;</SAMP>
-<DD>
-Tonga.
-<DT><SAMP>`TP&acute;</SAMP>
-<DD>
-East Timor.
-<DT><SAMP>`TR&acute;</SAMP>
-<DD>
-Turkey.
-<DT><SAMP>`TT&acute;</SAMP>
-<DD>
-Trinidad and Tobago.
-<DT><SAMP>`TV&acute;</SAMP>
-<DD>
-Tuvalu.
-<DT><SAMP>`TW&acute;</SAMP>
-<DD>
-Taiwan.
-<DT><SAMP>`TZ&acute;</SAMP>
-<DD>
-Tanzania.
-<DT><SAMP>`UA&acute;</SAMP>
-<DD>
-Ukraine.
-<DT><SAMP>`UG&acute;</SAMP>
-<DD>
-Uganda.
-<DT><SAMP>`UM&acute;</SAMP>
-<DD>
-US minor outlying islands.
-<DT><SAMP>`US&acute;</SAMP>
-<DD>
-United States.
-<DT><SAMP>`UY&acute;</SAMP>
-<DD>
-Uruguay.
-<DT><SAMP>`UZ&acute;</SAMP>
-<DD>
-Uzbekistan.
-<DT><SAMP>`VA&acute;</SAMP>
-<DD>
-Vatican City.
-<DT><SAMP>`VC&acute;</SAMP>
-<DD>
-St Vincent.
-<DT><SAMP>`VE&acute;</SAMP>
-<DD>
-Venezuela.
-<DT><SAMP>`VG&acute;</SAMP>
-<DD>
-Virgin Islands (UK).
-<DT><SAMP>`VI&acute;</SAMP>
-<DD>
-Virgin Islands (US).
-<DT><SAMP>`VN&acute;</SAMP>
-<DD>
-Vietnam.
-<DT><SAMP>`VU&acute;</SAMP>
-<DD>
-Vanuatu.
-<DT><SAMP>`WF&acute;</SAMP>
-<DD>
-Wallis and Futuna.
-<DT><SAMP>`WS&acute;</SAMP>
-<DD>
-Samoa (Western).
-<DT><SAMP>`YE&acute;</SAMP>
-<DD>
-Yemen.
-<DT><SAMP>`YT&acute;</SAMP>
-<DD>
-Mayotte.
-<DT><SAMP>`YU&acute;</SAMP>
-<DD>
-Yugoslavia.
-<DT><SAMP>`ZA&acute;</SAMP>
-<DD>
-South Africa.
-<DT><SAMP>`ZM&acute;</SAMP>
-<DD>
-Zambia.
-<DT><SAMP>`ZW&acute;</SAMP>
-<DD>
-Zimbabwe.
-</DL>
-
-<P><HR><P>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_15.html">previous</A>, <A HREF="gettext_17.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
-</BODY>
-</HTML>
diff --git a/doc/gettext_17.html b/doc/gettext_17.html
deleted file mode 100644 (file)
index 1947cdb..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52a
-     from gettext.texi on 5 November 2002 -->
-
-<TITLE>GNU gettext utilities - Program Index</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_16.html">previous</A>, <A HREF="gettext_18.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC245" HREF="gettext_toc.html#TOC245">Program Index</A></H1>
-
-<P>
-Jump to:
-<A HREF="#pindex_a">a</A>
--
-<A HREF="#pindex_g">g</A>
--
-<A HREF="#pindex_m">m</A>
--
-<A HREF="#pindex_n">n</A>
--
-<A HREF="#pindex_x">x</A>
-<P>
-<H2><A NAME="pindex_a">a</A></H2>
-<DIR>
-<LI><A HREF="gettext_12.html#IDX902">autopoint</A>
-</DIR>
-<H2><A NAME="pindex_g">g</A></H2>
-<DIR>
-<LI><A HREF="gettext_13.html#IDX914">gettext</A>, <A HREF="gettext_13.html#IDX919">gettext</A>
-<LI><A HREF="gettext_12.html#IDX869">gettextize</A>
-</DIR>
-<H2><A NAME="pindex_m">m</A></H2>
-<DIR>
-<LI><A HREF="gettext_7.html#IDX648">msgattrib</A>
-<LI><A HREF="gettext_7.html#IDX431">msgcat</A>
-<LI><A HREF="gettext_7.html#IDX637">msgcmp</A>
-<LI><A HREF="gettext_7.html#IDX603">msgcomm</A>
-<LI><A HREF="gettext_7.html#IDX470">msgconv</A>
-<LI><A HREF="gettext_7.html#IDX687">msgen</A>
-<LI><A HREF="gettext_7.html#IDX711">msgexec</A>
-<LI><A HREF="gettext_7.html#IDX535">msgfilter</A>
-<LI><A HREF="gettext_8.html#IDX726">msgfmt</A>
-<LI><A HREF="gettext_7.html#IDX496">msggrep</A>
-<LI><A HREF="gettext_5.html#IDX213">msginit</A>
-<LI><A HREF="gettext_6.html#IDX242">msgmerge</A>
-<LI><A HREF="gettext_8.html#IDX774">msgunfmt</A>
-<LI><A HREF="gettext_7.html#IDX570">msguniq</A>
-</DIR>
-<H2><A NAME="pindex_n">n</A></H2>
-<DIR>
-<LI><A HREF="gettext_13.html#IDX915">ngettext</A>, <A HREF="gettext_13.html#IDX920">ngettext</A>
-</DIR>
-<H2><A NAME="pindex_x">x</A></H2>
-<DIR>
-<LI><A HREF="gettext_4.html#IDX150">xgettext</A>
-</DIR>
-
-</P>
-<P><HR><P>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_16.html">previous</A>, <A HREF="gettext_18.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
-</BODY>
-</HTML>
diff --git a/doc/gettext_18.html b/doc/gettext_18.html
deleted file mode 100644 (file)
index 40b3ad2..0000000
+++ /dev/null
@@ -1,456 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52a
-     from gettext.texi on 5 November 2002 -->
-
-<TITLE>GNU gettext utilities - Option Index</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_17.html">previous</A>, <A HREF="gettext_19.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC246" HREF="gettext_toc.html#TOC246">Option Index</A></H1>
-
-<P>
-Jump to:
-<A HREF="#opindex_-">-</A>
-<P>
-<H2><A NAME="opindex_-">-</A></H2>
-<DIR>
-<LI><A HREF="gettext_4.html#IDX174">--add-comments, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX674">--add-location, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX456">--add-location, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX623">--add-location, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX483">--add-location, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX698">--add-location, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX557">--add-location, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX524">--add-location, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX263">--add-location, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX590">--add-location, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX190">--add-location, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX765">--alignment, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX253">--backup, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX167">--c++, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX749">--check, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX757">--check-accelerators, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX755">--check-compatibility, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX753">--check-domain, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX750">--check-format, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX752">--check-header, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX664">--clear-fuzzy, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX666">--clear-obsolete, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX247">--compendium, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_12.html#IDX872">--copy, <CODE>gettextize</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX202">--copyright-holder, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX183">--debug, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX157">--default-domain, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX653">--directory, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX438">--directory, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX641">--directory, <CODE>msgcmp</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX609">--directory, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX474">--directory, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX691">--directory, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX721">--directory, <CODE>msgexec</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX541">--directory, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX730">--directory, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX500">--directory, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX245">--directory, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX575">--directory, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX155">--directory, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX506">--domain, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_12.html#IDX907">--dry-run, <CODE>autopoint</CODE> option</A>
-<LI><A HREF="gettext_12.html#IDX878">--dry-run, <CODE>gettextize</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX172">--exclude-file, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX547">--expression, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX512">--extended-regexp, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX176">--extract-all, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX549">--file, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX518">--file, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX436">--files-from, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX607">--files-from, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX153">--files-from, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX514">--fixed-strings, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_12.html#IDX905">--force, <CODE>autopoint</CODE> option</A>
-<LI><A HREF="gettext_12.html#IDX874">--force, <CODE>gettextize</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX669">--force-po, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX451">--force-po, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX618">--force-po, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX479">--force-po, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX694">--force-po, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX553">--force-po, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX521">--force-po, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX259">--force-po, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX791">--force-po, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX585">--force-po, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX185">--force-po, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX203">--foreign-user, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX168">--from-code, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX667">--fuzzy, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_12.html#IDX908">--help, <CODE>autopoint</CODE> option</A>
-<LI><A HREF="gettext_12.html#IDX879">--help, <CODE>gettextize</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX684">--help, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX467">--help, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX645">--help, <CODE>msgcmp</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX634">--help, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX493">--help, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX708">--help, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX723">--help, <CODE>msgexec</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX567">--help, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX768">--help, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX532">--help, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX228">--help, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX274">--help, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX802">--help, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX600">--help, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX209">--help, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX520">--ignore-case, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX671">--indent, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX453">--indent, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX620">--indent, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX481">--indent, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX696">--indent, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX554">--indent, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX522">--indent, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX261">--indent, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX793">--indent, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX587">--indent, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX187">--indent, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX719">--input, <CODE>msgexec</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX539">--input, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX218">--input, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_12.html#IDX875">--intl, <CODE>gettextize</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX732">--java, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX778">--java, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX734">--java2, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX170">--join-existing, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX555">--keep-header, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX178">--keyword, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX164">--language, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX443">--less-than, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX613">--less-than, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX743">--locale, <CODE>msgfmt</CODE> option</A>, <A HREF="gettext_8.html#IDX746">--locale, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX222">--locale, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX785">--locale, <CODE>msgunfmt</CODE> option</A>, <A HREF="gettext_8.html#IDX787">--locale, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX504">--location, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX445">--more-than, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX615">--more-than, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX508">--msgid, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX510">--msgstr, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX205">--msgstr-prefix, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX207">--msgstr-suffix, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX643">--multi-domain, <CODE>msgcmp</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX258">--multi-domain, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_12.html#IDX876">--no-changelog, <CODE>gettextize</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX658">--no-fuzzy, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX766">--no-hash, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX672">--no-location, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX454">--no-location, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX621">--no-location, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX482">--no-location, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX697">--no-location, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX556">--no-location, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX523">--no-location, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX262">--no-location, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX588">--no-location, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX188">--no-location, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX660">--no-obsolete, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX223">--no-translator, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX678">--no-wrap, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX460">--no-wrap, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX627">--no-wrap, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX487">--no-wrap, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX702">--no-wrap, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX561">--no-wrap, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX528">--no-wrap, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX226">--no-wrap, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX267">--no-wrap, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX797">--no-wrap, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX594">--no-wrap, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX194">--no-wrap, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX668">--obsolete, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX632">--omit-header, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX200">--omit-header, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX659">--only-fuzzy, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX661">--only-obsolete, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX159">--output, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX161">--output-dir, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX655">--output-file, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX440">--output-file, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX611">--output-file, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX476">--output-file, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX693">--output-file, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX543">--output-file, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX738">--output-file, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX502">--output-file, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX220">--output-file, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX251">--output-file, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX790">--output-file, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX577">--output-file, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX551">--quiet, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX280">--quiet, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX516">--regexp=, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX579">--repeated, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX741">--resource, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX783">--resource, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX663">--set-fuzzy, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX665">--set-obsolete, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX552">--silent, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX281">--silent, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX682">--sort-by-file, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX465">--sort-by-file, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX631">--sort-by-file, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX491">--sort-by-file, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX706">--sort-by-file, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX565">--sort-by-file, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX530">--sort-by-file, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX272">--sort-by-file, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX598">--sort-by-file, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX199">--sort-by-file, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX680">--sort-output, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX462">--sort-output, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX629">--sort-output, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX489">--sort-output, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX704">--sort-output, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX563">--sort-output, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX529">--sort-output, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX269">--sort-output, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX799">--sort-output, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX596">--sort-output, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX196">--sort-output, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX771">--statistics, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX675">--strict, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX457">--strict, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX624">--strict, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX484">--strict, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX699">--strict, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX558">--strict, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX739">--strict, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX525">--strict, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX264">--strict, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX794">--strict, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX591">--strict, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX191">--strict, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX255">--suffix, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX735">--tcl, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX780">--tcl, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX449">--to-code, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX478">--to-code, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX583">--to-code, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX656">--translated, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX181">--trigraphs, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX447">--unique, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX617">--unique, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX581">--unique, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX657">--untranslated, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX249">--update, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX450">--use-first, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX584">--use-first, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX762">--use-fuzzy, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX773">--verbose, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX278">--verbose, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX806">--verbose, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_12.html#IDX909">--version, <CODE>autopoint</CODE> option</A>
-<LI><A HREF="gettext_12.html#IDX880">--version, <CODE>gettextize</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX686">--version, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX469">--version, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX647">--version, <CODE>msgcmp</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX636">--version, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX495">--version, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX710">--version, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX725">--version, <CODE>msgexec</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX569">--version, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX770">--version, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX534">--version, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX230">--version, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX276">--version, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX804">--version, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX602">--version, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX211">--version, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX677">--width, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX459">--width, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX626">--width, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX486">--width, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX701">--width, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX560">--width, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX527">--width, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX225">--width, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX266">--width, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX796">--width, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX593">--width, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX193">--width, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX442">-&#60;, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX612">-&#60;, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX444">-&#62;, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX614">-&#62;, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX764">-a, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX175">-a, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_12.html#IDX871">-c, <CODE>gettextize</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX754">-C, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX748">-c, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX246">-C, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX166">-C, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX173">-c, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_12.html#IDX906">-d, <CODE>autopoint</CODE> option</A>
-<LI><A HREF="gettext_12.html#IDX877">-d, <CODE>gettextize</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX652">-D, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX437">-D, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX640">-D, <CODE>msgcmp</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX608">-D, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX473">-D, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX690">-D, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX720">-D, <CODE>msgexec</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX540">-D, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX729">-D, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX744">-d, <CODE>msgfmt</CODE> option</A>, <A HREF="gettext_8.html#IDX747">-d, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX499">-D, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX244">-D, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX788">-d, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX578">-d, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX574">-D, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX156">-d, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX154">-D, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX546">-e, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX515">-e, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX511">-E, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_12.html#IDX904">-f, <CODE>autopoint</CODE> option</A>
-<LI><A HREF="gettext_12.html#IDX873">-f, <CODE>gettextize</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX681">-F, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX464">-F, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX435">-f, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX606">-f, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX630">-F, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX490">-F, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX705">-F, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX548">-f, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX564">-F, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX761">-f, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX513">-F, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX517">-f, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX271">-F, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX597">-F, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX198">-F, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX152">-f, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX683">-h, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX466">-h, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX644">-h, <CODE>msgcmp</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX633">-h, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX492">-h, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX707">-h, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX722">-h, <CODE>msgexec</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX566">-h, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX767">-h, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX531">-h, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX227">-h, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX273">-h, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX801">-h, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX599">-h, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX208">-h, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX670">-i, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX452">-i, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX619">-i, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX480">-i, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX695">-i, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX718">-i, <CODE>msgexec</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX538">-i, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX519">-i, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX217">-i, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX260">-i, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX792">-i, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX586">-i, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX186">-i, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX731">-j, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX777">-j, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX169">-j, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX507">-K, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX177">-k, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX742">-l, <CODE>msgfmt</CODE> option</A>, <A HREF="gettext_8.html#IDX745">-l, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX221">-l, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX784">-l, <CODE>msgunfmt</CODE> option</A>, <A HREF="gettext_8.html#IDX786">-l, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX163">-L, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX642">-m, <CODE>msgcmp</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX505">-M, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX257">-m, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX206">-M, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX204">-m, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX673">-n, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX455">-n, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX622">-n, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX550">-n, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX503">-N, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX589">-n, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX189">-n, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX654">-o, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX439">-o, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX610">-o, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX475">-o, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX692">-o, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX542">-o, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX737">-o, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX501">-o, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX219">-o, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX250">-o, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX789">-o, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX576">-o, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX158">-o, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX160">-p, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX279">-q, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX740">-r, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX782">-r, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX679">-s, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX461">-s, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX628">-s, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX488">-s, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX703">-s, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX562">-s, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX268">-s, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX798">-s, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX595">-s, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX195">-s, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX448">-t, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX477">-t, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX509">-T, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX582">-t, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX180">-T, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX446">-u, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX616">-u, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX248">-U, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX580">-u, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX685">-V, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX468">-V, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX646">-V, <CODE>msgcmp</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX635">-V, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX494">-V, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX709">-V, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX724">-V, <CODE>msgexec</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX568">-V, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX772">-v, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX769">-V, <CODE>msgfmt</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX533">-V, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX229">-V, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX275">-V, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX277">-v, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX805">-v, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX803">-V, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX601">-V, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX210">-V, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX676">-w, <CODE>msgattrib</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX458">-w, <CODE>msgcat</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX625">-w, <CODE>msgcomm</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX485">-w, <CODE>msgconv</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX700">-w, <CODE>msgen</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX559">-w, <CODE>msgfilter</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX526">-w, <CODE>msggrep</CODE> option</A>
-<LI><A HREF="gettext_5.html#IDX224">-w, <CODE>msginit</CODE> option</A>
-<LI><A HREF="gettext_6.html#IDX265">-w, <CODE>msgmerge</CODE> option</A>
-<LI><A HREF="gettext_8.html#IDX795">-w, <CODE>msgunfmt</CODE> option</A>
-<LI><A HREF="gettext_7.html#IDX592">-w, <CODE>msguniq</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX192">-w, <CODE>xgettext</CODE> option</A>
-<LI><A HREF="gettext_4.html#IDX171">-x, <CODE>xgettext</CODE> option</A>
-</DIR>
-
-</P>
-<P><HR><P>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_17.html">previous</A>, <A HREF="gettext_19.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
-</BODY>
-</HTML>
diff --git a/doc/gettext_19.html b/doc/gettext_19.html
deleted file mode 100644 (file)
index 1981ad2..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52a
-     from gettext.texi on 5 November 2002 -->
-
-<TITLE>GNU gettext utilities - Variable Index</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_18.html">previous</A>, <A HREF="gettext_20.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC247" HREF="gettext_toc.html#TOC247">Variable Index</A></H1>
-
-<P>
-Jump to:
-<A HREF="#vindex_l">l</A>
--
-<A HREF="#vindex_m">m</A>
--
-<A HREF="#vindex_t">t</A>
-<P>
-<H2><A NAME="vindex_l">l</A></H2>
-<DIR>
-<LI><A HREF="gettext_9.html#IDX821">LANG, environment variable</A>, <A HREF="gettext_10.html#IDX863">LANG, environment variable</A>
-<LI><A HREF="gettext_10.html#IDX855">LANGUAGE, environment variable</A>, <A HREF="gettext_12.html#IDX886">LANGUAGE, environment variable</A>
-<LI><A HREF="gettext_10.html#IDX856">LC_ALL, environment variable</A>
-<LI><A HREF="gettext_10.html#IDX860">LC_COLLATE, environment variable</A>
-<LI><A HREF="gettext_10.html#IDX857">LC_CTYPE, environment variable</A>
-<LI><A HREF="gettext_10.html#IDX862">LC_MESSAGES, environment variable</A>
-<LI><A HREF="gettext_10.html#IDX861">LC_MONETARY, environment variable</A>
-<LI><A HREF="gettext_10.html#IDX858">LC_NUMERIC, environment variable</A>
-<LI><A HREF="gettext_10.html#IDX859">LC_TIME, environment variable</A>
-<LI><A HREF="gettext_9.html#IDX817">LINGUAS, environment variable</A>
-</DIR>
-<H2><A NAME="vindex_m">m</A></H2>
-<DIR>
-<LI><A HREF="gettext_7.html#IDX716">MSGEXEC_LOCATION, environment variable</A>
-<LI><A HREF="gettext_7.html#IDX715">MSGEXEC_MSGID, environment variable</A>
-</DIR>
-<H2><A NAME="vindex_t">t</A></H2>
-<DIR>
-<LI><A HREF="gettext_13.html#IDX916">TEXTDOMAIN, environment variable</A>, <A HREF="gettext_13.html#IDX921">TEXTDOMAIN, environment variable</A>
-<LI><A HREF="gettext_13.html#IDX917">TEXTDOMAINDIR, environment variable</A>, <A HREF="gettext_13.html#IDX922">TEXTDOMAINDIR, environment variable</A>
-</DIR>
-
-</P>
-<P><HR><P>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_18.html">previous</A>, <A HREF="gettext_20.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
-</BODY>
-</HTML>
diff --git a/doc/gettext_2.html b/doc/gettext_2.html
deleted file mode 100644 (file)
index bb19ddf..0000000
+++ /dev/null
@@ -1,788 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52a
-     from gettext.texi on 5 November 2002 -->
-
-<TITLE>GNU gettext utilities - 2  PO Files and PO Mode Basics</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_1.html">previous</A>, <A HREF="gettext_3.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC7" HREF="gettext_toc.html#TOC7">2  PO Files and PO Mode Basics</A></H1>
-
-<P>
-The GNU <CODE>gettext</CODE> toolset helps programmers and translators
-at producing, updating and using translation files, mainly those
-PO files which are textual, editable files.  This chapter stresses
-the format of PO files, and contains a PO mode starter.  PO mode
-description is spread throughout this manual instead of being concentrated
-in one place.  Here we present only the basics of PO mode.
-
-</P>
-
-
-
-<H2><A NAME="SEC8" HREF="gettext_toc.html#TOC8">2.1  Completing GNU <CODE>gettext</CODE> Installation</A></H2>
-
-<P>
-<A NAME="IDX39"></A>
-<A NAME="IDX40"></A>
-Once you have received, unpacked, configured and compiled the GNU
-<CODE>gettext</CODE> distribution, the <SAMP>`make install&acute;</SAMP> command puts in
-place the programs <CODE>xgettext</CODE>, <CODE>msgfmt</CODE>, <CODE>gettext</CODE>, and
-<CODE>msgmerge</CODE>, as well as their available message catalogs.  To
-top off a comfortable installation, you might also want to make the
-PO mode available to your Emacs users.
-
-</P>
-<P>
-<A NAME="IDX41"></A>
-<A NAME="IDX42"></A>
-During the installation of the PO mode, you might want to modify your
-file <TT>`.emacs&acute;</TT>, once and for all, so it contains a few lines looking
-like:
-
-</P>
-
-<PRE>
-(setq auto-mode-alist
-      (cons '("\\.po\\'\\|\\.po\\." . po-mode) auto-mode-alist))
-(autoload 'po-mode "po-mode" "Major mode for translators to edit PO files" t)
-</PRE>
-
-<P>
-Later, whenever you edit some <TT>`.po&acute;</TT>
-file, or any file having the string <SAMP>`.po.&acute;</SAMP> within its name,
-Emacs loads <TT>`po-mode.elc&acute;</TT> (or <TT>`po-mode.el&acute;</TT>) as needed, and
-automatically activates PO mode commands for the associated buffer.
-The string <EM>PO</EM> appears in the mode line for any buffer for
-which PO mode is active.  Many PO files may be active at once in a
-single Emacs session.
-
-</P>
-<P>
-If you are using Emacs version 20 or newer, and have already installed
-the appropriate international fonts on your system, you may also tell
-Emacs how to determine automatically the coding system of every PO file.
-This will often (but not always) cause the necessary fonts to be loaded
-and used for displaying the translations on your Emacs screen.  For this
-to happen, add the lines:
-
-</P>
-
-<PRE>
-(modify-coding-system-alist 'file "\\.po\\'\\|\\.po\\."
-                            'po-find-file-coding-system)
-(autoload 'po-find-file-coding-system "po-mode")
-</PRE>
-
-<P>
-to your <TT>`.emacs&acute;</TT> file.  If, with this, you still see boxes instead
-of international characters, try a different font set (via Shift Mouse
-button 1).
-
-</P>
-
-
-<H2><A NAME="SEC9" HREF="gettext_toc.html#TOC9">2.2  The Format of PO Files</A></H2>
-<P>
-<A NAME="IDX43"></A>
-<A NAME="IDX44"></A>
-
-</P>
-<P>
-A PO file is made up of many entries, each entry holding the relation
-between an original untranslated string and its corresponding
-translation.  All entries in a given PO file usually pertain
-to a single project, and all translations are expressed in a single
-target language.  One PO file <EM>entry</EM> has the following schematic
-structure:
-
-</P>
-
-<PRE>
-<VAR>white-space</VAR>
-#  <VAR>translator-comments</VAR>
-#. <VAR>automatic-comments</VAR>
-#: <VAR>reference</VAR>...
-#, <VAR>flag</VAR>...
-msgid <VAR>untranslated-string</VAR>
-msgstr <VAR>translated-string</VAR>
-</PRE>
-
-<P>
-The general structure of a PO file should be well understood by
-the translator.  When using PO mode, very little has to be known
-about the format details, as PO mode takes care of them for her.
-
-</P>
-<P>
-A simple entry can look like this:
-
-</P>
-
-<PRE>
-#: lib/error.c:116
-msgid "Unknown system error"
-msgstr "Error desconegut del sistema"
-</PRE>
-
-<P>
-Entries begin with some optional white space.  Usually, when generated
-through GNU <CODE>gettext</CODE> tools, there is exactly one blank line
-between entries.  Then comments follow, on lines all starting with the
-character <KBD>#</KBD>.  There are two kinds of comments: those which have
-some white space immediately following the <KBD>#</KBD>, which comments are
-created and maintained exclusively by the translator, and those which
-have some non-white character just after the <KBD>#</KBD>, which comments
-are created and maintained automatically by GNU <CODE>gettext</CODE> tools.
-All comments, of either kind, are optional.
-
-</P>
-<P>
-<A NAME="IDX45"></A>
-<A NAME="IDX46"></A>
-After white space and comments, entries show two strings, namely
-first the untranslated string as it appears in the original program
-sources, and then, the translation of this string.  The original
-string is introduced by the keyword <CODE>msgid</CODE>, and the translation,
-by <CODE>msgstr</CODE>.  The two strings, untranslated and translated,
-are quoted in various ways in the PO file, using <KBD>"</KBD>
-delimiters and <KBD>\</KBD> escapes, but the translator does not really
-have to pay attention to the precise quoting format, as PO mode fully
-takes care of quoting for her.
-
-</P>
-<P>
-The <CODE>msgid</CODE> strings, as well as automatic comments, are produced
-and managed by other GNU <CODE>gettext</CODE> tools, and PO mode does not
-provide means for the translator to alter these.  The most she can
-do is merely deleting them, and only by deleting the whole entry.
-On the other hand, the <CODE>msgstr</CODE> string, as well as translator
-comments, are really meant for the translator, and PO mode gives her
-the full control she needs.
-
-</P>
-<P>
-The comment lines beginning with <KBD>#,</KBD> are special because they are
-not completely ignored by the programs as comments generally are.  The
-comma separated list of <VAR>flag</VAR>s is used by the <CODE>msgfmt</CODE>
-program to give the user some better diagnostic messages.  Currently
-there are two forms of flags defined:
-
-</P>
-<DL COMPACT>
-
-<DT><KBD>fuzzy</KBD>
-<DD>
-<A NAME="IDX47"></A>
-This flag can be generated by the <CODE>msgmerge</CODE> program or it can be
-inserted by the translator herself.  It shows that the <CODE>msgstr</CODE>
-string might not be a correct translation (anymore).  Only the translator
-can judge if the translation requires further modification, or is
-acceptable as is.  Once satisfied with the translation, she then removes
-this <KBD>fuzzy</KBD> attribute.  The <CODE>msgmerge</CODE> program inserts this
-when it combined the <CODE>msgid</CODE> and <CODE>msgstr</CODE> entries after fuzzy
-search only.  See section <A HREF="gettext_6.html#SEC47">6.3  Fuzzy Entries</A>.
-
-<DT><KBD>c-format</KBD>
-<DD>
-<A NAME="IDX48"></A>
-<DT><KBD>no-c-format</KBD>
-<DD>
-<A NAME="IDX49"></A>
-These flags should not be added by a human.  Instead only the
-<CODE>xgettext</CODE> program adds them.  In an automated PO file processing
-system as proposed here the user changes would be thrown away again as
-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#SEC120">8.1  Invoking the <CODE>msgfmt</CODE> Program</A>.
-
-</DL>
-
-<P>
-<A NAME="IDX50"></A>
-<A NAME="IDX51"></A>
-A different kind of entries is used for translations which involve
-plural forms.
-
-</P>
-
-<PRE>
-<VAR>white-space</VAR>
-#  <VAR>translator-comments</VAR>
-#. <VAR>automatic-comments</VAR>
-#: <VAR>reference</VAR>...
-#, <VAR>flag</VAR>...
-msgid <VAR>untranslated-string-singular</VAR>
-msgid_plural <VAR>untranslated-string-plural</VAR>
-msgstr[0] <VAR>translated-string-case-0</VAR>
-...
-msgstr[N] <VAR>translated-string-case-n</VAR>
-</PRE>
-
-<P>
-Such an entry can look like this:
-
-</P>
-
-<PRE>
-#: src/msgcmp.c:338 src/po-lex.c:699
-#, c-format
-msgid "found %d fatal error"
-msgid_plural "found %d fatal errors"
-msgstr[0] "s'ha trobat %d error fatal"
-msgstr[1] "s'han trobat %d errors fatals"
-</PRE>
-
-<P>
-<A NAME="IDX52"></A>
-It happens that some lines, usually whitespace or comments, follow the
-very last entry of a PO file.  Such lines are not part of any entry,
-and PO mode is unable to take action on those lines.  By using the
-PO mode function <KBD>M-x po-normalize</KBD>, the translator may get
-rid of those spurious lines.  See section <A HREF="gettext_2.html#SEC12">2.5  Normalizing Strings in Entries</A>.
-
-</P>
-<P>
-The remainder of this section may be safely skipped by those using
-PO mode, yet it may be interesting for everybody to have a better
-idea of the precise format of a PO file.  On the other hand, those
-not having Emacs handy should carefully continue reading on.
-
-</P>
-<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 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 beginning of the following PO file line.  For example:
-
-</P>
-
-<PRE>
-msgid ""
-"Here is an example of how one might continue a very long string\n"
-"for the common case the string represents multi-line output.\n"
-</PRE>
-
-<P>
-In this example, the empty string is used on the first line, to
-allow better alignment of the <KBD>H</KBD> from the word <SAMP>`Here&acute;</SAMP>
-over the <KBD>f</KBD> from the word <SAMP>`for&acute;</SAMP>.  In this example, the
-<CODE>msgid</CODE> keyword is followed by three strings, which are meant
-to be concatenated.  Concatenating the empty string does not change
-the resulting overall string, but it is a way for us to comply with
-the necessity of <CODE>msgid</CODE> to be followed by a string on the same
-line, while keeping the multi-line presentation left-justified, as
-we find this to be a cleaner disposition.  The empty string could have
-been omitted, but only if the string starting with <SAMP>`Here&acute;</SAMP> was
-promoted on the first line, right after <CODE>msgid</CODE>.<A NAME="DOCF2" HREF="gettext_foot.html#FOOT2">(2)</A> It was not really necessary
-either to switch between the two last quoted strings immediately after
-the newline <SAMP>`\n&acute;</SAMP>, the switch could have occurred after <EM>any</EM>
-other character, we just did it this way because it is neater.
-
-</P>
-<P>
-<A NAME="IDX53"></A>
-One should carefully distinguish between end of lines marked as
-<SAMP>`\n&acute;</SAMP> <EM>inside</EM> quotes, which are part of the represented
-string, and end of lines in the PO file itself, outside string quotes,
-which have no incidence on the represented string.
-
-</P>
-<P>
-<A NAME="IDX54"></A>
-Outside strings, white lines and comments may be used freely.
-Comments start at the beginning of a line with <SAMP>`#&acute;</SAMP> and extend
-until the end of the PO file line.  Comments written by translators
-should have the initial <SAMP>`#&acute;</SAMP> immediately followed by some white
-space.  If the <SAMP>`#&acute;</SAMP> is not immediately followed by white space,
-this comment is most likely generated and managed by specialized GNU
-tools, and might disappear or be replaced unexpectedly when the PO
-file is given to <CODE>msgmerge</CODE>.
-
-</P>
-
-
-<H2><A NAME="SEC10" HREF="gettext_toc.html#TOC10">2.3  Main PO mode Commands</A></H2>
-
-<P>
-<A NAME="IDX55"></A>
-<A NAME="IDX56"></A>
-After setting up Emacs with something similar to the lines in
-section <A HREF="gettext_2.html#SEC8">2.1  Completing GNU <CODE>gettext</CODE> Installation</A>, PO mode is activated for a window when Emacs finds a
-PO file in that window.  This puts the window read-only and establishes a
-po-mode-map, which is a genuine Emacs mode, in a way that is not derived
-from text mode in any way.  Functions found on <CODE>po-mode-hook</CODE>,
-if any, will be executed.
-
-</P>
-<P>
-When PO mode is active in a window, the letters <SAMP>`PO&acute;</SAMP> appear
-in the mode line for that window.  The mode line also displays how
-many entries of each kind are held in the PO file.  For example,
-the string <SAMP>`132t+3f+10u+2o&acute;</SAMP> would tell the translator that the
-PO mode contains 132 translated entries (see section <A HREF="gettext_6.html#SEC46">6.2  Translated Entries</A>,
-3 fuzzy entries (see section <A HREF="gettext_6.html#SEC47">6.3  Fuzzy Entries</A>), 10 untranslated entries
-(see section <A HREF="gettext_6.html#SEC48">6.4  Untranslated Entries</A>) and 2 obsolete entries (see section <A HREF="gettext_6.html#SEC49">6.5  Obsolete Entries</A>).  Zero-coefficients items are not shown.  So, in this example, if
-the fuzzy entries were unfuzzied, the untranslated entries were translated
-and the obsolete entries were deleted, the mode line would merely display
-<SAMP>`145t&acute;</SAMP> for the counters.
-
-</P>
-<P>
-The main PO commands are those which do not fit into the other categories of
-subsequent sections.  These allow for quitting PO mode or for managing windows
-in special ways.
-
-</P>
-<DL COMPACT>
-
-<DT><KBD>_</KBD>
-<DD>
-<A NAME="IDX57"></A>
-Undo last modification to the PO file (<CODE>po-undo</CODE>).
-
-<DT><KBD>Q</KBD>
-<DD>
-<A NAME="IDX58"></A>
-Quit processing and save the PO file (<CODE>po-quit</CODE>).
-
-<DT><KBD>q</KBD>
-<DD>
-<A NAME="IDX59"></A>
-Quit processing, possibly after confirmation (<CODE>po-confirm-and-quit</CODE>).
-
-<DT><KBD>0</KBD>
-<DD>
-<A NAME="IDX60"></A>
-Temporary leave the PO file window (<CODE>po-other-window</CODE>).
-
-<DT><KBD>?</KBD>
-<DD>
-<DT><KBD>h</KBD>
-<DD>
-<A NAME="IDX61"></A>
-<A NAME="IDX62"></A>
-Show help about PO mode (<CODE>po-help</CODE>).
-
-<DT><KBD>=</KBD>
-<DD>
-<A NAME="IDX63"></A>
-Give some PO file statistics (<CODE>po-statistics</CODE>).
-
-<DT><KBD>V</KBD>
-<DD>
-<A NAME="IDX64"></A>
-Batch validate the format of the whole PO file (<CODE>po-validate</CODE>).
-
-</DL>
-
-<P>
-<A NAME="IDX65"></A>
-<A NAME="IDX66"></A>
-The command <KBD>_</KBD> (<CODE>po-undo</CODE>) interfaces to the Emacs
-<EM>undo</EM> facility.  See section `Undoing Changes' in <CITE>The Emacs Editor</CITE>.  Each time <KBD>U</KBD> is typed, modifications which the translator
-did to the PO file are undone a little more.  For the purpose of
-undoing, each PO mode command is atomic.  This is especially true for
-the <KBD><KBD>RET</KBD></KBD> command: the whole edition made by using a single
-use of this command is undone at once, even if the edition itself
-implied several actions.  However, while in the editing window, one
-can undo the edition work quite parsimoniously.
-
-</P>
-<P>
-<A NAME="IDX67"></A>
-<A NAME="IDX68"></A>
-<A NAME="IDX69"></A>
-<A NAME="IDX70"></A>
-The commands <KBD>Q</KBD> (<CODE>po-quit</CODE>) and <KBD>q</KBD>
-(<CODE>po-confirm-and-quit</CODE>) are used when the translator is done with the
-PO file.  The former is a bit less verbose than the latter.  If the file
-has been modified, it is saved to disk first.  In both cases, and prior to
-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.
-
-</P>
-<P>
-<A NAME="IDX71"></A>
-<A NAME="IDX72"></A>
-The command <KBD>0</KBD> (<CODE>po-other-window</CODE>) is another, softer way,
-to leave PO mode, temporarily.  It just moves the cursor to some other
-Emacs window, and pops one if necessary.  For example, if the translator
-just got PO mode to show some source context in some other, she might
-discover some apparent bug in the program source that needs correction.
-This command allows the translator to change sex, become a programmer,
-and have the cursor right into the window containing the program she
-(or rather <EM>he</EM>) wants to modify.  By later getting the cursor back
-in the PO file window, or by asking Emacs to edit this file once again,
-PO mode is then recovered.
-
-</P>
-<P>
-<A NAME="IDX73"></A>
-<A NAME="IDX74"></A>
-<A NAME="IDX75"></A>
-The command <KBD>h</KBD> (<CODE>po-help</CODE>) displays a summary of all available PO
-mode commands.  The translator should then type any character to resume
-normal PO mode operations.  The command <KBD>?</KBD> has the same effect
-as <KBD>h</KBD>.
-
-</P>
-<P>
-<A NAME="IDX76"></A>
-<A NAME="IDX77"></A>
-The command <KBD>=</KBD> (<CODE>po-statistics</CODE>) computes the total number of
-entries in the PO file, the ordinal of the current entry (counted from
-1), the number of untranslated entries, the number of obsolete entries,
-and displays all these numbers.
-
-</P>
-<P>
-<A NAME="IDX78"></A>
-<A NAME="IDX79"></A>
-The command <KBD>V</KBD> (<CODE>po-validate</CODE>) launches <CODE>msgfmt</CODE> in
-checking and verbose
-mode over the current PO file.  This command first offers to save the
-current PO file on disk.  The <CODE>msgfmt</CODE> tool, from GNU <CODE>gettext</CODE>,
-has the purpose of creating a MO file out of a PO file, and PO mode uses
-the features of this program for checking the overall format of a PO file,
-as well as all individual entries.
-
-</P>
-<P>
-<A NAME="IDX80"></A>
-The program <CODE>msgfmt</CODE> runs asynchronously with Emacs, so the
-translator regains control immediately while her PO file is being studied.
-Error output is collected in the Emacs <SAMP>`*compilation*&acute;</SAMP> buffer,
-displayed in another window.  The regular Emacs command <KBD>C-x`</KBD>
-(<CODE>next-error</CODE>), as well as other usual compile commands, allow the
-translator to reposition quickly to the offending parts of the PO file.
-Once the cursor is on the line in error, the translator may decide on
-any PO mode action which would help correcting the error.
-
-</P>
-
-
-<H2><A NAME="SEC11" HREF="gettext_toc.html#TOC11">2.4  Entry Positioning</A></H2>
-
-<P>
-<A NAME="IDX81"></A>
-The cursor in a PO file window is almost always part of
-an entry.  The only exceptions are the special case when the cursor
-is after the last entry in the file, or when the PO file is
-empty.  The entry where the cursor is found to be is said to be the
-current entry.  Many PO mode commands operate on the current entry,
-so moving the cursor does more than allowing the translator to browse
-the PO file, this also selects on which entry commands operate.
-
-</P>
-<P>
-<A NAME="IDX82"></A>
-Some PO mode commands alter the position of the cursor in a specialized
-way.  A few of those special purpose positioning are described here,
-the others are described in following sections (for a complete list try
-<KBD>C-h m</KBD>):
-
-</P>
-<DL COMPACT>
-
-<DT><KBD>.</KBD>
-<DD>
-<A NAME="IDX83"></A>
-Redisplay the current entry (<CODE>po-current-entry</CODE>).
-
-<DT><KBD>n</KBD>
-<DD>
-<A NAME="IDX84"></A>
-Select the entry after the current one (<CODE>po-next-entry</CODE>).
-
-<DT><KBD>p</KBD>
-<DD>
-<A NAME="IDX85"></A>
-Select the entry before the current one (<CODE>po-previous-entry</CODE>).
-
-<DT><KBD>&#60;</KBD>
-<DD>
-<A NAME="IDX86"></A>
-Select the first entry in the PO file (<CODE>po-first-entry</CODE>).
-
-<DT><KBD>&#62;</KBD>
-<DD>
-<A NAME="IDX87"></A>
-Select the last entry in the PO file (<CODE>po-last-entry</CODE>).
-
-<DT><KBD>m</KBD>
-<DD>
-<A NAME="IDX88"></A>
-Record the location of the current entry for later use
-(<CODE>po-push-location</CODE>).
-
-<DT><KBD>r</KBD>
-<DD>
-<A NAME="IDX89"></A>
-Return to a previously saved entry location (<CODE>po-pop-location</CODE>).
-
-<DT><KBD>x</KBD>
-<DD>
-<A NAME="IDX90"></A>
-Exchange the current entry location with the previously saved one
-(<CODE>po-exchange-location</CODE>).
-
-</DL>
-
-<P>
-<A NAME="IDX91"></A>
-<A NAME="IDX92"></A>
-Any Emacs command able to reposition the cursor may be used
-to select the current entry in PO mode, including commands which
-move by characters, lines, paragraphs, screens or pages, and search
-commands.  However, there is a kind of standard way to display the
-current entry in PO mode, which usual Emacs commands moving
-the cursor do not especially try to enforce.  The command <KBD>.</KBD>
-(<CODE>po-current-entry</CODE>) has the sole purpose of redisplaying the
-current entry properly, after the current entry has been changed by
-means external to PO mode, or the Emacs screen otherwise altered.
-
-</P>
-<P>
-It is yet to be decided if PO mode helps the translator, or otherwise
-irritates her, by forcing a rigid window disposition while she
-is doing her work.  We originally had quite precise ideas about
-how windows should behave, but on the other hand, anyone used to
-Emacs is often happy to keep full control.  Maybe a fixed window
-disposition might be offered as a PO mode option that the translator
-might activate or deactivate at will, so it could be offered on an
-experimental basis.  If nobody feels a real need for using it, or
-a compulsion for writing it, we should drop this whole idea.
-The incentive for doing it should come from translators rather than
-programmers, as opinions from an experienced translator are surely
-more worth to me than opinions from programmers <EM>thinking</EM> about
-how <EM>others</EM> should do translation.
-
-</P>
-<P>
-<A NAME="IDX93"></A>
-<A NAME="IDX94"></A>
-<A NAME="IDX95"></A>
-<A NAME="IDX96"></A>
-The commands <KBD>n</KBD> (<CODE>po-next-entry</CODE>) and <KBD>p</KBD>
-(<CODE>po-previous-entry</CODE>) move the cursor the entry following,
-or preceding, the current one.  If <KBD>n</KBD> is given while the
-cursor is on the last entry of the PO file, or if <KBD>p</KBD>
-is given while the cursor is on the first entry, no move is done.
-
-</P>
-<P>
-<A NAME="IDX97"></A>
-<A NAME="IDX98"></A>
-<A NAME="IDX99"></A>
-<A NAME="IDX100"></A>
-The commands <KBD>&#60;</KBD> (<CODE>po-first-entry</CODE>) and <KBD>&#62;</KBD>
-(<CODE>po-last-entry</CODE>) move the cursor to the first entry, or last
-entry, of the PO file.  When the cursor is located past the last
-entry in a PO file, most PO mode commands will return an error saying
-<SAMP>`After last entry&acute;</SAMP>.  Moreover, the commands <KBD>&#60;</KBD> and <KBD>&#62;</KBD>
-have the special property of being able to work even when the cursor
-is not into some PO file entry, and one may use them for nicely
-correcting this situation.  But even these commands will fail on a
-truly empty PO file.  There are development plans for the PO mode for it
-to interactively fill an empty PO file from sources.  See section <A HREF="gettext_3.html#SEC17">3.4  Marking Translatable Strings</A>.
-
-</P>
-<P>
-The translator may decide, before working at the translation of
-a particular entry, that she needs to browse the remainder of the
-PO file, maybe for finding the terminology or phraseology used
-in related entries.  She can of course use the standard Emacs idioms
-for saving the current cursor location in some register, and use that
-register for getting back, or else, use the location ring.
-
-</P>
-<P>
-<A NAME="IDX101"></A>
-<A NAME="IDX102"></A>
-<A NAME="IDX103"></A>
-<A NAME="IDX104"></A>
-PO mode offers another approach, by which cursor locations may be saved
-onto a special stack.  The command <KBD>m</KBD> (<CODE>po-push-location</CODE>)
-merely adds the location of current entry to the stack, pushing
-the already saved locations under the new one.  The command
-<KBD>r</KBD> (<CODE>po-pop-location</CODE>) consumes the top stack element and
-repositions the cursor to the entry associated with that top element.
-This position is then lost, for the next <KBD>r</KBD> will move the cursor
-to the previously saved location, and so on until no locations remain
-on the stack.
-
-</P>
-<P>
-If the translator wants the position to be kept on the location stack,
-maybe for taking a look at the entry associated with the top
-element, then go elsewhere with the intent of getting back later, she
-ought to use <KBD>m</KBD> immediately after <KBD>r</KBD>.
-
-</P>
-<P>
-<A NAME="IDX105"></A>
-<A NAME="IDX106"></A>
-The command <KBD>x</KBD> (<CODE>po-exchange-location</CODE>) simultaneously
-repositions the cursor to the entry associated with the top element of
-the stack of saved locations, and replaces that top element with the
-location of the current entry before the move.  Consequently, repeating
-the <KBD>x</KBD> command toggles alternatively between two entries.
-For achieving this, the translator will position the cursor on the
-first entry, use <KBD>m</KBD>, then position to the second entry, and
-merely use <KBD>x</KBD> for making the switch.
-
-</P>
-
-
-<H2><A NAME="SEC12" HREF="gettext_toc.html#TOC12">2.5  Normalizing Strings in Entries</A></H2>
-<P>
-<A NAME="IDX107"></A>
-
-</P>
-<P>
-There are many different ways for encoding a particular string into a
-PO file entry, because there are so many different ways to split and
-quote multi-line strings, and even, to represent special characters
-by backslashed escaped sequences.  Some features of PO mode rely on
-the 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
-implementing this recognition easily, doing it fast is technically
-difficult.  To facilitate a solution to this efficiency problem,
-we decided on a canonical representation for strings.
-
-</P>
-<P>
-A conventional representation of strings in a PO file is currently
-under discussion, and PO mode experiments with a canonical representation.
-Having both <CODE>xgettext</CODE> and PO mode converging towards a uniform
-way of representing equivalent strings would be useful, as the internal
-normalization needed by PO mode could be automatically satisfied
-when using <CODE>xgettext</CODE> from GNU <CODE>gettext</CODE>.  An explicit
-PO mode normalization should then be only necessary for PO files
-imported from elsewhere, or for when the convention itself evolves.
-
-</P>
-<P>
-So, for achieving normalization of at least the strings of a given
-PO file needing a canonical representation, the following PO mode
-command is available:
-
-</P>
-<P>
-<A NAME="IDX108"></A>
-<DL COMPACT>
-
-<DT><KBD>M-x po-normalize</KBD>
-<DD>
-<A NAME="IDX109"></A>
-Tidy the whole PO file by making entries more uniform.
-
-</DL>
-
-<P>
-The special command <KBD>M-x po-normalize</KBD>, which has no associated
-keys, revises all entries, ensuring that strings of both original
-and translated entries use uniform internal quoting in the PO file.
-It also removes any crumb after the last entry.  This command may be
-useful for PO files freshly imported from elsewhere, or if we ever
-improve on the canonical quoting format we use.  This canonical format
-is not only meant for getting cleaner PO files, but also for greatly
-speeding up <CODE>msgid</CODE> string lookup for some other PO mode commands.
-
-</P>
-<P>
-<KBD>M-x po-normalize</KBD> presently makes three passes over the entries.
-The first implements heuristics for converting PO files for GNU
-<CODE>gettext</CODE> 0.6 and earlier, in which <CODE>msgid</CODE> and <CODE>msgstr</CODE>
-fields were using K&#38;R style C string syntax for multi-line strings.
-These heuristics may fail for comments not related to obsolete
-entries and ending with a backslash; they also depend on subsequent
-passes for finalizing the proper commenting of continued lines for
-obsolete entries.  This first pass might disappear once all oldish PO
-files would have been adjusted.  The second and third pass normalize
-all <CODE>msgid</CODE> and <CODE>msgstr</CODE> strings respectively.  They also
-clean out those trailing backslashes used by XView's <CODE>msgfmt</CODE>
-for continued lines.
-
-</P>
-<P>
-<A NAME="IDX110"></A>
-Having such an explicit normalizing command allows for importing PO
-files from other sources, but also eases the evolution of the current
-convention, evolution driven mostly by aesthetic concerns, as of now.
-It is easy to make suggested adjustments at a later time, as the
-normalizing command and eventually, other GNU <CODE>gettext</CODE> tools
-should greatly automate conformance.  A description of the canonical
-string format is given below, for the particular benefit of those not
-having Emacs handy, and who would nevertheless want to handcraft
-their PO files in nice ways.
-
-</P>
-<P>
-<A NAME="IDX111"></A>
-Right now, in PO mode, strings are single line or multi-line.  A string
-goes multi-line if and only if it has <EM>embedded</EM> newlines, that
-is, if it matches <SAMP>`[^\n]\n+[^\n]&acute;</SAMP>.  So, we would have:
-
-</P>
-
-<PRE>
-msgstr "\n\nHello, world!\n\n\n"
-</PRE>
-
-<P>
-but, replacing the space by a newline, this becomes:
-
-</P>
-
-<PRE>
-msgstr ""
-"\n"
-"\n"
-"Hello,\n"
-"world!\n"
-"\n"
-"\n"
-</PRE>
-
-<P>
-We are deliberately using a caricatural example, here, to make the
-point clearer.  Usually, multi-lines are not that bad looking.
-It is probable that we will implement the following suggestion.
-We might lump together all initial newlines into the empty string,
-and also all newlines introducing empty lines (that is, for <VAR>n</VAR>
-&#62; 1, the <VAR>n</VAR>-1'th last newlines would go together on a separate
-string), so making the previous example appear:
-
-</P>
-
-<PRE>
-msgstr "\n\n"
-"Hello,\n"
-"world!\n"
-"\n\n"
-</PRE>
-
-<P>
-There are a few yet undecided little points about string normalization,
-to be documented in this manual, once these questions settle.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_1.html">previous</A>, <A HREF="gettext_3.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
-</BODY>
-</HTML>
diff --git a/doc/gettext_20.html b/doc/gettext_20.html
deleted file mode 100644 (file)
index 7531c2a..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52a
-     from gettext.texi on 5 November 2002 -->
-
-<TITLE>GNU gettext utilities - PO Mode Index</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_19.html">previous</A>, <A HREF="gettext_21.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC248" HREF="gettext_toc.html#TOC248">PO Mode Index</A></H1>
-
-<P>
-Jump to:
-<A HREF="#emindex_.">.</A>
--
-<A HREF="#emindex_a">a</A>
--
-<A HREF="#emindex_c">c</A>
--
-<A HREF="#emindex_e">e</A>
--
-<A HREF="#emindex_f">f</A>
--
-<A HREF="#emindex_i">i</A>
--
-<A HREF="#emindex_l">l</A>
--
-<A HREF="#emindex_m">m</A>
--
-<A HREF="#emindex_o">o</A>
--
-<A HREF="#emindex_p">p</A>
--
-<A HREF="#emindex_s">s</A>
--
-<A HREF="#emindex_t">t</A>
--
-<A HREF="#emindex_u">u</A>
-<P>
-<H2><A NAME="emindex_.">.</A></H2>
-<DIR>
-<LI><A HREF="gettext_2.html#IDX41"><TT>`.emacs&acute;</TT> customizations</A>
-</DIR>
-<H2><A NAME="emindex_a">a</A></H2>
-<DIR>
-<LI><A HREF="gettext_6.html#IDX400">auxiliary PO file</A>
-</DIR>
-<H2><A NAME="emindex_c">c</A></H2>
-<DIR>
-<LI><A HREF="gettext_2.html#IDX56">commands</A>
-<LI><A HREF="gettext_6.html#IDX330">comment out PO file entry</A>
-<LI><A HREF="gettext_6.html#IDX382">consulting program sources</A>
-<LI><A HREF="gettext_6.html#IDX398">consulting translations to other languages</A>
-<LI><A HREF="gettext_2.html#IDX81">current entry of a PO file</A>
-<LI><A HREF="gettext_6.html#IDX346">cut and paste for translated strings</A>
-</DIR>
-<H2><A NAME="emindex_e">e</A></H2>
-<DIR>
-<LI><A HREF="gettext_6.html#IDX355">editing comments</A>
-<LI><A HREF="gettext_6.html#IDX380">editing multiple entries</A>
-<LI><A HREF="gettext_6.html#IDX332">editing translations</A>
-<LI><A HREF="gettext_3.html#IDX137"><CODE>etags</CODE>, using for marking strings</A>
-<LI><A HREF="gettext_6.html#IDX373">exiting PO subedit</A>
-</DIR>
-<H2><A NAME="emindex_f">f</A></H2>
-<DIR>
-<LI><A HREF="gettext_6.html#IDX385">find source fragment for a PO file entry</A>
-</DIR>
-<H2><A NAME="emindex_i">i</A></H2>
-<DIR>
-<LI><A HREF="gettext_2.html#IDX42">installing PO mode</A>
-</DIR>
-<H2><A NAME="emindex_l">l</A></H2>
-<DIR>
-<LI><A HREF="gettext_6.html#IDX383">looking at the source to aid translation</A>
-</DIR>
-<H2><A NAME="emindex_m">m</A></H2>
-<DIR>
-<LI><A HREF="gettext_3.html#IDX136">marking strings for translation</A>
-<LI><A HREF="gettext_6.html#IDX294">moving by fuzzy entries</A>
-<LI><A HREF="gettext_6.html#IDX319">moving by obsolete entries</A>
-<LI><A HREF="gettext_6.html#IDX283">moving by translated entries</A>
-<LI><A HREF="gettext_6.html#IDX308">moving by untranslated entries</A>
-<LI><A HREF="gettext_2.html#IDX82">moving through a PO file</A>
-</DIR>
-<H2><A NAME="emindex_o">o</A></H2>
-<DIR>
-<LI><A HREF="gettext_6.html#IDX329">obsolete active entry</A>
-</DIR>
-<H2><A NAME="emindex_p">p</A></H2>
-<DIR>
-<LI><A HREF="gettext_6.html#IDX381">pending subedits</A>
-</DIR>
-<H2><A NAME="emindex_s">s</A></H2>
-<DIR>
-<LI><A HREF="gettext_6.html#IDX345">starting a string translation</A>
-<LI><A HREF="gettext_2.html#IDX108">string normalization in entries</A>
-<LI><A HREF="gettext_6.html#IDX369">subedit minor mode</A>
-</DIR>
-<H2><A NAME="emindex_t">t</A></H2>
-<DIR>
-<LI><A HREF="gettext_3.html#IDX138"><TT>`TAGS&acute;</TT>, and marking translatable strings</A>
-</DIR>
-<H2><A NAME="emindex_u">u</A></H2>
-<DIR>
-<LI><A HREF="gettext_6.html#IDX384">use the source, Luke</A>
-<LI><A HREF="gettext_6.html#IDX353">using obsolete translations to make new entries</A>
-<LI><A HREF="gettext_6.html#IDX414">using translation compendia</A>
-</DIR>
-
-</P>
-<P><HR><P>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_19.html">previous</A>, <A HREF="gettext_21.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
-</BODY>
-</HTML>
diff --git a/doc/gettext_21.html b/doc/gettext_21.html
deleted file mode 100644 (file)
index 5595e6b..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52a
-     from gettext.texi on 5 November 2002 -->
-
-<TITLE>GNU gettext utilities - Autoconf Macro Index</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_20.html">previous</A>, <A HREF="gettext_22.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC249" HREF="gettext_toc.html#TOC249">Autoconf Macro Index</A></H1>
-
-<P>
-Jump to:
-<A HREF="#amindex_a">a</A>
-<P>
-<H2><A NAME="amindex_a">a</A></H2>
-<DIR>
-<LI><A HREF="gettext_12.html#IDX897">AM_GNU_GETTEXT</A>
-<LI><A HREF="gettext_12.html#IDX899">AM_GNU_GETTEXT_VERSION</A>
-<LI><A HREF="gettext_12.html#IDX900">AM_ICONV</A>
-</DIR>
-
-</P>
-<P><HR><P>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_20.html">previous</A>, <A HREF="gettext_22.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
-</BODY>
-</HTML>
diff --git a/doc/gettext_22.html b/doc/gettext_22.html
deleted file mode 100644 (file)
index 440947f..0000000
+++ /dev/null
@@ -1,418 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52a
-     from gettext.texi on 5 November 2002 -->
-
-<TITLE>GNU gettext utilities - General Index</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_21.html">previous</A>, next, last section, <A HREF="gettext_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC250" HREF="gettext_toc.html#TOC250">General Index</A></H1>
-
-<P>
-Jump to:
-<A HREF="#cindex__">_</A>
--
-<A HREF="#cindex_a">a</A>
--
-<A HREF="#cindex_b">b</A>
--
-<A HREF="#cindex_c">c</A>
--
-<A HREF="#cindex_d">d</A>
--
-<A HREF="#cindex_e">e</A>
--
-<A HREF="#cindex_f">f</A>
--
-<A HREF="#cindex_g">g</A>
--
-<A HREF="#cindex_h">h</A>
--
-<A HREF="#cindex_i">i</A>
--
-<A HREF="#cindex_j">j</A>
--
-<A HREF="#cindex_k">k</A>
--
-<A HREF="#cindex_l">l</A>
--
-<A HREF="#cindex_m">m</A>
--
-<A HREF="#cindex_n">n</A>
--
-<A HREF="#cindex_o">o</A>
--
-<A HREF="#cindex_p">p</A>
--
-<A HREF="#cindex_q">q</A>
--
-<A HREF="#cindex_r">r</A>
--
-<A HREF="#cindex_s">s</A>
--
-<A HREF="#cindex_t">t</A>
--
-<A HREF="#cindex_u">u</A>
--
-<A HREF="#cindex_v">v</A>
--
-<A HREF="#cindex_w">w</A>
--
-<A HREF="#cindex_x">x</A>
--
-<A HREF="#cindex_y">y</A>
-<P>
-<H2><A NAME="cindex__">_</A></H2>
-<DIR>
-<LI><A HREF="gettext_3.html#IDX135"><CODE>_</CODE>, a macro to mark strings for translation</A>
-<LI><A HREF="gettext_10.html#IDX864"><CODE>_nl_msg_cat_cntr</CODE></A>
-</DIR>
-<H2><A NAME="cindex_a">a</A></H2>
-<DIR>
-<LI><A HREF="gettext_9.html#IDX814"><TT>`ABOUT-NLS&acute;</TT> file</A>
-<LI><A HREF="gettext_12.html#IDX890"><TT>`acconfig.h&acute;</TT> file</A>
-<LI><A HREF="gettext_6.html#IDX419">accumulating translations</A>
-<LI><A HREF="gettext_12.html#IDX889"><TT>`aclocal.m4&acute;</TT> file</A>
-<LI><A HREF="gettext_4.html#IDX179">adding keywords, <CODE>xgettext</CODE></A>
-<LI><A HREF="gettext_3.html#IDX126">ambiguities</A>
-<LI><A HREF="gettext_7.html#IDX537">apply a filter to translations</A>
-<LI><A HREF="gettext_7.html#IDX713">apply command to all translations in a catalog</A>
-<LI><A HREF="gettext_7.html#IDX651">attribute manipulation</A>
-<LI><A HREF="gettext_6.html#IDX293">attribute, fuzzy</A>
-<LI><A HREF="gettext_6.html#IDX292">attributes of a PO file entry</A>
-<LI><A HREF="gettext_7.html#IDX430">attributes, manipulating</A>
-<LI><A HREF="gettext_12.html#IDX896">autoconf macros for <CODE>gettext</CODE></A>
-<LI><A HREF="gettext_12.html#IDX903"><CODE>autopoint</CODE> program, usage</A>
-<LI><A HREF="gettext_6.html#IDX399">auxiliary PO file</A>
-<LI><A HREF="gettext_9.html#IDX813">available translations</A>
-<LI><A HREF="gettext_13.html#IDX933">awk</A>
-</DIR>
-<H2><A NAME="cindex_b">b</A></H2>
-<DIR>
-<LI><A HREF="gettext_6.html#IDX254">backup old file, and <CODE>msgmerge</CODE> program</A>
-<LI><A HREF="gettext_13.html#IDX918">bash</A>
-<LI><A HREF="gettext_14.html#IDX949">bibliography</A>
-<LI><A HREF="gettext_1.html#IDX30">big picture</A>
-<LI><A HREF="gettext_10.html#IDX836">bind_textdomain_codeset</A>
-<LI><A HREF="gettext_1.html#IDX4">bug report address</A>
-</DIR>
-<H2><A NAME="cindex_c">c</A></H2>
-<DIR>
-<LI><A HREF="gettext_13.html#IDX912">C and C-like languages</A>
-<LI><A HREF="gettext_4.html#IDX182">C trigraphs</A>
-<LI><A HREF="gettext_7.html#IDX717">catalog encoding and <CODE>msgexec</CODE> output</A>
-<LI><A HREF="gettext_10.html#IDX826"><CODE>catclose</CODE>, a <CODE>catgets</CODE> function</A>
-<LI><A HREF="gettext_10.html#IDX822"><CODE>catgets</CODE>, X/Open specification</A>
-<LI><A HREF="gettext_10.html#IDX825"><CODE>catgets</CODE>, a <CODE>catgets</CODE> function</A>
-<LI><A HREF="gettext_10.html#IDX824"><CODE>catopen</CODE>, a <CODE>catgets</CODE> function</A>
-<LI><A HREF="gettext_1.html#IDX17">character encoding</A>
-<LI><A HREF="gettext_10.html#IDX834">charset conversion at runtime</A>
-<LI><A HREF="gettext_5.html#IDX234">charset of PO files</A>
-<LI><A HREF="gettext_8.html#IDX751">check format strings</A>
-<LI><A HREF="gettext_7.html#IDX428">checking of translations</A>
-<LI><A HREF="gettext_13.html#IDX926">clisp</A>
-<LI><A HREF="gettext_13.html#IDX927">clisp C sources</A>
-<LI><A HREF="gettext_1.html#IDX15">codeset</A>
-<LI><A HREF="gettext_2.html#IDX54">comments in PO files</A>
-<LI><A HREF="gettext_13.html#IDX924">Common Lisp</A>
-<LI><A HREF="gettext_7.html#IDX639">compare PO files</A>
-<LI><A HREF="gettext_10.html#IDX851">comparison of interfaces</A>
-<LI><A HREF="gettext_8.html#IDX756">compatibility with X/Open <CODE>msgfmt</CODE></A>
-<LI><A HREF="gettext_6.html#IDX415">compendium</A>
-<LI><A HREF="gettext_6.html#IDX417">compendium, creating</A>
-<LI><A HREF="gettext_7.html#IDX433">concatenate PO files</A>
-<LI><A HREF="gettext_6.html#IDX418">concatenating PO files into a compendium</A>
-<LI><A HREF="gettext_3.html#IDX131">concatenation of strings</A>
-<LI><A HREF="gettext_12.html#IDX891"><TT>`config.h.in&acute;</TT> file</A>
-<LI><A HREF="gettext_8.html#IDX776">convert binary message catalog into PO file</A>
-<LI><A HREF="gettext_7.html#IDX472">convert translations to a different encoding</A>
-<LI><A HREF="gettext_12.html#IDX866">converting a package to use <CODE>gettext</CODE></A>
-<LI><A HREF="gettext_16.html#IDX952">country codes</A>
-<LI><A HREF="gettext_5.html#IDX215">create new PO file</A>
-<LI><A HREF="gettext_5.html#IDX212">creating a new PO file</A>
-<LI><A HREF="gettext_6.html#IDX416">creating compendia</A>
-<LI><A HREF="gettext_1.html#IDX19">currency symbols</A>
-</DIR>
-<H2><A NAME="cindex_d">d</A></H2>
-<DIR>
-<LI><A HREF="gettext_1.html#IDX21">date format</A>
-<LI><A HREF="gettext_10.html#IDX840">dcngettext</A>
-<LI><A HREF="gettext_4.html#IDX184">debugging messages marked as format strings</A>
-<LI><A HREF="gettext_7.html#IDX426">dialect</A>
-<LI><A HREF="gettext_12.html#IDX894">disabling NLS</A>
-<LI><A HREF="gettext_10.html#IDX839">dngettext</A>
-<LI><A HREF="gettext_10.html#IDX831">domain ambiguities</A>
-<LI><A HREF="gettext_7.html#IDX429">duplicate elimination</A>
-<LI><A HREF="gettext_7.html#IDX573">duplicate removal</A>
-</DIR>
-<H2><A NAME="cindex_e">e</A></H2>
-<DIR>
-<LI><A HREF="gettext_6.html#IDX354">editing comments in PO files</A>
-<LI><A HREF="gettext_6.html#IDX331">editing translations</A>
-<LI><A HREF="gettext_13.html#IDX928">Emacs Lisp</A>
-<LI><A HREF="gettext_1.html#IDX16">encoding</A>
-<LI><A HREF="gettext_7.html#IDX425">encoding conversion</A>
-<LI><A HREF="gettext_10.html#IDX835">encoding conversion at runtime</A>
-<LI><A HREF="gettext_5.html#IDX238">encoding for your language</A>
-<LI><A HREF="gettext_5.html#IDX236">encoding list</A>
-<LI><A HREF="gettext_5.html#IDX233">encoding of PO files</A>
-<LI><A HREF="gettext_1.html#IDX38">evolution of packages</A>
-<LI><A HREF="gettext_6.html#IDX420">extracting parts of a PO file into a compendium</A>
-</DIR>
-<H2><A NAME="cindex_f">f</A></H2>
-<DIR>
-<LI><A HREF="gettext_8.html#IDX808">file format, <TT>`.mo&acute;</TT></A>
-<LI><A HREF="gettext_2.html#IDX44">file format, <TT>`.po&acute;</TT></A>
-<LI><A HREF="gettext_1.html#IDX28">files, <TT>`.po&acute;</TT> and <TT>`.mo&acute;</TT></A>
-<LI><A HREF="gettext_1.html#IDX37">files, <TT>`.pot&acute;</TT></A>
-<LI><A HREF="gettext_7.html#IDX650">filter messages according to attributes</A>
-<LI><A HREF="gettext_7.html#IDX605">find common messages</A>
-<LI><A HREF="gettext_8.html#IDX763">force use of fuzzy entries</A>
-<LI><A HREF="gettext_3.html#IDX145">format strings</A>
-<LI><A HREF="gettext_13.html#IDX936">Free Pascal</A>
-<LI><A HREF="gettext_6.html#IDX291">fuzzy entries</A>
-</DIR>
-<H2><A NAME="cindex_g">g</A></H2>
-<DIR>
-<LI><A HREF="gettext_13.html#IDX934">gawk</A>
-<LI><A HREF="gettext_8.html#IDX728">generate binary message catalog from PO file</A>
-<LI><A HREF="gettext_7.html#IDX689">generate translation catalog in English</A>
-<LI><A HREF="gettext_12.html#IDX881"><CODE>gettext</CODE> files</A>
-<LI><A HREF="gettext_2.html#IDX40"><CODE>gettext</CODE> installation</A>
-<LI><A HREF="gettext_10.html#IDX829"><CODE>gettext</CODE> interface</A>
-<LI><A HREF="gettext_10.html#IDX828"><CODE>gettext</CODE>, a programmer's view</A>
-<LI><A HREF="gettext_12.html#IDX892"><TT>`gettext.h&acute;</TT> file</A>
-<LI><A HREF="gettext_10.html#IDX850"><CODE>gettext</CODE> vs <CODE>catgets</CODE></A>
-<LI><A HREF="gettext_12.html#IDX870"><CODE>gettextize</CODE> program, usage</A>
-<LI><A HREF="gettext_10.html#IDX845">GUI programs</A>
-</DIR>
-<H2><A NAME="cindex_h">h</A></H2>
-<DIR>
-<LI><A HREF="gettext_8.html#IDX810">hash table, inside MO files</A>
-<LI><A HREF="gettext_1.html#IDX2">he, she, and they</A>
-<LI><A HREF="gettext_5.html#IDX231">header entry of a PO file</A>
-<LI><A HREF="gettext_3.html#IDX129">help option</A>
-<LI><A HREF="gettext_14.html#IDX947">history of GNU <CODE>gettext</CODE></A>
-</DIR>
-<H2><A NAME="cindex_i">i</A></H2>
-<DIR>
-<LI><A HREF="gettext_1.html#IDX6">i18n</A>
-<LI><A HREF="gettext_2.html#IDX110">importing PO files</A>
-<LI><A HREF="gettext_1.html#IDX33">include file <TT>`libintl.h&acute;</TT></A>, <A HREF="gettext_3.html#IDX113">include file <TT>`libintl.h&acute;</TT></A>, <A HREF="gettext_10.html#IDX852">include file <TT>`libintl.h&acute;</TT></A>, <A HREF="gettext_12.html#IDX895">include file <TT>`libintl.h&acute;</TT></A>
-<LI><A HREF="gettext_3.html#IDX114">initialization</A>
-<LI><A HREF="gettext_5.html#IDX216">initialize new PO file</A>
-<LI><A HREF="gettext_6.html#IDX421">initialize translations from a compendium</A>
-<LI><A HREF="gettext_2.html#IDX39">installing <CODE>gettext</CODE></A>
-<LI><A HREF="gettext_10.html#IDX823">interface to <CODE>catgets</CODE></A>
-<LI><A HREF="gettext_1.html#IDX8">internationalization</A>
-<LI><A HREF="gettext_3.html#IDX132"><CODE>inttypes.h</CODE></A>
-<LI><A HREF="gettext_16.html#IDX953">ISO 3166</A>
-<LI><A HREF="gettext_15.html#IDX951">ISO 639</A>
-</DIR>
-<H2><A NAME="cindex_j">j</A></H2>
-<DIR>
-<LI><A HREF="gettext_13.html#IDX931">Java</A>
-<LI><A HREF="gettext_8.html#IDX733">Java mode, and <CODE>msgfmt</CODE> program</A>
-<LI><A HREF="gettext_8.html#IDX779">Java mode, and <CODE>msgunfmt</CODE> program</A>
-<LI><A HREF="gettext_3.html#IDX133">Java, string concatenation</A>
-</DIR>
-<H2><A NAME="cindex_k">k</A></H2>
-<DIR>
-<LI><A HREF="gettext_8.html#IDX758">keyboard accelerator checking</A>
-</DIR>
-<H2><A NAME="cindex_l">l</A></H2>
-<DIR>
-<LI><A HREF="gettext_1.html#IDX7">l10n</A>
-<LI><A HREF="gettext_15.html#IDX950">language codes</A>
-<LI><A HREF="gettext_9.html#IDX820">language selection</A>
-<LI><A HREF="gettext_10.html#IDX854">language selection at runtime</A>
-<LI><A HREF="gettext_10.html#IDX832">large package</A>
-<LI><A HREF="gettext_12.html#IDX901"><CODE>libiconv</CODE> library</A>
-<LI><A HREF="gettext_13.html#IDX932"><CODE>libintl</CODE> for Java</A>
-<LI><A HREF="gettext_12.html#IDX898"><CODE>libintl</CODE> library</A>
-<LI><A HREF="gettext_13.html#IDX929"><CODE>librep</CODE> Lisp</A>
-<LI><A HREF="gettext_12.html#IDX883"><TT>`LINGUAS&acute;</TT> file</A>
-<LI><A HREF="gettext_1.html#IDX34">link with <TT>`libintl&acute;</TT></A>
-<LI><A HREF="gettext_1.html#IDX27">Linux</A>, <A HREF="gettext_1.html#IDX35">Linux</A>, <A HREF="gettext_5.html#IDX237">Linux</A>
-<LI><A HREF="gettext_13.html#IDX925">Lisp</A>
-<LI><A HREF="gettext_5.html#IDX232">list of translation teams, where to find</A>
-<LI><A HREF="gettext_3.html#IDX115">locale facet, LC_ALL</A>
-<LI><A HREF="gettext_3.html#IDX118">locale facet, LC_COLLATE</A>
-<LI><A HREF="gettext_1.html#IDX18">locale facet, LC_CTYPE</A>, <A HREF="gettext_3.html#IDX116">locale facet, LC_CTYPE</A>, <A HREF="gettext_3.html#IDX117">locale facet, LC_CTYPE</A>
-<LI><A HREF="gettext_1.html#IDX26">locale facet, LC_MESSAGES</A>, <A HREF="gettext_3.html#IDX122">locale facet, LC_MESSAGES</A>
-<LI><A HREF="gettext_1.html#IDX20">locale facet, LC_MONETARY</A>, <A HREF="gettext_3.html#IDX119">locale facet, LC_MONETARY</A>
-<LI><A HREF="gettext_1.html#IDX24">locale facet, LC_NUMERIC</A>, <A HREF="gettext_3.html#IDX120">locale facet, LC_NUMERIC</A>
-<LI><A HREF="gettext_3.html#IDX123">locale facet, LC_RESPONSES</A>
-<LI><A HREF="gettext_1.html#IDX22">locale facet, LC_TIME</A>, <A HREF="gettext_3.html#IDX121">locale facet, LC_TIME</A>
-<LI><A HREF="gettext_1.html#IDX14">locale facets</A>
-<LI><A HREF="gettext_5.html#IDX235"><CODE>locale</CODE> program</A>
-<LI><A HREF="gettext_1.html#IDX9">localization</A>
-</DIR>
-<H2><A NAME="cindex_m">m</A></H2>
-<DIR>
-<LI><A HREF="gettext_8.html#IDX809">magic signature of MO files</A>
-<LI><A HREF="gettext_12.html#IDX884"><TT>`Makevars&acute;</TT> file</A>
-<LI><A HREF="gettext_7.html#IDX423">manipulating PO files</A>
-<LI><A HREF="gettext_3.html#IDX148">marking string initializers</A>
-<LI><A HREF="gettext_3.html#IDX134">marking strings that require translation</A>
-<LI><A HREF="gettext_3.html#IDX124">marking strings, preparations</A>
-<LI><A HREF="gettext_1.html#IDX32">marking translatable strings</A>
-<LI><A HREF="gettext_10.html#IDX847">menu entries</A>
-<LI><A HREF="gettext_8.html#IDX759">menu, keyboard accelerator support</A>
-<LI><A HREF="gettext_7.html#IDX434">merge PO files</A>
-<LI><A HREF="gettext_7.html#IDX424">merging two PO files</A>
-<LI><A HREF="gettext_10.html#IDX833">message catalog files location</A>
-<LI><A HREF="gettext_1.html#IDX25">messages</A>
-<LI><A HREF="gettext_12.html#IDX867">migration from earlier versions of <CODE>gettext</CODE></A>
-<LI><A HREF="gettext_12.html#IDX888"><TT>`mkinstalldirs&acute;</TT> file</A>
-<LI><A HREF="gettext_8.html#IDX760">mnemonics of menu entries</A>
-<LI><A HREF="gettext_8.html#IDX807">MO file's format</A>
-<LI><A HREF="gettext_7.html#IDX662">modify message attrributes</A>
-<LI><A HREF="gettext_7.html#IDX649"><CODE>msgattrib</CODE> program, usage</A>
-<LI><A HREF="gettext_7.html#IDX432"><CODE>msgcat</CODE> program, usage</A>
-<LI><A HREF="gettext_7.html#IDX638"><CODE>msgcmp</CODE> program, usage</A>
-<LI><A HREF="gettext_7.html#IDX604"><CODE>msgcomm</CODE> program, usage</A>
-<LI><A HREF="gettext_7.html#IDX471"><CODE>msgconv</CODE> program, usage</A>
-<LI><A HREF="gettext_7.html#IDX688"><CODE>msgen</CODE> program, usage</A>
-<LI><A HREF="gettext_7.html#IDX712"><CODE>msgexec</CODE> program, usage</A>
-<LI><A HREF="gettext_7.html#IDX544"><CODE>msgfilter</CODE> filter and catalog encoding</A>
-<LI><A HREF="gettext_7.html#IDX536"><CODE>msgfilter</CODE> program, usage</A>
-<LI><A HREF="gettext_8.html#IDX727"><CODE>msgfmt</CODE> program, usage</A>
-<LI><A HREF="gettext_7.html#IDX497"><CODE>msggrep</CODE> program, usage</A>
-<LI><A HREF="gettext_5.html#IDX214"><CODE>msginit</CODE> program, usage</A>
-<LI><A HREF="gettext_6.html#IDX243"><CODE>msgmerge</CODE> program, usage</A>
-<LI><A HREF="gettext_8.html#IDX775"><CODE>msgunfmt</CODE> program, usage</A>
-<LI><A HREF="gettext_7.html#IDX571"><CODE>msguniq</CODE> program, usage</A>
-<LI><A HREF="gettext_2.html#IDX111">multi-line strings</A>
-</DIR>
-<H2><A NAME="cindex_n">n</A></H2>
-<DIR>
-<LI><A HREF="gettext_10.html#IDX853"><CODE>N_</CODE>, a convenience macro</A>
-<LI><A HREF="gettext_1.html#IDX11">Native Language Support</A>
-<LI><A HREF="gettext_1.html#IDX12">Natural Language Support</A>
-<LI><A HREF="gettext_2.html#IDX53">newlines in PO files</A>
-<LI><A HREF="gettext_10.html#IDX838">ngettext</A>
-<LI><A HREF="gettext_1.html#IDX10">NLS</A>
-<LI><A HREF="gettext_1.html#IDX23">number format</A>
-</DIR>
-<H2><A NAME="cindex_o">o</A></H2>
-<DIR>
-<LI><A HREF="gettext_13.html#IDX937">Object Pascal</A>
-<LI><A HREF="gettext_6.html#IDX318">obsolete entries</A>
-<LI><A HREF="gettext_10.html#IDX849">optimization of <CODE>gettext</CODE> functions</A>
-<LI><A HREF="gettext_7.html#IDX427">orthography</A>
-<LI><A HREF="gettext_4.html#IDX162">output to stdout, <CODE>xgettext</CODE></A>
-<LI><A HREF="gettext_1.html#IDX29">overview of <CODE>gettext</CODE></A>
-</DIR>
-<H2><A NAME="cindex_p">p</A></H2>
-<DIR>
-<LI><A HREF="gettext_12.html#IDX887">package and version declaration in <TT>`configure.in&acute;</TT></A>
-<LI><A HREF="gettext_9.html#IDX815">package build and installation options</A>
-<LI><A HREF="gettext_12.html#IDX865">package maintainer's view of <CODE>gettext</CODE></A>
-<LI><A HREF="gettext_3.html#IDX128">paragraphs</A>
-<LI><A HREF="gettext_13.html#IDX935">Pascal</A>
-<LI><A HREF="gettext_13.html#IDX943">Perl</A>
-<LI><A HREF="gettext_13.html#IDX944">PHP</A>
-<LI><A HREF="gettext_13.html#IDX945">Pike</A>
-<LI><A HREF="gettext_10.html#IDX844">plural form formulas</A>
-<LI><A HREF="gettext_10.html#IDX837">plural forms</A>
-<LI><A HREF="gettext_8.html#IDX811">plural forms, in MO files</A>
-<LI><A HREF="gettext_2.html#IDX51">plural forms, in PO files</A>
-<LI><A HREF="gettext_2.html#IDX43">PO files' format</A>
-<LI><A HREF="gettext_2.html#IDX55">PO mode (Emacs) commands</A>
-<LI><A HREF="gettext_4.html#IDX149">PO template file</A>
-<LI><A HREF="gettext_7.html#IDX545">portability problems with <CODE>sed</CODE></A>
-<LI><A HREF="gettext_12.html#IDX882"><TT>`POTFILES.in&acute;</TT> file</A>
-<LI><A HREF="gettext_3.html#IDX112">preparing programs for translation</A>
-<LI><A HREF="gettext_10.html#IDX827">problems with <CODE>catgets</CODE> interface</A>
-<LI><A HREF="gettext_13.html#IDX910">programming languages</A>
-<LI><A HREF="gettext_13.html#IDX923">Python</A>
-</DIR>
-<H2><A NAME="cindex_q">q</A></H2>
-<DIR>
-<LI><A HREF="gettext_5.html#IDX240">quotation marks</A>, <A HREF="gettext_12.html#IDX885">quotation marks</A>
-<LI><A HREF="gettext_5.html#IDX239">quote characters, use in PO files</A>
-</DIR>
-<H2><A NAME="cindex_r">r</A></H2>
-<DIR>
-<LI><A HREF="gettext_14.html#IDX948">related reading</A>
-<LI><A HREF="gettext_13.html#IDX946">RST</A>
-</DIR>
-<H2><A NAME="cindex_s">s</A></H2>
-<DIR>
-<LI><A HREF="gettext_13.html#IDX911">scripting languages</A>
-<LI><A HREF="gettext_7.html#IDX498">search messages in a catalog</A>
-<LI><A HREF="gettext_9.html#IDX819">selecting message language</A>
-<LI><A HREF="gettext_3.html#IDX127">sentences</A>
-<LI><A HREF="gettext_9.html#IDX816">setting up <CODE>gettext</CODE> at build time</A>
-<LI><A HREF="gettext_9.html#IDX818">setting up <CODE>gettext</CODE> at run time</A>
-<LI><A HREF="gettext_10.html#IDX830">several domains</A>
-<LI><A HREF="gettext_1.html#IDX1">sex</A>
-<LI><A HREF="gettext_10.html#IDX848">sgettext</A>
-<LI><A HREF="gettext_1.html#IDX3">she, he, and they</A>
-<LI><A HREF="gettext_13.html#IDX913">shell scripts</A>
-<LI><A HREF="gettext_13.html#IDX930">Smalltalk</A>
-<LI><A HREF="gettext_7.html#IDX463">sorting <CODE>msgcat</CODE> output</A>
-<LI><A HREF="gettext_6.html#IDX270">sorting <CODE>msgmerge</CODE> output</A>
-<LI><A HREF="gettext_8.html#IDX800">sorting <CODE>msgunfmt</CODE> output</A>
-<LI><A HREF="gettext_4.html#IDX197">sorting output of <CODE>xgettext</CODE></A>
-<LI><A HREF="gettext_10.html#IDX841">specifying plural form in a PO file</A>
-<LI><A HREF="gettext_7.html#IDX441">standard output, and <CODE>msgcat</CODE></A>
-<LI><A HREF="gettext_6.html#IDX252">standard output, and <CODE>msgmerge</CODE> program</A>
-<LI><A HREF="gettext_3.html#IDX130">string concatenation</A>
-<LI><A HREF="gettext_2.html#IDX107">string normalization in entries</A>
-<LI><A HREF="gettext_3.html#IDX125">style</A>
-<LI><A HREF="gettext_4.html#IDX165">supported languages, <CODE>xgettext</CODE></A>
-</DIR>
-<H2><A NAME="cindex_t">t</A></H2>
-<DIR>
-<LI><A HREF="gettext_13.html#IDX941">Tcl</A>
-<LI><A HREF="gettext_8.html#IDX736">Tcl mode, and <CODE>msgfmt</CODE> program</A>
-<LI><A HREF="gettext_8.html#IDX781">Tcl mode, and <CODE>msgunfmt</CODE> program</A>
-<LI><A HREF="gettext_1.html#IDX36">template PO file</A>
-<LI><A HREF="gettext_4.html#IDX201">testing <TT>`.po&acute;</TT> files for equivalence</A>
-<LI><A HREF="gettext_13.html#IDX942">Tk's scripting language</A>
-<LI><A HREF="gettext_6.html#IDX282">translated entries</A>
-<LI><A HREF="gettext_10.html#IDX846">translating menu entries</A>
-<LI><A HREF="gettext_1.html#IDX13">translation aspects</A>
-<LI><A HREF="gettext_9.html#IDX812">Translation Matrix</A>
-<LI><A HREF="gettext_1.html#IDX5">Translation Project</A>
-<LI><A HREF="gettext_12.html#IDX893">turning off NLS support</A>
-<LI><A HREF="gettext_1.html#IDX31">tutorial of <CODE>gettext</CODE> usage</A>
-</DIR>
-<H2><A NAME="cindex_u">u</A></H2>
-<DIR>
-<LI><A HREF="gettext_7.html#IDX572">unify duplicate translations</A>
-<LI><A HREF="gettext_6.html#IDX307">untranslated entries</A>
-<LI><A HREF="gettext_6.html#IDX422">update translations from a compendium</A>
-<LI><A HREF="gettext_12.html#IDX868">upgrading to new versions of <CODE>gettext</CODE></A>
-</DIR>
-<H2><A NAME="cindex_v">v</A></H2>
-<DIR>
-<LI><A HREF="gettext_6.html#IDX256">version control for backup files, <CODE>msgmerge</CODE></A>
-</DIR>
-<H2><A NAME="cindex_w">w</A></H2>
-<DIR>
-<LI><A HREF="gettext_13.html#IDX938"><CODE>wxWindows</CODE> library</A>
-</DIR>
-<H2><A NAME="cindex_x">x</A></H2>
-<DIR>
-<LI><A HREF="gettext_7.html#IDX714"><CODE>xargs</CODE>, and output from <CODE>msgexec</CODE></A>
-<LI><A HREF="gettext_4.html#IDX151"><CODE>xgettext</CODE> program, usage</A>
-<LI><A HREF="gettext_5.html#IDX241"><CODE>xmodmap</CODE> program, and typing quotation marks</A>
-</DIR>
-<H2><A NAME="cindex_y">y</A></H2>
-<DIR>
-<LI><A HREF="gettext_13.html#IDX940">YaST2 scripting language</A>
-<LI><A HREF="gettext_13.html#IDX939">YCP</A>
-</DIR>
-
-</P>
-<P><HR><P>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_21.html">previous</A>, next, last section, <A HREF="gettext_toc.html">table of contents</A>.
-</BODY>
-</HTML>
diff --git a/doc/gettext_3.html b/doc/gettext_3.html
deleted file mode 100644 (file)
index 147c557..0000000
+++ /dev/null
@@ -1,929 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52a
-     from gettext.texi on 5 November 2002 -->
-
-<TITLE>GNU gettext utilities - 3  Preparing Program Sources</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_2.html">previous</A>, <A HREF="gettext_4.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC13" HREF="gettext_toc.html#TOC13">3  Preparing Program Sources</A></H1>
-<P>
-<A NAME="IDX112"></A>
-
-</P>
-
-<P>
-For the programmer, changes to the C source code fall into three
-categories.  First, you have to make the localization functions
-known to all modules needing message translation.  Second, you should
-properly trigger the operation of GNU <CODE>gettext</CODE> when the program
-initializes, usually from the <CODE>main</CODE> function.  Last, you should
-identify and especially mark all constant strings in your program
-needing translation.
-
-</P>
-<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#SEC173">12  The Maintainer's View</A>), each C module
-having translated C strings should contain the line:
-
-</P>
-<P>
-<A NAME="IDX113"></A>
-
-<PRE>
-#include &#60;libintl.h&#62;
-</PRE>
-
-<P>
-The remaining changes to your C sources are discussed in the further
-sections of this chapter.
-
-</P>
-
-
-
-<H2><A NAME="SEC14" HREF="gettext_toc.html#TOC14">3.1  Triggering <CODE>gettext</CODE> Operations</A></H2>
-
-<P>
-<A NAME="IDX114"></A>
-The initialization of locale data should be done with more or less
-the same code in every program, as demonstrated below:
-
-</P>
-
-<PRE>
-int
-main (argc, argv)
-     int argc;
-     char argv;
-{
-  ...
-  setlocale (LC_ALL, "");
-  bindtextdomain (PACKAGE, LOCALEDIR);
-  textdomain (PACKAGE);
-  ...
-}
-</PRE>
-
-<P>
-<VAR>PACKAGE</VAR> and <VAR>LOCALEDIR</VAR> should be provided either by
-<TT>`config.h&acute;</TT> or by the Makefile.  For now consult the <CODE>gettext</CODE>
-or <CODE>hello</CODE> sources for more information.
-
-</P>
-<P>
-<A NAME="IDX115"></A>
-<A NAME="IDX116"></A>
-The use of <CODE>LC_ALL</CODE> might not be appropriate for you.
-<CODE>LC_ALL</CODE> includes all locale categories and especially
-<CODE>LC_CTYPE</CODE>.  This later category is responsible for determining
-character classes with the <CODE>isalnum</CODE> etc. functions from
-<TT>`ctype.h&acute;</TT> which could especially for programs, which process some
-kind of input language, be wrong.  For example this would mean that a
-source code using the &ccedil; (c-cedilla character) is runnable in
-France but not in the U.S.
-
-</P>
-<P>
-Some systems also have problems with parsing numbers using the
-<CODE>scanf</CODE> functions if an other but the <CODE>LC_ALL</CODE> locale is used.
-The standards say that additional formats but the one known in the
-<CODE>"C"</CODE> locale might be recognized.  But some systems seem to reject
-numbers in the <CODE>"C"</CODE> locale format.  In some situation, it might
-also be a problem with the notation itself which makes it impossible to
-recognize whether the number is in the <CODE>"C"</CODE> locale or the local
-format.  This can happen if thousands separator characters are used.
-Some locales define this character according to the national
-conventions to <CODE>'.'</CODE> which is the same character used in the
-<CODE>"C"</CODE> locale to denote the decimal point.
-
-</P>
-<P>
-So it is sometimes necessary to replace the <CODE>LC_ALL</CODE> line in the
-code above by a sequence of <CODE>setlocale</CODE> lines
-
-</P>
-
-<PRE>
-{
-  ...
-  setlocale (LC_CTYPE, "");
-  setlocale (LC_MESSAGES, "");
-  ...
-}
-</PRE>
-
-<P>
-<A NAME="IDX117"></A>
-<A NAME="IDX118"></A>
-<A NAME="IDX119"></A>
-<A NAME="IDX120"></A>
-<A NAME="IDX121"></A>
-<A NAME="IDX122"></A>
-<A NAME="IDX123"></A>
-On all POSIX conformant systems the locale categories <CODE>LC_CTYPE</CODE>,
-<CODE>LC_COLLATE</CODE>, <CODE>LC_MONETARY</CODE>, <CODE>LC_NUMERIC</CODE>, and
-<CODE>LC_TIME</CODE> are available.  On some modern systems there is also a
-locale <CODE>LC_MESSAGES</CODE> which is called on some old, XPG2 compliant
-systems <CODE>LC_RESPONSES</CODE>.
-
-</P>
-<P>
-Note that changing the <CODE>LC_CTYPE</CODE> also affects the functions
-declared in the <CODE>&#60;ctype.h&#62;</CODE> standard header.  If this is not
-desirable in your application (for example in a compiler's parser),
-you can use a set of substitute functions which hardwire the C locale,
-such as found in the <CODE>&#60;c-ctype.h&#62;</CODE> and <CODE>&#60;c-ctype.c&#62;</CODE> files
-in the gettext source distribution.
-
-</P>
-<P>
-It is also possible to switch the locale forth and back between the
-environment dependent locale and the C locale, but this approach is
-normally avoided because a <CODE>setlocale</CODE> call is expensive,
-because it is tedious to determine the places where a locale switch
-is needed in a large program's source, and because switching a locale
-is not multithread-safe.
-
-</P>
-
-
-<H2><A NAME="SEC15" HREF="gettext_toc.html#TOC15">3.2  Preparing Translatable Strings</A></H2>
-
-<P>
-<A NAME="IDX124"></A>
-Before strings can be marked for translations, they sometimes need to
-be adjusted. Usually preparing a string for translation is done right
-before marking it, during the marking phase which is described in the
-next sections. What you have to keep in mind while doing that is the
-following.
-
-</P>
-
-<UL>
-<LI>
-
-Decent English style.
-
-<LI>
-
-Entire sentences.
-
-<LI>
-
-Split at paragraphs.
-
-<LI>
-
-Use format strings instead of string concatenation.
-</UL>
-
-<P>
-Let's look at some examples of these guidelines.
-
-</P>
-<P>
-<A NAME="IDX125"></A>
-Translatable strings should be in good English style. If slang language
-with abbreviations and shortcuts is used, often translators will not
-understand the message and will produce very inappropriate translations.
-
-</P>
-
-<PRE>
-"%s: is parameter\n"
-</PRE>
-
-<P>
-This is nearly untranslatable: Is the displayed item <EM>a</EM> parameter or
-<EM>the</EM> parameter?
-
-</P>
-
-<PRE>
-"No match"
-</PRE>
-
-<P>
-The ambiguity in this message makes it ununderstandable: Is the program
-attempting to set something on fire? Does it mean "The given object does
-not match the template"? Does it mean "The template does not fit for any
-of the objects"?
-
-</P>
-<P>
-<A NAME="IDX126"></A>
-In both cases, adding more words to the message will help both the
-translator and the English speaking user.
-
-</P>
-<P>
-<A NAME="IDX127"></A>
-Translatable strings should be entire sentences. It is often not possible
-to translate single verbs or adjectives in a substitutable way.
-
-</P>
-
-<PRE>
-printf ("File %s is %s protected", filename, rw ? "write" : "read");
-</PRE>
-
-<P>
-Most translators will not look at the source and will thus only see the
-string <CODE>"File %s is %s protected"</CODE>, which is unintelligible. Change
-this to
-
-</P>
-
-<PRE>
-printf (rw ? "File %s is write protected" : "File %s is read protected",
-        filename);
-</PRE>
-
-<P>
-This way the translator will not only understand the message, she will
-also be able to find the appropriate grammatical construction. The French
-translator for example translates "write protected" like "protected
-against writing".
-
-</P>
-<P>
-Often sentences don't fit into a single line. If a sentence is output
-using two subsequent <CODE>printf</CODE> statements, like this
-
-</P>
-
-<PRE>
-printf ("Locale charset \"%s\" is different from\n", lcharset);
-printf ("input file charset \"%s\".\n", fcharset);
-</PRE>
-
-<P>
-the translator would have to translate two half sentences, but nothing
-in the POT file would tell her that the two half sentences belong together.
-It is necessary to merge the two <CODE>printf</CODE> statements so that the
-translator can handle the entire sentence at once and decide at which
-place to insert a line break in the translation (if at all):
-
-</P>
-
-<PRE>
-printf ("Locale charset \"%s\" is different from\n\
-input file charset \"%s\".\n", lcharset, fcharset);
-</PRE>
-
-<P>
-You may now ask: how about two or more adjacent sentences? Like in this case:
-
-</P>
-
-<PRE>
-puts ("Apollo 13 scenario: Stack overflow handling failed.");
-puts ("On the next stack overflow we will crash!!!");
-</PRE>
-
-<P>
-Should these two statements merged into a single one? I would recommend to
-merge them if the two sentences are related to each other, because then it
-makes it easier for the translator to understand and translate both. On
-the other hand, if one of the two messages is a stereotypic one, occurring
-in other places as well, you will do a favour to the translator by not
-merging the two. (Identical messages occurring in several places are
-combined by xgettext, so the translator has to handle them once only.)
-
-</P>
-<P>
-<A NAME="IDX128"></A>
-Translatable strings should be limited to one paragraph; don't let a
-single message be longer than ten lines. The reason is that when the
-translatable string changes, the translator is faced with the task of
-updating the entire translated string. Maybe only a single word will
-have changed in the English string, but the translator doesn't see that
-(with the current translation tools), therefore she has to proofread
-the entire message.
-
-</P>
-<P>
-<A NAME="IDX129"></A>
-Many GNU programs have a <SAMP>`--help&acute;</SAMP> output that extends over several
-screen pages. It is a courtesy towards the translators to split such a
-message into several ones of five to ten lines each. While doing that,
-you can also attempt to split the documented options into groups,
-such as the input options, the output options, and the informative
-output options. This will help every user to find the option he is
-looking for.
-
-</P>
-<P>
-<A NAME="IDX130"></A>
-<A NAME="IDX131"></A>
-Hardcoded string concatenation is sometimes used to construct English
-strings:
-
-</P>
-
-<PRE>
-strcpy (s, "Replace ");
-strcat (s, object1);
-strcat (s, " with ");
-strcat (s, object2);
-strcat (s, "?");
-</PRE>
-
-<P>
-In order to present to the translator only entire sentences, and also
-because in some languages the translator might want to swap the order
-of <CODE>object1</CODE> and <CODE>object2</CODE>, it is necessary to change this
-to use a format string:
-
-</P>
-
-<PRE>
-sprintf (s, "Replace %s with %s?", object1, object2);
-</PRE>
-
-<P>
-<A NAME="IDX132"></A>
-A similar case is compile time concatenation of strings. The ISO C 99
-include file <CODE>&#60;inttypes.h&#62;</CODE> contains a macro <CODE>PRId64</CODE> that
-can be used as a formatting directive for outputting an <SAMP>`int64_t&acute;</SAMP>
-integer through <CODE>printf</CODE>. It expands to a constant string, usually
-"d" or "ld" or "lld" or something like this, depending on the platform.
-Assume you have code like
-
-</P>
-
-<PRE>
-printf ("The amount is %0" PRId64 "\n", number);
-</PRE>
-
-<P>
-The <CODE>gettext</CODE> tools and library have special support for these
-<CODE>&#60;inttypes.h&#62;</CODE> macros.  You can therefore simply write
-
-</P>
-
-<PRE>
-printf (gettext ("The amount is %0" PRId64 "\n"), number);
-</PRE>
-
-<P>
-The PO file will contain the string "The amount is %0&#60;PRId64&#62;\n".
-The translators will provide a translation containing "%0&#60;PRId64&#62;"
-as well, and at runtime the <CODE>gettext</CODE> function's result will
-contain the appropriate constant string, "d" or "ld" or "lld".
-
-</P>
-<P>
-This works only for the predefined <CODE>&#60;inttypes.h&#62;</CODE> macros.  If
-you have defined your own similar macros, let's say <SAMP>`MYPRId64&acute;</SAMP>,
-that are not known to <CODE>xgettext</CODE>, the solution for this problem
-is to change the code like this:
-
-</P>
-
-<PRE>
-char buf1[100];
-sprintf (buf1, "%0" MYPRId64, number);
-printf (gettext ("The amount is %s\n"), buf1);
-</PRE>
-
-<P>
-This means, you put the platform dependent code in one statement, and the
-internationalization code in a different statement. Note that a buffer length
-of 100 is safe, because all available hardware integer types are limited to
-128 bits, and to print a 128 bit integer one needs at most 54 characters,
-regardless whether in decimal, octal or hexadecimal.
-
-</P>
-<P>
-<A NAME="IDX133"></A>
-All this applies to other programming languages as well. For example, in
-Java, string contenation is very frequently used, because it is a compiler
-built-in operator. Like in C, in Java, you would change
-
-</P>
-
-<PRE>
-System.out.println("Replace "+object1+" with "+object2+"?");
-</PRE>
-
-<P>
-into a statement involving a format string:
-
-</P>
-
-<PRE>
-System.out.println(
-    MessageFormat.format("Replace {0} with {1}?",
-                         new Object[] { object1, object2 }));
-</PRE>
-
-
-
-<H2><A NAME="SEC16" HREF="gettext_toc.html#TOC16">3.3  How Marks Appear in Sources</A></H2>
-<P>
-<A NAME="IDX134"></A>
-
-</P>
-<P>
-All strings requiring translation should be marked in the C sources.  Marking
-is done in such a way that each translatable string appears to be
-the sole argument of some function or preprocessor macro.  There are
-only a few such possible functions or macros meant for translation,
-and their names are said to be marking keywords.  The marking is
-attached to strings themselves, rather than to what we do with them.
-This approach has more uses.  A blatant example is an error message
-produced by formatting.  The format string needs translation, as
-well as some strings inserted through some <SAMP>`%s&acute;</SAMP> specification
-in the format, while the result from <CODE>sprintf</CODE> may have so many
-different instances that it is impractical to list them all in some
-<SAMP>`error_string_out()&acute;</SAMP> routine, say.
-
-</P>
-<P>
-This marking operation has two goals.  The first goal of marking
-is for triggering the retrieval of the translation, at run time.
-The keyword are possibly resolved into a routine able to dynamically
-return the proper translation, as far as possible or wanted, for the
-argument string.  Most localizable strings are found in executable
-positions, that is, attached to variables or given as parameters to
-functions.  But this is not universal usage, and some translatable
-strings appear in structured initializations.  See section <A HREF="gettext_3.html#SEC19">3.6  Special Cases of Translatable Strings</A>.
-
-</P>
-<P>
-The second goal of the marking operation is to help <CODE>xgettext</CODE>
-at properly extracting all translatable strings when it scans a set
-of program sources and produces PO file templates.
-
-</P>
-<P>
-The canonical keyword for marking translatable strings is
-<SAMP>`gettext&acute;</SAMP>, it gave its name to the whole GNU <CODE>gettext</CODE>
-package.  For packages making only light use of the <SAMP>`gettext&acute;</SAMP>
-keyword, macro or function, it is easily used <EM>as is</EM>.  However,
-for packages using the <CODE>gettext</CODE> interface more heavily, it
-is usually more convenient to give the main keyword a shorter, less
-obtrusive name.  Indeed, the keyword might appear on a lot of strings
-all over the package, and programmers usually do not want nor need
-their program sources to remind them forcefully, all the time, that they
-are internationalized.  Further, a long keyword has the disadvantage
-of using more horizontal space, forcing more indentation work on
-sources for those trying to keep them within 79 or 80 columns.
-
-</P>
-<P>
-<A NAME="IDX135"></A>
-Many packages use <SAMP>`_&acute;</SAMP> (a simple underline) as a keyword,
-and write <SAMP>`_("Translatable string")&acute;</SAMP> instead of <SAMP>`gettext
-("Translatable string")&acute;</SAMP>.  Further, the coding rule, from GNU standards,
-wanting that there is a space between the keyword and the opening
-parenthesis is relaxed, in practice, for this particular usage.
-So, the textual overhead per translatable string is reduced to
-only three characters: the underline and the two parentheses.
-However, even if GNU <CODE>gettext</CODE> uses this convention internally,
-it does not offer it officially.  The real, genuine keyword is truly
-<SAMP>`gettext&acute;</SAMP> indeed.  It is fairly easy for those wanting to use
-<SAMP>`_&acute;</SAMP> instead of <SAMP>`gettext&acute;</SAMP> to declare:
-
-</P>
-
-<PRE>
-#include &#60;libintl.h&#62;
-#define _(String) gettext (String)
-</PRE>
-
-<P>
-instead of merely using <SAMP>`#include &#60;libintl.h&#62;&acute;</SAMP>.
-
-</P>
-<P>
-Later on, the maintenance is relatively easy.  If, as a programmer,
-you add or modify a string, you will have to ask yourself if the
-new or altered string requires translation, and include it within
-<SAMP>`_()&acute;</SAMP> if you think it should be translated.  <SAMP>`"%s: %d"&acute;</SAMP> is
-an example of string <EM>not</EM> requiring translation!
-
-</P>
-
-
-<H2><A NAME="SEC17" HREF="gettext_toc.html#TOC17">3.4  Marking Translatable Strings</A></H2>
-<P>
-<A NAME="IDX136"></A>
-
-</P>
-<P>
-In PO mode, one set of features is meant more for the programmer than
-for the translator, and allows him to interactively mark which strings,
-in a set of program sources, are translatable, and which are not.
-Even if it is a fairly easy job for a programmer to find and mark
-such strings by other means, using any editor of his choice, PO mode
-makes this work more comfortable.  Further, this gives translators
-who feel a little like programmers, or programmers who feel a little
-like translators, a tool letting them work at marking translatable
-strings in the program sources, while simultaneously producing a set of
-translation in some language, for the package being internationalized.
-
-</P>
-<P>
-<A NAME="IDX137"></A>
-The set of program sources, targetted by the PO mode commands describe
-here, should have an Emacs tags table constructed for your project,
-prior to using these PO file commands.  This is easy to do.  In any
-shell window, change the directory to the root of your project, then
-execute a command resembling:
-
-</P>
-
-<PRE>
-etags src/*.[hc] lib/*.[hc]
-</PRE>
-
-<P>
-presuming here you want to process all <TT>`.h&acute;</TT> and <TT>`.c&acute;</TT> files
-from the <TT>`src/&acute;</TT> and <TT>`lib/&acute;</TT> directories.  This command will
-explore all said files and create a <TT>`TAGS&acute;</TT> file in your root
-directory, somewhat summarizing the contents using a special file
-format Emacs can understand.
-
-</P>
-<P>
-<A NAME="IDX138"></A>
-For packages following the GNU coding standards, there is
-a make goal <CODE>tags</CODE> or <CODE>TAGS</CODE> which constructs the tag files in
-all directories and for all files containing source code.
-
-</P>
-<P>
-Once your <TT>`TAGS&acute;</TT> file is ready, the following commands assist
-the programmer at marking translatable strings in his set of sources.
-But these commands are necessarily driven from within a PO file
-window, and it is likely that you do not even have such a PO file yet.
-This is not a problem at all, as you may safely open a new, empty PO
-file, mainly for using these commands.  This empty PO file will slowly
-fill in while you mark strings as translatable in your program sources.
-
-</P>
-<DL COMPACT>
-
-<DT><KBD>,</KBD>
-<DD>
-<A NAME="IDX139"></A>
-Search through program sources for a string which looks like a
-candidate for translation (<CODE>po-tags-search</CODE>).
-
-<DT><KBD>M-,</KBD>
-<DD>
-<A NAME="IDX140"></A>
-Mark the last string found with <SAMP>`_()&acute;</SAMP> (<CODE>po-mark-translatable</CODE>).
-
-<DT><KBD>M-.</KBD>
-<DD>
-<A NAME="IDX141"></A>
-Mark the last string found with a keyword taken from a set of possible
-keywords.  This command with a prefix allows some management of these
-keywords (<CODE>po-select-mark-and-mark</CODE>).
-
-</DL>
-
-<P>
-<A NAME="IDX142"></A>
-The <KBD>,</KBD> (<CODE>po-tags-search</CODE>) command searches for the next
-occurrence of a string which looks like a possible candidate for
-translation, and displays the program source in another Emacs window,
-positioned in such a way that the string is near the top of this other
-window.  If the string is too big to fit whole in this window, it is
-positioned so only its end is shown.  In any case, the cursor
-is left in the PO file window.  If the shown string would be better
-presented differently in different native languages, you may mark it
-using <KBD>M-,</KBD> or <KBD>M-.</KBD>.  Otherwise, you might rather ignore it
-and skip to the next string by merely repeating the <KBD>,</KBD> command.
-
-</P>
-<P>
-A string is a good candidate for translation if it contains a sequence
-of three or more letters.  A string containing at most two letters in
-a row will be considered as a candidate if it has more letters than
-non-letters.  The command disregards strings containing no letters,
-or isolated letters only.  It also disregards strings within comments,
-or strings already marked with some keyword PO mode knows (see below).
-
-</P>
-<P>
-If you have never told Emacs about some <TT>`TAGS&acute;</TT> file to use, the
-command will request that you specify one from the minibuffer, the
-first time you use the command.  You may later change your <TT>`TAGS&acute;</TT>
-file by using the regular Emacs command <KBD>M-x visit-tags-table</KBD>,
-which will ask you to name the precise <TT>`TAGS&acute;</TT> file you want
-to use.  See section `Tag Tables' in <CITE>The Emacs Editor</CITE>.
-
-</P>
-<P>
-Each time you use the <KBD>,</KBD> command, the search resumes from where it was
-left by the previous search, and goes through all program sources,
-obeying the <TT>`TAGS&acute;</TT> file, until all sources have been processed.
-However, by giving a prefix argument to the command (<KBD>C-u
-,)</KBD>, you may request that the search be restarted all over again
-from the first program source; but in this case, strings that you
-recently marked as translatable will be automatically skipped.
-
-</P>
-<P>
-Using this <KBD>,</KBD> command does not prevent using of other regular
-Emacs tags commands.  For example, regular <CODE>tags-search</CODE> or
-<CODE>tags-query-replace</CODE> commands may be used without disrupting the
-independent <KBD>,</KBD> search sequence.  However, as implemented, the
-<EM>initial</EM> <KBD>,</KBD> command (or the <KBD>,</KBD> command is used with a
-prefix) might also reinitialize the regular Emacs tags searching to the
-first tags file, this reinitialization might be considered spurious.
-
-</P>
-<P>
-<A NAME="IDX143"></A>
-<A NAME="IDX144"></A>
-The <KBD>M-,</KBD> (<CODE>po-mark-translatable</CODE>) command will mark the
-recently found string with the <SAMP>`_&acute;</SAMP> keyword.  The <KBD>M-.</KBD>
-(<CODE>po-select-mark-and-mark</CODE>) command will request that you type
-one keyword from the minibuffer and use that keyword for marking
-the string.  Both commands will automatically create a new PO file
-untranslated entry for the string being marked, and make it the
-current entry (making it easy for you to immediately proceed to its
-translation, if you feel like doing it right away).  It is possible
-that the modifications made to the program source by <KBD>M-,</KBD> or
-<KBD>M-.</KBD> render some source line longer than 80 columns, forcing you
-to break and re-indent this line differently.  You may use the <KBD>O</KBD>
-command from PO mode, or any other window changing command from
-Emacs, to break out into the program source window, and do any
-needed adjustments.  You will have to use some regular Emacs command
-to return the cursor to the PO file window, if you want command
-<KBD>,</KBD> for the next string, say.
-
-</P>
-<P>
-The <KBD>M-.</KBD> command has a few built-in speedups, so you do not
-have to explicitly type all keywords all the time.  The first such
-speedup is that you are presented with a <EM>preferred</EM> keyword,
-which you may accept by merely typing <KBD><KBD>RET</KBD></KBD> at the prompt.
-The second speedup is that you may type any non-ambiguous prefix of the
-keyword you really mean, and the command will complete it automatically
-for you.  This also means that PO mode has to <EM>know</EM> all
-your possible keywords, and that it will not accept mistyped keywords.
-
-</P>
-<P>
-If you reply <KBD>?</KBD> to the keyword request, the command gives a
-list of all known keywords, from which you may choose.  When the
-command is prefixed by an argument (<KBD>C-u M-.</KBD>), it inhibits
-updating any program source or PO file buffer, and does some simple
-keyword management instead.  In this case, the command asks for a
-keyword, written in full, which becomes a new allowed keyword for
-later <KBD>M-.</KBD> commands.  Moreover, this new keyword automatically
-becomes the <EM>preferred</EM> keyword for later commands.  By typing
-an already known keyword in response to <KBD>C-u M-.</KBD>, one merely
-changes the <EM>preferred</EM> keyword and does nothing more.
-
-</P>
-<P>
-All keywords known for <KBD>M-.</KBD> are recognized by the <KBD>,</KBD> command
-when scanning for strings, and strings already marked by any of those
-known keywords are automatically skipped.  If many PO files are opened
-simultaneously, each one has its own independent set of known keywords.
-There is no provision in PO mode, currently, for deleting a known
-keyword, you have to quit the file (maybe using <KBD>q</KBD>) and reopen
-it afresh.  When a PO file is newly brought up in an Emacs window, only
-<SAMP>`gettext&acute;</SAMP> and <SAMP>`_&acute;</SAMP> are known as keywords, and <SAMP>`gettext&acute;</SAMP>
-is preferred for the <KBD>M-.</KBD> command.  In fact, this is not useful to
-prefer <SAMP>`_&acute;</SAMP>, as this one is already built in the <KBD>M-,</KBD> command.
-
-</P>
-
-
-<H2><A NAME="SEC18" HREF="gettext_toc.html#TOC18">3.5  Special Comments preceding Keywords</A></H2>
-
-<P>
-<A NAME="IDX145"></A>
-In C programs strings are often used within calls of functions from the
-<CODE>printf</CODE> family.  The special thing about these format strings is
-that they can contain format specifiers introduced with <KBD>%</KBD>.  Assume
-we have the code
-
-</P>
-
-<PRE>
-printf (gettext ("String `%s' has %d characters\n"), s, strlen (s));
-</PRE>
-
-<P>
-A possible German translation for the above string might be:
-
-</P>
-
-<PRE>
-"%d Zeichen lang ist die Zeichenkette `%s'"
-</PRE>
-
-<P>
-A C programmer, even if he cannot speak German, will recognize that
-there is something wrong here.  The order of the two format specifiers
-is changed but of course the arguments in the <CODE>printf</CODE> don't have.
-This will most probably lead to problems because now the length of the
-string is regarded as the address.
-
-</P>
-<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
-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>
-If the word order in the above German translation would be correct one
-would have to write
-
-</P>
-
-<PRE>
-"%2$d Zeichen lang ist die Zeichenkette `%1$s'"
-</PRE>
-
-<P>
-The routines in <CODE>msgfmt</CODE> know about this special notation.
-
-</P>
-<P>
-Because not all strings in a program must be format strings it is not
-useful for <CODE>msgfmt</CODE> to test all the strings in the <TT>`.po&acute;</TT> file.
-This might cause problems because the string might contain what looks
-like a format specifier, but the string is not used in <CODE>printf</CODE>.
-
-</P>
-<P>
-Therefore the <CODE>xgettext</CODE> adds a special tag to those messages it
-thinks might be a format string.  There is no absolute rule for this,
-only a heuristic.  In the <TT>`.po&acute;</TT> file the entry is marked using the
-<CODE>c-format</CODE> flag in the <KBD>#,</KBD> comment line (see section <A HREF="gettext_2.html#SEC9">2.2  The Format of PO Files</A>).
-
-</P>
-<P>
-<A NAME="IDX146"></A>
-<A NAME="IDX147"></A>
-The careful reader now might say that this again can cause problems.
-The heuristic might guess it wrong.  This is true and therefore
-<CODE>xgettext</CODE> knows about a special kind of comment which lets
-the programmer take over the decision.  If in the same line as or
-the immediately preceding line to the <CODE>gettext</CODE> keyword
-the <CODE>xgettext</CODE> program finds a comment containing the words
-<KBD>xgettext:c-format</KBD>, it will mark the string in any case with
-the <KBD>c-format</KBD> flag.  This kind of comment should be used when
-<CODE>xgettext</CODE> does not recognize the string as a format string but
-it really is one and it should be tested.  Please note that when the
-comment is in the same line as the <CODE>gettext</CODE> keyword, it must be
-before the string to be translated.
-
-</P>
-<P>
-This situation happens quite often.  The <CODE>printf</CODE> function is often
-called with strings which do not contain a format specifier.  Of course
-one would normally use <CODE>fputs</CODE> but it does happen.  In this case
-<CODE>xgettext</CODE> does not recognize this as a format string but what
-happens if the translation introduces a valid format specifier?  The
-<CODE>printf</CODE> function will try to access one of the parameters but none
-exists because the original code does not pass any parameters.
-
-</P>
-<P>
-<CODE>xgettext</CODE> of course could make a wrong decision the other way
-round, i.e. a string marked as a format string actually is not a format
-string.  In this case the <CODE>msgfmt</CODE> might give too many warnings and
-would prevent translating the <TT>`.po&acute;</TT> file.  The method to prevent
-this wrong decision is similar to the one used above, only the comment
-to use must contain the string <KBD>xgettext:no-c-format</KBD>.
-
-</P>
-<P>
-If a string is marked with <KBD>c-format</KBD> and this is not correct the
-user can find out who is responsible for the decision.  See
-section <A HREF="gettext_4.html#SEC21">4.1  Invoking the <CODE>xgettext</CODE> Program</A> to see how the <KBD>--debug</KBD> option can be
-used for solving this problem.
-
-</P>
-
-
-<H2><A NAME="SEC19" HREF="gettext_toc.html#TOC19">3.6  Special Cases of Translatable Strings</A></H2>
-
-<P>
-<A NAME="IDX148"></A>
-The attentive reader might now point out that it is not always possible
-to mark translatable string with <CODE>gettext</CODE> or something like this.
-Consider the following case:
-
-</P>
-
-<PRE>
-{
-  static const char *messages[] = {
-    "some very meaningful message",
-    "and another one"
-  };
-  const char *string;
-  ...
-  string
-    = index &#62; 1 ? "a default message" : messages[index];
-
-  fputs (string);
-  ...
-}
-</PRE>
-
-<P>
-While it is no problem to mark the string <CODE>"a default message"</CODE> it
-is not possible to mark the string initializers for <CODE>messages</CODE>.
-What is to be done?  We have to fulfill two tasks.  First we have to mark the
-strings so that the <CODE>xgettext</CODE> program (see section <A HREF="gettext_4.html#SEC21">4.1  Invoking the <CODE>xgettext</CODE> Program</A>)
-can find them, and second we have to translate the string at runtime
-before printing them.
-
-</P>
-<P>
-The first task can be fulfilled by creating a new keyword, which 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:
-
-</P>
-
-<PRE>
-#define gettext_noop(String) String
-
-{
-  static const char *messages[] = {
-    gettext_noop ("some very meaningful message"),
-    gettext_noop ("and another one")
-  };
-  const char *string;
-  ...
-  string
-    = index &#62; 1 ? gettext ("a default message") : gettext (messages[index]);
-
-  fputs (string);
-  ...
-}
-</PRE>
-
-<P>
-Please convince yourself that the string which is written by
-<CODE>fputs</CODE> is translated in any case.  How to get <CODE>xgettext</CODE> know
-the additional keyword <CODE>gettext_noop</CODE> is explained in section <A HREF="gettext_4.html#SEC21">4.1  Invoking the <CODE>xgettext</CODE> Program</A>.
-
-</P>
-<P>
-The above is of course not the only solution.  You could also come along
-with the following one:
-
-</P>
-
-<PRE>
-#define gettext_noop(String) String
-
-{
-  static const char *messages[] = {
-    gettext_noop ("some very meaningful message",
-    gettext_noop ("and another one")
-  };
-  const char *string;
-  ...
-  string
-    = index &#62; 1 ? gettext_noop ("a default message") : messages[index];
-
-  fputs (gettext (string));
-  ...
-}
-</PRE>
-
-<P>
-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.
-
-</P>
-<P>
-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
-generally not very difficult.  If it should be in any situation you can
-use this second method in this situation.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_2.html">previous</A>, <A HREF="gettext_4.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
-</BODY>
-</HTML>
diff --git a/doc/gettext_4.html b/doc/gettext_4.html
deleted file mode 100644 (file)
index 026c851..0000000
+++ /dev/null
@@ -1,432 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52a
-     from gettext.texi on 5 November 2002 -->
-
-<TITLE>GNU gettext utilities - 4  Making the PO Template File</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_3.html">previous</A>, <A HREF="gettext_5.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC20" HREF="gettext_toc.html#TOC20">4  Making the PO Template File</A></H1>
-<P>
-<A NAME="IDX149"></A>
-
-</P>
-<P>
-After preparing the sources, the programmer creates a PO template file.
-This section explains how to use <CODE>xgettext</CODE> for this purpose.
-
-</P>
-<P>
-<CODE>xgettext</CODE> creates a file named <TT>`<VAR>domainname</VAR>.po&acute;</TT>.  You
-should then rename it to <TT>`<VAR>domainname</VAR>.pot&acute;</TT>.  (Why doesn't
-<CODE>xgettext</CODE> create it under the name <TT>`<VAR>domainname</VAR>.pot&acute;</TT>
-right away?  The answer is: for historical reasons.  When <CODE>xgettext</CODE>
-was specified, the distinction between a PO file and PO file template
-was fuzzy, and the suffix <SAMP>`.pot&acute;</SAMP> wasn't in use at that time.)
-
-</P>
-
-
-
-<H2><A NAME="SEC21" HREF="gettext_toc.html#TOC21">4.1  Invoking the <CODE>xgettext</CODE> Program</A></H2>
-
-<P>
-<A NAME="IDX150"></A>
-<A NAME="IDX151"></A>
-
-<PRE>
-xgettext [<VAR>option</VAR>] [<VAR>inputfile</VAR>] ...
-</PRE>
-
-<P>
-The <CODE>xgettext</CODE> program extracts translatable strings from given
-input files.
-
-</P>
-
-
-<H3><A NAME="SEC22" HREF="gettext_toc.html#TOC22">4.1.1  Input file location</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`<VAR>inputfile</VAR> ...&acute;</SAMP>
-<DD>
-Input files.
-
-<DT><SAMP>`-f <VAR>file</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--files-from=<VAR>file</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX152"></A>
-<A NAME="IDX153"></A>
-Read the names of the input files from <VAR>file</VAR> instead of getting
-them from the command line.
-
-<DT><SAMP>`-D <VAR>directory</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--directory=<VAR>directory</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX154"></A>
-<A NAME="IDX155"></A>
-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 <VAR>inputfile</VAR> is <SAMP>`-&acute;</SAMP>, standard input is read.
-
-</P>
-
-
-<H3><A NAME="SEC23" HREF="gettext_toc.html#TOC23">4.1.2  Output file location</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-d <VAR>name</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--default-domain=<VAR>name</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX156"></A>
-<A NAME="IDX157"></A>
-Use <TT>`<VAR>name</VAR>.po&acute;</TT> for output (instead of <TT>`messages.po&acute;</TT>).
-
-<DT><SAMP>`-o <VAR>file</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--output=<VAR>file</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX158"></A>
-<A NAME="IDX159"></A>
-Write output to specified file (instead of <TT>`<VAR>name</VAR>.po&acute;</TT> or
-<TT>`messages.po&acute;</TT>).
-
-<DT><SAMP>`-p <VAR>dir</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--output-dir=<VAR>dir</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX160"></A>
-<A NAME="IDX161"></A>
-Output files will be placed in directory <VAR>dir</VAR>.
-
-</DL>
-
-<P>
-<A NAME="IDX162"></A>
-If the output <VAR>file</VAR> is <SAMP>`-&acute;</SAMP> or <SAMP>`/dev/stdout&acute;</SAMP>, the output
-is written to standard output.
-
-</P>
-
-
-<H3><A NAME="SEC24" HREF="gettext_toc.html#TOC24">4.1.3  Choice of input file language</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-L <VAR>name</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--language=<VAR>name</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX163"></A>
-<A NAME="IDX164"></A>
-<A NAME="IDX165"></A>
-Specifies the language of the input files.  The supported languages
-are <CODE>C</CODE>, <CODE>C++</CODE>, <CODE>ObjectiveC</CODE>, <CODE>PO</CODE>, <CODE>Python</CODE>,
-<CODE>Lisp</CODE>, <CODE>EmacsLisp</CODE>, <CODE>librep</CODE>, <CODE>Smalltalk</CODE>, <CODE>Java</CODE>,
-<CODE>awk</CODE>, <CODE>YCP</CODE>, <CODE>Tcl</CODE>, <CODE>PHP</CODE>, <CODE>RST</CODE>, <CODE>Glade</CODE>.
-
-<DT><SAMP>`-C&acute;</SAMP>
-<DD>
-<DT><SAMP>`--c++&acute;</SAMP>
-<DD>
-<A NAME="IDX166"></A>
-<A NAME="IDX167"></A>
-This is a shorthand for <CODE>--language=C++</CODE>.
-
-</DL>
-
-<P>
-By default the language is guessed depending on the input file name
-extension.
-
-</P>
-
-
-<H3><A NAME="SEC25" HREF="gettext_toc.html#TOC25">4.1.4  Input file interpretation</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`--from-code=<VAR>name</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX168"></A>
-Specifies the encoding of the input files.  This option is needed only
-if some untranslated message strings or their corresponding comments
-contain non-ASCII characters.  Note that Python, Tcl, and Glade input
-files are always assumed to be in UTF-8, regardless of this option.
-
-</DL>
-
-<P>
-By default the input files are assumed to be in ASCII.
-
-</P>
-
-
-<H3><A NAME="SEC26" HREF="gettext_toc.html#TOC26">4.1.5  Operation mode</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-j&acute;</SAMP>
-<DD>
-<DT><SAMP>`--join-existing&acute;</SAMP>
-<DD>
-<A NAME="IDX169"></A>
-<A NAME="IDX170"></A>
-Join messages with existing file.
-
-<DT><SAMP>`-x <VAR>file</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--exclude-file=<VAR>file</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX171"></A>
-<A NAME="IDX172"></A>
-Entries from <VAR>file</VAR> are not extracted.  <VAR>file</VAR> should be a PO or
-POT file.
-
-<DT><SAMP>`-c [<VAR>tag</VAR>]&acute;</SAMP>
-<DD>
-<DT><SAMP>`--add-comments[=<VAR>tag</VAR>]&acute;</SAMP>
-<DD>
-<A NAME="IDX173"></A>
-<A NAME="IDX174"></A>
-Place comment block with <VAR>tag</VAR> (or those preceding keyword lines)
-in output file.
-
-</DL>
-
-
-
-<H3><A NAME="SEC27" HREF="gettext_toc.html#TOC27">4.1.6  Language=C/C++ specific options</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-a&acute;</SAMP>
-<DD>
-<DT><SAMP>`--extract-all&acute;</SAMP>
-<DD>
-<A NAME="IDX175"></A>
-<A NAME="IDX176"></A>
-Extract all strings.
-
-<DT><SAMP>`-k <VAR>keywordspec</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--keyword[=<VAR>keywordspec</VAR>]&acute;</SAMP>
-<DD>
-<A NAME="IDX177"></A>
-<A NAME="IDX178"></A>
-Additional keyword to be looked for (without <VAR>keywordspec</VAR> means not to
-use default keywords).
-
-<A NAME="IDX179"></A>
-If <VAR>keywordspec</VAR> is a C identifer <VAR>id</VAR>, <CODE>xgettext</CODE> looks
-for strings in the first argument of each call to the function or macro
-<VAR>id</VAR>.  If <VAR>keywordspec</VAR> is of the form
-<SAMP>`<VAR>id</VAR>:<VAR>argnum</VAR>&acute;</SAMP>, <CODE>xgettext</CODE> looks for strings in the
-<VAR>argnum</VAR>th argument of the call.  If <VAR>keywordspec</VAR> is of the form
-<SAMP>`<VAR>id</VAR>:<VAR>argnum1</VAR>,<VAR>argnum2</VAR>&acute;</SAMP>, <CODE>xgettext</CODE> looks for
-strings in the <VAR>argnum1</VAR>st argument and in the <VAR>argnum2</VAR>nd argument
-of the call, and treats them as singular/plural variants for a message
-with plural handling.
-
-The default keyword specifications, which are always looked for if not
-explicitly disabled, are <CODE>gettext</CODE>, <CODE>dgettext:2</CODE>,
-<CODE>dcgettext:2</CODE>, <CODE>ngettext:1,2</CODE>, <CODE>dngettext:2,3</CODE>,
-<CODE>dcngettext:2,3</CODE>, and <CODE>gettext_noop</CODE>.
-
-<DT><SAMP>`-T&acute;</SAMP>
-<DD>
-<DT><SAMP>`--trigraphs&acute;</SAMP>
-<DD>
-<A NAME="IDX180"></A>
-<A NAME="IDX181"></A>
-<A NAME="IDX182"></A>
-Understand ANSI C trigraphs for input.
-
-<DT><SAMP>`--debug&acute;</SAMP>
-<DD>
-<A NAME="IDX183"></A>
-<A NAME="IDX184"></A>
-Use the flags <KBD>c-format</KBD> and <KBD>possible-c-format</KBD> to show who was
-responsible for marking a message as a format string.  The latter form is
-used if the <CODE>xgettext</CODE> program decided, the format form is used if
-the programmer prescribed it.
-
-By default only the <KBD>c-format</KBD> form is used.  The translator should
-not have to care about these details.
-
-</DL>
-
-<P>
-This implementation of <CODE>xgettext</CODE> is able to process a few awkward
-cases, like strings in preprocessor macros, ANSI concatenation of
-adjacent strings, and escaped end of lines for continued strings.
-
-</P>
-
-
-<H3><A NAME="SEC28" HREF="gettext_toc.html#TOC28">4.1.7  Output details</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`--force-po&acute;</SAMP>
-<DD>
-<A NAME="IDX185"></A>
-Always write an output file even if no message is defined.
-
-<DT><SAMP>`-i&acute;</SAMP>
-<DD>
-<DT><SAMP>`--indent&acute;</SAMP>
-<DD>
-<A NAME="IDX186"></A>
-<A NAME="IDX187"></A>
-Write the .po file using indented style.
-
-<DT><SAMP>`--no-location&acute;</SAMP>
-<DD>
-<A NAME="IDX188"></A>
-Do not write <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>&acute;</SAMP> lines.
-
-<DT><SAMP>`-n&acute;</SAMP>
-<DD>
-<DT><SAMP>`--add-location&acute;</SAMP>
-<DD>
-<A NAME="IDX189"></A>
-<A NAME="IDX190"></A>
-Generate <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>&acute;</SAMP> lines (default).
-
-<DT><SAMP>`--strict&acute;</SAMP>
-<DD>
-<A NAME="IDX191"></A>
-Write out a strict Uniforum conforming PO file.  Note that this
-Uniforum format should be avoided because it doesn't support the
-GNU extensions.
-
-<DT><SAMP>`-w <VAR>number</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--width=<VAR>number</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX192"></A>
-<A NAME="IDX193"></A>
-Set the output page width.  Long strings in the output files will be
-split across multiple lines in order to ensure that each line's width
-(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
-
-<DT><SAMP>`--no-wrap&acute;</SAMP>
-<DD>
-<A NAME="IDX194"></A>
-Do not break long message lines.  Message lines whose width exceeds the
-output page width will not be split into several lines.  Only file reference
-lines which are wider than the output page width will be split.
-
-<DT><SAMP>`-s&acute;</SAMP>
-<DD>
-<DT><SAMP>`--sort-output&acute;</SAMP>
-<DD>
-<A NAME="IDX195"></A>
-<A NAME="IDX196"></A>
-<A NAME="IDX197"></A>
-Generate sorted output.  Note that using this option makes it much harder
-for the translator to understand each message's context.
-
-<DT><SAMP>`-F&acute;</SAMP>
-<DD>
-<DT><SAMP>`--sort-by-file&acute;</SAMP>
-<DD>
-<A NAME="IDX198"></A>
-<A NAME="IDX199"></A>
-Sort output by file location.
-
-<DT><SAMP>`--omit-header&acute;</SAMP>
-<DD>
-<A NAME="IDX200"></A>
-Don't write header with <SAMP>`msgid ""&acute;</SAMP> entry.
-
-<A NAME="IDX201"></A>
-This is useful for testing purposes because it eliminates a source
-of variance for generated <CODE>.gmo</CODE> files.  With <CODE>--omit-header</CODE>,
-two invocations of <CODE>xgettext</CODE> on the same files with the same
-options at different times are guaranteed to produce the same results.
-
-<DT><SAMP>`--copyright-holder=<VAR>string</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX202"></A>
-Set the copyright holder in the output.  <VAR>string</VAR> should be the
-copyright holder of the surrounding package.  (Note that the msgstr
-strings, extracted from the package's sources, belong to the copyright
-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>
-<A NAME="IDX203"></A>
-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>
-<DT><SAMP>`--msgstr-prefix[=<VAR>string</VAR>]&acute;</SAMP>
-<DD>
-<A NAME="IDX204"></A>
-<A NAME="IDX205"></A>
-Use <VAR>string</VAR> (or "" if not specified) as prefix for msgstr entries.
-
-<DT><SAMP>`-M [<VAR>string</VAR>]&acute;</SAMP>
-<DD>
-<DT><SAMP>`--msgstr-suffix[=<VAR>string</VAR>]&acute;</SAMP>
-<DD>
-<A NAME="IDX206"></A>
-<A NAME="IDX207"></A>
-Use <VAR>string</VAR> (or "" if not specified) as suffix for msgstr entries.
-
-</DL>
-
-
-
-<H3><A NAME="SEC29" HREF="gettext_toc.html#TOC29">4.1.8  Informative output</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-h&acute;</SAMP>
-<DD>
-<DT><SAMP>`--help&acute;</SAMP>
-<DD>
-<A NAME="IDX208"></A>
-<A NAME="IDX209"></A>
-Display this help and exit.
-
-<DT><SAMP>`-V&acute;</SAMP>
-<DD>
-<DT><SAMP>`--version&acute;</SAMP>
-<DD>
-<A NAME="IDX210"></A>
-<A NAME="IDX211"></A>
-Output version information and exit.
-
-</DL>
-
-<P><HR><P>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_3.html">previous</A>, <A HREF="gettext_5.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
-</BODY>
-</HTML>
diff --git a/doc/gettext_5.html b/doc/gettext_5.html
deleted file mode 100644 (file)
index 1d1a4d3..0000000
+++ /dev/null
@@ -1,366 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52a
-     from gettext.texi on 5 November 2002 -->
-
-<TITLE>GNU gettext utilities - 5  Creating a New PO File</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_4.html">previous</A>, <A HREF="gettext_6.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC30" HREF="gettext_toc.html#TOC30">5  Creating a New PO File</A></H1>
-<P>
-<A NAME="IDX212"></A>
-
-</P>
-<P>
-When starting a new translation, the translator creates a file called
-<TT>`<VAR>LANG</VAR>.po&acute;</TT>, as a copy of the <TT>`<VAR>package</VAR>.pot&acute;</TT> template
-file with modifications in the initial comments (at the beginning of the file)
-and in the header entry (the first entry, near the beginning of the file).
-
-</P>
-<P>
-The easiest way to do so is by use of the <SAMP>`msginit&acute;</SAMP> program.
-For example:
-
-</P>
-
-<PRE>
-$ cd <VAR>PACKAGE</VAR>-<VAR>VERSION</VAR>
-$ cd po
-$ msginit
-</PRE>
-
-<P>
-The alternative way is to do the copy and modifications by hand.
-To do so, the translator copies <TT>`<VAR>package</VAR>.pot&acute;</TT> to
-<TT>`<VAR>LANG</VAR>.po&acute;</TT>.  Then she modifies the initial comments and
-the header entry of this file.
-
-</P>
-
-
-
-<H2><A NAME="SEC31" HREF="gettext_toc.html#TOC31">5.1  Invoking the <CODE>msginit</CODE> Program</A></H2>
-
-<P>
-<A NAME="IDX213"></A>
-<A NAME="IDX214"></A>
-
-<PRE>
-msginit [<VAR>option</VAR>]
-</PRE>
-
-<P>
-<A NAME="IDX215"></A>
-<A NAME="IDX216"></A>
-The <CODE>msginit</CODE> program creates a new PO file, initializing the meta
-information with values from the user's environment.
-
-</P>
-
-
-<H3><A NAME="SEC32" HREF="gettext_toc.html#TOC32">5.1.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>
-<A NAME="IDX217"></A>
-<A NAME="IDX218"></A>
-Input POT file.
-
-</DL>
-
-<P>
-If no <VAR>inputfile</VAR> is given, the current directory is searched for the
-POT file.  If it is <SAMP>`-&acute;</SAMP>, standard input is read.
-
-</P>
-
-
-<H3><A NAME="SEC33" HREF="gettext_toc.html#TOC33">5.1.2  Output file location</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-o <VAR>file</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--output-file=<VAR>file</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX219"></A>
-<A NAME="IDX220"></A>
-Write output to specified PO file.
-
-</DL>
-
-<P>
-If no output file is given, it depends on the <SAMP>`--locale&acute;</SAMP> option or the
-user's locale setting.  If it is <SAMP>`-&acute;</SAMP>, the results are written to
-standard output.
-
-</P>
-
-
-<H3><A NAME="SEC34" HREF="gettext_toc.html#TOC34">5.1.3  Output details</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-l <VAR>ll_CC</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--locale=<VAR>ll_CC</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX221"></A>
-<A NAME="IDX222"></A>
-Set target locale.  <VAR>ll</VAR> should be a language code, and <VAR>CC</VAR> should
-be a country code.  The command <SAMP>`locale -a&acute;</SAMP> can be used to output a list
-of all installed locales.  The default is the user's locale setting.
-
-<DT><SAMP>`--no-translator&acute;</SAMP>
-<DD>
-<A NAME="IDX223"></A>
-Declares that the PO file will not have a human translator and is instead
-automatically generated.
-
-<DT><SAMP>`-w <VAR>number</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--width=<VAR>number</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX224"></A>
-<A NAME="IDX225"></A>
-Set the output page width.  Long strings in the output files will be
-split across multiple lines in order to ensure that each line's width
-(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
-
-<DT><SAMP>`--no-wrap&acute;</SAMP>
-<DD>
-<A NAME="IDX226"></A>
-Do not break long message lines.  Message lines whose width exceeds the
-output page width will not be split into several lines.  Only file reference
-lines which are wider than the output page width will be split.
-
-</DL>
-
-
-
-<H3><A NAME="SEC35" HREF="gettext_toc.html#TOC35">5.1.4  Informative output</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-h&acute;</SAMP>
-<DD>
-<DT><SAMP>`--help&acute;</SAMP>
-<DD>
-<A NAME="IDX227"></A>
-<A NAME="IDX228"></A>
-Display this help and exit.
-
-<DT><SAMP>`-V&acute;</SAMP>
-<DD>
-<DT><SAMP>`--version&acute;</SAMP>
-<DD>
-<A NAME="IDX229"></A>
-<A NAME="IDX230"></A>
-Output version information and exit.
-
-</DL>
-
-
-
-<H2><A NAME="SEC36" HREF="gettext_toc.html#TOC36">5.2  Filling in the Header Entry</A></H2>
-<P>
-<A NAME="IDX231"></A>
-
-</P>
-<P>
-The initial comments "SOME DESCRIPTIVE TITLE", "YEAR" and
-"FIRST AUTHOR &#60;EMAIL@ADDRESS&#62;, YEAR" ought to be replaced by sensible
-information.  This can be done in any text editor; if Emacs is used
-and it switched to PO mode automatically (because it has recognized
-the file's suffix), you can disable it by typing <KBD>M-x fundamental-mode</KBD>.
-
-</P>
-<P>
-Modifying the header entry can already be done using PO mode: in Emacs,
-type <KBD>M-x po-mode RET</KBD> and then <KBD>RET</KBD> again to start editing the
-entry.  You should fill in the following fields.
-
-</P>
-<DL COMPACT>
-
-<DT>Project-Id-Version
-<DD>
-This is the name and version of the package.
-
-<DT>POT-Creation-Date
-<DD>
-This has already been filled in by <CODE>xgettext</CODE>.
-
-<DT>PO-Revision-Date
-<DD>
-You don't need to fill this in. It will be filled by the Emacs PO mode
-when you save the file.
-
-<DT>Last-Translator
-<DD>
-Fill in your name and email address (without double quotes).
-
-<DT>Language-Team
-<DD>
-Fill in the English name of the language, and the email address or
-homepage URL of the language team you are part of.
-
-Before starting a translation, it is a good idea to get in touch with
-your translation team, not only to make sure you don't do duplicated work,
-but also to coordinate difficult linguistic issues.
-
-<A NAME="IDX232"></A>
-In the Free Translation Project, each translation team has its own mailing
-list.  The up-to-date list of teams can be found at the Free Translation
-Project's homepage, <A HREF="http://www.iro.umontreal.ca/contrib/po/HTML/">http://www.iro.umontreal.ca/contrib/po/HTML/</A>,
-in the "National teams" area.
-
-<DT>Content-Type
-<DD>
-<A NAME="IDX233"></A>
-<A NAME="IDX234"></A>
-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#SEC150">10.2.4  How to specify the output character set <CODE>gettext</CODE> uses</A>).
-
-<A NAME="IDX235"></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>,
-which is equivalent to <SAMP>`ASCII&acute;</SAMP> (= <SAMP>`US-ASCII&acute;</SAMP>), it means that your
-locale is not correctly configured.  In this case, ask your translation
-team which charset to use.  <SAMP>`ASCII&acute;</SAMP> is not usable for any language
-except Latin.
-
-<A NAME="IDX236"></A>
-Because the PO files must be portable to operating systems with less advanced
-internationalization facilities, the character encodings that can be used
-are limited to those supported by both GNU <CODE>libc</CODE> and GNU
-<CODE>libiconv</CODE>. These are:
-<CODE>ASCII</CODE>, <CODE>ISO-8859-1</CODE>, <CODE>ISO-8859-2</CODE>, <CODE>ISO-8859-3</CODE>,
-<CODE>ISO-8859-4</CODE>, <CODE>ISO-8859-5</CODE>, <CODE>ISO-8859-6</CODE>, <CODE>ISO-8859-7</CODE>,
-<CODE>ISO-8859-8</CODE>, <CODE>ISO-8859-9</CODE>, <CODE>ISO-8859-13</CODE>, <CODE>ISO-8859-14</CODE>,
-<CODE>ISO-8859-15</CODE>,
-<CODE>KOI8-R</CODE>, <CODE>KOI8-U</CODE>, <CODE>KOI8-T</CODE>,
-<CODE>CP850</CODE>, <CODE>CP866</CODE>, <CODE>CP874</CODE>,
-<CODE>CP932</CODE>, <CODE>CP949</CODE>, <CODE>CP950</CODE>, <CODE>CP1250</CODE>, <CODE>CP1251</CODE>,
-<CODE>CP1252</CODE>, <CODE>CP1253</CODE>, <CODE>CP1254</CODE>, <CODE>CP1255</CODE>, <CODE>CP1256</CODE>,
-<CODE>CP1257</CODE>, <CODE>GB2312</CODE>, <CODE>EUC-JP</CODE>, <CODE>EUC-KR</CODE>, <CODE>EUC-TW</CODE>,
-<CODE>BIG5</CODE>, <CODE>BIG5-HKSCS</CODE>, <CODE>GBK</CODE>, <CODE>GB18030</CODE>, <CODE>SHIFT_JIS</CODE>,
-<CODE>JOHAB</CODE>, <CODE>TIS-620</CODE>, <CODE>VISCII</CODE>, <CODE>GEORGIAN-PS</CODE>, <CODE>UTF-8</CODE>.
-
-<A NAME="IDX237"></A>
-In the GNU system, the following encodings are frequently used for the
-corresponding languages.
-
-<A NAME="IDX238"></A>
-
-<UL>
-<LI><CODE>ISO-8859-1</CODE> for
-
- Afrikaans, Albanian, Basque, Breton, Catalan, Cornish, Danish, Dutch,
- English, Estonian, Faroese, Finnish, French, Galician, German,
- Greenlandic, Icelandic, Indonesian, Irish, Italian, Malay, Manx,
- Norwegian, Occitan, Portuguese, Spanish, Swedish, Tagalog, Uzbek,
- Walloon,
-<LI><CODE>ISO-8859-2</CODE> for
-
- Bosnian, Croatian, Czech, Hungarian, Polish, Romanian, Serbian, Slovak,
- Slovenian,
-<LI><CODE>ISO-8859-3</CODE> for Maltese,
-
-<LI><CODE>ISO-8859-5</CODE> for Macedonian, Serbian,
-
-<LI><CODE>ISO-8859-6</CODE> for Arabic,
-
-<LI><CODE>ISO-8859-7</CODE> for Greek,
-
-<LI><CODE>ISO-8859-8</CODE> for Hebrew,
-
-<LI><CODE>ISO-8859-9</CODE> for Turkish,
-
-<LI><CODE>ISO-8859-13</CODE> for Latvian, Lithuanian, Maori,
-
-<LI><CODE>ISO-8859-14</CODE> for Welsh,
-
-<LI><CODE>ISO-8859-15</CODE> for
-
- Basque, Catalan, Dutch, English, Finnish, French, Galician, German, Irish,
- Italian, Portuguese, Spanish, Swedish, Walloon,
-<LI><CODE>KOI8-R</CODE> for Russian,
-
-<LI><CODE>KOI8-U</CODE> for Ukrainian,
-
-<LI><CODE>KOI8-T</CODE> for Tajik,
-
-<LI><CODE>CP1251</CODE> for Bulgarian, Byelorussian,
-
-<LI><CODE>GB2312</CODE>, <CODE>GBK</CODE>, <CODE>GB18030</CODE>
-
- for simplified writing of Chinese,
-<LI><CODE>BIG5</CODE>, <CODE>BIG5-HKSCS</CODE>
-
- for traditional writing of Chinese,
-<LI><CODE>EUC-JP</CODE> for Japanese,
-
-<LI><CODE>EUC-KR</CODE> for Korean,
-
-<LI><CODE>TIS-620</CODE> for Thai,
-
-<LI><CODE>GEORGIAN-PS</CODE> for Georgian,
-
-<LI><CODE>UTF-8</CODE> for any language, including those listed above.
-
-</UL>
-
-<A NAME="IDX239"></A>
-<A NAME="IDX240"></A>
-When single quote characters or double quote characters are used in
-translations for your language, and your locale's encoding is one of the
-ISO-8859-* charsets, it is best if you create your PO files in UTF-8
-encoding, instead of your locale's encoding.  This is because in UTF-8
-the real quote characters can be represented (single quote characters:
-U+2018, U+2019, double quote characters: U+201C, U+201D), whereas none of
-ISO-8859-* charsets has them all.  Users in UTF-8 locales will see the
-real quote characters, whereas users in ISO-8859-* locales will see the
-vertical apostrophe and the vertical double quote instead (because that's
-what the character set conversion will transliterate them to).
-
-<A NAME="IDX241"></A>
-To enter such quote characters under X11, you can change your keyboard
-mapping using the <CODE>xmodmap</CODE> program.  The X11 names of the quote
-characters are "leftsinglequotemark", "rightsinglequotemark",
-"leftdoublequotemark", "rightdoublequotemark", "singlelowquotemark",
-"doublelowquotemark".
-
-Note that only recent versions of GNU Emacs support the UTF-8 encoding:
-Emacs 20 with Mule-UCS, and Emacs 21.  As of January 2001, XEmacs doesn't
-support the UTF-8 encoding.
-
-The character encoding name can be written in either upper or lower case.
-Usually upper case is preferred.
-
-<DT>Content-Transfer-Encoding
-<DD>
-Set this to <CODE>8bit</CODE>.
-
-<DT>Plural-Forms
-<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#SEC151">10.2.5  Additional functions for plural forms</A>.
-</DL>
-
-<P><HR><P>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_4.html">previous</A>, <A HREF="gettext_6.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
-</BODY>
-</HTML>
diff --git a/doc/gettext_6.html b/doc/gettext_6.html
deleted file mode 100644 (file)
index 2190301..0000000
+++ /dev/null
@@ -1,1548 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52a
-     from gettext.texi on 5 November 2002 -->
-
-<TITLE>GNU gettext utilities - 6  Updating Existing PO Files</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_5.html">previous</A>, <A HREF="gettext_7.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC37" HREF="gettext_toc.html#TOC37">6  Updating Existing PO Files</A></H1>
-
-
-
-<H2><A NAME="SEC38" HREF="gettext_toc.html#TOC38">6.1  Invoking the <CODE>msgmerge</CODE> Program</A></H2>
-
-<P>
-<A NAME="IDX242"></A>
-<A NAME="IDX243"></A>
-
-<PRE>
-msgmerge [<VAR>option</VAR>] <VAR>def</VAR>.po <VAR>ref</VAR>.pot
-</PRE>
-
-<P>
-The <CODE>msgmerge</CODE> program merges two Uniforum style .po files together.
-The <VAR>def</VAR>.po file is an existing PO file with translations which will
-be taken over to the newly created file as long as they still match;
-comments will be preserved, but extracted comments and file positions will
-be discarded.  The <VAR>ref</VAR>.pot file is the last created PO file with
-up-to-date source references but old translations, or a PO Template file
-(generally created by <CODE>xgettext</CODE>); any translations or comments
-in the file will be discarded, however dot comments and file positions
-will be preserved.  Where an exact match cannot be found, fuzzy matching
-is used to produce better results.
-
-</P>
-
-
-<H3><A NAME="SEC39" HREF="gettext_toc.html#TOC39">6.1.1  Input file location</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`<VAR>def</VAR>.po&acute;</SAMP>
-<DD>
-Translations referring to old sources.
-
-<DT><SAMP>`<VAR>ref</VAR>.pot&acute;</SAMP>
-<DD>
-References to the new sources.
-
-<DT><SAMP>`-D <VAR>directory</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--directory=<VAR>directory</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX244"></A>
-<A NAME="IDX245"></A>
-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.
-
-<DT><SAMP>`-C <VAR>file</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--compendium=<VAR>file</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX246"></A>
-<A NAME="IDX247"></A>
-Specify an additional library of message translations.  See section <A HREF="gettext_6.html#SEC55">6.11  Using Translation Compendia</A>.
-This option may be specified more than once.
-
-</DL>
-
-
-
-<H3><A NAME="SEC40" HREF="gettext_toc.html#TOC40">6.1.2  Operation mode</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-U&acute;</SAMP>
-<DD>
-<DT><SAMP>`--update&acute;</SAMP>
-<DD>
-<A NAME="IDX248"></A>
-<A NAME="IDX249"></A>
-Update <VAR>def</VAR>.po.  Do nothing if <VAR>def</VAR>.po is already up to date.
-
-</DL>
-
-
-
-<H3><A NAME="SEC41" HREF="gettext_toc.html#TOC41">6.1.3  Output file location</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-o <VAR>file</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--output-file=<VAR>file</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX250"></A>
-<A NAME="IDX251"></A>
-Write output to specified file.
-
-</DL>
-
-<P>
-<A NAME="IDX252"></A>
-The results are written to standard output if no output file is specified
-or if it is <SAMP>`-&acute;</SAMP>.
-
-</P>
-
-
-<H3><A NAME="SEC42" HREF="gettext_toc.html#TOC42">6.1.4  Output file location in update mode</A></H3>
-
-<P>
-The result is written back to <VAR>def</VAR>.po.
-
-</P>
-<DL COMPACT>
-
-<DT><SAMP>`--backup=<VAR>control</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX253"></A>
-<A NAME="IDX254"></A>
-Make a backup of <VAR>def</VAR>.po
-
-<DT><SAMP>`--suffix=<VAR>suffix</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX255"></A>
-Override the usual backup suffix.
-
-</DL>
-
-<P>
-<A NAME="IDX256"></A>
-The version control method may be selected via the <CODE>--backup</CODE> option
-or through the <CODE>VERSION_CONTROL</CODE> environment variable.  Here are the
-values:
-
-</P>
-<DL COMPACT>
-
-<DT><SAMP>`none&acute;</SAMP>
-<DD>
-<DT><SAMP>`off&acute;</SAMP>
-<DD>
-Never make backups (even if <CODE>--backup</CODE> is given).
-
-<DT><SAMP>`numbered&acute;</SAMP>
-<DD>
-<DT><SAMP>`t&acute;</SAMP>
-<DD>
-Make numbered backups.
-
-<DT><SAMP>`existing&acute;</SAMP>
-<DD>
-<DT><SAMP>`nil&acute;</SAMP>
-<DD>
-Make numbered backups if numbered backups for this file already exist,
-otherwise make simple backups.
-
-<DT><SAMP>`simple&acute;</SAMP>
-<DD>
-<DT><SAMP>`never&acute;</SAMP>
-<DD>
-Always make simple backups.
-
-</DL>
-
-<P>
-The backup suffix is <SAMP>`~&acute;</SAMP>, unless set with <CODE>--suffix</CODE> or the
-<CODE>SIMPLE_BACKUP_SUFFIX</CODE> environment variable.
-
-</P>
-
-
-<H3><A NAME="SEC43" HREF="gettext_toc.html#TOC43">6.1.5  Operation modifiers</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-m&acute;</SAMP>
-<DD>
-<DT><SAMP>`--multi-domain&acute;</SAMP>
-<DD>
-<A NAME="IDX257"></A>
-<A NAME="IDX258"></A>
-Apply <VAR>ref</VAR>.pot to each of the domains in <VAR>def</VAR>.po.
-
-</DL>
-
-
-
-<H3><A NAME="SEC44" HREF="gettext_toc.html#TOC44">6.1.6  Output details</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`--force-po&acute;</SAMP>
-<DD>
-<A NAME="IDX259"></A>
-Always write an output file even if it contains no message.
-
-<DT><SAMP>`-i&acute;</SAMP>
-<DD>
-<DT><SAMP>`--indent&acute;</SAMP>
-<DD>
-<A NAME="IDX260"></A>
-<A NAME="IDX261"></A>
-Write the .po file using indented style.
-
-<DT><SAMP>`--no-location&acute;</SAMP>
-<DD>
-<A NAME="IDX262"></A>
-Do not write <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>&acute;</SAMP> lines.
-
-<DT><SAMP>`--add-location&acute;</SAMP>
-<DD>
-<A NAME="IDX263"></A>
-Generate <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>&acute;</SAMP> lines (default).
-
-<DT><SAMP>`--strict&acute;</SAMP>
-<DD>
-<A NAME="IDX264"></A>
-Write out a strict Uniforum conforming PO file.  Note that this
-Uniforum format should be avoided because it doesn't support the
-GNU extensions.
-
-<DT><SAMP>`-w <VAR>number</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--width=<VAR>number</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX265"></A>
-<A NAME="IDX266"></A>
-Set the output page width.  Long strings in the output files will be
-split across multiple lines in order to ensure that each line's width
-(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
-
-<DT><SAMP>`--no-wrap&acute;</SAMP>
-<DD>
-<A NAME="IDX267"></A>
-Do not break long message lines.  Message lines whose width exceeds the
-output page width will not be split into several lines.  Only file reference
-lines which are wider than the output page width will be split.
-
-<DT><SAMP>`-s&acute;</SAMP>
-<DD>
-<DT><SAMP>`--sort-output&acute;</SAMP>
-<DD>
-<A NAME="IDX268"></A>
-<A NAME="IDX269"></A>
-<A NAME="IDX270"></A>
-Generate sorted output.  Note that using this option makes it much harder
-for the translator to understand each message's context.
-
-<DT><SAMP>`-F&acute;</SAMP>
-<DD>
-<DT><SAMP>`--sort-by-file&acute;</SAMP>
-<DD>
-<A NAME="IDX271"></A>
-<A NAME="IDX272"></A>
-Sort output by file location.
-
-</DL>
-
-
-
-<H3><A NAME="SEC45" HREF="gettext_toc.html#TOC45">6.1.7  Informative output</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-h&acute;</SAMP>
-<DD>
-<DT><SAMP>`--help&acute;</SAMP>
-<DD>
-<A NAME="IDX273"></A>
-<A NAME="IDX274"></A>
-Display this help and exit.
-
-<DT><SAMP>`-V&acute;</SAMP>
-<DD>
-<DT><SAMP>`--version&acute;</SAMP>
-<DD>
-<A NAME="IDX275"></A>
-<A NAME="IDX276"></A>
-Output version information and exit.
-
-<DT><SAMP>`-v&acute;</SAMP>
-<DD>
-<DT><SAMP>`--verbose&acute;</SAMP>
-<DD>
-<A NAME="IDX277"></A>
-<A NAME="IDX278"></A>
-Increase verbosity level.
-
-<DT><SAMP>`-q&acute;</SAMP>
-<DD>
-<DT><SAMP>`--quiet&acute;</SAMP>
-<DD>
-<DT><SAMP>`--silent&acute;</SAMP>
-<DD>
-<A NAME="IDX279"></A>
-<A NAME="IDX280"></A>
-<A NAME="IDX281"></A>
-Suppress progress indicators.
-
-</DL>
-
-
-
-<H2><A NAME="SEC46" HREF="gettext_toc.html#TOC46">6.2  Translated Entries</A></H2>
-<P>
-<A NAME="IDX282"></A>
-
-</P>
-<P>
-Each PO file entry for which the <CODE>msgstr</CODE> field has been filled with
-a translation, and which is not marked as fuzzy (see section <A HREF="gettext_6.html#SEC47">6.3  Fuzzy Entries</A>),
-is said to be a <EM>translated</EM> entry.  Only translated entries will
-later be compiled by GNU <CODE>msgfmt</CODE> and become usable in programs.
-Other entry types will be excluded; translation will not occur for them.
-
-</P>
-<P>
-<A NAME="IDX283"></A>
-Some commands are more specifically related to translated entry processing.
-
-</P>
-<DL COMPACT>
-
-<DT><KBD>t</KBD>
-<DD>
-<A NAME="IDX284"></A>
-Find the next translated entry (<CODE>po-next-translated-entry</CODE>).
-
-<DT><KBD>T</KBD>
-<DD>
-<A NAME="IDX285"></A>
-Find the previous translated entry (<CODE>po-previous-translated-entry</CODE>).
-
-</DL>
-
-<P>
-<A NAME="IDX286"></A>
-<A NAME="IDX287"></A>
-<A NAME="IDX288"></A>
-<A NAME="IDX289"></A>
-The commands <KBD>t</KBD> (<CODE>po-next-translated-entry</CODE>) and <KBD>T</KBD>
-(<CODE>po-previous-translated-entry</CODE>) move forwards or backwards, chasing
-for an translated entry.  If none is found, the search is extended and
-wraps around in the PO file buffer.
-
-</P>
-<P>
-<A NAME="IDX290"></A>
-Translated entries usually result from the translator having edited in
-a translation for them, section <A HREF="gettext_6.html#SEC50">6.6  Modifying Translations</A>.  However, if the
-variable <CODE>po-auto-fuzzy-on-edit</CODE> is not <CODE>nil</CODE>, the entry having
-received a new translation first becomes a fuzzy entry, which ought to
-be later unfuzzied before becoming an official, genuine translated entry.
-See section <A HREF="gettext_6.html#SEC47">6.3  Fuzzy Entries</A>.
-
-</P>
-
-
-<H2><A NAME="SEC47" HREF="gettext_toc.html#TOC47">6.3  Fuzzy Entries</A></H2>
-<P>
-<A NAME="IDX291"></A>
-
-</P>
-<P>
-<A NAME="IDX292"></A>
-<A NAME="IDX293"></A>
-Each PO file entry may have a set of <EM>attributes</EM>, which are
-qualities given a name and explicitly associated with the translation,
-using a special system comment.  One of these attributes
-has the name <CODE>fuzzy</CODE>, and entries having this attribute are said
-to have a fuzzy translation.  They are called fuzzy entries, for short.
-
-</P>
-<P>
-Fuzzy entries, even if they account for translated entries for
-most other purposes, usually call for revision by the translator.
-Those may be produced by applying the program <CODE>msgmerge</CODE> to
-update an older translated PO files according to a new PO template
-file, when this tool hypothesises that some new <CODE>msgid</CODE> has
-been modified only slightly out of an older one, and chooses to pair
-what it thinks to be the old translation for the new modified entry.
-The slight alteration in the original string (the <CODE>msgid</CODE> string)
-should often be reflected in the translated string, and this requires
-the intervention of the translator.  For this reason, <CODE>msgmerge</CODE>
-might mark some entries as being fuzzy.
-
-</P>
-<P>
-<A NAME="IDX294"></A>
-Also, the translator may decide herself to mark an entry as fuzzy
-for her own convenience, when she wants to remember that the entry
-has to be later revisited.  So, some commands are more specifically
-related to fuzzy entry processing.
-
-</P>
-<DL COMPACT>
-
-<DT><KBD>z</KBD>
-<DD>
-<A NAME="IDX295"></A>
-Find the next fuzzy entry (<CODE>po-next-fuzzy-entry</CODE>).
-
-<DT><KBD>Z</KBD>
-<DD>
-<A NAME="IDX296"></A>
-Find the previous fuzzy entry (<CODE>po-previous-fuzzy-entry</CODE>).
-
-<DT><KBD><KBD>TAB</KBD></KBD>
-<DD>
-<A NAME="IDX297"></A>
-Remove the fuzzy attribute of the current entry (<CODE>po-unfuzzy</CODE>).
-
-</DL>
-
-<P>
-<A NAME="IDX298"></A>
-<A NAME="IDX299"></A>
-<A NAME="IDX300"></A>
-<A NAME="IDX301"></A>
-The commands <KBD>z</KBD> (<CODE>po-next-fuzzy-entry</CODE>) and <KBD>Z</KBD>
-(<CODE>po-previous-fuzzy-entry</CODE>) move forwards or backwards, chasing for
-a fuzzy entry.  If none is found, the search is extended and wraps
-around in the PO file buffer.
-
-</P>
-<P>
-<A NAME="IDX302"></A>
-<A NAME="IDX303"></A>
-<A NAME="IDX304"></A>
-The command <KBD><KBD>TAB</KBD></KBD> (<CODE>po-unfuzzy</CODE>) removes the fuzzy
-attribute associated with an entry, usually leaving it translated.
-Further, if the variable <CODE>po-auto-select-on-unfuzzy</CODE> has not
-the <CODE>nil</CODE> value, the <KBD><KBD>TAB</KBD></KBD> command will automatically chase
-for another interesting entry to work on.  The initial value of
-<CODE>po-auto-select-on-unfuzzy</CODE> is <CODE>nil</CODE>.
-
-</P>
-<P>
-The initial value of <CODE>po-auto-fuzzy-on-edit</CODE> is <CODE>nil</CODE>.  However,
-if the variable <CODE>po-auto-fuzzy-on-edit</CODE> is set to <CODE>t</CODE>, any entry
-edited through the <KBD><KBD>RET</KBD></KBD> command is marked fuzzy, as a way to
-ensure some kind of double check, later.  In this case, the usual paradigm
-is that an entry becomes fuzzy (if not already) whenever the translator
-modifies it.  If she is satisfied with the translation, she then uses
-<KBD><KBD>TAB</KBD></KBD> to pick another entry to work on, clearing the fuzzy attribute
-on the same blow.  If she is not satisfied yet, she merely uses <KBD><KBD>SPC</KBD></KBD>
-to chase another entry, leaving the entry fuzzy.
-
-</P>
-<P>
-<A NAME="IDX305"></A>
-<A NAME="IDX306"></A>
-The translator may also use the <KBD><KBD>DEL</KBD></KBD> command
-(<CODE>po-fade-out-entry</CODE>) over any translated entry to mark it as being
-fuzzy, when she wants to easily leave a trace she wants to later return
-working at this entry.
-
-</P>
-<P>
-Also, when time comes to quit working on a PO file buffer with the <KBD>q</KBD>
-command, the translator is asked for confirmation, if fuzzy string
-still exists.
-
-</P>
-
-
-<H2><A NAME="SEC48" HREF="gettext_toc.html#TOC48">6.4  Untranslated Entries</A></H2>
-<P>
-<A NAME="IDX307"></A>
-
-</P>
-<P>
-When <CODE>xgettext</CODE> originally creates a PO file, unless told
-otherwise, it initializes the <CODE>msgid</CODE> field with the untranslated
-string, and leaves the <CODE>msgstr</CODE> string to be empty.  Such entries,
-having an empty translation, are said to be <EM>untranslated</EM> entries.
-Later, when the programmer slightly modifies some string right in
-the program, this change is later reflected in the PO file
-by the appearance of a new untranslated entry for the modified string.
-
-</P>
-<P>
-The usual commands moving from entry to entry consider untranslated
-entries on the same level as active entries.  Untranslated entries
-are easily recognizable by the fact they end with <SAMP>`msgstr ""&acute;</SAMP>.
-
-</P>
-<P>
-<A NAME="IDX308"></A>
-The work of the translator might be (quite naively) seen as the process
-of seeking for an untranslated entry, editing a translation for
-it, and repeating these actions until no untranslated entries remain.
-Some commands are more specifically related to untranslated entry
-processing.
-
-</P>
-<DL COMPACT>
-
-<DT><KBD>u</KBD>
-<DD>
-<A NAME="IDX309"></A>
-Find the next untranslated entry (<CODE>po-next-untranslated-entry</CODE>).
-
-<DT><KBD>U</KBD>
-<DD>
-<A NAME="IDX310"></A>
-Find the previous untranslated entry (<CODE>po-previous-untransted-entry</CODE>).
-
-<DT><KBD>k</KBD>
-<DD>
-<A NAME="IDX311"></A>
-Turn the current entry into an untranslated one (<CODE>po-kill-msgstr</CODE>).
-
-</DL>
-
-<P>
-<A NAME="IDX312"></A>
-<A NAME="IDX313"></A>
-<A NAME="IDX314"></A>
-<A NAME="IDX315"></A>
-The commands <KBD>u</KBD> (<CODE>po-next-untranslated-entry</CODE>) and <KBD>U</KBD>
-(<CODE>po-previous-untransted-entry</CODE>) move forwards or backwards,
-chasing for an untranslated entry.  If none is found, the search is
-extended and wraps around in the PO file buffer.
-
-</P>
-<P>
-<A NAME="IDX316"></A>
-<A NAME="IDX317"></A>
-An entry can be turned back into an untranslated entry by
-merely emptying its translation, using the command <KBD>k</KBD>
-(<CODE>po-kill-msgstr</CODE>).  See section <A HREF="gettext_6.html#SEC50">6.6  Modifying Translations</A>.
-
-</P>
-<P>
-Also, when time comes to quit working on a PO file buffer
-with the <KBD>q</KBD> command, the translator is asked for confirmation,
-if some untranslated string still exists.
-
-</P>
-
-
-<H2><A NAME="SEC49" HREF="gettext_toc.html#TOC49">6.5  Obsolete Entries</A></H2>
-<P>
-<A NAME="IDX318"></A>
-
-</P>
-<P>
-By <EM>obsolete</EM> PO file entries, we mean those entries which are
-commented out, usually by <CODE>msgmerge</CODE> when it found that the
-translation is not needed anymore by the package being localized.
-
-</P>
-<P>
-The usual commands moving from entry to entry consider obsolete
-entries on the same level as active entries.  Obsolete entries are
-easily recognizable by the fact that all their lines start with
-<KBD>#</KBD>, even those lines containing <CODE>msgid</CODE> or <CODE>msgstr</CODE>.
-
-</P>
-<P>
-Commands exist for emptying the translation or reinitializing it
-to the original untranslated string.  Commands interfacing with the
-kill ring may force some previously saved text into the translation.
-The user may interactively edit the translation.  All these commands
-may apply to obsolete entries, carefully leaving the entry obsolete
-after the fact.
-
-</P>
-<P>
-<A NAME="IDX319"></A>
-Moreover, some commands are more specifically related to obsolete
-entry processing.
-
-</P>
-<DL COMPACT>
-
-<DT><KBD>o</KBD>
-<DD>
-<A NAME="IDX320"></A>
-Find the next obsolete entry (<CODE>po-next-obsolete-entry</CODE>).
-
-<DT><KBD>O</KBD>
-<DD>
-<A NAME="IDX321"></A>
-Find the previous obsolete entry (<CODE>po-previous-obsolete-entry</CODE>).
-
-<DT><KBD><KBD>DEL</KBD></KBD>
-<DD>
-<A NAME="IDX322"></A>
-Make an active entry obsolete, or zap out an obsolete entry
-(<CODE>po-fade-out-entry</CODE>).
-
-</DL>
-
-<P>
-<A NAME="IDX323"></A>
-<A NAME="IDX324"></A>
-<A NAME="IDX325"></A>
-<A NAME="IDX326"></A>
-The commands <KBD>o</KBD> (<CODE>po-next-obsolete-entry</CODE>) and <KBD>O</KBD>
-(<CODE>po-previous-obsolete-entry</CODE>) move forwards or backwards,
-chasing for an obsolete entry.  If none is found, the search is
-extended and wraps around in the PO file buffer.
-
-</P>
-<P>
-PO mode does not provide ways for un-commenting an obsolete entry
-and making it active, because this would reintroduce an original
-untranslated string which does not correspond to any marked string
-in the program sources.  This goes with the philosophy of never
-introducing useless <CODE>msgid</CODE> values.
-
-</P>
-<P>
-<A NAME="IDX327"></A>
-<A NAME="IDX328"></A>
-<A NAME="IDX329"></A>
-<A NAME="IDX330"></A>
-However, it is possible to comment out an active entry, so making
-it obsolete.  GNU <CODE>gettext</CODE> utilities will later react to the
-disappearance of a translation by using the untranslated string.
-The command <KBD><KBD>DEL</KBD></KBD> (<CODE>po-fade-out-entry</CODE>) pushes the current entry
-a little further towards annihilation.  If the entry is active (it is a
-translated entry), then it is first made fuzzy.  If it is already fuzzy,
-then the entry is merely commented out, with confirmation.  If the entry
-is already obsolete, then it is completely deleted from the PO file.
-It is easy to recycle the translation so deleted into some other PO file
-entry, usually one which is untranslated.  See section <A HREF="gettext_6.html#SEC50">6.6  Modifying Translations</A>.
-
-</P>
-<P>
-Here is a quite interesting problem to solve for later development of
-PO mode, for those nights you are not sleepy.  The idea would be that
-PO mode might become bright enough, one of these days, to make good
-guesses at retrieving the most probable candidate, among all obsolete
-entries, for initializing the translation of a newly appeared string.
-I think it might be a quite hard problem to do this algorithmically, as
-we have to develop good and efficient measures of string similarity.
-Right now, PO mode completely lets the decision to the translator,
-when the time comes to find the adequate obsolete translation, it
-merely tries to provide handy tools for helping her to do so.
-
-</P>
-
-
-<H2><A NAME="SEC50" HREF="gettext_toc.html#TOC50">6.6  Modifying Translations</A></H2>
-<P>
-<A NAME="IDX331"></A>
-<A NAME="IDX332"></A>
-
-</P>
-<P>
-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
-<KBD>V</KBD> 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.
-
-</P>
-<P>
-When the time comes to create a translation, correct an error diagnosed
-mechanically or reported by a user, the translators have to resort to
-using the following commands for modifying the translations.
-
-</P>
-<DL COMPACT>
-
-<DT><KBD><KBD>RET</KBD></KBD>
-<DD>
-<A NAME="IDX333"></A>
-Interactively edit the translation (<CODE>po-edit-msgstr</CODE>).
-
-<DT><KBD><KBD>LFD</KBD></KBD>
-<DD>
-<DT><KBD>C-j</KBD>
-<DD>
-<A NAME="IDX334"></A>
-<A NAME="IDX335"></A>
-Reinitialize the translation with the original, untranslated string
-(<CODE>po-msgid-to-msgstr</CODE>).
-
-<DT><KBD>k</KBD>
-<DD>
-<A NAME="IDX336"></A>
-Save the translation on the kill ring, and delete it (<CODE>po-kill-msgstr</CODE>).
-
-<DT><KBD>w</KBD>
-<DD>
-<A NAME="IDX337"></A>
-Save the translation on the kill ring, without deleting it
-(<CODE>po-kill-ring-save-msgstr</CODE>).
-
-<DT><KBD>y</KBD>
-<DD>
-<A NAME="IDX338"></A>
-Replace the translation, taking the new from the kill ring
-(<CODE>po-yank-msgstr</CODE>).
-
-</DL>
-
-<P>
-<A NAME="IDX339"></A>
-<A NAME="IDX340"></A>
-The command <KBD><KBD>RET</KBD></KBD> (<CODE>po-edit-msgstr</CODE>) opens a new Emacs
-window meant to edit in a new translation, or to modify an already existing
-translation.  The new window contains a copy of the translation taken from
-the current PO file entry, all ready for edition, expunged of all quoting
-marks, fully modifiable and with the complete extent of Emacs modifying
-commands.  When the translator is done with her modifications, she may use
-<KBD>C-c C-c</KBD> to close the subedit window with the automatically requoted
-results, or <KBD>C-c C-k</KBD> to abort her modifications.  See section <A HREF="gettext_6.html#SEC52">6.8  Details of Sub Edition</A>,
-for more information.
-
-</P>
-<P>
-<A NAME="IDX341"></A>
-<A NAME="IDX342"></A>
-<A NAME="IDX343"></A>
-The command <KBD><KBD>LFD</KBD></KBD> (<CODE>po-msgid-to-msgstr</CODE>) initializes, or
-reinitializes the translation with the original string.  This command is
-normally used when the translator wants to redo a fresh translation of
-the original string, disregarding any previous work.
-
-</P>
-<P>
-<A NAME="IDX344"></A>
-It is possible to arrange so, whenever editing an untranslated
-entry, the <KBD><KBD>LFD</KBD></KBD> command be automatically executed.  If you set
-<CODE>po-auto-edit-with-msgid</CODE> to <CODE>t</CODE>, the translation gets
-initialised with the original string, in case none exists already.
-The default value for <CODE>po-auto-edit-with-msgid</CODE> is <CODE>nil</CODE>.
-
-</P>
-<P>
-<A NAME="IDX345"></A>
-In fact, whether it is best to start a translation with an empty
-string, or rather with a copy of the original string, is a matter of
-taste or habit.  Sometimes, the source language and the
-target language are so different that is simply best to start writing
-on an empty page.  At other times, the source and target languages
-are so close that it would be a waste to retype a number of words
-already being written in the original string.  A translator may also
-like having the original string right under her eyes, as she will
-progressively overwrite the original text with the translation, even
-if this requires some extra editing work to get rid of the original.
-
-</P>
-<P>
-<A NAME="IDX346"></A>
-<A NAME="IDX347"></A>
-<A NAME="IDX348"></A>
-<A NAME="IDX349"></A>
-<A NAME="IDX350"></A>
-The command <KBD>k</KBD> (<CODE>po-kill-msgstr</CODE>) merely empties the
-translation string, so turning the entry into an untranslated
-one.  But while doing so, its previous contents is put apart in
-a special place, known as the kill ring.  The command <KBD>w</KBD>
-(<CODE>po-kill-ring-save-msgstr</CODE>) has also the effect of taking a
-copy of the translation onto the kill ring, but it otherwise leaves
-the entry alone, and does <EM>not</EM> remove the translation from the
-entry.  Both commands use exactly the Emacs kill ring, which is shared
-between buffers, and which is well known already to Emacs lovers.
-
-</P>
-<P>
-The translator may use <KBD>k</KBD> or <KBD>w</KBD> many times in the course
-of her work, as the kill ring may hold several saved translations.
-From the kill ring, strings may later be reinserted in various
-Emacs buffers.  In particular, the kill ring may be used for moving
-translation strings between different entries of a single PO file
-buffer, or if the translator is handling many such buffers at once,
-even between PO files.
-
-</P>
-<P>
-To facilitate exchanges with buffers which are not in PO mode, the
-translation string put on the kill ring by the <KBD>k</KBD> command is fully
-unquoted before being saved: external quotes are removed, multi-line
-strings are concatenated, and backslash escaped sequences are turned
-into their corresponding characters.  In the special case of obsolete
-entries, the translation is also uncommented prior to saving.
-
-</P>
-<P>
-<A NAME="IDX351"></A>
-<A NAME="IDX352"></A>
-The command <KBD>y</KBD> (<CODE>po-yank-msgstr</CODE>) completely replaces the
-translation of the current entry by a string taken from the kill ring.
-Following Emacs terminology, we then say that the replacement
-string is <EM>yanked</EM> into the PO file buffer.
-See section `Yanking' in <CITE>The Emacs Editor</CITE>.
-The first time <KBD>y</KBD> is used, the translation receives the value of
-the most recent addition to the kill ring.  If <KBD>y</KBD> is typed once
-again, immediately, without intervening keystrokes, the translation
-just inserted is taken away and replaced by the second most recent
-addition to the kill ring.  By repeating <KBD>y</KBD> many times in a row,
-the translator may travel along the kill ring for saved strings,
-until she finds the string she really wanted.
-
-</P>
-<P>
-When a string is yanked into a PO file entry, it is fully and
-automatically requoted for complying with the format PO files should
-have.  Further, if the entry is obsolete, PO mode then appropriately
-push the inserted string inside comments.  Once again, translators
-should not burden themselves with quoting considerations besides, of
-course, the necessity of the translated string itself respective to
-the program using it.
-
-</P>
-<P>
-Note that <KBD>k</KBD> or <KBD>w</KBD> are not the only commands pushing strings
-on the kill ring, as almost any PO mode command replacing translation
-strings (or the translator comments) automatically saves the old string
-on the kill ring.  The main exceptions to this general rule are the
-yanking commands themselves.
-
-</P>
-<P>
-<A NAME="IDX353"></A>
-To better illustrate the operation of killing and yanking, let's
-use an actual example, taken from a common situation.  When the
-programmer slightly modifies some string right in the program, his
-change is later reflected in the PO file by the appearance
-of a new untranslated entry for the modified string, and the fact
-that the entry translating the original or unmodified string becomes
-obsolete.  In many cases, the translator might spare herself some work
-by retrieving the unmodified translation from the obsolete entry,
-then initializing the untranslated entry <CODE>msgstr</CODE> field with
-this retrieved translation.  Once this done, the obsolete entry is
-not wanted anymore, and may be safely deleted.
-
-</P>
-<P>
-When the translator finds an untranslated entry and suspects that a
-slight variant of the translation exists, she immediately uses <KBD>m</KBD>
-to mark the current entry location, then starts chasing obsolete
-entries with <KBD>o</KBD>, hoping to find some translation corresponding
-to the unmodified string.  Once found, she uses the <KBD><KBD>DEL</KBD></KBD> command
-for deleting the obsolete entry, knowing that <KBD><KBD>DEL</KBD></KBD> also <EM>kills</EM>
-the translation, that is, pushes the translation on the kill ring.
-Then, <KBD>r</KBD> returns to the initial untranslated entry, and <KBD>y</KBD>
-then <EM>yanks</EM> the saved translation right into the <CODE>msgstr</CODE>
-field.  The translator is then free to use <KBD><KBD>RET</KBD></KBD> for fine
-tuning the translation contents, and maybe to later use <KBD>u</KBD>,
-then <KBD>m</KBD> again, for going on with the next untranslated string.
-
-</P>
-<P>
-When some sequence of keys has to be typed over and over again, the
-translator may find it useful to become better acquainted with the Emacs
-capability of learning these sequences and playing them back under request.
-See section `Keyboard Macros' in <CITE>The Emacs Editor</CITE>.
-
-</P>
-
-
-<H2><A NAME="SEC51" HREF="gettext_toc.html#TOC51">6.7  Modifying Comments</A></H2>
-<P>
-<A NAME="IDX354"></A>
-<A NAME="IDX355"></A>
-
-</P>
-<P>
-Any translation work done seriously will raise many linguistic
-difficulties, for which decisions have to be made, and the choices
-further documented.  These documents may be saved within the
-PO file in form of translator comments, which the translator
-is free to create, delete, or modify at will.  These comments may
-be useful to herself when she returns to this PO file after a while.
-
-</P>
-<P>
-Comments not having whitespace after the initial <SAMP>`#&acute;</SAMP>, for example,
-those beginning with <SAMP>`#.&acute;</SAMP> or <SAMP>`#:&acute;</SAMP>, are <EM>not</EM> translator
-comments, they are exclusively created by other <CODE>gettext</CODE> tools.
-So, the commands below will never alter such system added comments,
-they are not meant for the translator to modify.  See section <A HREF="gettext_2.html#SEC9">2.2  The Format of PO Files</A>.
-
-</P>
-<P>
-The following commands are somewhat similar to those modifying translations,
-so the general indications given for those apply here.  See section <A HREF="gettext_6.html#SEC50">6.6  Modifying Translations</A>.
-
-</P>
-<DL COMPACT>
-
-<DT><KBD>#</KBD>
-<DD>
-<A NAME="IDX356"></A>
-Interactively edit the translator comments (<CODE>po-edit-comment</CODE>).
-
-<DT><KBD>K</KBD>
-<DD>
-<A NAME="IDX357"></A>
-Save the translator comments on the kill ring, and delete it
-(<CODE>po-kill-comment</CODE>).
-
-<DT><KBD>W</KBD>
-<DD>
-<A NAME="IDX358"></A>
-Save the translator comments on the kill ring, without deleting it
-(<CODE>po-kill-ring-save-comment</CODE>).
-
-<DT><KBD>Y</KBD>
-<DD>
-<A NAME="IDX359"></A>
-Replace the translator comments, taking the new from the kill ring
-(<CODE>po-yank-comment</CODE>).
-
-</DL>
-
-<P>
-These commands parallel PO mode commands for modifying the translation
-strings, and behave much the same way as they do, except that they handle
-this part of PO file comments meant for translator usage, rather
-than the translation strings.  So, if the descriptions given below are
-slightly succinct, it is because the full details have already been given.
-See section <A HREF="gettext_6.html#SEC50">6.6  Modifying Translations</A>.
-
-</P>
-<P>
-<A NAME="IDX360"></A>
-<A NAME="IDX361"></A>
-The command <KBD>#</KBD> (<CODE>po-edit-comment</CODE>) opens a new Emacs window
-containing a copy of the translator comments on the current PO file entry.
-If there are no such comments, PO mode understands that the translator wants
-to add a comment to the entry, and she is presented with an empty screen.
-Comment marks (<KBD>#</KBD>) and the space following them are automatically
-removed before edition, and reinstated after.  For translator comments
-pertaining to obsolete entries, the uncommenting and recommenting operations
-are done twice.  Once in the editing window, the keys <KBD>C-c C-c</KBD>
-allow the translator to tell she is finished with editing the comment.
-See section <A HREF="gettext_6.html#SEC52">6.8  Details of Sub Edition</A>, for further details.
-
-</P>
-<P>
-<A NAME="IDX362"></A>
-Functions found on <CODE>po-subedit-mode-hook</CODE>, if any, are executed after
-the string has been inserted in the edit buffer.
-
-</P>
-<P>
-<A NAME="IDX363"></A>
-<A NAME="IDX364"></A>
-<A NAME="IDX365"></A>
-<A NAME="IDX366"></A>
-<A NAME="IDX367"></A>
-<A NAME="IDX368"></A>
-The command <KBD>K</KBD> (<CODE>po-kill-comment</CODE>) gets rid of all
-translator comments, while saving those comments on the kill ring.
-The command <KBD>W</KBD> (<CODE>po-kill-ring-save-comment</CODE>) takes
-a copy of the translator comments on the kill ring, but leaves
-them undisturbed in the current entry.  The command <KBD>Y</KBD>
-(<CODE>po-yank-comment</CODE>) completely replaces the translator comments
-by a string taken at the front of the kill ring.  When this command
-is immediately repeated, the comments just inserted are withdrawn,
-and replaced by other strings taken along the kill ring.
-
-</P>
-<P>
-On the kill ring, all strings have the same nature.  There is no
-distinction between <EM>translation</EM> strings and <EM>translator
-comments</EM> strings.  So, for example, let's presume the translator
-has just finished editing a translation, and wants to create a new
-translator comment to document why the previous translation was
-not good, just to remember what was the problem.  Foreseeing that she
-will do that in her documentation, the translator may want to quote
-the previous translation in her translator comments.  To do so, she
-may initialize the translator comments with the previous translation,
-still at the head of the kill ring.  Because editing already pushed the
-previous translation on the kill ring, she merely has to type <KBD>M-w</KBD>
-prior to <KBD>#</KBD>, and the previous translation will be right there,
-all ready for being introduced by some explanatory text.
-
-</P>
-<P>
-On the other hand, presume there are some translator comments already
-and that the translator wants to add to those comments, instead
-of wholly replacing them.  Then, she should edit the comment right
-away with <KBD>#</KBD>.  Once inside the editing window, she can use the
-regular Emacs commands <KBD>C-y</KBD> (<CODE>yank</CODE>) and <KBD>M-y</KBD>
-(<CODE>yank-pop</CODE>) to get the previous translation where she likes.
-
-</P>
-
-
-<H2><A NAME="SEC52" HREF="gettext_toc.html#TOC52">6.8  Details of Sub Edition</A></H2>
-<P>
-<A NAME="IDX369"></A>
-
-</P>
-<P>
-The PO subedit minor mode has a few peculiarities worth being described
-in fuller detail.  It installs a few commands over the usual editing set
-of Emacs, which are described below.
-
-</P>
-<DL COMPACT>
-
-<DT><KBD>C-c C-c</KBD>
-<DD>
-<A NAME="IDX370"></A>
-Complete edition (<CODE>po-subedit-exit</CODE>).
-
-<DT><KBD>C-c C-k</KBD>
-<DD>
-<A NAME="IDX371"></A>
-Abort edition (<CODE>po-subedit-abort</CODE>).
-
-<DT><KBD>C-c C-a</KBD>
-<DD>
-<A NAME="IDX372"></A>
-Consult auxiliary PO files (<CODE>po-subedit-cycle-auxiliary</CODE>).
-
-</DL>
-
-<P>
-<A NAME="IDX373"></A>
-<A NAME="IDX374"></A>
-<A NAME="IDX375"></A>
-The window's contents represents a translation for a given message,
-or a translator comment.  The translator may modify this window to
-her heart's content.  Once this is done, the command <KBD>C-c C-c</KBD>
-(<CODE>po-subedit-exit</CODE>) may be used to return the edited translation into
-the PO file, replacing the original translation, even if it moved out of
-sight or if buffers were switched.
-
-</P>
-<P>
-<A NAME="IDX376"></A>
-<A NAME="IDX377"></A>
-If the translator becomes unsatisfied with her translation or comment,
-to the extent she prefers keeping what was existent prior to the
-<KBD><KBD>RET</KBD></KBD> or <KBD>#</KBD> command, she may use the command <KBD>C-c C-k</KBD>
-(<CODE>po-subedit-abort</CODE>) to merely get rid of edition, while preserving
-the original translation or comment.  Another way would be for her to exit
-normally with <KBD>C-c C-c</KBD>, then type <CODE>U</CODE> once for undoing the
-whole effect of last edition.
-
-</P>
-<P>
-<A NAME="IDX378"></A>
-<A NAME="IDX379"></A>
-The command <KBD>C-c C-a</KBD> (<CODE>po-subedit-cycle-auxiliary</CODE>)
-allows for glancing through translations
-already achieved in other languages, directly while editing the current
-translation.  This may be quite convenient when the translator is fluent
-at many languages, but of course, only makes sense when such completed
-auxiliary PO files are already available to her (see section <A HREF="gettext_6.html#SEC54">6.10  Consulting Auxiliary PO Files</A>).
-
-</P>
-<P>
-Functions found on <CODE>po-subedit-mode-hook</CODE>, if any, are executed after
-the string has been inserted in the edit buffer.
-
-</P>
-<P>
-While editing her translation, the translator should pay attention to not
-inserting unwanted <KBD><KBD>RET</KBD></KBD> (newline) characters at the end of
-the translated string if those are not meant to be there, or to removing
-such characters when they are required.  Since these characters are not
-visible in the editing buffer, they are easily introduced by mistake.
-To help her, <KBD><KBD>RET</KBD></KBD> automatically puts the character <KBD>&#60;</KBD>
-at the end of the string being edited, but this <KBD>&#60;</KBD> is not really
-part of the string.  On exiting the editing window with <KBD>C-c C-c</KBD>,
-PO mode automatically removes such <KBD>&#60;</KBD> and all whitespace added after
-it.  If the translator adds characters after the terminating <KBD>&#60;</KBD>, it
-looses its delimiting property and integrally becomes part of the string.
-If she removes the delimiting <KBD>&#60;</KBD>, then the edited string is taken
-<EM>as is</EM>, with all trailing newlines, even if invisible.  Also, if
-the translated string ought to end itself with a genuine <KBD>&#60;</KBD>, then
-the delimiting <KBD>&#60;</KBD> may not be removed; so the string should appear,
-in the editing window, as ending with two <KBD>&#60;</KBD> in a row.
-
-</P>
-<P>
-<A NAME="IDX380"></A>
-When a translation (or a comment) is being edited, the translator may move
-the cursor back into the PO file buffer and freely move to other entries,
-browsing at will.  If, with an edition pending, the translator wanders in the
-PO file buffer, she may decide to start modifying another entry.  Each entry
-being edited has its own subedit buffer.  It is possible to simultaneously
-edit the translation <EM>and</EM> the comment of a single entry, or to
-edit entries in different PO files, all at once.  Typing <KBD><KBD>RET</KBD></KBD>
-on a field already being edited merely resumes that particular edit.  Yet,
-the translator should better be comfortable at handling many Emacs windows!
-
-</P>
-<P>
-<A NAME="IDX381"></A>
-Pending subedits may be completed or aborted in any order, regardless
-of how or when they were started.  When many subedits are pending and the
-translator asks for quitting the PO file (with the <KBD>q</KBD> command), subedits
-are automatically resumed one at a time, so she may decide for each of them.
-
-</P>
-
-
-<H2><A NAME="SEC53" HREF="gettext_toc.html#TOC53">6.9  C Sources Context</A></H2>
-<P>
-<A NAME="IDX382"></A>
-<A NAME="IDX383"></A>
-<A NAME="IDX384"></A>
-
-</P>
-<P>
-PO mode is particularly powerful when used with PO files
-created through GNU <CODE>gettext</CODE> utilities, as those utilities
-insert special comments in the PO files they generate.
-Some of these special comments relate the PO file entry to
-exactly where the untranslated string appears in the program sources.
-
-</P>
-<P>
-When the translator gets to an untranslated entry, she is fairly
-often faced with an original string which is not as informative as
-it normally should be, being succinct, cryptic, or otherwise ambiguous.
-Before choosing how to translate the string, she needs to understand
-better what the string really means and how tight the translation has
-to be.  Most of the time, when problems arise, the only way left to make
-her judgment is looking at the true program sources from where this
-string originated, searching for surrounding comments the programmer
-might have put in there, and looking around for helping clues of
-<EM>any</EM> kind.
-
-</P>
-<P>
-Surely, when looking at program sources, the translator will receive
-more help if she is a fluent programmer.  However, even if she is
-not versed in programming and feels a little lost in C code, the
-translator should not be shy at taking a look, once in a while.
-It is most probable that she will still be able to find some of the
-hints she needs.  She will learn quickly to not feel uncomfortable
-in program code, paying more attention to programmer's comments,
-variable and function names (if he dared choosing them well), and
-overall organization, than to the program code itself.
-
-</P>
-<P>
-<A NAME="IDX385"></A>
-The following commands are meant to help the translator at getting
-program source context for a PO file entry.
-
-</P>
-<DL COMPACT>
-
-<DT><KBD>s</KBD>
-<DD>
-<A NAME="IDX386"></A>
-Resume the display of a program source context, or cycle through them
-(<CODE>po-cycle-source-reference</CODE>).
-
-<DT><KBD>M-s</KBD>
-<DD>
-<A NAME="IDX387"></A>
-Display of a program source context selected by menu
-(<CODE>po-select-source-reference</CODE>).
-
-<DT><KBD>S</KBD>
-<DD>
-<A NAME="IDX388"></A>
-Add a directory to the search path for source files
-(<CODE>po-consider-source-path</CODE>).
-
-<DT><KBD>M-S</KBD>
-<DD>
-<A NAME="IDX389"></A>
-Delete a directory from the search path for source files
-(<CODE>po-ignore-source-path</CODE>).
-
-</DL>
-
-<P>
-<A NAME="IDX390"></A>
-<A NAME="IDX391"></A>
-<A NAME="IDX392"></A>
-<A NAME="IDX393"></A>
-The commands <KBD>s</KBD> (<CODE>po-cycle-source-reference</CODE>) and <KBD>M-s</KBD>
-(<CODE>po-select-source-reference</CODE>) both open another window displaying
-some source program file, and already positioned in such a way that
-it shows an actual use of the string to be translated.  By doing
-so, the command gives source program context for the string.  But if
-the entry has no source context references, or if all references
-are unresolved along the search path for program sources, then the
-command diagnoses this as an error.
-
-</P>
-<P>
-Even if <KBD>s</KBD> (or <KBD>M-s</KBD>) opens a new window, the cursor stays
-in the PO file window.  If the translator really wants to
-get into the program source window, she ought to do it explicitly,
-maybe by using command <KBD>O</KBD>.
-
-</P>
-<P>
-When <KBD>s</KBD> is typed for the first time, or for a PO file entry which
-is different of the last one used for getting source context, then the
-command reacts by giving the first context available for this entry,
-if any.  If some context has already been recently displayed for the
-current PO file entry, and the translator wandered off to do other
-things, typing <KBD>s</KBD> again will merely resume, in another window,
-the context last displayed.  In particular, if the translator moved
-the cursor away from the context in the source file, the command will
-bring the cursor back to the context.  By using <KBD>s</KBD> many times
-in a row, with no other commands intervening, PO mode will cycle to
-the next available contexts for this particular entry, getting back
-to the first context once the last has been shown.
-
-</P>
-<P>
-The command <KBD>M-s</KBD> behaves differently.  Instead of cycling through
-references, it lets the translator choose a particular reference among
-many, and displays that reference.  It is best used with completion,
-if the translator types <KBD><KBD>TAB</KBD></KBD> immediately after <KBD>M-s</KBD>, in
-response to the question, she will be offered a menu of all possible
-references, as a reminder of which are the acceptable answers.
-This command is useful only where there are really many contexts
-available for a single string to translate.
-
-</P>
-<P>
-<A NAME="IDX394"></A>
-<A NAME="IDX395"></A>
-<A NAME="IDX396"></A>
-<A NAME="IDX397"></A>
-Program source files are usually found relative to where the PO
-file stands.  As a special provision, when this fails, the file is
-also looked for, but relative to the directory immediately above it.
-Those two cases take proper care of most PO files.  However, it might
-happen that a PO file has been moved, or is edited in a different
-place than its normal location.  When this happens, the translator
-should tell PO mode in which directory normally sits the genuine PO
-file.  Many such directories may be specified, and all together, they
-constitute what is called the <EM>search path</EM> for program sources.
-The command <KBD>S</KBD> (<CODE>po-consider-source-path</CODE>) is used to interactively
-enter a new directory at the front of the search path, and the command
-<KBD>M-S</KBD> (<CODE>po-ignore-source-path</CODE>) is used to select, with completion,
-one of the directories she does not want anymore on the search path.
-
-</P>
-
-
-<H2><A NAME="SEC54" HREF="gettext_toc.html#TOC54">6.10  Consulting Auxiliary PO Files</A></H2>
-<P>
-<A NAME="IDX398"></A>
-
-</P>
-<P>
-PO mode is able to help the knowledgeable translator, being fluent in
-many languages, at taking advantage of translations already achieved
-in other languages she just happens to know.  It provides these other
-language translations as additional context for her own work.  Moreover,
-it has features to ease the production of translations for many languages
-at once, for translators preferring to work in this way.
-
-</P>
-<P>
-<A NAME="IDX399"></A>
-<A NAME="IDX400"></A>
-An <EM>auxiliary</EM> PO file is an existing PO file meant for the same
-package the translator is working on, but targeted to a different mother
-tongue language.  Commands exist for declaring and handling auxiliary
-PO files, and also for showing contexts for the entry under work.
-
-</P>
-<P>
-Here are the auxiliary file commands available in PO mode.
-
-</P>
-<DL COMPACT>
-
-<DT><KBD>a</KBD>
-<DD>
-<A NAME="IDX401"></A>
-Seek auxiliary files for another translation for the same entry
-(<CODE>po-cycle-auxiliary</CODE>).
-
-<DT><KBD>C-c C-a</KBD>
-<DD>
-<A NAME="IDX402"></A>
-Switch to a particular auxiliary file (<CODE>po-select-auxiliary</CODE>).
-
-<DT><KBD>A</KBD>
-<DD>
-<A NAME="IDX403"></A>
-Declare this PO file as an auxiliary file (<CODE>po-consider-as-auxiliary</CODE>).
-
-<DT><KBD>M-A</KBD>
-<DD>
-<A NAME="IDX404"></A>
-Remove this PO file from the list of auxiliary files
-(<CODE>po-ignore-as-auxiliary</CODE>).
-
-</DL>
-
-<P>
-<A NAME="IDX405"></A>
-<A NAME="IDX406"></A>
-<A NAME="IDX407"></A>
-<A NAME="IDX408"></A>
-Command <KBD>A</KBD> (<CODE>po-consider-as-auxiliary</CODE>) adds the current
-PO file to the list of auxiliary files, while command <KBD>M-A</KBD>
-(<CODE>po-ignore-as-auxiliary</CODE> just removes it.
-
-</P>
-<P>
-<A NAME="IDX409"></A>
-<A NAME="IDX410"></A>
-The command <KBD>a</KBD> (<CODE>po-cycle-auxiliary</CODE>) seeks all auxiliary PO
-files, round-robin, searching for a translated entry in some other language
-having an <CODE>msgid</CODE> field identical as the one for the current entry.
-The found PO file, if any, takes the place of the current PO file in
-the display (its window gets on top).  Before doing so, the current PO
-file is also made into an auxiliary file, if not already.  So, <KBD>a</KBD>
-in this newly displayed PO file will seek another PO file, and so on,
-so repeating <KBD>a</KBD> will eventually yield back the original PO file.
-
-</P>
-<P>
-<A NAME="IDX411"></A>
-<A NAME="IDX412"></A>
-The command <KBD>C-c C-a</KBD> (<CODE>po-select-auxiliary</CODE>) asks the translator
-for her choice of a particular auxiliary file, with completion, and
-then switches to that selected PO file.  The command also checks if
-the selected file has an <CODE>msgid</CODE> field identical as the one for
-the current entry, and if yes, this entry becomes current.  Otherwise,
-the cursor of the selected file is left undisturbed.
-
-</P>
-<P>
-For all this to work fully, auxiliary PO files will have to be normalized,
-in that way that <CODE>msgid</CODE> fields should be written <EM>exactly</EM>
-the same way.  It is possible to write <CODE>msgid</CODE> fields in various
-ways for representing the same string, different writing would break the
-proper behaviour of the auxiliary file commands of PO mode.  This is not
-expected to be much a problem in practice, as most existing PO files have
-their <CODE>msgid</CODE> entries written by the same GNU <CODE>gettext</CODE> tools.
-
-</P>
-<P>
-<A NAME="IDX413"></A>
-However, PO files initially created by PO mode itself, while marking
-strings in source files, are normalised differently.  So are PO
-files resulting of the the <SAMP>`M-x normalize&acute;</SAMP> command.  Until these
-discrepancies between PO mode and other GNU <CODE>gettext</CODE> tools get
-fully resolved, the translator should stay aware of normalisation issues.
-
-</P>
-
-
-<H2><A NAME="SEC55" HREF="gettext_toc.html#TOC55">6.11  Using Translation Compendia</A></H2>
-<P>
-<A NAME="IDX414"></A>
-
-</P>
-<P>
-<A NAME="IDX415"></A>
-A <EM>compendium</EM> is a special PO file containing a set of
-translations recurring in many different packages.  The translator can
-use gettext tools to build a new compendium, to add entries to her
-compendium, and to initialize untranslated entries, or to update
-already translated entries, from translations kept in the compendium.
-
-</P>
-
-
-
-<H3><A NAME="SEC56" HREF="gettext_toc.html#TOC56">6.11.1  Creating Compendia</A></H3>
-<P>
-<A NAME="IDX416"></A>
-<A NAME="IDX417"></A>
-
-</P>
-<P>
-Basically every PO file consisting of translated entries only can be
-declared as a valid compendium.  Often the translator wants to have
-special compendia; let's consider two cases: <CITE>concatenating PO
-files</CITE> and <CITE>extracting a message subset from a PO file</CITE>.
-
-</P>
-
-
-<H4><A NAME="SEC57" HREF="gettext_toc.html#TOC57">6.11.1.1  Concatenate PO Files</A></H4>
-
-<P>
-<A NAME="IDX418"></A>
-<A NAME="IDX419"></A>
-To concatenate several valid PO files into one compendium file you can
-use <SAMP>`msgcomm&acute;</SAMP> or <SAMP>`msgcat&acute;</SAMP> (the latter preferred):
-
-</P>
-
-<PRE>
-msgcat -o compendium.po file1.po file2.po
-</PRE>
-
-<P>
-By default, <CODE>msgcat</CODE> will accumulate divergent translations
-for the same string.  Those occurences will be marked as <CODE>fuzzy</CODE>
-and highly visible decorated; calling <CODE>msgcat</CODE> on
-<TT>`file1.po&acute;</TT>:
-
-</P>
-
-<PRE>
-#: src/hello.c:200
-#, c-format
-msgid "Report bugs to &#60;%s&#62;.\n"
-msgstr "Comunicar `bugs' a &#60;%s&#62;.\n"
-</PRE>
-
-<P>
-and <TT>`file2.po&acute;</TT>:
-
-</P>
-
-<PRE>
-#: src/bye.c:100
-#, c-format
-msgid "Report bugs to &#60;%s&#62;.\n"
-msgstr "Comunicar \"bugs\" a &#60;%s&#62;.\n"
-</PRE>
-
-<P>
-will result in:
-
-</P>
-
-<PRE>
-#: src/hello.c:200 src/bye.c:100
-#, fuzzy, c-format
-msgid "Report bugs to &#60;%s&#62;.\n"
-msgstr ""
-"#-#-#-#-#  file1.po  #-#-#-#-#\n"
-"Comunicar `bugs' a &#60;%s&#62;.\n"
-"#-#-#-#-#  file2.po  #-#-#-#-#\n"
-"Comunicar \"bugs\" a &#60;%s&#62;.\n"
-</PRE>
-
-<P>
-The translator will have to resolve this "conflict" manually; she
-has to decide whether the first or the second version is appropriate
-(or provide a new translation), to delete the "marker lines", and
-finally to remove the <CODE>fuzzy</CODE> mark.
-
-</P>
-<P>
-If the translator knows in advance the first found translation of a
-message is always the best translation she can make use to the
-<SAMP>`--use-first&acute;</SAMP> switch:
-
-</P>
-
-<PRE>
-msgcat --use-first -o compendium.po file1.po file2.po
-</PRE>
-
-<P>
-A good compendium file must not contain <CODE>fuzzy</CODE> or untranslated
-entries.  If input files are "dirty" you must preprocess the input
-files or postprocess the result using <SAMP>`msgattrib --translated --no-fuzzy&acute;</SAMP>.
-
-</P>
-
-
-<H4><A NAME="SEC58" HREF="gettext_toc.html#TOC58">6.11.1.2  Extract a Message Subset from a PO File</A></H4>
-<P>
-<A NAME="IDX420"></A>
-
-</P>
-<P>
-Nobody wants to translate the same messages again and again; thus you
-may wish to have a compendium file containing <TT>`getopt.c&acute;</TT> messages.
-
-</P>
-<P>
-To extract a message subset (e.g., all <TT>`getopt.c&acute;</TT> messages) from an
-existing PO file into one compendium file you can use <SAMP>`msggrep&acute;</SAMP>:
-
-</P>
-
-<PRE>
-msggrep --location src/getopt.c -o compendium.po file.po
-</PRE>
-
-
-
-<H3><A NAME="SEC59" HREF="gettext_toc.html#TOC59">6.11.2  Using Compendia</A></H3>
-
-<P>
-You can use a compendium file to initialize a translation from scratch
-or to update an already existing translation.
-
-</P>
-
-
-<H4><A NAME="SEC60" HREF="gettext_toc.html#TOC60">6.11.2.1  Initialize a New Translation File</A></H4>
-<P>
-<A NAME="IDX421"></A>
-
-</P>
-<P>
-Since a PO file with translations does not exist the translator can
-merely use <TT>`/dev/null&acute;</TT> to fake the "old" translation file.
-
-</P>
-
-<PRE>
-msgmerge --compendium compendium.po -o file.po /dev/null file.pot
-</PRE>
-
-
-
-<H4><A NAME="SEC61" HREF="gettext_toc.html#TOC61">6.11.2.2  Update an Existing Translation File</A></H4>
-<P>
-<A NAME="IDX422"></A>
-
-</P>
-<P>
-Concatenate the compendium file(s) and the existing PO, merge the
-result with the POT file and remove the obsolete entries (optional,
-here done using <SAMP>`sed&acute;</SAMP>):
-
-</P>
-
-<PRE>
-msgcat --use-first -o update.po compendium1.po compendium2.po file.po
-msgmerge update.po file.pot | sed -e '/^#~/d' &#62; file.po
-</PRE>
-
-<P><HR><P>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_5.html">previous</A>, <A HREF="gettext_7.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
-</BODY>
-</HTML>
diff --git a/doc/gettext_7.html b/doc/gettext_7.html
deleted file mode 100644 (file)
index 3add0be..0000000
+++ /dev/null
@@ -1,2076 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52a
-     from gettext.texi on 5 November 2002 -->
-
-<TITLE>GNU gettext utilities - 7  Manipulating PO Files</TITLE>
-</HEAD>
-<BODY>
-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_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC62" HREF="gettext_toc.html#TOC62">7  Manipulating PO Files</A></H1>
-<P>
-<A NAME="IDX423"></A>
-
-</P>
-<P>
-Sometimes it is necessary to manipulate PO files in a way that is better
-performed automatically than by hand.  GNU <CODE>gettext</CODE> includes a
-complete set of tools for this purpose.
-
-</P>
-<P>
-<A NAME="IDX424"></A>
-When merging two packages into a single package, the resulting POT file
-will be the concatenation of the two packages' POT files.  Thus the
-maintainer must concatenate the two existing package translations into
-a single translation catalog, for each language.  This is best performed
-using <SAMP>`msgcat&acute;</SAMP>.  It is then the translators' duty to deal with any
-possible conflicts that arose during the merge.
-
-</P>
-<P>
-<A NAME="IDX425"></A>
-When a translator takes over the translation job from another translator,
-but she uses a different character encoding in her locale, she will
-convert the catalog to her character encoding.  This is best done through
-the <SAMP>`msgconv&acute;</SAMP> program.
-
-</P>
-<P>
-When a maintainer takes a source file with tagged messages from another
-package, he should also take the existing translations for this source
-file (and not let the translators do the same job twice).  One way to do
-this is through <SAMP>`msggrep&acute;</SAMP>, another is to create a POT file for
-that source file and use <SAMP>`msgmerge&acute;</SAMP>.
-
-</P>
-<P>
-<A NAME="IDX426"></A>
-<A NAME="IDX427"></A>
-When a translator wants to adjust some translation catalog for a special
-dialect or orthography -- for example, German as written in Switzerland
-versus German as written in Germany -- she needs to apply some text
-processing to every message in the catalog.  The tool for doing this is
-<SAMP>`msgfilter&acute;</SAMP>.
-
-</P>
-<P>
-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>`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>
-<A NAME="IDX428"></A>
-When a translator wants to check her translations, for example according
-to orthography rules or using a non-interactive spell checker, she can do
-so using the <SAMP>`msgexec&acute;</SAMP> program.
-
-</P>
-<P>
-<A NAME="IDX429"></A>
-When third party tools create PO or POT files, sometimes duplicates cannot
-be avoided.  But the GNU <CODE>gettext</CODE> tools give an error when they
-encounter duplicate msgids in the same file and in the same domain.
-To merge duplicates, the <SAMP>`msguniq&acute;</SAMP> program can be used.
-
-</P>
-<P>
-<SAMP>`msgcomm&acute;</SAMP> is a more general tool for keeping or throwing away
-duplicates, occurring in different files.
-
-</P>
-<P>
-<SAMP>`msgcmp&acute;</SAMP> can be used to check whether a translation catalog is
-completely translated.
-
-</P>
-<P>
-<A NAME="IDX430"></A>
-<SAMP>`msgattrib&acute;</SAMP> can be used to select and extract only the fuzzy
-or untranslated messages of a translation catalog.
-
-</P>
-<P>
-<SAMP>`msgen&acute;</SAMP> is useful as a first step for preparing English translation
-catalogs.  It copies each message's msgid to its msgstr.
-
-</P>
-
-
-
-<H2><A NAME="SEC63" HREF="gettext_toc.html#TOC63">7.1  Invoking the <CODE>msgcat</CODE> Program</A></H2>
-
-<P>
-<A NAME="IDX431"></A>
-<A NAME="IDX432"></A>
-
-<PRE>
-msgcat [<VAR>option</VAR>] [<VAR>inputfile</VAR>]...
-</PRE>
-
-<P>
-<A NAME="IDX433"></A>
-<A NAME="IDX434"></A>
-The <CODE>msgcat</CODE> program concatenates and merges the specified PO files.
-It finds messages which are common to two or more of the specified PO files.
-By using the <CODE>--more-than</CODE> option, greater commonality may be requested
-before messages are printed.  Conversely, the <CODE>--less-than</CODE> option may be
-used to specify less commonality before messages are printed (i.e.
-<SAMP>`--less-than=2&acute;</SAMP> will only print the unique messages).  Translations,
-comments and extract comments will be cumulated, except that if
-<CODE>--use-first</CODE> is specified, they will be taken from the first PO file
-to define them.  File positions from all PO files will be cumulated.
-
-</P>
-
-
-<H3><A NAME="SEC64" HREF="gettext_toc.html#TOC64">7.1.1  Input file location</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`<VAR>inputfile</VAR> ...&acute;</SAMP>
-<DD>
-Input files.
-
-<DT><SAMP>`-f <VAR>file</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--files-from=<VAR>file</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX435"></A>
-<A NAME="IDX436"></A>
-Read the names of the input files from <VAR>file</VAR> instead of getting
-them from the command line.
-
-<DT><SAMP>`-D <VAR>directory</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--directory=<VAR>directory</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX437"></A>
-<A NAME="IDX438"></A>
-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 <VAR>inputfile</VAR> is <SAMP>`-&acute;</SAMP>, standard input is read.
-
-</P>
-
-
-<H3><A NAME="SEC65" HREF="gettext_toc.html#TOC65">7.1.2  Output file location</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-o <VAR>file</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--output-file=<VAR>file</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX439"></A>
-<A NAME="IDX440"></A>
-Write output to specified file.
-
-</DL>
-
-<P>
-<A NAME="IDX441"></A>
-The results are written to standard output if no output file is specified
-or if it is <SAMP>`-&acute;</SAMP>.
-
-</P>
-
-
-<H3><A NAME="SEC66" HREF="gettext_toc.html#TOC66">7.1.3  Message selection</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-&#60; <VAR>number</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--less-than=<VAR>number</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX442"></A>
-<A NAME="IDX443"></A>
-Print messages with less than <VAR>number</VAR> definitions, defaults to infinite
-if not set.
-
-<DT><SAMP>`-&#62; <VAR>number</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--more-than=<VAR>number</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX444"></A>
-<A NAME="IDX445"></A>
-Print messages with more than <VAR>number</VAR> definitions, defaults to 0 if not
-set.
-
-<DT><SAMP>`-u&acute;</SAMP>
-<DD>
-<DT><SAMP>`--unique&acute;</SAMP>
-<DD>
-<A NAME="IDX446"></A>
-<A NAME="IDX447"></A>
-Shorthand for <SAMP>`--less-than=2&acute;</SAMP>.  Requests that only unique messages be
-printed.
-
-</DL>
-
-
-
-<H3><A NAME="SEC67" HREF="gettext_toc.html#TOC67">7.1.4  Output details</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-t&acute;</SAMP>
-<DD>
-<DT><SAMP>`--to-code=<VAR>name</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX448"></A>
-<A NAME="IDX449"></A>
-Specify encoding for output.
-
-<DT><SAMP>`--use-first&acute;</SAMP>
-<DD>
-<A NAME="IDX450"></A>
-Use first available translation for each message.  Don't merge several
-translations into one.
-
-<DT><SAMP>`--force-po&acute;</SAMP>
-<DD>
-<A NAME="IDX451"></A>
-Always write an output file even if it contains no message.
-
-<DT><SAMP>`-i&acute;</SAMP>
-<DD>
-<DT><SAMP>`--indent&acute;</SAMP>
-<DD>
-<A NAME="IDX452"></A>
-<A NAME="IDX453"></A>
-Write the .po file using indented style.
-
-<DT><SAMP>`--no-location&acute;</SAMP>
-<DD>
-<A NAME="IDX454"></A>
-Do not write <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>&acute;</SAMP> lines.
-
-<DT><SAMP>`-n&acute;</SAMP>
-<DD>
-<DT><SAMP>`--add-location&acute;</SAMP>
-<DD>
-<A NAME="IDX455"></A>
-<A NAME="IDX456"></A>
-Generate <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>&acute;</SAMP> lines (default).
-
-<DT><SAMP>`--strict&acute;</SAMP>
-<DD>
-<A NAME="IDX457"></A>
-Write out a strict Uniforum conforming PO file.  Note that this
-Uniforum format should be avoided because it doesn't support the
-GNU extensions.
-
-<DT><SAMP>`-w <VAR>number</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--width=<VAR>number</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX458"></A>
-<A NAME="IDX459"></A>
-Set the output page width.  Long strings in the output files will be
-split across multiple lines in order to ensure that each line's width
-(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
-
-<DT><SAMP>`--no-wrap&acute;</SAMP>
-<DD>
-<A NAME="IDX460"></A>
-Do not break long message lines.  Message lines whose width exceeds the
-output page width will not be split into several lines.  Only file reference
-lines which are wider than the output page width will be split.
-
-<DT><SAMP>`-s&acute;</SAMP>
-<DD>
-<DT><SAMP>`--sort-output&acute;</SAMP>
-<DD>
-<A NAME="IDX461"></A>
-<A NAME="IDX462"></A>
-<A NAME="IDX463"></A>
-Generate sorted output.  Note that using this option makes it much harder
-for the translator to understand each message's context.
-
-<DT><SAMP>`-F&acute;</SAMP>
-<DD>
-<DT><SAMP>`--sort-by-file&acute;</SAMP>
-<DD>
-<A NAME="IDX464"></A>
-<A NAME="IDX465"></A>
-Sort output by file location.
-
-</DL>
-
-
-
-<H3><A NAME="SEC68" HREF="gettext_toc.html#TOC68">7.1.5  Informative output</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-h&acute;</SAMP>
-<DD>
-<DT><SAMP>`--help&acute;</SAMP>
-<DD>
-<A NAME="IDX466"></A>
-<A NAME="IDX467"></A>
-Display this help and exit.
-
-<DT><SAMP>`-V&acute;</SAMP>
-<DD>
-<DT><SAMP>`--version&acute;</SAMP>
-<DD>
-<A NAME="IDX468"></A>
-<A NAME="IDX469"></A>
-Output version information and exit.
-
-</DL>
-
-
-
-<H2><A NAME="SEC69" HREF="gettext_toc.html#TOC69">7.2  Invoking the <CODE>msgconv</CODE> Program</A></H2>
-
-<P>
-<A NAME="IDX470"></A>
-<A NAME="IDX471"></A>
-
-<PRE>
-msgconv [<VAR>option</VAR>] [<VAR>inputfile</VAR>]
-</PRE>
-
-<P>
-<A NAME="IDX472"></A>
-The <CODE>msgconv</CODE> program converts a translation catalog to a different
-character encoding.
-
-</P>
-
-
-<H3><A NAME="SEC70" HREF="gettext_toc.html#TOC70">7.2.1  Input file location</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`<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>
-<A NAME="IDX473"></A>
-<A NAME="IDX474"></A>
-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="SEC71" HREF="gettext_toc.html#TOC71">7.2.2  Output file location</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-o <VAR>file</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--output-file=<VAR>file</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX475"></A>
-<A NAME="IDX476"></A>
-Write output to specified file.
-
-</DL>
-
-<P>
-The results are written to standard output if no output file is specified
-or if it is <SAMP>`-&acute;</SAMP>.
-
-</P>
-
-
-<H3><A NAME="SEC72" HREF="gettext_toc.html#TOC72">7.2.3  Conversion target</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-t&acute;</SAMP>
-<DD>
-<DT><SAMP>`--to-code=<VAR>name</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX477"></A>
-<A NAME="IDX478"></A>
-Specify encoding for output.
-
-</DL>
-
-<P>
-The default encoding is the current locale's encoding.
-
-</P>
-
-
-<H3><A NAME="SEC73" HREF="gettext_toc.html#TOC73">7.2.4  Output details</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`--force-po&acute;</SAMP>
-<DD>
-<A NAME="IDX479"></A>
-Always write an output file even if it contains no message.
-
-<DT><SAMP>`-i&acute;</SAMP>
-<DD>
-<DT><SAMP>`--indent&acute;</SAMP>
-<DD>
-<A NAME="IDX480"></A>
-<A NAME="IDX481"></A>
-Write the .po file using indented style.
-
-<DT><SAMP>`--no-location&acute;</SAMP>
-<DD>
-<A NAME="IDX482"></A>
-Do not write <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>&acute;</SAMP> lines.
-
-<DT><SAMP>`--add-location&acute;</SAMP>
-<DD>
-<A NAME="IDX483"></A>
-Generate <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>&acute;</SAMP> lines (default).
-
-<DT><SAMP>`--strict&acute;</SAMP>
-<DD>
-<A NAME="IDX484"></A>
-Write out a strict Uniforum conforming PO file.  Note that this
-Uniforum format should be avoided because it doesn't support the
-GNU extensions.
-
-<DT><SAMP>`-w <VAR>number</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--width=<VAR>number</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX485"></A>
-<A NAME="IDX486"></A>
-Set the output page width.  Long strings in the output files will be
-split across multiple lines in order to ensure that each line's width
-(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
-
-<DT><SAMP>`--no-wrap&acute;</SAMP>
-<DD>
-<A NAME="IDX487"></A>
-Do not break long message lines.  Message lines whose width exceeds the
-output page width will not be split into several lines.  Only file reference
-lines which are wider than the output page width will be split.
-
-<DT><SAMP>`-s&acute;</SAMP>
-<DD>
-<DT><SAMP>`--sort-output&acute;</SAMP>
-<DD>
-<A NAME="IDX488"></A>
-<A NAME="IDX489"></A>
-Generate sorted output.  Note that using this option makes it much harder
-for the translator to understand each message's context.
-
-<DT><SAMP>`-F&acute;</SAMP>
-<DD>
-<DT><SAMP>`--sort-by-file&acute;</SAMP>
-<DD>
-<A NAME="IDX490"></A>
-<A NAME="IDX491"></A>
-Sort output by file location.
-
-</DL>
-
-
-
-<H3><A NAME="SEC74" HREF="gettext_toc.html#TOC74">7.2.5  Informative output</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-h&acute;</SAMP>
-<DD>
-<DT><SAMP>`--help&acute;</SAMP>
-<DD>
-<A NAME="IDX492"></A>
-<A NAME="IDX493"></A>
-Display this help and exit.
-
-<DT><SAMP>`-V&acute;</SAMP>
-<DD>
-<DT><SAMP>`--version&acute;</SAMP>
-<DD>
-<A NAME="IDX494"></A>
-<A NAME="IDX495"></A>
-Output version information and exit.
-
-</DL>
-
-
-
-<H2><A NAME="SEC75" HREF="gettext_toc.html#TOC75">7.3  Invoking the <CODE>msggrep</CODE> Program</A></H2>
-
-<P>
-<A NAME="IDX496"></A>
-<A NAME="IDX497"></A>
-
-<PRE>
-msggrep [<VAR>option</VAR>] [<VAR>inputfile</VAR>]
-</PRE>
-
-<P>
-<A NAME="IDX498"></A>
-The <CODE>msggrep</CODE> program extracts all messages of a translation catalog
-that match a given pattern or belong to some given source files.
-
-</P>
-
-
-<H3><A NAME="SEC76" HREF="gettext_toc.html#TOC76">7.3.1  Input file location</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`<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>
-<A NAME="IDX499"></A>
-<A NAME="IDX500"></A>
-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="SEC77" HREF="gettext_toc.html#TOC77">7.3.2  Output file location</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-o <VAR>file</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--output-file=<VAR>file</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX501"></A>
-<A NAME="IDX502"></A>
-Write output to specified file.
-
-</DL>
-
-<P>
-The results are written to standard output if no output file is specified
-or if it is <SAMP>`-&acute;</SAMP>.
-
-</P>
-
-
-<H3><A NAME="SEC78" HREF="gettext_toc.html#TOC78">7.3.3  Message selection</A></H3>
-
-
-<PRE>
-  [-N <VAR>sourcefile</VAR>]... [-M <VAR>domainname</VAR>]...
-  [-K <VAR>msgid-pattern</VAR>] [-T <VAR>msgstr-pattern</VAR>] [-C <VAR>comment-pattern</VAR>]
-</PRE>
-
-<P>
-A message is selected if
-
-<UL>
-<LI>it comes from one of the specified source files,
-
-<LI>or if it comes from one of the specified domains,
-
-<LI>or if <SAMP>`-K&acute;</SAMP> is given and its key (msgid or msgid_plural) matches
-
-      <VAR>msgid-pattern</VAR>,
-<LI>or if <SAMP>`-T&acute;</SAMP> is given and its translation (msgstr) matches
-
-      <VAR>msgstr-pattern</VAR>,
-<LI>or if <SAMP>`-C&acute;</SAMP> is given and the translator's comment matches
-
-      <VAR>comment-pattern</VAR>.
-</UL>
-
-<P>
-When more than one selection criterion is specified, the set of selected
-messages is the union of the selected messages of each criterion.
-
-</P>
-<P>
-<VAR>msgid-pattern</VAR> or <VAR>msgstr-pattern</VAR> syntax:
-
-<PRE>
-  [-E | -F] [-e <VAR>pattern</VAR> | -f <VAR>file</VAR>]...
-</PRE>
-
-<P>
-<VAR>pattern</VAR>s are basic regular expressions by default, or extended regular
-expressions if -E is given, or fixed strings if -F is given.
-
-</P>
-<DL COMPACT>
-
-<DT><SAMP>`-N <VAR>sourcefile</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--location=<VAR>sourcefile</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX503"></A>
-<A NAME="IDX504"></A>
-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>
-<DT><SAMP>`--domain=<VAR>domainname</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX505"></A>
-<A NAME="IDX506"></A>
-Select messages belonging to domain <VAR>domainname</VAR>.
-
-<DT><SAMP>`-K&acute;</SAMP>
-<DD>
-<DT><SAMP>`--msgid&acute;</SAMP>
-<DD>
-<A NAME="IDX507"></A>
-<A NAME="IDX508"></A>
-Start of patterns for the msgid.
-
-<DT><SAMP>`-T&acute;</SAMP>
-<DD>
-<DT><SAMP>`--msgstr&acute;</SAMP>
-<DD>
-<A NAME="IDX509"></A>
-<A NAME="IDX510"></A>
-Start of patterns for the msgstr.
-
-<DT><SAMP>`-E&acute;</SAMP>
-<DD>
-<DT><SAMP>`--extended-regexp&acute;</SAMP>
-<DD>
-<A NAME="IDX511"></A>
-<A NAME="IDX512"></A>
-Specify that <VAR>pattern</VAR> is an extended regular expression.
-
-<DT><SAMP>`-F&acute;</SAMP>
-<DD>
-<DT><SAMP>`--fixed-strings&acute;</SAMP>
-<DD>
-<A NAME="IDX513"></A>
-<A NAME="IDX514"></A>
-Specify that <VAR>pattern</VAR> is a set of newline-separated strings.
-
-<DT><SAMP>`-e <VAR>pattern</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--regexp=<VAR>pattern</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX515"></A>
-<A NAME="IDX516"></A>
-Use <VAR>pattern</VAR> as a regular expression.
-
-<DT><SAMP>`-f <VAR>file</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--file=<VAR>file</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX517"></A>
-<A NAME="IDX518"></A>
-Obtain <VAR>pattern</VAR> from <VAR>file</VAR>.
-
-<DT><SAMP>`-i&acute;</SAMP>
-<DD>
-<DT><SAMP>`--ignore-case&acute;</SAMP>
-<DD>
-<A NAME="IDX519"></A>
-<A NAME="IDX520"></A>
-Ignore case distinctions.
-
-</DL>
-
-
-
-<H3><A NAME="SEC79" HREF="gettext_toc.html#TOC79">7.3.4  Output details</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`--force-po&acute;</SAMP>
-<DD>
-<A NAME="IDX521"></A>
-Always write an output file even if it contains no message.
-
-<DT><SAMP>`--indent&acute;</SAMP>
-<DD>
-<A NAME="IDX522"></A>
-Write the .po file using indented style.
-
-<DT><SAMP>`--no-location&acute;</SAMP>
-<DD>
-<A NAME="IDX523"></A>
-Do not write <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>&acute;</SAMP> lines.
-
-<DT><SAMP>`--add-location&acute;</SAMP>
-<DD>
-<A NAME="IDX524"></A>
-Generate <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>&acute;</SAMP> lines (default).
-
-<DT><SAMP>`--strict&acute;</SAMP>
-<DD>
-<A NAME="IDX525"></A>
-Write out a strict Uniforum conforming PO file.  Note that this
-Uniforum format should be avoided because it doesn't support the
-GNU extensions.
-
-<DT><SAMP>`-w <VAR>number</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--width=<VAR>number</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX526"></A>
-<A NAME="IDX527"></A>
-Set the output page width.  Long strings in the output files will be
-split across multiple lines in order to ensure that each line's width
-(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
-
-<DT><SAMP>`--no-wrap&acute;</SAMP>
-<DD>
-<A NAME="IDX528"></A>
-Do not break long message lines.  Message lines whose width exceeds the
-output page width will not be split into several lines.  Only file reference
-lines which are wider than the output page width will be split.
-
-<DT><SAMP>`--sort-output&acute;</SAMP>
-<DD>
-<A NAME="IDX529"></A>
-Generate sorted output.  Note that using this option makes it much harder
-for the translator to understand each message's context.
-
-<DT><SAMP>`--sort-by-file&acute;</SAMP>
-<DD>
-<A NAME="IDX530"></A>
-Sort output by file location.
-
-</DL>
-
-
-
-<H3><A NAME="SEC80" HREF="gettext_toc.html#TOC80">7.3.5  Informative output</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-h&acute;</SAMP>
-<DD>
-<DT><SAMP>`--help&acute;</SAMP>
-<DD>
-<A NAME="IDX531"></A>
-<A NAME="IDX532"></A>
-Display this help and exit.
-
-<DT><SAMP>`-V&acute;</SAMP>
-<DD>
-<DT><SAMP>`--version&acute;</SAMP>
-<DD>
-<A NAME="IDX533"></A>
-<A NAME="IDX534"></A>
-Output version information and exit.
-
-</DL>
-
-
-
-<H2><A NAME="SEC81" HREF="gettext_toc.html#TOC81">7.4  Invoking the <CODE>msgfilter</CODE> Program</A></H2>
-
-<P>
-<A NAME="IDX535"></A>
-<A NAME="IDX536"></A>
-
-<PRE>
-msgfilter [<VAR>option</VAR>] <VAR>filter</VAR> [<VAR>filter-option</VAR>]
-</PRE>
-
-<P>
-<A NAME="IDX537"></A>
-The <CODE>msgfilter</CODE> program applies a filter to all translations of a
-translation catalog.
-
-</P>
-
-
-<H3><A NAME="SEC82" HREF="gettext_toc.html#TOC82">7.4.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>
-<A NAME="IDX538"></A>
-<A NAME="IDX539"></A>
-Input PO file.
-
-<DT><SAMP>`-D <VAR>directory</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--directory=<VAR>directory</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX540"></A>
-<A NAME="IDX541"></A>
-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="SEC83" HREF="gettext_toc.html#TOC83">7.4.2  Output file location</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-o <VAR>file</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--output-file=<VAR>file</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX542"></A>
-<A NAME="IDX543"></A>
-Write output to specified file.
-
-</DL>
-
-<P>
-The results are written to standard output if no output file is specified
-or if it is <SAMP>`-&acute;</SAMP>.
-
-</P>
-
-
-<H3><A NAME="SEC84" HREF="gettext_toc.html#TOC84">7.4.3  The filter</A></H3>
-
-<P>
-The <VAR>filter</VAR> can be any program that reads a translation from standard
-input and writes a modified translation to standard output.  A frequently
-used filter is <SAMP>`sed&acute;</SAMP>.
-
-</P>
-<P>
-<A NAME="IDX544"></A>
-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>
-<A NAME="IDX545"></A>
-Note: Most translations in a translation catalog don't end with a newline
-character. For this reason, it is important that the <VAR>filter</VAR>
-recognizes its last input line even if it ends without a newline, and that
-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="SEC85" HREF="gettext_toc.html#TOC85">7.4.4  Useful <VAR>filter-option</VAR>s when the <VAR>filter</VAR> is <SAMP>`sed&acute;</SAMP></A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-e <VAR>script</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--expression=<VAR>script</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX546"></A>
-<A NAME="IDX547"></A>
-Add <VAR>script</VAR> to the commands to be executed.
-
-<DT><SAMP>`-f <VAR>scriptfile</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--file=<VAR>scriptfile</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX548"></A>
-<A NAME="IDX549"></A>
-Add the contents of <VAR>scriptfile</VAR> to the commands to be executed.
-
-<DT><SAMP>`-n&acute;</SAMP>
-<DD>
-<DT><SAMP>`--quiet&acute;</SAMP>
-<DD>
-<DT><SAMP>`--silent&acute;</SAMP>
-<DD>
-<A NAME="IDX550"></A>
-<A NAME="IDX551"></A>
-<A NAME="IDX552"></A>
-Suppress automatic printing of pattern space.
-
-</DL>
-
-
-
-<H3><A NAME="SEC86" HREF="gettext_toc.html#TOC86">7.4.5  Output details</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`--force-po&acute;</SAMP>
-<DD>
-<A NAME="IDX553"></A>
-Always write an output file even if it contains no message.
-
-<DT><SAMP>`--indent&acute;</SAMP>
-<DD>
-<A NAME="IDX554"></A>
-Write the .po file using indented style.
-
-<DT><SAMP>`--keep-header&acute;</SAMP>
-<DD>
-<A NAME="IDX555"></A>
-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>
-<A NAME="IDX556"></A>
-Do not write <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>&acute;</SAMP> lines.
-
-<DT><SAMP>`--add-location&acute;</SAMP>
-<DD>
-<A NAME="IDX557"></A>
-Generate <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>&acute;</SAMP> lines (default).
-
-<DT><SAMP>`--strict&acute;</SAMP>
-<DD>
-<A NAME="IDX558"></A>
-Write out a strict Uniforum conforming PO file.  Note that this
-Uniforum format should be avoided because it doesn't support the
-GNU extensions.
-
-<DT><SAMP>`-w <VAR>number</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--width=<VAR>number</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX559"></A>
-<A NAME="IDX560"></A>
-Set the output page width.  Long strings in the output files will be
-split across multiple lines in order to ensure that each line's width
-(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
-
-<DT><SAMP>`--no-wrap&acute;</SAMP>
-<DD>
-<A NAME="IDX561"></A>
-Do not break long message lines.  Message lines whose width exceeds the
-output page width will not be split into several lines.  Only file reference
-lines which are wider than the output page width will be split.
-
-<DT><SAMP>`-s&acute;</SAMP>
-<DD>
-<DT><SAMP>`--sort-output&acute;</SAMP>
-<DD>
-<A NAME="IDX562"></A>
-<A NAME="IDX563"></A>
-Generate sorted output.  Note that using this option makes it much harder
-for the translator to understand each message's context.
-
-<DT><SAMP>`-F&acute;</SAMP>
-<DD>
-<DT><SAMP>`--sort-by-file&acute;</SAMP>
-<DD>
-<A NAME="IDX564"></A>
-<A NAME="IDX565"></A>
-Sort output by file location.
-
-</DL>
-
-
-
-<H3><A NAME="SEC87" HREF="gettext_toc.html#TOC87">7.4.6  Informative output</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-h&acute;</SAMP>
-<DD>
-<DT><SAMP>`--help&acute;</SAMP>
-<DD>
-<A NAME="IDX566"></A>
-<A NAME="IDX567"></A>
-Display this help and exit.
-
-<DT><SAMP>`-V&acute;</SAMP>
-<DD>
-<DT><SAMP>`--version&acute;</SAMP>
-<DD>
-<A NAME="IDX568"></A>
-<A NAME="IDX569"></A>
-Output version information and exit.
-
-</DL>
-
-
-
-<H2><A NAME="SEC88" HREF="gettext_toc.html#TOC88">7.5  Invoking the <CODE>msguniq</CODE> Program</A></H2>
-
-<P>
-<A NAME="IDX570"></A>
-<A NAME="IDX571"></A>
-
-<PRE>
-msguniq [<VAR>option</VAR>] [<VAR>inputfile</VAR>]
-</PRE>
-
-<P>
-<A NAME="IDX572"></A>
-<A NAME="IDX573"></A>
-The <CODE>msguniq</CODE> program unifies duplicate translations in a translation
-catalog.  It finds duplicate translations of the same message ID.  Such
-duplicates are invalid input for other programs like <CODE>msgfmt</CODE>,
-<CODE>msgmerge</CODE> or <CODE>msgcat</CODE>.  By default, duplicates are merged
-together.  When using the <SAMP>`--repeated&acute;</SAMP> option, only duplicates are
-output, and all other messages are discarded.  Comments and extracted
-comments will be cumulated, except that if <SAMP>`--use-first&acute;</SAMP> is
-specified, they will be taken from the first translation.  File positions
-will be cumulated.  When using the <SAMP>`--unique&acute;</SAMP> option, duplicates are
-discarded.
-
-</P>
-
-
-<H3><A NAME="SEC89" HREF="gettext_toc.html#TOC89">7.5.1  Input file location</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`<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>
-<A NAME="IDX574"></A>
-<A NAME="IDX575"></A>
-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="SEC90" HREF="gettext_toc.html#TOC90">7.5.2  Output file location</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-o <VAR>file</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--output-file=<VAR>file</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX576"></A>
-<A NAME="IDX577"></A>
-Write output to specified file.
-
-</DL>
-
-<P>
-The results are written to standard output if no output file is specified
-or if it is <SAMP>`-&acute;</SAMP>.
-
-</P>
-
-
-<H3><A NAME="SEC91" HREF="gettext_toc.html#TOC91">7.5.3  Message selection</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-d&acute;</SAMP>
-<DD>
-<DT><SAMP>`--repeated&acute;</SAMP>
-<DD>
-<A NAME="IDX578"></A>
-<A NAME="IDX579"></A>
-Print only duplicates.
-
-<DT><SAMP>`-u&acute;</SAMP>
-<DD>
-<DT><SAMP>`--unique&acute;</SAMP>
-<DD>
-<A NAME="IDX580"></A>
-<A NAME="IDX581"></A>
-Print only unique messages, discard duplicates.
-
-</DL>
-
-
-
-<H3><A NAME="SEC92" HREF="gettext_toc.html#TOC92">7.5.4  Output details</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-t&acute;</SAMP>
-<DD>
-<DT><SAMP>`--to-code=<VAR>name</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX582"></A>
-<A NAME="IDX583"></A>
-Specify encoding for output.
-
-<DT><SAMP>`--use-first&acute;</SAMP>
-<DD>
-<A NAME="IDX584"></A>
-Use first available translation for each message.  Don't merge several
-translations into one.
-
-<DT><SAMP>`--force-po&acute;</SAMP>
-<DD>
-<A NAME="IDX585"></A>
-Always write an output file even if it contains no message.
-
-<DT><SAMP>`-i&acute;</SAMP>
-<DD>
-<DT><SAMP>`--indent&acute;</SAMP>
-<DD>
-<A NAME="IDX586"></A>
-<A NAME="IDX587"></A>
-Write the .po file using indented style.
-
-<DT><SAMP>`--no-location&acute;</SAMP>
-<DD>
-<A NAME="IDX588"></A>
-Do not write <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>&acute;</SAMP> lines.
-
-<DT><SAMP>`-n&acute;</SAMP>
-<DD>
-<DT><SAMP>`--add-location&acute;</SAMP>
-<DD>
-<A NAME="IDX589"></A>
-<A NAME="IDX590"></A>
-Generate <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>&acute;</SAMP> lines (default).
-
-<DT><SAMP>`--strict&acute;</SAMP>
-<DD>
-<A NAME="IDX591"></A>
-Write out a strict Uniforum conforming PO file.  Note that this
-Uniforum format should be avoided because it doesn't support the
-GNU extensions.
-
-<DT><SAMP>`-w <VAR>number</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--width=<VAR>number</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX592"></A>
-<A NAME="IDX593"></A>
-Set the output page width.  Long strings in the output files will be
-split across multiple lines in order to ensure that each line's width
-(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
-
-<DT><SAMP>`--no-wrap&acute;</SAMP>
-<DD>
-<A NAME="IDX594"></A>
-Do not break long message lines.  Message lines whose width exceeds the
-output page width will not be split into several lines.  Only file reference
-lines which are wider than the output page width will be split.
-
-<DT><SAMP>`-s&acute;</SAMP>
-<DD>
-<DT><SAMP>`--sort-output&acute;</SAMP>
-<DD>
-<A NAME="IDX595"></A>
-<A NAME="IDX596"></A>
-Generate sorted output.  Note that using this option makes it much harder
-for the translator to understand each message's context.
-
-<DT><SAMP>`-F&acute;</SAMP>
-<DD>
-<DT><SAMP>`--sort-by-file&acute;</SAMP>
-<DD>
-<A NAME="IDX597"></A>
-<A NAME="IDX598"></A>
-Sort output by file location.
-
-</DL>
-
-
-
-<H3><A NAME="SEC93" HREF="gettext_toc.html#TOC93">7.5.5  Informative output</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-h&acute;</SAMP>
-<DD>
-<DT><SAMP>`--help&acute;</SAMP>
-<DD>
-<A NAME="IDX599"></A>
-<A NAME="IDX600"></A>
-Display this help and exit.
-
-<DT><SAMP>`-V&acute;</SAMP>
-<DD>
-<DT><SAMP>`--version&acute;</SAMP>
-<DD>
-<A NAME="IDX601"></A>
-<A NAME="IDX602"></A>
-Output version information and exit.
-
-</DL>
-
-
-
-<H2><A NAME="SEC94" HREF="gettext_toc.html#TOC94">7.6  Invoking the <CODE>msgcomm</CODE> Program</A></H2>
-
-<P>
-<A NAME="IDX603"></A>
-<A NAME="IDX604"></A>
-
-<PRE>
-msgcomm [<VAR>option</VAR>] [<VAR>inputfile</VAR>]...
-</PRE>
-
-<P>
-<A NAME="IDX605"></A>
-The <CODE>msgcomm</CODE> program finds messages which are common to two or more
-of the specified PO files.
-By using the <CODE>--more-than</CODE> option, greater commonality may be requested
-before messages are printed.  Conversely, the <CODE>--less-than</CODE> option may be
-used to specify less commonality before messages are printed (i.e.
-<SAMP>`--less-than=2&acute;</SAMP> will only print the unique messages).  Translations,
-comments and extract comments will be preserved, but only from the first
-PO file to define them.  File positions from all PO files will be
-cumulated.
-
-</P>
-
-
-<H3><A NAME="SEC95" HREF="gettext_toc.html#TOC95">7.6.1  Input file location</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`<VAR>inputfile</VAR> ...&acute;</SAMP>
-<DD>
-Input files.
-
-<DT><SAMP>`-f <VAR>file</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--files-from=<VAR>file</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX606"></A>
-<A NAME="IDX607"></A>
-Read the names of the input files from <VAR>file</VAR> instead of getting
-them from the command line.
-
-<DT><SAMP>`-D <VAR>directory</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--directory=<VAR>directory</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX608"></A>
-<A NAME="IDX609"></A>
-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 <VAR>inputfile</VAR> is <SAMP>`-&acute;</SAMP>, standard input is read.
-
-</P>
-
-
-<H3><A NAME="SEC96" HREF="gettext_toc.html#TOC96">7.6.2  Output file location</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-o <VAR>file</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--output-file=<VAR>file</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX610"></A>
-<A NAME="IDX611"></A>
-Write output to specified file.
-
-</DL>
-
-<P>
-The results are written to standard output if no output file is specified
-or if it is <SAMP>`-&acute;</SAMP>.
-
-</P>
-
-
-<H3><A NAME="SEC97" HREF="gettext_toc.html#TOC97">7.6.3  Message selection</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-&#60; <VAR>number</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--less-than=<VAR>number</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX612"></A>
-<A NAME="IDX613"></A>
-Print messages with less than <VAR>number</VAR> definitions, defaults to infinite
-if not set.
-
-<DT><SAMP>`-&#62; <VAR>number</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--more-than=<VAR>number</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX614"></A>
-<A NAME="IDX615"></A>
-Print messages with more than <VAR>number</VAR> definitions, defaults to 1 if not
-set.
-
-<DT><SAMP>`-u&acute;</SAMP>
-<DD>
-<DT><SAMP>`--unique&acute;</SAMP>
-<DD>
-<A NAME="IDX616"></A>
-<A NAME="IDX617"></A>
-Shorthand for <SAMP>`--less-than=2&acute;</SAMP>.  Requests that only unique messages be
-printed.
-
-</DL>
-
-
-
-<H3><A NAME="SEC98" HREF="gettext_toc.html#TOC98">7.6.4  Output details</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`--force-po&acute;</SAMP>
-<DD>
-<A NAME="IDX618"></A>
-Always write an output file even if it contains no message.
-
-<DT><SAMP>`-i&acute;</SAMP>
-<DD>
-<DT><SAMP>`--indent&acute;</SAMP>
-<DD>
-<A NAME="IDX619"></A>
-<A NAME="IDX620"></A>
-Write the .po file using indented style.
-
-<DT><SAMP>`--no-location&acute;</SAMP>
-<DD>
-<A NAME="IDX621"></A>
-Do not write <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>&acute;</SAMP> lines.
-
-<DT><SAMP>`-n&acute;</SAMP>
-<DD>
-<DT><SAMP>`--add-location&acute;</SAMP>
-<DD>
-<A NAME="IDX622"></A>
-<A NAME="IDX623"></A>
-Generate <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>&acute;</SAMP> lines (default).
-
-<DT><SAMP>`--strict&acute;</SAMP>
-<DD>
-<A NAME="IDX624"></A>
-Write out a strict Uniforum conforming PO file.  Note that this
-Uniforum format should be avoided because it doesn't support the
-GNU extensions.
-
-<DT><SAMP>`-w <VAR>number</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--width=<VAR>number</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX625"></A>
-<A NAME="IDX626"></A>
-Set the output page width.  Long strings in the output files will be
-split across multiple lines in order to ensure that each line's width
-(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
-
-<DT><SAMP>`--no-wrap&acute;</SAMP>
-<DD>
-<A NAME="IDX627"></A>
-Do not break long message lines.  Message lines whose width exceeds the
-output page width will not be split into several lines.  Only file reference
-lines which are wider than the output page width will be split.
-
-<DT><SAMP>`-s&acute;</SAMP>
-<DD>
-<DT><SAMP>`--sort-output&acute;</SAMP>
-<DD>
-<A NAME="IDX628"></A>
-<A NAME="IDX629"></A>
-Generate sorted output.  Note that using this option makes it much harder
-for the translator to understand each message's context.
-
-<DT><SAMP>`-F&acute;</SAMP>
-<DD>
-<DT><SAMP>`--sort-by-file&acute;</SAMP>
-<DD>
-<A NAME="IDX630"></A>
-<A NAME="IDX631"></A>
-Sort output by file location.
-
-<DT><SAMP>`--omit-header&acute;</SAMP>
-<DD>
-<A NAME="IDX632"></A>
-Don't write header with <SAMP>`msgid ""&acute;</SAMP> entry.
-
-</DL>
-
-
-
-<H3><A NAME="SEC99" HREF="gettext_toc.html#TOC99">7.6.5  Informative output</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-h&acute;</SAMP>
-<DD>
-<DT><SAMP>`--help&acute;</SAMP>
-<DD>
-<A NAME="IDX633"></A>
-<A NAME="IDX634"></A>
-Display this help and exit.
-
-<DT><SAMP>`-V&acute;</SAMP>
-<DD>
-<DT><SAMP>`--version&acute;</SAMP>
-<DD>
-<A NAME="IDX635"></A>
-<A NAME="IDX636"></A>
-Output version information and exit.
-
-</DL>
-
-
-
-<H2><A NAME="SEC100" HREF="gettext_toc.html#TOC100">7.7  Invoking the <CODE>msgcmp</CODE> Program</A></H2>
-
-<P>
-<A NAME="IDX637"></A>
-<A NAME="IDX638"></A>
-
-<PRE>
-msgcmp [<VAR>option</VAR>] <VAR>def</VAR>.po <VAR>ref</VAR>.pot
-</PRE>
-
-<P>
-<A NAME="IDX639"></A>
-The <CODE>msgcmp</CODE> program compares two Uniforum style .po files to check that
-both contain the same set of msgid strings.  The <VAR>def</VAR>.po file is an
-existing PO file with the translations.  The <VAR>ref</VAR>.pot file is the last
-created PO file, or a PO Template file (generally created by <CODE>xgettext</CODE>).
-This is useful for checking that you have translated each and every message
-in your program.  Where an exact match cannot be found, fuzzy matching is
-used to produce better diagnostics.
-
-</P>
-
-
-<H3><A NAME="SEC101" HREF="gettext_toc.html#TOC101">7.7.1  Input file location</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`<VAR>def</VAR>.po&acute;</SAMP>
-<DD>
-Translations.
-
-<DT><SAMP>`<VAR>ref</VAR>.pot&acute;</SAMP>
-<DD>
-References to the sources.
-
-<DT><SAMP>`-D <VAR>directory</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--directory=<VAR>directory</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX640"></A>
-<A NAME="IDX641"></A>
-Add <VAR>directory</VAR> to the list of directories.  Source files are
-searched relative to this list of directories.
-
-</DL>
-
-
-
-<H3><A NAME="SEC102" HREF="gettext_toc.html#TOC102">7.7.2  Operation modifiers</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-m&acute;</SAMP>
-<DD>
-<DT><SAMP>`--multi-domain&acute;</SAMP>
-<DD>
-<A NAME="IDX642"></A>
-<A NAME="IDX643"></A>
-Apply <VAR>ref</VAR>.pot to each of the domains in <VAR>def</VAR>.po.
-
-</DL>
-
-
-
-<H3><A NAME="SEC103" HREF="gettext_toc.html#TOC103">7.7.3  Informative output</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-h&acute;</SAMP>
-<DD>
-<DT><SAMP>`--help&acute;</SAMP>
-<DD>
-<A NAME="IDX644"></A>
-<A NAME="IDX645"></A>
-Display this help and exit.
-
-<DT><SAMP>`-V&acute;</SAMP>
-<DD>
-<DT><SAMP>`--version&acute;</SAMP>
-<DD>
-<A NAME="IDX646"></A>
-<A NAME="IDX647"></A>
-Output version information and exit.
-
-</DL>
-
-
-
-<H2><A NAME="SEC104" HREF="gettext_toc.html#TOC104">7.8  Invoking the <CODE>msgattrib</CODE> Program</A></H2>
-
-<P>
-<A NAME="IDX648"></A>
-<A NAME="IDX649"></A>
-
-<PRE>
-msgattrib [<VAR>option</VAR>] [<VAR>inputfile</VAR>]
-</PRE>
-
-<P>
-<A NAME="IDX650"></A>
-<A NAME="IDX651"></A>
-The <CODE>msgattrib</CODE> program filters the messages of a translation catalog
-according to their attributes, and manipulates the attributes.
-
-</P>
-
-
-<H3><A NAME="SEC105" HREF="gettext_toc.html#TOC105">7.8.1  Input file location</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`<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>
-<A NAME="IDX652"></A>
-<A NAME="IDX653"></A>
-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="SEC106" HREF="gettext_toc.html#TOC106">7.8.2  Output file location</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-o <VAR>file</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--output-file=<VAR>file</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX654"></A>
-<A NAME="IDX655"></A>
-Write output to specified file.
-
-</DL>
-
-<P>
-The results are written to standard output if no output file is specified
-or if it is <SAMP>`-&acute;</SAMP>.
-
-</P>
-
-
-<H3><A NAME="SEC107" HREF="gettext_toc.html#TOC107">7.8.3  Message selection</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`--translated&acute;</SAMP>
-<DD>
-<A NAME="IDX656"></A>
-Keep translated messages, remove untranslated messages.
-
-<DT><SAMP>`--untranslated&acute;</SAMP>
-<DD>
-<A NAME="IDX657"></A>
-Keep untranslated messages, remove translated messages.
-
-<DT><SAMP>`--no-fuzzy&acute;</SAMP>
-<DD>
-<A NAME="IDX658"></A>
-Remove `fuzzy' marked messages.
-
-<DT><SAMP>`--only-fuzzy&acute;</SAMP>
-<DD>
-<A NAME="IDX659"></A>
-Keep `fuzzy' marked messages, remove all other messsages.
-
-<DT><SAMP>`--no-obsolete&acute;</SAMP>
-<DD>
-<A NAME="IDX660"></A>
-Remove obsolete #~ messages.
-
-<DT><SAMP>`--only-obsolete&acute;</SAMP>
-<DD>
-<A NAME="IDX661"></A>
-Keep obsolete #~ messages, remove all other messages.
-
-</DL>
-
-
-
-<H3><A NAME="SEC108" HREF="gettext_toc.html#TOC108">7.8.4  Attribute manipulation</A></H3>
-
-<P>
-<A NAME="IDX662"></A>
-Attributes are modified after the message selection/removal has been
-performed.
-
-</P>
-<DL COMPACT>
-
-<DT><SAMP>`--set-fuzzy&acute;</SAMP>
-<DD>
-<A NAME="IDX663"></A>
-Set all messages `fuzzy'.
-
-<DT><SAMP>`--clear-fuzzy&acute;</SAMP>
-<DD>
-<A NAME="IDX664"></A>
-Set all messages non-`fuzzy'.
-
-<DT><SAMP>`--set-obsolete&acute;</SAMP>
-<DD>
-<A NAME="IDX665"></A>
-Set all messages obsolete.
-
-<DT><SAMP>`--clear-obsolete&acute;</SAMP>
-<DD>
-<A NAME="IDX666"></A>
-Set all messages non-obsolete.
-
-<DT><SAMP>`--fuzzy&acute;</SAMP>
-<DD>
-<A NAME="IDX667"></A>
-Synonym for <SAMP>`--only-fuzzy --clear-fuzzy&acute;</SAMP>: It keeps only the fuzzy
-messages and removes their `fuzzy' mark.
-
-<DT><SAMP>`--obsolete&acute;</SAMP>
-<DD>
-<A NAME="IDX668"></A>
-Synonym for <SAMP>`--only-obsolete --clear-obsolete&acute;</SAMP>: It keeps only the
-obsolete messages and makes them non-obsolete.
-
-</DL>
-
-
-
-<H3><A NAME="SEC109" HREF="gettext_toc.html#TOC109">7.8.5  Output details</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`--force-po&acute;</SAMP>
-<DD>
-<A NAME="IDX669"></A>
-Always write an output file even if it contains no message.
-
-<DT><SAMP>`-i&acute;</SAMP>
-<DD>
-<DT><SAMP>`--indent&acute;</SAMP>
-<DD>
-<A NAME="IDX670"></A>
-<A NAME="IDX671"></A>
-Write the .po file using indented style.
-
-<DT><SAMP>`--no-location&acute;</SAMP>
-<DD>
-<A NAME="IDX672"></A>
-Do not write <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>&acute;</SAMP> lines.
-
-<DT><SAMP>`-n&acute;</SAMP>
-<DD>
-<DT><SAMP>`--add-location&acute;</SAMP>
-<DD>
-<A NAME="IDX673"></A>
-<A NAME="IDX674"></A>
-Generate <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>&acute;</SAMP> lines (default).
-
-<DT><SAMP>`--strict&acute;</SAMP>
-<DD>
-<A NAME="IDX675"></A>
-Write out a strict Uniforum conforming PO file.  Note that this
-Uniforum format should be avoided because it doesn't support the
-GNU extensions.
-
-<DT><SAMP>`-w <VAR>number</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--width=<VAR>number</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX676"></A>
-<A NAME="IDX677"></A>
-Set the output page width.  Long strings in the output files will be
-split across multiple lines in order to ensure that each line's width
-(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
-
-<DT><SAMP>`--no-wrap&acute;</SAMP>
-<DD>
-<A NAME="IDX678"></A>
-Do not break long message lines.  Message lines whose width exceeds the
-output page width will not be split into several lines.  Only file reference
-lines which are wider than the output page width will be split.
-
-<DT><SAMP>`-s&acute;</SAMP>
-<DD>
-<DT><SAMP>`--sort-output&acute;</SAMP>
-<DD>
-<A NAME="IDX679"></A>
-<A NAME="IDX680"></A>
-Generate sorted output.  Note that using this option makes it much harder
-for the translator to understand each message's context.
-
-<DT><SAMP>`-F&acute;</SAMP>
-<DD>
-<DT><SAMP>`--sort-by-file&acute;</SAMP>
-<DD>
-<A NAME="IDX681"></A>
-<A NAME="IDX682"></A>
-Sort output by file location.
-
-</DL>
-
-
-
-<H3><A NAME="SEC110" HREF="gettext_toc.html#TOC110">7.8.6  Informative output</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-h&acute;</SAMP>
-<DD>
-<DT><SAMP>`--help&acute;</SAMP>
-<DD>
-<A NAME="IDX683"></A>
-<A NAME="IDX684"></A>
-Display this help and exit.
-
-<DT><SAMP>`-V&acute;</SAMP>
-<DD>
-<DT><SAMP>`--version&acute;</SAMP>
-<DD>
-<A NAME="IDX685"></A>
-<A NAME="IDX686"></A>
-Output version information and exit.
-
-</DL>
-
-
-
-<H2><A NAME="SEC111" HREF="gettext_toc.html#TOC111">7.9  Invoking the <CODE>msgen</CODE> Program</A></H2>
-
-<P>
-<A NAME="IDX687"></A>
-<A NAME="IDX688"></A>
-
-<PRE>
-msgen [<VAR>option</VAR>] <VAR>inputfile</VAR>
-</PRE>
-
-<P>
-<A NAME="IDX689"></A>
-The <CODE>msgen</CODE> program creates an English translation catalog.  The
-input file is the last created English PO file, or a PO Template file
-(generally created by xgettext).  Untranslated entries are assigned a
-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="SEC112" HREF="gettext_toc.html#TOC112">7.9.1  Input file location</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`<VAR>inputfile</VAR>&acute;</SAMP>
-<DD>
-Input PO or POT file.
-
-<DT><SAMP>`-D <VAR>directory</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--directory=<VAR>directory</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX690"></A>
-<A NAME="IDX691"></A>
-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 <VAR>inputfile</VAR> is <SAMP>`-&acute;</SAMP>, standard input is read.
-
-</P>
-
-
-<H3><A NAME="SEC113" HREF="gettext_toc.html#TOC113">7.9.2  Output file location</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-o <VAR>file</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--output-file=<VAR>file</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX692"></A>
-<A NAME="IDX693"></A>
-Write output to specified file.
-
-</DL>
-
-<P>
-The results are written to standard output if no output file is specified
-or if it is <SAMP>`-&acute;</SAMP>.
-
-</P>
-
-
-<H3><A NAME="SEC114" HREF="gettext_toc.html#TOC114">7.9.3  Output details</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`--force-po&acute;</SAMP>
-<DD>
-<A NAME="IDX694"></A>
-Always write an output file even if it contains no message.
-
-<DT><SAMP>`-i&acute;</SAMP>
-<DD>
-<DT><SAMP>`--indent&acute;</SAMP>
-<DD>
-<A NAME="IDX695"></A>
-<A NAME="IDX696"></A>
-Write the .po file using indented style.
-
-<DT><SAMP>`--no-location&acute;</SAMP>
-<DD>
-<A NAME="IDX697"></A>
-Do not write <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>&acute;</SAMP> lines.
-
-<DT><SAMP>`--add-location&acute;</SAMP>
-<DD>
-<A NAME="IDX698"></A>
-Generate <SAMP>`#: <VAR>filename</VAR>:<VAR>line</VAR>&acute;</SAMP> lines (default).
-
-<DT><SAMP>`--strict&acute;</SAMP>
-<DD>
-<A NAME="IDX699"></A>
-Write out a strict Uniforum conforming PO file.  Note that this
-Uniforum format should be avoided because it doesn't support the
-GNU extensions.
-
-<DT><SAMP>`-w <VAR>number</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--width=<VAR>number</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX700"></A>
-<A NAME="IDX701"></A>
-Set the output page width.  Long strings in the output files will be
-split across multiple lines in order to ensure that each line's width
-(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
-
-<DT><SAMP>`--no-wrap&acute;</SAMP>
-<DD>
-<A NAME="IDX702"></A>
-Do not break long message lines.  Message lines whose width exceeds the
-output page width will not be split into several lines.  Only file reference
-lines which are wider than the output page width will be split.
-
-<DT><SAMP>`-s&acute;</SAMP>
-<DD>
-<DT><SAMP>`--sort-output&acute;</SAMP>
-<DD>
-<A NAME="IDX703"></A>
-<A NAME="IDX704"></A>
-Generate sorted output.  Note that using this option makes it much harder
-for the translator to understand each message's context.
-
-<DT><SAMP>`-F&acute;</SAMP>
-<DD>
-<DT><SAMP>`--sort-by-file&acute;</SAMP>
-<DD>
-<A NAME="IDX705"></A>
-<A NAME="IDX706"></A>
-Sort output by file location.
-
-</DL>
-
-
-
-<H3><A NAME="SEC115" HREF="gettext_toc.html#TOC115">7.9.4  Informative output</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-h&acute;</SAMP>
-<DD>
-<DT><SAMP>`--help&acute;</SAMP>
-<DD>
-<A NAME="IDX707"></A>
-<A NAME="IDX708"></A>
-Display this help and exit.
-
-<DT><SAMP>`-V&acute;</SAMP>
-<DD>
-<DT><SAMP>`--version&acute;</SAMP>
-<DD>
-<A NAME="IDX709"></A>
-<A NAME="IDX710"></A>
-Output version information and exit.
-
-</DL>
-
-
-
-<H2><A NAME="SEC116" HREF="gettext_toc.html#TOC116">7.10  Invoking the <CODE>msgexec</CODE> Program</A></H2>
-
-<P>
-<A NAME="IDX711"></A>
-<A NAME="IDX712"></A>
-
-<PRE>
-msgexec [<VAR>option</VAR>] <VAR>command</VAR> [<VAR>command-option</VAR>]
-</PRE>
-
-<P>
-<A NAME="IDX713"></A>
-The <CODE>msgexec</CODE> program applies a command to all translations of a
-translation catalog.
-The <VAR>command</VAR> can be any program that reads a translation from standard
-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 NAME="IDX714"></A>
-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>
-<A NAME="IDX715"></A>
-<A NAME="IDX716"></A>
-During each <VAR>command</VAR> invocation, the environment variable
-<CODE>MSGEXEC_MSGID</CODE> is bound to the message's msgid, and the environment
-variable <CODE>MSGEXEC_LOCATION</CODE> is bound to the location in the PO file
-of the message.
-
-</P>
-<P>
-<A NAME="IDX717"></A>
-Note: It is your responsibility to ensure that the <VAR>command</VAR> can cope
-with input encoded in the translation catalog's encoding.  If the
-<VAR>command</VAR> wants input in a particular encoding, you can in a first step
-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="SEC117" HREF="gettext_toc.html#TOC117">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>
-<A NAME="IDX718"></A>
-<A NAME="IDX719"></A>
-Input PO file.
-
-<DT><SAMP>`-D <VAR>directory</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--directory=<VAR>directory</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX720"></A>
-<A NAME="IDX721"></A>
-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="SEC118" HREF="gettext_toc.html#TOC118">7.10.2  Informative output</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-h&acute;</SAMP>
-<DD>
-<DT><SAMP>`--help&acute;</SAMP>
-<DD>
-<A NAME="IDX722"></A>
-<A NAME="IDX723"></A>
-Display this help and exit.
-
-<DT><SAMP>`-V&acute;</SAMP>
-<DD>
-<DT><SAMP>`--version&acute;</SAMP>
-<DD>
-<A NAME="IDX724"></A>
-<A NAME="IDX725"></A>
-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_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
-</BODY>
-</HTML>
diff --git a/doc/gettext_8.html b/doc/gettext_8.html
deleted file mode 100644 (file)
index 14458b2..0000000
+++ /dev/null
@@ -1,725 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52a
-     from gettext.texi on 5 November 2002 -->
-
-<TITLE>GNU gettext utilities - 8  Producing Binary MO Files</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_7.html">previous</A>, <A HREF="gettext_9.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC119" HREF="gettext_toc.html#TOC119">8  Producing Binary MO Files</A></H1>
-
-
-
-<H2><A NAME="SEC120" HREF="gettext_toc.html#TOC120">8.1  Invoking the <CODE>msgfmt</CODE> Program</A></H2>
-
-<P>
-<A NAME="IDX726"></A>
-<A NAME="IDX727"></A>
-
-<PRE>
-msgfmt [<VAR>option</VAR>] <VAR>filename</VAR>.po ...
-</PRE>
-
-<P>
-<A NAME="IDX728"></A>
-The <CODE>msgfmt</CODE> programs generates a binary message catalog from a textual
-translation description.
-
-</P>
-
-
-<H3><A NAME="SEC121" HREF="gettext_toc.html#TOC121">8.1.1  Input file location</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`<VAR>filename</VAR>.po ...&acute;</SAMP>
-<DD>
-<DT><SAMP>`-D <VAR>directory</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--directory=<VAR>directory</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX729"></A>
-<A NAME="IDX730"></A>
-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 an input file is <SAMP>`-&acute;</SAMP>, standard input is read.
-
-</P>
-
-
-<H3><A NAME="SEC122" HREF="gettext_toc.html#TOC122">8.1.2  Operation mode</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-j&acute;</SAMP>
-<DD>
-<DT><SAMP>`--java&acute;</SAMP>
-<DD>
-<A NAME="IDX731"></A>
-<A NAME="IDX732"></A>
-<A NAME="IDX733"></A>
-Java mode: generate a Java <CODE>ResourceBundle</CODE> class.
-
-<DT><SAMP>`--java2&acute;</SAMP>
-<DD>
-<A NAME="IDX734"></A>
-Like --java, and assume Java2 (JDK 1.2 or higher).
-
-<DT><SAMP>`--tcl&acute;</SAMP>
-<DD>
-<A NAME="IDX735"></A>
-<A NAME="IDX736"></A>
-Tcl mode: generate a tcl/msgcat <TT>`.msg&acute;</TT> file.
-
-</DL>
-
-
-
-<H3><A NAME="SEC123" HREF="gettext_toc.html#TOC123">8.1.3  Output file location</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-o <VAR>file</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--output-file=<VAR>file</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX737"></A>
-<A NAME="IDX738"></A>
-Write output to specified file.
-
-<DT><SAMP>`--strict&acute;</SAMP>
-<DD>
-<A NAME="IDX739"></A>
-Direct the program to work strictly following the Uniforum/Sun
-implementation.  Currently this only affects the naming of the output
-file.  If this option is not given the name of the output file is the
-same as the domain name.  If the strict Uniforum mode is enabled the
-suffix <TT>`.mo&acute;</TT> is added to the file name if it is not already
-present.
-
-We find this behaviour of Sun's implementation rather silly and so by
-default this mode is <EM>not</EM> selected.
-
-</DL>
-
-<P>
-If the output <VAR>file</VAR> is <SAMP>`-&acute;</SAMP>, output is written to standard output.
-
-</P>
-
-
-<H3><A NAME="SEC124" HREF="gettext_toc.html#TOC124">8.1.4  Output file location in Java mode</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-r <VAR>resource</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--resource=<VAR>resource</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX740"></A>
-<A NAME="IDX741"></A>
-Specify the resource name.
-
-<DT><SAMP>`-l <VAR>locale</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--locale=<VAR>locale</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX742"></A>
-<A NAME="IDX743"></A>
-Specify the locale name, either a language specification of the form <VAR>ll</VAR>
-or a combined language and country specification of the form <VAR>ll_CC</VAR>.
-
-<DT><SAMP>`-d <VAR>directory</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX744"></A>
-Specify the base directory of classes directory hierarchy.
-
-</DL>
-
-<P>
-The class name is determined by appending the locale name to the resource name,
-separated with an underscore.  The <SAMP>`-d&acute;</SAMP> option is mandatory.  The class
-is written under the specified directory.
-
-</P>
-
-
-<H3><A NAME="SEC125" HREF="gettext_toc.html#TOC125">8.1.5  Output file location in Tcl mode</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-l <VAR>locale</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--locale=<VAR>locale</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX745"></A>
-<A NAME="IDX746"></A>
-Specify the locale name, either a language specification of the form <VAR>ll</VAR>
-or a combined language and country specification of the form <VAR>ll_CC</VAR>.
-
-<DT><SAMP>`-d <VAR>directory</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX747"></A>
-Specify the base directory of <TT>`.msg&acute;</TT> message catalogs.
-
-</DL>
-
-<P>
-The <SAMP>`-l&acute;</SAMP> and <SAMP>`-d&acute;</SAMP> options are mandatory.  The <TT>`.msg&acute;</TT> file is
-written in the specified directory.
-
-</P>
-
-
-<H3><A NAME="SEC126" HREF="gettext_toc.html#TOC126">8.1.6  Input file interpretation</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-c&acute;</SAMP>
-<DD>
-<DT><SAMP>`--check&acute;</SAMP>
-<DD>
-<A NAME="IDX748"></A>
-<A NAME="IDX749"></A>
-Perform all the checks implied by <CODE>--check-format</CODE>, <CODE>--check-header</CODE>,
-<CODE>--check-domain</CODE>.
-
-<DT><SAMP>`--check-format&acute;</SAMP>
-<DD>
-<A NAME="IDX750"></A>
-<A NAME="IDX751"></A>
-Check language dependent format strings.
-
-If the string represents a format string used in a
-<CODE>printf</CODE>-like function both strings should have the same number of
-<SAMP>`%&acute;</SAMP> format specifiers, with matching types.  If the flag
-<CODE>c-format</CODE> or <CODE>possible-c-format</CODE> appears in the special
-comment <KBD>#,</KBD> for this entry a check is performed.  For example, the
-check will diagnose using <SAMP>`%.*s&acute;</SAMP> against <SAMP>`%s&acute;</SAMP>, or <SAMP>`%d&acute;</SAMP>
-against <SAMP>`%s&acute;</SAMP>, or <SAMP>`%d&acute;</SAMP> against <SAMP>`%x&acute;</SAMP>.  It can even handle
-positional parameters.
-
-Normally the <CODE>xgettext</CODE> program automatically decides whether a
-string is a format string or not.  This algorithm is not perfect,
-though.  It might regard a string as a format string though it is not
-used in a <CODE>printf</CODE>-like function and so <CODE>msgfmt</CODE> might report
-errors where there are none.
-
-To solve this problem the programmer can dictate the decision to the
-<CODE>xgettext</CODE> program (see section <A HREF="gettext_13.html#SEC204">13.3.1  C Format Strings</A>).  The translator should not
-consider removing the flag from the <KBD>#,</KBD> line.  This "fix" would be
-reversed again as soon as <CODE>msgmerge</CODE> is called the next time.
-
-<DT><SAMP>`--check-header&acute;</SAMP>
-<DD>
-<A NAME="IDX752"></A>
-Verify presence and contents of the header entry.  See section <A HREF="gettext_5.html#SEC36">5.2  Filling in the Header Entry</A>,
-for a description of the various fields in the header entry.
-
-<DT><SAMP>`--check-domain&acute;</SAMP>
-<DD>
-<A NAME="IDX753"></A>
-Check for conflicts between domain directives and the <CODE>--output-file</CODE>
-option
-
-<DT><SAMP>`-C&acute;</SAMP>
-<DD>
-<DT><SAMP>`--check-compatibility&acute;</SAMP>
-<DD>
-<A NAME="IDX754"></A>
-<A NAME="IDX755"></A>
-<A NAME="IDX756"></A>
-Check that GNU msgfmt behaves like X/Open msgfmt.  This will give an error
-when attempting to use the GNU extensions.
-
-<DT><SAMP>`--check-accelerators[=<VAR>char</VAR>]&acute;</SAMP>
-<DD>
-<A NAME="IDX757"></A>
-<A NAME="IDX758"></A>
-<A NAME="IDX759"></A>
-<A NAME="IDX760"></A>
-Check presence of keyboard accelerators for menu items.  This is based on
-the convention used in some GUIs that a keyboard accelerator in a menu
-item string is designated by an immediately preceding <SAMP>`&#38;&acute;</SAMP> character.
-Sometimes a keyboard accelerator is also called "keyboard mnemonic".
-This check verifies that if the untranslated string has exactly one
-<SAMP>`&#38;&acute;</SAMP> character, the translated string has exactly one <SAMP>`&#38;&acute;</SAMP> as well.
-If this option is given with a <VAR>char</VAR> argument, this <VAR>char</VAR> should
-be a non-alphanumeric character and is used as keyboard acceleator mark
-instead of <SAMP>`&#38;&acute;</SAMP>.
-
-<DT><SAMP>`-f&acute;</SAMP>
-<DD>
-<DT><SAMP>`--use-fuzzy&acute;</SAMP>
-<DD>
-<A NAME="IDX761"></A>
-<A NAME="IDX762"></A>
-<A NAME="IDX763"></A>
-Use fuzzy entries in output.  Note that using this option is usually wrong,
-because fuzzy messages are exactly those which have not been validated by
-a human translator.
-
-</DL>
-
-
-
-<H3><A NAME="SEC127" HREF="gettext_toc.html#TOC127">8.1.7  Output details</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-a <VAR>number</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--alignment=<VAR>number</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX764"></A>
-<A NAME="IDX765"></A>
-Align strings to <VAR>number</VAR> bytes (default: 1).
-
-<DT><SAMP>`--no-hash&acute;</SAMP>
-<DD>
-<A NAME="IDX766"></A>
-Don't include a hash table in the binary file.  Lookup will be more expensive
-at run time (binary search instead of hash table lookup).
-
-</DL>
-
-
-
-<H3><A NAME="SEC128" HREF="gettext_toc.html#TOC128">8.1.8  Informative output</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-h&acute;</SAMP>
-<DD>
-<DT><SAMP>`--help&acute;</SAMP>
-<DD>
-<A NAME="IDX767"></A>
-<A NAME="IDX768"></A>
-Display this help and exit.
-
-<DT><SAMP>`-V&acute;</SAMP>
-<DD>
-<DT><SAMP>`--version&acute;</SAMP>
-<DD>
-<A NAME="IDX769"></A>
-<A NAME="IDX770"></A>
-Output version information and exit.
-
-<DT><SAMP>`--statistics&acute;</SAMP>
-<DD>
-<A NAME="IDX771"></A>
-Print statistics about translations.
-
-<DT><SAMP>`-v&acute;</SAMP>
-<DD>
-<DT><SAMP>`--verbose&acute;</SAMP>
-<DD>
-<A NAME="IDX772"></A>
-<A NAME="IDX773"></A>
-Increase verbosity level.
-
-</DL>
-
-
-
-<H2><A NAME="SEC129" HREF="gettext_toc.html#TOC129">8.2  Invoking the <CODE>msgunfmt</CODE> Program</A></H2>
-
-<P>
-<A NAME="IDX774"></A>
-<A NAME="IDX775"></A>
-
-<PRE>
-msgunfmt [<VAR>option</VAR>] [<VAR>file</VAR>]...
-</PRE>
-
-<P>
-<A NAME="IDX776"></A>
-The <CODE>msgunfmt</CODE> program converts a binary message catalog to a
-Uniforum style .po file.
-
-</P>
-
-
-<H3><A NAME="SEC130" HREF="gettext_toc.html#TOC130">8.2.1  Operation mode</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-j&acute;</SAMP>
-<DD>
-<DT><SAMP>`--java&acute;</SAMP>
-<DD>
-<A NAME="IDX777"></A>
-<A NAME="IDX778"></A>
-<A NAME="IDX779"></A>
-Java mode: input is a Java <CODE>ResourceBundle</CODE> class.
-
-<DT><SAMP>`--tcl&acute;</SAMP>
-<DD>
-<A NAME="IDX780"></A>
-<A NAME="IDX781"></A>
-Tcl mode: input is a tcl/msgcat <TT>`.msg&acute;</TT> file.
-
-</DL>
-
-
-
-<H3><A NAME="SEC131" HREF="gettext_toc.html#TOC131">8.2.2  Input file location</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`<VAR>file</VAR> ...&acute;</SAMP>
-<DD>
-Input .mo files.
-
-</DL>
-
-<P>
-If no input <VAR>file</VAR> is given or if it is <SAMP>`-&acute;</SAMP>, standard input is read.
-
-</P>
-
-
-<H3><A NAME="SEC132" HREF="gettext_toc.html#TOC132">8.2.3  Input file location in Java mode</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-r <VAR>resource</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--resource=<VAR>resource</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX782"></A>
-<A NAME="IDX783"></A>
-Specify the resource name.
-
-<DT><SAMP>`-l <VAR>locale</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--locale=<VAR>locale</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX784"></A>
-<A NAME="IDX785"></A>
-Specify the locale name, either a language specification of the form <VAR>ll</VAR>
-or a combined language and country specification of the form <VAR>ll_CC</VAR>.
-
-</DL>
-
-<P>
-The class name is determined by appending the locale name to the resource name,
-separated with an underscore.  The class is located using the <CODE>CLASSPATH</CODE>.
-
-</P>
-
-
-<H3><A NAME="SEC133" HREF="gettext_toc.html#TOC133">8.2.4  Input file location in Tcl mode</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-l <VAR>locale</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--locale=<VAR>locale</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX786"></A>
-<A NAME="IDX787"></A>
-Specify the locale name, either a language specification of the form <VAR>ll</VAR>
-or a combined language and country specification of the form <VAR>ll_CC</VAR>.
-
-<DT><SAMP>`-d <VAR>directory</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX788"></A>
-Specify the base directory of <TT>`.msg&acute;</TT> message catalogs.
-
-</DL>
-
-<P>
-The <SAMP>`-l&acute;</SAMP> and <SAMP>`-d&acute;</SAMP> options are mandatory.  The <TT>`.msg&acute;</TT> file is
-located in the specified directory.
-
-</P>
-
-
-<H3><A NAME="SEC134" HREF="gettext_toc.html#TOC134">8.2.5  Output file location</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-o <VAR>file</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--output-file=<VAR>file</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX789"></A>
-<A NAME="IDX790"></A>
-Write output to specified file.
-
-</DL>
-
-<P>
-The results are written to standard output if no output file is specified
-or if it is <SAMP>`-&acute;</SAMP>.
-
-</P>
-
-
-<H3><A NAME="SEC135" HREF="gettext_toc.html#TOC135">8.2.6  Output details</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`--force-po&acute;</SAMP>
-<DD>
-<A NAME="IDX791"></A>
-Always write an output file even if it contains no message.
-
-<DT><SAMP>`-i&acute;</SAMP>
-<DD>
-<DT><SAMP>`--indent&acute;</SAMP>
-<DD>
-<A NAME="IDX792"></A>
-<A NAME="IDX793"></A>
-Write the .po file using indented style.
-
-<DT><SAMP>`--strict&acute;</SAMP>
-<DD>
-<A NAME="IDX794"></A>
-Write out a strict Uniforum conforming PO file.  Note that this
-Uniforum format should be avoided because it doesn't support the
-GNU extensions.
-
-<DT><SAMP>`-w <VAR>number</VAR>&acute;</SAMP>
-<DD>
-<DT><SAMP>`--width=<VAR>number</VAR>&acute;</SAMP>
-<DD>
-<A NAME="IDX795"></A>
-<A NAME="IDX796"></A>
-Set the output page width.  Long strings in the output files will be
-split across multiple lines in order to ensure that each line's width
-(= number of screen columns) is less or equal to the given <VAR>number</VAR>.
-
-<DT><SAMP>`--no-wrap&acute;</SAMP>
-<DD>
-<A NAME="IDX797"></A>
-Do not break long message lines.  Message lines whose width exceeds the
-output page width will not be split into several lines.  Only file reference
-lines which are wider than the output page width will be split.
-
-<DT><SAMP>`-s&acute;</SAMP>
-<DD>
-<DT><SAMP>`--sort-output&acute;</SAMP>
-<DD>
-<A NAME="IDX798"></A>
-<A NAME="IDX799"></A>
-<A NAME="IDX800"></A>
-Generate sorted output.  Note that using this option makes it much harder
-for the translator to understand each message's context.
-
-</DL>
-
-
-
-<H3><A NAME="SEC136" HREF="gettext_toc.html#TOC136">8.2.7  Informative output</A></H3>
-
-<DL COMPACT>
-
-<DT><SAMP>`-h&acute;</SAMP>
-<DD>
-<DT><SAMP>`--help&acute;</SAMP>
-<DD>
-<A NAME="IDX801"></A>
-<A NAME="IDX802"></A>
-Display this help and exit.
-
-<DT><SAMP>`-V&acute;</SAMP>
-<DD>
-<DT><SAMP>`--version&acute;</SAMP>
-<DD>
-<A NAME="IDX803"></A>
-<A NAME="IDX804"></A>
-Output version information and exit.
-
-<DT><SAMP>`-v&acute;</SAMP>
-<DD>
-<DT><SAMP>`--verbose&acute;</SAMP>
-<DD>
-<A NAME="IDX805"></A>
-<A NAME="IDX806"></A>
-Increase verbosity level.
-
-</DL>
-
-
-
-<H2><A NAME="SEC137" HREF="gettext_toc.html#TOC137">8.3  The Format of GNU MO Files</A></H2>
-<P>
-<A NAME="IDX807"></A>
-<A NAME="IDX808"></A>
-
-</P>
-<P>
-The format of the generated MO files is best described by a picture,
-which appears below.
-
-</P>
-<P>
-<A NAME="IDX809"></A>
-The first two words serve the identification of the file.  The magic
-number will always signal GNU MO files.  The number is stored in the
-byte order of the generating machine, so the magic number really is
-two numbers: <CODE>0x950412de</CODE> and <CODE>0xde120495</CODE>.  The second
-word describes the current revision of the file format.  For now the
-revision is 0.  This might change in future versions, and ensures
-that the readers of MO files can distinguish new formats from old
-ones, so that both can be handled correctly.  The version is kept
-separate from the magic number, instead of using different magic
-numbers for different formats, mainly because <TT>`/etc/magic&acute;</TT> is
-not updated often.  It might be better to have magic separated from
-internal format version identification.
-
-</P>
-<P>
-Follow a number of pointers to later tables in the file, allowing
-for the extension of the prefix part of MO files without having to
-recompile programs reading them.  This might become useful for later
-inserting a few flag bits, indication about the charset used, new
-tables, or other things.
-
-</P>
-<P>
-Then, at offset <VAR>O</VAR> and offset <VAR>T</VAR> in the picture, two tables
-of string descriptors can be found.  In both tables, each string
-descriptor uses two 32 bits integers, one for the string length,
-another for the offset of the string in the MO file, counting in bytes
-from the start of the file.  The first table contains descriptors
-for the original strings, and is sorted so the original strings
-are in increasing lexicographical order.  The second table contains
-descriptors for the translated strings, and is parallel to the first
-table: to find the corresponding translation one has to access the
-array slot in the second array with the same index.
-
-</P>
-<P>
-Having the original strings sorted enables the use of simple binary
-search, for when the MO file does not contain an hashing table, or
-for when it is not practical to use the hashing table provided in
-the MO file.  This also has another advantage, as the empty string
-in a PO file GNU <CODE>gettext</CODE> is usually <EM>translated</EM> into
-some system information attached to that particular MO file, and the
-empty string necessarily becomes the first in both the original and
-translated tables, making the system information very easy to find.
-
-</P>
-<P>
-<A NAME="IDX810"></A>
-The size <VAR>S</VAR> of the hash table can be zero.  In this case, the
-hash table itself is not contained in the MO file.  Some people might
-prefer this because a precomputed hashing table takes disk space, and
-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 on GNU <CODE>gettext</CODE> code, and is not documented here.
-
-</P>
-<P>
-As for the strings themselves, they follow the hash file, and each
-is terminated with a <KBD>NUL</KBD>, and this <KBD>NUL</KBD> is not counted in
-the length which appears in the string descriptor.  The <CODE>msgfmt</CODE>
-program has an option selecting the alignment for MO file strings.
-With this option, each string is separately aligned so it starts at
-an offset which is a multiple of the alignment value.  On some RISC
-machines, a correct alignment will speed things up.
-
-</P>
-<P>
-<A NAME="IDX811"></A>
-Plural forms are stored by letting the plural of the original string
-follow the singular of the original string, separated through a
-<KBD>NUL</KBD> byte.  The length which appears in the string descriptor
-includes both.  However, only the singular of the original string
-takes part in the hash table lookup.  The plural variants of the
-translation are all stored consecutively, separated through a
-<KBD>NUL</KBD> byte.  Here also, the length in the string descriptor
-includes all of them.
-
-</P>
-<P>
-Nothing prevents a MO file from having embedded <KBD>NUL</KBD>s in strings.
-However, the program interface currently used already presumes
-that strings are <KBD>NUL</KBD> terminated, so embedded <KBD>NUL</KBD>s are
-somewhat useless.  But the MO file format is general enough so other
-interfaces would be later possible, if for example, we ever want to
-implement wide characters right in MO files, where <KBD>NUL</KBD> bytes may
-accidently appear.  (No, we don't want to have wide characters in MO
-files.  They would make the file unnecessarily large, and the
-<SAMP>`wchar_t&acute;</SAMP> type being platform dependent, MO files would be
-platform dependent as well.)
-
-</P>
-<P>
-This particular issue has been strongly debated in the GNU
-<CODE>gettext</CODE> development forum, and it is expectable that MO file
-format will evolve or change over time.  It is even possible that many
-formats may later be supported concurrently.  But surely, we have to
-start somewhere, and the MO file format described here is a good start.
-Nothing is cast in concrete, and the format may later evolve fairly
-easily, so we should feel comfortable with the current approach.
-
-</P>
-
-<PRE>
-        byte
-             +------------------------------------------+
-          0  | magic number = 0x950412de                |
-             |                                          |
-          4  | file format revision = 0                 |
-             |                                          |
-          8  | number of strings                        |  == N
-             |                                          |
-         12  | offset of table with original strings    |  == O
-             |                                          |
-         16  | offset of table with translation strings |  == T
-             |                                          |
-         20  | size of hashing table                    |  == S
-             |                                          |
-         24  | offset of hashing table                  |  == H
-             |                                          |
-             .                                          .
-             .    (possibly more entries later)         .
-             .                                          .
-             |                                          |
-          O  | length &#38; offset 0th string  ----------------.
-      O + 8  | length &#38; offset 1st string  ------------------.
-              ...                                    ...   | |
-O + ((N-1)*8)| length &#38; offset (N-1)th string           |  | |
-             |                                          |  | |
-          T  | length &#38; offset 0th translation  ---------------.
-      T + 8  | length &#38; offset 1st translation  -----------------.
-              ...                                    ...   | | | |
-T + ((N-1)*8)| length &#38; offset (N-1)th translation      |  | | | |
-             |                                          |  | | | |
-          H  | start hash table                         |  | | | |
-              ...                                    ...   | | | |
-  H + S * 4  | end hash table                           |  | | | |
-             |                                          |  | | | |
-             | NUL terminated 0th string  &#60;----------------' | | |
-             |                                          |    | | |
-             | NUL terminated 1st string  &#60;------------------' | |
-             |                                          |      | |
-              ...                                    ...       | |
-             |                                          |      | |
-             | NUL terminated 0th translation  &#60;---------------' |
-             |                                          |        |
-             | NUL terminated 1st translation  &#60;-----------------'
-             |                                          |
-              ...                                    ...
-             |                                          |
-             +------------------------------------------+
-</PRE>
-
-<P><HR><P>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_7.html">previous</A>, <A HREF="gettext_9.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
-</BODY>
-</HTML>
diff --git a/doc/gettext_9.html b/doc/gettext_9.html
deleted file mode 100644 (file)
index 5305cb1..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52a
-     from gettext.texi on 5 November 2002 -->
-
-<TITLE>GNU gettext utilities - 9  The User's View</TITLE>
-</HEAD>
-<BODY>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_8.html">previous</A>, <A HREF="gettext_10.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
-<P><HR><P>
-
-
-<H1><A NAME="SEC138" HREF="gettext_toc.html#TOC138">9  The User's View</A></H1>
-
-<P>
-When GNU <CODE>gettext</CODE> will truly have reached its goal, average users
-should feel some kind of astonished pleasure, seeing the effect of
-that strange kind of magic that just makes their own native language
-appear everywhere on their screens.  As for naive users, they would
-ideally have no special pleasure about it, merely taking their own
-language for <EM>granted</EM>, and becoming rather unhappy otherwise.
-
-</P>
-<P>
-So, let's try to describe here how we would like the magic to operate,
-as we want the users' view to be the simplest, among all ways one
-could look at GNU <CODE>gettext</CODE>.  All other software engineers:
-programmers, translators, maintainers, should work together in such a
-way that the magic becomes possible.  This is a long and progressive
-undertaking, and information is available about the progress of the
-Translation Project.
-
-</P>
-<P>
-When a package is distributed, there are two kinds of users:
-<EM>installers</EM> who fetch the distribution, unpack it, configure
-it, compile it and install it for themselves or others to use; and
-<EM>end users</EM> that call programs of the package, once these have
-been installed at their site.  GNU <CODE>gettext</CODE> is offering magic
-for both installers and end users.
-
-</P>
-
-
-
-<H2><A NAME="SEC139" HREF="gettext_toc.html#TOC139">9.1  The Current <TT>`ABOUT-NLS&acute;</TT> Matrix</A></H2>
-<P>
-<A NAME="IDX812"></A>
-<A NAME="IDX813"></A>
-<A NAME="IDX814"></A>
-
-</P>
-<P>
-Languages are not equally supported in all packages using GNU
-<CODE>gettext</CODE>.  To know if some package uses GNU <CODE>gettext</CODE>, one
-may check the distribution for the <TT>`ABOUT-NLS&acute;</TT> information file, for
-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#SEC141">9.3  Magic for End Users</A> for a complete description of the format
-for <VAR>ll</VAR>.
-
-</P>
-<P>
-More generally, a matrix is available for showing the current state
-of the Translation Project, listing which packages are prepared for
-multi-lingual messages, and which languages are supported by each.
-Because this information changes often, this matrix is not kept within
-this GNU <CODE>gettext</CODE> manual.  This information is often found in
-file <TT>`ABOUT-NLS&acute;</TT> from various distributions, but is also as old as
-the distribution itself.  A recent copy of this <TT>`ABOUT-NLS&acute;</TT> file,
-containing up-to-date information, should generally be found on the
-Translation Project sites, and also on most GNU archive sites.
-
-</P>
-
-
-<H2><A NAME="SEC140" HREF="gettext_toc.html#TOC140">9.2  Magic for Installers</A></H2>
-<P>
-<A NAME="IDX815"></A>
-<A NAME="IDX816"></A>
-
-</P>
-<P>
-By default, packages fully using GNU <CODE>gettext</CODE>, internally,
-are installed in such a way that they to allow translation of
-messages.  At <EM>configuration</EM> time, those packages should
-automatically detect whether the underlying host system already provides
-the GNU <CODE>gettext</CODE> functions.  If not,
-the GNU <CODE>gettext</CODE> library should be automatically prepared
-and used.  Installers may use special options at configuration
-time for changing this behavior.  The command <SAMP>`./configure
---with-included-gettext&acute;</SAMP> bypasses system <CODE>gettext</CODE> to
-use the included GNU <CODE>gettext</CODE> instead,
-while <SAMP>`./configure --disable-nls&acute;</SAMP>
-produces programs totally unable to translate messages.
-
-</P>
-<P>
-<A NAME="IDX817"></A>
-Internationalized packages have usually many <TT>`<VAR>ll</VAR>.po&acute;</TT>
-files.  Unless
-translations are disabled, all those available are installed together
-with the package.  However, the environment variable <CODE>LINGUAS</CODE>
-may be set, prior to configuration, to limit the installed set.
-<CODE>LINGUAS</CODE> should then contain a space separated list of two-letter
-codes, stating which languages are allowed.
-
-</P>
-
-
-<H2><A NAME="SEC141" HREF="gettext_toc.html#TOC141">9.3  Magic for End Users</A></H2>
-<P>
-<A NAME="IDX818"></A>
-<A NAME="IDX819"></A>
-<A NAME="IDX820"></A>
-
-</P>
-<P>
-<A NAME="IDX821"></A>
-We consider here those packages using GNU <CODE>gettext</CODE> internally,
-and for which the installers did not disable translation at
-<EM>configure</EM> time.  Then, users only have to set the <CODE>LANG</CODE>
-environment variable to the appropriate <SAMP>`<VAR>ll</VAR>_<VAR>CC</VAR>&acute;</SAMP>
-combination prior to using the programs in the package.  See section <A HREF="gettext_9.html#SEC139">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
-this from their <TT>`.login&acute;</TT> or <TT>`.profile&acute;</TT> file.
-
-</P>
-<P><HR><P>
-Go to the <A HREF="gettext_1.html">first</A>, <A HREF="gettext_8.html">previous</A>, <A HREF="gettext_10.html">next</A>, <A HREF="gettext_22.html">last</A> section, <A HREF="gettext_toc.html">table of contents</A>.
-</BODY>
-</HTML>
diff --git a/doc/gettext_foot.html b/doc/gettext_foot.html
deleted file mode 100644 (file)
index 9a197ae..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52a
-     from gettext.texi on 5 November 2002 -->
-
-<TITLE>GNU gettext utilities - Footnotes</TITLE>
-</HEAD>
-<BODY>
-<H1>GNU gettext tools, version 0.11.6-pre2</H1>
-<H2>Native Language Support Library and Tools</H2>
-<H2>Edition 0.11.6-pre2, 30 October 2002</H2>
-<ADDRESS>Ulrich Drepper</ADDRESS>
-<ADDRESS>Jim Meyering</ADDRESS>
-<ADDRESS>Fran&ccedil;ois Pinard</ADDRESS>
-<ADDRESS>Bruno Haible</ADDRESS>
-<P>
-<P><HR><P>
-<H3><A NAME="FOOT1" HREF="gettext_1.html#DOCF1">(1)</A></H3>
-<P>In this manual, all mentions of Emacs
-refers to either GNU Emacs or to XEmacs, which people sometimes call FSF
-Emacs and Lucid Emacs, respectively.
-<H3><A NAME="FOOT2" HREF="gettext_2.html#DOCF2">(2)</A></H3>
-<P>This
-limitation is not imposed by GNU <CODE>gettext</CODE>, but is for compatibility
-with the <CODE>msgfmt</CODE> implementation on Solaris.
-<H3><A NAME="FOOT3" HREF="gettext_10.html#DOCF3">(3)</A></H3>
-<P>Some
-system, eg Ultrix, don't have <CODE>LC_MESSAGES</CODE>.  Here we use a more or
-less arbitrary value for it, namely 1729, the smallest positive integer
-which can be represented in two different ways as the sum of two cubes.
-<H3><A NAME="FOOT4" HREF="gettext_10.html#DOCF4">(4)</A></H3>
-<P>When the system does not support <CODE>setlocale</CODE> its behavior
-in setting the locale values is simulated by looking at the environment
-variables.
-<H3><A NAME="FOOT5" HREF="gettext_10.html#DOCF5">(5)</A></H3>
-<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 5 November 2002 using the
-<A HREF="http://wwwinfo.cern.ch/dis/texi2html/">texi2html</A>
-translator version 1.52a.</P>
-</BODY>
-</HTML>
diff --git a/doc/gettext_toc.html b/doc/gettext_toc.html
deleted file mode 100644 (file)
index 7d63374..0000000
+++ /dev/null
@@ -1,363 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This HTML file has been created by texi2html 1.52a
-     from gettext.texi on 5 November 2002 -->
-
-<TITLE>GNU gettext utilities - Table of Contents</TITLE>
-</HEAD>
-<BODY>
-<H1>GNU gettext tools, version 0.11.6-pre2</H1>
-<H2>Native Language Support Library and Tools</H2>
-<H2>Edition 0.11.6-pre2, 30 October 2002</H2>
-<ADDRESS>Ulrich Drepper</ADDRESS>
-<ADDRESS>Jim Meyering</ADDRESS>
-<ADDRESS>Fran&ccedil;ois Pinard</ADDRESS>
-<ADDRESS>Bruno Haible</ADDRESS>
-<P>
-<P><HR><P>
-<UL>
-<LI><A NAME="TOC1" HREF="gettext_1.html#SEC1">1  Introduction</A>
-<UL>
-<LI><A NAME="TOC2" HREF="gettext_1.html#SEC2">1.1  The Purpose of GNU <CODE>gettext</CODE></A>
-<LI><A NAME="TOC3" HREF="gettext_1.html#SEC3">1.2  I18n, L10n, and Such</A>
-<LI><A NAME="TOC4" HREF="gettext_1.html#SEC4">1.3  Aspects in Native Language Support</A>
-<LI><A NAME="TOC5" HREF="gettext_1.html#SEC5">1.4  Files Conveying Translations</A>
-<LI><A NAME="TOC6" HREF="gettext_1.html#SEC6">1.5  Overview of GNU <CODE>gettext</CODE></A>
-</UL>
-<LI><A NAME="TOC7" HREF="gettext_2.html#SEC7">2  PO Files and PO Mode Basics</A>
-<UL>
-<LI><A NAME="TOC8" HREF="gettext_2.html#SEC8">2.1  Completing GNU <CODE>gettext</CODE> Installation</A>
-<LI><A NAME="TOC9" HREF="gettext_2.html#SEC9">2.2  The Format of PO Files</A>
-<LI><A NAME="TOC10" HREF="gettext_2.html#SEC10">2.3  Main PO mode Commands</A>
-<LI><A NAME="TOC11" HREF="gettext_2.html#SEC11">2.4  Entry Positioning</A>
-<LI><A NAME="TOC12" HREF="gettext_2.html#SEC12">2.5  Normalizing Strings in Entries</A>
-</UL>
-<LI><A NAME="TOC13" HREF="gettext_3.html#SEC13">3  Preparing Program Sources</A>
-<UL>
-<LI><A NAME="TOC14" HREF="gettext_3.html#SEC14">3.1  Triggering <CODE>gettext</CODE> Operations</A>
-<LI><A NAME="TOC15" HREF="gettext_3.html#SEC15">3.2  Preparing Translatable Strings</A>
-<LI><A NAME="TOC16" HREF="gettext_3.html#SEC16">3.3  How Marks Appear in Sources</A>
-<LI><A NAME="TOC17" HREF="gettext_3.html#SEC17">3.4  Marking Translatable Strings</A>
-<LI><A NAME="TOC18" HREF="gettext_3.html#SEC18">3.5  Special Comments preceding Keywords</A>
-<LI><A NAME="TOC19" HREF="gettext_3.html#SEC19">3.6  Special Cases of Translatable Strings</A>
-</UL>
-<LI><A NAME="TOC20" HREF="gettext_4.html#SEC20">4  Making the PO Template File</A>
-<UL>
-<LI><A NAME="TOC21" HREF="gettext_4.html#SEC21">4.1  Invoking the <CODE>xgettext</CODE> Program</A>
-<UL>
-<LI><A NAME="TOC22" HREF="gettext_4.html#SEC22">4.1.1  Input file location</A>
-<LI><A NAME="TOC23" HREF="gettext_4.html#SEC23">4.1.2  Output file location</A>
-<LI><A NAME="TOC24" HREF="gettext_4.html#SEC24">4.1.3  Choice of input file language</A>
-<LI><A NAME="TOC25" HREF="gettext_4.html#SEC25">4.1.4  Input file interpretation</A>
-<LI><A NAME="TOC26" HREF="gettext_4.html#SEC26">4.1.5  Operation mode</A>
-<LI><A NAME="TOC27" HREF="gettext_4.html#SEC27">4.1.6  Language=C/C++ specific options</A>
-<LI><A NAME="TOC28" HREF="gettext_4.html#SEC28">4.1.7  Output details</A>
-<LI><A NAME="TOC29" HREF="gettext_4.html#SEC29">4.1.8  Informative output</A>
-</UL>
-</UL>
-<LI><A NAME="TOC30" HREF="gettext_5.html#SEC30">5  Creating a New PO File</A>
-<UL>
-<LI><A NAME="TOC31" HREF="gettext_5.html#SEC31">5.1  Invoking the <CODE>msginit</CODE> Program</A>
-<UL>
-<LI><A NAME="TOC32" HREF="gettext_5.html#SEC32">5.1.1  Input file location</A>
-<LI><A NAME="TOC33" HREF="gettext_5.html#SEC33">5.1.2  Output file location</A>
-<LI><A NAME="TOC34" HREF="gettext_5.html#SEC34">5.1.3  Output details</A>
-<LI><A NAME="TOC35" HREF="gettext_5.html#SEC35">5.1.4  Informative output</A>
-</UL>
-<LI><A NAME="TOC36" HREF="gettext_5.html#SEC36">5.2  Filling in the Header Entry</A>
-</UL>
-<LI><A NAME="TOC37" HREF="gettext_6.html#SEC37">6  Updating Existing PO Files</A>
-<UL>
-<LI><A NAME="TOC38" HREF="gettext_6.html#SEC38">6.1  Invoking the <CODE>msgmerge</CODE> Program</A>
-<UL>
-<LI><A NAME="TOC39" HREF="gettext_6.html#SEC39">6.1.1  Input file location</A>
-<LI><A NAME="TOC40" HREF="gettext_6.html#SEC40">6.1.2  Operation mode</A>
-<LI><A NAME="TOC41" HREF="gettext_6.html#SEC41">6.1.3  Output file location</A>
-<LI><A NAME="TOC42" HREF="gettext_6.html#SEC42">6.1.4  Output file location in update mode</A>
-<LI><A NAME="TOC43" HREF="gettext_6.html#SEC43">6.1.5  Operation modifiers</A>
-<LI><A NAME="TOC44" HREF="gettext_6.html#SEC44">6.1.6  Output details</A>
-<LI><A NAME="TOC45" HREF="gettext_6.html#SEC45">6.1.7  Informative output</A>
-</UL>
-<LI><A NAME="TOC46" HREF="gettext_6.html#SEC46">6.2  Translated Entries</A>
-<LI><A NAME="TOC47" HREF="gettext_6.html#SEC47">6.3  Fuzzy Entries</A>
-<LI><A NAME="TOC48" HREF="gettext_6.html#SEC48">6.4  Untranslated Entries</A>
-<LI><A NAME="TOC49" HREF="gettext_6.html#SEC49">6.5  Obsolete Entries</A>
-<LI><A NAME="TOC50" HREF="gettext_6.html#SEC50">6.6  Modifying Translations</A>
-<LI><A NAME="TOC51" HREF="gettext_6.html#SEC51">6.7  Modifying Comments</A>
-<LI><A NAME="TOC52" HREF="gettext_6.html#SEC52">6.8  Details of Sub Edition</A>
-<LI><A NAME="TOC53" HREF="gettext_6.html#SEC53">6.9  C Sources Context</A>
-<LI><A NAME="TOC54" HREF="gettext_6.html#SEC54">6.10  Consulting Auxiliary PO Files</A>
-<LI><A NAME="TOC55" HREF="gettext_6.html#SEC55">6.11  Using Translation Compendia</A>
-<UL>
-<LI><A NAME="TOC56" HREF="gettext_6.html#SEC56">6.11.1  Creating Compendia</A>
-<UL>
-<LI><A NAME="TOC57" HREF="gettext_6.html#SEC57">6.11.1.1  Concatenate PO Files</A>
-<LI><A NAME="TOC58" HREF="gettext_6.html#SEC58">6.11.1.2  Extract a Message Subset from a PO File</A>
-</UL>
-<LI><A NAME="TOC59" HREF="gettext_6.html#SEC59">6.11.2  Using Compendia</A>
-<UL>
-<LI><A NAME="TOC60" HREF="gettext_6.html#SEC60">6.11.2.1  Initialize a New Translation File</A>
-<LI><A NAME="TOC61" HREF="gettext_6.html#SEC61">6.11.2.2  Update an Existing Translation File</A>
-</UL>
-</UL>
-</UL>
-<LI><A NAME="TOC62" HREF="gettext_7.html#SEC62">7  Manipulating PO Files</A>
-<UL>
-<LI><A NAME="TOC63" HREF="gettext_7.html#SEC63">7.1  Invoking the <CODE>msgcat</CODE> Program</A>
-<UL>
-<LI><A NAME="TOC64" HREF="gettext_7.html#SEC64">7.1.1  Input file location</A>
-<LI><A NAME="TOC65" HREF="gettext_7.html#SEC65">7.1.2  Output file location</A>
-<LI><A NAME="TOC66" HREF="gettext_7.html#SEC66">7.1.3  Message selection</A>
-<LI><A NAME="TOC67" HREF="gettext_7.html#SEC67">7.1.4  Output details</A>
-<LI><A NAME="TOC68" HREF="gettext_7.html#SEC68">7.1.5  Informative output</A>
-</UL>
-<LI><A NAME="TOC69" HREF="gettext_7.html#SEC69">7.2  Invoking the <CODE>msgconv</CODE> Program</A>
-<UL>
-<LI><A NAME="TOC70" HREF="gettext_7.html#SEC70">7.2.1  Input file location</A>
-<LI><A NAME="TOC71" HREF="gettext_7.html#SEC71">7.2.2  Output file location</A>
-<LI><A NAME="TOC72" HREF="gettext_7.html#SEC72">7.2.3  Conversion target</A>
-<LI><A NAME="TOC73" HREF="gettext_7.html#SEC73">7.2.4  Output details</A>
-<LI><A NAME="TOC74" HREF="gettext_7.html#SEC74">7.2.5  Informative output</A>
-</UL>
-<LI><A NAME="TOC75" HREF="gettext_7.html#SEC75">7.3  Invoking the <CODE>msggrep</CODE> Program</A>
-<UL>
-<LI><A NAME="TOC76" HREF="gettext_7.html#SEC76">7.3.1  Input file location</A>
-<LI><A NAME="TOC77" HREF="gettext_7.html#SEC77">7.3.2  Output file location</A>
-<LI><A NAME="TOC78" HREF="gettext_7.html#SEC78">7.3.3  Message selection</A>
-<LI><A NAME="TOC79" HREF="gettext_7.html#SEC79">7.3.4  Output details</A>
-<LI><A NAME="TOC80" HREF="gettext_7.html#SEC80">7.3.5  Informative output</A>
-</UL>
-<LI><A NAME="TOC81" HREF="gettext_7.html#SEC81">7.4  Invoking the <CODE>msgfilter</CODE> Program</A>
-<UL>
-<LI><A NAME="TOC82" HREF="gettext_7.html#SEC82">7.4.1  Input file location</A>
-<LI><A NAME="TOC83" HREF="gettext_7.html#SEC83">7.4.2  Output file location</A>
-<LI><A NAME="TOC84" HREF="gettext_7.html#SEC84">7.4.3  The filter</A>
-<LI><A NAME="TOC85" HREF="gettext_7.html#SEC85">7.4.4  Useful <VAR>filter-option</VAR>s when the <VAR>filter</VAR> is <SAMP>`sed&acute;</SAMP></A>
-<LI><A NAME="TOC86" HREF="gettext_7.html#SEC86">7.4.5  Output details</A>
-<LI><A NAME="TOC87" HREF="gettext_7.html#SEC87">7.4.6  Informative output</A>
-</UL>
-<LI><A NAME="TOC88" HREF="gettext_7.html#SEC88">7.5  Invoking the <CODE>msguniq</CODE> Program</A>
-<UL>
-<LI><A NAME="TOC89" HREF="gettext_7.html#SEC89">7.5.1  Input file location</A>
-<LI><A NAME="TOC90" HREF="gettext_7.html#SEC90">7.5.2  Output file location</A>
-<LI><A NAME="TOC91" HREF="gettext_7.html#SEC91">7.5.3  Message selection</A>
-<LI><A NAME="TOC92" HREF="gettext_7.html#SEC92">7.5.4  Output details</A>
-<LI><A NAME="TOC93" HREF="gettext_7.html#SEC93">7.5.5  Informative output</A>
-</UL>
-<LI><A NAME="TOC94" HREF="gettext_7.html#SEC94">7.6  Invoking the <CODE>msgcomm</CODE> Program</A>
-<UL>
-<LI><A NAME="TOC95" HREF="gettext_7.html#SEC95">7.6.1  Input file location</A>
-<LI><A NAME="TOC96" HREF="gettext_7.html#SEC96">7.6.2  Output file location</A>
-<LI><A NAME="TOC97" HREF="gettext_7.html#SEC97">7.6.3  Message selection</A>
-<LI><A NAME="TOC98" HREF="gettext_7.html#SEC98">7.6.4  Output details</A>
-<LI><A NAME="TOC99" HREF="gettext_7.html#SEC99">7.6.5  Informative output</A>
-</UL>
-<LI><A NAME="TOC100" HREF="gettext_7.html#SEC100">7.7  Invoking the <CODE>msgcmp</CODE> Program</A>
-<UL>
-<LI><A NAME="TOC101" HREF="gettext_7.html#SEC101">7.7.1  Input file location</A>
-<LI><A NAME="TOC102" HREF="gettext_7.html#SEC102">7.7.2  Operation modifiers</A>
-<LI><A NAME="TOC103" HREF="gettext_7.html#SEC103">7.7.3  Informative output</A>
-</UL>
-<LI><A NAME="TOC104" HREF="gettext_7.html#SEC104">7.8  Invoking the <CODE>msgattrib</CODE> Program</A>
-<UL>
-<LI><A NAME="TOC105" HREF="gettext_7.html#SEC105">7.8.1  Input file location</A>
-<LI><A NAME="TOC106" HREF="gettext_7.html#SEC106">7.8.2  Output file location</A>
-<LI><A NAME="TOC107" HREF="gettext_7.html#SEC107">7.8.3  Message selection</A>
-<LI><A NAME="TOC108" HREF="gettext_7.html#SEC108">7.8.4  Attribute manipulation</A>
-<LI><A NAME="TOC109" HREF="gettext_7.html#SEC109">7.8.5  Output details</A>
-<LI><A NAME="TOC110" HREF="gettext_7.html#SEC110">7.8.6  Informative output</A>
-</UL>
-<LI><A NAME="TOC111" HREF="gettext_7.html#SEC111">7.9  Invoking the <CODE>msgen</CODE> Program</A>
-<UL>
-<LI><A NAME="TOC112" HREF="gettext_7.html#SEC112">7.9.1  Input file location</A>
-<LI><A NAME="TOC113" HREF="gettext_7.html#SEC113">7.9.2  Output file location</A>
-<LI><A NAME="TOC114" HREF="gettext_7.html#SEC114">7.9.3  Output details</A>
-<LI><A NAME="TOC115" HREF="gettext_7.html#SEC115">7.9.4  Informative output</A>
-</UL>
-<LI><A NAME="TOC116" HREF="gettext_7.html#SEC116">7.10  Invoking the <CODE>msgexec</CODE> Program</A>
-<UL>
-<LI><A NAME="TOC117" HREF="gettext_7.html#SEC117">7.10.1  Input file location</A>
-<LI><A NAME="TOC118" HREF="gettext_7.html#SEC118">7.10.2  Informative output</A>
-</UL>
-</UL>
-<LI><A NAME="TOC119" HREF="gettext_8.html#SEC119">8  Producing Binary MO Files</A>
-<UL>
-<LI><A NAME="TOC120" HREF="gettext_8.html#SEC120">8.1  Invoking the <CODE>msgfmt</CODE> Program</A>
-<UL>
-<LI><A NAME="TOC121" HREF="gettext_8.html#SEC121">8.1.1  Input file location</A>
-<LI><A NAME="TOC122" HREF="gettext_8.html#SEC122">8.1.2  Operation mode</A>
-<LI><A NAME="TOC123" HREF="gettext_8.html#SEC123">8.1.3  Output file location</A>
-<LI><A NAME="TOC124" HREF="gettext_8.html#SEC124">8.1.4  Output file location in Java mode</A>
-<LI><A NAME="TOC125" HREF="gettext_8.html#SEC125">8.1.5  Output file location in Tcl mode</A>
-<LI><A NAME="TOC126" HREF="gettext_8.html#SEC126">8.1.6  Input file interpretation</A>
-<LI><A NAME="TOC127" HREF="gettext_8.html#SEC127">8.1.7  Output details</A>
-<LI><A NAME="TOC128" HREF="gettext_8.html#SEC128">8.1.8  Informative output</A>
-</UL>
-<LI><A NAME="TOC129" HREF="gettext_8.html#SEC129">8.2  Invoking the <CODE>msgunfmt</CODE> Program</A>
-<UL>
-<LI><A NAME="TOC130" HREF="gettext_8.html#SEC130">8.2.1  Operation mode</A>
-<LI><A NAME="TOC131" HREF="gettext_8.html#SEC131">8.2.2  Input file location</A>
-<LI><A NAME="TOC132" HREF="gettext_8.html#SEC132">8.2.3  Input file location in Java mode</A>
-<LI><A NAME="TOC133" HREF="gettext_8.html#SEC133">8.2.4  Input file location in Tcl mode</A>
-<LI><A NAME="TOC134" HREF="gettext_8.html#SEC134">8.2.5  Output file location</A>
-<LI><A NAME="TOC135" HREF="gettext_8.html#SEC135">8.2.6  Output details</A>
-<LI><A NAME="TOC136" HREF="gettext_8.html#SEC136">8.2.7  Informative output</A>
-</UL>
-<LI><A NAME="TOC137" HREF="gettext_8.html#SEC137">8.3  The Format of GNU MO Files</A>
-</UL>
-<LI><A NAME="TOC138" HREF="gettext_9.html#SEC138">9  The User's View</A>
-<UL>
-<LI><A NAME="TOC139" HREF="gettext_9.html#SEC139">9.1  The Current <TT>`ABOUT-NLS&acute;</TT> Matrix</A>
-<LI><A NAME="TOC140" HREF="gettext_9.html#SEC140">9.2  Magic for Installers</A>
-<LI><A NAME="TOC141" HREF="gettext_9.html#SEC141">9.3  Magic for End Users</A>
-</UL>
-<LI><A NAME="TOC142" HREF="gettext_10.html#SEC142">10  The Programmer's View</A>
-<UL>
-<LI><A NAME="TOC143" HREF="gettext_10.html#SEC143">10.1  About <CODE>catgets</CODE></A>
-<UL>
-<LI><A NAME="TOC144" HREF="gettext_10.html#SEC144">10.1.1  The Interface</A>
-<LI><A NAME="TOC145" HREF="gettext_10.html#SEC145">10.1.2  Problems with the <CODE>catgets</CODE> Interface?!</A>
-</UL>
-<LI><A NAME="TOC146" HREF="gettext_10.html#SEC146">10.2  About <CODE>gettext</CODE></A>
-<UL>
-<LI><A NAME="TOC147" HREF="gettext_10.html#SEC147">10.2.1  The Interface</A>
-<LI><A NAME="TOC148" HREF="gettext_10.html#SEC148">10.2.2  Solving Ambiguities</A>
-<LI><A NAME="TOC149" HREF="gettext_10.html#SEC149">10.2.3  Locating Message Catalog Files</A>
-<LI><A NAME="TOC150" HREF="gettext_10.html#SEC150">10.2.4  How to specify the output character set <CODE>gettext</CODE> uses</A>
-<LI><A NAME="TOC151" HREF="gettext_10.html#SEC151">10.2.5  Additional functions for plural forms</A>
-<LI><A NAME="TOC152" HREF="gettext_10.html#SEC152">10.2.6  How to use <CODE>gettext</CODE> in GUI programs</A>
-<LI><A NAME="TOC153" HREF="gettext_10.html#SEC153">10.2.7  Optimization of the *gettext functions</A>
-</UL>
-<LI><A NAME="TOC154" HREF="gettext_10.html#SEC154">10.3  Comparing the Two Interfaces</A>
-<LI><A NAME="TOC155" HREF="gettext_10.html#SEC155">10.4  Using libintl.a in own programs</A>
-<LI><A NAME="TOC156" HREF="gettext_10.html#SEC156">10.5  Being a <CODE>gettext</CODE> grok</A>
-<LI><A NAME="TOC157" HREF="gettext_10.html#SEC157">10.6  Temporary Notes for the Programmers Chapter</A>
-<UL>
-<LI><A NAME="TOC158" HREF="gettext_10.html#SEC158">10.6.1  Temporary - Two Possible Implementations</A>
-<LI><A NAME="TOC159" HREF="gettext_10.html#SEC159">10.6.2  Temporary - About <CODE>catgets</CODE></A>
-<LI><A NAME="TOC160" HREF="gettext_10.html#SEC160">10.6.3  Temporary - Why a single implementation</A>
-<LI><A NAME="TOC161" HREF="gettext_10.html#SEC161">10.6.4  Temporary - Notes</A>
-</UL>
-</UL>
-<LI><A NAME="TOC162" HREF="gettext_11.html#SEC162">11  The Translator's View</A>
-<UL>
-<LI><A NAME="TOC163" HREF="gettext_11.html#SEC163">11.1  Introduction 0</A>
-<LI><A NAME="TOC164" HREF="gettext_11.html#SEC164">11.2  Introduction 1</A>
-<LI><A NAME="TOC165" HREF="gettext_11.html#SEC165">11.3  Discussions</A>
-<LI><A NAME="TOC166" HREF="gettext_11.html#SEC166">11.4  Organization</A>
-<UL>
-<LI><A NAME="TOC167" HREF="gettext_11.html#SEC167">11.4.1  Central Coordination</A>
-<LI><A NAME="TOC168" HREF="gettext_11.html#SEC168">11.4.2  National Teams</A>
-<UL>
-<LI><A NAME="TOC169" HREF="gettext_11.html#SEC169">11.4.2.1  Sub-Cultures</A>
-<LI><A NAME="TOC170" HREF="gettext_11.html#SEC170">11.4.2.2  Organizational Ideas</A>
-</UL>
-<LI><A NAME="TOC171" HREF="gettext_11.html#SEC171">11.4.3  Mailing Lists</A>
-</UL>
-<LI><A NAME="TOC172" HREF="gettext_11.html#SEC172">11.5  Information Flow</A>
-</UL>
-<LI><A NAME="TOC173" HREF="gettext_12.html#SEC173">12  The Maintainer's View</A>
-<UL>
-<LI><A NAME="TOC174" HREF="gettext_12.html#SEC174">12.1  Flat or Non-Flat Directory Structures</A>
-<LI><A NAME="TOC175" HREF="gettext_12.html#SEC175">12.2  Prerequisite Works</A>
-<LI><A NAME="TOC176" HREF="gettext_12.html#SEC176">12.3  Invoking the <CODE>gettextize</CODE> Program</A>
-<LI><A NAME="TOC177" HREF="gettext_12.html#SEC177">12.4  Files You Must Create or Alter</A>
-<UL>
-<LI><A NAME="TOC178" HREF="gettext_12.html#SEC178">12.4.1  <TT>`POTFILES.in&acute;</TT> in <TT>`po/&acute;</TT></A>
-<LI><A NAME="TOC179" HREF="gettext_12.html#SEC179">12.4.2  <TT>`LINGUAS&acute;</TT> in <TT>`po/&acute;</TT></A>
-<LI><A NAME="TOC180" HREF="gettext_12.html#SEC180">12.4.3  <TT>`Makefile&acute;</TT> pieces in <TT>`po/&acute;</TT></A>
-<LI><A NAME="TOC181" HREF="gettext_12.html#SEC181">12.4.4  <TT>`configure.in&acute;</TT> at top level</A>
-<LI><A NAME="TOC182" HREF="gettext_12.html#SEC182">12.4.5  <TT>`config.guess&acute;</TT>, <TT>`config.sub&acute;</TT> at top level</A>
-<LI><A NAME="TOC183" HREF="gettext_12.html#SEC183">12.4.6  <TT>`mkinstalldirs&acute;</TT> at top level</A>
-<LI><A NAME="TOC184" HREF="gettext_12.html#SEC184">12.4.7  <TT>`aclocal.m4&acute;</TT> at top level</A>
-<LI><A NAME="TOC185" HREF="gettext_12.html#SEC185">12.4.8  <TT>`acconfig.h&acute;</TT> at top level</A>
-<LI><A NAME="TOC186" HREF="gettext_12.html#SEC186">12.4.9  <TT>`config.h.in&acute;</TT> at top level</A>
-<LI><A NAME="TOC187" HREF="gettext_12.html#SEC187">12.4.10  <TT>`Makefile.in&acute;</TT> at top level</A>
-<LI><A NAME="TOC188" HREF="gettext_12.html#SEC188">12.4.11  <TT>`Makefile.in&acute;</TT> in <TT>`src/&acute;</TT></A>
-<LI><A NAME="TOC189" HREF="gettext_12.html#SEC189">12.4.12  <TT>`gettext.h&acute;</TT> in <TT>`lib/&acute;</TT></A>
-</UL>
-<LI><A NAME="TOC190" HREF="gettext_12.html#SEC190">12.5  Autoconf macros for use in <TT>`configure.in&acute;</TT></A>
-<UL>
-<LI><A NAME="TOC191" HREF="gettext_12.html#SEC191">12.5.1  AM_GNU_GETTEXT in <TT>`gettext.m4&acute;</TT></A>
-<LI><A NAME="TOC192" HREF="gettext_12.html#SEC192">12.5.2  AM_GNU_GETTEXT_VERSION in <TT>`gettext.m4&acute;</TT></A>
-<LI><A NAME="TOC193" HREF="gettext_12.html#SEC193">12.5.3  AM_ICONV in <TT>`iconv.m4&acute;</TT></A>
-</UL>
-<LI><A NAME="TOC194" HREF="gettext_12.html#SEC194">12.6  Integrating with CVS</A>
-<UL>
-<LI><A NAME="TOC195" HREF="gettext_12.html#SEC195">12.6.1  Avoiding version mismatch in distributed development</A>
-<LI><A NAME="TOC196" HREF="gettext_12.html#SEC196">12.6.2  Files to put under CVS version control</A>
-<LI><A NAME="TOC197" HREF="gettext_12.html#SEC197">12.6.3  Invoking the <CODE>autopoint</CODE> Program</A>
-<UL>
-<LI><A NAME="TOC198" HREF="gettext_12.html#SEC198">12.6.3.1  Options</A>
-<LI><A NAME="TOC199" HREF="gettext_12.html#SEC199">12.6.3.2  Informative output</A>
-</UL>
-</UL>
-</UL>
-<LI><A NAME="TOC200" HREF="gettext_13.html#SEC200">13  Other Programming Languages</A>
-<UL>
-<LI><A NAME="TOC201" HREF="gettext_13.html#SEC201">13.1  The Language Implementor's View</A>
-<LI><A NAME="TOC202" HREF="gettext_13.html#SEC202">13.2  The Programmer's View</A>
-<LI><A NAME="TOC203" HREF="gettext_13.html#SEC203">13.3  The Translator's View</A>
-<UL>
-<LI><A NAME="TOC204" HREF="gettext_13.html#SEC204">13.3.1  C Format Strings</A>
-<LI><A NAME="TOC205" HREF="gettext_13.html#SEC205">13.3.2  Python Format Strings</A>
-<LI><A NAME="TOC206" HREF="gettext_13.html#SEC206">13.3.3  Lisp Format Strings</A>
-<LI><A NAME="TOC207" HREF="gettext_13.html#SEC207">13.3.4  Emacs Lisp Format Strings</A>
-<LI><A NAME="TOC208" HREF="gettext_13.html#SEC208">13.3.5  librep Format Strings</A>
-<LI><A NAME="TOC209" HREF="gettext_13.html#SEC209">13.3.6  Smalltalk Format Strings</A>
-<LI><A NAME="TOC210" HREF="gettext_13.html#SEC210">13.3.7  Java Format Strings</A>
-<LI><A NAME="TOC211" HREF="gettext_13.html#SEC211">13.3.8  awk Format Strings</A>
-<LI><A NAME="TOC212" HREF="gettext_13.html#SEC212">13.3.9  Object Pascal Format Strings</A>
-<LI><A NAME="TOC213" HREF="gettext_13.html#SEC213">13.3.10  YCP Format Strings</A>
-<LI><A NAME="TOC214" HREF="gettext_13.html#SEC214">13.3.11  Tcl Format Strings</A>
-<LI><A NAME="TOC215" HREF="gettext_13.html#SEC215">13.3.12  PHP Format Strings</A>
-</UL>
-<LI><A NAME="TOC216" HREF="gettext_13.html#SEC216">13.4  The Maintainer's View</A>
-<LI><A NAME="TOC217" HREF="gettext_13.html#SEC217">13.5  Individual Programming Languages</A>
-<UL>
-<LI><A NAME="TOC218" HREF="gettext_13.html#SEC218">13.5.1  C, C++, Objective C</A>
-<LI><A NAME="TOC219" HREF="gettext_13.html#SEC219">13.5.2  sh - Shell Script</A>
-<LI><A NAME="TOC220" HREF="gettext_13.html#SEC220">13.5.3  bash - Bourne-Again Shell Script</A>
-<LI><A NAME="TOC221" HREF="gettext_13.html#SEC221">13.5.4  Python</A>
-<LI><A NAME="TOC222" HREF="gettext_13.html#SEC222">13.5.5  GNU clisp - Common Lisp</A>
-<LI><A NAME="TOC223" HREF="gettext_13.html#SEC223">13.5.6  GNU clisp C sources</A>
-<LI><A NAME="TOC224" HREF="gettext_13.html#SEC224">13.5.7  Emacs Lisp</A>
-<LI><A NAME="TOC225" HREF="gettext_13.html#SEC225">13.5.8  librep</A>
-<LI><A NAME="TOC226" HREF="gettext_13.html#SEC226">13.5.9  GNU Smalltalk</A>
-<LI><A NAME="TOC227" HREF="gettext_13.html#SEC227">13.5.10  Java</A>
-<LI><A NAME="TOC228" HREF="gettext_13.html#SEC228">13.5.11  GNU awk</A>
-<LI><A NAME="TOC229" HREF="gettext_13.html#SEC229">13.5.12  Pascal - Free Pascal Compiler</A>
-<LI><A NAME="TOC230" HREF="gettext_13.html#SEC230">13.5.13  wxWindows library</A>
-<LI><A NAME="TOC231" HREF="gettext_13.html#SEC231">13.5.14  YCP - YaST2 scripting language</A>
-<LI><A NAME="TOC232" HREF="gettext_13.html#SEC232">13.5.15  Tcl - Tk's scripting language</A>
-<LI><A NAME="TOC233" HREF="gettext_13.html#SEC233">13.5.16  Perl</A>
-<LI><A NAME="TOC234" HREF="gettext_13.html#SEC234">13.5.17  PHP Hypertext Preprocessor</A>
-<LI><A NAME="TOC235" HREF="gettext_13.html#SEC235">13.5.18  Pike</A>
-</UL>
-<LI><A NAME="TOC236" HREF="gettext_13.html#SEC236">13.6  Internationalizable Data</A>
-<UL>
-<LI><A NAME="TOC237" HREF="gettext_13.html#SEC237">13.6.1  POT - Portable Object Template</A>
-<LI><A NAME="TOC238" HREF="gettext_13.html#SEC238">13.6.2  Resource String Table</A>
-<LI><A NAME="TOC239" HREF="gettext_13.html#SEC239">13.6.3  Glade - GNOME user interface description</A>
-</UL>
-</UL>
-<LI><A NAME="TOC240" HREF="gettext_14.html#SEC240">14  Concluding Remarks</A>
-<UL>
-<LI><A NAME="TOC241" HREF="gettext_14.html#SEC241">14.1  History of GNU <CODE>gettext</CODE></A>
-<LI><A NAME="TOC242" HREF="gettext_14.html#SEC242">14.2  Related Readings</A>
-</UL>
-<LI><A NAME="TOC243" HREF="gettext_15.html#SEC243">A  Language Codes</A>
-<LI><A NAME="TOC244" HREF="gettext_16.html#SEC244">B  Country Codes</A>
-<LI><A NAME="TOC245" HREF="gettext_17.html#SEC245">Program Index</A>
-<LI><A NAME="TOC246" HREF="gettext_18.html#SEC246">Option Index</A>
-<LI><A NAME="TOC247" HREF="gettext_19.html#SEC247">Variable Index</A>
-<LI><A NAME="TOC248" HREF="gettext_20.html#SEC248">PO Mode Index</A>
-<LI><A NAME="TOC249" HREF="gettext_21.html#SEC249">Autoconf Macro Index</A>
-<LI><A NAME="TOC250" HREF="gettext_22.html#SEC250">General Index</A>
-</UL>
-<P><HR><P>
-This document was generated on 5 November 2002 using the
-<A HREF="http://wwwinfo.cern.ch/dis/texi2html/">texi2html</A>
-translator version 1.52a.</P>
-</BODY>
-</HTML>