@example msgexec [@var{option}] @var{command} [@var{command-option}] @end example The @code{msgexec} program applies a command to all translations of a translation catalog. The @var{command} can be any program that reads a translation from standard input. It is invoked once for each translation. Its output becomes msgexec's output. @code{msgexec}'s return code is the maximum return code across all invocations. A special builtin command called @samp{0} outputs the translation, followed by a null byte. The output of @samp{msgexec 0} is suitable as input for @samp{xargs -0}. During each @var{command} invocation, the environment variable @code{MSGEXEC_MSGID} is bound to the message's msgid, and the environment variable @code{MSGEXEC_LOCATION} is bound to the location in the PO file of the message. Note: It is your responsibility to ensure that the @var{command} can cope with input encoded in the translation catalog's encoding. If the @var{command} wants input in a particular encoding, you can in a first step convert the translation catalog to that encoding using the @samp{msgconv} program, before invoking @samp{msgexec}. If the @var{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 @samp{msgconv} program and then make @samp{msgexec} work in an UTF-8 locale, by using the @code{LC_ALL} environment variable. @subsection Input file location @table @samp @item -i @var{inputfile} @itemx --input=@var{inputfile} Input PO file. @item -D @var{directory} @itemx --directory=@var{directory} Add @var{directory} to the list of directories. Source files are searched relative to this list of directories. The resulting @file{.po} file will be written relative to the current directory, though. @end table If no @var{inputfile} is given or if it is @samp{-}, standard input is read. @subsection Informative output @table @samp @item -h @itemx --help Display this help and exit. @item -V @itemx --version Output version information and exit. @end table