====== 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.new]]
* 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 ====
- 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à?)
- Rendre non-spécifique à Debian (www.debian.org ou //ftpmaster// dans le corps des messages par exemple).
- 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