DOKK / manpages / debian 12 / po-debconf / debconf-gettextize.1.fr
DEBCONF-GETTEXTIZE(1) po-debconf DEBCONF-GETTEXTIZE(1)

debconf-gettextize - Convertir des questionnaires debconf en fichiers PO

debconf-gettextize [-v] [-h] [--podir=RÉP] [--choices] [--merge] maître [maître ...]

Les fichiers /var/lib/dpkg/info/*.templates lus par debconf contiennent à la fois les chaînes anglaises et les traductions. Mais dans les paquets sources, les traductions sont gérées dans des fichiers séparés afin de faciliter le travail des traducteurs. À l'origine, un fichier templates maître ne contenait que les chaînes en anglais et les fichiers templates.xx contenaient les traductions pour les langues xx ainsi que les chaînes anglaises sur lesquelles les traductions sont basées. Le programme debconf-mergetemplate fusionnait ces fichiers.

La nouvelle mouture avec « po-debconf » est basée sur « gettext ». Les développeurs marquent les champs à traduire en les précédant d'un souligné (underscore). Les chaînes anglaises sont automatiquement copiées dans un fichier POT, les traducteurs travaillent sur les fichiers PO habituels et po2debconf produit un fichier qui est identique à celui produit auparavant par debconf-mergetemplate.

Le programme debconf-gettextize est fourni afin de faciliter cette migration.

  • Il lit une liste de fichiers maîtres et leurs traductions puis produit des fichiers po/*.po pour chaque langue contenant des chaînes traduites.
  • Le suffixe « .old » est ajouté à chaque fichier d'entrée et un nouveau fichier maître remplace l'ancien ; il est identique au fichier maître hormis qu'un caractère souligné est ajouté devant chaque champ à traduire. Les développeurs peuvent alors choisir sur quels champs les traducteurs doivent travailler et quels sont ceux dont la valeur ne dépend pas des paramètres régionaux et qui doivent être ignorés.
  • Un fichier po/POTFILES.in est également créé. Celui-ci contient la liste des fichiers templates devant être traités par debconf-updatepo.

Normalement, le programme debconf-gettextize n'est invoqué qu'une seule fois, lors de la conversion vers le format « po-debconf ». Mais il peut aussi être utilisé par la suite pour transformer un champ « _Choices » en « __Choices » (ou inversement) sans perdre les traductions existantes, à l'aide de l'option « --merge » (éventuellement avec « --choices »). Le questionnaire contenant le champ « _Choices » ou « __Choices » à modifier est recopié dans un fichier temporaire, qui est passé en paramètre de debconf-gettextize. Les étapes suivantes sont alors réalisées :

1.
po2debconf est exécuté sur ce questionnaire pour produire un fichier templates contenant les traductions.
2.
Ce fichier est converti comme expliqué ci-dessus en fichiers PO.
3.
Ces fichiers PO sont fusionnés avec ceux qui existent déjà.

Une fois les fichiers PO fusionnés, les champs « _Choices » doivent être remplacés par « __Choices » (ou inversement) dans les questionnaires debconf avant d'exécuter debconf-updatepo, sinon les traductions seront marquées comme étant approximatives (« fuzzy »).

Affiche un résumé sur l'utilisation du programme, puis quitte.
Réalise le traitement en mode bavard.
Spécifie le répertoire des fichiers PO. Par défaut, les fichiers PO sont recherchés dans le sous-répertoire po de l'emplacement du premier fichier maître.
Par défaut, debconf-gettextize remplace les champs « Choices » par « _Choices ». Avec cette option, des champs « __Choices » seront écrits.
Fusionne les chaînes traduites avec des fichiers PO existants. Les questionnaires debconf et le fichier po/POTFILES.in ne sont pas modifiés.

Le champ « Default » est particulier pour les types de questionnaires « Select » et « Multiselect », parce qu'une valeur doit être choisie parmi la liste de choix en anglais, même pour les valeurs régionales. Normalement, ce champ ne doit pas être modifié, mais dans de rares circonstances, des valeurs régionales ont un sens (par exemple lors du choix de la langue par défaut d'une application). Afin de permettre aux traducteurs de savoir que la valeur régionale de ce champ « Default » est particulière, vous devez, par convention, l'appeler « _DefaultChoice » au lieu de « _Default ».

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

  Denis Barbier <barbier@linuxfr.org>
  Martin Quinson <martin.quinson@ens-lyon.fr>

  Nicolas Bertolissio <nico.bertol@free.fr>
  Denis Barbier <barbier@linuxfr.org>
2020-12-30