<!-- Creator     : groff version 1.22.2 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="generator" content="groff -Thtml, see www.gnu.org">
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta name="Content-Style" content="text/css">
<style type="text/css">
       p       { margin-top: 0; margin-bottom: 0; vertical-align: top }
       pre     { margin-top: 0; margin-bottom: 0; vertical-align: top }
       table   { margin-top: 0; margin-bottom: 0; vertical-align: top }
       h1      { text-align: center }
</style>
<title>GETTEXT</title>

</head>
<body>

<h1 align="center">GETTEXT</h1>

<a href="#NAME">NAME</a><br>
<a href="#SYNOPSIS">SYNOPSIS</a><br>
<a href="#DESCRIPTION">DESCRIPTION</a><br>
<a href="#AUTHOR">AUTHOR</a><br>
<a href="#REPORTING BUGS">REPORTING BUGS</a><br>
<a href="#COPYRIGHT">COPYRIGHT</a><br>
<a href="#SEE ALSO">SEE ALSO</a><br>

<hr>


<h2>NAME
<a name="NAME"></a>
</h2>


<p style="margin-left:11%; margin-top: 1em">gettext &minus;
translate message</p>

<h2>SYNOPSIS
<a name="SYNOPSIS"></a>
</h2>


<p style="margin-left:11%; margin-top: 1em"><b>gettext</b>
[<i>OPTION</i>] [[<i>TEXTDOMAIN</i>] <i>MSGID</i>] <b><br>
gettext</b> [<i>OPTION</i>] <i>-s</i> [<i>MSGID</i>]...</p>

<h2>DESCRIPTION
<a name="DESCRIPTION"></a>
</h2>


<p style="margin-left:11%; margin-top: 1em">The
<b>gettext</b> program translates a natural language message
into the user&rsquo;s language, by looking up the
translation in a message catalog.</p>

<p style="margin-left:11%; margin-top: 1em">Display native
language translation of a textual message. <b><br>
&minus;d</b>,
<b>&minus;&minus;domain</b>=<i>TEXTDOMAIN</i></p>

<p style="margin-left:22%;">retrieve translated messages
from TEXTDOMAIN</p>

<table width="100%" border="0" rules="none" frame="void"
       cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="11%"></td>
<td width="3%">


<p><b>&minus;e</b></p></td>
<td width="8%"></td>
<td width="63%">


<p>enable expansion of some escape sequences</p></td>
<td width="15%">
</td></tr>
<tr valign="top" align="left">
<td width="11%"></td>
<td width="3%">


<p><b>&minus;E</b></p></td>
<td width="8%"></td>
<td width="63%">


<p>(ignored for compatibility)</p></td>
<td width="15%">
</td></tr>
</table>

<p style="margin-left:11%;"><b>&minus;h</b>,
<b>&minus;&minus;help</b></p>

<p style="margin-left:22%;">display this help and exit</p>

<table width="100%" border="0" rules="none" frame="void"
       cellspacing="0" cellpadding="0">
<tr valign="top" align="left">
<td width="11%"></td>
<td width="3%">


<p><b>&minus;n</b></p></td>
<td width="8%"></td>
<td width="38%">


<p>suppress trailing newline</p></td>
<td width="40%">
</td></tr>
</table>

<p style="margin-left:11%;"><b>&minus;V</b>,
<b>&minus;&minus;version</b></p>

<p style="margin-left:22%;">display version information and
exit</p>

<p style="margin-left:11%;">[TEXTDOMAIN] MSGID</p>

<p style="margin-left:22%;">retrieve translated message
corresponding to MSGID from TEXTDOMAIN</p>

<p style="margin-left:11%; margin-top: 1em">If the
TEXTDOMAIN parameter is not given, the domain is determined
from the environment variable TEXTDOMAIN. If the message
catalog is not found in the regular directory, another
location can be specified with the environment variable
TEXTDOMAINDIR. When used with the <b>&minus;s</b> option the
program behaves like the &rsquo;echo&rsquo; command. But it
does not simply copy its arguments to stdout. Instead those
messages found in the selected catalog are translated.
Standard search directory: /usr/share/locale</p>

<h2>AUTHOR
<a name="AUTHOR"></a>
</h2>


<p style="margin-left:11%; margin-top: 1em">Written by
Ulrich Drepper.</p>

<h2>REPORTING BUGS
<a name="REPORTING BUGS"></a>
</h2>


<p style="margin-left:11%; margin-top: 1em">Report bugs to
&lt;bug-gnu-gettext@gnu.org&gt;.</p>

<h2>COPYRIGHT
<a name="COPYRIGHT"></a>
</h2>


<p style="margin-left:11%; margin-top: 1em">Copyright
&copy; 1995-1997, 2000-2007 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later
&lt;http://gnu.org/licenses/gpl.html&gt; <br>
This is free software: you are free to change and
redistribute it. There is NO WARRANTY, to the extent
permitted by law.</p>

<h2>SEE ALSO
<a name="SEE ALSO"></a>
</h2>


<p style="margin-left:11%; margin-top: 1em">The full
documentation for <b>gettext</b> is maintained as a Texinfo
manual. If the <b>info</b> and <b>gettext</b> programs are
properly installed at your site, the command</p>

<p style="margin-left:22%; margin-top: 1em"><b>info
gettext</b></p>

<p style="margin-left:11%; margin-top: 1em">should give you
access to the complete manual.</p>
<hr>
</body>
</html>
