From b416290d5d646dc90ff288af3f4bbf58e46f3f67 Mon Sep 17 00:00:00 2001
From: Barry Warsaw <barry@python.org>
Date: Wed, 31 Jan 2001 21:21:45 +0000
Subject: Some rewriting of the "Internationalizing your programs and modules"
 subsection to include a discussion of the msgfmt.py program.

---
 Doc/lib/libgettext.tex | 61 +++++++++++++++++++++++++++++++++-----------------
 1 file changed, 41 insertions(+), 20 deletions(-)

diff --git a/Doc/lib/libgettext.tex b/Doc/lib/libgettext.tex
index 5bc00e7..991960a 100644
--- a/Doc/lib/libgettext.tex
+++ b/Doc/lib/libgettext.tex
@@ -302,28 +302,49 @@ In this example, the string \code{'writing a log message'} is marked as
 a candidate for translation, while the strings \code{'mylog.txt'} and
 \code{'w'} are not.
 
-The GNU \code{gettext} package provides a tool, called
-\program{xgettext}, that scans C and \Cpp{} source code looking for these
-specially marked strings.  \program{xgettext} generates what are
-called \file{.pot} files, essentially structured human readable files
-which contain every marked string in the source code.  These
-\file{.pot} files are copied and handed over to human translators who write
-language-specific versions for every supported natural language.
-
-For I18N Python programs however, \program{xgettext} won't work; it
-doesn't understand the myriad of string types support by Python.  The
-standard Python distribution provides a tool called
-\program{pygettext} that does though (found in the \file{Tools/i18n/}
-directory).\footnote{Fran\c cois Pinard has written a program called
+The Python distribution comes with two tools which help you generate
+the message catalogs once you've prepared your source code.  These may
+or may not be available from a binary distribution, but they can be
+found in a source distribution, in the \file{Tools/i18n} directory.
+
+The \program{pygettext}\footnote{Fran\c cois Pinard has
+written a program called
 \program{xpot} which does a similar job.  It is available as part of
 his \program{po-utils} package at
-\url{http://www.iro.umontreal.ca/contrib/po-utils/HTML}.
-}  This is a command line script that
-supports a similar interface as \program{xgettext}; see its
-documentation for details.  Once you've used \program{pygettext} to
-create your \file{.pot} files, you can use the standard GNU
-\program{gettext} tools to generate your machine-readable \file{.mo}
-files, which are readable by the \class{GNUTranslations} class.
+\url{http://www.iro.umontreal.ca/contrib/po-utils/HTML}.} program
+scans all your Python source code looking for the strings you
+previously marked as translatable.  It is similar to the GNU
+\program{gettext} program except that it understands all the
+intricacies of Python source code, but knows nothing about C or C++
+source code.  You don't need GNU \code{gettext} unless you're also
+going to be translating C code (e.g. C extension modules).
+
+\program{pygettext} generates textual Uniforum-style human readable
+message catalog \file{.pot} files, essentially structured human
+readable files which contain every marked string in the source code,
+along with a placeholder for the translation strings.
+\program{pygettext} is a command line script that supports a similar
+command line interface as \program{xgettext}; for details on its use,
+run:
+
+\begin{verbatim}
+pygettext.py --help
+\end{verbatim}
+
+Copies of these \file{.pot} files are then handed over to the
+individual human translators who write language-specific versions for
+every supported natural language.  They send you back the filled in
+language-specific versions as a \file{.po} file.  Using the
+\program{msgfmt.py}\footnote{\program{msgfmt.py} is binary
+compatible with GNU \program{msgfmt} except that it provides a
+simpler, all-Python implementation.  With this and
+\program{pygettext.py}, you generally won't need to install the GNU
+\program{gettext} package to internationalize your Python
+applications.} program (in the \file{Tools/i18n} directory), you take the
+\file{.po} files from your translators and generate the
+machine-readable \file{.mo} binary catalog files.  The \file{.mo}
+files are what the \module{gettext} module uses for the actual
+translation processing during run-time.
 
 How you use the \module{gettext} module in your code depends on
 whether you are internationalizing your entire application or a single
-- 
cgit v0.12

