{
    "content": [
        {
            "type": "text",
            "text": "# MSGUNIQ (man)\n\n## NAME\n\nmsguniq - unify duplicate translations in message catalog\n\n## SYNOPSIS\n\nmsguniq [OPTION] [INPUTFILE]\n\n## DESCRIPTION\n\nUnifies duplicate translations in a translation catalog.  Finds duplicate translations of the\nsame message ID.  Such duplicates are invalid input for other programs like msgfmt,  msgmerge\nor  msgcat.   By  default, duplicates are merged together.  When using the --repeated option,\nonly duplicates are output, and all other messages are  discarded.   Comments  and  extracted\ncomments  will be cumulated, except that if --use-first is specified, they will be taken from\nthe first translation.  File positions will be cumulated.  When using  the  --unique  option,\nduplicates are discarded.\n\n## Sections\n\n- **NAME**\n- **SYNOPSIS**\n- **DESCRIPTION** (30 subsections)\n- **AUTHOR**\n- **REPORTING BUGS**\n- **COPYRIGHT**\n- **SEE ALSO**\n\nUse structuredContent.sections for detailed options, examples, and full documentation.\n"
        }
    ],
    "structuredContent": {
        "command": "MSGUNIQ",
        "section": "",
        "mode": "man",
        "summary": "msguniq - unify duplicate translations in message catalog",
        "synopsis": "msguniq [OPTION] [INPUTFILE]",
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [
            {
                "flag": "-D",
                "long": "--directory",
                "arg": null,
                "description": "add DIRECTORY to list for input files search If no input file is given or if it is -, standard input is read."
            },
            {
                "flag": "-o",
                "long": "--output-file",
                "arg": null,
                "description": "write output to specified file The results are written to standard output if no output file is specified or if it is -."
            },
            {
                "flag": "-d",
                "long": "--repeated",
                "arg": null,
                "description": "print only duplicates"
            },
            {
                "flag": "-u",
                "long": "--unique",
                "arg": null,
                "description": "print only unique messages, discard duplicates"
            },
            {
                "flag": "-P",
                "long": "--properties-input",
                "arg": null,
                "description": "input file is in Java .properties syntax"
            },
            {
                "flag": "",
                "long": "--stringtable-input",
                "arg": null,
                "description": "input file is in NeXTstep/GNUstep .strings syntax"
            },
            {
                "flag": "-t",
                "long": "--to-code",
                "arg": null,
                "description": "encoding for output"
            },
            {
                "flag": "",
                "long": "--use-first",
                "arg": null,
                "description": "use first available translation for each message, don't merge several translations"
            },
            {
                "flag": "",
                "long": "--color",
                "arg": null,
                "description": "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"
            },
            {
                "flag": "-e",
                "long": "--no-escape",
                "arg": null,
                "description": "do not use C escapes in output (default)"
            },
            {
                "flag": "-E",
                "long": "--escape",
                "arg": null,
                "description": "use C escapes in output, no extended chars"
            },
            {
                "flag": "",
                "long": "--force-po",
                "arg": null,
                "description": "write PO file even if empty"
            },
            {
                "flag": "-i",
                "long": "--indent",
                "arg": null,
                "description": "write the .po file using indented style"
            },
            {
                "flag": "",
                "long": "--no-location",
                "arg": null,
                "description": "do not write '#: filename:line' lines"
            },
            {
                "flag": "-n",
                "long": "--add-location",
                "arg": null,
                "description": "generate '#: filename:line' lines (default)"
            },
            {
                "flag": "",
                "long": "--strict",
                "arg": null,
                "description": "write out strict Uniforum conforming .po file"
            },
            {
                "flag": "-p",
                "long": "--properties-output",
                "arg": null,
                "description": "write out a Java .properties file"
            },
            {
                "flag": "",
                "long": "--stringtable-output",
                "arg": null,
                "description": "write out a NeXTstep/GNUstep .strings file"
            },
            {
                "flag": "-w",
                "long": "--width",
                "arg": null,
                "description": "set output page width"
            },
            {
                "flag": "",
                "long": "--no-wrap",
                "arg": null,
                "description": "do not break long message lines, longer than the output page width, into several lines"
            },
            {
                "flag": "-s",
                "long": "--sort-output",
                "arg": null,
                "description": "generate sorted output"
            },
            {
                "flag": "-F",
                "long": "--sort-by-file",
                "arg": null,
                "description": "sort output by file location"
            },
            {
                "flag": "-h",
                "long": "--help",
                "arg": null,
                "description": "display this help and exit"
            },
            {
                "flag": "-V",
                "long": "--version",
                "arg": null,
                "description": "output version information and exit"
            }
        ],
        "examples": [],
        "see_also": [],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 10,
                "subsections": [
                    {
                        "name": "Input file location:",
                        "lines": 3
                    },
                    {
                        "name": "-D --directory",
                        "lines": 4,
                        "flag": "-D",
                        "long": "--directory"
                    },
                    {
                        "name": "Output file location:",
                        "lines": 1
                    },
                    {
                        "name": "-o --output-file",
                        "lines": 4,
                        "flag": "-o",
                        "long": "--output-file"
                    },
                    {
                        "name": "Message selection:",
                        "lines": 1
                    },
                    {
                        "name": "-d --repeated",
                        "lines": 2,
                        "flag": "-d",
                        "long": "--repeated"
                    },
                    {
                        "name": "-u --unique",
                        "lines": 2,
                        "flag": "-u",
                        "long": "--unique"
                    },
                    {
                        "name": "Input file syntax:",
                        "lines": 1
                    },
                    {
                        "name": "-P --properties-input",
                        "lines": 2,
                        "flag": "-P",
                        "long": "--properties-input"
                    },
                    {
                        "name": "--stringtable-input",
                        "lines": 2,
                        "long": "--stringtable-input"
                    },
                    {
                        "name": "Output details:",
                        "lines": 1
                    },
                    {
                        "name": "-t --to-code",
                        "lines": 2,
                        "flag": "-t",
                        "long": "--to-code"
                    },
                    {
                        "name": "--use-first",
                        "lines": 2,
                        "long": "--use-first"
                    },
                    {
                        "name": "--color",
                        "lines": 9,
                        "long": "--color"
                    },
                    {
                        "name": "-e --no-escape",
                        "lines": 2,
                        "flag": "-e",
                        "long": "--no-escape"
                    },
                    {
                        "name": "-E --escape",
                        "lines": 2,
                        "flag": "-E",
                        "long": "--escape"
                    },
                    {
                        "name": "--force-po",
                        "lines": 2,
                        "long": "--force-po"
                    },
                    {
                        "name": "-i --indent",
                        "lines": 2,
                        "flag": "-i",
                        "long": "--indent"
                    },
                    {
                        "name": "--no-location",
                        "lines": 2,
                        "long": "--no-location"
                    },
                    {
                        "name": "-n --add-location",
                        "lines": 2,
                        "flag": "-n",
                        "long": "--add-location"
                    },
                    {
                        "name": "--strict",
                        "lines": 2,
                        "long": "--strict"
                    },
                    {
                        "name": "-p --properties-output",
                        "lines": 2,
                        "flag": "-p",
                        "long": "--properties-output"
                    },
                    {
                        "name": "--stringtable-output",
                        "lines": 2,
                        "long": "--stringtable-output"
                    },
                    {
                        "name": "-w --width",
                        "lines": 2,
                        "flag": "-w",
                        "long": "--width"
                    },
                    {
                        "name": "--no-wrap",
                        "lines": 2,
                        "long": "--no-wrap"
                    },
                    {
                        "name": "-s --sort-output",
                        "lines": 2,
                        "flag": "-s",
                        "long": "--sort-output"
                    },
                    {
                        "name": "-F --sort-by-file",
                        "lines": 2,
                        "flag": "-F",
                        "long": "--sort-by-file"
                    },
                    {
                        "name": "Informative output:",
                        "lines": 1
                    },
                    {
                        "name": "-h --help",
                        "lines": 2,
                        "flag": "-h",
                        "long": "--help"
                    },
                    {
                        "name": "-V --version",
                        "lines": 2,
                        "flag": "-V",
                        "long": "--version"
                    }
                ]
            },
            {
                "name": "AUTHOR",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "REPORTING BUGS",
                "lines": 3,
                "subsections": []
            },
            {
                "name": "COPYRIGHT",
                "lines": 5,
                "subsections": []
            },
            {
                "name": "SEE ALSO",
                "lines": 10,
                "subsections": []
            }
        ],
        "sections": {
            "NAME": {
                "content": "msguniq - unify duplicate translations in message catalog\n",
                "subsections": []
            },
            "SYNOPSIS": {
                "content": "msguniq [OPTION] [INPUTFILE]\n",
                "subsections": []
            },
            "DESCRIPTION": {
                "content": "Unifies duplicate translations in a translation catalog.  Finds duplicate translations of the\nsame message ID.  Such duplicates are invalid input for other programs like msgfmt,  msgmerge\nor  msgcat.   By  default, duplicates are merged together.  When using the --repeated option,\nonly duplicates are output, and all other messages are  discarded.   Comments  and  extracted\ncomments  will be cumulated, except that if --use-first is specified, they will be taken from\nthe first translation.  File positions will be cumulated.  When using  the  --unique  option,\nduplicates are discarded.\n\nMandatory arguments to long options are mandatory for short options too.\n",
                "subsections": [
                    {
                        "name": "Input file location:",
                        "content": "INPUTFILE\ninput PO file\n"
                    },
                    {
                        "name": "-D --directory",
                        "content": "add DIRECTORY to list for input files search\n\nIf no input file is given or if it is -, standard input is read.\n",
                        "flag": "-D",
                        "long": "--directory"
                    },
                    {
                        "name": "Output file location:",
                        "content": ""
                    },
                    {
                        "name": "-o --output-file",
                        "content": "write output to specified file\n\nThe results are written to standard output if no output file is specified or if it is -.\n",
                        "flag": "-o",
                        "long": "--output-file"
                    },
                    {
                        "name": "Message selection:",
                        "content": ""
                    },
                    {
                        "name": "-d --repeated",
                        "content": "print only duplicates\n",
                        "flag": "-d",
                        "long": "--repeated"
                    },
                    {
                        "name": "-u --unique",
                        "content": "print only unique messages, discard duplicates\n",
                        "flag": "-u",
                        "long": "--unique"
                    },
                    {
                        "name": "Input file syntax:",
                        "content": ""
                    },
                    {
                        "name": "-P --properties-input",
                        "content": "input file is in Java .properties syntax\n",
                        "flag": "-P",
                        "long": "--properties-input"
                    },
                    {
                        "name": "--stringtable-input",
                        "content": "input file is in NeXTstep/GNUstep .strings syntax\n",
                        "long": "--stringtable-input"
                    },
                    {
                        "name": "Output details:",
                        "content": ""
                    },
                    {
                        "name": "-t --to-code",
                        "content": "encoding for output\n",
                        "flag": "-t",
                        "long": "--to-code"
                    },
                    {
                        "name": "--use-first",
                        "content": "use first available translation for each message, don't merge several translations\n",
                        "long": "--use-first"
                    },
                    {
                        "name": "--color",
                        "content": "use colors and other text attributes always\n\n--color=WHEN\nuse  colors and other text attributes if WHEN.  WHEN may be 'always', 'never', 'auto',\nor 'html'.\n\n--style=STYLEFILE\nspecify CSS style rule file for --color\n",
                        "long": "--color"
                    },
                    {
                        "name": "-e --no-escape",
                        "content": "do not use C escapes in output (default)\n",
                        "flag": "-e",
                        "long": "--no-escape"
                    },
                    {
                        "name": "-E --escape",
                        "content": "use C escapes in output, no extended chars\n",
                        "flag": "-E",
                        "long": "--escape"
                    },
                    {
                        "name": "--force-po",
                        "content": "write PO file even if empty\n",
                        "long": "--force-po"
                    },
                    {
                        "name": "-i --indent",
                        "content": "write the .po file using indented style\n",
                        "flag": "-i",
                        "long": "--indent"
                    },
                    {
                        "name": "--no-location",
                        "content": "do not write '#: filename:line' lines\n",
                        "long": "--no-location"
                    },
                    {
                        "name": "-n --add-location",
                        "content": "generate '#: filename:line' lines (default)\n",
                        "flag": "-n",
                        "long": "--add-location"
                    },
                    {
                        "name": "--strict",
                        "content": "write out strict Uniforum conforming .po file\n",
                        "long": "--strict"
                    },
                    {
                        "name": "-p --properties-output",
                        "content": "write out a Java .properties file\n",
                        "flag": "-p",
                        "long": "--properties-output"
                    },
                    {
                        "name": "--stringtable-output",
                        "content": "write out a NeXTstep/GNUstep .strings file\n",
                        "long": "--stringtable-output"
                    },
                    {
                        "name": "-w --width",
                        "content": "set output page width\n",
                        "flag": "-w",
                        "long": "--width"
                    },
                    {
                        "name": "--no-wrap",
                        "content": "do not break long message lines, longer than the output page width, into several lines\n",
                        "long": "--no-wrap"
                    },
                    {
                        "name": "-s --sort-output",
                        "content": "generate sorted output\n",
                        "flag": "-s",
                        "long": "--sort-output"
                    },
                    {
                        "name": "-F --sort-by-file",
                        "content": "sort output by file location\n",
                        "flag": "-F",
                        "long": "--sort-by-file"
                    },
                    {
                        "name": "Informative output:",
                        "content": ""
                    },
                    {
                        "name": "-h --help",
                        "content": "display this help and exit\n",
                        "flag": "-h",
                        "long": "--help"
                    },
                    {
                        "name": "-V --version",
                        "content": "output version information and exit\n",
                        "flag": "-V",
                        "long": "--version"
                    }
                ]
            },
            "AUTHOR": {
                "content": "Written by Bruno Haible.\n",
                "subsections": []
            },
            "REPORTING BUGS": {
                "content": "Report bugs in the bug tracker at <https://savannah.gnu.org/projects/gettext> or by email  to\n<bug-gettext@gnu.org>.\n",
                "subsections": []
            },
            "COPYRIGHT": {
                "content": "Copyright  ©  2001-2020  Free Software Foundation, Inc.  License GPLv3+: GNU GPL version 3 or\nlater <https://gnu.org/licenses/gpl.html>\nThis is free software: you are free to change and redistribute it.  There is NO WARRANTY,  to\nthe extent permitted by law.\n",
                "subsections": []
            },
            "SEE ALSO": {
                "content": "The  full documentation for msguniq is maintained as a Texinfo manual.  If the info and msgu‐‐\nniq programs are properly installed at your site, the command\n\ninfo msguniq\n\nshould give you access to the complete manual.\n\n\n\nGNU gettext-tools 0.21                       March 2022                                   MSGUNIQ(1)",
                "subsections": []
            }
        }
    }
}