Wiki

Clone wiki

mercurial-l10n-fr / Home

French translation of Mercurial / Traduction de Mercurial en français

Note: the rest of this page is in French, as you will notice soon enough. ;)

Organisation

Liste de discussions

Toutes les discussions à propos de la traduction ont lieu sur la liste hgfr.

Pour s'inscrire, envoyer un mail à hgfr-subscribe@flibuste.net.

Les archives de la liste sont disponibles sur http://www.mail-archive.com/hgfr@flibuste.net/

Dépôts

Ce dépôt est un clône des sources de Mercurial, réguliérement synchronisé avec mercurial-i18n, le dépôt où les traductions sont intégrées avant de rejoindre le dépôt principal.

Dans un premier temps, le travail est réalisé avec une pile de patchs au dessus de ce dépôt, sur des ensembles distincts (par ex. traduction de différentes extensions), afin de publier des modifications relativement propres et logiques. Ces patchs sont progressivement complétés et améliorés, pour être finalement intégrés.

C'est l'approche utilisée avant Mercurial 1.3 (et qui est décrite plus bas), mais ce n'est pas forcément la seule envisageable (et elle pourra évoluer à mesure que la traduction s'étoffera, ou avec le nombre de contributeurs). L'important étant une bonne synchronisation entre les traducteurs, et pour cela l'utilisation de la liste de diffusion hgfr est importante.

Depuis Mercurial 1.3, une partie de cette traduction est utilisable.

Utilisation, contribution

Tester la traduction

Tout d'abord clôner simultanément le dépôt principal et la pile de patchs, puis empiler les patchs au dessus du répertoire de travail ; ensuite, il suffit de compiler et de générer les traductions :

$ hg qclone http://bitbucket.org/cedric/mercurial-l10n-fr-queue/
$ cd mercurial-l10n-fr-queue
$ hg qpush -a
$ make update-pot
$ make local
$ ./hg help email
  • cet exemple montre l'aide de la commande email, ce qui suppose que l'extension patchbomb ait été préalablement activée dans le fichier de config hgrc
  • les locales doivent avoir été correctement définies, par exemple LANG=fr_FR.utf-8

Fichiers

Deux fichiers sont intéressants pour nous : i18n/hg.pot et i18n/fr.po.

Le premier contient la collection de chaînes à traduire. Il est mis à jour à partir des sources de Mercurial en effectuant :

$ make update-pot

Le second fichier contient la traduction en français. Il est possible de le mettre à jour pour intégrer de nouvelles chaînes du hg.pot en faisant :

$ msgmerge --no-location --update i18n/fr.po i18n/hg.pot

Pour tester de nouvelles traductions, par exemple l'aide de mq, il faut d'abord régénérer le fichier binaire fr.mo correspondant :

$ python setup.py build_mo
$ ./hg help mq

Traduire

Pour traduire un morceau, il est préférable d'annoncer son intention sur la liste de diffusion, avant de se retrousser les manches. Ensuite, il suffit de créer un nouveau patch. Par exemple pour traduire l'extension convert :

$ hg qnew -m "i18n-fr: translation of the convert extension" convert
[... modifications de i18n/fr.po ...]
$ hg qrefresh --currentuser
$ hg export qtip

Note : il serait intéressant de s'occuper également de la traduction des pages de manuel, hg(1) et hgrc(5).

Relire

Pour les relectures, idem, préférablement sur la liste de diffusion.

Terminologie

En tête du fichier i18n/fr.po se trouve une liste de termes courants dans le contexte de Mercurial. Cette liste est encore loin d'être complète, parfaite ou figée, toute tentative pour l'améliorer est donc la bienvenue.

Divers

Prérequis

Il est nécessaire d'avoir installé gettext, un compilateur C, un éditeur pour les fichiers po, et mercurial évidemment.

Il faut aussi activer l'extension mq pour travailler avec la pile de patchs. Et avoir configuré un nom d'utilisateur. Dans ~/.hgrc :

[ui]
username = Prénom Nom <addresse@quelquepart>

[extensions]
hgext.mq =

Continuité

Si par un beau jour je disparais ou cesse d'être (ré)actif, n'hésitez pas à reprendre le flambeau, un petit clône et c'est reparti ! Mais bien entendu, pas besoin d'attendre ce moment pour commencer à contribuer. Les systèmes distribués comme Mercurial rendent tout ça très simple. :)

Voir également

Updated