MSGEN(1)

πŸŽ€ MSGEN(1) β€” the msgen manual, bestie edition πŸŽ€

okay so. this is the manual page for msgen, and yes it lives in section 1 (User Commands) of the manual, and it's giving extremely useful. sit down, grab a strawberry drink πŸ“, and let's get into it.


✨ NAME ✨

msgen β€” create English message catalog πŸ’–


🌸 SYNOPSIS 🌸

msgen [OPTION] INPUTFILE

that's it. that's the whole vibe check. one input file, as many options as your heart desires.


πŸ¦‹ DESCRIPTION πŸ¦‹

So basically it creates an English translation catalog. 🫢

The input file is the last created English PO file, or a PO Template file (which is generally created by xgettext, iykyk). Untranslated entries get assigned a translation that is identical to the msgid β€” like, the English is already the English, so it just... says that. iconic behavior honestly.

πŸ’… real talk: mandatory arguments to long options are also mandatory for short options. no exceptions, no shortcuts, periodt.

πŸ“‚ Input file location:

  • INPUTFILE β€” the input PO or POT file. that's the one, bestie.
  • -D, --directory=DIRECTORY β€” add DIRECTORY to the list of places we search for input files πŸ”

If the input file is -, then standard input is read. classic - move.


πŸ“ Output file location:

  • -o, --output-file=FILE β€” write the output to the specified file πŸ’Ύ

The results go to standard output if you didn't specify an output file, or if it's -. so like, no output file = screen. - = also screen. the - said "same energy."


πŸ”€ Input file syntax:

  • -P, --properties-input β€” the input file is in Java .properties syntax β˜•
  • --stringtable-input β€” the input file is in NeXTstep/GNUstep .strings syntax 🍎

🎨 Output details:

  • --lang=CATALOGNAME β€” sets the 'Language' field in the header entry 🌍
  • --color β€” use colors and other text attributes always 🌈 no chill, all color
  • --color=WHEN β€” use colors and other text attributes if WHEN. and WHEN may be 'always', 'never', 'auto', or 'html'. pick your fighter πŸ’…
  • --style=STYLEFILE β€” specify the 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 the PO file even if it's empty. not me forcing output πŸ’€
  • -i, --indent β€” indented output style (yes, aesthetic matters)
  • --no-location β€” suppress the '#: filename:line' lines πŸ™ˆ
  • -n, --add-location β€” preserve the '#: filename:line' lines (default)
  • --strict β€” strict Uniforum output style πŸ‘‘ no slouching
  • -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. leave them long. let them be free πŸ¦‹
  • -s, --sort-output β€” generate sorted output. everything in its place, main character energy ✨
  • -F, --sort-by-file β€” sort the 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. legend behavior, fr fr. 🫑


πŸ› REPORTING BUGS πŸ›

Found a bug? bestie, do not suffer in silence. Report bugs in the bug tracker at <https://savannah.gnu.org/projects/gettext> or by email to <bug-gettext@gnu.org>. πŸ“¬


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. 😭 (yes, all caps, they mean it)


πŸ‘€ SEE ALSO πŸ‘€

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

info msgen

should give you access to the complete manual. go read it, it's giving thorough πŸ“š


and that's the whole page, bestie. this one came from GNU gettext-tools 1.0, dated January 2026, and it's literally MSGEN(1) β€” so if you remember nothing else, remember: msgen [OPTION] INPUTFILE, and you ate. πŸ’…βœ¨πŸ¦‹

πŸ“¦ where this page comes from