msgfmt - Man Page
compile message catalog to binary format
Examples (TL;DR)
- Convert a
.po
file to a.mo
file:msgfmt path/to/file.po -o path/to/file.mo
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-gettext@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 properly installed at your site, the command
info msgfmt
should give you access to the complete manual.
Referenced By
gettext(3), itstool(1), scons(1).