.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.24.
.TH GETTEXT "1" "December 2015" "GNU gettext-runtime 0.19.7" GNU
.SH NAME
gettext \- translate message
.SH SYNOPSIS
.B gettext
[\fIOPTION\fR] [[\fITEXTDOMAIN\fR] \fIMSGID\fR]
.br
.B gettext
[\fIOPTION\fR] \fI-s \fR[\fIMSGID\fR]...
.SH DESCRIPTION
.\" Add any additional description here
The \fBgettext\fP program translates a natural language message into the
user's language, by looking up the translation in a message catalog.
.PP
Display native language translation of a textual message.
.TP
\fB\-d\fR, \fB\-\-domain\fR=\fITEXTDOMAIN\fR
retrieve translated messages from TEXTDOMAIN
.TP
\fB\-e\fR
enable expansion of some escape sequences
.TP
\fB\-E\fR
(ignored for compatibility)
.TP
\fB\-h\fR, \fB\-\-help\fR
display this help and exit
.TP
\fB\-n\fR
suppress trailing newline
.TP
\fB\-V\fR, \fB\-\-version\fR
display version information and exit
.TP
[TEXTDOMAIN] MSGID
retrieve translated message corresponding
to MSGID from TEXTDOMAIN
.PP
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 \fB\-s\fR option the program behaves like the 'echo' 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
.SH AUTHOR
Written by Ulrich Drepper.
.SH "REPORTING BUGS"
Report bugs to <bug-gnu-gettext@gnu.org>.
.SH COPYRIGHT
Copyright \(co 1995-1997, 2000-2007 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
.br
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
.SH "SEE ALSO"
The full documentation for
.B gettext
is maintained as a Texinfo manual.  If the
.B info
and
.B gettext
programs are properly installed at your site, the command
.IP
.B info gettext
.PP
should give you access to the complete manual.
