MSGFILTER(1)
π msgfilter(1) β the manual page, but make it make sense π
okay bestie, so you know how your message catalog translations need a little glow-up sometimes? that's literally what this is. it's msgfilter, a User Commands joint, and it's about to be your new fave. no cap. π
β¨ NAME β¨
msgfilter β edit translations of message catalog π¦
πΈ SYNOPSIS πΈ
msgfilter [OPTION] FILTER [FILTER-OPTION]
π DESCRIPTION π
so the whole vibe is: it applies a filter to all the translations in a translation catalog. all of them. every single one. she's thorough like that. π
also, real talk, a mandatory argument to a long option is also mandatory for the short option. same energy, shorter name. don't try to skip it. π
π Input file location π
-i,--input=INPUTFILEβ the input PO file, bestie. that's the one you're feeding her.-D,--directory=DIRECTORYβ add DIRECTORY to the list of places she looks for input files.
and like, if you don't hand her an input file at all, or you just pass -, she'll read from standard input. she's flexible. π
π Output file location π
-o,--output-file=FILEβ write the output to the file you specify.
if you don't specify an output file, or you pass -, the results go to standard output. iconic behaviour honestly. β¨
and the FILTER? it can be literally any program that reads a translation from standard input and writes a modified translation to standard output. any program. go wild. π
π Filter input and output π
--newlineβ adds a newline at the end of the input, and removes a newline from the end of the output. it's giving balance. it's giving symmetry. π§
π Useful FILTER-OPTIONs when the FILTER is 'sed' π
okay so if your filter is sed, these are the ones you actually want:
-e,--expression=SCRIPTβ add SCRIPT to the commands that get executed.-f,--file=SCRIPTFILEβ add the contents of SCRIPTFILE to the commands that get executed.-n,--quiet,--silentβ suppress the automatic printing of pattern space.
π Input file syntax π
-P,--properties-inputβ the input file is in Java.propertiessyntax.--stringtable-inputβ the input file is in NeXTstep/GNUstep.stringssyntax.
π Output details π
--colorβ use colors and other text attributes, like, always. no holding back. π--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.--no-escapeβ do not use C escapes in output. this one is the default, fyi.-E,--escapeβ use C escapes in output, no extended chars.--force-poβ write the PO file even if it's empty. she said she's showing up regardless. π€--indentβ indented output style.--keep-headerβ keep the header entry unmodified, don't filter it. leave that one alone, she's fine.--no-locationβ suppress#: filename:linelines.-n,--add-locationβ preserve#: filename:linelines. this is the default, bestie.--strictβ strict Uniforum output style.-p,--properties-outputβ write out a Java.propertiesfile.--stringtable-outputβ write out a NeXTstep/GNUstep.stringsfile.-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. let them be long. let them live. π¦-s,--sort-outputβ generate sorted output.-F,--sort-by-fileβ sort output by file location.
π£ Informative output π£
-h,--helpβ display this help and exit. the classic.-V,--versionβ output version information and exit.
π AUTHOR π
Written by Bruno Haible. (ty for your service, king π«‘)
π REPORTING BUGS π
found a bug? not the vibe, but okay, report it in the bug tracker at <https://savannah.gnu.org/projects/gettext> or by email to <bug-gettext@gnu.org>. they'll handle it. π
Β©οΈ 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. like literally none. zero. π
π SEE ALSO π
The full documentation for msgfilter is maintained as a Texinfo manual. If the info and msgfilter programs are properly installed at your site, the command
info msgfilter
should give you access to the complete manual. β¨
okay that's the whole page bestie, you ate it, and this was GNU gettext-tools 1.0, January 2026 β mwah, go filter some translations πππΈ
π¦ 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