MSGUNFMT(1)
π MSGUNFMT β the uncompile-your-catalog glow-up β¨
okay bestie, gather round, because msgunfmt is one of those little commands that's lowkey iconic once you know what it does. it lives in the GNU gettext-tools fam, and it does exactly one job, but it does it beautifully.
πΈ NAME πΈ
msgunfmt β uncompile message catalog from binary format π
π SYNOPSIS π
msgunfmt [OPTION] [FILE]...
β¨ DESCRIPTION β¨
So here's the vibe: msgunfmt takes a binary message catalog and converts it back into a Uniforum style .po file. it's the un-baking of the cake, the un-scrambling of the egg, the reverse glow-up of a .mo file back into readable text. no cap. π₯
heads up bestie: mandatory arguments to long options are mandatory for short options too. so like, if an option needs a value, it needs a value either way. periodt.
π¦ Operation mode π¦
Pick your fighter β what kind of file are we even reading here?
-j,--javaβ Java mode, bestie: the input is a Java ResourceBundle class β--csharpβ C# mode: the input is a.NET .dllfile π--csharp-resourcesβ C# resources mode: the input is a.NET .resourcesfile ποΈ--tclβ Tcl mode: the input is atcl/msgcat.msgfile π
π Input file location π
FILE ...β the input.mofiles, bestie
if no input file is given, or if it's literally -, then standard input is read. classic. π
π Input file location in Java mode π
-r,--resource=RESOURCEβ resource name-l,--locale=LOCALEβ locale name, either language or language_COUNTRY
okay so the class name gets determined by appending the locale name to the resource name, separated with an underscore. and the class is located using the CLASSPATH. iykyk β¨
π Input 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.dllfiles
β οΈ bestie listen: the-land-doptions are mandatory here. no negotiating.
the .dll file is located in a subdirectory of the specified directory, and that subdirectory's name depends on the locale. cute, right? π
π§ Input file location in Tcl mode π§
-l,--locale=LOCALEβ locale name, either language or language_COUNTRY-d DIRECTORYβ base directory of.msgmessage catalogs
β οΈ same energy as above: the-land-doptions are mandatory.
the .msg file is located in the specified directory. simple, clean, iconic. π«Ά
π Output file location π
-o,--output-file=FILEβ write output to specified file
and if no output file is specified, or if it's -, the results go to standard output. the default is always the chill option. π
β Output details β
this is where it gets customizable, bestie. buckle up.
--colorβ use colors and other text attributes always--color=WHENβ use colors and other text attributes if WHEN. WHEN may be'always','never','auto', or'html'. π¨--style=STYLEFILEβ specify a CSS style rule file for--color-e,--no-escapeβ do not use C escapes in output (default)-E,--escapeβ use C escapes in output, no extended chars--force-poβ write a PO file even if it's empty πͺ-i,--indentβ write indented output style--strictβ write strict uniforum style-p,--properties-outputβ write out a Java.propertiesfile--stringtable-outputβ write out a NeXTstep/GNUstep.stringsfile-w,--width=NUMBERβ set output page width--no-wrapβ do not break long message lines (the ones longer than the output page width) into several lines-s,--sort-outputβ generate sorted output
π Informative output π
-h,--helpβ display this help and exit-V,--versionβ output version information and exit-v,--verboseβ increase verbosity level
π AUTHOR π
Written by Ulrich Drepper and Bruno Haible. absolute legends, honestly. π
π REPORTING BUGS π
found a bug? do NOT suffer in silence bestie, report it in the bug tracker at <https://savannah.gnu.org/projects/gettext> or by email to <bug-gettext@gnu.org>. they wanna hear from you fr fr. π¬
π COPYRIGHT π
Copyright Β© 1995-2026 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. π (yes, really, no warranty, read it and weep)
π SEE ALSO π
The full documentation for msgunfmt is maintained as a Texinfo manual. If the info and msgunfmt programs are properly installed at your site, the command
info msgunfmt
should give you access to the complete manual. go read it, it's giving encyclopedia but make it cute. πβ¨
and that's the whole page, bestie!! π this was GNU gettext-tools 1.0, dated January 2026 β slay, stay safe, and always uncompile responsibly. πβ¨π¦
π¦ where this page comes from
- alpine 3.24: gettext-doc 1.0-r0 Β· GPL-3.0-or-later AND LGPL-2.1-or-later AND MIT
- arch rolling: gettext 1.0-2 Β· GFDL-1.2-only AND GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.0-only
- nixos 26.05: gettext 1.0
- nixpkgs unstable: gettext 1.0
- ubuntu stonking: gettext 1.0-3 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms