Localisation avec Mercurial

La localisation de Firefox 3.1, SeaMonkey 2.0 et Thunderbird 3 implique l'utilisation de Mercurial. Cette documentation n'est pas complète, si vous avez des questions, rendez-vous sur #l10n ou #hg sur irc.mozilla.org (ou #frenchmoz en français), ou demandez directement dans la page de discussion de cet article.

Divers documents sont disponibles sur MDC concernant l'utilisation de Mercurial, ceux-ci sont associés à la balise « Mercurial ». En particulier, la FAQ sur Mercurial mérite qu'on s'y attarde. Pour ceux qui sont pressés, voici quelques commandes pour se procurer les fichiers en-US, un référentiel de locale et un fichier .mozconfig qui devraient vous permettre de créer des packs de langue et des compilations complètes.

Outils

Différents outils peuvent s'interfacer avec Mercurial. À commencer bien sûr par le client en ligne de commande, mais pour ceux qui préfèrent les outils graphiques il y a TortoiseHg pour Windows, ou encore Mercurial Eclipse pour les fans de cet environnement multiplateforme.

Référentiels

Les fichiers en-US sont répartis sur deux référentiels :

  • mozilla-central contient les fichiers pour Firefox.
  • comm-central contient les fichiers pour SeaMonkey et Thunderbird qui ne font pas déjà partie de Firefox.

Note : Lorsque vous récupérez le référentiel comm-central, il contiendra également mozilla-central. Il est donc possible d'utiliser une seule installation pour le développement de Firefox, SeaMonkey et Thunderbird sans pour autant devoir récupérer mozilla-central une seconde fois.

Récupération initiale de en-US

Il devrait bientôt être possible de faire des récupérations partielles, mais pour l'instant il est nécessaire de prendre tout mozilla-central ou comm-central. Si vous ne travaillez que sur Firefox, utilisez :

hg clone http://hg.mozilla.org/mozilla-central/

Cette commande créera un clone du référentiel mozilla-central dans le répertoire mozilla-central.

Firefox, SeaMonkey ou Thunderbird

Si vous travaillez indiféremment sur Firefox, SeaMonkey et Thunderbird, utilisez :

hg clone http://hg.mozilla.org/comm-central/
cd comm-central
python client.py checkout

La première commande créera un clone du référentiel comm-central dans le répertoire comm-central. La seconde commande vous amènera dans ce répertoire.

La troisième commande fera un clone de mozilla-central, et récupèrera quelques répertoires par CVS. Ceux-ci sont nécessaires pour SeaMonkey et Thunderbird, certains étant constitués de vieux code que SeaMonkey et Thunderbird n'utiliseront bientôt plus, et d'autres sont des extensions qui n'ont pas encore migré vers Mercurial.

Mise à jour de en-US

Pour mettre à jour votre copie de travail de mozilla-central, placez-vous dans votre répertoire mozilla-central et utilisez :

hg pull -u

Cela permettra à la fois d'obtenir les nouvelles modifications de mozilla-central et d'appliquer ces changements dans votre copie de travail.

Pour mettre à jour votre copie de travail de comm-central, placez-vous dans votre répertoire comm-central et utilisez :

python client.py checkout

Ceci permettra à la fois d'obtenir les modifications de comm-central, mozilla-central et des autres emplacements appropriés et d'appliquer ces changements dans votre copie de travail.

Récupération de votre locale

Toutes les locales sont visibles dans la référence croisée mxr, . Cependant, les référentiels sont séparés, vous en obtiendrez une liste sur . Pour faire un clone de votre localisation, utilisez (dans ce cas, « fr » est le code de locale, remplacez-le si nécessaire)

hg clone http://hg.mozilla.org/l10n-central/fr/

ou mettez à jour avec :

hg pull -u

Envoi de vos modifications à Mozilla

Avant de soumettre toute modification, ajoutez ces lignes à votre fichier ~/.hgrc :

[ui]
username = Votre nom <votre.email@example.com>

Avec Mercurial, vous travaillez dans votre propre référentiel. Avant de soumettre votre travail, vous devez vous assurer qu'aucune modification n'a été faite dans le référentiel central distant. Pour ce faire, faites un « pull » de votre locale comme détaillé ci-dessus.

Lorsque vous avez terminé une modification ou un ensemble de modifications et que vous avez vérifié les modifications du référentiel distant, vous pouvez faire un « commit » :

hg commit -m "message identifiant la modification (bug 555)"

Contrairement à CVS, ceci n'enverra pas encore vos modifications au référentiel de Mozilla. Vous devez encore faire un « push » sur ces modifications. Pour les envoyer à l10n-central et d'autres répertoires hébergés chez Mozilla, vous devez avoir un accès en écriture et vous devez modifier le fichier (votre-racine-hg-locale)/.hg/hgrc (note, ce n'est PAS votre fichier ~/.hgrc) pour ajouter cette ligne (en remplaçant ab-CD par votre code de locale) :

[paths]
default = http://hg.mozilla.org/l10n-central/ab-CD
default-push = ssh://hg.mozilla.org/l10n-central/ab-CD

Vous devrez encore indiquer à ssh le compte à utiliser pour vos envois, en ajoutant ces lignes à ~/.ssh/config :

Host hg.mozilla.org
User user@host.domain

user@domain est votre compte chez Mozilla, avec un vrai « @ » au lieu du « % » utilisé pour CVS. Vous pouvez enfin faire un push de vos modifications vers le référentiel central (et vérifier le résultat sur le dashboard) :

hg push

Un fichier .mozconfig

Firefox via mozilla-central

Si vous avez suivi les étapes présentées ci-dessus pour obtenir juste mozilla-central, votre structure de répertoires devrait ressembler à ceci :

mozilla-central
+ browser
fr
+ browser

et un fichier .mozconfig ressemblerait à :

mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../fx-fr
ac_add_options --with-l10n-base=..
ac_add_options --disable-compile-environment
ac_add_options --enable-application=browser

Firefox via comm-central

Si vous avez suivi les étapes présentées ci-dessus pour obtenir comm-central, votre structure de répertoires devrait ressembler à ceci :

comm-central
+ mozilla
  + browser
fr
+ browser

et un fichier .mozconfig ressemblerait à :

mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../../fx-fr
ac_add_options --with-l10n-base=..
ac_add_options --disable-compile-environment
ac_add_options --enable-application=browser

Note : La commande make -f client.mk configure doit être exécutée depuis le répertoire comm-central/mozilla.

La ligne --with-l10n-base est correcte avec uniquement « .. ». C'est dû à la manière dont l'environnement fonctionne au sein de comm-central.

Thunderbird et SeaMonkey

Si vous avez suivi les étapes présentées ci-dessus pour obtenir comm-central, votre structure de répertoires devrait ressembler à ceci :

comm-central
+ mail
+ suite
fr
+ mail
+ suite

et un fichier .mozconfig pour Thunderbird ressemblerait à :

mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../tb-fr
ac_add_options --with-l10n-base=..
ac_add_options --disable-compile-environment
ac_add_options --enable-application=mail

Remplacez tb-fr par sm-fr et mail par suite pour un fichier .mozconfig de SeaMonkey.

Exécutez la commande make -f client.mk configure depuis le répertoire comm-central.

Compare-locales

Compare-locales fonctionne comme précédemment, pour Firefox :

compare-locales mozilla-central/browser/locales/l10n.ini . fr

ou pour Thunderbird :

compare-locales comm-central/mail/locales/l10n.ini . fr

Remplacez mail par suite si vous voulez vérifier SeaMonkey.

Note : Cette commande peut ne pas fonctionner correctement pour Thunderbird et SeaMonkey, c'est en cours de correction.

Compilation de packs de langue, etc.

Un tout petit changement ici, il est nécessaire d'ajouter --with-l10n-base comme paramètre à la commande configure, pointant vers le répertoire de base de votre référentiel l10n. Sinon, suivez simplement Création d'un pack de langue, en modifiant juste les chemins si nécessaire.

Voir également

Étiquettes et contributeurs liés au document

Étiquettes : 
Dernière mise à jour par : BenoitL,