====== 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