1@c This file is part of the GNU gettext manual. 2@c Copyright (C) 1995-2019 Free Software Foundation, Inc. 3@c See the file gettext.texi for copying conditions. 4 5@pindex msgunfmt 6@cindex @code{msgunfmt} program, usage 7@example 8msgunfmt [@var{option}] [@var{file}]... 9@end example 10 11@cindex convert binary message catalog into PO file 12The @code{msgunfmt} program converts a binary message catalog to a 13Uniforum style .po file. 14 15@subsection Operation mode 16 17@table @samp 18@item -j 19@itemx --java 20@opindex -j@r{, @code{msgunfmt} option} 21@opindex --java@r{, @code{msgunfmt} option} 22@cindex Java mode, and @code{msgunfmt} program 23Java mode: input is a Java @code{ResourceBundle} class. 24 25@item --csharp 26@opindex --csharp@r{, @code{msgunfmt} option} 27@cindex C# mode, and @code{msgunfmt} program 28C# mode: input is a .NET .dll file containing a subclass of 29@code{GettextResourceSet}. 30 31@item --csharp-resources 32@opindex --csharp-resources@r{, @code{msgunfmt} option} 33@cindex C# resources mode, and @code{msgunfmt} program 34C# resources mode: input is a .NET @file{.resources} file. 35 36@item --tcl 37@opindex --tcl@r{, @code{msgunfmt} option} 38@cindex Tcl mode, and @code{msgunfmt} program 39Tcl mode: input is a tcl/msgcat @file{.msg} file. 40 41@end table 42 43@subsection Input file location 44 45@table @samp 46@item @var{file} @dots{} 47Input .mo files. 48 49@end table 50 51If no input @var{file} is given or if it is @samp{-}, standard input is read. 52 53@subsection Input file location in Java mode 54 55@table @samp 56@item -r @var{resource} 57@itemx --resource=@var{resource} 58@opindex -r@r{, @code{msgunfmt} option} 59@opindex --resource@r{, @code{msgunfmt} option} 60Specify the resource name. 61 62@item -l @var{locale} 63@itemx --locale=@var{locale} 64@opindex -l@r{, @code{msgunfmt} option} 65@opindex --locale@r{, @code{msgunfmt} option} 66Specify the locale name, either a language specification of the form @var{ll} 67or a combined language and country specification of the form @var{ll_CC}. 68 69@end table 70 71The class name is determined by appending the locale name to the resource name, 72separated with an underscore. The class is located using the @code{CLASSPATH}. 73 74@subsection Input file location in C# mode 75 76@table @samp 77@item -r @var{resource} 78@itemx --resource=@var{resource} 79@opindex -r@r{, @code{msgunfmt} option} 80@opindex --resource@r{, @code{msgunfmt} option} 81Specify the resource name. 82 83@item -l @var{locale} 84@itemx --locale=@var{locale} 85@opindex -l@r{, @code{msgunfmt} option} 86@opindex --locale@r{, @code{msgunfmt} option} 87Specify the locale name, either a language specification of the form @var{ll} 88or a combined language and country specification of the form @var{ll_CC}. 89 90@item -d @var{directory} 91@opindex -d@r{, @code{msgunfmt} option} 92Specify the base directory for locale dependent @file{.dll} files. 93 94@end table 95 96The @samp{-l} and @samp{-d} options are mandatory. The @file{.msg} file is 97located in a subdirectory of the specified directory whose name depends on the 98locale. 99 100@subsection Input file location in Tcl mode 101 102@table @samp 103@item -l @var{locale} 104@itemx --locale=@var{locale} 105@opindex -l@r{, @code{msgunfmt} option} 106@opindex --locale@r{, @code{msgunfmt} option} 107Specify the locale name, either a language specification of the form @var{ll} 108or a combined language and country specification of the form @var{ll_CC}. 109 110@item -d @var{directory} 111@opindex -d@r{, @code{msgunfmt} option} 112Specify the base directory of @file{.msg} message catalogs. 113 114@end table 115 116The @samp{-l} and @samp{-d} options are mandatory. The @file{.msg} file is 117located in the specified directory. 118 119@subsection Output file location 120 121@table @samp 122@item -o @var{file} 123@itemx --output-file=@var{file} 124@opindex -o@r{, @code{msgunfmt} option} 125@opindex --output-file@r{, @code{msgunfmt} option} 126Write output to specified file. 127 128@end table 129 130The results are written to standard output if no output file is specified 131or if it is @samp{-}. 132 133@subsection Output details 134 135@c --no-escape and --escape omitted on purpose. They are not useful. 136 137@table @samp 138@item --color 139@itemx --color=@var{when} 140@opindex --color@r{, @code{msgunfmt} option} 141Specify whether or when to use colors and other text attributes. 142See @ref{The --color option} for details. 143 144@item --style=@var{style_file} 145@opindex --style@r{, @code{msgunfmt} option} 146Specify the CSS style rule file to use for @code{--color}. 147See @ref{The --style option} for details. 148 149@item --force-po 150@opindex --force-po@r{, @code{msgunfmt} option} 151Always write an output file even if it contains no message. 152 153@item -i 154@itemx --indent 155@opindex -i@r{, @code{msgunfmt} option} 156@opindex --indent@r{, @code{msgunfmt} option} 157Write the .po file using indented style. 158 159@item --strict 160@opindex --strict@r{, @code{msgunfmt} option} 161Write out a strict Uniforum conforming PO file. Note that this 162Uniforum format should be avoided because it doesn't support the 163GNU extensions. 164 165@item -p 166@itemx --properties-output 167@opindex -p@r{, @code{msgunfmt} option} 168@opindex --properties-output@r{, @code{msgunfmt} option} 169Write out a Java ResourceBundle in Java @code{.properties} syntax. Note 170that this file format doesn't support plural forms and silently drops 171obsolete messages. 172 173@item --stringtable-output 174@opindex --stringtable-output@r{, @code{msgunfmt} option} 175Write out a NeXTstep/GNUstep localized resource file in @code{.strings} syntax. 176Note that this file format doesn't support plural forms. 177 178@item -w @var{number} 179@itemx --width=@var{number} 180@opindex -w@r{, @code{msgunfmt} option} 181@opindex --width@r{, @code{msgunfmt} option} 182Set the output page width. Long strings in the output files will be 183split across multiple lines in order to ensure that each line's width 184(= number of screen columns) is less or equal to the given @var{number}. 185 186@item --no-wrap 187@opindex --no-wrap@r{, @code{msgunfmt} option} 188Do not break long message lines. Message lines whose width exceeds the 189output page width will not be split into several lines. Only file reference 190lines which are wider than the output page width will be split. 191 192@item -s 193@itemx --sort-output 194@opindex -s@r{, @code{msgunfmt} option} 195@opindex --sort-output@r{, @code{msgunfmt} option} 196@cindex sorting @code{msgunfmt} output 197Generate sorted output. Note that using this option makes it much harder 198for the translator to understand each message's context. 199 200@end table 201 202@subsection Informative output 203 204@table @samp 205@item -h 206@itemx --help 207@opindex -h@r{, @code{msgunfmt} option} 208@opindex --help@r{, @code{msgunfmt} option} 209Display this help and exit. 210 211@item -V 212@itemx --version 213@opindex -V@r{, @code{msgunfmt} option} 214@opindex --version@r{, @code{msgunfmt} option} 215Output version information and exit. 216 217@item -v 218@itemx --verbose 219@opindex -v@r{, @code{msgunfmt} option} 220@opindex --verbose@r{, @code{msgunfmt} option} 221Increase verbosity level. 222 223@end table 224