{
    "content": [
        {
            "type": "text",
            "text": "# msgcat (man)\n\n## NAME\n\nmsgcat - combines several message catalogs\n\n## SYNOPSIS\n\nmsgcat [OPTION] [INPUTFILE]...\n\n## DESCRIPTION\n\nConcatenates  and  merges  the  specified PO files.  Find messages which are common to two or\nmore of the specified PO files.  By using the --more-than option, greater commonality may  be\nrequested  before  messages  are  printed.  Conversely, the --less-than option may be used to\nspecify less commonality before messages are printed (i.e.  --less-than=2 will only print the\nunique messages).  Translations, comments, extracted comments, and file positions will be cu‐\nmulated, except that if --use-first is specified, they will be taken from the first  PO  file\nto define them.\n\n## TLDR\n\n> Concatenate and merge multiple `.po` translation files.\n\n- Combine multiple `.po` files into one:\n  `msgcat {{file1.po file2.po ...}} {{-o|--output-file}} {{combined.po}}`\n- Combine input files listed in a text file:\n  `msgcat {{-f|--files-from}} {{path/to/file_list.txt}} {{-o|--output-file}} {{combined.po}}`\n- Set the output encoding (e.g. UTF-8):\n  `msgcat {{-t|--to-code}} {{UTF-8}} {{input.po}} {{-o|--output-file}} {{output.po}}`\n- Output only unique messages (appearing in one file only):\n  `msgcat {{-u|--unique}} {{file1.po file2.po ...}} {{-o|--output-file}} {{unique.po}}`\n- Use the first available translation for duplicate entries:\n  `msgcat --use-first {{file1.po file2.po ...}} {{-o|--output-file}} {{output.po}}`\n- Display help:\n  `msgcat {{-h|--help}}`\n\n*Source: tldr-pages*\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": "msgcat",
        "section": "",
        "mode": "man",
        "summary": "msgcat - combines several message catalogs",
        "synopsis": "msgcat [OPTION] [INPUTFILE]...",
        "tldr_summary": "Concatenate and merge multiple `.po` translation files.",
        "tldr_examples": [
            {
                "description": "Combine multiple `.po` files into one",
                "command": "msgcat {{file1.po file2.po ...}} {{-o|--output-file}} {{combined.po}}"
            },
            {
                "description": "Combine input files listed in a text file",
                "command": "msgcat {{-f|--files-from}} {{path/to/file_list.txt}} {{-o|--output-file}} {{combined.po}}"
            },
            {
                "description": "Set the output encoding (e.g. UTF-8)",
                "command": "msgcat {{-t|--to-code}} {{UTF-8}} {{input.po}} {{-o|--output-file}} {{output.po}}"
            },
            {
                "description": "Output only unique messages (appearing in one file only)",
                "command": "msgcat {{-u|--unique}} {{file1.po file2.po ...}} {{-o|--output-file}} {{unique.po}}"
            },
            {
                "description": "Use the first available translation for duplicate entries",
                "command": "msgcat --use-first {{file1.po file2.po ...}} {{-o|--output-file}} {{output.po}}"
            },
            {
                "description": "Display help",
                "command": "msgcat {{-h|--help}}"
            }
        ],
        "tldr_source": "official",
        "flags": [
            {
                "flag": "-f",
                "long": "--files-from",
                "arg": null,
                "description": "get list of input files from FILE"
            },
            {
                "flag": "-D",
                "long": "--directory",
                "arg": null,
                "description": "add DIRECTORY to list for input files search If input file 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": "-u",
                "long": "--unique",
                "arg": null,
                "description": "shorthand for --less-than=2, requests that only unique messages be printed"
            },
            {
                "flag": "-P",
                "long": "--properties-input",
                "arg": null,
                "description": "input files are in Java .properties syntax"
            },
            {
                "flag": "",
                "long": "--stringtable-input",
                "arg": null,
                "description": "input files are 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 --lang=CATALOGNAME set 'Language' field in the header entry"
            },
            {
                "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": "-f --files-from",
                        "lines": 2,
                        "flag": "-f",
                        "long": "--files-from"
                    },
                    {
                        "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": 6
                    },
                    {
                        "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": 5,
                        "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": "msgcat - combines several message catalogs\n",
                "subsections": []
            },
            "SYNOPSIS": {
                "content": "msgcat [OPTION] [INPUTFILE]...\n",
                "subsections": []
            },
            "DESCRIPTION": {
                "content": "Concatenates  and  merges  the  specified PO files.  Find messages which are common to two or\nmore of the specified PO files.  By using the --more-than option, greater commonality may  be\nrequested  before  messages  are  printed.  Conversely, the --less-than option may be used to\nspecify less commonality before messages are printed (i.e.  --less-than=2 will only print the\nunique messages).  Translations, comments, extracted comments, and file positions will be cu‐\nmulated, except that if --use-first is specified, they will be taken from the first  PO  file\nto define them.\n\nMandatory arguments to long options are mandatory for short options too.\n",
                "subsections": [
                    {
                        "name": "Input file location:",
                        "content": "INPUTFILE ...\ninput files\n"
                    },
                    {
                        "name": "-f --files-from",
                        "content": "get list of input files from FILE\n",
                        "flag": "-f",
                        "long": "--files-from"
                    },
                    {
                        "name": "-D --directory",
                        "content": "add DIRECTORY to list for input files search\n\nIf input file 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": "-<, --less-than=NUMBER\nprint messages with less than this many definitions, defaults to infinite if not set\n\n->, --more-than=NUMBER\nprint messages with more than this many definitions, defaults to 0 if not set\n"
                    },
                    {
                        "name": "-u --unique",
                        "content": "shorthand for --less-than=2, requests that only unique messages be printed\n",
                        "flag": "-u",
                        "long": "--unique"
                    },
                    {
                        "name": "Input file syntax:",
                        "content": ""
                    },
                    {
                        "name": "-P --properties-input",
                        "content": "input files are in Java .properties syntax\n",
                        "flag": "-P",
                        "long": "--properties-input"
                    },
                    {
                        "name": "--stringtable-input",
                        "content": "input files are 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\n--lang=CATALOGNAME\nset 'Language' field in the header entry\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 msgcat is maintained as a Texinfo manual.  If the info and msgcat\nprograms are properly installed at your site, the command\n\ninfo msgcat\n\nshould give you access to the complete manual.\n\n\n\nGNU gettext-tools 0.21                       March 2022                                    MSGCAT(1)",
                "subsections": []
            }
        }
    }
}