Linux Commands Examples

A great documentation place for Linux commands


merge master templates file and PO files

see also : debconf-gettextize - debconf-updatepo


po2debconf [-v] [-h] [--podir= DIR ] [-o FILE ] [-e STRING ] master

add an example, a script, a trick and tips

: email address (won't be displayed)
: name

Step 2

Thanks for this example ! - It will be moderated and published shortly.

Feel free to post other examples
Oops ! There is a tiny cockup. A damn 404 cockup. Please contact the loosy team who maintains and develops this wonderful site by clicking in the mighty feedback button on the side of the page. Say what happened. Thanks!


(echo ; po2debconf debian/netcfg-common.templates ) \
(echo ; po2debconf debian/netcfg-common.templates ) \
>> debian/netcfg-static/DEBIAN/templates
(echo ; po2debconf debian/netcfg-common.templates )\


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

To help the language code transition for Norwegian Bokmål, the no and nb language codes are handled specially. If no.po exists, it should be renamed to nb.po. Using nb.po will make both "-no" and "-nb" translations available in the templates file.

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


-h, --help

Display a usage summary and exit.

-v, --verbose

Process in verbose mode.

--podir= DIR

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

-o, --output= FILE

Set output filename (default is standard output).

-e, --encoding= STRING

Convert encoding. Argument can take 3 values: "utf8" (convert to UTF-8 ), "po" (do not change encoding) and "popular" (convert encoding of input files depending on their language; the "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


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

output format

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

If present, a 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 "foo-lang", and 2 for "foo-lang.encoding") and the second field is the encoding, e.g.

   echo '2 utf8' > po/output

let po2debconf convert text to UTF-8 .

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

see also

debconf-gettextize , debconf-updatepo , po-debconf.

  Denis Barbier <barbier[:at:]linuxfr[:dot:]org>

How can this site be more helpful to YOU ?

give  feedback