Go to main content

man pages section 1: User Commands

Exit Print View

Updated: July 2017
 
 

gettext(1)

Name

gettext - retrieve text string from message database

Synopsis

gettext [-d textdomain | -−domain=textdomain] 
     [textdomain] msgid
gettext -s [-e] [-n] 
     [-d textdomain | -−domain=textdomain] msgid...

Description

The gettext utility retrieves a translated text string corresponding to string msgid from a message object generated with msgfmt(1). The message object name is derived from the optional argument textdomain if present, otherwise from the TEXTDOMAIN environment. If no domain is specified, or if a corresponding string cannot be found, gettext prints msgid.

Ordinarily, gettext looks for its message object in /usr/lib/locale/lang/LC_MESSAGES where lang is the locale name. If present, the TEXTDOMAINDIR environment variable replaces the pathname component up to lang.

This command interprets C escape sequences such as \t for tab. Use \\ to print a backslash. To produce a message on a line of its own, either enter \n at the end of msgid, or use this command in conjunction with printf(1).

When used with the –s option, gettext behaves like echo(1). But it does not simply copy its arguments to standard output. Instead, those messages found in the selected catalog are translated.

Options

The following options are supported:

–d textdomain
–−domain=textdomain

Retrieves translated messages from the domain textdomain, if textdomain is not specified as an operand.

–e

Enables expansion of some escape sequences if used with the –s option.

–n

Suppresses trailing newline if used with the –s option.

–s

Behaves like echo(1) (see DESCRIPTION above). If the –s option is specified, no expansion of C escape sequences is performed and a newline character is appended to the output, by default.

Operands

The following operands are supported:

textdomain

A domain name used to retrieve the messages. This overrides the specification by the –d or –−domain options, if present.

msgid

A key to retrieve the localized message.

Environment Variables

LANG

Specifies locale name.

LC_MESSAGES

Specifies messaging locale, and if present overrides LANG for messages.

TEXTDOMAIN

Specifies the text domain name, which is identical to the message object filename without .mo suffix.

TEXTDOMAINDIR

Specifies the pathname to the message database. If present, replaces /usr/lib/locale.

Attributes

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Availability
system/core-os

See Also

echo(1), msgfmt(1), printf(1), gettext(3C), setlocale(3C), attributes(5)

Notes

This is the shell equivalent of the library routine gettext(3C).