1
0
Fork 0

fix colons. (#122)

Reviewed-on: AFPy/python-docs-fr#122
Reviewed-by: Christophe Nanteuil <christophenan@noreply.localhost>
This commit is contained in:
Julien Palard 2023-04-08 12:37:28 +00:00
parent 2fd8387137
commit c584ff6fbb
69 changed files with 327 additions and 289 deletions

36
.scripts/check-colon.py Normal file
View File

@ -0,0 +1,36 @@
import sys
import pathlib
from itertools import chain
import polib
def check(file):
check = '--check' in sys.argv
pofile = polib.pofile(file)
has_errors = False
for entry in pofile:
if not entry.msgstr:
continue
if entry.msgid.endswith(" ::"):
fixed = entry.msgstr.rstrip(": \u202f\u00A0") + " ::"
if check and entry.msgstr != fixed:
print(f"{file}:{entry.linenum}: Expected translation to end with: ' ::'")
has_errors = True
entry.msgstr = fixed
elif entry.msgid.endswith("::"):
fixed = entry.msgstr.rstrip(": ,. \u202f\u00A0") + "\u00A0::"
if check and entry.msgstr != fixed:
print(rf"{file}:{entry.linenum}: Expected translation to end with: '\u00A0::'")
has_errors = True
entry.msgstr = fixed
if not check:
pofile.save()
return has_errors
has_errors = False
for file in chain(pathlib.Path(".").glob("*.po"), pathlib.Path(".").glob("*/*.po")):
has_errors |= check(file)
sys.exit(has_errors)

View File

@ -128,7 +128,7 @@ msgid ""
msgstr ""
"Si tout ce que vous voulez est de distribuer un module appelé :mod:`foo`, "
"contenu dans un fichier :file:`foo.py`, alors votre script d'installation "
"peut se résumer à :"
"peut se résumer à ::"
#: distutils/introduction.rst:67
msgid "Some observations:"
@ -178,7 +178,7 @@ msgid ""
msgstr ""
"Pour créer une distribution source pour ce module, il faut créer un script "
"d'installation, :file:`setup.py`, contenant le code ci-dessus, et exécuter "
"cette commande depuis un terminal :"
"cette commande depuis un terminal ::"
#: distutils/introduction.rst:89
msgid ""
@ -186,7 +186,7 @@ msgid ""
"Accessories`) and change the command to::"
msgstr ""
"Pour Windows, ouvrez une invite de commande (:menuselection:`Démarrer --> "
"Accessoires`) et changez la commande en :"
"Accessoires`) et changez la commande en ::"
#: distutils/introduction.rst:94
msgid ""
@ -210,7 +210,7 @@ msgstr ""
"Si un utilisateur final souhaite installer votre module :mod:`foo`, tout ce "
"qu'il aura à faire est de télécharger le fichier :file:`foo-1.0.tar.gz` (ou :"
"file:`.zip`), le décompresser et ---depuis le répertoire :file:`foo-1.0`--- "
"exécuter :"
"exécuter ::"
#: distutils/introduction.rst:105
msgid ""
@ -248,7 +248,7 @@ msgstr ""
"la commande :command:`bdist_rpm`, Solaris :program:`pkgtool` (:command:"
"`bdist_pkgtool`), et HP-UX :program:`swinstall` (:command:`bdist_sdux`). Par "
"exemple, la commande suivante va créer un fichier RPM appelé :file:`foo-1.0."
"noarch.rpm`::"
"noarch.rpm` ::"
#: distutils/introduction.rst:123
msgid ""
@ -266,7 +266,7 @@ msgid ""
"running ::"
msgstr ""
"Vous pouvez trouver quelles sont les formats de distribution disponibles à "
"n'importe quel moment en exécutant :"
"n'importe quel moment en exécutant ::"
#: distutils/introduction.rst:136
msgid "General Python terminology"
@ -453,7 +453,7 @@ msgstr ""
#~ "voulez rendre les choses faciles pour les autres utilisateurs Windows, "
#~ "vous pouvez créer un installateur exécutable (le mode de distribution le "
#~ "plus approprié pour cette plateforme) avec la commande :command:"
#~ "`bdist_wininst`. Par exemple :"
#~ "`bdist_wininst`. Par exemple ::"
#~ msgid ""
#~ "will create an executable installer, :file:`foo-1.0.win32.exe`, in the "

View File

@ -67,7 +67,7 @@ msgstr ""
"entière de telle sorte que les utilisateurs de Python 1.5.2 puissent les "
"utiliser pour installer d'autres modules. Le propre script ``setup.py`` des "
"*Distutils* montré ici est utilisé pour installer le paquet dans Python "
"1.5.2). ::"
"1.5.2). ::"
#: distutils/setupscript.rst:37
msgid ""
@ -170,7 +170,7 @@ msgstr ""
"sous :file:`lib`, de telle sorte que les modules dans le « paquet "
"racine » (c'est-à-dire dans aucun paquet du tout) sont dans :file:`lib`, les "
"modules dans le paquet :mod:`foo` sont dans :file:`lib/foo`, et ainsi de "
"suite. Alors, vous pouvez mettre ::"
"suite. Alors, vous pouvez mettre ::"
#: distutils/setupscript.rst:88
msgid ""
@ -194,7 +194,7 @@ msgid ""
msgstr ""
"Une autre convention possible est de mettre le paquet :mod:`foo` directement "
"dans :file:`lib`, le paquet :mod:`foo.bar` dans :file:`lib/bar`, etc. Cela "
"s'écrirait ainsi dans le script ``setup.py`` : ::"
"s'écrirait ainsi dans le script ``setup.py`` ::"
#: distutils/setupscript.rst:99
msgid ""
@ -314,11 +314,11 @@ msgid ""
"example, ::"
msgstr ""
"Le premier argument du constructeur :class:`~distutils.core.Extension` est "
"toujours le nom de l'extension, incluant tout nom de paquet. Par exemple ::"
"toujours le nom de l'extension, incluant tout nom de paquet. Par exemple ::"
#: distutils/setupscript.rst:176
msgid "describes an extension that lives in the root package, while ::"
msgstr "décrit une extension qui se situe dans le paquet racine, tandis que ::"
msgstr "décrit une extension qui se situe dans le paquet racine, tandis que ::"
#: distutils/setupscript.rst:180
msgid ""
@ -341,7 +341,7 @@ msgid ""
msgstr ""
"Si vous avez un certain nombre d'extensions toutes dans le même paquet (ou "
"toutes sous le même paquet de base), utilisez l'argument nommé "
"``ext_package`` de :func:`setup`. Par exemple ::"
"``ext_package`` de :func:`setup`. Par exemple ::"
#: distutils/setupscript.rst:195
msgid ""
@ -442,7 +442,7 @@ msgid ""
msgstr ""
"Ici, vous pouvez définir le chemin absolu des répertoires ; si vous savez "
"que votre extension sera compilée sur un système Unix avec ``X11R6`` "
"installé dans :file:`/usr`, vous pouvez vous en sortir avec ::"
"installé dans :file:`/usr`, vous pouvez vous en sortir avec ::"
#: distutils/setupscript.rst:254
msgid ""
@ -450,7 +450,7 @@ msgid ""
"your code: it's probably better to write C code like ::"
msgstr ""
"Il convient d'éviter ce type d'utilisation non portable si vous envisagez de "
"distribuer votre code : Il est probablement mieux d'écrire du code C comme ::"
"distribuer votre code : Il est probablement mieux d'écrire du code C comme ::"
#: distutils/setupscript.rst:259
msgid ""
@ -474,7 +474,7 @@ msgstr ""
"répertoire :file:`include` de Python —\\ :file:`/usr/local/include/"
"python1.5` dans ce cas-ci — est toujours inclus dans le chemin de recherche "
"quand vous construisez des extensions Python, la meilleure approche est "
"d'écrire du code C comme ::"
"d'écrire du code C comme ::"
#: distutils/setupscript.rst:271
msgid ""
@ -551,7 +551,7 @@ msgid ""
"standard library search path on target systems ::"
msgstr ""
"Par exemple, pour lier des bibliothèques que l'on sait dans le chemin des "
"bibliothèques standards des systèmes cibles ::"
"bibliothèques standards des systèmes cibles ::"
#: distutils/setupscript.rst:323
msgid ""

View File

@ -911,7 +911,7 @@ msgstr ""
"Vous pouvez également appeler une fonction avec des arguments nommés en "
"utilisant :c:func:`PyObject_Call`, qui accepte les arguments et les "
"arguments nommés. Comme dans l'exemple ci-dessus, nous utilisons :c:func:"
"`Py_BuildValue` pour construire le dictionnaire. ::"
"`Py_BuildValue` pour construire le dictionnaire. ::"
#: extending/extending.rst:628
msgid "Extracting Parameters in Extension Functions"
@ -1728,7 +1728,7 @@ msgstr "La fonction :c:func:`spam_system` est modifiée de manière simple ::"
#: extending/extending.rst:1241
msgid "In the beginning of the module, right after the line ::"
msgstr "Au début du module, immédiatement après la ligne ::"
msgstr "Au début du module, immédiatement après la ligne ::"
#: extending/extending.rst:1245
msgid "two more lines must be added::"

View File

@ -167,7 +167,7 @@ msgstr ""
#: extending/newtypes_tutorial.rst:88
msgid "The second bit is the definition of the type object. ::"
msgstr "La deuxième partie est la définition de l'objet type ::"
msgstr "La deuxième partie est la définition de l'objet type ::"
#: extending/newtypes_tutorial.rst:101
msgid ""
@ -202,7 +202,7 @@ msgid ""
"mentioned above. ::"
msgstr ""
"Cette ligne, obligatoire, initialise le champ ``ob_base`` mentionné "
"précédemment."
"précédemment. ::"
#: extending/newtypes_tutorial.rst:119
msgid ""
@ -298,7 +298,7 @@ msgstr ""
"c:member:`~PyTypeObject.tp_new`, qui est l'équivalent de la méthode Python :"
"meth:`__new__`, mais elle a besoin d'être spécifiée explicitement. Dans ce "
"cas, on se contente de l'implémentation par défaut fournie par la fonction :"
"c:func:`PyType_GenericNew` de l'API."
"c:func:`PyType_GenericNew` de l'API. ::"
#: extending/newtypes_tutorial.rst:173
msgid ""

View File

@ -433,7 +433,7 @@ msgstr ""
"une séquence de joindre ses membres avec une constante de chaîne ? ». "
"Malheureusement, ce n'est pas ça. Allez savoir, il semble être bien moins "
"difficile de comprendre ce qui se passe avec :meth:`~str.split` en tant que "
"méthode de chaîne, puisque dans ce cas il est facile de voir que ::"
"méthode de chaîne, puisque dans ce cas il est facile de voir que ::"
#: faq/design.rst:222
msgid ""
@ -1279,7 +1279,7 @@ msgid ""
"If you're trying to build a pathname for a DOS command, try e.g. one of ::"
msgstr ""
"Si vous essayez de construire un chemin d'accès pour une commande DOS, "
"essayez par exemple l'un de ceux-ci ::"
"essayez par exemple l'un de ceux-ci ::"
#: faq/design.rst:653
msgid "Why doesn't Python have a \"with\" statement for attribute assignments?"
@ -1404,7 +1404,7 @@ msgstr ""
#: faq/design.rst:725
msgid "versus ::"
msgstr "et cela ::"
msgstr "et cela ::"
#: faq/design.rst:730
msgid ""

View File

@ -127,7 +127,7 @@ msgid ""
"to write ::"
msgstr ""
"Il y a plusieurs façons de remplir la seconde. La plus simple consiste à "
"écrire au tout début du fichier ::"
"écrire au tout début du fichier ::"
#: faq/library.rst:61
msgid ""
@ -175,7 +175,7 @@ msgid ""
"However, you can fix that by adding ::"
msgstr ""
"Le léger inconvénient est que cela définit la variable *__doc__* du script. "
"Cependant, il est possible de corriger cela en ajoutant ::"
"Cependant, il est possible de corriger cela en ajoutant ::"
#: faq/library.rst:94
msgid "Is there a curses/termcap package for Python?"
@ -232,7 +232,7 @@ msgid ""
"wrong argument list. It is called as ::"
msgstr ""
"Le problème le plus courant est d'appeler le gestionnaire de signaux avec "
"les mauvais arguments. Un gestionnaire est appelé de la façon suivante ::"
"les mauvais arguments. Un gestionnaire est appelé de la façon suivante ::"
#: faq/library.rst:125
msgid "so it should be declared with two parameters::"
@ -286,7 +286,7 @@ msgstr ""
#: faq/library.rst:152
msgid "The \"global main logic\" of your program may be as simple as ::"
msgstr ""
"La « logique générale » d'un programme devrait être aussi simple que ::"
"La « logique générale » d'un programme devrait être aussi simple que ::"
#: faq/library.rst:157
msgid "at the bottom of the main module of your program."

View File

@ -993,7 +993,7 @@ msgstr "Ou en utilisant un objet appelable ::"
#: faq/programming.rst:598
msgid "In both cases, ::"
msgstr "Dans les deux cas ::"
msgstr "Dans les deux cas ::"
#: faq/programming.rst:602
msgid "gives a callable object where ``taxes(10e6) == 0.3 * 10e6 + 2``."
@ -1326,7 +1326,7 @@ msgid ""
msgstr ""
"Essayer d'utiliser l'opérateur d'accès à un attribut sur un entier littéral "
"conduit à une erreur de syntaxe car le point est compris comme un séparateur "
"décimal en notation anglo-saxonne :"
"décimal en notation anglo-saxonne ::"
#: faq/programming.rst:859
msgid ""
@ -1906,7 +1906,7 @@ msgid ""
msgstr ""
"Si tous les éléments de la liste peuvent être utilisés comme des clés de "
"dictionnaire (c'est-à-dire, qu'elles sont toutes :term:`hachables "
"<hashable>`) ceci est souvent plus rapide ::"
"<hashable>`) ceci est souvent plus rapide ::"
#: faq/programming.rst:1225
msgid ""
@ -1930,7 +1930,7 @@ msgstr ""
"Comme pour supprimer les doublons, il est possible ditérer explicitement à "
"lenvers avec une condition de suppression. Cependant, il est plus facile et "
"plus rapide dutiliser le remplacement des tranches par une itération avant, "
"implicite ou explicite. Voici trois variantes. ::"
"implicite ou explicite. Voici trois variantes ::"
#: faq/programming.rst:1241
msgid "The list comprehension may be fastest."
@ -2221,7 +2221,7 @@ msgid ""
"pick out the element you want. ::"
msgstr ""
"Fusionnez-les dans un itérateur de *n*-uplets, ordonnez la liste obtenue, "
"puis choisissez l'élément que vous voulez ::"
"puis choisissez l'élément que vous voulez ::"
#: faq/programming.rst:1461
msgid "Objects"
@ -2578,7 +2578,7 @@ msgstr ""
msgid "You could also try a variable-length argument list, e.g. ::"
msgstr ""
"Vous pouvez aussi utiliser une liste d'arguments de longueur variable, par "
"exemple ::"
"exemple ::"
#: faq/programming.rst:1732
msgid "The same approach works for all method definitions."
@ -2869,7 +2869,7 @@ msgstr ""
"peu de subtilité lorsque ``None`` est une valeur acceptable pour le "
"paramètre. Dans ces cas, il faut créer un objet singleton dit "
 sentinelle », distinct de toute valeur acceptable. Voici par exemple "
"comment écrire une méthode qui émule :meth:`dict.pop` :"
"comment écrire une méthode qui émule :meth:`dict.pop` ::"
#: faq/programming.rst:1901
msgid ""
@ -3322,7 +3322,7 @@ msgid ""
"containing statements like ::"
msgstr ""
"Attention, cette technique ne marche pas systématiquement. En particulier, "
"les modules qui contiennent des instructions comme ::"
"les modules qui contiennent des instructions comme ::"
#: faq/programming.rst:2197
msgid ""

View File

@ -2703,8 +2703,8 @@ msgstr "encodages de texte"
#: glossary.rst:1145
msgid ""
"A string in Python is a sequence of Unicode code points (in range ``U"
"+0000``--``U+10FFFF``). To store or transfer a string, it needs to be "
"A string in Python is a sequence of Unicode code points (in range "
"``U+0000``--``U+10FFFF``). To store or transfer a string, it needs to be "
"serialized as a sequence of bytes."
msgstr ""
"Une chaîne de caractères en Python est une suite de points de code Unicode "
@ -2776,8 +2776,8 @@ msgstr ""
"qui ne soit pas disponible avec une chaîne entre guillemets, elle est utile "
"pour de nombreuses raisons. Elle vous autorise à insérer des guillemets "
"simples et doubles dans une chaîne sans avoir à les protéger et elle peut "
"s'étendre sur plusieurs lignes sans avoir à terminer chaque ligne par un ``"
"\\``. Elle est ainsi particulièrement utile pour les chaînes de "
"s'étendre sur plusieurs lignes sans avoir à terminer chaque ligne par un "
"``\\``. Elle est ainsi particulièrement utile pour les chaînes de "
"documentation (*docstrings*)."
#: glossary.rst:1175

View File

@ -180,8 +180,7 @@ msgstr ""
"problème est que, puisque ``__annotations__`` est optionnel sur les classes "
"et que les classes peuvent hériter des attributs de leurs classes de base, "
"accéder à l'attribut ``__annotations__`` d'une classe peut par inadvertance "
"renvoyer le dictionnaire d'annotations d'une *classe de base.* Par "
"exemple : ::"
"renvoyer le dictionnaire d'annotations d'une *classe de base.* Par exemple ::"
#: howto/annotations.rst:98
msgid "This will print the annotations dict from ``Base``, not ``Derived``."
@ -213,7 +212,7 @@ msgid ""
msgstr ""
"Pour résumer, voici un exemple de code qui accède en toute sécurité à "
"l'attribut ``__annotations__`` d'un objet quelconque en Python 3.9 et "
"antérieur : ::"
"antérieur ::"
#: howto/annotations.rst:118
msgid ""
@ -458,7 +457,7 @@ msgstr ""
"Si Python convertit vos annotations en chaînes de caractères (en utilisant "
"``from __future__ import annotations``), et que vous spécifiez une chaîne de "
"caractères comme annotation, la chaîne sera elle-même entre guillemets. En "
"fait, l'annotation est mise entre guillemets *deux fois*. Par exemple : ::"
"fait, l'annotation est mise entre guillemets *deux fois*. Par exemple ::"
#: howto/annotations.rst:231
msgid ""

View File

@ -1073,7 +1073,7 @@ msgstr ""
"avant les paramètres que vous souhaitez inclure dans le groupe, puis un "
"``]`` seul sur une ligne après ces paramètres. Voici, par exemple, comment "
"``curses.window.addch`` utilise les groupes optionnels pour rendre optionnel "
"les deux premiers paramètres ainsi que le dernier :"
"les deux premiers paramètres ainsi que le dernier ::"
#: howto/clinic.rst:699
msgid "Notes:"

View File

@ -423,7 +423,7 @@ msgstr ""
"partie du tampon à la fois. La création d'un tampon nécessite de fournir sa "
"hauteur et sa largeur, tandis que pour le rafraîchissement du tampon, vous "
"devez fournir les coordonnées de la zone de l'écran où une partie du tampon "
"sera affichée."
"sera affichée. ::"
#: howto/curses.rst:237
msgid ""

View File

@ -545,7 +545,7 @@ msgstr ""
"commençant à 1 (utilisez le paramètre ``start`` pour spécifier une valeur de "
"départ différente). Une nouvelle classe dérivée d':class:`Enum` est "
"renvoyée. En d'autres termes, l'affectation ci-dessus à :class:`Animal` est "
"équivalente à :"
"équivalente à ::"
#: howto/enum.rst:517
msgid ""
@ -1530,7 +1530,7 @@ msgstr "Utilisation d'une méthode :meth:`__new__` personnalisée"
#: howto/enum.rst:1266
msgid "Using an auto-numbering :meth:`__new__` would look like::"
msgstr "Cette méthode :meth:`__new__` numérote automatiquement :"
msgstr "Cette méthode :meth:`__new__` numérote automatiquement ::"
#: howto/enum.rst:1283
msgid ""

View File

@ -1458,7 +1458,7 @@ msgstr ""
"de :class:`LogRecord`. Les développeurs de bibliothèques peuvent définir un "
"filtre approprié sur leurs enregistreurs, mais ils doivent se rappeler de le "
"faire chaque fois quils introduisent un nouvel enregistreur (ce quils font "
"simplement en ajoutant de nouveaux paquets ou modules et en écrivant ::"
"simplement en ajoutant de nouveaux paquets ou modules et en écrivant ::"
#: howto/logging-cookbook.rst:1806
msgid ""
@ -1504,7 +1504,8 @@ msgstr ""
"Cette approche permet à une fabrique personnalisée de contrôler tous les "
"aspects de la création dun *LogRecord*. Par exemple, vous pouvez renvoyer "
"une sous-classe ou simplement ajouter des attributs supplémentaires à "
"lenregistrement une fois créé, en utilisant un modèle similaire à celui-ci :"
"lenregistrement une fois créé, en utilisant un modèle similaire à celui-"
"ci ::"
#: howto/logging-cookbook.rst:1832
msgid ""
@ -1832,7 +1833,7 @@ msgid ""
"as in the following complete example::"
msgstr ""
"Si vous avez besoin dun traitement plus spécifique, vous pouvez utiliser un "
"encodeur JSON personnalisé, comme dans lexemple complet suivant :"
"encodeur JSON personnalisé, comme dans lexemple complet suivant ::"
#: howto/logging-cookbook.rst:2369
msgid "When the above script is run, it prints:"

View File

@ -1398,7 +1398,7 @@ msgid ""
"it is to read? ::"
msgstr ""
"Par exemple, voici une RE qui utilise :const:`re.VERBOSE` ; vous pouvez "
"constater qu'elle est beaucoup plus facile à lire ::"
"constater qu'elle est beaucoup plus facile à lire ::"
#: howto/regex.rst:660
msgid "Without the verbose setting, the RE would look like this::"

View File

@ -201,7 +201,7 @@ msgid ""
"mainloop of the web server::"
msgstr ""
"Maintenant que nous avons un connecteur « serveur », en écoute sur le port "
"80, nous pouvons entrer dans la boucle principale du serveur web ::"
"80, nous pouvons entrer dans la boucle principale du serveur web ::"
#: howto/sockets.rst:106
msgid ""

View File

@ -730,7 +730,7 @@ msgstr ""
#: install/index.rst:361
msgid "Installing a new module distribution is as simple as ::"
msgstr "Installer une nouvelle distribution de module est aussi simple que ::"
msgstr "Installer une nouvelle distribution de module est aussi simple que ::"
#: install/index.rst:365
msgid ""
@ -824,7 +824,7 @@ msgstr ""
"plutôt que dune addition locale. Cependant, si vous installez des modules "
"Python depuis leur source, vous voulez probablement quils aillent dans :"
"file:`/usr/local/lib/python2.{X}` plutôt que dans :file:`/usr/lib/python2.{X}"
"`. Ça peut être fait avec ::"
"`. Ça peut être fait avec ::"
#: install/index.rst:412
msgid ""
@ -840,7 +840,7 @@ msgstr ""
"lire : par exemple, linterpréteur Python auquel on accède par :file:`/usr/"
"local/bin/python` peut chercher les modules dans :file:`/usr/local/lib/"
"python2.{X}`, mais ces modules doivent être installés dans, par exemple, :"
"file:`/mnt/{@server}/export/lib/python2.{X}`. Ça peut être fait avec ::"
"file:`/mnt/{@server}/export/lib/python2.{X}`. Ça peut être fait avec ::"
#: install/index.rst:421
msgid ""
@ -1110,7 +1110,7 @@ msgstr ""
#: install/index.rst:574
msgid "or, equivalently, ::"
msgstr "ou ::"
msgstr "ou ::"
#: install/index.rst:582
msgid ""

View File

@ -64,7 +64,7 @@ msgid ""
msgstr ""
"Lorsqu'un module ou un paquet Python est importé, son attribut ``__name__`` "
"est défini à son nom, qui est la plupart du temps le nom du fichier qui le "
"contient sans l'extension ``.py`` :"
"contient sans l'extension ``.py`` ::"
#: library/__main__.rst:35
msgid ""
@ -72,7 +72,7 @@ msgid ""
"package's path::"
msgstr ""
"Si le fichier fait partie d'un paquet, ``__name__`` donne tout le chemin "
"d'accès :"
"d'accès ::"
#: library/__main__.rst:42
msgid ""
@ -106,7 +106,7 @@ msgstr "L'environnement principal peut prendre diverses formes :"
#: library/__main__.rst:55
msgid "the scope of an interactive prompt::"
msgstr "l'environnement d'une invite de commande interactive :"
msgstr "l'environnement d'une invite de commande interactive ::"
#: library/__main__.rst:60
msgid "the Python module passed to the Python interpreter as a file argument:"
@ -196,7 +196,7 @@ msgstr ""
"Il vaut mieux mettre aussi peu de code que possible sous le ``if __name__ == "
"'__main__'`` pour garder le code clair et limiter les risques d'erreur. La "
"plupart du temps, on écrit une fonction ``main`` qui contient tout le code "
"spécifique à l'utilisation comme script :"
"spécifique à l'utilisation comme script ::"
#: library/__main__.rst:151
msgid ""
@ -241,7 +241,7 @@ msgstr ""
"d'entrée, qui demandent à `pip <https://pip.pypa.io/>`_ de créer un "
"exécutable. Il le fait en insérant un appel à la fonction à l'intérieur d'un "
"modèle prédéfini où la valeur qu'elle renvoie est passée directement à :func:"
"`sys.exit` :"
"`sys.exit` ::"
#: library/__main__.rst:175
msgid ""
@ -363,7 +363,7 @@ msgstr ""
"Cependant, un ``if __name__ == '__main__'``, s'il est présent dans le "
"``__main__.py``, fonctionne correctement. En effet, si ``__main__.py`` est "
"importé depuis autre module, son attribut ``__name__`` contient, avant "
"``__main__``, le nom du paquet dont il fait partie :"
"``__main__``, le nom du paquet dont il fait partie ::"
#: library/__main__.rst:254
msgid ""
@ -424,11 +424,11 @@ msgstr ""
#: library/__main__.rst:282
msgid "Here is an example module that consumes the ``__main__`` namespace::"
msgstr "Voici un exemple d'utilisation du module ``__main__`` :"
msgstr "Voici un exemple d'utilisation du module ``__main__`` ::"
#: library/__main__.rst:300
msgid "Example usage of this module could be as follows::"
msgstr "Ce code s'utilise comme ceci :"
msgstr "Ce code s'utilise comme ceci ::"
#: library/__main__.rst:319
msgid "Now, if we started our program, the result would look like this:"
@ -488,7 +488,7 @@ msgid ""
msgstr ""
"L'interpréteur interactif est un autre environnement d'exécution principal "
"possible. Toute variable qui y est définie appartient à l'espace de nommage "
"``__main__`` :"
"``__main__`` ::"
#: library/__main__.rst:364
msgid ""

View File

@ -330,7 +330,7 @@ msgid ""
"`with` statement, e.g.::"
msgstr ""
"En plus de ces méthodes, les objets verrous peuvent aussi être utilisés via "
"l'instruction :keyword:`with`, e.g. ::"
"l'instruction :keyword:`with`, e.g ::"
#: library/_thread.rst:207
msgid "**Caveats:**"

View File

@ -81,7 +81,7 @@ msgstr ""
"arguments de l'analyseur. Ceux-ci peuvent être des arguments positionnels, "
"des arguments optionnels ou des drapeaux (qui sont alors traduits en valeurs "
"booléennes). Les arguments ont la possibilité d'être complétés par des "
"valeurs."
"valeurs ::"
#: library/argparse.rst:50
msgid ""
@ -1121,7 +1121,7 @@ msgstr ""
"liste. Il est donc généralement utile d'accepter la répétition de cet "
"argument. Si une valeur par défaut est précisée, alors cette valeur est "
"également présente dans la liste et précède les valeurs passées sur la ligne "
"de commande."
"de commande ::"
#: library/argparse.rst:860
msgid ""
@ -1651,7 +1651,7 @@ msgstr ""
"par défaut de l'argument (voir default_). Les définitions disponibles "
"comprennent entre autres le nom du programme, ``%(prog)s``, et la plupart "
"des arguments nommés d':meth:`~ArgumentParser.add_argument`, tels que "
"``%(default)s``, ``%(type)s``, etc. ::"
"``%(default)s``, ``%(type)s``, etc ::"
#: library/argparse.rst:1310
msgid ""
@ -2661,7 +2661,7 @@ msgstr ""
"L'exemple suivant illustre la différence entre :meth:`~ArgumentParser."
"parse_known_args` et :meth:`~ArgumentParser.parse_intermixed_args` : le "
"premier renvoie ``['2', '3']`` comme arguments non-traités alors que le "
"second capture tous les arguments positionnels dans ``rest`` ::"
"second capture tous les arguments positionnels dans ``rest`` ::"
#: library/argparse.rst:2207
msgid ""

View File

@ -193,11 +193,11 @@ msgid ""
"use ::"
msgstr ""
"Par exemple, pour créer et peupler un nœud :class:`ast.UnaryOp`, on peut "
"utiliser ::"
"utiliser ::"
#: library/ast.rst:115
msgid "or the more compact ::"
msgstr "ou, plus compact ::"
msgstr "ou, plus compact ::"
#: library/ast.rst:122
msgid "Class :class:`ast.Constant` is now used for all constants."
@ -1638,7 +1638,7 @@ msgstr ""
"Si :class:`NodeTransformer` ajoute de nouveaux nœuds à l'original sans leur "
"donner les attributs de position dans la source (:attr:`lineno` et "
"consorts), il faut passer le nouvel arbre (ou la nouvelle partie de l'arbre) "
"à :func:`fix_missing_locations` pour calculer les positions manquantes :"
"à :func:`fix_missing_locations` pour calculer les positions manquantes ::"
#: library/ast.rst:2170
msgid "Usually you use the transformer like this::"

View File

@ -56,7 +56,7 @@ msgstr ""
"Puisque toutes les fonctions à sous-processus d'*asyncio* sont synchrones et "
"qu'*asyncio* fournit de nombreux outils pour travailler avec de telles "
"fonctions, il est facile d'exécuter et de surveiller de nombreux processus "
"en parallèle :"
"en parallèle ::"
#: library/asyncio-subprocess.rst:58
msgid "See also the `Examples`_ subsection."

View File

@ -260,7 +260,7 @@ msgstr ""
"tableaux de nombres. Cet exemple utilise :func:`bisect` pour rechercher la "
"note (sous forme de lettre) correspondant à une note sous forme de points, "
"en se basant sur une échelle prédéfinie : plus de 90 vaut 'A', de 80 à 89 "
"vaut 'B', etc. ::"
"vaut 'B', etc ::"
#: library/bisect.rst:201
msgid ""

View File

@ -205,7 +205,7 @@ msgid ""
msgstr ""
"Les gestionnaires de contexte définis avec :func:`asynccontextmanager` "
"peuvent s'utiliser comme décorateurs ou dans les instructions :keyword:"
"`async with` :"
"`async with` ::"
#: library/contextlib.rst:149
msgid ""
@ -289,7 +289,7 @@ msgid ""
"<async-context-managers>`::"
msgstr ""
"Similaire à :func:`~contextlib.contextmanager`, mais crée un :ref:"
"`gestionnaire de contexte asynchrone <async-context-managers>`."
"`gestionnaire de contexte asynchrone <async-context-managers>` ::"
#: library/contextlib.rst:266
msgid ":term:`asynchronous context manager` support was added."

View File

@ -57,7 +57,7 @@ msgstr "Variables de contexte"
msgid "This class is used to declare a new Context Variable, e.g.::"
msgstr ""
"Cette classe est utilisée pour déclarer une nouvelle variable de contexte, "
"p. ex. ::"
"p. ex ::"
#: library/contextvars.rst:35
msgid ""
@ -208,7 +208,7 @@ msgid ""
"variables and their values that are set in it::"
msgstr ""
"Le fragment de code qui suit obtient une copie du contexte actuel et affiche "
"toutes les variables avec leurs valeurs définies dans ce contexte."
"toutes les variables avec leurs valeurs définies dans ce contexte ::"
#: library/contextvars.rst:134
msgid ""

View File

@ -340,7 +340,7 @@ msgstr ""
"Tous les noms disponibles de :class:`Dialect` sont renvoyés par :func:"
"`list_dialects`, et ils peuvent être enregistrés avec des classes :class:"
"`reader` et :class:`writer` spécifiques en passant par leur fonction "
"dinitialisation (``__init__``) comme ici :"
"dinitialisation (``__init__``) comme ici ::"
#: library/csv.rst:247
msgid ""
@ -794,9 +794,8 @@ msgid ""
msgstr ""
"Puisque :func:`open` est utilisée pour ouvrir un fichier CSV en lecture, le "
"fichier sera par défaut décodé vers Unicode en utilisant l'encodage par "
"défaut (voir :func:`locale.getencoding`). Pour décoder un fichier "
"utilisant un encodage différent, utilisez l'argument ``encoding`` de "
"*open* ::"
"défaut (voir :func:`locale.getencoding`). Pour décoder un fichier utilisant "
"un encodage différent, utilisez l'argument ``encoding`` de *open* ::"
#: library/csv.rst:554
msgid ""

View File

@ -1661,7 +1661,7 @@ msgstr ""
#: library/ctypes.rst:1301
msgid "Here are some examples::"
msgstr "Voici quelques exemples :"
msgstr "Voici quelques exemples ::"
#: library/ctypes.rst:1312
msgid ""
@ -1670,7 +1670,7 @@ msgid ""
msgstr ""
"Sous macOS, :func:`find_library` regarde dans des chemins et conventions de "
"chemins prédéfinies pour trouver la bibliothèque et en renvoie le chemin "
"complet si elle la trouve :"
"complet si elle la trouve ::"
#: library/ctypes.rst:1326
msgid ""
@ -1934,7 +1934,7 @@ msgstr ""
"fonctions de la bibliothèque partagée par attribut ou par indiçage. Notez "
"que les résultats des accès par attribut sont mis en cache, et donc des "
"accès consécutifs renvoient à chaque fois le même objet. Accéder à une "
"fonction par indice renvoie cependant chaque fois un nouvel objet :"
"fonction par indice renvoie cependant chaque fois un nouvel objet ::"
#: library/ctypes.rst:1471
msgid ""

View File

@ -411,7 +411,7 @@ msgstr ""
"suffit. Cependant, les classes de données possèdent des fonctionnalités "
"supplémentaires fondées sur des métadonnées propres à chaque champ. Pour "
"remplir ces métadonnées, il suffit de mettre un appel à la fonction :func:"
"`field` à la place de la valeur par défaut, comme dans cet exemple :"
"`field` à la place de la valeur par défaut, comme dans cet exemple ::"
#: library/dataclasses.rst:241
msgid ""
@ -549,7 +549,7 @@ msgstr ""
"simplement supprimé. De cette manière, après le passage du décorateur :func:"
"`dataclass`, les attributs de la classe contiennent les valeurs par défaut "
"des champs exactement comme si elles avaient été définies directement. Par "
"exemple :"
"exemple ::"
#: library/dataclasses.rst:311
msgid ""
@ -660,7 +660,7 @@ msgstr ""
#: library/dataclasses.rst:380
msgid "Continuing from the previous example::"
msgstr "Pour continuer l'exemple précédent :"
msgstr "Pour continuer l'exemple précédent ::"
#: library/dataclasses.rst:389
msgid ""
@ -701,7 +701,7 @@ msgstr ""
"Cette fonction est pratique mais pas absolument nécessaire, puisqu'il suffit "
"de créer par un moyen quelconque une classe avec l'attribut "
"``__annotation__`` et de lui appliquer la fonction :func:`dataclass`, qui la "
"convertit en une classe de données. Par exemple, ceci :"
"convertit en une classe de données. Par exemple, ceci ::"
#: library/dataclasses.rst:416
msgid "Is equivalent to::"
@ -860,7 +860,7 @@ msgid ""
"one or more other fields. For example::"
msgstr ""
"Cette méthode permet, entre autres, d'initialiser des champs qui dépendent "
"d'autres champs. Par exemple :"
"d'autres champs. Par exemple ::"
#: library/dataclasses.rst:527
msgid ""
@ -872,7 +872,7 @@ msgstr ""
"Les méthodes :meth:`__init__` des classes mères ne sont pas appelées "
"automatiquement par la méthode :meth:`__init__` que génère :func:"
"`dataclass`. S'il faut appeler ces méthodes :meth:`__init__`, il est courant "
"de le faire dans :meth:`__post_init__` :"
"de le faire dans :meth:`__post_init__` ::"
#: library/dataclasses.rst:544
msgid ""
@ -947,7 +947,7 @@ msgid ""
"is not provided when creating the class::"
msgstr ""
"On peut par exemple imaginer un champ initialisé à partir d'une base de "
"données s'il n'a pas reçu de valeur explicite :"
"données s'il n'a pas reçu de valeur explicite ::"
#: library/dataclasses.rst:591
msgid ""
@ -1007,7 +1007,7 @@ msgstr ""
"un tableau associatif ordonné. Pour finir, les champs de la classe elle-même "
"sont rajoutés. Toutes les méthodes générées utilisent en interne ce même "
"tableau associatif. Puisqu'il est ordonné, les champs des classes filles "
"écrasent ceux des classes mères. Voici un exemple :"
"écrasent ceux des classes mères. Voici un exemple ::"
#: library/dataclasses.rst:630
msgid ""
@ -1019,7 +1019,7 @@ msgstr ""
#: library/dataclasses.rst:633
msgid "The generated :meth:`__init__` method for ``C`` will look like::"
msgstr "La méthode :meth:`__init__` générée pour ``C`` ressemble à :"
msgstr "La méthode :meth:`__init__` générée pour ``C`` ressemble à ::"
#: library/dataclasses.rst:638
msgid "Re-ordering of keyword-only parameters in :meth:`__init__`"
@ -1082,7 +1082,7 @@ msgid ""
msgstr ""
"Le paramètre facultatif *default_factory* de :func:`field` est une fonction "
"qui est appelée sans argument pour fournir des valeurs par défaut. Par "
"exemple, voici comment donner la valeur par défaut d'une liste vide :"
"exemple, voici comment donner la valeur par défaut d'une liste vide ::"
#: library/dataclasses.rst:682
msgid ""
@ -1106,7 +1106,7 @@ msgid ""
"this example, not using dataclasses::"
msgstr ""
"En Python, les valeurs par défaut des attributs sont stockées dans des "
"attributs de la classe. Observez cet exemple, sans classe de données :"
"attributs de la classe. Observez cet exemple, sans classe de données ::"
#: library/dataclasses.rst:706
msgid ""
@ -1118,11 +1118,11 @@ msgstr ""
#: library/dataclasses.rst:709
msgid "Using dataclasses, *if* this code was valid::"
msgstr "Avec les classes de données, si ce code était valide :"
msgstr "Avec les classes de données, si ce code était valide ::"
#: library/dataclasses.rst:717
msgid "it would generate code similar to::"
msgstr "il générerait un code équivalent à :"
msgstr "il générerait un code équivalent à ::"
#: library/dataclasses.rst:728
msgid ""
@ -1153,7 +1153,7 @@ msgid ""
"types as default values for fields::"
msgstr ""
"Pour qu'un champ d'un type muable soit par défaut initialisé à un nouvel "
"objet pour chaque instance, utilisez une fonction de fabrique :"
"objet pour chaque instance, utilisez une fonction de fabrique ::"
# suit un ':'
#: library/dataclasses.rst:748

View File

@ -339,7 +339,7 @@ msgstr ""
"classe, chaîne de caractère). Les *docstrings* d'objets fonctions et classes "
"trouvées dans ``M.__test__`` sont cherchés, et les chaînes de caractères "
"sont traitées comme si elles étaient des *docstrings*. En sortie, une clé "
"``K`` dans ``M.__test__`` apparaît avec le nom ::"
"``K`` dans ``M.__test__`` apparaît avec le nom ::"
#: library/doctest.rst:288
msgid ""
@ -1080,15 +1080,15 @@ msgstr ""
"fois, alors que vous apprenez exactement ce que Python garantit et ne "
"garantit pas pour qui est des sorties. Par exemple, lorsqu'on affiche un "
"ensemble (set), Python ne garantit pas que les éléments sont affichés dans "
"un ordre particulier ; ainsi un test tel que ::"
"un ordre particulier ; ainsi un test tel que ::"
#: library/doctest.rst:782
msgid "is vulnerable! One workaround is to do ::"
msgstr "est vulnérable ! Une alternative est de faire ::"
msgstr "est vulnérable ! Une alternative est de faire ::"
#: library/doctest.rst:787
msgid "instead. Another is to do ::"
msgstr "à la place. Une autre façon de faire est ::"
msgstr "à la place. Une autre façon de faire est ::"
#: library/doctest.rst:793
msgid "There are others, but you get the idea."
@ -1119,7 +1119,7 @@ msgstr ""
"la sortie, tout dépendamment de la plateforme utilisée, étant donné que "
"Python s'en remet à la bibliothèque de la plateforme C pour la mise-en-forme "
"des *floats*, et les bibliothèques C varient grandement pour ce qui de leur "
"qualité sur ce point. ::"
"qualité sur ce point. ::"
#: library/doctest.rst:824
#, fuzzy

View File

@ -899,7 +899,7 @@ msgid ""
msgstr ""
"Assure que tous les groupes/masques sont possibles en n'utilisant que des "
"membres nommés — utile lorsque des valeurs sont spécifiées au lieu d'être "
"générées par :func:`auto`"
"générées par :func:`auto` ::"
#: library/enum.rst:684
msgid ""

View File

@ -243,7 +243,7 @@ msgstr ""
"préservant la pile d'appels. Une fois l'exception levée, le cadre courant "
"est empilé sur la trace d'appels de ``OtherException``, comme cela se serait "
"produit pour la trace d'appels de ``SomeException`` si on l'avait laissée se "
"propager jusqu'à l'appelant ::"
"propager jusqu'à l'appelant ::"
#: library/exceptions.rst:131
msgid ""

View File

@ -35,7 +35,7 @@ msgstr ""
#: library/fileinput.rst:18
msgid "The typical use is::"
msgstr "Ce module s'utilise le plus couramment comme ceci :"
msgstr "Ce module s'utilise le plus couramment comme ceci ::"
#: library/fileinput.rst:24
msgid ""
@ -147,7 +147,7 @@ msgstr ""
"Les instances de :class:`FileInput` peuvent s'utiliser comme gestionnaires "
"de contexte, avec l'instruction :keyword:`with`. Dans le code suivant, "
"*input* est fermé lorsque le bloc :keyword:`!with` se termine, y compris si "
"une exception l'a interrompu."
"une exception l'a interrompu ::"
#: library/fileinput.rst:170
msgid "Can be used as a context manager."
@ -315,7 +315,7 @@ msgid ""
msgstr ""
"Les objets :class:`FileInput` peuvent aussi fonctionner comme gestionnaires "
"de contexte dans un bloc :keyword:`with`. Dans l'exemple suivant, *input* "
"est fermé à la fin du bloc :keyword:`!with`, même arrêté par une exception."
"est fermé à la fin du bloc :keyword:`!with`, même arrêté par une exception ::"
#: library/fileinput.rst:173
msgid "The keyword parameter *mode* and *openhook* are now keyword-only."

View File

@ -132,7 +132,7 @@ msgstr ""
#: library/ftplib.rst:126
msgid "Here's a sample session using the :class:`FTP_TLS` class::"
msgstr "Voici un exemple de session utilisant la classe :class:`FTP_TLS` ::"
msgstr "Voici un exemple de session utilisant la classe :class:`FTP_TLS` ::"
#: library/ftplib.rst:139
msgid "Exception raised when an unexpected reply is received from the server."

View File

@ -301,7 +301,7 @@ msgstr ""
"classes définies par l'utilisateur, le sont. Cependant, certains types "
"présentent des optimisations qui permettent de se passer avantageusement du "
"ramasse-miettes dans les cas simples, comme les dictionnaires dont toutes "
"les clés et valeurs sont atomiques :"
"les clés et valeurs sont atomiques ::"
#: library/gc.rst:188
msgid ""
@ -309,7 +309,7 @@ msgid ""
"collector, ``False`` otherwise. ::"
msgstr ""
"Renvoie ``True`` ou ``False`` selon que l'argument a été finalisé par le "
"ramasse-miettes."
"ramasse-miettes. ::"
#: library/gc.rst:209
msgid ""

View File

@ -1347,7 +1347,7 @@ msgstr ""
msgid "Example: print all keyword-only arguments without default values::"
msgstr ""
"Exemple : afficher tous les arguments exclusivement nommés sans valeur par "
"défaut :"
"défaut ::"
#: library/inspect.rst:831
msgid "Describes a enum value of Parameter.kind."
@ -2110,7 +2110,7 @@ msgid ""
msgstr ""
"Vous pouvez gérer ces cas à l'aide du code suivant. Notez que pour des "
"descripteurs arbitraires *getset* les invoquant, de l'exécution de code "
"pourrait être lancée :"
"pourrait être lancée ::"
#: library/inspect.rst:1420
msgid "Current State of Generators and Coroutines"

View File

@ -277,7 +277,7 @@ msgstr ""
#: library/ipaddress.rst:172
msgid "The name of the reverse DNS PTR record for the IP address, e.g.::"
msgstr "Nom de l'enregistrement DNS PTR inverse pour l'adresse IP, p. ex. ::"
msgstr "Nom de l'enregistrement DNS PTR inverse pour l'adresse IP, p. ex ::"
#: library/ipaddress.rst:179
msgid ""

View File

@ -924,7 +924,7 @@ msgid ""
msgstr ""
"Le code Python qui suit aide à expliquer ce que fait *tee*, bien que la "
"vraie implémentation soit plus complexe et n'utilise qu'une file :abbr:`FIFO "
"(premier entré, premier sorti ou *first-in, first-out* en anglais)` :"
"(premier entré, premier sorti ou *first-in, first-out* en anglais)` ::"
#: library/itertools.rst:668
msgid ""

View File

@ -94,7 +94,7 @@ msgid ""
"start with a call of ::"
msgstr ""
":func:`setlocale` n'est pas *thread-safe* sur la plupart des systèmes. Les "
"applications commencent généralement par un appel de : ::"
"applications commencent généralement par un appel de ::"
#: library/locale.rst:52
msgid ""

View File

@ -831,11 +831,11 @@ msgstr "Exemples"
#: library/lzma.rst:387
msgid "Reading in a compressed file::"
msgstr "Lire un fichier compressé::"
msgstr "Lire un fichier compressé ::"
#: library/lzma.rst:393
msgid "Creating a compressed file::"
msgstr "Créer un fichier compressé::"
msgstr "Créer un fichier compressé ::"
#: library/lzma.rst:400
msgid "Compressing data in memory::"

View File

@ -646,7 +646,7 @@ msgstr ""
#: library/multiprocessing.rst:523
#, fuzzy
msgid "Example::"
msgstr "Exemples"
msgstr "Exemples ::"
#: library/multiprocessing.rst:535
msgid "Start the process's activity."

View File

@ -187,7 +187,7 @@ msgid ""
"instances::"
msgstr ""
"L'exemple qui suit montre un exemple d'utilisation bas niveau d'instances "
"de :class:`SharedMemory` :"
"de :class:`SharedMemory` ::"
#: library/multiprocessing.shared_memory.rst:127
#, fuzzy

View File

@ -270,7 +270,7 @@ msgstr ""
"L'opérateur slash aide à créer les chemins enfants, de manière similaire à :"
"func:`os.path.join`. Si l'argument est un chemin absolu, le chemin précédent "
"est ignoré. Sous Windows, le lecteur n'est pas effacé quand l'argument est "
"un chemin relatif enraciné (par exemple ``r'\\foo'``)::"
"un chemin relatif enraciné (par exemple ``r'\\foo'``) ::"
#: library/pathlib.rst:233
msgid ""
@ -416,8 +416,8 @@ msgstr "C'est une opération purement lexicale, d'où le comportement suivant :
#: library/pathlib.rst:399
msgid ""
"If you want to walk an arbitrary filesystem path upwards, it is recommended "
"to first call :meth:`Path.resolve` so as to resolve symlinks and eliminate ``"
"\"..\"`` components."
"to first call :meth:`Path.resolve` so as to resolve symlinks and eliminate "
"``\"..\"`` components."
msgstr ""
"Si vous voulez remonter un chemin arbitraire du système de fichiers, il est "
"recommandé d'appeler d'abord :meth:`Path.resolve` de manière à résoudre les "

View File

@ -136,7 +136,7 @@ msgstr ""
msgid "The typical usage to break into the debugger is to insert::"
msgstr ""
"L'usage typique pour forcer le débogueur depuis un programme s'exécutant est "
"d'insérer ::"
"d'insérer ::"
#: library/pdb.rst:83
#, fuzzy

View File

@ -1036,7 +1036,7 @@ msgstr ""
"De même, les classes sont sérialisées par leur nom. Les mêmes prérequis sur "
"l'environnement de désérialisation s'appliquent. Le code de la classe et les "
"données qu'elle contient ne sont pas sérialisés. Par exemple, dans ce code, "
"l'attribut ``attr`` ne sera pas restauré à la désérialisation :"
"l'attribut ``attr`` ne sera pas restauré à la désérialisation ::"
#: library/pickle.rst:537
#, fuzzy
@ -1500,7 +1500,7 @@ msgstr ""
#: library/pickle.rst:791
msgid "For example ::"
msgstr "Par exemple, le code :"
msgstr "Par exemple, le code ::"
#: library/pickle.rst:798
msgid ""
@ -1509,7 +1509,7 @@ msgid ""
msgstr ""
"crée une instance de la classe :class:`pickle.Pickler` avec une table de "
"distribution propre qui traite la classe ``SomeClass`` de manière "
"spécifique. Le code :"
"spécifique. Le code ::"
#: library/pickle.rst:808
#, fuzzy
@ -1519,7 +1519,7 @@ msgid ""
msgstr ""
"fait la même chose, mais toutes les instances de ``MyPickler`` partageront "
"par défaut la même table de distribution. L'équivalent avec :mod:`copyreg` "
"serait :"
"serait ::"
#: library/pickle.rst:815
msgid ""
@ -1550,11 +1550,11 @@ msgstr ""
"sont enregistrés. Lorsque l'instance est désérialisée, le fichier est "
"rouvert et la lecture reprend là où elle s'était arrêtée. Ceci est "
"implémenté à travers les méthodes :meth:`__setstate__` et :meth:"
"`__getstate__`."
"`__getstate__`. ::"
#: library/pickle.rst:872
msgid "A sample usage might be something like this::"
msgstr "Voici un exemple d'utilisation :"
msgstr "Voici un exemple d'utilisation ::"
#: library/pickle.rst:886
msgid "Custom Reduction for Types, Functions, and Other Objects"
@ -1613,7 +1613,8 @@ msgstr ""
msgid ""
"Here is a simple example where we allow pickling and reconstructing a given "
"class::"
msgstr "Voici un exemple simple qui implémente la sérialisation d'une classe :"
msgstr ""
"Voici un exemple simple qui implémente la sérialisation d'une classe ::"
#: library/pickle.rst:946
msgid "Out-of-band Buffers"
@ -1744,7 +1745,7 @@ msgid ""
"able to participate in out-of-band buffer pickling::"
msgstr ""
"Voici un exemple trivial où est implémentée une classe fille de :class:"
"`bytearray` capable de sérialisation hors-bande."
"`bytearray` capable de sérialisation hors-bande ::"
#: library/pickle.rst:1029
msgid ""
@ -1762,7 +1763,7 @@ msgid ""
"unserialized will give us a copy of the original object::"
msgstr ""
"En tant que consommateur des objets, on peut les sérialiser de la manière "
"classique. La désérialisation conduit alors à une copie."
"classique. La désérialisation conduit alors à une copie ::"
#: library/pickle.rst:1042
msgid ""
@ -1770,7 +1771,7 @@ msgid ""
"buffers when unserializing, we are able to get back the original object::"
msgstr ""
"Mais en passant un *buffer_callback* et en donnant les tampons accumulés au "
"désérialiseur, il n'y a plus de copie."
"désérialiseur, il n'y a plus de copie ::"
#: library/pickle.rst:1052
msgid ""
@ -1808,7 +1809,7 @@ msgstr ""
"demande le flux de données. Dans bien des cas, ce comportement est "
"inacceptable, puisqu'il permet de faire exécuter du code arbitraire dans "
"l'environnement de désérialisation. Observez le résultat de ce flux de "
"données fait-main lorsqu'il est lu :"
"données fait-main lorsqu'il est lu ::"
#: library/pickle.rst:1080
msgid ""
@ -1845,14 +1846,14 @@ msgid ""
"mod:`builtins` module to be loaded::"
msgstr ""
"Voici un exemple de désérialiseur qui permet seulement la désérialisation "
"d'un petit nombre de classes sûres du module :mod:`builtins`."
"d'un petit nombre de classes sûres du module :mod:`builtins` ::"
#: library/pickle.rst:1119
#, fuzzy
msgid "A sample usage of our unpickler working as intended::"
msgstr ""
"Et voici un exemple d'utilisation montrant que notre désérialiseur "
"fonctionne comme prévu :"
"fonctionne comme prévu ::"
#: library/pickle.rst:1138
msgid ""
@ -1886,11 +1887,11 @@ msgid ""
"For the simplest code, use the :func:`dump` and :func:`load` functions. ::"
msgstr ""
"Dans les cas les plus simples, utilisez les fonctions :func:`dump` et :func:"
"`load`."
"`load`. ::"
#: library/pickle.rst:1173
msgid "The following example reads the resulting pickled data. ::"
msgstr "Le code suivant lit les données qui viennent d'être sérialisées :"
msgstr "Le code suivant lit les données qui viennent d'être sérialisées ::"
#: library/pickle.rst:1190
msgid "Module :mod:`copyreg`"

View File

@ -763,7 +763,7 @@ msgstr "Exemples de base ::"
#: library/random.rst:447
msgid "Simulations::"
msgstr "Simulations : ::"
msgstr "Simulations ::"
#: library/random.rst:475
msgid ""

View File

@ -84,11 +84,11 @@ msgid ""
msgstr ""
"La solution est d'utiliser la notation des chaînes brutes en Python pour les "
"expressions rationnelles ; Les *backslashs* ne provoquent aucun traitement "
"spécifique dans les chaînes littérales préfixées par ``'r'``. Ainsi, ``r\"\\n"
"\"`` est une chaîne de deux caractères contenant ``'\\'`` et ``'n'``, tandis "
"que ``\"\\n\"`` est une chaîne contenant un unique caractère : un saut de "
"ligne. Généralement, les motifs seront exprimés en Python à l'aide de "
"chaînes brutes."
"spécifique dans les chaînes littérales préfixées par ``'r'``. Ainsi, "
"``r\"\\n\"`` est une chaîne de deux caractères contenant ``'\\'`` et "
"``'n'``, tandis que ``\"\\n\"`` est une chaîne contenant un unique "
"caractère : un saut de ligne. Généralement, les motifs seront exprimés en "
"Python à l'aide de chaînes brutes."
#: library/re.rst:43
msgid ""
@ -252,8 +252,8 @@ msgstr "``$``"
msgid ""
"Matches the end of the string or just before the newline at the end of the "
"string, and in :const:`MULTILINE` mode also matches before a newline. "
"``foo`` matches both 'foo' and 'foobar', while the regular expression ``foo"
"$`` matches only 'foo'. More interestingly, searching for ``foo.$`` in "
"``foo`` matches both 'foo' and 'foobar', while the regular expression "
"``foo$`` matches only 'foo'. More interestingly, searching for ``foo.$`` in "
"``'foo1\\nfoo2\\n'`` matches 'foo2' normally, but 'foo1' in :const:"
"`MULTILINE` mode; searching for a single ``$`` in ``'foo\\n'`` will find two "
"(empty) matches: one just before the newline, and one at the end of the "
@ -966,10 +966,10 @@ msgid ""
msgstr ""
"Essaiera de faire la correspondance avec ``yes-pattern`` si le groupe "
"indiqué par *id* ou *name* existe, et avec ``no-pattern`` s'il n'existe pas. "
"``no-pattern`` est optionnel et peut être omis. Par exemple, ``(<)?(\\w+@\\w"
"+(?:\\.\\w+)+)(?(1)>|$)`` est un motif simpliste pour identifier une adresse "
"courriel, qui validera ``'<user@host.com>'`` ainsi que ``'user@host.com'`` "
"mais pas ``'<user@host.com'`` ni ``'user@host.com>'``."
"``no-pattern`` est optionnel et peut être omis. Par exemple, ``(<)?"
"(\\w+@\\w+(?:\\.\\w+)+)(?(1)>|$)`` est un motif simpliste pour identifier "
"une adresse courriel, qui validera ``'<user@host.com>'`` ainsi que "
"``'user@host.com'`` mais pas ``'<user@host.com'`` ni ``'user@host.com>'``."
#: library/re.rst:495
msgid "Group *id* containing anything except ASCII digits."
@ -1117,8 +1117,8 @@ msgid ""
"``\\d``. If the :const:`ASCII` flag is used this becomes the equivalent of "
"``[^0-9]``."
msgstr ""
"Valide tout caractère qui n'est pas un chiffre décimal. C'est l'opposé de ``"
"\\d``. Si l'option :const:`ASCII` est utilisée, cela devient équivalent à "
"Valide tout caractère qui n'est pas un chiffre décimal. C'est l'opposé de "
"``\\d``. Si l'option :const:`ASCII` est utilisée, cela devient équivalent à "
"``[^0-9]``."
#: library/re.rst:579
@ -1127,16 +1127,16 @@ msgstr "``\\s``"
#: library/re.rst:571
msgid ""
"Matches Unicode whitespace characters (which includes ``[ \\t\\n\\r\\f"
"\\v]``, and also many other characters, for example the non-breaking spaces "
"mandated by typography rules in many languages). If the :const:`ASCII` flag "
"is used, only ``[ \\t\\n\\r\\f\\v]`` is matched."
"Matches Unicode whitespace characters (which includes "
"``[ \\t\\n\\r\\f\\v]``, and also many other characters, for example the non-"
"breaking spaces mandated by typography rules in many languages). If the :"
"const:`ASCII` flag is used, only ``[ \\t\\n\\r\\f\\v]`` is matched."
msgstr ""
"Valide les caractères d'espacement Unicode (qui incluent ``[ \\t\\n\\r\\f"
"\\v]`` et bien d'autres, comme les espaces insécables requises par les "
"règles typographiques de beaucoup de langues). Si l'option :const:`ASCII` "
"est utilisée, seuls les caractères de la classe ``[ \\t\\n\\r\\f\\v]`` sont "
"validés."
"Valide les caractères d'espacement Unicode (qui incluent "
"``[ \\t\\n\\r\\f\\v]`` et bien d'autres, comme les espaces insécables "
"requises par les règles typographiques de beaucoup de langues). Si l'option :"
"const:`ASCII` est utilisée, seuls les caractères de la classe "
"``[ \\t\\n\\r\\f\\v]`` sont validés."
#: library/re.rst:578
msgid ""
@ -1197,8 +1197,8 @@ msgid ""
"``[^a-zA-Z0-9_]``. If the :const:`LOCALE` flag is used, matches characters "
"which are neither alphanumeric in the current locale nor the underscore."
msgstr ""
"Valide tout caractère qui n'est pas un caractère de mot. C'est l'opposé de ``"
"\\w``. Si l'option :const:`ASCII` est utilisée, cela devient équivalent à "
"Valide tout caractère qui n'est pas un caractère de mot. C'est l'opposé de "
"``\\w``. Si l'option :const:`ASCII` est utilisée, cela devient équivalent à "
"``[^a-zA-Z0-9_]``. Si l'option :const:`LOCALE` est utilisée, les caractères "
"considérés alphanumériques dans la locale, et le tiret bas, ne correspondent "
"pas."
@ -1311,13 +1311,13 @@ msgstr ""
#: library/re.rst:688
msgid ""
"Make ``\\w``, ``\\W``, ``\\b``, ``\\B``, ``\\d``, ``\\D``, ``\\s`` and ``"
"\\S`` perform ASCII-only matching instead of full Unicode matching. This is "
"only meaningful for Unicode patterns, and is ignored for byte patterns. "
"Make ``\\w``, ``\\W``, ``\\b``, ``\\B``, ``\\d``, ``\\D``, ``\\s`` and "
"``\\S`` perform ASCII-only matching instead of full Unicode matching. This "
"is only meaningful for Unicode patterns, and is ignored for byte patterns. "
"Corresponds to the inline flag ``(?a)``."
msgstr ""
"Fait correspondre à ``\\w``, ``\\W``, ``\\b``, ``\\B``, ``\\d``, ``\\D``, ``"
"\\s`` et ``\\s`` des caractères ASCII seulement, plutôt qu'Unicode. Cela "
"Fait correspondre à ``\\w``, ``\\W``, ``\\b``, ``\\B``, ``\\d``, ``\\D``, "
"``\\s`` et ``\\s`` des caractères ASCII seulement, plutôt qu'Unicode. Cela "
"n'a du sens que pour les motifs Unicode, et est ignoré pour les motifs 8-"
"bits. Correspond à l'option de groupe ``(?a)``."
@ -1363,9 +1363,9 @@ msgid ""
"Note that when the Unicode patterns ``[a-z]`` or ``[A-Z]`` are used in "
"combination with the :const:`IGNORECASE` flag, they will match the 52 ASCII "
"letters and 4 additional non-ASCII letters: 'İ' (U+0130, Latin capital "
"letter I with dot above), 'ı' (U+0131, Latin small letter dotless i), 'ſ' (U"
"+017F, Latin small letter long s) and '' (U+212A, Kelvin sign). If the :"
"const:`ASCII` flag is used, only letters 'a' to 'z' and 'A' to 'Z' are "
"letter I with dot above), 'ı' (U+0131, Latin small letter dotless i), "
"'ſ' (U+017F, Latin small letter long s) and '' (U+212A, Kelvin sign). If "
"the :const:`ASCII` flag is used, only letters 'a' to 'z' and 'A' to 'Z' are "
"matched."
msgstr ""
"À noter : quand les motifs Unicode ``[a-z]`` ou ``[A-Z]`` sont utilisés en "
@ -1511,11 +1511,11 @@ msgstr ""
#: library/re.rst:817
msgid "The sequence ::"
msgstr "La séquence ::"
msgstr "La séquence ::"
#: library/re.rst:822
msgid "is equivalent to ::"
msgstr "est équivalente à ::"
msgstr "est équivalente à ::"
#: library/re.rst:826
msgid ""
@ -1701,11 +1701,11 @@ msgid ""
"occurrences of *pattern* in *string* by the replacement *repl*. If the "
"pattern isn't found, *string* is returned unchanged. *repl* can be a string "
"or a function; if it is a string, any backslash escapes in it are "
"processed. That is, ``\\n`` is converted to a single newline character, ``"
"\\r`` is converted to a carriage return, and so forth. Unknown escapes of "
"processed. That is, ``\\n`` is converted to a single newline character, "
"``\\r`` is converted to a carriage return, and so forth. Unknown escapes of "
"ASCII letters are reserved for future use and treated as errors. Other "
"unknown escapes such as ``\\&`` are left alone. Backreferences, such as ``"
"\\6``, are replaced with the substring matched by group 6 in the pattern. "
"unknown escapes such as ``\\&`` are left alone. Backreferences, such as "
"``\\6``, are replaced with the substring matched by group 6 in the pattern. "
"For example::"
msgstr ""
"Renvoie la chaîne obtenue en remplaçant les occurrences (sans chevauchement) "
@ -1756,11 +1756,11 @@ msgstr ""
msgid ""
"In string-type *repl* arguments, in addition to the character escapes and "
"backreferences described above, ``\\g<name>`` will use the substring matched "
"by the group named ``name``, as defined by the ``(?P<name>...)`` syntax. ``"
"\\g<number>`` uses the corresponding group number; ``\\g<2>`` is therefore "
"equivalent to ``\\2``, but isn't ambiguous in a replacement such as ``"
"\\g<2>0``. ``\\20`` would be interpreted as a reference to group 20, not a "
"reference to group 2 followed by the literal character ``'0'``. The "
"by the group named ``name``, as defined by the ``(?P<name>...)`` syntax. "
"``\\g<number>`` uses the corresponding group number; ``\\g<2>`` is therefore "
"equivalent to ``\\2``, but isn't ambiguous in a replacement such as "
"``\\g<2>0``. ``\\20`` would be interpreted as a reference to group 20, not "
"a reference to group 2 followed by the literal character ``'0'``. The "
"backreference ``\\g<0>`` substitutes in the entire substring matched by the "
"RE."
msgstr ""
@ -2093,14 +2093,14 @@ msgid ""
"Return the string obtained by doing backslash substitution on the template "
"string *template*, as done by the :meth:`~Pattern.sub` method. Escapes such "
"as ``\\n`` are converted to the appropriate characters, and numeric "
"backreferences (``\\1``, ``\\2``) and named backreferences (``\\g<1>``, ``"
"\\g<name>``) are replaced by the contents of the corresponding group."
"backreferences (``\\1``, ``\\2``) and named backreferences (``\\g<1>``, "
"``\\g<name>``) are replaced by the contents of the corresponding group."
msgstr ""
"Renvoie la chaîne obtenue en substituant les séquences d'échappement du "
"gabarit *template*, comme réalisé par la méthode :meth:`~Pattern.sub`. Les "
"séquences comme ``\\n`` sont converties vers les caractères appropriés, et "
"les références arrières numériques (``\\1``, ``\\2``) et nommées (``"
"\\g<1>``, ``\\g<name>``) sont remplacées par les contenus des groupes "
"les références arrières numériques (``\\1``, ``\\2``) et nommées "
"(``\\g<1>``, ``\\g<name>``) sont remplacées par les contenus des groupes "
"correspondant."
#: library/re.rst:1268
@ -2216,7 +2216,7 @@ msgstr ""
"la correspondance complète). Renvoie ``-1`` si *group* existe mais ne figure "
"pas dans la correspondance. Pour un objet de correspondance *m*, et un "
"groupe *g* qui y figure, la sous-chaîne correspondant au groupe *g* "
"(équivalente à ``m.group(g)``) est ::"
"(équivalente à ``m.group(g)``) est ::"
#: library/re.rst:1386
msgid ""
@ -2462,15 +2462,15 @@ msgstr "``[-+]?(0[xX])?[\\dA-Fa-f]+``"
#: library/re.rst:1544
msgid "To extract the filename and numbers from a string like ::"
msgstr ""
"Pour extraire le nom de fichier et les nombres depuis une chaîne comme ::"
"Pour extraire le nom de fichier et les nombres depuis une chaîne comme ::"
#: library/re.rst:1548
msgid "you would use a :c:func:`scanf` format like ::"
msgstr "vous utiliseriez un format :c:func:`scanf` comme ::"
msgstr "vous utiliseriez un format :c:func:`scanf` comme ::"
#: library/re.rst:1552
msgid "The equivalent regular expression would be ::"
msgstr "L'expression rationnelle équivalente serait ::"
msgstr "L'expression rationnelle équivalente serait ::"
#: library/re.rst:1560
msgid "search() vs. match()"

View File

@ -1963,7 +1963,7 @@ msgstr ""
"Python. Vous ne devez pas assembler votre requête à l'aide des opérations "
"sur les chaînes de caractères de Python, car cela n'est pas sûr. Cela rend "
"votre programme vulnérable à une attaque par injection SQL (voir https://"
"xkcd.com/327/ pour un exemple amusant de ce qui peut mal tourner)."
"xkcd.com/327/ pour un exemple amusant de ce qui peut mal tourner) ::"
#: library/sqlite3.rst:1847
#, fuzzy

View File

@ -1207,7 +1207,7 @@ msgid ""
msgstr ""
"Les objets *Popen* sont gérés comme gestionnaires de contexte avec "
"l'instruction :keyword:`with` : à la sortie, les descripteurs de fichiers "
"standards sont fermés, et le processus est attendu ::"
"standards sont fermés, et le processus est attendu ::"
#: library/subprocess.rst:334
msgid ""
@ -1643,7 +1643,7 @@ msgid ""
"are used when the process creates a window. ::"
msgstr ""
"Un champ de bits déterminant si certains attributs :class:`STARTUPINFO` sont "
"utilisés quand le processus crée une fenêtre ::"
"utilisés quand le processus crée une fenêtre ::"
#: library/subprocess.rst:959
msgid ""

View File

@ -72,7 +72,7 @@ msgid ""
"the wrapped paragraph. :func:`fill` is shorthand for ::"
msgstr ""
"Formate le paragraphe unique dans *text* et renvoie une seule chaîne dont le "
"contenu est le paragraphe formaté. :func:`fill` est un raccourci pour ::"
"contenu est le paragraphe formaté. :func:`fill` est un raccourci pour ::"
#: library/textwrap.rst:50
msgid ""
@ -211,11 +211,11 @@ msgid ""
msgstr ""
"Le constructeur :class:`TextWrapper` accepte un certain nombre d'arguments "
"nommés optionnels. Chaque argument nommé correspond à un attribut "
"d'instance, donc par exemple ::"
"d'instance, donc par exemple ::"
#: library/textwrap.rst:152
msgid "is the same as ::"
msgstr "est identique à ::"
msgstr "est identique à ::"
#: library/textwrap.rst:157
msgid ""
@ -354,11 +354,11 @@ msgstr ""
"suivie de l'une des lettres suivantes : ``'.'``, ``'!'``, ou ``'?'``, "
"éventuellement suivie d'une des lettres ``'\"'`` ou ``\"'\"``, suivie par "
"une espace. Un problème avec cet algorithme est qu'il est incapable de "
"détecter la différence entre \"Dr\" dans ::"
"détecter la différence entre \"Dr\" dans ::"
#: library/textwrap.rst:246
msgid "and \"Spot.\" in ::"
msgstr "et \"Spot.\" dans ::"
msgstr "et \"Spot.\" dans ::"
#: library/textwrap.rst:250
msgid ":attr:`fix_sentence_endings` is false by default."

View File

@ -1833,7 +1833,7 @@ msgstr ""
"Définit l'image de fond ou renvoie l'image de fond actuelle. Si *picname* "
"est un nom de fichier, cette image et mis en image de fond. Si *picname* est "
"``\"nopic\"``, l'image de fond sera supprimée si présente. SI *picname* est "
"``None``, le nom du fichier de l'image de fond actuelle est renvoyé. ::"
"``None``, le nom du fichier de l'image de fond actuelle est renvoyé. ::"
#: library/turtle.rst:1631
msgid ""
@ -2077,7 +2077,7 @@ msgstr ""
"Doit être la dernière opération dan un programme graphique *turtle*. **Ne "
"dois pas** être utilisé si un script est lancé depuis IDLE avec le mode ``-"
"n`` (pas de sous processus) - pour une utilisation interactive des "
"graphiques *turtle* ::"
"graphiques *turtle* ::"
#: library/turtle.rst:1880 library/turtle.rst:1893
msgid "string"
@ -2093,7 +2093,7 @@ msgstr ""
"Fait apparaitre une fenêtre pour entrer une chaine de caractères. Le "
"paramètre *title* est le titre de la fenêtre, *prompt* est le texte "
"expliquant quelle information écrire. Renvoie l'entrée utilisateur sous "
"forme de chaîne. Si le dialogue est annulé, renvoie ``None``. ::"
"forme de chaîne. Si le dialogue est annulé, renvoie ``None``. ::"
#: library/turtle.rst:1898
#, fuzzy
@ -2113,7 +2113,7 @@ msgstr ""
"dans la gamme *minval..maxval* si ces valeurs sont données. Sinon, un indice "
"apparait et le dialogue reste ouvert pour corriger le nombre. Renvoie "
"l'entrée utilisateur sous forme de nombre. Si le dialogue est annulé, "
"renvoie ``None``. ::"
"renvoie ``None``. ::"
#: library/turtle.rst:1915
msgid "one of the strings \"standard\", \"logo\" or \"world\""
@ -2215,7 +2215,7 @@ msgid ""
"corresponding image shape. ::"
msgstr ""
"*name* est le nom d'un fichier *gif* et *shape* est ``None`` : Installe la "
"forme d'image correspondante. ::"
"forme d'image correspondante. ::"
#: library/turtle.rst:1998
msgid ""
@ -2257,11 +2257,11 @@ msgstr "Renvoie la liste des tortues présentes sur l'écran."
#: library/turtle.rst:2029
msgid "Return the height of the turtle window. ::"
msgstr "Renvoie la hauteur de la fenêtre de la tortue. ::"
msgstr "Renvoie la hauteur de la fenêtre de la tortue. ::"
#: library/turtle.rst:2037
msgid "Return the width of the turtle window. ::"
msgstr "Renvoie la largeur de la fenêtre de la tortue. ::"
msgstr "Renvoie la largeur de la fenêtre de la tortue. ::"
#: library/turtle.rst:2046
msgid "Methods specific to Screen, not inherited from TurtleScreen"
@ -2786,7 +2786,7 @@ msgid ""
"Alternatively, you can run the demo scripts individually. For example, ::"
msgstr ""
"Alternativement, vous pouvez lancer les scripts de démo individuellement. "
"Par exemple ::"
"Par exemple ::"
#: library/turtle.rst:2389
msgid "The :mod:`turtledemo` package directory contains:"

View File

@ -350,7 +350,7 @@ msgstr ""
#: library/typing.rst:173
msgid "It is invalid to create a subtype of ``Derived``::"
msgstr "La création d'un sous-type de ``Derived`` est invalide:"
msgstr "La création d'un sous-type de ``Derived`` est invalide ::"
#: library/typing.rst:182
msgid ""
@ -1805,9 +1805,9 @@ msgstr "Marquez une classe de protocole comme protocole d'exécution."
msgid ""
"Such a protocol can be used with :func:`isinstance` and :func:`issubclass`. "
"This raises :exc:`TypeError` when applied to a non-protocol class. This "
"allows a simple-minded structural check, very similar to \"one trick ponies"
"\" in :mod:`collections.abc` such as :class:`~collections.abc.Iterable`. "
"For example::"
"allows a simple-minded structural check, very similar to \"one trick "
"ponies\" in :mod:`collections.abc` such as :class:`~collections.abc."
"Iterable`. For example::"
msgstr ""
"Un tel protocole peut être utilisé avec :func:`isinstance` et :func:"
"`issubclass`. Cela lève :exc:`TypeError` lorsqu'il est appliqué à une classe "
@ -2837,7 +2837,7 @@ msgid ""
"error if the value is not of the specified type::"
msgstr ""
"Lors d'un appel à ``assert_type()``, le vérificateur de types va lever "
"émettre une erreur si la variable n'est pas du type renseigné ::"
"émettre une erreur si la variable n'est pas du type renseigné ::"
#: library/typing.rst:2425
msgid ""
@ -2850,7 +2850,7 @@ msgid ""
"script is in line with the developer's intentions::"
msgstr ""
"Cette fonction permet de s'assurer de la compréhension du vérificateur de "
"type d'un script par rapport aux intentions du développeur ::"
"type d'un script par rapport aux intentions du développeur ::"
#: library/typing.rst:2441
msgid ""
@ -2905,7 +2905,7 @@ msgid ""
"diagnostic with the type of the argument. For example::"
msgstr ""
"Lorsqu'un vérificateur de types rencontre un appel à cette fonction, il va "
"diagnostiquer le type de l'argument. Par exemple ::"
"diagnostiquer le type de l'argument. Par exemple ::"
#: library/typing.rst:2485
msgid ""
@ -2921,7 +2921,7 @@ msgid ""
"expression::"
msgstr ""
"La fonction renvoie l'argument inchangé. Ce qui permet de l'utiliser au sein "
"d'une expression ::"
"d'une expression ::"
#: library/typing.rst:2493
msgid ""
@ -2940,7 +2940,7 @@ msgid ""
"and returns it unchanged::"
msgstr ""
"Lors de l'exécution, cette fonction affiche le type de son argument dans "
"*stderr* et le renvoie inchangé ::"
"*stderr* et le renvoie inchangé ::"
#: library/typing.rst:2508
msgid ""
@ -2958,15 +2958,15 @@ msgstr ""
#: library/typing.rst:2514
msgid "Example usage with a decorator function::"
msgstr "Exemple d'utilisation avec une fonction décoratrice::"
msgstr "Exemple d'utilisation avec une fonction décoratrice ::"
#: library/typing.rst:2528
msgid "On a base class::"
msgstr "Avec une classe de base :"
msgstr "Avec une classe de base ::"
#: library/typing.rst:2537
msgid "On a metaclass::"
msgstr "Avec une métaclasse :"
msgstr "Avec une métaclasse ::"
#: library/typing.rst:2548
msgid ""
@ -3218,11 +3218,11 @@ msgid ""
"exception."
msgstr ""
"Le décorateur met l'attribut ``__final__`` à ``True`` de l'objet décoré. "
"Cela permet d'utiliser une vérification comme ``if getattr(obj, \"__final__"
"\", False)`` durant l'exécution afin de vérifier si un objet ``obj`` est "
"décoré comme ``final``. Dans le cas où l'objet décoré ne supporte pas la "
"modification d'attributs, le décorateur retournera l'objet de base sans "
"lever d'exception."
"Cela permet d'utiliser une vérification comme ``if getattr(obj, "
"\"__final__\", False)`` durant l'exécution afin de vérifier si un objet "
"``obj`` est décoré comme ``final``. Dans le cas où l'objet décoré ne "
"supporte pas la modification d'attributs, le décorateur retournera l'objet "
"de base sans lever d'exception."
#: library/typing.rst:2700
msgid "Decorator to indicate that annotations are not type hints."

View File

@ -525,7 +525,7 @@ msgid ""
msgstr ""
"Les tests de C14N version 2.0 du module :mod:`test` (``Lib/test/xmltestdata/"
"c14n-20/``) proviennent du site du W3C à l'adresse https://www.w3.org/TR/xml-"
"c14n2-testcases/ et sont distribués sous licence BSD modifiée :"
"c14n2-testcases/ et sont distribués sous licence BSD modifiée ::"
#: license.rst:990
msgid "Audioop"

View File

@ -369,11 +369,11 @@ msgid ""
"the end of the :keyword:`!except` clause. This is as if ::"
msgstr ""
"Lorsqu'une exception a été assignée en utilisant ``as cible``, elle est "
"effacée à la fin de la clause ``except``. C'est comme si ::"
"effacée à la fin de la clause ``except``. C'est comme si ::"
#: reference/compound_stmts.rst:285
msgid "was translated to ::"
msgstr "avait été traduit en ::"
msgstr "avait été traduit en ::"
#: reference/compound_stmts.rst:293
#, fuzzy
@ -1894,11 +1894,11 @@ msgstr ""
"fonction comme seul argument ; la valeur renvoyée est liée au nom de la "
"fonction en lieu et place de l'objet fonction. Lorsqu'il y a plusieurs "
"décorateurs, ils sont appliqués par imbrication ; par exemple, le code "
"suivant ::"
"suivant ::"
#: reference/compound_stmts.rst:1248 reference/compound_stmts.rst:1425
msgid "is roughly equivalent to ::"
msgstr "est à peu près équivalent à ::"
msgstr "est à peu près équivalent à ::"
#: reference/compound_stmts.rst:1253
msgid ""
@ -2135,11 +2135,11 @@ msgstr ""
"utilisations plus avancées). Donc chaque élément de la liste doit pouvoir "
"être évalué comme un objet classe qui autorise les sous-classes. Les classes "
"sans liste d'héritage héritent, par défaut, de la classe mère :class:"
"`object` ; d'où ::"
"`object` ; d'où ::"
#: reference/compound_stmts.rst:1395
msgid "is equivalent to ::"
msgstr "est équivalente à ::"
msgstr "est équivalente à ::"
#: reference/compound_stmts.rst:1400
msgid ""
@ -2186,7 +2186,7 @@ msgstr ""
msgid "Classes can also be decorated: just like when decorating functions, ::"
msgstr ""
"Les classes peuvent aussi être décorées. Comme pour les décorateurs de "
"fonctions ::"
"fonctions ::"
#: reference/compound_stmts.rst:1430
msgid ""
@ -2531,4 +2531,4 @@ msgstr ""
#~ "élément avant l'élément courant, l'élément courant est traité une "
#~ "deuxième fois à la prochaine itération. Ceci peut conduire à de méchants "
#~ "bugs, que vous pouvez éviter en effectuant une copie temporaire d'une "
#~ "tranche ou de la séquence complète, par exemple ::"
#~ "tranche ou de la séquence complète, par exemple ::"

View File

@ -3568,7 +3568,7 @@ msgid ""
msgstr ""
"Si l'affectation se produit après la création de la classe, le point "
"d'entrée :meth:`__set_name__` n'est pas appelé automatiquement. Mais il est "
"autorisé d'appeler :meth:`__set_name__` manuellement :"
"autorisé d'appeler :meth:`__set_name__` manuellement ::"
#: reference/datamodel.rst:2037
msgid "See :ref:`class-object-creation` for more details."
@ -4334,11 +4334,11 @@ msgid ""
"Slicing is done exclusively with the following three methods. A call like ::"
msgstr ""
"le découpage est effectué uniquement à l'aide des trois méthodes suivantes. "
"Un appel comme ::"
"Un appel comme ::"
#: reference/datamodel.rst:2500
msgid "is translated to ::"
msgstr "est traduit en ::"
msgstr "est traduit en ::"
#: reference/datamodel.rst:2504
msgid "and so forth. Missing slice items are always filled in with ``None``."

View File

@ -141,11 +141,11 @@ msgstr ""
"de cette expression désigne l'encodage du fichier source. Cette déclaration "
"d'encodage doit être seule sur sa ligne et, si elle est sur la deuxième "
"ligne, la première ligne doit aussi être une ligne composée uniquement d'un "
"commentaire. Les formes recommandées pour l'expression de l'encodage sont ::"
"commentaire. Les formes recommandées pour l'expression de l'encodage sont ::"
#: reference/lexical_analysis.rst:93
msgid "which is recognized also by GNU Emacs, and ::"
msgstr "qui est reconnue aussi par GNU Emacs et ::"
msgstr "qui est reconnue aussi par GNU Emacs et ::"
#: reference/lexical_analysis.rst:97
msgid "which is recognized by Bram Moolenaar's VIM."

View File

@ -580,13 +580,13 @@ msgstr ""
#: reference/simple_stmts.rst:389
msgid "The simple form, ``assert expression``, is equivalent to ::"
msgstr "La forme la plus simple, ``assert expression``, est équivalente à ::"
msgstr "La forme la plus simple, ``assert expression``, est équivalente à ::"
#: reference/simple_stmts.rst:394
msgid ""
"The extended form, ``assert expression1, expression2``, is equivalent to ::"
msgstr ""
"La forme étendue, ``assert expression1, expression2``, est équivalente à ::"
"La forme étendue, ``assert expression1, expression2``, est équivalente à ::"
#: reference/simple_stmts.rst:403
msgid ""
@ -764,11 +764,11 @@ msgstr ""
"`expression yield <yieldexpr>`. L'instruction *yield* peut être utilisée "
"pour omettre les parenthèses qui seraient autrement requises dans "
"l'instruction équivalente d'expression *yield*. Par exemple, les "
"instructions *yield* ::"
"instructions *yield* ::"
#: reference/simple_stmts.rst:537
msgid "are equivalent to the yield expression statements ::"
msgstr "sont équivalentes aux instructions expressions *yield* ::"
msgstr "sont équivalentes aux instructions expressions *yield* ::"
#: reference/simple_stmts.rst:542
msgid ""

View File

@ -303,7 +303,7 @@ msgid ""
"The simplest form compares a subject value against one or more literals::"
msgstr ""
"Dans sa plus simple expression, une instruction ``match`` compare une valeur "
"à des littéraux :"
"à des littéraux ::"
#: tutorial/controlflow.rst:274
msgid ""
@ -329,7 +329,7 @@ msgid ""
"variables::"
msgstr ""
"Les filtres peuvent prendre une forme similaire aux affectations multiples, "
"et provoquer la liaison de variables :"
"et provoquer la liaison de variables ::"
#: tutorial/controlflow.rst:298
msgid ""
@ -400,7 +400,7 @@ msgid ""
"points, we could match it like this::"
msgstr ""
"On peut imbriquer les filtres autant que de besoin. Ainsi, on peut lire une "
"courte liste de points comme ceci :"
"courte liste de points comme ceci ::"
#: tutorial/controlflow.rst:359
msgid ""
@ -461,7 +461,7 @@ msgstr ""
msgid "Subpatterns may be captured using the ``as`` keyword::"
msgstr ""
"on peut capturer la valeur d'une partie d'un filtre avec le mot-clé ``as``, "
"par exemple :"
"par exemple ::"
#: tutorial/controlflow.rst:389
msgid ""
@ -737,7 +737,7 @@ msgid ""
"*defining* scope, so that ::"
msgstr ""
"Les valeurs par défaut sont évaluées lors de la définition de la fonction "
"dans la portée de la *définition*, de telle sorte que ::"
"dans la portée de la *définition*, de telle sorte que ::"
#: tutorial/controlflow.rst:581
msgid "will print ``5``."
@ -759,7 +759,7 @@ msgstr ""
# pas de majuscule : ok
#: tutorial/controlflow.rst:596
msgid "This will print ::"
msgstr "affiche ::"
msgstr "affiche ::"
#: tutorial/controlflow.rst:602
msgid ""
@ -1093,7 +1093,7 @@ msgstr ""
"fonction peut être appelée avec un nombre arbitraire d'arguments. Ces "
"arguments sont intégrés dans un *n*-uplet (voir :ref:`tut-tuples`). Avant le "
"nombre variable d'arguments, zéro ou plus arguments normaux peuvent "
"apparaître ::"
"apparaître ::"
#: tutorial/controlflow.rst:890
msgid ""
@ -1106,7 +1106,7 @@ msgstr ""
"Normalement, ces arguments ``variadiques`` sont les derniers paramètres, "
"parce qu'ils agrègent toutes les valeurs suivantes. Tout paramètre placé "
"après le paramètre ``*arg`` ne pourra être utilisé que comme argument nommé, "
"pas comme argument positionnel ::"
"pas comme argument positionnel ::"
#: tutorial/controlflow.rst:907
msgid "Unpacking Argument Lists"

View File

@ -287,7 +287,7 @@ msgid ""
"it must be parenthesized. ::"
msgstr ""
"Si l'expression est un *n*-uplet (c'est-à-dire ``(x, y)`` dans cet exemple), "
"elle doit être mise entre parenthèses ::"
"elle doit être mise entre parenthèses ::"
#: tutorial/datastructures.rst:280
msgid ""
@ -642,7 +642,7 @@ msgid ""
msgstr ""
"Lorsque vous faites une boucle sur un dictionnaire, la clé et la valeur "
"associée peuvent être récupérées en même temps en utilisant la méthode :meth:"
"`items` ::"
"`items` ::"
#: tutorial/datastructures.rst:579
msgid ""
@ -659,7 +659,7 @@ msgid ""
"paired with the :func:`zip` function. ::"
msgstr ""
"Pour faire une boucle sur deux séquences ou plus en même temps, les éléments "
"peuvent être associés en utilisant la fonction :func:`zip` ::"
"peuvent être associés en utilisant la fonction :func:`zip` ::"
#: tutorial/datastructures.rst:601
msgid ""
@ -668,7 +668,7 @@ msgid ""
msgstr ""
"Pour faire une boucle en sens inverse sur une séquence, commencez par "
"spécifier la séquence dans son ordre normal, puis appliquez la fonction :"
"func:`reversed` ::"
"func:`reversed` ::"
#: tutorial/datastructures.rst:613
msgid ""
@ -677,7 +677,7 @@ msgid ""
msgstr ""
"Pour faire une boucle sur une séquence de manière ordonnée, utilisez la "
"fonction :func:`sorted` qui renvoie une nouvelle liste ordonnée sans altérer "
"la source ::"
"la source ::"
#: tutorial/datastructures.rst:627
msgid ""
@ -689,7 +689,7 @@ msgstr ""
"L'utilisation de la fonction :func:`set` sur une séquence élimine les "
"doublons. Combiner les fonctions :func:`sorted` et :func:`set` sur une "
"séquence est la façon « canonique » d'itérer sur les éléments uniques d'une "
"séquence dans l'ordre. ::"
"séquence dans l'ordre. ::"
#: tutorial/datastructures.rst:640
msgid ""
@ -698,7 +698,7 @@ msgid ""
msgstr ""
"Il est parfois tentant de modifier une liste pendant que l'on itère dessus. "
"Il est souvent plus simple et plus sûr de créer une nouvelle liste à la "
"place. ::"
"place. ::"
#: tutorial/datastructures.rst:657
msgid "More on Conditions"
@ -775,7 +775,7 @@ msgid ""
"expression to a variable. For example, ::"
msgstr ""
"Il est possible d'affecter le résultat d'une comparaison ou d'une autre "
"expression booléenne à une variable. Par exemple ::"
"expression booléenne à une variable. Par exemple ::"
#: tutorial/datastructures.rst:694
msgid ""

View File

@ -147,7 +147,7 @@ msgstr ""
"l'utilisateur d'interrompre le programme (en utilisant :kbd:`Control-C` ou "
"un autre raccourci que le système accepte) ; notez qu'une interruption "
"générée par l'utilisateur est signalée en levant l'exception :exc:"
"`KeyboardInterrupt`. ::"
"`KeyboardInterrupt`. ::"
# début d'énumération
#: tutorial/errors.rst:96
@ -261,7 +261,7 @@ msgstr ""
"arguments stockés dans l'attribut ``args``. Pour plus de commodité, "
"l'instance de l'exception définit la méthode :meth:`__str__` afin que les "
"arguments puissent être affichés directement sans avoir à référencer ``."
"args``. ::"
"args``. ::"
#: tutorial/errors.rst:177
msgid ""
@ -600,7 +600,7 @@ msgstr ""
"Certains objets définissent des actions de nettoyage standards qui doivent "
"être exécutées lorsque l'objet n'est plus nécessaire, indépendamment du fait "
"que l'opération ayant utilisé l'objet ait réussi ou non. Regardez l'exemple "
"suivant, qui tente d'ouvrir un fichier et d'afficher son contenu à l'écran ::"
"suivant, qui tente d'ouvrir un fichier et d'afficher son contenu à l'écran ::"
#: tutorial/errors.rst:478
msgid ""
@ -684,7 +684,7 @@ msgstr ""
"Notez que les exceptions imbriquées dans un groupe d'exceptions doivent être "
"des instances, pas des types. En effet, dans la pratique, les exceptions "
"sont normalement celles qui ont déjà été déclenchées et interceptées par le "
"programme, en utilisant le modèle suivant :"
"programme, en utilisant le modèle suivant ::"
#: tutorial/errors.rst:582
msgid "Enriching Exceptions with Notes"

View File

@ -58,7 +58,7 @@ msgstr ""
#: tutorial/floatingpoint.rst:35
msgid "or, better, ::"
msgstr "ou, mieux ::"
msgstr "ou, mieux ::"
#: tutorial/floatingpoint.rst:39
msgid ""
@ -78,7 +78,7 @@ msgid ""
msgstr ""
"De la même manière, peu importe combien de décimales en base 2 vous "
"utilisez, la valeur décimale 0.1 ne peut pas être représentée exactement en "
"fraction binaire. En base 2, 1/10 est le nombre périodique suivant ::"
"fraction binaire. En base 2, 1/10 est le nombre périodique suivant ::"
#: tutorial/floatingpoint.rst:49
msgid ""
@ -108,7 +108,7 @@ msgstr ""
"il est facile d'oublier que la valeur stockée est une approximation de la "
"fraction décimale d'origine. Python n'affiche qu'une approximation décimale "
"de la valeur stockée en binaire. Si Python devait afficher la vraie valeur "
"décimale de l'approximation binaire stockée pour 0,1, il afficherait ::"
"décimale de l'approximation binaire stockée pour 0,1, il afficherait ::"
#: tutorial/floatingpoint.rst:65
msgid ""
@ -117,7 +117,7 @@ msgid ""
msgstr ""
"C'est bien plus de décimales que ce qu'attendent la plupart des "
"utilisateurs, donc Python affiche une valeur arrondie afin d'améliorer la "
"lisibilité ::"
"lisibilité ::"
#: tutorial/floatingpoint.rst:71
msgid ""
@ -409,11 +409,11 @@ msgstr ""
"double précision » utilisent 53 bits de précision donc, à la lecture, "
"l'ordinateur essaie de convertir 0,1 dans la fraction la plus proche "
"possible de la forme *J*/2**\\ *N* avec *J* un nombre entier d'exactement 53 "
"bits. Pour réécrire ::"
"bits. Pour réécrire ::"
#: tutorial/floatingpoint.rst:223
msgid "as ::"
msgstr "en ::"
msgstr "en ::"
#: tutorial/floatingpoint.rst:227
msgid ""

View File

@ -585,7 +585,7 @@ msgstr ""
"référence ; ce point de référence est déterminé par l'argument *origine* : "
"la valeur 0 pour le début du fichier, 1 pour la position actuelle et 2 pour "
"la fin du fichier. *origine* peut être omis et sa valeur par défaut est 0 "
"(Python utilise le début du fichier comme point de référence). ::"
"(Python utilise le début du fichier comme point de référence). ::"
#: tutorial/inputoutput.rst:453
msgid ""

View File

@ -229,7 +229,7 @@ msgstr "Exécuter des modules comme des scripts"
#: tutorial/modules.rst:149
msgid "When you run a Python module with ::"
msgstr "Lorsque vous exécutez un module Python avec ::"
msgstr "Lorsque vous exécutez un module Python avec ::"
#: tutorial/modules.rst:153
msgid ""

View File

@ -762,7 +762,7 @@ msgstr ""
#: using/cmdline.rst:445
msgid "The full form of argument is::"
msgstr "La forme développée de l'argument de ``-W`` est :"
msgstr "La forme développée de l'argument de ``-W`` est ::"
#: using/cmdline.rst:449
msgid ""

View File

@ -1629,7 +1629,7 @@ msgid ""
msgstr ""
"Si plusieurs versions de Python sont installées (par exemple, 3.7 et |"
"version|), vous aurez remarqué que Python |version| se lance -- pour lancer "
"Python 3.7, essayez la commande :"
"Python 3.7, essayez la commande ::"
#: using/windows.rst:728
msgid ""

View File

@ -589,7 +589,7 @@ msgstr ""
"Python rendent le résultat laid si la petite fonction a besoin "
"dinformations supplémentaires. Prenons le premier exemple du paragraphe "
"précédent, en trouvant toutes les chaînes de la liste contenant une sous-"
"chaîne donnée. Vous pouvez écrire ce qui suit pour le faire::"
"chaîne donnée. Vous pouvez écrire ce qui suit pour le faire ::"
#: whatsnew/2.0.rst:286
msgid ""
@ -600,7 +600,7 @@ msgstr ""
"En raison des règles de portée de Python, un argument par défaut est utilisé "
"de sorte que la fonction anonyme créée par lexpression :keyword:`lambda` "
"sait quelle sous-chaîne est recherchée. Les listes en compréhension rendent "
"ceci plus propre :"
"ceci plus propre ::"
#: whatsnew/2.0.rst:292
msgid "List comprehensions have the form::"
@ -642,7 +642,7 @@ msgstr ""
"Cela signifie que lorsquil y a plusieurs :keyword:`!for`…\\ :keyword:`!in` "
"clauses, la liste résultante sera égale au produit des longueurs de toutes "
"les séquences. Si vous avez deux listes de longueur 3, la liste de sortie "
"est de longueur 9::"
"est de longueur 9 ::"
#: whatsnew/2.0.rst:330
msgid ""

View File

@ -1957,7 +1957,7 @@ msgstr ""
#: whatsnew/2.7.rst:1752
msgid "Here are some examples::"
msgstr "Voici quelques exemples :"
msgstr "Voici quelques exemples ::"
#: whatsnew/2.7.rst:1763
msgid ""

View File

@ -474,7 +474,8 @@ msgstr "La syntaxe générique du filtrage par motifs est ::"
# Lexique pour cette section:
# "pattern": "motif du filtre"
# "match": "comparaison" action de tester si il y a un match
# "match": "bloc ``match``" ou "instruction ``match`` pour l'élément syntaxique
# "match": "bloc ``match``" ou "instruction ``match`` pour l'élément
# syntaxique
# "match": "appariement" comparaison réussie
# "wildcard": "attrape-tout"
# "guard": "garde"
@ -3498,7 +3499,7 @@ msgstr ""
"façon de faire est d'utiliser le module :py:mod:`io` en conjonction avec :c:"
"func:`PyImport_ImportModule`, :c:func:`PyObject_CallMethod`, :c:func:"
"`PyBytes_AsString` et :c:func:`Py_CompileString`, comme dans l'esquisse qui "
"suit (les déclarations et la gestion d'erreurs ne sont pas incluses) ::"
"suit (les déclarations et la gestion d'erreurs ne sont pas incluses) ::"
#: whatsnew/3.10.rst:1961
msgid ""

View File

@ -1157,8 +1157,8 @@ msgid ""
"+``, ``{m,n}+``) are now supported in regular expressions. (Contributed by "
"Jeffrey C. Jacobs and Serhiy Storchaka in :issue:`433030`.)"
msgstr ""
"Le groupement atomique (``(?>...)``) et les quantificateurs possessifs (``*"
"+``, ``++``, ``?+``, ``{m,n}+``) sont maintenant pris en charge dans les "
"Le groupement atomique (``(?>...)``) et les quantificateurs possessifs "
"(``*+``, ``++``, ``?+``, ``{m,n}+``) sont maintenant pris en charge dans les "
"expressions régulières (contribution de *Jeffrey C. Jacobs* et de *Serhiy "
"Storchaka* dans :issue:`433030`)."
@ -1636,8 +1636,8 @@ msgstr ""
#: whatsnew/3.11.rst:1272
msgid ""
"The compiler now optimizes simple :ref:`printf-style % formatting <old-"
"string-formatting>` on string literals containing only the format codes ``"
"%s``, ``%r`` and ``%a`` and makes it as fast as a corresponding :term:`f-"
"string-formatting>` on string literals containing only the format codes "
"``%s``, ``%r`` and ``%a`` and makes it as fast as a corresponding :term:`f-"
"string` expression. (Contributed by Serhiy Storchaka in :issue:`28307`.)"
msgstr ""
@ -1739,8 +1739,8 @@ msgstr ""
#: whatsnew/3.11.rst:1351
msgid ""
"In Python 3.11, the core modules essential for Python startup are \"frozen"
"\". This means that their code objects (and bytecode) are statically "
"In Python 3.11, the core modules essential for Python startup are "
"\"frozen\". This means that their code objects (and bytecode) are statically "
"allocated by the interpreter. This reduces the steps in module execution "
"process to this:"
msgstr ""

View File

@ -979,7 +979,8 @@ msgstr ""
"et :class:`~imaplib.IMAP4_stream` appliquent ce changement (contribution de "
"*Dong-hee Na* dans :issue:`38615`)."
# "Return" n'est pas un renvoi de fonction, c'est un retour à un état précédent.
# "Return" n'est pas un renvoi de fonction, c'est un retour à un état
# précédent.
#: whatsnew/3.9.rst:514
msgid ""
":meth:`imaplib.IMAP4.unselect` is added. :meth:`imaplib.IMAP4.unselect` "