summaryrefslogtreecommitdiffstats
path: root/doc/msguniq.texi
blob: 7438ca638c3e91c96951ca006d8171aa0fbdc67a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
@example
msguniq [@var{option}] [@var{inputfile}]
@end example

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}
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}
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
Print only duplicates.

@item -u
@itemx --unique
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}
Specify encoding for output.

@item --use-first
Use first available translation for each message.  Don't merge several
translations into one.

@item --force-po
Always write an output file even if it contains no message.

@item -i
@itemx --indent
Write the .po file using indented style.

@item --no-location
Do not write @samp{#: @var{filename}:@var{line}} lines.

@item -n
@itemx --add-location
Generate @samp{#: @var{filename}:@var{line}} lines (default).

@item --strict
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}
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 -s
@itemx --sort-output
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
Sort output by file location.

@end table

@subsection Informative output

@table @samp
@item -h
@itemx --help
Display this help and exit.

@item -V
@itemx --version
Output version information and exit.

@end table