MSGUNIQ(1)
π MSGUNIQ(1) β the unify-duplicate-translations girlie π
okay so bestie, this is the manual for msguniq, a User Command, and it's about to become your new hyperfixation. sit down, grab a boba, and let's unify some duplicate translations β¨
π¦ NAME π¦
msguniq β unify duplicate translations in a message catalog. that's the whole vibe. duplicates? gone. unified? slay.
πΈ SYNOPSIS πΈ
msguniq [OPTION] [INPUTFILE]
β¨ DESCRIPTION β¨
So what does she do? She unifies duplicate translations in a translation catalog π. She finds duplicate translations of the same message ID. And here's the tea: those duplicates are invalid input for other programs like msgfmt, msgmerge or msgcat. so like, they're not just annoying, they're actually breaking things π
By default, duplicates get merged together. But if you use the --repeated option? Only duplicates are output and all the other messages get discarded π. Comments and extracted comments get cumulated β except if --use-first is specified, then they're taken from the first translation. File positions get cumulated too. And when you use the --unique option, duplicates are just... discarded. bye bestie π
mandatory arguments to long options are mandatory for short options too. yes this is real, no this is not a drill π
π OPTIONS π
π Input file location
INPUTFILEβ the input PO file, bestie-D,--directory=DIRECTORYβ adds DIRECTORY to the list for input files search
if no input file is given, or if it's -, standard input is read π
πΎ Output file location
-o,--output-file=FILEβ write output to the specified file
the results get written to standard output if no output file is specified, or if it's - π
π Message selection
-d,--repeatedβ print only duplicates-u,--uniqueβ print only unique messages, discard duplicates
π§ Input file syntax
-P,--properties-inputβ input file is in Java.propertiessyntax--stringtable-inputβ input file is in NeXTstep/GNUstep.stringssyntax
π¨ Output details
-t,--to-code=NAMEβ encoding for output--use-firstβ use the first available translation for each message, don't merge several translations--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 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 PO file even if empty-i,--indentβ write the.pofile using indented style--no-locationβ do not write'#: filename:line'lines-n,--add-locationβ generate'#: filename:line'lines (default)--strictβ write out strict Uniforum conforming.pofile-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, longer than the output page width, into several lines-s,--sort-outputβ generate sorted output-F,--sort-by-fileβ sort output by file location
π’ Informative output
-h,--helpβ display this help and exit-V,--versionβ output version information and exit
π AUTHOR π
Written by Bruno Haible. periodt. π
π«Ά REPORTING BUGS π«Ά
Found a bug? (rude of it, honestly.) Report bugs in the bug tracker at <https://savannah.gnu.org/projects/gettext> or by email to <bug-gettext@gnu.org> π¬
β COPYRIGHT β
Copyright Β© 2001-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. (not me warning you about warranties, but here we are π)
π SEE ALSO π
The full documentation for msguniq is maintained as a Texinfo manual. If the info and msguniq programs are properly installed at your site, the command
info msguniq
should give you access to the complete manual π¦
okay that's the whole page bestie, you're officially educated π this was the MSGUNIQ(1) manual from GNU gettext-tools 1.0, dated January 2026 β and honestly? iconic. go unify some duplicates, you main character πβ¨
π¦ 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