msgexec [option] command [command-option]
msgexec program applies a command to all translations of a
The command can be any program that reads a translation from standard
input. It is invoked once for each translation. Its output becomes
msgexec's return code is the maximum return code
across all invocations.
A special builtin command called ‘0’ outputs the translation, followed by a null byte. The output of ‘msgexec 0’ is suitable as input for ‘xargs -0’.
During each command invocation, the environment variable
MSGEXEC_MSGID is bound to the message's msgid, and the environment
MSGEXEC_LOCATION is bound to the location in the PO file
of the message. If the message has a context, the environment variable
MSGEXEC_MSGCTXT is bound to the message's msgctxt, otherwise it is
Note: It is your responsibility to ensure that the command can cope
with input encoded in the translation catalog's encoding. If the
command wants input in a particular encoding, you can in a first step
convert the translation catalog to that encoding using the ‘msgconv’
program, before invoking ‘msgexec’. If the command wants input
in the locale's encoding, but you want to avoid the locale's encoding, then
you can first convert the translation catalog to UTF-8 using the
‘msgconv’ program and then make ‘msgexec’ work in an UTF-8
locale, by using the
LC_ALL environment variable.
If no inputfile is given or if it is ‘-’, standard input is read.
.propertiessyntax, not in PO file syntax.
.stringssyntax, not in PO file syntax.