(gettext.info)Why


Next: Concepts Prev: Introduction Up: Introduction
Enter node , (file) or (file)node

1.1 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 proprietary and free
software.  Using a common language is quite handy for communication
between developers, maintainers and users from all countries.  On the
other hand, most people are less comfortable with English than with
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 library supporting the parsing and creation of files containing
     translated messages.

   • 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.


automatically generated by info2www version 1.2.2.9