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.
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 https://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 https://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 https://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 <[email protected]>
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 = https://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 [email protected]
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
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.
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
- Mercurial sur le wiki de FrenchMozilla