
=head1 NAME

po2debconf - merge master templates file and PO files

=head1 SYNOPSIS

B<po2debconf>
[B<-v>] [B<-h>]
[B<--podir=I<DIR>>]
[B<-o I<FILE>>]
[B<-e I<STRING>>]
I<master>

=head1 DESCRIPTION

This program reads all PO files and a single F<templates> file, and
produces a Debconf templates file containing all translations, similar
to the one produced by L<debconf-mergetemplate(1)> (from the
C<debconf-utils> package).  PO files are by default searched in the
F<po> subdirectory below the location of the master file.

To help the language code transition for Norwegian BokmE<aring>l, the
B<no> and B<nb> language codes are handled specially.  If F<no.po> exists,
it should be renamed to F<nb.po>.  Using F<nb.po> will make both C<-no>
and C<-nb> translations available in the templates file.

Lines beginning with a number sign (C<#>) are comments in templates files.
They are useful to give hints to translators, and are discarded by B<po2debconf>.
Special comments have been introduced in C<po-debconf> 1.0.  They are in the
form C<#flag:I<directive>>.  The C<#flag:partial> is the only directive
interpreted by B<po2debconf>.  Normally when a field is composed of several
paragraphs (like C<__Choices> and C<_Description>), it is translated if all
paragraphs are translated.  When a field contains C<#flag:partial>, translated
strings may be mixed with untranslated strings.

=head1 OPTIONS

=over 4

=item B<-h>, B<--help>

Display a usage summary and exit.

=item B<-v>, B<--verbose>

Process in verbose mode.

=item B<--podir=I<DIR>>

Set directory for PO files.  Default is to search PO files in the F<po>
subdirectory below the location of the master file.

=item B<-o>, B<--output=I<FILE>>

Set output filename (default is standard output).

=item B<-e>, B<--encoding=I<STRING>>

Convert encoding.  Argument can take 3 values: C<utf8> (convert to
UTF-8), C<po> (do not change encoding) and C<popular> (convert
encoding of input files depending on their language; the
C<PODEBCONF_ENCODINGS> environment variable must point to a name of a file
containing the encoding map).

Such a filename looks like:

  #
  #   Number is comment sign
  #
  cs       ISO-8859-2
  da       ISO-8859-1
  de       ISO-8859-1
  el       ISO-8859-7

etc.

Default encoding used to be C<popular>, and has been switched to C<utf8>
since po-debconf 0.9.0.

=back

=head1 OUTPUT FORMAT

Since debconf 1.2.0, templates format has changed, encoding is part of
field names, i.e. they are C<foo-I<lang>.I<encoding>>.  When older
debconf encounter such fields, they are silently ignored, which means
that original text is displayed.

If present, a F<po/output> file can override defaults for encoding and
output format.  It contains a single line with two fields. The first field is the output format
(currently valid values are 1 for fields in the form C<foo-I<lang>>,
and 2 for C<foo-I<lang>.I<encoding>>) and the second field is the encoding, e.g.

   echo '2 utf8' > po/output

let B<po2debconf> convert text to UTF-8.

When encoding is set to C<po> or C<utf8>, output format is always set to
2, so that older debconf do not try to display text with wrong
encodings.

=head1 SEE ALSO

L<debconf-gettextize(1)>,
L<debconf-updatepo(1)>,
L<po-debconf(7)>.

=head1 AUTHOR

  Denis Barbier <barbier@linuxfr.org>

