summaryrefslogtreecommitdiffstats
path: root/gettext-tools/doc/msguniq.texi
diff options
context:
space:
mode:
Diffstat (limited to 'gettext-tools/doc/msguniq.texi')
-rw-r--r--gettext-tools/doc/msguniq.texi155
1 files changed, 155 insertions, 0 deletions
diff --git a/gettext-tools/doc/msguniq.texi b/gettext-tools/doc/msguniq.texi
new file mode 100644
index 0000000..eb3707f
--- /dev/null
+++ b/gettext-tools/doc/msguniq.texi
@@ -0,0 +1,155 @@
+@pindex msguniq
+@cindex @code{msguniq} program, usage
+@example
+msguniq [@var{option}] [@var{inputfile}]
+@end example
+
+@cindex unify duplicate translations
+@cindex duplicate removal
+The @code{msguniq} program unifies duplicate translations in a translation
+catalog. It finds duplicate translations of the same message ID. Such
+duplicates are invalid input for other programs like @code{msgfmt},
+@code{msgmerge} or @code{msgcat}. By default, duplicates are merged
+together. When using the @samp{--repeated} option, only duplicates are
+output, and all other messages are discarded. Comments and extracted
+comments will be cumulated, except that if @samp{--use-first} is
+specified, they will be taken from the first translation. File positions
+will be cumulated. When using the @samp{--unique} option, duplicates are
+discarded.
+
+@subsection Input file location
+
+@table @samp
+@item @var{inputfile}
+Input PO file.
+
+@item -D @var{directory}
+@itemx --directory=@var{directory}
+@opindex -D@r{, @code{msguniq} option}
+@opindex --directory@r{, @code{msguniq} option}
+Add @var{directory} to the list of directories. Source files are
+searched relative to this list of directories. The resulting @file{.po}
+file will be written relative to the current directory, though.
+
+@end table
+
+If no @var{inputfile} is given or if it is @samp{-}, standard input is read.
+
+@subsection Output file location
+
+@table @samp
+@item -o @var{file}
+@itemx --output-file=@var{file}
+@opindex -o@r{, @code{msguniq} option}
+@opindex --output-file@r{, @code{msguniq} option}
+Write output to specified file.
+
+@end table
+
+The results are written to standard output if no output file is specified
+or if it is @samp{-}.
+
+@subsection Message selection
+
+@table @samp
+@item -d
+@itemx --repeated
+@opindex -d@r{, @code{msguniq} option}
+@opindex --repeated@r{, @code{msguniq} option}
+Print only duplicates.
+
+@item -u
+@itemx --unique
+@opindex -u@r{, @code{msguniq} option}
+@opindex --unique@r{, @code{msguniq} option}
+Print only unique messages, discard duplicates.
+
+@end table
+
+@subsection Output details
+
+@c --no-escape and --escape omitted on purpose. They are not useful.
+
+@table @samp
+@item -t
+@itemx --to-code=@var{name}
+@opindex -t@r{, @code{msguniq} option}
+@opindex --to-code@r{, @code{msguniq} option}
+Specify encoding for output.
+
+@item --use-first
+@opindex --use-first@r{, @code{msguniq} option}
+Use first available translation for each message. Don't merge several
+translations into one.
+
+@item --force-po
+@opindex --force-po@r{, @code{msguniq} option}
+Always write an output file even if it contains no message.
+
+@item -i
+@itemx --indent
+@opindex -i@r{, @code{msguniq} option}
+@opindex --indent@r{, @code{msguniq} option}
+Write the .po file using indented style.
+
+@item --no-location
+@opindex --no-location@r{, @code{msguniq} option}
+Do not write @samp{#: @var{filename}:@var{line}} lines.
+
+@item -n
+@itemx --add-location
+@opindex -n@r{, @code{msguniq} option}
+@opindex --add-location@r{, @code{msguniq} option}
+Generate @samp{#: @var{filename}:@var{line}} lines (default).
+
+@item --strict
+@opindex --strict@r{, @code{msguniq} option}
+Write out a strict Uniforum conforming PO file. Note that this
+Uniforum format should be avoided because it doesn't support the
+GNU extensions.
+
+@item -w @var{number}
+@itemx --width=@var{number}
+@opindex -w@r{, @code{msguniq} option}
+@opindex --width@r{, @code{msguniq} option}
+Set the output page width. Long strings in the output files will be
+split across multiple lines in order to ensure that each line's width
+(= number of screen columns) is less or equal to the given @var{number}.
+
+@item --no-wrap
+@opindex --no-wrap@r{, @code{msguniq} option}
+Do not break long message lines. Message lines whose width exceeds the
+output page width will not be split into several lines. Only file reference
+lines which are wider than the output page width will be split.
+
+@item -s
+@itemx --sort-output
+@opindex -s@r{, @code{msguniq} option}
+@opindex --sort-output@r{, @code{msguniq} option}
+Generate sorted output. Note that using this option makes it much harder
+for the translator to understand each message's context.
+
+@item -F
+@itemx --sort-by-file
+@opindex -F@r{, @code{msguniq} option}
+@opindex --sort-by-file@r{, @code{msguniq} option}
+Sort output by file location.
+
+@end table
+
+@subsection Informative output
+
+@table @samp
+@item -h
+@itemx --help
+@opindex -h@r{, @code{msguniq} option}
+@opindex --help@r{, @code{msguniq} option}
+Display this help and exit.
+
+@item -V
+@itemx --version
+@opindex -V@r{, @code{msguniq} option}
+@opindex --version@r{, @code{msguniq} option}
+Output version information and exit.
+
+@end table