]>
Commit | Line | Data |
---|---|---|
f6bcfd97 BP |
1 | <HTML> |
2 | <HEAD> | |
3 | <!-- This HTML file has been created by texi2html 1.54 | |
4 | from gettext.texi on 25 January 1999 --> | |
5 | ||
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> | |
10 | ||
11 | </HEAD> | |
12 | <BODY> | |
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>. | |
14 | <P><HR><P> | |
15 | ||
16 | ||
17 | <H1><A NAME="SEC35" HREF="gettext_toc.html#TOC35">The User's View</A></H1> | |
18 | ||
19 | <P> | |
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. | |
26 | ||
27 | </P> | |
28 | <P> | |
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 | |
35 | Translation Project. | |
36 | ||
37 | </P> | |
38 | <P> | |
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. | |
45 | ||
46 | </P> | |
47 | ||
48 | ||
49 | ||
50 | <H2><A NAME="SEC36" HREF="gettext_toc.html#TOC36">The Current <TT>`ABOUT-NLS'</TT> Matrix</A></H2> | |
51 | ||
52 | <P> | |
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 | |
60 | for <VAR>ll</VAR>. | |
61 | ||
62 | </P> | |
63 | <P> | |
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. | |
73 | ||
74 | </P> | |
75 | ||
76 | ||
77 | <H2><A NAME="SEC37" HREF="gettext_toc.html#TOC37">Magic for Installers</A></H2> | |
78 | ||
79 | <P> | |
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. | |
91 | ||
92 | </P> | |
93 | <P> | |
94 | Internationalized packages have usually many <TT>`<VAR>ll</VAR>.po'</TT> | |
95 | files. Unless | |
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. | |
101 | ||
102 | </P> | |
103 | ||
104 | ||
105 | <H2><A NAME="SEC38" HREF="gettext_toc.html#TOC38">Magic for End Users</A></H2> | |
106 | ||
107 | <P> | |
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. | |
117 | ||
118 | </P> | |
119 | <P><HR><P> | |
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>. | |
121 | </BODY> | |
122 | </HTML> |