summaryrefslogtreecommitdiff
path: root/package/gettext-tiny/src/docs/gettext.html
diff options
context:
space:
mode:
Diffstat (limited to 'package/gettext-tiny/src/docs/gettext.html')
-rw-r--r--package/gettext-tiny/src/docs/gettext.html18036
1 files changed, 18036 insertions, 0 deletions
diff --git a/package/gettext-tiny/src/docs/gettext.html b/package/gettext-tiny/src/docs/gettext.html
new file mode 100644
index 000000000..05d4c9c43
--- /dev/null
+++ b/package/gettext-tiny/src/docs/gettext.html
@@ -0,0 +1,18036 @@
+<html lang="en">
+<head>
+<title>GNU `gettext' utilities</title>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+<meta name="description" content="GNU `gettext' utilities">
+<meta name="generator" content="makeinfo 4.13">
+<link title="Top" rel="top" href="#Top">
+<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
+<meta http-equiv="Content-Style-Type" content="text/css">
+<style type="text/css"><!--
+ pre.display { font-family:inherit }
+ pre.format { font-family:inherit }
+ pre.smalldisplay { font-family:inherit; font-size:smaller }
+ pre.smallformat { font-family:inherit; font-size:smaller }
+ pre.smallexample { font-size:smaller }
+ pre.smalllisp { font-size:smaller }
+ span.sc { font-variant:small-caps }
+ span.roman { font-family:serif; font-weight:normal; }
+ span.sansserif { font-family:sans-serif; font-weight:normal; }
+--></style>
+</head>
+<body>
+<h1 class="settitle">GNU `gettext' utilities</h1>
+ <div class="contents">
+<h2>Table of Contents</h2>
+<ul>
+<li><a name="toc_Top" href="#Top">GNU <code>gettext</code> utilities</a>
+<li><a name="toc_Introduction" href="#Introduction">1 Introduction</a>
+<ul>
+<li><a href="#Why">1.1 The Purpose of GNU <code>gettext</code></a>
+<li><a href="#Concepts">1.2 I18n, L10n, and Such</a>
+<li><a href="#Aspects">1.3 Aspects in Native Language Support</a>
+<li><a href="#Files">1.4 Files Conveying Translations</a>
+<li><a href="#Overview">1.5 Overview of GNU <code>gettext</code></a>
+</li></ul>
+<li><a name="toc_Users" href="#Users">2 The User's View</a>
+<ul>
+<li><a href="#System-Installation">2.1 Operating System Installation</a>
+<li><a href="#Setting-the-GUI-Locale">2.2 Setting the Locale Used by GUI Programs</a>
+<li><a href="#Setting-the-POSIX-Locale">2.3 Setting the Locale through Environment Variables</a>
+<ul>
+<li><a href="#Locale-Names">2.3.1 Locale Names</a>
+<li><a href="#Locale-Environment-Variables">2.3.2 Locale Environment Variables</a>
+<li><a href="#The-LANGUAGE-variable">2.3.3 Specifying a Priority List of Languages</a>
+</li></ul>
+<li><a href="#Installing-Localizations">2.4 Installing Translations for Particular Programs</a>
+</li></ul>
+<li><a name="toc_PO-Files" href="#PO-Files">3 The Format of PO Files</a>
+<li><a name="toc_Sources" href="#Sources">4 Preparing Program Sources</a>
+<ul>
+<li><a href="#Importing">4.1 Importing the <code>gettext</code> declaration</a>
+<li><a href="#Triggering">4.2 Triggering <code>gettext</code> Operations</a>
+<li><a href="#Preparing-Strings">4.3 Preparing Translatable Strings</a>
+<li><a href="#Mark-Keywords">4.4 How Marks Appear in Sources</a>
+<li><a href="#Marking">4.5 Marking Translatable Strings</a>
+<li><a href="#c_002dformat-Flag">4.6 Special Comments preceding Keywords</a>
+<li><a href="#Special-cases">4.7 Special Cases of Translatable Strings</a>
+<li><a href="#Bug-Report-Address">4.8 Letting Users Report Translation Bugs</a>
+<li><a href="#Names">4.9 Marking Proper Names for Translation</a>
+<li><a href="#Libraries">4.10 Preparing Library Sources</a>
+</li></ul>
+<li><a name="toc_Template" href="#Template">5 Making the PO Template File</a>
+<ul>
+<li><a href="#xgettext-Invocation">5.1 Invoking the <code>xgettext</code> Program</a>
+<ul>
+<li><a href="#xgettext-Invocation">5.1.1 Input file location</a>
+<li><a href="#xgettext-Invocation">5.1.2 Output file location</a>
+<li><a href="#xgettext-Invocation">5.1.3 Choice of input file language</a>
+<li><a href="#xgettext-Invocation">5.1.4 Input file interpretation</a>
+<li><a href="#xgettext-Invocation">5.1.5 Operation mode</a>
+<li><a href="#xgettext-Invocation">5.1.6 Language specific options</a>
+<li><a href="#xgettext-Invocation">5.1.7 Output details</a>
+<li><a href="#xgettext-Invocation">5.1.8 Informative output</a>
+</li></ul>
+</li></ul>
+<li><a name="toc_Creating" href="#Creating">6 Creating a New PO File</a>
+<ul>
+<li><a href="#msginit-Invocation">6.1 Invoking the <code>msginit</code> Program</a>
+<ul>
+<li><a href="#msginit-Invocation">6.1.1 Input file location</a>
+<li><a href="#msginit-Invocation">6.1.2 Output file location</a>
+<li><a href="#msginit-Invocation">6.1.3 Input file syntax</a>
+<li><a href="#msginit-Invocation">6.1.4 Output details</a>
+<li><a href="#msginit-Invocation">6.1.5 Informative output</a>
+</li></ul>
+<li><a href="#Header-Entry">6.2 Filling in the Header Entry</a>
+</li></ul>
+<li><a name="toc_Updating" href="#Updating">7 Updating Existing PO Files</a>
+<ul>
+<li><a href="#msgmerge-Invocation">7.1 Invoking the <code>msgmerge</code> Program</a>
+<ul>
+<li><a href="#msgmerge-Invocation">7.1.1 Input file location</a>
+<li><a href="#msgmerge-Invocation">7.1.2 Operation mode</a>
+<li><a href="#msgmerge-Invocation">7.1.3 Output file location</a>
+<li><a href="#msgmerge-Invocation">7.1.4 Output file location in update mode</a>
+<li><a href="#msgmerge-Invocation">7.1.5 Operation modifiers</a>
+<li><a href="#msgmerge-Invocation">7.1.6 Input file syntax</a>
+<li><a href="#msgmerge-Invocation">7.1.7 Output details</a>
+<li><a href="#msgmerge-Invocation">7.1.8 Informative output</a>
+</li></ul>
+</li></ul>
+<li><a name="toc_Editing" href="#Editing">8 Editing PO Files</a>
+<ul>
+<li><a href="#KBabel">8.1 KDE's PO File Editor</a>
+<li><a href="#Gtranslator">8.2 GNOME's PO File Editor</a>
+<li><a href="#PO-Mode">8.3 Emacs's PO File Editor</a>
+<ul>
+<li><a href="#Installation">8.3.1 Completing GNU <code>gettext</code> Installation</a>
+<li><a href="#Main-PO-Commands">8.3.2 Main PO mode Commands</a>
+<li><a href="#Entry-Positioning">8.3.3 Entry Positioning</a>
+<li><a href="#Normalizing">8.3.4 Normalizing Strings in Entries</a>
+<li><a href="#Translated-Entries">8.3.5 Translated Entries</a>
+<li><a href="#Fuzzy-Entries">8.3.6 Fuzzy Entries</a>
+<li><a href="#Untranslated-Entries">8.3.7 Untranslated Entries</a>
+<li><a href="#Obsolete-Entries">8.3.8 Obsolete Entries</a>
+<li><a href="#Modifying-Translations">8.3.9 Modifying Translations</a>
+<li><a href="#Modifying-Comments">8.3.10 Modifying Comments</a>
+<li><a href="#Subedit">8.3.11 Details of Sub Edition</a>
+<li><a href="#C-Sources-Context">8.3.12 C Sources Context</a>
+<li><a href="#Auxiliary">8.3.13 Consulting Auxiliary PO Files</a>
+</li></ul>
+<li><a href="#Compendium">8.4 Using Translation Compendia</a>
+<ul>
+<li><a href="#Creating-Compendia">8.4.1 Creating Compendia</a>
+<ul>
+<li><a href="#Creating-Compendia">8.4.1.1 Concatenate PO Files</a>
+<li><a href="#Creating-Compendia">8.4.1.2 Extract a Message Subset from a PO File</a>
+</li></ul>
+<li><a href="#Using-Compendia">8.4.2 Using Compendia</a>
+<ul>
+<li><a href="#Using-Compendia">8.4.2.1 Initialize a New Translation File</a>
+<li><a href="#Using-Compendia">8.4.2.2 Update an Existing Translation File</a>
+</li></ul>
+</li></ul>
+</li></ul>
+<li><a name="toc_Manipulating" href="#Manipulating">9 Manipulating PO Files</a>
+<ul>
+<li><a href="#msgcat-Invocation">9.1 Invoking the <code>msgcat</code> Program</a>
+<ul>
+<li><a href="#msgcat-Invocation">9.1.1 Input file location</a>
+<li><a href="#msgcat-Invocation">9.1.2 Output file location</a>
+<li><a href="#msgcat-Invocation">9.1.3 Message selection</a>
+<li><a href="#msgcat-Invocation">9.1.4 Input file syntax</a>
+<li><a href="#msgcat-Invocation">9.1.5 Output details</a>
+<li><a href="#msgcat-Invocation">9.1.6 Informative output</a>
+</li></ul>
+<li><a href="#msgconv-Invocation">9.2 Invoking the <code>msgconv</code> Program</a>
+<ul>
+<li><a href="#msgconv-Invocation">9.2.1 Input file location</a>
+<li><a href="#msgconv-Invocation">9.2.2 Output file location</a>
+<li><a href="#msgconv-Invocation">9.2.3 Conversion target</a>
+<li><a href="#msgconv-Invocation">9.2.4 Input file syntax</a>
+<li><a href="#msgconv-Invocation">9.2.5 Output details</a>
+<li><a href="#msgconv-Invocation">9.2.6 Informative output</a>
+</li></ul>
+<li><a href="#msggrep-Invocation">9.3 Invoking the <code>msggrep</code> Program</a>
+<ul>
+<li><a href="#msggrep-Invocation">9.3.1 Input file location</a>
+<li><a href="#msggrep-Invocation">9.3.2 Output file location</a>
+<li><a href="#msggrep-Invocation">9.3.3 Message selection</a>
+<li><a href="#msggrep-Invocation">9.3.4 Input file syntax</a>
+<li><a href="#msggrep-Invocation">9.3.5 Output details</a>
+<li><a href="#msggrep-Invocation">9.3.6 Informative output</a>
+<li><a href="#msggrep-Invocation">9.3.7 Examples</a>
+</li></ul>
+<li><a href="#msgfilter-Invocation">9.4 Invoking the <code>msgfilter</code> Program</a>
+<ul>
+<li><a href="#msgfilter-Invocation">9.4.1 Input file location</a>
+<li><a href="#msgfilter-Invocation">9.4.2 Output file location</a>
+<li><a href="#msgfilter-Invocation">9.4.3 The filter</a>
+<li><a href="#msgfilter-Invocation">9.4.4 Useful <var>filter-option</var>s when the <var>filter</var> is &lsquo;<samp><span class="samp">sed</span></samp>&rsquo;</a>
+<li><a href="#msgfilter-Invocation">9.4.5 Built-in <var>filter</var>s</a>
+<li><a href="#msgfilter-Invocation">9.4.6 Input file syntax</a>
+<li><a href="#msgfilter-Invocation">9.4.7 Output details</a>
+<li><a href="#msgfilter-Invocation">9.4.8 Informative output</a>
+<li><a href="#msgfilter-Invocation">9.4.9 Examples</a>
+</li></ul>
+<li><a href="#msguniq-Invocation">9.5 Invoking the <code>msguniq</code> Program</a>
+<ul>
+<li><a href="#msguniq-Invocation">9.5.1 Input file location</a>
+<li><a href="#msguniq-Invocation">9.5.2 Output file location</a>
+<li><a href="#msguniq-Invocation">9.5.3 Message selection</a>
+<li><a href="#msguniq-Invocation">9.5.4 Input file syntax</a>
+<li><a href="#msguniq-Invocation">9.5.5 Output details</a>
+<li><a href="#msguniq-Invocation">9.5.6 Informative output</a>
+</li></ul>
+<li><a href="#msgcomm-Invocation">9.6 Invoking the <code>msgcomm</code> Program</a>
+<ul>
+<li><a href="#msgcomm-Invocation">9.6.1 Input file location</a>
+<li><a href="#msgcomm-Invocation">9.6.2 Output file location</a>
+<li><a href="#msgcomm-Invocation">9.6.3 Message selection</a>
+<li><a href="#msgcomm-Invocation">9.6.4 Input file syntax</a>
+<li><a href="#msgcomm-Invocation">9.6.5 Output details</a>
+<li><a href="#msgcomm-Invocation">9.6.6 Informative output</a>
+</li></ul>
+<li><a href="#msgcmp-Invocation">9.7 Invoking the <code>msgcmp</code> Program</a>
+<ul>
+<li><a href="#msgcmp-Invocation">9.7.1 Input file location</a>
+<li><a href="#msgcmp-Invocation">9.7.2 Operation modifiers</a>
+<li><a href="#msgcmp-Invocation">9.7.3 Input file syntax</a>
+<li><a href="#msgcmp-Invocation">9.7.4 Informative output</a>
+</li></ul>
+<li><a href="#msgattrib-Invocation">9.8 Invoking the <code>msgattrib</code> Program</a>
+<ul>
+<li><a href="#msgattrib-Invocation">9.8.1 Input file location</a>
+<li><a href="#msgattrib-Invocation">9.8.2 Output file location</a>
+<li><a href="#msgattrib-Invocation">9.8.3 Message selection</a>
+<li><a href="#msgattrib-Invocation">9.8.4 Attribute manipulation</a>
+<li><a href="#msgattrib-Invocation">9.8.5 Input file syntax</a>
+<li><a href="#msgattrib-Invocation">9.8.6 Output details</a>
+<li><a href="#msgattrib-Invocation">9.8.7 Informative output</a>
+</li></ul>
+<li><a href="#msgen-Invocation">9.9 Invoking the <code>msgen</code> Program</a>
+<ul>
+<li><a href="#msgen-Invocation">9.9.1 Input file location</a>
+<li><a href="#msgen-Invocation">9.9.2 Output file location</a>
+<li><a href="#msgen-Invocation">9.9.3 Input file syntax</a>
+<li><a href="#msgen-Invocation">9.9.4 Output details</a>
+<li><a href="#msgen-Invocation">9.9.5 Informative output</a>
+</li></ul>
+<li><a href="#msgexec-Invocation">9.10 Invoking the <code>msgexec</code> Program</a>
+<ul>
+<li><a href="#msgexec-Invocation">9.10.1 Input file location</a>
+<li><a href="#msgexec-Invocation">9.10.2 Input file syntax</a>
+<li><a href="#msgexec-Invocation">9.10.3 Informative output</a>
+</li></ul>
+<li><a href="#Colorizing">9.11 Highlighting parts of PO files</a>
+<ul>
+<li><a href="#The-_002d_002dcolor-option">9.11.1 The <code>--color</code> option</a>
+<li><a href="#The-TERM-variable">9.11.2 The environment variable <code>TERM</code></a>
+<li><a href="#The-_002d_002dstyle-option">9.11.3 The <code>--style</code> option</a>
+<li><a href="#Style-rules">9.11.4 Style rules for PO files</a>
+<li><a href="#Customizing-less">9.11.5 Customizing <code>less</code> for viewing PO files</a>
+</li></ul>
+<li><a href="#libgettextpo">9.12 Writing your own programs that process PO files</a>
+</li></ul>
+<li><a name="toc_Binaries" href="#Binaries">10 Producing Binary MO Files</a>
+<ul>
+<li><a href="#msgfmt-Invocation">10.1 Invoking the <code>msgfmt</code> Program</a>
+<ul>
+<li><a href="#msgfmt-Invocation">10.1.1 Input file location</a>
+<li><a href="#msgfmt-Invocation">10.1.2 Operation mode</a>
+<li><a href="#msgfmt-Invocation">10.1.3 Output file location</a>
+<li><a href="#msgfmt-Invocation">10.1.4 Output file location in Java mode</a>
+<li><a href="#msgfmt-Invocation">10.1.5 Output file location in C# mode</a>
+<li><a href="#msgfmt-Invocation">10.1.6 Output file location in Tcl mode</a>
+<li><a href="#msgfmt-Invocation">10.1.7 Input file syntax</a>
+<li><a href="#msgfmt-Invocation">10.1.8 Input file interpretation</a>
+<li><a href="#msgfmt-Invocation">10.1.9 Output details</a>
+<li><a href="#msgfmt-Invocation">10.1.10 Informative output</a>
+</li></ul>
+<li><a href="#msgunfmt-Invocation">10.2 Invoking the <code>msgunfmt</code> Program</a>
+<ul>
+<li><a href="#msgunfmt-Invocation">10.2.1 Operation mode</a>
+<li><a href="#msgunfmt-Invocation">10.2.2 Input file location</a>
+<li><a href="#msgunfmt-Invocation">10.2.3 Input file location in Java mode</a>
+<li><a href="#msgunfmt-Invocation">10.2.4 Input file location in C# mode</a>
+<li><a href="#msgunfmt-Invocation">10.2.5 Input file location in Tcl mode</a>
+<li><a href="#msgunfmt-Invocation">10.2.6 Output file location</a>
+<li><a href="#msgunfmt-Invocation">10.2.7 Output details</a>
+<li><a href="#msgunfmt-Invocation">10.2.8 Informative output</a>
+</li></ul>
+<li><a href="#MO-Files">10.3 The Format of GNU MO Files</a>
+</li></ul>
+<li><a name="toc_Programmers" href="#Programmers">11 The Programmer's View</a>
+<ul>
+<li><a href="#catgets">11.1 About <code>catgets</code></a>
+<ul>
+<li><a href="#Interface-to-catgets">11.1.1 The Interface</a>
+<li><a href="#Problems-with-catgets">11.1.2 Problems with the <code>catgets</code> Interface?!</a>
+</li></ul>
+<li><a href="#gettext">11.2 About <code>gettext</code></a>
+<ul>
+<li><a href="#Interface-to-gettext">11.2.1 The Interface</a>
+<li><a href="#Ambiguities">11.2.2 Solving Ambiguities</a>
+<li><a href="#Locating-Catalogs">11.2.3 Locating Message Catalog Files</a>
+<li><a href="#Charset-conversion">11.2.4 How to specify the output character set <code>gettext</code> uses</a>
+<li><a href="#Contexts">11.2.5 Using contexts for solving ambiguities</a>
+<li><a href="#Plural-forms">11.2.6 Additional functions for plural forms</a>
+<li><a href="#Optimized-gettext">11.2.7 Optimization of the *gettext functions</a>
+</li></ul>
+<li><a href="#Comparison">11.3 Comparing the Two Interfaces</a>
+<li><a href="#Using-libintl_002ea">11.4 Using libintl.a in own programs</a>
+<li><a href="#gettext-grok">11.5 Being a <code>gettext</code> grok</a>
+<li><a href="#Temp-Programmers">11.6 Temporary Notes for the Programmers Chapter</a>
+<ul>
+<li><a href="#Temp-Implementations">11.6.1 Temporary - Two Possible Implementations</a>
+<li><a href="#Temp-catgets">11.6.2 Temporary - About <code>catgets</code></a>
+<li><a href="#Temp-WSI">11.6.3 Temporary - Why a single implementation</a>
+<li><a href="#Temp-Notes">11.6.4 Temporary - Notes</a>
+</li></ul>
+</li></ul>
+<li><a name="toc_Translators" href="#Translators">12 The Translator's View</a>
+<ul>
+<li><a href="#Trans-Intro-0">12.1 Introduction 0</a>
+<li><a href="#Trans-Intro-1">12.2 Introduction 1</a>
+<li><a href="#Discussions">12.3 Discussions</a>
+<li><a href="#Organization">12.4 Organization</a>
+<ul>
+<li><a href="#Central-Coordination">12.4.1 Central Coordination</a>
+<li><a href="#National-Teams">12.4.2 National Teams</a>
+<ul>
+<li><a href="#Sub_002dCultures">12.4.2.1 Sub-Cultures</a>
+<li><a href="#Organizational-Ideas">12.4.2.2 Organizational Ideas</a>
+</li></ul>
+<li><a href="#Mailing-Lists">12.4.3 Mailing Lists</a>
+</li></ul>
+<li><a href="#Information-Flow">12.5 Information Flow</a>
+<li><a href="#Translating-plural-forms">12.6 Translating plural forms</a>
+<li><a href="#Prioritizing-messages">12.7 Prioritizing messages: How to determine which messages to translate first</a>
+</li></ul>
+<li><a name="toc_Maintainers" href="#Maintainers">13 The Maintainer's View</a>
+<ul>
+<li><a href="#Flat-and-Non_002dFlat">13.1 Flat or Non-Flat Directory Structures</a>
+<li><a href="#Prerequisites">13.2 Prerequisite Works</a>
+<li><a href="#gettextize-Invocation">13.3 Invoking the <code>gettextize</code> Program</a>
+<li><a href="#Adjusting-Files">13.4 Files You Must Create or Alter</a>
+<ul>
+<li><a href="#po_002fPOTFILES_002ein">13.4.1 <samp><span class="file">POTFILES.in</span></samp> in <samp><span class="file">po/</span></samp></a>
+<li><a href="#po_002fLINGUAS">13.4.2 <samp><span class="file">LINGUAS</span></samp> in <samp><span class="file">po/</span></samp></a>
+<li><a href="#po_002fMakevars">13.4.3 <samp><span class="file">Makevars</span></samp> in <samp><span class="file">po/</span></samp></a>
+<li><a href="#po_002fRules_002d_002a">13.4.4 Extending <samp><span class="file">Makefile</span></samp> in <samp><span class="file">po/</span></samp></a>
+<li><a href="#configure_002eac">13.4.5 <samp><span class="file">configure.ac</span></samp> at top level</a>
+<li><a href="#config_002eguess">13.4.6 <samp><span class="file">config.guess</span></samp>, <samp><span class="file">config.sub</span></samp> at top level</a>
+<li><a href="#mkinstalldirs">13.4.7 <samp><span class="file">mkinstalldirs</span></samp> at top level</a>
+<li><a href="#aclocal">13.4.8 <samp><span class="file">aclocal.m4</span></samp> at top level</a>
+<li><a href="#acconfig">13.4.9 <samp><span class="file">acconfig.h</span></samp> at top level</a>
+<li><a href="#config_002eh_002ein">13.4.10 <samp><span class="file">config.h.in</span></samp> at top level</a>
+<li><a href="#Makefile">13.4.11 <samp><span class="file">Makefile.in</span></samp> at top level</a>
+<li><a href="#src_002fMakefile">13.4.12 <samp><span class="file">Makefile.in</span></samp> in <samp><span class="file">src/</span></samp></a>
+<li><a href="#lib_002fgettext_002eh">13.4.13 <samp><span class="file">gettext.h</span></samp> in <samp><span class="file">lib/</span></samp></a>
+</li></ul>
+<li><a href="#autoconf-macros">13.5 Autoconf macros for use in <samp><span class="file">configure.ac</span></samp></a>
+<ul>
+<li><a href="#AM_005fGNU_005fGETTEXT">13.5.1 AM_GNU_GETTEXT in <samp><span class="file">gettext.m4</span></samp></a>
+<li><a href="#AM_005fGNU_005fGETTEXT_005fVERSION">13.5.2 AM_GNU_GETTEXT_VERSION in <samp><span class="file">gettext.m4</span></samp></a>
+<li><a href="#AM_005fGNU_005fGETTEXT_005fNEED">13.5.3 AM_GNU_GETTEXT_NEED in <samp><span class="file">gettext.m4</span></samp></a>
+<li><a href="#AM_005fGNU_005fGETTEXT_005fINTL_005fSUBDIR">13.5.4 AM_GNU_GETTEXT_INTL_SUBDIR in <samp><span class="file">intldir.m4</span></samp></a>
+<li><a href="#AM_005fPO_005fSUBDIRS">13.5.5 AM_PO_SUBDIRS in <samp><span class="file">po.m4</span></samp></a>
+<li><a href="#AM_005fXGETTEXT_005fOPTION">13.5.6 AM_XGETTEXT_OPTION in <samp><span class="file">po.m4</span></samp></a>
+<li><a href="#AM_005fICONV">13.5.7 AM_ICONV in <samp><span class="file">iconv.m4</span></samp></a>
+</li></ul>
+<li><a href="#CVS-Issues">13.6 Integrating with CVS</a>
+<ul>
+<li><a href="#Distributed-CVS">13.6.1 Avoiding version mismatch in distributed development</a>
+<li><a href="#Files-under-CVS">13.6.2 Files to put under CVS version control</a>
+<li><a href="#autopoint-Invocation">13.6.3 Invoking the <code>autopoint</code> Program</a>
+<ul>
+<li><a href="#autopoint-Invocation">13.6.3.1 Options</a>
+<li><a href="#autopoint-Invocation">13.6.3.2 Informative output</a>
+</li></ul>
+</li></ul>
+<li><a href="#Release-Management">13.7 Creating a Distribution Tarball</a>
+</li></ul>
+<li><a name="toc_Installers" href="#Installers">14 The Installer's and Distributor's View</a>
+<li><a name="toc_Programming-Languages" href="#Programming-Languages">15 Other Programming Languages</a>
+<ul>
+<li><a href="#Language-Implementors">15.1 The Language Implementor's View</a>
+<li><a href="#Programmers-for-other-Languages">15.2 The Programmer's View</a>
+<li><a href="#Translators-for-other-Languages">15.3 The Translator's View</a>
+<ul>
+<li><a href="#c_002dformat">15.3.1 C Format Strings</a>
+<li><a href="#objc_002dformat">15.3.2 Objective C Format Strings</a>
+<li><a href="#sh_002dformat">15.3.3 Shell Format Strings</a>
+<li><a href="#python_002dformat">15.3.4 Python Format Strings</a>
+<li><a href="#lisp_002dformat">15.3.5 Lisp Format Strings</a>
+<li><a href="#elisp_002dformat">15.3.6 Emacs Lisp Format Strings</a>
+<li><a href="#librep_002dformat">15.3.7 librep Format Strings</a>
+<li><a href="#scheme_002dformat">15.3.8 Scheme Format Strings</a>
+<li><a href="#smalltalk_002dformat">15.3.9 Smalltalk Format Strings</a>
+<li><a href="#java_002dformat">15.3.10 Java Format Strings</a>
+<li><a href="#csharp_002dformat">15.3.11 C# Format Strings</a>
+<li><a href="#awk_002dformat">15.3.12 awk Format Strings</a>
+<li><a href="#object_002dpascal_002dformat">15.3.13 Object Pascal Format Strings</a>
+<li><a href="#ycp_002dformat">15.3.14 YCP Format Strings</a>
+<li><a href="#tcl_002dformat">15.3.15 Tcl Format Strings</a>
+<li><a href="#perl_002dformat">15.3.16 Perl Format Strings</a>
+<li><a href="#php_002dformat">15.3.17 PHP Format Strings</a>
+<li><a href="#gcc_002dinternal_002dformat">15.3.18 GCC internal Format Strings</a>
+<li><a href="#gfc_002dinternal_002dformat">15.3.19 GFC internal Format Strings</a>
+<li><a href="#qt_002dformat">15.3.20 Qt Format Strings</a>
+<li><a href="#qt_002dplural_002dformat">15.3.21 Qt Format Strings</a>
+<li><a href="#kde_002dformat">15.3.22 KDE Format Strings</a>
+<li><a href="#boost_002dformat">15.3.23 Boost Format Strings</a>
+</li></ul>
+<li><a href="#Maintainers-for-other-Languages">15.4 The Maintainer's View</a>
+<li><a href="#List-of-Programming-Languages">15.5 Individual Programming Languages</a>
+<ul>
+<li><a href="#C">15.5.1 C, C++, Objective C</a>
+<li><a href="#sh">15.5.2 sh - Shell Script</a>
+<ul>
+<li><a href="#Preparing-Shell-Scripts">15.5.2.1 Preparing Shell Scripts for Internationalization</a>
+<li><a href="#gettext_002esh">15.5.2.2 Contents of <code>gettext.sh</code></a>
+<li><a href="#gettext-Invocation">15.5.2.3 Invoking the <code>gettext</code> program</a>
+<li><a href="#ngettext-Invocation">15.5.2.4 Invoking the <code>ngettext</code> program</a>
+<li><a href="#envsubst-Invocation">15.5.2.5 Invoking the <code>envsubst</code> program</a>
+<li><a href="#eval_005fgettext-Invocation">15.5.2.6 Invoking the <code>eval_gettext</code> function</a>
+<li><a href="#eval_005fngettext-Invocation">15.5.2.7 Invoking the <code>eval_ngettext</code> function</a>
+</li></ul>
+<li><a href="#bash">15.5.3 bash - Bourne-Again Shell Script</a>
+<li><a href="#Python">15.5.4 Python</a>
+<li><a href="#Common-Lisp">15.5.5 GNU clisp - Common Lisp</a>
+<li><a href="#clisp-C">15.5.6 GNU clisp C sources</a>
+<li><a href="#Emacs-Lisp">15.5.7 Emacs Lisp</a>
+<li><a href="#librep">15.5.8 librep</a>
+<li><a href="#Scheme">15.5.9 GNU guile - Scheme</a>
+<li><a href="#Smalltalk">15.5.10 GNU Smalltalk</a>
+<li><a href="#Java">15.5.11 Java</a>
+<li><a href="#C_0023">15.5.12 C#</a>
+<li><a href="#gawk">15.5.13 GNU awk</a>
+<li><a href="#Pascal">15.5.14 Pascal - Free Pascal Compiler</a>
+<li><a href="#wxWidgets">15.5.15 wxWidgets library</a>
+<li><a href="#YCP">15.5.16 YCP - YaST2 scripting language</a>
+<li><a href="#Tcl">15.5.17 Tcl - Tk's scripting language</a>
+<li><a href="#Perl">15.5.18 Perl</a>
+<ul>
+<li><a href="#General-Problems">15.5.18.1 General Problems Parsing Perl Code</a>
+<li><a href="#Default-Keywords">15.5.18.2 Which keywords will xgettext look for?</a>
+<li><a href="#Special-Keywords">15.5.18.3 How to Extract Hash Keys</a>
+<li><a href="#Quote_002dlike-Expressions">15.5.18.4 What are Strings And Quote-like Expressions?</a>
+<li><a href="#Interpolation-I">15.5.18.5 Invalid Uses Of String Interpolation</a>
+<li><a href="#Interpolation-II">15.5.18.6 Valid Uses Of String Interpolation</a>
+<li><a href="#Parentheses">15.5.18.7 When To Use Parentheses</a>
+<li><a href="#Long-Lines">15.5.18.8 How To Grok with Long Lines</a>
+<li><a href="#Perl-Pitfalls">15.5.18.9 Bugs, Pitfalls, And Things That Do Not Work</a>
+</li></ul>
+<li><a href="#PHP">15.5.19 PHP Hypertext Preprocessor</a>
+<li><a href="#Pike">15.5.20 Pike</a>
+<li><a href="#GCC_002dsource">15.5.21 GNU Compiler Collection sources</a>
+</li></ul>
+<li><a href="#List-of-Data-Formats">15.6 Internationalizable Data</a>
+<ul>
+<li><a href="#POT">15.6.1 POT - Portable Object Template</a>
+<li><a href="#RST">15.6.2 Resource String Table</a>
+<li><a href="#Glade">15.6.3 Glade - GNOME user interface description</a>
+</li></ul>
+</li></ul>
+<li><a name="toc_Conclusion" href="#Conclusion">16 Concluding Remarks</a>
+<ul>
+<li><a href="#History">16.1 History of GNU <code>gettext</code></a>
+<li><a href="#References">16.2 Related Readings</a>
+</li></ul>
+<li><a name="toc_Language-Codes" href="#Language-Codes">Appendix A Language Codes</a>
+<ul>
+<li><a href="#Usual-Language-Codes">A.1 Usual Language Codes</a>
+<li><a href="#Rare-Language-Codes">A.2 Rare Language Codes</a>
+</li></ul>
+<li><a name="toc_Country-Codes" href="#Country-Codes">Appendix B Country Codes</a>
+<li><a name="toc_Licenses" href="#Licenses">Appendix C Licenses</a>
+<ul>
+<li><a href="#GNU-GPL">C.1 GNU GENERAL PUBLIC LICENSE</a>
+<ul>
+<li><a href="#GNU-GPL">Preamble</a>
+<li><a href="#GNU-GPL">Appendix: How to Apply These Terms to Your New Programs</a>
+</li></ul>
+<li><a href="#GNU-LGPL">C.2 GNU LESSER GENERAL PUBLIC LICENSE</a>
+<ul>
+<li><a href="#GNU-LGPL">Preamble</a>
+<li><a href="#GNU-LGPL">How to Apply These Terms to Your New Libraries</a>
+</li></ul>
+<li><a href="#GNU-FDL">C.3 GNU Free Documentation License</a>
+<ul>
+<li><a href="#GNU-FDL">ADDENDUM: How to use this License for your documents</a>
+</li></ul>
+</li></ul>
+<li><a name="toc_Program-Index" href="#Program-Index">Program Index</a>
+<li><a name="toc_Option-Index" href="#Option-Index">Option Index</a>
+<li><a name="toc_Variable-Index" href="#Variable-Index">Variable Index</a>
+<li><a name="toc_PO-Mode-Index" href="#PO-Mode-Index">PO Mode Index</a>
+<li><a name="toc_Autoconf-Macro-Index" href="#Autoconf-Macro-Index">Autoconf Macro Index</a>
+<li><a name="toc_Index" href="#Index">General Index</a>
+</li></ul>
+</div>
+
+
+
+<div class="node">
+<a name="Top"></a>
+<p><hr>
+Next:&nbsp;<a rel="next" accesskey="n" href="#Introduction">Introduction</a>,
+Previous:&nbsp;<a rel="previous" accesskey="p" href="#dir">(dir)</a>,
+Up:&nbsp;<a rel="up" accesskey="u" href="#dir">(dir)</a>
+
+</div>
+
+<h2 class="unnumbered">GNU <code>gettext</code> utilities</h2>
+
+ <p>This manual documents the GNU gettext tools and the GNU libintl library,
+version 0.18.
+
+<ul class="menu">
+<li><a accesskey="1" href="#Introduction">Introduction</a>: Introduction
+<li><a accesskey="2" href="#Users">Users</a>: The User's View
+<li><a accesskey="3" href="#PO-Files">PO Files</a>: The Format of PO Files
+<li><a accesskey="4" href="#Sources">Sources</a>: Preparing Program Sources
+<li><a accesskey="5" href="#Template">Template</a>: Making the PO Template File
+<li><a accesskey="6" href="#Creating">Creating</a>: Creating a New PO File
+<li><a accesskey="7" href="#Updating">Updating</a>: Updating Existing PO Files
+<li><a accesskey="8" href="#Editing">Editing</a>: Editing PO Files
+<li><a accesskey="9" href="#Manipulating">Manipulating</a>: Manipulating PO Files
+<li><a href="#Binaries">Binaries</a>: Producing Binary MO Files
+<li><a href="#Programmers">Programmers</a>: The Programmer's View
+<li><a href="#Translators">Translators</a>: The Translator's View
+<li><a href="#Maintainers">Maintainers</a>: The Maintainer's View
+<li><a href="#Installers">Installers</a>: The Installer's and Distributor's View
+<li><a href="#Programming-Languages">Programming Languages</a>: Other Programming Languages
+<li><a href="#Conclusion">Conclusion</a>: Concluding Remarks
+
+<li><a href="#Language-Codes">Language Codes</a>: ISO 639 language codes
+<li><a href="#Country-Codes">Country Codes</a>: ISO 3166 country codes
+<li><a href="#Licenses">Licenses</a>: Licenses
+
+<li><a href="#Program-Index">Program Index</a>: Index of Programs
+<li><a href="#Option-Index">Option Index</a>: Index of Command-Line Options
+<li><a href="#Variable-Index">Variable Index</a>: Index of Environment Variables
+<li><a href="#PO-Mode-Index">PO Mode Index</a>: Index of Emacs PO Mode Commands
+<li><a href="#Autoconf-Macro-Index">Autoconf Macro Index</a>: Index of Autoconf Macros
+<li><a href="#Index">Index</a>: General Index
+
+</li></ul>
+<p>--- The Detailed Node Listing ---
+
+<p>Introduction
+
+</p>
+<ul class="menu">
+<li><a href="#Why">Why</a>: The Purpose of GNU <code>gettext</code>
+<li><a href="#Concepts">Concepts</a>: I18n, L10n, and Such
+<li><a href="#Aspects">Aspects</a>: Aspects in Native Language Support
+<li><a href="#Files">Files</a>: Files Conveying Translations
+<li><a href="#Overview">Overview</a>: Overview of GNU <code>gettext</code>
+
+</li></ul>
+<p>The User's View
+
+</p>
+<ul class="menu">
+<li><a href="#System-Installation">System Installation</a>: Questions During Operating System Installation
+<li><a href="#Setting-the-GUI-Locale">Setting the GUI Locale</a>: How to Specify the Locale Used by GUI Programs
+<li><a href="#Setting-the-POSIX-Locale">Setting the POSIX Locale</a>: How to Specify the Locale According to POSIX
+<li><a href="#Installing-Localizations">Installing Localizations</a>: How to Install Additional Translations
+
+</li></ul>
+<p>Setting the POSIX Locale
+
+</p>
+<ul class="menu">
+<li><a href="#Locale-Names">Locale Names</a>: How a Locale Specification Looks Like
+<li><a href="#Locale-Environment-Variables">Locale Environment Variables</a>: Which Environment Variable Specfies What
+<li><a href="#The-LANGUAGE-variable">The LANGUAGE variable</a>: How to Specify a Priority List of Languages
+
+</li></ul>
+<p>Preparing Program Sources
+
+</p>
+<ul class="menu">
+<li><a href="#Importing">Importing</a>: Importing the <code>gettext</code> declaration
+<li><a href="#Triggering">Triggering</a>: Triggering <code>gettext</code> Operations
+<li><a href="#Preparing-Strings">Preparing Strings</a>: Preparing Translatable Strings
+<li><a href="#Mark-Keywords">Mark Keywords</a>: How Marks Appear in Sources
+<li><a href="#Marking">Marking</a>: Marking Translatable Strings
+<li><a href="#c_002dformat-Flag">c-format Flag</a>: Telling something about the following string
+<li><a href="#Special-cases">Special cases</a>: Special Cases of Translatable Strings
+<li><a href="#Bug-Report-Address">Bug Report Address</a>: Letting Users Report Translation Bugs
+<li><a href="#Names">Names</a>: Marking Proper Names for Translation
+<li><a href="#Libraries">Libraries</a>: Preparing Library Sources
+
+</li></ul>
+<p>Making the PO Template File
+
+</p>
+<ul class="menu">
+<li><a href="#xgettext-Invocation">xgettext Invocation</a>: Invoking the <code>xgettext</code> Program
+
+</li></ul>
+<p>Creating a New PO File
+
+</p>
+<ul class="menu">
+<li><a href="#msginit-Invocation">msginit Invocation</a>: Invoking the <code>msginit</code> Program
+<li><a href="#Header-Entry">Header Entry</a>: Filling in the Header Entry
+
+</li></ul>
+<p>Updating Existing PO Files
+
+</p>
+<ul class="menu">
+<li><a href="#msgmerge-Invocation">msgmerge Invocation</a>: Invoking the <code>msgmerge</code> Program
+
+</li></ul>
+<p>Editing PO Files
+
+</p>
+<ul class="menu">
+<li><a href="#KBabel">KBabel</a>: KDE's PO File Editor
+<li><a href="#Gtranslator">Gtranslator</a>: GNOME's PO File Editor
+<li><a href="#PO-Mode">PO Mode</a>: Emacs's PO File Editor
+<li><a href="#Compendium">Compendium</a>: Using Translation Compendia
+
+</li></ul>
+<p>Emacs's PO File Editor
+
+</p>
+<ul class="menu">
+<li><a href="#Installation">Installation</a>: Completing GNU <code>gettext</code> Installation
+<li><a href="#Main-PO-Commands">Main PO Commands</a>: Main Commands
+<li><a href="#Entry-Positioning">Entry Positioning</a>: Entry Positioning
+<li><a href="#Normalizing">Normalizing</a>: Normalizing Strings in Entries
+<li><a href="#Translated-Entries">Translated Entries</a>: Translated Entries
+<li><a href="#Fuzzy-Entries">Fuzzy Entries</a>: Fuzzy Entries
+<li><a href="#Untranslated-Entries">Untranslated Entries</a>: Untranslated Entries
+<li><a href="#Obsolete-Entries">Obsolete Entries</a>: Obsolete Entries
+<li><a href="#Modifying-Translations">Modifying Translations</a>: Modifying Translations
+<li><a href="#Modifying-Comments">Modifying Comments</a>: Modifying Comments
+<li><a href="#Subedit">Subedit</a>: Mode for Editing Translations
+<li><a href="#C-Sources-Context">C Sources Context</a>: C Sources Context
+<li><a href="#Auxiliary">Auxiliary</a>: Consulting Auxiliary PO Files
+
+</li></ul>
+<p>Using Translation Compendia
+
+</p>
+<ul class="menu">
+<li><a href="#Creating-Compendia">Creating Compendia</a>: Merging translations for later use
+<li><a href="#Using-Compendia">Using Compendia</a>: Using older translations if they fit
+
+</li></ul>
+<p>Manipulating PO Files
+
+</p>
+<ul class="menu">
+<li><a href="#msgcat-Invocation">msgcat Invocation</a>: Invoking the <code>msgcat</code> Program
+<li><a href="#msgconv-Invocation">msgconv Invocation</a>: Invoking the <code>msgconv</code> Program
+<li><a href="#msggrep-Invocation">msggrep Invocation</a>: Invoking the <code>msggrep</code> Program
+<li><a href="#msgfilter-Invocation">msgfilter Invocation</a>: Invoking the <code>msgfilter</code> Program
+<li><a href="#msguniq-Invocation">msguniq Invocation</a>: Invoking