MSGATTRIB(1)
π MSGATTRIB(1) β msgattrib π
okay bestie, gather round, because this little icon of a tool does attribute matching and manipulation on message catalogs and honestly? it eats. β¨
πΈ SYNOPSIS πΈ
msgattrib [OPTION] [INPUTFILE]
π¦ DESCRIPTION π¦
So basically, msgattrib filters the messages of a translation catalog according to their attributes, and β plot twist β it also manipulates the attributes. it's giving glow-up for your .po file, fr fr. π
mandatory arguments to long options are mandatory for short options too. (yes queen, that's just how it is.)
π Input file location:
INPUTFILEβ the input PO file, your main character π«Ά-D,--directory=DIRECTORYβ addDIRECTORYto list for input files search
if no input file is given or if it is -, standard input is read. lowkey convenient, ngl. π
π Output file location:
-o,--output-file=FILEβ write output to specified file
the results are written to standard output if no output file is specified or if it is -. periodt. π
β Message selection:
--translatedβ keep translated, remove untranslated messages--untranslatedβ keep untranslated, remove translated messages--no-fuzzyβ remove'fuzzy'marked messages--only-fuzzyβ keep'fuzzy'marked messages--no-obsoleteβ remove obsolete#~messages--only-obsoleteβ keep obsolete#~messages
it's giving β¨vibe checkβ¨ but for messages. only the ones you want get to stay. π
π Attribute manipulation:
--set-fuzzyβ set all messages'fuzzy'--clear-fuzzyβ set all messages non-'fuzzy'--set-obsoleteβ set all messages obsolete--clear-obsoleteβ set all messages non-obsolete--previousβ when setting'fuzzy', keep previous msgids of translated messages.--clear-previousβ remove the "previous msgid" from all messages--emptyβ when removing'fuzzy', also set msgstr empty--only-file=FILE.poβ manipulate only entries listed inFILE.po--ignore-file=FILE.poβ manipulate only entries not listed inFILE.po--fuzzyβ synonym for--only-fuzzy --clear-fuzzy--obsoleteβ synonym for--only-obsolete --clear-obsolete
ngl those last two are the "two-in-one combo deal" of flags. iconic behavior honestly. π
π§ Input file syntax:
-P,--properties-inputβ input file is in Java.propertiessyntax--stringtable-inputβ input file is in NeXTstep/GNUstep.stringssyntax
πΈ 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 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. (shoutout to the legend π«Ά)
π REPORTING BUGS π
found a bug? not the vibe. 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.
bestie that last part is not a joke β there is genuinely NO WARRANTY, to the extent permitted by law. π don't come for them if it breaks.
π SEE ALSO π
The full documentation for msgattrib is maintained as a Texinfo manual. If the info and msgattrib programs are properly installed at your site, the command
info msgattrib
should give you access to the complete manual. go read it, it's giving academic but make it cute. πβ¨
and that's the whole page, bestie! this is GNU gettext-tools 1.0, dated January 2026 β mwah, slay, go filter some catalogs. π ππ¦
π¦ 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