8000 O · python/python-docs-fr@7a5274e · GitHub
[go: up one dir, main page]

Skip to content

Commit 7a5274e

Browse files
committed
O
Y Merge remote-tracking branch 'upstream/3.8' into library-pty
2 parents ef9ae9c + a546ff3 commit 7a5274e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+2663
-1204
lines changed

CONTRIBUTING.rst

Lines changed: 144 additions & 83 deletions
Large diffs are not rendered by default.

Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ setup: venv
8080
fi; \
8181
git -C $(CPYTHON_PATH) worktree add $(WORKTREE)/ $(CPYTHON_CURRENT_COMMIT); \
8282
$(MAKE) -C $(WORKTREE)/Doc/ VENVDIR=$(WORKTREE)/Doc/venv/ PYTHON=$(PYTHON) venv; \
83+
$(WORKTREE)/Doc/venv/bin/python -m pip install Sphinx==2.2; \
8384
fi
8485

8586

README.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,4 +70,4 @@ l'`AFPy <https://www.afpy.org/>`_. En 2017 ce projet est devenu la
7070
traduction officielle de la documentation Python en français grâce à
7171
la `PEP 545 <https://www.python.org/dev/peps/pep-0545/>`_. `Jules Lasne
7272
<https://github.com/Seluj78>`_ à publié fin 2019 une `vidéo de
73-
l'histoire du dépôt <https://youtu.be/azXmvpEJMhU>`_.
73+
l'histoire du dépôt <https://youtu.be/azXmvpEJMhU>`_.

TRANSLATORS

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,3 +13,5 @@ Vivien Lambert
1313
Andy Kwok
1414
Aya Keddam
1515
Antoine Wecxsteen
16+
Sascha Salles
17+
Valériane Venance

dict

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
#python-fr
2-
-ième
32
-uplets
43
017f
54
212a
@@ -15,12 +14,15 @@ c++
1514
c-
1615
c/c++
1716
c99
17+
chacha20
1818
cadriciel
1919
cadriciels
2020
catucci
2121
cobjects
2222
composabilité
2323
concourance
24+
contravariante
25+
contravariantes
2426
contribués
2527
coroutine
2628
coroutines
@@ -83,6 +85,7 @@ l'indiçage
8385
l'itérateur
8486
lexicographiquement
8587
lorsqu'aucune
88+
lorsqu'aucun
8689
mar
8790
mar.
8891
marc-andré

distutils/apiref.po

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@ msgstr ""
66
"Project-Id-Version: Python 3\n"
77
"Report-Msgid-Bugs-To: \n"
88
"POT-Creation-Date: 2020-02-04 10:00+0100\n"
9-
"PO-Revision-Date: 2020-02-04 21:19+0100\n"
9+
"PO-Revision-Date: 2020-04-27 22:25+0200\n"
1010
"Last-Translator: ZepmanBC <zepman@gmail.com>\n"
1111
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
1212
"Language: fr\n"
1313
"MIME-Version: 1.0\n"
1414
"Content-Type: text/plain; charset=UTF-8\n"
1515
"Content-Transfer-Encoding: 8bit\n"
16-
"X-Generator: Poedit 2.2.4\n"
16+
"X-Generator: Poedit 2.2.3\n"
1717

1818
#: ../Doc/distutils/apiref.rst:5
1919
msgid "API Reference"
@@ -472,7 +472,7 @@ msgid ""
472472
"the full name of the extension, including any packages --- ie. *not* a "
473473
"filename or pathname, but Python dotted name"
474474
msgstr ""
475-
"Le nom complet de l'extension, incluant n'importe quel paquet --- c-à-d "
475+
"Le nom complet de l'extension, incluant n'importe quel paquet — c.-à-d. "
476476
"*pas* un nom de fichier ou de chemin mais un nom Python séparé par des "
477477
"points."
478478

faq/design.po

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@ msgstr ""
66
"Project-Id-Version: Python 3\n"
77
"Report-Msgid-Bugs-To: \n"
88
"POT-Creation-Date: 2019-10-09 17:54+0200\n"
9-
"PO-Revision-Date: 2019-12-13 14:14+0100\n"
9+
"PO-Revision-Date: 2020-04-27 22:52+0200\n"
1010
"Last-Translator: Loc Cosnier <loc.cosnier@pm.me>\n"
1111
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
1212
"Language: fr\n"
1313
"MIME-Version: 1.0\n"
1414
"Content-Type: text/plain; charset=UTF-8\n"
1515
"Content-Transfer-Encoding: 8bit\n"
16-
"X-Generator: Poedit 2.2.1\n"
16+
"X-Generator: Poedit 2.2.3\n"
1717

1818
#: ../Doc/faq/design.rst:3
1919
msgid "Design and History FAQ"
@@ -834,7 +834,7 @@ msgid ""
834834
"head structure."
835835
msgstr ""
836836
"Les listes en CPython sont de vrais tableaux de longueur variable "
837-
"contrairement à des listes orientées *Lisp* (i.e des listes chaînées). "
837+
"contrairement à des listes orientées *Lisp* (c.-à-d. des listes chaînées). "
838838
"L'implémentation utilise un tableau contigu de références à d'autres objets. "
839839
"Elle conserve également un pointeur vers ce tableau et la longueur du "
840840
"tableau dans une structure de tête de liste."

faq/library.po

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@ msgstr ""
66
"Project-Id-Version: Python 3\n"
77
"Report-Msgid-Bugs-To: \n"
88
"POT-Creation-Date: 2019-09-04 11:33+0200\n"
9-
"PO-Revision-Date: 2019-12-11 11:05+0100\n"
9+
"PO-Revision-Date: 2020-04-27 22:27+0200\n"
1010
"Last-Translator: Antoine Wecxsteen\n"
1111
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
1212
"Language: fr\n"
1313
"MIME-Version: 1.0\n"
1414
"Content-Type: text/plain; charset=UTF-8\n"
1515
"Content-Transfer-Encoding: 8bit\n"
16-
"X-Generator: Poedit 2.0.6\n"
16+
"X-Generator: Poedit 2.2.3\n"
1717

1818
#: ../Doc/faq/library.rst:5
1919
msgid "Library and Extension FAQ"
@@ -1167,7 +1167,7 @@ msgstr "``choice(S)`` sélectionne au hasard un élément d'une séquence donné
11671167
#: ../Doc/faq/library.rst:836
11681168
msgid "``shuffle(L)`` shuffles a list in-place, i.e. permutes it randomly"
11691169
msgstr ""
1170-
"``shuffle(L)`` mélange une liste en-place, c-à-d lui applique une "
1170+
"``shuffle(L)`` mélange une liste en-place, c.-à-d. lui applique une "
11711171
"permutation aléatoire"
11721172

11731173
#: ../Doc/faq/library.rst:838

faq/programming.po

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@ msgstr ""
66
"Project-Id-Version: Python 3\n"
77
"Report-Msgid-Bugs-To: \n"
88
"POT-Creation-Date: 2020-02-04 10:00+0100\n"
9-
"PO-Revision-Date: 2019-12-12 22:21+0100\n"
9+
"PO-Revision-Date: 2020-04-27 22:53+0200\n"
1010
"Last-Translator: Andy Kwok <andy.kwok.work@gmail.com>\n"
1111
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
1212
"Language: fr\n"
1313
"MIME-Version: 1.0\n"
1414
"Content-Type: text/plain; charset=UTF-8\n"
1515
"Content-Transfer-Encoding: 8bit\n"
16-
"X-Generator: Poedit 2.0.6\n"
16+
"X-Generator: Poedit 2.2.3\n"
1717

1818
#: ../Doc/faq/programming.rst:5
1919
msgid "Programming FAQ"
@@ -427,9 +427,9 @@ msgid ""
427427
msgstr ""
428428
"Ceci s'explique par le fait que ``x`` n'est pas une variable locale aux "
429429
"expressions, mais est définie dans le contexte appelant. Elle est lue à "
430-
"l'appel de l'expression lambda – et non au moment où cette expression est "
430+
"l'appel de l'expression lambda – et non au moment où cette expression est "
431431
"définie. À la fin de la boucle, ``x`` vaut ``4``, donc toutes les fonctions "
432-
"renvoient ``4*2``, i.e. ``16``. Ceci se vérifie également en changeant la "
432+
"renvoient ``4*2``, c.-à-d. ``16``. Ceci se vérifie également en changeant la "
433433
"valeur de ``x`` et en constatant que les résultats sont modifiés ::"
434434

435435
#: ../Doc/faq/programming.rst:240

howto/descriptor.po

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@ msgstr ""
66
"Project-Id-Version: Python 3\n"
77
"Report-Msgid-Bugs-To: \n"
88
"POT-Creation-Date: 2019-09-04 11:33+0200\n"
9-
"PO-Revision-Date: 2019-12-12 16:19+0100\n"
10-
"Last-Translator: Julien Palard <julien@palard.fr>\n"
9+
"PO-Revision-Date: 2020-03-28 20:32+0100\n"
10+
"Last-Translator: Mathieu Dupuy <deronnax@gmail.com>\n"
1111
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
1212
"Language: fr\n"
1313
"MIME-Version: 1.0\n"
1414
"Content-Type: text/plain; charset=UTF-8\n"
1515
"Content-Transfer-Encoding: 8bit\n"
16-
"X-Generator: Poedit 2.1.1\n"
16+
"X-Generator: Poedit 2.3\n"
1717

1818
#: ../Doc/howto/descriptor.rst:3
1919
msgid "Descriptor HowTo Guide"
@@ -233,13 +233,13 @@ msgid ""
233233
"The full C implementation can be found in :c:func:"
234234
"`PyObject_GenericGetAttr()` in :source:`Objects/object.c`."
235235
msgstr ""
236-
"Pour les objets, la machinerie est en :meth:`object.__getattribute__` qui "
236+
"Pour les objets, la machinerie est dans :meth:`object.__getattribute__` qui "
237237
"transforme ``b.x`` en ``type(b).__dict__['x'].__get__(b, type(b)]``. "
238238
"L'implémentation fonctionne à travers une chaîne de priorité qui donne la "
239239
"priorité aux descripteurs de données sur les variables d'instance, la "
240240
"priorité aux variables d'instance sur les descripteurs *non-data*, et "
241241
"attribue la priorité la plus faible à :meth:`__getattr__` si fourni. "
242-
"L'implémentation complète de C peut être trouvée dans :c:func:"
242+
"L'implémentation complète en C peut être trouvée dans :c:func:"
243243
"`PyObject_GenericGetAttr()` dans :source:`Objects/object.c`."
244244

245245
#: ../Doc/howto/descriptor.rst:99
@@ -250,7 +250,7 @@ msgid ""
250250
msgstr ""
251251
"Pour les classes, la machinerie est dans :meth:`type.__getattribute__` qui "
252252
"transforme ``B.x`` en ``B.__dict__['x'].__get__(None, B)``. En Python pur, "
253-
"il ressemble à ::"
253+
"cela ressemble à ::"
254254

255255
#: ../Doc/howto/descriptor.rst:110
256256
msgid "The important points to remember are:"
@@ -263,7 +263,7 @@ msgstr "les descripteurs sont appelés par la méthode :meth:`__getattribute__`"
263263
#: ../Doc/howto/descriptor.rst:113
264264
msgid "overriding :meth:`__getattribute__` prevents automatic descriptor calls"
265265
msgstr ""
266-
"redéfinition :meth:`__getattribute____` empêche les appels automatiques de "
266+
"redéfinir :meth:`__getattribute____` empêche les appels automatiques de "
267267
"descripteurs"
268268

269269
#: ../Doc/howto/descriptor.rst:114
@@ -287,7 +287,6 @@ msgstr ""
287287
"d'instance."
288288

289289
#: ../Doc/howto/descriptor.rst:119
290-
#, fuzzy
291290
msgid ""
292291
"The object returned by ``super()`` also has a custom :meth:"
293292
"`__getattribute__` method for invoking descriptors. The attribute lookup "
@@ -297,13 +296,13 @@ msgid ""
297296
"not in the dictionary, ``m`` reverts to a search using :meth:`object."
298297
"__getattribute__`."
299298
msgstr ""
300-
"L'objet retourné par ``super()`` a aussi une méthode personnalisée :meth:"
301-
"`__getattribute__` pour appeler les descripteurs. L'appel ``super(B, obj)."
302-
"m()`` recherche ``obj.__class__.__mro__`` pour la classe de base ``A`` "
303-
"immédiatement après ``B`` et renvoie ensuite ``A.__dict__['m'].__get__(obj, "
304-
"B)``. Si ce n'est pas un descripteur, ``m`` est retourné inchangé. Si ce "
305-
"n'est pas dans le dictionnaire, ``m`` renvoie à une recherche avec :meth:"
306-
"`object.__getattribute__`."
299+
"L'objet renvoyé par ``super()`` a également une méthode personnalisée :meth:"
300+
"`__getattribute__` pour invoquer des descripteurs. La recherche d'attribut "
301+
"``super(B, obj).m`` recherche dans ``obj.__class__.__mro__`` la classe qui "
302+
"suit immédiatement B, appelons la A, et renvoie ``A.__dict__['m']."
303+
"__get__(obj, B)``. Si ce n'est pas un descripteur, ``m`` est renvoyé "
304+
"inchangé. S'il n'est pas dans le dictionnaire, la recherche de ``m`` revient "
305+
"à une recherche utilisant :meth:`object.__getattribute__`."
307306

308307
#: ../Doc/howto/descriptor.rst:126
309308
msgid ""

howto/functional.po

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@ msgstr ""
66
"Project-Id-Version: Python 3\n"
77
"Report-Msgid-Bugs-To: \n"
88
"POT-Creation-Date: 2020-02-04 10:00+0100\n"
9-
"PO-Revision-Date: 2019-10-30 00:11+0100\n"
10-
"Last-Translator: \n"
9+
"PO-Revision-Date: 2020-04-29 00:18+0200\n"
10+
"Last-Translator: Mathieu Dupuy <deronnax@gmail.com>\n"
1111
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
1212
"Language: fr\n"
1313
"MIME-Version: 1.0\n"
1414
"Content-Type: text/plain; charset=UTF-8\n"
1515
"Content-Transfer-Encoding: 8bit\n"
16-
"X-Generator: Poedit 2.2.3\n"
16+
"X-Generator: Poedit 2.3\n"
1717

1818
#: ../Doc/howto/functional.rst:3
1919
msgid "Functional Programming HOWTO"
@@ -1855,7 +1855,9 @@ msgstr "Version 0.1 : publiée le 30 juin 2006."
18551855

18561856
#: ../Doc/howto/functional.rst:1187
18571857
msgid "Version 0.11: posted July 1 2006. Typo fixes."
1858-
msgstr "Version 0.11 : publiée le 1er juillet 2006. Correction orthographique."
1858+
msgstr ""
1859+
"Version 0.11 : publiée le 1\\ :sup:`er` juillet 2006. Correction "
1860+
"orthographique."
18591861

18601862
#: ../Doc/howto/functional.rst:1189
18611863
msgid ""
@@ -1954,19 +1956,17 @@ msgstr ""
19541956
"Utilisation des fonctions d'ordre supérieur pour le traitement de texte »."
19551957

19561958
#: ../Doc/howto/functional.rst:1230
1957-
#, fuzzy
19581959
msgid ""
19591960
"Mertz also wrote a 3-part series of articles on functional programming for "
19601961
"IBM's DeveloperWorks site; see `part 1 <https://developer.ibm.com/articles/l-"
19611962
"prog/>`__, `part 2 <https://developer.ibm.com/tutorials/l-prog2/>`__, and "
19621963
"`part 3 <https://developer.ibm.com/tutorials/l-prog3/>`__,"
19631964
msgstr ""
19641965
"Mertz a également écrit une série de 3 articles (en anglais) sur la "
1965-
"programmation fonctionnelle pour le site de IBM *DeveloperWorks*, voir la "
1966-
"`partie 1 <https://www.ibm.com/developerworks/linux/library/l-prog/index."
1967-
"html>`__, la `partie 2 <https://www.ibm.com/developerworks/linux/library/l-"
1968-
"prog2/index.html>`__ et la `partie 3 <https://www.ibm.com/developerworks/"
1969-
"linux/library/l-prog3/index.html>`__."
1966+
"programmation fonctionnelle pour le site DeveloperWorks d'IBM. Voir `partie "
1967+
"1 <https://developer.ibm.com/articles/l-prog/>`__, `partie 2 <https://"
1968+
"developer.ibm.com/tutorials/l-prog2/>`__ et `partie 3 <https://developer.ibm."
1969+
"com/tutorials/l-prog3/>`__,"
19701970

19711971
#: ../Doc/howto/functional.rst:1238
19721972
msgid "Python documentation"

howto/logging.po

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1837,7 +1837,7 @@ msgstr ""
18371837
"exceptions qui se produisent lors de la journalisation en production. Il "
18381838
"s'agit de sorte que les erreurs qui se produisent lors de la gestion des "
18391839
"événements de journalisation (telles qu'une mauvaise configuration de la "
1840-
"journalisation , une erreur réseau ou d'autres erreurs similaires) ne "
1840+
"journalisation, une erreur réseau ou d'autres erreurs similaires) ne "
18411841
"provoquent pas l'arrêt de l'application utilisant la journalisation."
18421842

18431843
#: ../Doc/howto/logging.rst:1008

howto/pyporting.po

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@ msgstr ""
66
"Project-Id-Version: Python 3\n"
77
"Report-Msgid-Bugs-To: \n"
88
"POT-Creation-Date: 2020-02-04 10:00+0100\n"
9-
"PO-Revision-Date: 2019-10-31 15:33+0100\n"
9+
"PO-Revision-Date: 2020-03-28 16:08+0100\n"
1010
"Last-Translator: Loc Cosnier <loc.cosnier@pm.me>\n"
1111
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
1212 F438
"Language: fr\n"
1313
"MIME-Version: 1.0\n"
1414
"Content-Type: text/plain; charset=UTF-8\n"
1515
"Content-Transfer-Encoding: 8bit\n"
16-
"X-Generator: Poedit 2.2.1\n"
16+
"X-Generator: Poedit 2.0.6\n"
1717

1818
#: ../Doc/howto/pyporting.rst:5
1919
msgid "Porting Python 2 Code to Python 3"
@@ -118,9 +118,9 @@ msgid ""
118118
"Use caniusepython3_ to find out which of your dependencies are blocking your "
119119
"use of Python 3 (``pip install caniusepython3``)"
120120
msgstr ""
121-
"Utiliser caniusepython3_ pour déterminer quelles sont, parmi les dépendances "
122-
"que vous utilisez, celles qui bloquent votre utilisation de Python 3 (``pip "
123-
"install caniusepython3``)"
121+
"Utiliser `caniusepython3`_ pour déterminer quelles sont, parmi les "
122+
"dépendances que vous utilisez, celles qui bloquent votre utilisation de "
123+
"Python 3 (``pip install caniusepython3``)"
124124

125125
#: ../Doc/howto/pyporting.rst:41
126126
msgid ""
@@ -290,7 +290,6 @@ msgstr ""
290290
"py_ est recommandé."
291291

292292
#: ../Doc/howto/pyporting.rst:118
293-
#, fuzzy
294293
msgid ""
295294
"Once you have your code well-tested you are ready to begin porting your code "
296295
"to Python 3! But to fully understand how your code is going to change and "
@@ -305,9 +304,10 @@ msgstr ""
305304
"changer et à quoi s'intéresser spécifiquement pendant que vous codez, vous "
306305
"aurez sûrement envie de découvrir quels sont les changements introduits par "
307306
"Python 3 par rapport à Python 2. Pour atteindre cet objectif, les deux "
308-
"meilleurs moyens sont de lire le document `\"What's New\"`_ de chaque "
309-
"version de Python 3 et le livre `Porting to Python 3`_ (gratuit en ligne). "
310-
"Il y a également une `cheat sheet`_ très pratique du projet Python-Future."
307+
"meilleurs moyens sont de lire le document :ref:`whatsnew-index` de chaque "
308+
"version de Python 3 et le livre `Porting to Python 3`_ (gratuit en ligne, en "
309+
"anglais). Il y a également une « anti-sèche » (`cheat sheet`_, ressource en "
310+
"anglais) très pratique du projet Python-Future."
311311

312312
#: ../Doc/howto/pyporting.rst:128
313313
msgid "Update your code"
@@ -744,18 +744,17 @@ msgstr ""
744744
"voici un exemple."
745745

746746
#: ../Doc/howto/pyporting.rst:305
747-
#, fuzzy
748747
msgid ""
749748
"Let's pretend that you need access to a feature of :mod:`importlib` that is "
750749
"available in Python's standard library since Python 3.3 and available for "
751750
"Python 2 through importlib2_ on PyPI. You might be tempted to write code to "
752751
"access e.g. the :mod:`importlib.abc` module by doing the following::"
753752
msgstr ""
754-
"Supposons que vous avez besoin d'accéder à une fonctionnalité de importlib_ "
755-
"qui n'est disponible dans la bibliothèque standard de Python que depuis la "
756-
"version 3.3 et est disponible pour Python 2 via le module importlib2_ sur "
757-
"PyPI. Vous pourriez être tenté d'écrire un code qui accède, par exemple, au "
758-
"module ``importlib.abc`` avec l'approche suivante ::"
753+
"Supposons que vous avez besoin d'accéder à une fonctionnalité de :mod:"
754+
"`importlib` qui est disponible dans la bibliothèque standard de Python "
755+
"depuis la version 3.3, dans celle de Python 2 via le module importlib2_ sur "
756+
"*PyPI*. Vous pourriez être tenté d'écrire un code qui accède, par exemple, "
757+
"au module :mod:`importlib.abc` avec l'approche suivante ::"
759758

760759
#: ../Doc/howto/pyporting.rst:317
761760
msgid ""
@@ -850,7 +849,7 @@ msgid ""
850849
msgstr ""
851850
"**Après** avoir rendu votre code compatible avec Python 3, vous devez "
852851
"commencer à vous intéresser au portage de vos dépendances. Le projet "
853-
"caniusepython3_ a été créé afin de vous aider à déterminer quels projets "
852+
"`caniusepython3`_ a été créé afin de vous aider à déterminer quels projets "
854853
"sont bloquants dans votre support de Python 3, directement ou indirectement. "
855854
"Il existe un outil en ligne de commande ainsi qu'une interface web : https://"
856855
"caniusepython3.com."
@@ -927,7 +926,7 @@ msgstr ""
927926
"différents renvoient simplement ``False`` mais si vous avez fait une erreur "
928927
"dans votre séparation de la gestion texte/données binaires ou votre indiçage "
929928
"des *bytes*, vous ne trouverez pas facilement le bogue. Ce drapeau lève une "
930-
"exception lorsque ce genre de comparaison apparaît, facilitant ainsi sa "
929+
"exception lorsque ce genre de comparaison apparaît, facilitant ainsi son "
931930
"identification et sa localisation."
932931

933932
#: ../Doc/howto/pyporting.rst:410

0 commit comments

Comments
 (0)
0