gettext_9.html   [plain text]


<HTML>
<HEAD>
<!-- This HTML file has been created by texi2html 1.52a
     from gettext.texi on 30 November 2003 -->

<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="SEC153" HREF="gettext_toc.html#TOC153">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="SEC154" HREF="gettext_toc.html#TOC154">9.1  The Current <TT>`ABOUT-NLS&acute;</TT> Matrix</A></H2>
<P>
<A NAME="IDX947"></A>
<A NAME="IDX948"></A>
<A NAME="IDX949"></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#SEC156">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="SEC155" HREF="gettext_toc.html#TOC155">9.2  Magic for Installers</A></H2>
<P>
<A NAME="IDX950"></A>
<A NAME="IDX951"></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="IDX952"></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="SEC156" HREF="gettext_toc.html#TOC156">9.3  Magic for End Users</A></H2>
<P>
<A NAME="IDX953"></A>
<A NAME="IDX954"></A>
<A NAME="IDX955"></A>

</P>
<P>
<A NAME="IDX956"></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#SEC154">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>