3 <!-- This HTML file has been created by texi2html 1.54
4 from gettext.texi on 25 January 1999 -->
6 <TITLE>GNU gettext utilities - The User's View
</TITLE>
7 <link href=
"gettext_8.html" rel=Next
>
8 <link href=
"gettext_6.html" rel=Previous
>
9 <link href=
"gettext_toc.html" rel=ToC
>
13 <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_12.html">last
</A> section,
<A HREF=
"gettext_toc.html">table of contents
</A>.
17 <H1><A NAME=
"SEC35" HREF=
"gettext_toc.html#TOC35">The User's View
</A></H1>
20 When GNU
<CODE>gettext
</CODE> will truly have reached is goal, average users
21 should feel some kind of astonished pleasure, seeing the effect of
22 that strange kind of magic that just makes their own native language
23 appear everywhere on their screens. As for naive users, they would
24 ideally have no special pleasure about it, merely taking their own
25 language for
<EM>granted
</EM>, and becoming rather unhappy otherwise.
29 So, let's try to describe here how we would like the magic to operate,
30 as we want the users' view to be the simplest, among all ways one
31 could look at GNU
<CODE>gettext
</CODE>. All other software engineers:
32 programmers, translators, maintainers, should work together in such a
33 way that the magic becomes possible. This is a long and progressive
34 undertaking, and information is available about the progress of the
39 When a package is distributed, there are two kind of users:
40 <STRONG>installers
</STRONG> who fetch the distribution, unpack it, configure
41 it, compile it and install it for themselves or others to use; and
42 <STRONG>end users
</STRONG> that call programs of the package, once these have
43 been installed at their site. GNU
<CODE>gettext
</CODE> is offering magic
44 for both installers and end users.
50 <H2><A NAME=
"SEC36" HREF=
"gettext_toc.html#TOC36">The Current
<TT>`ABOUT-NLS'
</TT> Matrix
</A></H2>
53 Languages are not equally supported in all packages using GNU
54 <CODE>gettext
</CODE>. To know if some package uses GNU
<CODE>gettext
</CODE>, one
55 may check the distribution for the
<TT>`ABOUT-NLS'
</TT> information file, for
56 some
<TT>`
<VAR>ll
</VAR>.po'
</TT> files, often kept together into some
<TT>`po/'
</TT>
57 directory, or for an
<TT>`intl/'
</TT> directory. Internationalized packages
58 have usually many
<TT>`
<VAR>ll
</VAR>.po'
</TT> files, where
<VAR>ll
</VAR> represents
59 the language. section
<A HREF=
"gettext_7.html#SEC38">Magic for End Users
</A> for a complete description of the format
64 More generally, a matrix is available for showing the current state
65 of the Translation Project, listing which packages are prepared for
66 multi-lingual messages, and which languages is supported by each.
67 Because this information changes often, this matrix is not kept within
68 this GNU
<CODE>gettext
</CODE> manual. This information is often found in
69 file
<TT>`ABOUT-NLS'
</TT> from various distributions, but is also as old as
70 the distribution itself. A recent copy of this
<TT>`ABOUT-NLS'
</TT> file,
71 containing up-to-date information, should generally be found on the
72 Translation Project sites, and also on most GNU archive sites.
77 <H2><A NAME=
"SEC37" HREF=
"gettext_toc.html#TOC37">Magic for Installers
</A></H2>
80 By default, packages fully using GNU
<CODE>gettext
</CODE>, internally,
81 are installed in such a way that they to allow translation of
82 messages. At
<EM>configuration
</EM> time, those packages should
83 automatically detect whether the underlying host system provides usable
84 <CODE>catgets
</CODE> or
<CODE>gettext
</CODE> functions. If neither is present,
85 the GNU
<CODE>gettext
</CODE> library should be automatically prepared
86 and used. Installers may use special options at configuration
87 time for changing this behavior. The command
<SAMP>`./configure
88 --with-included-gettext'
</SAMP> bypasses system
<CODE>catgets
</CODE> or
<CODE>gettext
</CODE> to
89 use GNU
<CODE>gettext
</CODE> instead, while
<SAMP>`./configure --disable-nls'
</SAMP>
90 produces program totally unable to translate messages.
94 Internationalized packages have usually many
<TT>`
<VAR>ll
</VAR>.po'
</TT>
96 translations are disabled, all those available are installed together
97 with the package. However, the environment variable
<CODE>LINGUAS
</CODE>
98 may be set, prior to configuration, to limit the installed set.
99 <CODE>LINGUAS
</CODE> should then contain a space separated list of two-letter
100 codes, stating which languages are allowed.
105 <H2><A NAME=
"SEC38" HREF=
"gettext_toc.html#TOC38">Magic for End Users
</A></H2>
108 We consider here those packages using GNU
<CODE>gettext
</CODE> internally,
109 and for which the installers did not disable translation at
110 <EM>configure
</EM> time. Then, users only have to set the
<CODE>LANG
</CODE>
111 environment variable to the appropriate
<SAMP>`
<VAR>ll
</VAR>'
</SAMP> prior to
112 using the programs in the package. See section
<A HREF=
"gettext_7.html#SEC36">The Current
<TT>`ABOUT-NLS'
</TT> Matrix
</A>. For example,
113 let's presume a German site. At the shell prompt, users merely have to
114 execute
<SAMP>`setenv LANG de'
</SAMP> (in
<CODE>csh
</CODE>) or
<SAMP>`export
115 LANG; LANG=de'
</SAMP> (in
<CODE>sh
</CODE>). They could even do this from their
116 <TT>`.login'
</TT> or
<TT>`.profile'
</TT> file.
120 <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_12.html">last
</A> section,
<A HREF=
"gettext_toc.html">table of contents
</A>.