(root)/
gettext-0.22.4/
gettext-tools/
man/
msgfmt.1
MSGFMT(1) User Commands MSGFMT(1)

NAME
msgfmt - compile message catalog to binary format

SYNOPSIS
msgfmt [OPTION] filename.po ...

DESCRIPTION
Generate binary message catalog from textual translation description.

Mandatory arguments to long options are mandatory for short options too. Similarly for optional arguments.

Input file location:
filename.po ...
input files

-D, --directory=DIRECTORY
add DIRECTORY to list for input files search

If input file is -, standard input is read.

Operation mode:
-j, --java
Java mode: generate a Java ResourceBundle class

--java2
like --java, and assume Java2 (JDK 1.2 or higher)

--csharp
C# mode: generate a .NET .dll file

--csharp-resources
C# resources mode: generate a .NET .resources file

--tcl Tcl mode: generate a tcl/msgcat .msg file

--qt Qt mode: generate a Qt .qm file

--desktop
Desktop Entry mode: generate a .desktop file

--xml XML mode: generate XML file

Output file location:
-o, --output-file=FILE
write output to specified file

--strict
enable strict Uniforum mode

If output file is -, output is written to standard output.

Output file location in Java mode:
-r, --resource=RESOURCE
resource name

-l, --locale=LOCALE
locale name, either language or language_COUNTRY

--source
produce a .java file, instead of a .class file

-d DIRECTORY
base directory of classes directory hierarchy

The class name is determined by appending the locale name to the resource name, separated with an underscore.
The -d option is mandatory. The class is written under the specified directory.

Output file location in C# mode:
-r, --resource=RESOURCE
resource name

-l, --locale=LOCALE
locale name, either language or language_COUNTRY

-d DIRECTORY
base directory for locale dependent .dll files

The -l and -d options are mandatory. The .dll file is written in a subdirectory of the specified directory whose
name depends on the locale.

Output file location in Tcl mode:
-l, --locale=LOCALE
locale name, either language or language_COUNTRY

-d DIRECTORY
base directory of .msg message catalogs

The -l and -d options are mandatory. The .msg file is written in the specified directory.

Desktop Entry mode options:
-l, --locale=LOCALE
locale name, either language or language_COUNTRY

-o, --output-file=FILE
write output to specified file

--template=TEMPLATE
a .desktop file used as a template

-d DIRECTORY
base directory of .po files

-kWORD, --keyword=WORD
look for WORD as an additional keyword

-k, --keyword
do not to use default keywords

The -l, -o, and --template options are mandatory. If -D is specified, input files are read from the directory
instead of the command line arguments.

XML mode options:
-l, --locale=LOCALE
locale name, either language or language_COUNTRY

-L, --language=NAME
recognise the specified XML language

-o, --output-file=FILE
write output to specified file

--template=TEMPLATE
an XML file used as a template

-d DIRECTORY
base directory of .po files

The -l, -o, and --template options are mandatory. If -D is specified, input files are read from the directory
instead of the command line arguments.

Input file syntax:
-P, --properties-input
input files are in Java .properties syntax

--stringtable-input
input files are in NeXTstep/GNUstep .strings syntax

Input file interpretation:
-c, --check
perform all the checks implied by --check-format, --check-header, --check-domain

--check-format
check language dependent format strings

--check-header
verify presence and contents of the header entry

--check-domain
check for conflicts between domain directives and the --output-file option

-C, --check-compatibility
check that GNU msgfmt behaves like X/Open msgfmt

--check-accelerators[=CHAR]
check presence of keyboard accelerators for menu items

-f, --use-fuzzy
use fuzzy entries in output

Output details:
--no-convert
don't convert the messages to UTF-8 encoding

--no-redundancy
don't pre-expand ISO C 99 <inttypes.h> format string directive macros

-a, --alignment=NUMBER
align strings to NUMBER bytes (default: 1)

--endianness=BYTEORDER
write out 32-bit numbers in the given byte order (big or little, default depends on platform)

--no-hash
binary file will not include the hash table

Informative output:
-h, --help
display this help and exit

-V, --version
output version information and exit

--statistics
print statistics about translations

-v, --verbose
increase verbosity level

AUTHOR
Written by Ulrich Drepper.

REPORTING BUGS
Report bugs in the bug tracker at <https://savannah.gnu.org/projects/gettext> or by email to <bug-get‐
text@gnu.org>.

COPYRIGHT
Copyright © 1995-2023 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later
<https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted
by law.

SEE ALSO
The full documentation for msgfmt is maintained as a Texinfo manual. If the info and msgfmt programs are prop‐
erly installed at your site, the command

info msgfmt

should give you access to the complete manual.

GNU gettext-tools 0.22.2 September 2023 MSGFMT(1)