Provided by: po-debconf_1.0.21+nmu1_all bug


       debconf-gettextize - extract translations of debconf templates into PO files


       debconf-gettextize [-v] [-h] [--podir=DIR] [--choices] [--merge] master [master ...]


       The /var/lib/dpkg/info/*.templates files read by debconf contain English text and
       translations in the same file.  But in source packages, translations are managed in
       separate files to help translators.  In the initial implementation, a master templates
       file contained only English text, and templates.xx files contained both original and
       translated strings for the language xx.  The debconf-mergetemplate program was merging
       master and translated templates files.

       The new implementation with "po-debconf" is based on "gettext".  Maintainers mark
       translatable fields by prepending them with an underscore, English strings are
       automatically extracted into a POT file, translators work on normal PO files, and
       po2debconf generates a merged templates file with the same structure.

       The debconf-gettextize program was initially designed to help migrating to the new

       · It reads a list of master files and their associated translations, and generates po/*.po
         files for each language containing translated strings.

       · Each input file receives an ".old" suffix, and a new master file overwrites the old one;
         it is identical to the previous master file except that an underscore is prepended to
         translatable fields.  Developers can then choose which fields translators have to work
         on and which ones are skipped because their values are not locale-dependent.

       · A po/ file is also created, it contains the list of templates files debconf-
         updatepo has to process.

       Typically the debconf-gettextize program must be run only once when transforming from the
       first implementation to the "po-debconf" format, but it can also be used afterwards to
       transform a "_Choices" field into "__Choices" (or vice-versa) without losing translations,
       when using the "--merge" flag (alongside with "--choices" or not).  The desired template
       containing the "_Choices" or "__Choices" fields to modify has to be copied into a
       temporary template file, which is passed to debconf-gettextize as an argument.  Then the
       following steps are performed:

       1. po2debconf is run on this template file to generate a translated templates file.

       2. This translated templates file is processed as described above and PO files are

       3. Newly created PO files are merged with existing ones.

       When PO files are merged, "_Choices" fields have to be replaced by "__Choices" (or vice-
       versa) in the original templates file before running debconf-updatepo, otherwise new
       translations will be fuzzy.


       -h, --help
           Display a usage summary for the program and exit.

       -v, --verbose
           Process in verbose mode.

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

           By default, debconf-gettextize replaces "Choices" fields by "_Choices".  With this
           flag, "__Choices" fields are written instead.

           When this flag is set, the strings are merged with existing PO files.  The templates
           files and po/ are not modified.


       The "Default" field is special when template type is "Select" or "Multiselect", because a
       value has to be chosen amongst the English list of choices, even for localized values.
       Normally this field must not be changed, but in rare circumstances localized values are
       meaningful (e.g. to choose the default language of an application).  In order to let
       translators know that this localized "Default" field is special, you must by convention
       call it "_DefaultChoice" instead of "_Default".


       debconf-updatepo(1), po2debconf(1), debconf-devel(7), po-debconf(7).


         Denis Barbier <>
         Martin Quinson <>

                                            2020-12-30                      DEBCONF-GETTEXTIZE(1)