Outils pour utilisateurs

Outils du site


doc:dak:traduction

Autour de la traduction de dak

Il y a plusieurs choses à traduire pour adapter dak à d'autres langues et / ou d'autres configurations.

Modèles

Les courriels types sont dans le répertoire /opt/dak/katie/templates du paquet installé (répertoire dak-1.0/templates du paquet source) qui est géré par le paramètre

Dir
{
  Templates "/opt/dak/katie/templates/";
};

J'ajoute un spécificité si le ficher contient des termes spécifiques à Debian.

  • alicia.bug-close spécificité (ftpmaster)
  • amber.advisory spécificité (Debian et DSA cités plusieurs fois). Sert aux notifications de péril.
  • jennifer.accepted
  • jennifer.announce
  • jennifer.bug-close
  • jennifer.bug-experimental-fixed
  • jennifer.bug-nmu-fixed
  • jennifer.override-disparity
  • katie.rejected
  • kelly.installed
  • kelly.unaccept
  • lauren.stable-rejected
  • lisa.bxa_notification spécificité (Ben Collins, Debian…)
  • lisa.prod
  • melanie.bug-close
  • README
  • uma.added spécificité (Ganneff)

Modifications à apporter

  1. Faire passer ces fichiers en UTF-8 (fr_FR.UTF-8) avec les champs :
    • Content-Type: text/plain; charset=utf-8
    • Content-Transfer-Encoding: 8bit
    • Mime-Version: 1.0 (faut-il aussi ce champ-là?)
    • Content-Disposition: inline (faut-il aussi ce champ-là?)
  2. Rendre non-spécifique à Debian (www.debian.org ou ftpmaster dans le corps des messages par exemple).
  3. Faut-il ajouter de nouvelles substitutions ?

Liste des substitutions existantes

__ADMIN_ADDRESS__
__ADVISORY__
__ADVISORY_TEXT__
__ALICIA_ADDRESS__
__ANNOUNCE_LIST_ADDRESS__
__ARCHITECTURE__
__BCC__
__BINARY_DESCRIPTIONS__
__BUG_NUMBER__
__BUG_SERVER__
__CC__
__CHANGES_FILENAME__
__CONTROL_MESSAGE__
__DATE__
__DISTRO__
__FILE_CONTENTS__
__FROM_ADDRESS__
__HOSTNAME__
__KATIE_ADDRESS__
__KEYID__
__MAINTAINER__
__MAINTAINER_ADDRESS__
__MAINTAINER_FROM__
__MAINTAINER_TO__
__MANUAL_REJECT_MESSAGE__
__MELANIE_ADDRESS__
__MORE_INFO_URL__
__NEW_MAINTAINER__
__PACKAGE__
__PRIMARY_KEY__
__PRIMARY_MIRROR__
__PROD_MESSAGE__
__REJECTOR_ADDRESS__
__REJECT_MESSAGE__
__SHORT_SUMMARY__
__SOURCE__
__STABLE_REJECTOR__
__STABLE_WARNING__
__SUITE__
__SUITE_LIST__
__SUMMARY__
__UID__
__VERSION__
__WHOAMI__

La fonction qui fait ces substitutions est TemplateSubst dans utils.py. Le résultat d'un grep * TemplateSubst est :

alicia:            mail_message = utils.TemplateSubst(
amber:    adv = utils.TemplateSubst(Subst, Cnf["Dir::Templates"]+"/amber.advisory");
jennifer:        new_ack_message = utils.TemplateSubst(Subst,Cnf["Dir::Templates"]+"/jennifer.new");
katie.py:                   mail_message = utils.TemplateSubst(Subst,Cnf["Dir::Templates"]+"/jennifer.bug-experimental-fixed");
katie.py:                           mail_message = utils.TemplateSubst(Subst,Cnf["Dir::Templates"]+"/jennifer.bug-close");
katie.py:                mail_message = utils.TemplateSubst(Subst,Cnf["Dir::Templates"]+"/jennifer.bug-nmu-fixed");
katie.py:                mail_message = utils.TemplateSubst(Subst,Cnf["Dir::Templates"]+"/jennifer.announce");
katie.py:            mail_message = utils.TemplateSubst(Subst,Cnf["Dir::Templates"]+"/jennifer.accepted");
katie.py:        mail_message = utils.TemplateSubst(Subst,self.Cnf["Dir::Templates"]+"/jennifer.override-disparity");
katie.py:            reject_mail_message = utils.TemplateSubst(Subst,Cnf["Dir::Templates"]+"/katie.rejected");
katie.py:            reject_mail_message = utils.TemplateSubst(Subst,Cnf["Dir::Templates"]+"/katie.rejected");
kelly:    reject_mail_message = utils.TemplateSubst(Subst,Cnf["Dir::Templates"]+"/kelly.unaccept");
kelly:        mail_message = utils.TemplateSubst(Subst,Cnf["Dir::Templates"]+"/kelly.installed");
lauren:    reject_mail_message = utils.TemplateSubst(Katie.Subst,Cnf["Dir::Templates"]+"/lauren.stable-rejected");
lisa:    bxa_mail = utils.TemplateSubst(Katie.Subst,Cnf["Dir::Templates"]+"/lisa.bxa_notification");
lisa:    prod_mail_message = utils.TemplateSubst(
melanie:            mail_message = utils.TemplateSubst(Subst,Cnf["Dir::Templates"]+"/melanie.bug-close");
uma:              new_add_message = utils.TemplateSubst(Subst,Cnf["Dir::Templates"]+"/uma.added");
utils.py:def TemplateSubst(map, filename):

Le cas d'uma

Il y a aussi la chaîne (ensuite chiffrée) au coeur d'uma qui est spécifique à Ganneff (à traiter en même temps que le modèle uma.added).

    message= """

Additionally there is now an account on dak.ganneff.de created for you. You can login with ssh and
play with the tools that constitute the archive software, like madison for example. Note that this
service is provided for you to learn to work with the archive system tools, so please don't try to
kill it with some stupid script kiddie action.

""";
    message+= "\nYour password for the login %s is: %s\n" % (login, passwd);

Spécificités de mes traductions

Spécificités de vocabulaire. Divergences par rapport aux traductions standard :

  • # : n
  • archive : dépôt
  • bug : anomalie
  • ftpmaster : administrateur
  • override : surclassement
doc/dak/traduction.txt · Dernière modification: 2006/03/13 11:51 par lehobey