3 more levels translated in french -- 4 levels remaining

This commit is contained in:
Alexandre Honorat 2014-08-07 14:23:31 +01:00
parent d1c285e802
commit 7d3b0b6adf
4 changed files with 245 additions and 7 deletions

View file

@ -161,7 +161,7 @@ exports.level = {
"type": "ModalAlert",
"options": {
"markdowns": [
"Ok pour finir ce niveau, atteignez l'état décrit dans la visualtion de l'objectif. Vous aurez besoin de télécharger quelques commits, de faire quelques nouvelles branches, et de fusionner ces branches dans d'autres branches, mais cela ne devrait pas utiliser trop de commandes :P"
"Ok pour finir ce niveau, atteignez l'état décrit dans la visualisation de l'objectif. Vous aurez besoin de télécharger quelques commits, de faire quelques nouvelles branches, et de fusionner ces branches dans d'autres branches, mais cela ne devrait pas utiliser trop de commandes :P"
]
}
}

View file

@ -7,14 +7,16 @@ exports.level = {
"zh_CN": "Remote Branches",
"zh_TW": "remote branch (遠端分支)",
"es_AR": "Ramas remotas",
"de_DE": "Branches auf entfernten Servern"
"de_DE": "Branches auf entfernten Servern",
"fr_FR": "Les branches distantes"
},
"hint": {
"en_US": "Pay attention to the ordering -- commit on master first!",
"zh_CN": "注意顺序 -- 先在 master 上 commit!",
"zh_TW": "注意順序的問題喔!先在 master branch 上面送 commit",
"es_AR": "Prestá atención al orden: ¡commiteá sobre master primero!",
"de_DE": "Beachte die Sortierung -- committe zuerst auf dem master!"
"de_DE": "Beachte die Sortierung -- committe zuerst auf dem master!",
"fr_FR": "Prêtez attention à l'ordre -- les commits sur master d'abord !"
},
"startDialog": {
"en_US": {
@ -78,6 +80,67 @@ exports.level = {
}
]
},
"fr_FR": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Les branches distantes de git",
"",
"Maintenant que nous avons vu `git clone` en action, plongeons dans ce qui a changé.",
"",
"La première chose que vous avez peut-être remarqué est qu'une nouvelle branche est apparue dans vôtre dépôt local appelée `o/master`. Ce type de branche est appelée une branche _distante_; les branches distantes ont des propriétés spécifiques car elles servent à un but précis.",
"",
"Les branches distantes reflètent _l'état_ des dépôts distants (depuis que nous avons parlé de ces dépôts distants). Elles vous aident à comprendre les différences entre vôtre travail et le travail public -- une étape critique à effectuer avant de partager son travail avec les autres.",
"",
"Les branches distantes ont la propriété particulière que quand vous vous rendez dessus (checkout), `HEAD` est détaché. Git fait cela car vous ne pouvez pas travailler sur ces branches directement ; vous devez travailler ailleurs et ensuite partager vôtre travail avec le dépôt distant (après quoi vos branches distantes seront mises à jour)."
]
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"### Qu'est-ce que `o/`?",
"",
"Vous vous demandez peut-être ce qu'est le préfixe `o/` devant ces branches distantes. En pratique, les branches distantes ont aussi une convention de nommage (obligatoire) -- elles sont affichées avec le format :",
"",
"* `<nom dépôt distant>/<nom de la branche>`",
"",
"Donc, si vous regardez une branche nommée `o/master`, le nom de la branche est `master` et le nom du dépôt distant est `o`.",
"",
"La plupart des développeurs nomment leur principal dépôt distant `origin`, pas `o`. C'est si commun que git configure en fait vôtre dépôt local pour être nommé `origin` quand vous faîtes un `git clone` du dépôt.",
"",
"Malheureusement le nom complet `origin` ne rentre pas dans notre interface graphique et nous utilisons donc `o` comme raccourci :( Rappelez-vous juste que quand vous utilisez le vrai git, vôtre dépôt distant est probablement nommé `origin`!",
"",
"Cela fait beaucoup d'un coup, donc voyons cela en action."
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Rendons-nous sur une branche et regardons ce qui se passe"
],
"afterMarkdowns": [
"Comme vous pouvez le voir, git nous a mis dans le mode \"detached\" `HEAD` puis n'a pas mis à jour `o/master` quand nous avons ajouté un nouveau commit. C'est parce que `o/master` va se mettre à jour uniquement quand le dépôt distant est mis à jour."
],
"command": "git checkout o/master; git commit",
"beforeCommand": "git clone"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Pour finir ce niveau, faîtes un commit en dehors de `master` puis un après s'être rendu dans `o/master`. Cela va nous aider à comprendre la différence de comportement des branches distantes, et qu'elles se mettent à jour uniquement pour refléter l'état du dépôt distant."
]
}
}
]
},
"es_AR": {
"childViews": [
{

View file

@ -7,14 +7,16 @@ exports.level = {
"zh_CN": "没有 source",
"zh_TW": "沒有 source",
"es_AR": "Origen de nada",
"de_DE": "Die Quelle des Nichts"
"de_DE": "Die Quelle des Nichts",
"fr_FR": "Source de rien du tout"
},
"hint": {
"en_US": "The branch command is disabled for this level so you'll have to use fetch!",
"zh_CN": "本节的 branch 命令被禁用了, 你只能使用 fetch! ",
"zh_TW": "在本關卡中,不允許使用 branch 指令,因此你只能使用 fetch",
"es_AR": "El comando branch está deshabilitado para este nivel, así que ¡vas a tener que usar fetch!",
"de_DE": "Der branch Befehl ist für diesen Level inaktiv, du musst also fetch benutzen"
"de_DE": "Der branch Befehl ist für diesen Level inaktiv, du musst also fetch benutzen",
"fr_FR": "La commande branch est désactivée pour ce niveau, vous devrez donc utiliser fetch !"
},
"startDialog": {
"en_US": {
@ -70,6 +72,59 @@ exports.level = {
}
]
},
"fr_FR": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"### Les bizarreries de `<source>`",
"",
"Git maltraite le paramètre `<source>` parameter de deux façons bizarres. Ces deux abus viennent du fait que vous pouvez techniquement ne \"rien spécifier commre `source` valide pour git push et git fetch. Le moyen de ne rien spécifier est un argument vide :",
"",
"* `git push origin :side`",
"* `git fetch origin :bugFix`",
"",
"Voyons ce que cela fait ..."
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Qu'est-ce que produit l'envoi de \"rien\" sur une branche distante ? Cela la détruit !"
],
"afterMarkdowns": [
"Ici, nous avons brillamment supprimé la branche `foo` du dépôt distant en lui envoyant le concept de \"rien\". Cela prend du sens ..."
],
"command": "git push origin :foo",
"beforeCommand": "git clone; git push origin master:foo"
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Enfin, un fetch de \"rien\" dans un emplacement local crée une nouvelle branche"
],
"afterMarkdowns": [
"Très étrange, mais peu importe. C'est git !"
],
"command": "git fetch origin :bar",
"beforeCommand": "git clone"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"C'est un petit niveau -- supprimez simplement une branche distante et faites-en une nouvelle (locale) avec `git fetch` pour terminer !"
]
}
}
]
},
"es_AR": {
"childViews": [
{

View file

@ -7,14 +7,16 @@ exports.level = {
"zh_CN": "Remote Tracking",
"zh_TW": "remote tracking",
"es_AR": "Trackeando remotos",
"de_DE": "Remote Tracking"
"de_DE": "Remote Tracking",
"fr_FR": "Suivi de branche distante"
},
"hint": {
"en_US": "Remember there are two ways to set remote tracking!",
"zh_CN": "记住,有两种设置 remote tracking 的方法!",
"zh_TW": " 記住喔,有兩個方式可以去設定 remote tracking",
"es_AR": "¡Acordate de que hay dos formas de trackear un remoto!",
"de_DE": "Nicht vergessen, es gibt zwei Arten Remote Tracking einzurichten!"
"de_DE": "Nicht vergessen, es gibt zwei Arten Remote Tracking einzurichten!",
"fr_FR": "Rappelez-vous qu'il existe deux façons de configurer le suivi de branche distante !"
},
"startDialog": {
"en_US": {
@ -135,6 +137,124 @@ exports.level = {
}
]
},
"fr_FR": {
"childViews": [
{
"type": "ModalAlert",
"options": {
"markdowns": [
"### Le suivi des branches distantes",
"",
"Dans les dernières leçons, git savait que la branche `master` était reliée à `o/master`, et cela a pu paraître \"magique\". Il est certain que ces deux branches ont des noms similaires et il peut être logique de croire que la branche locale `master` est liée à la branche distante `master`, mais la relation n'est prouvée que dans deux scénarios :",
"",
"* Pendant un pull, les commits sont téléchargés dans `o/master` et ensuite *fusionnés* (merge) dans la branche `master`. La cible impliquée dans cette fusion est déterminée par cette relation.",
"* Pendant un push, le travail de la branche `master` a été envoyé sur la branche distante `master` (qui est localement représentée par `o/master`). La *destination* du push est déterminée par la relation entre `master` and `o/master`.",
""
]
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"## Remote tracking",
"",
"Pour faire court, cette relation entre `master` et `o/master` est simplement expliquée par la propriété \"remote tracking\" (suivi distant) des branches. La branche `master` est configurée pour suivre `o/master` -- cela signifie qu'il y a une cible de fusion et une destination d'envoi pour la branche `master`.",
"",
"Vous vous demandez peut-être comment cette propriété a été configurée pour la branche `master` alors que vous n'avez exécuté aucune commande pour le faire. Eh bien, quand vous clonez un dépôt avec git, cette propriété est configurée automatiquement. ",
"",
"Pendant le clonage, git crée une branche distante pour chaque branche du dépôt distant (i.e. des branches comme `o/master`). Il crée ensuite une branche locale qui suit la branche actuellement active sur le dépôt distant, qui se trouve être `master` dans la plupart des cas.",
"",
"Une fois que git clone est terminé, vous avez seulement une branche locale (comme ça vous n'êtes pas submergé) mais vous pouvez voir toutes les branches distantes (si vous êtes très curieux). C'est le mieux que l'on puisse vouloir !",
"",
"Cela explique aussi pourquoi vous avez peut-être vu la sortie suivante pendant le clonage :",
"",
" local branch \"master\" set to track remote branch \"o/master\""
]
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"### Puis-je configurer cela moi-même ?",
"",
"Oui vous pouvez ! Vous pouvez suivre `o/master` depuis n'importe quelle branche, et si vous le faîtes, cette branche va avoir la même destination de push et cible de merge que pour `master`. Cela signifie que vous pouvez exéctuer `git push` sur une branche nommée `totallyNotMaster` et envoyer vôtre travail sur la branche `master` du dépôt distant!",
"",
"Il y a deux façons de configurer cette propriété. La première est de se placer (checkout) sur une nouvelle branche en utilisant une branche distante comme argument (ref). Exécutons cela",
"",
"`git checkout -b totallyNotMaster o/master`",
"",
"Crée une nouvelle branche nommée `totallyNotMaster` et la configure pour suivre `o/master`."
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Assez parlé, faisons une démonstration ! Nous allons nous placer sur une nouvelle branche nommée `foo` et la configurer pour suivre `master` du dépôt distant."
],
"afterMarkdowns": [
"Comme vous pouvez le voir, nous avons utilisé la cible de fusion de `o/master` pour mettre à jour la branche `foo`. Remarquez comme master n'a pas été mise à jour !!"
],
"command": "git checkout -b foo o/master; git pull",
"beforeCommand": "git clone; git fakeTeamwork"
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Cela s'applique aussi pour git push"
],
"afterMarkdowns": [
"Boum. Nous avons envoyé nôtre travail sur `master` du dépôt distant alors que nôtre branche avait un nom totalement différent."
],
"command": "git checkout -b foo o/master; git commit; git push",
"beforeCommand": "git clone"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"### Way #2",
"",
"Une autre façon de configurer le suivi d'une branche est d'utiliser l'option `git branch -u`. Exécuter cela :",
"",
"`git branch -u o/master foo`",
"",
"va configurer la branche `foo` pour suivre `o/master`. Si `foo` est la branche vourante, vous pouvez même ne pas le préciser:",
"",
"`git branch -u o/master`",
""
]
}
},
{
"type": "GitDemonstrationView",
"options": {
"beforeMarkdowns": [
"Voyons cette autre manière de paramètrer rapidement le suivi d'une branche distante..."
],
"afterMarkdowns": [
"Cela se passe comme avant, et c'est plus explicite. Cool !"
],
"command": "git branch -u o/master foo; git commit; git push",
"beforeCommand": "git clone; git checkout -b foo"
}
},
{
"type": "ModalAlert",
"options": {
"markdowns": [
"Ok ! Pour ce niveau, envoyons le travail dans la branche distante `master` en ne se trouvant *pas* sur la branche `master` locale. Je vous laisse imaginer comment faire :P"
]
}
}
]
},
"es_AR": {
"childViews": [
{