Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit cf4858b

Browse files
awecxSeluj78
andauthored
CONTRIBUTING-CORE.rst (#1482)
* Section maintenance dans un guide séparé + suppression infos sur Transifex. * Modifs mineures. * Ajout titre à CONTRIBUTIN-CORE. Co-authored-by: Jules Lasne <[email protected]>
1 parent 2c6f901 commit cf4858b

File tree

2 files changed

+104
-142
lines changed

2 files changed

+104
-142
lines changed

CONTRIBUTING-CORE.rst

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
Maintenance
2+
-----------
3+
4+
Les commandes suivantes doivent être exécutées à partir de la racine d'un clone
5+
de ``python-docs-fr`` et certaines s'attendent à trouver un clone de CPython
6+
à jour à proximité :
7+
8+
.. code-block:: bash
9+
10+
~/
11+
├── python-docs-fr/
12+
└── cpython/
13+
14+
15+
Pour cloner CPython, vous pouvez utiliser :
16+
17+
.. code-block:: bash
18+
19+
git clone --depth 1 --no-single-branch https://github.com/python/cpython.git
20+
21+
22+
Ceci évite de télécharger tout l'historique (inutile pour générer la
23+
documentation) mais récupère néanmoins toutes les branches.
24+
25+
.. code-block:: bash
26+
27+
make merge
28+
29+
Dans certains cas on a besoin de propager des traductions d'une branche
30+
à l'autre :
31+
32+
- d'une ancienne branche vers une nouvelle branche : lors du passage
33+
d'une version à l'autre de CPython, lorsque quelqu'un a une PR sur une
34+
ancienne version (*forward porting*) ;
35+
- d'une nouvelle branche vers des anciennes branches : pour propager
36+
de temps en temps le travail sur d'anciennes versions (rétroportage
37+
ou *backporting*).
38+
39+
Pour forward-porter un ou plusieurs commits, il vaut mieux utiliser ``git
40+
cherry-pick -x LE_SHA``, ça garde l'auteur, le sha1 d'origine, et
41+
toutes les modifications.
42+
43+
Pour rétroporter « en gros » on utilise ``pomerge``\ : on le fait lire
44+
sur une branche, puis écrire sur une autre, par exemple pour copier de
45+
la 3.8 à la 3.7 :
46+
47+
.. code-block:: bash
48+
49+
git fetch
50+
git checkout 3.8
51+
git reset --hard upstream/3.8
52+
pomerge --from-files *.po */*.po
53+
git checkout --branch back-porting upstream/3.7
54+
pomerge --no-overwrite --to-files *.po */*.po
55+
powrap --modified
56+
git add --patch
57+
git commit --message="Backporting from 3.8"
58+
git push --set-upstream origin HEAD
59+
60+
61+
Notes :
62+
63+
- j'utilise ``git fetch`` au début pour avoir *upstream/3.7* et
64+
*upstream/3.8* à jour localement, ainsi je peux travailler sans
65+
toucher au réseau jusqu'au ``git push``, mais chacun fait comme il
66+
veut ;
67+
- j'utilise ``*.po */*.po`` et pas ``**/*.po``, car si vous avez un
68+
*venv* dans l'arborescence il va vous trouver des traductions de Sphinx
69+
et peut-être d'autres paquets dans ``.venv/lib/python*/`` (et mettre
70+
beaucoup plus de temps) ;
71+
- j'utilise ``pomerge --no-overwrite``, ça indique à ``pomerge`` de
72+
n'écrire que si le ``msgstr`` est vide, donc de ne pas modifier
73+
l'existant, ainsi il est impossible de casser quelque chose.
74+
On peut le tenter sans ``--no-overwrite``, attention, ça fait
75+
des bêtises, ça nécessite une relecture attentive :
76+
certaines traductions, comme *example:* sont en parfois traduites en
77+
français avec une majuscule, et parfois non, en
78+
fonction du contexte, ``pomerge`` uniformiserait ça, ce n'est pas bien ;
79+
- attention, si vous testez sans ``--no-overwrite``, il est peut-être
80+
bon de vider la mémoire de ``pomerge`` avant la lecture, pour éviter
81+
de lui faire écrire des choses lues lors des sessions précédentes,
82+
via un ``rm -f ~/.pomerge.json``\ ;
83+
- j'utilise ``git add --patch`` (ou ``-p``) car j'aime bien relire quand même,
84+
en général, je n'ajoute pas les différences d'ordre dans les entêtes,
85+
mais un ``git add --update`` irait très bien ;
86+
- attention au fichier *dict* auquel il peut manquer des lignes.
87+

CONTRIBUTING.rst

Lines changed: 17 additions & 142 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ où vous avez le droit de faire des modifications.
3030
# Clonez votre fork Github avec `git` en utilisant ssh
3131
git clone [email protected]:VOTRE_NOM_DE_COMPTE_GITHUB/python-docs-fr.git
3232
33-
# ou bien via HTTPS
33+
# ou bien avec HTTPS
3434
git clone https://github.com/VOTRE_NOM_DE_COMPTE_GITHUB/python-docs-fr.git
3535
3636
# Allez dans le répertoire cloné
@@ -187,10 +187,10 @@ branche est liée à votre *fork* Github (et donc que vos futurs ``git pull`` et
187187
188188
189189
190-
La commande précédente vous affiche un lien pour ouvrir une pull request sur
190+
La commande précédente vous affiche un lien pour ouvrir une *pull request* sur
191191
Github. Si vous l'avez manqué, allez simplement sur https://github.com/python/python-docs-fr/pulls
192192
et un joli bouton « Compare & pull request » devrait apparaître au bout de
193-
quelques secondes vous indiquant que vous pouvez demander une pull request.
193+
quelques secondes vous indiquant que vous pouvez demander une *pull request*.
194194

195195
Mettez dans le commentaire de la *pull request* le texte suivant :
196196
« Closes #XXXX » où XXXX est le numéro du ticket GitHub créé pour réserver le fichier traduit.
@@ -367,7 +367,7 @@ Ne traduisez pas le contenu des balises comme ``:ref:...`` ou ``:class:...``.
367367
Vous devez cependant traduire les balises ``:term:...``, qui font référence à
368368
un concept ou une primitive défini dans le `glossaire Python <https://docs.python.org/fr/3/glossary.html>`_.
369369
La syntaxe est ``:term:nom_français<nom_anglais>``. Par exemple, traduisez
370-
``:term:`dictionary``` en ``:term:`dictionnaire <dictionary>```.
370+
``:term:`dictionary``` en ``:term:`dictionnaire <dictionary>```.
371371

372372
Comme le glossaire est déjà traduit, il y a forcément une correspondance à chaque
373373
terme que vous pouvez rencontrer.
@@ -379,7 +379,7 @@ Glossaire
379379
Afin d'assurer la cohérence de la traduction, voici quelques
380380
termes fréquents déjà traduits. Une liste blanche de noms propres, comme « Guido »,
381381
« C99 » ou de certains anglicismes comme « sérialisable » ou « implémentation»,
382-
est stockée dans le fichier « dict » à la racine du projet. Vous pouvez
382+
est stockée dans le fichier *dict* à la racine du projet. Vous pouvez
383383
y ajouter une entrée si cela est nécessaire.
384384
Si vous devez *absolument* utiliser un mot anglais, mettez-le en italique
385385
(entouré par des astérisques).
@@ -476,7 +476,7 @@ Ressources de traduction
476476
- les listes de diffusion relatives à la documentation (courriel) :
477477

478478
- `de l'AFPy <http://lists.afpy.org/mailman/listinfo/traductions>`_,
479-
- `de cpython <https://mail.python.org/mailman/listinfo/doc-sig>`_ ;
479+
- `de CPython <https://mail.python.org/mailman/listinfo/doc-sig>`_ ;
480480
- des glossaires et dictionnaires :
481481

482482
- le `glossaire de la documentation Python <https://docs.python.org/fr/3/glossary.html>`_, car il est déjà traduit,
@@ -489,8 +489,8 @@ Ressources de traduction
489489
résumé succinct de typographie, utile pour apprendre le bon usage des
490490
majuscules, des espaces, etc.
491491

492-
L'utilisation de traducteurs automatiques comme `DeepL https://www.deepl.com/` ou semi-automatiques comme
493-
`reverso https://context.reverso.net/traduction/anglais-francais/` est proscrite.
492+
L'utilisation de traducteurs automatiques comme `DeepL <https://www.deepl.com/>`_ ou semi-automatiques comme
493+
`reverso <https://context.reverso.net/traduction/anglais-francais/>`_ est proscrite.
494494
Les traductions générées sont très souvent à retravailler, ils ignorent les règles énoncées sur cette
495495
page et génèrent une documentation au style très « lourd ».
496496

@@ -528,13 +528,13 @@ Comment définir la touche de composition ?
528528

529529
Cela dépend de votre système d'exploitation et de votre clavier.
530530

531-
=> Sous Linux, Unix et \*BSD (tel OpenBSD), vous pouvez la configurer à l'aide de
532-
l'outil graphique de configuration de votre clavier ou via
531+
Sous Linux, Unix et \*BSD (tel OpenBSD), vous pouvez la configurer à l'aide de
532+
l'outil graphique de configuration de votre clavier ou avec
533533
``dpkg-reconfigure keyboard-configuration``
534534
(pour `Ubuntu <https://help.ubuntu.com/community/ComposeKey>`_ ou Debian
535535
et distributions assimilées).
536536

537-
À minima, vous pouvez configurer votre fichier '~/.Xmodmap' pour
537+
À tout le moins, vous pouvez configurer votre fichier *~/.Xmodmap* pour
538538
ajouter l'équivalent de :
539539

540540
.. code-block:: shell
@@ -546,19 +546,19 @@ ajouter l'équivalent de :
546546
Utilisez ``xev`` pour connaitre la bonne correspondance de la touche que vous
547547
voulez assigner !
548548

549-
Ensuite, dans votre fichier '~/.xsession', ajoutez :
549+
Ensuite, dans votre fichier *~/.xsession*, ajoutez :
550550

551551
.. code-block:: shell
552552
553553
# Gestion des touches clavier
554554
xmodmap $HOME/.Xmodmap
555555
556556
557-
Sous X, avec un bureau graphique, tel que Gnome, ou Xfce, il faut aller
557+
Sous X, avec un bureau graphique, tel que Gnome, ou Xfce, il faut aller
558558
modifier dans les « Paramètres » → « Clavier » → « Disposition » →
559559
« Touche composée ». Pour finir, redémarrez votre session.
560560

561-
=> Sous Windows, vous
561+
Sous Windows, vous
562562
pouvez utiliser `wincompose <https://github.com/SamHocevar/wincompose>`_.
563563

564564
Le cas de « --- », « -- », « ... »
@@ -573,7 +573,7 @@ Les *smartquotes* sont normalement responsables de la transformation de
573573
``--`` en *en-dash* (````), de ``---`` en *em-dash* (````), et de
574574
``...`` en *ellipses* ````.
575575

576-
=> Si vous voyez :
576+
Si vous voyez :
577577
| « -- » ou « --- » : faites :kbd:`Compose - - -`
578578
| « ... » : faites :kbd:`Compose . . .`
579579
@@ -585,7 +585,7 @@ guillemets anglais ``"``. Cependant, Python utilise les guillemets
585585
anglais comme délimiteurs de chaîne de caractères. Il convient donc de
586586
traduire les guillemets mais pas les délimiteurs de chaîne.
587587

588-
=> Si vous voyez :
588+
Si vous voyez :
589589
| « "…" » : faites :kbd:`Compose < <` ou :kbd:`Compose > >`
590590
591591
Le cas de « :: »
@@ -599,7 +599,7 @@ Le cas de « :: »
599599
En français, nous mettons une espace insécable devant nos deux-points, comme :
600600
« Et voilà : ».
601601

602-
=> Traduisez ``mot deux-points deux-points`` par
602+
Traduisez ``mot deux-points deux-points`` par
603603
``mot espace-insécable deux-points deux-points``.
604604

605605
Pour saisir une espace insécable faites :kbd:`Compose SPACE SPACE`
@@ -710,128 +710,3 @@ ce qui suit après vous être assuré que ``~/.local/bin/`` se trouve dans votre
710710
Pas d'inquiétude, cela ne change la façon dont Git affiche les changements que sur
711711
les fichiers de la traduction, sans incidence sur les autres.
712712
713-
714-
Maintenance
715-
-----------
716-
717-
Toutes ces commandes doivent être exécutées à partir de la racine d'un clone
718-
de ``python-docs-fr`` et certaines s'attendent à trouver un clone de CPython
719-
à jour à proximité, comme :
720-
721-
.. code-block:: bash
722-
723-
~/
724-
├── python-docs-fr/
725-
└── cpython/
726-
727-
728-
Pour cloner CPython, vous pouvez utiliser :
729-
730-
.. code-block:: bash
731-
732-
git clone --depth 1 --no-single-branch https://github.com/python/cpython.git
733-
734-
735-
Ceci évite de télécharger tout l'historique (inutile pour générer la
736-
documentation) mais récupère néanmoins toutes les branches.
737-
738-
739-
Fusion des fichiers *pot* de CPython
740-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
741-
742-
.. code-block:: bash
743-
744-
make merge
745-
746-
747-
Copier des traductions d'une branche à l'autre
748-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
749-
750-
Dans certains cas on a besoin de bouger des traductions d'une branche
751-
à l'autre :
752-
753-
- d'une ancienne branche vers une nouvelle branche : lors du passage
754-
d'une version à l'autre de cpython, quelqu'un a une PR sur une
755-
ancienne release (*forward porting*) ;
756-
- d'une nouvelle branche vers des anciennes branches : pour propager
757-
de temps en temps le travail sur d'anciennes releases (*back porting*).
758-
759-
Pour forward-porter un ou plusieurs commits, il vaut mieux utiliser ``git
760-
cherry-pick -x LE_SHA``, ça garde l'auteur, le sha1 d'origine, et
761-
toutes les modifications.
762-
763-
Pour backporter « en gros » on utilise ``pomerge``\  : on le fait lire
764-
sur une branche, puis écrire sur une autre, par exemple pour copier de
765-
la 3.8 à la 3.7 :
766-
767-
.. code-block:: bash
768-
769-
git fetch
770-
git checkout 3.8
771-
git reset --hard upstream/3.8
772-
pomerge --from-files *.po */*.po
773-
git checkout --branch back-porting upstream/3.7
774-
pomerge --no-overwrite --to-files *.po */*.po
775-
powrap --modified
776-
git add --patch
777-
git commit --message="Backporting from 3.8"
778-
git push --set-upstream origin HEAD
779-
780-
781-
Notes :
782-
783-
- j'utilise ``git fetch`` au début pour avoir upstream/3.7 et
784-
upstream/3.8 à jour localement, ainsi je peux travailler sans
785-
toucher au réseau jusqu'au ``git push``, mais chacun fait comme il
786-
veut ;
787-
- j'utilise ``*.po */*.po`` et pas ``**/*.po``, car si vous avez un
788-
venv dans l'arborescence il va vous trouver des traductions de Sphinx et peut-être
789-
d'autres paquets dans ``.venv/lib/python*/`` (et mettre beaucoup
790-
plus longtemps) ;
791-
- j'utilise ``pomerge --no-overwrite``, ça indique à ``pomerge`` de
792-
n'écrire que si le ``msgstr`` est vide, donc de ne pas modifier
793-
l'existant, ainsi il est impossible de casser quelque chose.
794-
On peut le tenter sans ``--no-overwrite``, attention, ça fait
795-
des bêtises, ça nécessite une relecture attentive :
796-
certaines traductions, comme *example:* sont en
797-
français parfois traduite avec une majuscule, et parfois non, en
798-
fonction du contexte, ``pomerge`` uniformiserait ça, ce n'est pas bien ;
799-
- attention, si vous testez sans ``--no-overwrite``, il est peut être
800-
bon de vider la mémoire de ``pomerge`` avant la lecture, pour éviter
801-
de lui faire écrire des choses lues lors des sessions précédentes,
802-
via un ``rm -f ~/.pomerge.json``\  ;
803-
- j'utilise ``git add --patch`` (ou ``-p``) car j'aime bien relire quand même,
804-
typiquement je n'ajoute pas les différences d'ordre dans les entêtes,
805-
mais un ``git add --update`` irait très bien ;
806-
- attention au fichier *dict* à qui il peut manquer des lignes.
807-
808-
809-
Synchronisation de la traduction avec Transifex
810-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
811-
812-
Vous aurez besoin de ``transifex-client`` et ``powrap``,
813-
depuis PyPI.
814-
815-
Vous devrez configurer ``tx`` via ``tx init`` si ce n'est déjà fait.
816-
817-
Propagez d'abord les traductions connues localement :
818-
819-
.. code-block:: bash
820-
821-
pomerge --no-overwrite --from-files **/*.po --to-files **/*.po
822-
powrap --modified
823-
git commit --message "Propagating known translations."
824-
825-
826-
Ensuite récupérez les changements depuis Transifex :
827-
828-
.. code-block:: bash
829-
830-
tx pull -f --parallel
831-
pomerge --from-files **/*.po
832-
git checkout -- .
833-
pomerge --no-overwrite --mark-as-fuzzy --to-files **/*.po
834-
powrap --modified
835-
git add -p
836-
git commit -m "tx pull"
837-
tx push -t -f --no-interactive --parallel

0 commit comments

Comments
 (0)