msgfmt - Man Page

compile message catalog to binary format

Examples (TL;DR)

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>.

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).

February 2024 GNU gettext-tools 0.22.5