* Merged newxml into HEAD
[linux_from_scratch.git] / BOOK / chapter06 / gettext.xml
blob9c3b449cd4a6fb7494439a498c5993622ea926d9
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
3   <!ENTITY % general-entities SYSTEM "../general.ent">
4   %general-entities;
5 ]>
6 <sect1 id="ch-system-gettext" xreflabel="Gettext">
7 <title>Gettext-&gettext-version;</title>
8 <?dbhtml filename="gettext.html"?>
10 <indexterm zone="ch-system-gettext"><primary sortas="a-Gettext">Gettext</primary></indexterm>
12 <para>The Gettext package contains utilities for internationalization and
13 localization. These allow programs to be compiled with Native Language Support
14 (NLS), enabling them to output messages in the user's native language.</para>
16 <screen>&buildtime; 0.5 SBU
17 &diskspace; 55 MB</screen>
19 <para>Gettext installation depends on: Bash, Binutils, Bison, Coreutils,
20 Diffutils, Gawk, GCC, Glibc, Grep, Make, Sed.</para>
24 <sect2>
25 <title>Installation of Gettext</title>
27 <para>Prepare Gettext for compilation:</para>
29 <screen><userinput>./configure --prefix=/usr</userinput></screen>
31 <para>Compile the package:</para>
33 <screen><userinput>make</userinput></screen>
35 <para>To test the results, issue:
36 <userinput>make check</userinput>. This takes a very long time, around
37 7 SBUs.</para>
39 <para>Now install the package:</para>
41 <screen><userinput>make install</userinput></screen>
43 </sect2>
46 <sect2 id="contents-gettext"><title>Contents of Gettext</title>
48 <para><emphasis>Installed programs</emphasis>: autopoint, config.charset,
49 config.rpath, envsubst, gettext, gettextize, hostname, msgattrib, msgcat,
50 msgcmp, msgcomm, msgconv, msgen, msgexec, msgfilter, msgfmt, msggrep, msginit,
51 msgmerge, msgunfmt, msguniq, ngettext, project-id, team-address, trigger,
52 urlget, user-email and xgettext</para>
54 <para><emphasis>Installed libraries</emphasis>: libasprintf[a,so],
55 libgettextlib[a,so], libgettextpo[a,so] and libgettextsrc[a,so]</para>
57 </sect2>
59 <sect2><title>Short descriptions</title>
61 <indexterm zone="ch-system-gettext autopoint"><primary sortas="b-autopoint">autopoint</primary></indexterm>
62 <para id="autopoint"><command>autopoint</command> copies standard gettext infrastructure
63 files into a source package.</para>
65 <indexterm zone="ch-system-gettext config.charset"><primary sortas="b-config.charset">config.charset</primary></indexterm>
66 <para id="config.charset"><command>config.charset</command> outputs a system-dependent table of
67 character encoding aliases.</para>
69 <indexterm zone="ch-system-gettext config.rpath"><primary sortas="b-config.rpath">config.rpath</primary></indexterm>
70 <para id="config.rpath"><command>config.rpath</command> outputs a system-dependent set of
71 variables, describing how to set the runtime search path of shared libraries in an
72 executable.</para>
74 <indexterm zone="ch-system-gettext envsubst"><primary sortas="b-envsubst">envsubst</primary></indexterm>
75 <para id="envsubst"><command>envsubst</command> substitutes environment variables in shell
76 format strings.</para>
78 <indexterm zone="ch-system-gettext gettext"><primary sortas="b-gettext">gettext</primary></indexterm>
79 <para id="gettext"><command>gettext</command> translates a natural language message into
80 the user's language, by looking up the translation in a message catalog.</para>
82 <indexterm zone="ch-system-gettext gettextize"><primary sortas="b-gettextize">gettextize</primary></indexterm>
83 <para id="gettextize"><command>gettextize</command> copies all standard Gettext files into
84 the given top-level directory of a package, to begin inter-nationalizing it.</para>
86 <indexterm zone="ch-system-gettext hostname-gettext"><primary sortas="b-hostname-gettext">hostname</primary></indexterm>
87 <para id="hostname-gettext"><command>hostname</command> displays a network hostname in various
88 forms.</para>
90 <indexterm zone="ch-system-gettext msgattrib"><primary sortas="b-msgattrib">msgattrib</primary></indexterm>
91 <para id="msgattrib"><command>msgattrib</command> filters the messages of a translation
92 catalog according to their attributes and manipulates the attributes.</para>
94 <indexterm zone="ch-system-gettext msgcat"><primary sortas="b-msgcat">msgcat</primary></indexterm>
95 <para id="msgcat"><command>msgcat</command> concatenates and merges the given
96 <filename>.po</filename> files.</para>
98 <indexterm zone="ch-system-gettext msgcmp"><primary sortas="b-msgcmp">msgcmp</primary></indexterm>
99 <para id="msgcmp"><command>msgcmp</command> compares two <filename>.po</filename>
100 files to check that both contain the same set of msgid strings.</para>
102 <indexterm zone="ch-system-gettext msgcomm"><primary sortas="b-msgcomm">msgcomm</primary></indexterm>
103 <para id="msgcomm"><command>msgcomm</command> finds the messages that are common to
104 to the given <filename>.po</filename> files.</para>
106 <indexterm zone="ch-system-gettext msgconv"><primary sortas="b-msgconv">msgconv</primary></indexterm>
107 <para id="msgconv"><command>msgconv</command> converts a translation catalog to a
108 different character encoding.</para>
110 <indexterm zone="ch-system-gettext msgen"><primary sortas="b-msgen">msgen</primary></indexterm>
111 <para id="msgen"><command>msgen</command> creates an English translation catalog.</para>
113 <indexterm zone="ch-system-gettext msgexec"><primary sortas="b-msgexec">msgexec</primary></indexterm>
114 <para id="msgexec"><command>msgexec</command> applies a command to all translations of a
115 translation catalog.</para>
117 <indexterm zone="ch-system-gettext msgfilter"><primary sortas="b-msgfilter">msgfilter</primary></indexterm>
118 <para id="msgfilter"><command>msgfilter</command> applies a filter to all translations of a
119 translation catalog.</para>
121 <indexterm zone="ch-system-gettext msgfmt"><primary sortas="b-msgfmt">msgfmt</primary></indexterm>
122 <para id="msgfmt"><command>msgfmt</command> generates a binary message catalog from
123 from a translation catalog.</para>
125 <indexterm zone="ch-system-gettext msggrep"><primary sortas="b-msggrep">msggrep</primary></indexterm>
126 <para id="msggrep"><command>msggrep</command> extracts all messages of a translation
127 catalog that match a given pattern or belong to some given source files.</para>
129 <indexterm zone="ch-system-gettext msginit"><primary sortas="b-msginit">msginit</primary></indexterm>
130 <para id="msginit"><command>msginit</command> creates a new <filename>.po</filename>
131 file, initializing the meta information with values from the user's
132 environment.</para>
134 <indexterm zone="ch-system-gettext msgmerge"><primary sortas="b-msgmerge">msgmerge</primary></indexterm>
135 <para id="msgmerge"><command>msgmerge</command> combines two raw translations into a
136 single file.</para>
138 <indexterm zone="ch-system-gettext msgunfmt"><primary sortas="b-msgunfmt">msgunfmt</primary></indexterm>
139 <para id="msgunfmt"><command>msgunfmt</command> decompiles a binary message catalog
140 into raw translation text.</para>
142 <indexterm zone="ch-system-gettext msguniq"><primary sortas="b-msguniq">msguniq</primary></indexterm>
143 <para id="msguniq"><command>msguniq</command> unifies duplicate translations in a
144 translation catalog.</para>
146 <indexterm zone="ch-system-gettext ngettext"><primary sortas="b-ngettext">ngettext</primary></indexterm>
147 <para id="ngettext"><command>ngettext</command> displays native language translations of a
148 textual message whose grammatical form depends on a number.</para>
150 <indexterm zone="ch-system-gettext xgettext"><primary sortas="b-xgettext">xgettext</primary></indexterm>
151 <para id="xgettext"><command>xgettext</command> extracts the translatable message lines
152 from the given source files, to make the first translation template.</para>
154 <indexterm zone="ch-system-gettext libasprintf"><primary sortas="c-libasprintf">libasprintf</primary></indexterm>
155 <para id="libasprintf"><command>libasprintf</command> defines the autosprintf class, which
156 makes C formatted output routines usable in C++ programs, for use with the
157 &lt;string&gt; strings and the &lt;iostream&gt; streams.</para>
159 <indexterm zone="ch-system-gettext libgettextlib"><primary sortas="c-libgettextlib">libgettextlib</primary></indexterm>
160 <para id="libgettextlib"><command>libgettextlib</command> is a private library containing
161 common routines used by the various gettext programs. They're not meant for
162 general use.</para>
164 <indexterm zone="ch-system-gettext libgettextpo"><primary sortas="c-libgettextpo">libgettextpo</primary></indexterm>
165 <para id="libgettextpo"><command>libgettextpo</command> is used to write specialized
166 programs that process PO files. This library is used when the standard
167 applications shipped with gettext won't suffice (such as msgcomm, msgcmp,
168 msgattrib and msgen).</para>
170 <indexterm zone="ch-system-gettext libgettextsrc"><primary sortas="c-libgettextsrc">libgettextsrc</primary></indexterm>
171 <para id="libgettextsrc"><command>libgettextsrc</command> is a private library containing
172 common routines used by the various gettext programs. They're not meant for
173 general use.</para>
175 </sect2>
179 </sect1>