MSGCOMM(1)

🌸 MSGCOMM(1) β€” User Commands 🌸

okay bestie, sit down, hydrate, and let me tell you about msgcomm β€” it lives in the GNU gettext-tools 1.0 era (January 2026 vibes) and it is literally the friend-group matchmaker for translation files. πŸ’–


✨ NAME ✨

msgcomm β€” match two message catalogs 🫢


πŸŽ€ SYNOPSIS πŸŽ€

msgcomm [OPTION] [INPUTFILE]...

πŸ’… DESCRIPTION πŸ’…

So the whole ~thing~ is: you hand it a bunch of PO files and it finds the messages that are common to two or more of them. Bestie matchmaking, but for strings. 🌈

Wanna be picky about how much overlap counts? Say less:

  • use --more-than if you want to demand greater commonality before anything gets printed
  • use --less-than if you want to lower the bar before anything gets printed β€” fr fr, --less-than=2 will only print the unique messages ✨

Translations, comments and extracted comments? Preserved, no cap β€” but only from the first PO file to define them. And file positions from all PO files get cumulated. πŸ‘‘

Mandatory arguments to long options are mandatory for short options too. (yes, that rule applies here too, don't fight it πŸ’€)

πŸ“‚ Input file location: πŸ“‚

  • INPUTFILE ... β€” the input files, obviously πŸ’–
  • -f, --files-from=FILE β€” grab your list of input files from FILE instead
  • -D, --directory=DIRECTORY β€” add DIRECTORY to the list it searches for input files in
If an input file is -, standard input gets read. classic move πŸŽ€

πŸ’Ύ Output file location: πŸ’Ύ

  • -o, --output-file=FILE β€” write the output to the specified file
No output file specified, or it's -? Then results go to standard output. that's it, that's the deal ✨

πŸ” Message selection: πŸ”

  • -<, --less-than=NUMBER β€” print messages with less than this many definitions. defaults to infinite if you don't set it 🌸
  • ->, --more-than=NUMBER β€” print messages with more than this many definitions. defaults to 1 if you don't set it 🌸
  • -u, --unique β€” shorthand for --less-than=2, i.e. "pls only print the unique messages bestie" πŸ’…

πŸ“ Input file syntax: πŸ“

  • -P, --properties-input β€” input files are in Java .properties syntax
  • --stringtable-input β€” input files are in NeXTstep/GNUstep .strings syntax

🎨 Output details: 🎨

  • --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 the CSS style rule file for --color
  • -e, --no-escape β€” do not use C escapes in output (this is the default, btw)
  • -E, --escape β€” use C escapes in output, no extended chars
  • --force-po β€” write the PO file even if it's empty 🫢
  • -i, --indent β€” write the .po file using indented style
  • --no-location β€” do not write '#: filename:line' lines
  • -n, --add-location β€” generate '#: filename:line' lines (default ✨)
  • --strict β€” write out a strict Uniforum conforming .po file
  • -p, --properties-output β€” write out a Java .properties file
  • --stringtable-output β€” write out a NeXTstep/GNUstep .strings file
  • -w, --width=NUMBER β€” set the 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
  • --omit-header β€” don't write the header with the 'msgid ""' entry πŸ™ˆ

πŸ“£ Informative output: πŸ“£

  • -h, --help β€” display this help and exit πŸ₯°
  • -V, --version β€” output version information and exit ✨

πŸ‘‘ AUTHOR πŸ‘‘

Written by Peter Miller. icon behavior, honestly πŸ’œ


πŸ› REPORTING BUGS πŸ›

Found a bug? (😭) Report it in the bug tracker at <https://savannah.gnu.org/projects/gettext> or by email to <bug-gettext@gnu.org>.


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, screaming that one, it matters πŸ’€)


πŸ¦‹ SEE ALSO πŸ¦‹

The full documentation for msgcomm is maintained as a Texinfo manual. If the info and msgcomm programs are properly installed at your site, the command

info msgcomm

should give you access to the complete manual. slay πŸ’…


and that's the whole page bestie β€” this was GNU gettext-tools 1.0, dated January 2026. go forth and match your catalogs, mwah πŸ«ΆπŸ’–

πŸ“¦ where this page comes from