diff --git a/about.po b/about.po
index 11c5903b..e3811998 100644
--- a/about.po
+++ b/about.po
@@ -52,12 +52,11 @@ msgstr ""
"et rédacteur de la plupart de son contenu ;"
#: about.rst:24
-#, fuzzy
msgid ""
"the `Docutils `_ project for creating "
"reStructuredText and the Docutils suite;"
msgstr ""
-"le projet `Docutils `_ pour avoir créé "
+"le projet `Docutils `_ pour avoir créé "
"*reStructuredText* et la suite d'outils *Docutils* ;"
#: about.rst:26
diff --git a/bugs.po b/bugs.po
index ac22018c..ed9d1c08 100644
--- a/bugs.po
+++ b/bugs.po
@@ -130,20 +130,19 @@ msgid "Using the Python issue tracker"
msgstr "Utilisation du gestionnaire de tickets Python"
#: bugs.rst:47
-#, fuzzy
msgid ""
"Issue reports for Python itself should be submitted via the GitHub issues "
"tracker (https://github.com/python/cpython/issues). The GitHub issues "
"tracker offers a web form which allows pertinent information to be entered "
"and submitted to the developers."
msgstr ""
-"Les rapports de bogues pour Python lui-même devraient être soumis via le "
-"l'outil de suivi des bogues (*Bug Tracker Python* — http://bugs.python."
-"org/). Le gestionnaire de tickets propose un formulaire Web permettant de "
-"saisir des informations pertinentes à soumettre aux développeurs."
+"Les rapports concernant un problème relatif à Python lui-même doivent être "
+"soumis *via* l'outil de suivi des problèmes de GitHub (https://github.com/"
+"python/cpython/issues). Le gestionnaire de tickets propose un formulaire Web "
+"permettant de saisir des informations pertinentes à soumettre aux "
+"développeurs."
#: bugs.rst:52
-#, fuzzy
msgid ""
"The first step in filing a report is to determine whether the problem has "
"already been reported. The advantage in doing so, aside from saving the "
@@ -155,36 +154,32 @@ msgid ""
msgstr ""
"La première étape pour remplir un rapport est de déterminer si le problème a "
"déjà été rapporté. L'avantage de cette approche, en plus d'économiser du "
-"temps aux développeurs, est d'apprendre ce qui a été fait pour le résoudre ; "
+"temps aux développeurs, est d'apprendre ce qui a été fait pour le résoudre ; "
"il se peut que le problème soit déjà résolu dans la prochaine version, ou "
"que des informations complémentaires soient attendues (auquel cas votre "
-"contribution est la bienvenue !). Pour ce faire, cherchez dans la base de "
-"données de bogues grâce à la boîte de recherche en haut de la page."
+"contribution est la bienvenue !). Pour ce faire, cherchez dans le "
+"gestionnaire de tickets grâce à la boîte de recherche en haut de la page."
#: bugs.rst:59
-#, fuzzy
msgid ""
"If the problem you're reporting is not already in the list, log in to "
"GitHub. If you don't already have a GitHub account, create a new account "
"using the \"Sign up\" link. It is not possible to submit a bug report "
"anonymously."
msgstr ""
-"Si le problème que vous soumettez n'est pas déjà dans l'outil de suivi des "
-"bogues, revenez au *Python Bug Tracker* et connectez-vous. Si vous n'avez "
-"pas déjà un compte pour le *tracker*, cliquez sur le lien « S'enregistrer », "
-"ou, si vous utilisez *OpenID*, sur l'un des logos des fournisseurs *OpenID* "
-"dans la barre latérale. Il n'est pas possible de soumettre un rapport de "
-"bogue de manière anonyme."
+"Si le problème que vous soumettez n'est pas déjà dans la liste, connectez-"
+"vous à GitHub. Si vous n'avez pas déjà un compte GitHub, créez un nouveau "
+"compte en cliquant sur le lien « Sign Up ». Il n'est pas possible de "
+"soumettre un rapport de bogue de manière anonyme."
#: bugs.rst:64
-#, fuzzy
msgid ""
"Being now logged in, you can submit an issue. Click on the \"New issue\" "
"button in the top bar to report a new issue."
msgstr ""
-"Une fois identifié, pour pouvez rapporter un bogue. Sélectionnez le lien "
-"*Create New* dans la barre latérale pour ouvrir un nouveau formulaire de "
-"rapport de bogue."
+"Une fois connecté, vous pouvez rapporter un problème. Sélectionnez le bouton "
+"*New issue* dans la barre en haut pour ouvrir un nouveau formulaire de "
+"rapport."
#: bugs.rst:67
msgid "The submission form has two fields, \"Title\" and \"Comment\"."
@@ -212,15 +207,14 @@ msgstr ""
"informations de versions)."
#: bugs.rst:77
-#, fuzzy
msgid ""
"Each issue report will be reviewed by a developer who will determine what "
"needs to be done to correct the problem. You will receive an update each "
"time an action is taken on the issue."
msgstr ""
-"Chaque bogue sera attribué à un développeur qui déterminera ce qui est "
+"Chaque rapport sera attribué à un développeur qui déterminera ce qui est "
"nécessaire d'entreprendre pour corriger le problème. Vous recevrez une "
-"notification à chaque action effectuée sur le bogue."
+"notification à chaque action concernant le rapport."
#: bugs.rst:86
msgid ""
diff --git a/c-api/apiabiversion.po b/c-api/apiabiversion.po
index dd041266..374251d4 100644
--- a/c-api/apiabiversion.po
+++ b/c-api/apiabiversion.po
@@ -36,52 +36,40 @@ msgstr ""
"(ou en fonction) de la version."
#: c-api/apiabiversion.rst:17
-#, fuzzy
msgid "The ``3`` in ``3.4.1a2``."
-msgstr "``PY_MAJOR_VERSION`` (le ``3`` dans ``3.4.1a2``)"
+msgstr "Le ``3`` dans ``3.4.1a2``.)"
#: c-api/apiabiversion.rst:21
-#, fuzzy
msgid "The ``4`` in ``3.4.1a2``."
-msgstr "``PY_MINOR_VERSION`` (le ``4`` dans ``3.4.1a2``)"
+msgstr "Le ``4`` dans ``3.4.1a2``."
#: c-api/apiabiversion.rst:25
-#, fuzzy
msgid "The ``1`` in ``3.4.1a2``."
-msgstr "``PY_MICRO_VERSION`` (le ``1`` dans ``3.4.1a2``)"
+msgstr "Le ``1`` dans ``3.4.1a2``.)"
#: c-api/apiabiversion.rst:29
-#, fuzzy
msgid ""
"The ``a`` in ``3.4.1a2``. This can be ``0xA`` for alpha, ``0xB`` for beta, "
"``0xC`` for release candidate or ``0xF`` for final."
msgstr ""
-"``PY_RELEASE_LEVEL`` (``0xA`` pour alpha, ``0xB`` pour bêta, ``0xC`` pour "
-"une version candidate et ``0xF`` pour final), dans ce cas c'est alpha."
+" Le ``a`` dans ``3.4.1a2``. Cela peut être ``0xA`` pour alpha, ``0xB`` pour "
+"bêta, ``0xC`` pour une version candidate ou ``0xF`` pour finale)."
#: c-api/apiabiversion.rst:35
-#, fuzzy
msgid "The ``2`` in ``3.4.1a2``. Zero for final releases."
-msgstr ""
-"``PY_RELEASE_SERIAL`` (le ``2`` au ``3.4.1a2``, zéro pour des versions "
-"finales)"
+msgstr "Le ``2`` dans ``3.4.1a2``. Nul pour des versions finales."
#: c-api/apiabiversion.rst:39
-#, fuzzy
msgid "The Python version number encoded in a single integer."
-msgstr ""
-"``PY_VERSION_HEX`` est le numéro de version de Python encodé en un seul "
-"entier."
+msgstr "Le numéro de version de Python encodé en un seul entier."
#: c-api/apiabiversion.rst:41
-#, fuzzy
msgid ""
"The underlying version information can be found by treating it as a 32 bit "
"number in the following manner:"
msgstr ""
-"Par exemple si le ``PY_VERSION_HEX` est défini à ``0x030401a2``, la "
-"version d'information sous-jacente peut être trouvée en la traitant comme un "
-"nombre sous 32 bits de la manière suivante:"
+"L'information sur la version sous-jacente peut être trouvée en la traitant "
+"comme un nombre sous 32 bits de la manière suivante:"
#: c-api/apiabiversion.rst:45
msgid "Bytes"
@@ -104,9 +92,8 @@ msgid "1"
msgstr "1"
#: c-api/apiabiversion.rst:47
-#, fuzzy
msgid "1-8"
-msgstr "``1-8``"
+msgstr "1-8"
#: c-api/apiabiversion.rst:47
msgid "``PY_MAJOR_VERSION``"
@@ -121,9 +108,8 @@ msgid "2"
msgstr "2"
#: c-api/apiabiversion.rst:49
-#, fuzzy
msgid "9-16"
-msgstr "``9-16``"
+msgstr "9-16"
#: c-api/apiabiversion.rst:49
msgid "``PY_MINOR_VERSION``"
@@ -138,9 +124,8 @@ msgid "3"
msgstr "3"
#: c-api/apiabiversion.rst:51
-#, fuzzy
msgid "17-24"
-msgstr "``17-24``"
+msgstr "17-24"
#: c-api/apiabiversion.rst:51
msgid "``PY_MICRO_VERSION``"
@@ -155,9 +140,8 @@ msgid "4"
msgstr "4"
#: c-api/apiabiversion.rst:53
-#, fuzzy
msgid "25-28"
-msgstr "``25-28``"
+msgstr "25-28"
#: c-api/apiabiversion.rst:53
msgid "``PY_RELEASE_LEVEL``"
@@ -168,9 +152,8 @@ msgid "``0xA``"
msgstr "``0xA``"
#: c-api/apiabiversion.rst:55
-#, fuzzy
msgid "29-32"
-msgstr "``29-32``"
+msgstr "29-32"
#: c-api/apiabiversion.rst:55
msgid "``PY_RELEASE_SERIAL``"
@@ -181,11 +164,13 @@ msgid "``0x2``"
msgstr "``0x2``"
#: c-api/apiabiversion.rst:58
-#, fuzzy
msgid ""
"Thus ``3.4.1a2`` is hexversion ``0x030401a2`` and ``3.10.0`` is hexversion "
"``0x030a00f0``."
-msgstr "Ainsi ``3.4.1a2`` est une hexane-version ``0x030401a2``."
+msgstr ""
+"Ainsi, ``0x030401a2`` est la version en notation hexadécimale sur un entier "
+"de ``3.4.1a2`` et ``0x030a00f0`` est la version en notation hexadécimale sur "
+"un entier de ``3.10.0``"
#: c-api/apiabiversion.rst:62
msgid "All the given macros are defined in :source:`Include/patchlevel.h`."
diff --git a/c-api/init_config.po b/c-api/init_config.po
index 9e473d20..2c7e91d1 100644
--- a/c-api/init_config.po
+++ b/c-api/init_config.po
@@ -61,9 +61,8 @@ msgid ":pep:`587` \"Python Initialization Configuration\"."
msgstr ""
#: c-api/init_config.rst:37
-#, fuzzy
msgid "Example"
-msgstr "Exemple ::"
+msgstr "Exemple"
#: c-api/init_config.rst:39
msgid "Example of customized Python always running in isolated mode::"
diff --git a/c-api/stable.po b/c-api/stable.po
index 14dc6a3e..e1f58647 100644
--- a/c-api/stable.po
+++ b/c-api/stable.po
@@ -19,7 +19,6 @@ msgid "C API Stability"
msgstr "Stabilité de l’API C"
#: c-api/stable.rst:9
-#, fuzzy
msgid ""
"Python's C API is covered by the Backwards Compatibility Policy, :pep:`387`. "
"While the C API will change with every minor release (e.g. from 3.9 to "
@@ -27,10 +26,12 @@ msgid ""
"API. Changing existing API or removing API is only done after a deprecation "
"period or to fix serious issues."
msgstr ""
-"L'API C de Python change à chaque version. La majorité de ces changement "
-"n'affecte cependant pas la compatibilité du code source. Typiquement, des "
-"API sont ajoutées, mais ni modifiées ni supprimées (bien que certaines "
-"interfaces puissent être supprimées, après avoir d'abord été dépréciées)."
+"L'API C respecte la politique de rétrocompatibilité de Python, :pep:`387`. "
+"Malgré la présence d’évolutions dans chaque version mineure (par exemple "
+"entre 3.9 et 3.10), la majorité de ces changements n'affecte pas la "
+"compatibilité du code source. Typiquement des API sont ajoutées mais pas "
+"modifiées ou supprimées, bien que cela puisse arriver après une période de "
+"dépréciation ou pour corriger un problème important."
#: c-api/stable.rst:15
msgid ""
diff --git a/glossary.po b/glossary.po
index 56a59d6f..529bc97d 100644
--- a/glossary.po
+++ b/glossary.po
@@ -327,15 +327,14 @@ msgid "attribute"
msgstr "attribut"
#: glossary.rst:139
-#, fuzzy
msgid ""
"A value associated with an object which is usually referenced by name using "
"dotted expressions. For example, if an object *o* has an attribute *a* it "
"would be referenced as *o.a*."
msgstr ""
-"Valeur associée à un objet et désignée par son nom via une notation "
-"utilisant des points. Par exemple, si un objet *o* possède un attribut *a*, "
-"il sera référencé par *o.a*."
+"Valeur associée à un objet et habituellement désignée par son nom *via* une "
+"notation utilisant des points. Par exemple, si un objet *o* possède un "
+"attribut *a*, cet attribut est référencé par *o.a*."
#: glossary.rst:144
msgid ""
@@ -507,9 +506,8 @@ msgstr ""
"instructions du code intermédiaire."
#: glossary.rst:212
-#, fuzzy
msgid "callable"
-msgstr "fonction de rappel"
+msgstr "appelable (*callable*)"
#: glossary.rst:214
msgid ""
@@ -1334,7 +1332,6 @@ msgstr ""
"machines ayant plusieurs processeurs."
#: glossary.rst:561
-#, fuzzy
msgid ""
"However, some extension modules, either standard or third-party, are "
"designed so as to release the GIL when doing computationally intensive tasks "
@@ -1344,7 +1341,7 @@ msgstr ""
"Cependant, certains modules d'extension, standards ou non, sont conçus de "
"manière à libérer le GIL lorsqu'ils effectuent des tâches lourdes tel que la "
"compression ou le hachage. De la même manière, le GIL est toujours libéré "
-"lors des entrées / sorties."
+"lors des entrées-sorties."
#: glossary.rst:566
msgid ""
@@ -1423,14 +1420,14 @@ msgid "IDLE"
msgstr "IDLE"
#: glossary.rst:596
-#, fuzzy
msgid ""
"An Integrated Development and Learning Environment for Python. :ref:`idle` "
"is a basic editor and interpreter environment which ships with the standard "
"distribution of Python."
msgstr ""
-"Environnement de développement intégré pour Python. IDLE est un éditeur "
-"basique et un interpréteur livré avec la distribution standard de Python."
+"Environnement d'apprentissage et de développement intégré pour Python. :ref:"
+"`IDLE ` est un éditeur basique et un interpréteur livré avec la "
+"distribution standard de Python."
#: glossary.rst:599
msgid "immutable"
diff --git a/howto/descriptor.po b/howto/descriptor.po
index e498e200..07dbea9a 100644
--- a/howto/descriptor.po
+++ b/howto/descriptor.po
@@ -498,14 +498,13 @@ msgstr ""
"fonctionnent les correspondances relationnelles entre objets."
#: howto/descriptor.rst:493
-#, fuzzy
msgid ""
"Learning about descriptors not only provides access to a larger toolset, it "
"creates a deeper understanding of how Python works."
msgstr ""
"L'apprentissage des descripteurs permet non seulement d'accéder à un "
"ensemble d'outils plus vaste, mais aussi de mieux comprendre le "
-"fonctionnement de Python et d'apprécier l'élégance de sa conception."
+"fonctionnement de Python."
#: howto/descriptor.rst:498
#, fuzzy
@@ -513,21 +512,19 @@ msgid "Definition and introduction"
msgstr "Définition et introduction"
#: howto/descriptor.rst:500
-#, fuzzy
msgid ""
"In general, a descriptor is an attribute value that has one of the methods "
"in the descriptor protocol. Those methods are :meth:`__get__`, :meth:"
"`__set__`, and :meth:`__delete__`. If any of those methods are defined for "
"an attribute, it is said to be a :term:`descriptor`."
msgstr ""
-"En général, un descripteur est un attribut objet avec un \"comportement "
-"contraignant\", dont l'accès à l'attribut a été remplacé par des méthodes "
-"dans le protocole du descripteur. Ces méthodes sont : :meth:`__get__`, :"
-"meth:`__set__`, et :meth:`__delete__`. Si l'une de ces méthodes est définie "
-"pour un objet, il s'agit d'un descripteur."
+"En général, un descripteur est la valeur d'un attribut qui possède une des "
+"méthodes définies dans le « protocole descripteur ». Ces méthodes sont : :"
+"meth:`__get__`, :meth:`__set__` et :meth:`__delete__`. Si l'une de ces "
+"méthodes est définie pour un attribut, il s'agit d'un :term:`descripteur "
+"`."
#: howto/descriptor.rst:505
-#, fuzzy
msgid ""
"The default behavior for attribute access is to get, set, or delete the "
"attribute from an object's dictionary. For instance, ``a.x`` has a lookup "
@@ -539,17 +536,16 @@ msgid ""
"methods were defined."
msgstr ""
"Le comportement par défaut pour l'accès aux attributs consiste à obtenir, "
-"définir ou supprimer l'attribut du dictionnaire d'un objet. Par exemple, "
-"``a. x`` a une chaîne de recherche commençant par ``a. __dict__ ['x']``, "
-"puis ``type (a). __dict__ ['x']``, et continuant à travers les classes de "
-"base de ``type (a)`` À l'exclusion des sous-classes. Si la valeur recherchée "
-"est un objet définissant l'une des méthodes de descripteur, Python peut "
-"substituer le comportement par défaut et appeler à la place la méthode "
-"Descriptor. Lorsque cela se produit dans la chaîne de précédence dépend de "
-"quelles méthodes descripteur ont été définies."
+"définir ou supprimer l'attribut dans le dictionnaire d'un objet. Par "
+"exemple, pour chercher ``a.x`` Python commence par chercher ``a."
+"__dict__['x']``, puis ``type(a).__dict__['x']``, et continue la recherche en "
+"utilisant la MRO (l'ordre de résolution des méthodes) de ``type(a)``. Si la "
+"valeur recherchée est un objet définissant l'une des méthodes de "
+"descripteur, Python remplace le comportement par défaut par un appel à la "
+"méthode du descripteur. Le moment où cela se produit dans la chaîne de "
+"recherche dépend des méthodes définies par le descripteur."
#: howto/descriptor.rst:514
-#, fuzzy
msgid ""
"Descriptors are a powerful, general purpose protocol. They are the "
"mechanism behind properties, methods, static methods, class methods, and :"
@@ -557,13 +553,12 @@ msgid ""
"simplify the underlying C code and offer a flexible set of new tools for "
"everyday Python programs."
msgstr ""
-"Les descripteurs sont un protocole puissant et à usage général. Ils sont le "
-"mécanisme derrière les propriétés, les méthodes, les méthodes statiques, les "
-"méthodes de classes et :func:`super()`. Ils sont utilisés dans tout Python "
-"lui-même pour implémenter les nouvelles classes de style introduites dans la "
-"version 2.2. Les descripteurs simplifient le code C sous-jacent et offrent "
-"un ensemble flexible de nouveaux outils pour les programmes Python "
-"quotidiens."
+"Les descripteurs sont un protocole puissant et à usage général. Ils "
+"constituent le mécanisme qui met en œuvre les propriétés, les méthodes, les "
+"méthodes statiques, les méthodes de classes et :func:`super()`. Ils sont "
+"utilisés dans tout Python lui-même. Les descripteurs simplifient le code C "
+"sous-jacent et offrent un ensemble flexible de nouveaux outils pour les "
+"programmes Python quotidiens."
#: howto/descriptor.rst:522
#, fuzzy
@@ -593,7 +588,6 @@ msgstr ""
"comportement par défaut lorsqu'il est recherché comme un attribut."
#: howto/descriptor.rst:534
-#, fuzzy
msgid ""
"If an object defines :meth:`__set__` or :meth:`__delete__`, it is considered "
"a data descriptor. Descriptors that only define :meth:`__get__` are called "
@@ -601,8 +595,8 @@ msgid ""
"possible)."
msgstr ""
"Si un objet définit :meth:`__set__` ou :meth:`__delete__`, il est considéré "
-"comme un descripteur de données. Les descripteurs qui ne définissent que :"
-"meth:`__get__` sont appelés descripteurs *non-data* (ils sont généralement "
+"comme un descripteur de données. Les descripteurs qui ne définissent que :"
+"meth:`__get__` sont appelés descripteurs hors-données (ils sont généralement "
"utilisés pour des méthodes mais d'autres utilisations sont possibles)."
#: howto/descriptor.rst:539
@@ -639,13 +633,12 @@ msgid "Overview of descriptor invocation"
msgstr "Présentation de l'appel de descripteur"
#: howto/descriptor.rst:554
-#, fuzzy
msgid ""
"A descriptor can be called directly with ``desc.__get__(obj)`` or ``desc."
"__get__(None, cls)``."
msgstr ""
-"Un descripteur peut être appelé directement par son nom de méthode. Par "
-"exemple, ``d.__get__(obj)``."
+"Un descripteur peut être appelé directement par ``desc.__get__(obj)`` ou "
+"``desc.__get__(None, cls)``."
#: howto/descriptor.rst:557
msgid ""
@@ -668,13 +661,12 @@ msgstr ""
"priorité listées ci-dessous."
#: howto/descriptor.rst:565
-#, fuzzy
msgid ""
"The details of invocation depend on whether ``obj`` is an object, class, or "
"instance of super."
msgstr ""
-"Les détails de l'invocation dépendent du fait que ``obj`` est un objet ou "
-"une classe."
+"Les détails de l'appel varient selon que ``obj`` est un objet, une classe ou "
+"une instance de *super*."
#: howto/descriptor.rst:570
msgid "Invocation from an instance"
@@ -732,9 +724,8 @@ msgstr ""
"présentée encapsulée dans une fonction utilitaire :"
#: howto/descriptor.rst:773
-#, fuzzy
msgid "Invocation from a class"
-msgstr "Appelé depuis un Classe"
+msgstr "Appel depuis une classe"
#: howto/descriptor.rst:775
msgid ""
@@ -775,32 +766,28 @@ msgstr ""
"méthode :meth:`__getattribute__` de l'objet renvoyé par :class:`super()`."
#: howto/descriptor.rst:792
-#, fuzzy
msgid ""
"A dotted lookup such as ``super(A, obj).m`` searches ``obj.__class__."
"__mro__`` for the base class ``B`` immediately following ``A`` and then "
"returns ``B.__dict__['m'].__get__(obj, A)``. If not a descriptor, ``m`` is "
"returned unchanged."
msgstr ""
-"L'objet renvoyé par ``super()`` a également une méthode personnalisée :meth:"
-"`__getattribute__` pour invoquer des descripteurs. La recherche d'attribut "
-"``super(B, obj).m`` recherche dans ``obj.__class__.__mro__`` la classe qui "
-"suit immédiatement B, appelons la A, et renvoie ``A.__dict__['m']."
-"__get__(obj, B)``. Si ce n'est pas un descripteur, ``m`` est renvoyé "
-"inchangé. S'il n'est pas dans le dictionnaire, la recherche de ``m`` revient "
-"à une recherche utilisant :meth:`object.__getattribute__`."
+"La recherche d'attribut ``super(A, obj).m`` recherche dans ``obj.__class__."
+"__mro__`` la classe ``B`` qui suit immédiatement A, et renvoie ``B."
+"__dict__['m'].__get__(obj, A)``. Si ce n'est pas un descripteur, ``m`` est "
+"renvoyé inchangé."
#: howto/descriptor.rst:797
-#, fuzzy
msgid ""
"The full C implementation can be found in :c:func:`super_getattro()` in :"
"source:`Objects/typeobject.c`. A pure Python equivalent can be found in "
"`Guido's Tutorial `_."
msgstr ""
-"Les détails d'implémentation sont dans :c:func:`super_getattro()` dans :"
-"source:`Objects/typeobject.c` et un équivalent Python pur peut être trouvé "
-"dans `Guido's Tutorial`_."
+"L'implémentation C complète est dans :c:func:`super_getattro()` dans :source:"
+"`Objects/typeobject.c`. Un équivalent Python pur peut être trouvé dans "
+"`Guido's Tutorial `_ (page en anglais)."
#: howto/descriptor.rst:804
msgid "Summary of invocation logic"
@@ -819,9 +806,9 @@ msgid "The important points to remember are:"
msgstr "Les points importants à retenir sont :"
#: howto/descriptor.rst:811
-#, fuzzy
msgid "Descriptors are invoked by the :meth:`__getattribute__` method."
-msgstr "les descripteurs sont appelés par la méthode :meth:`__getattribute__`"
+msgstr ""
+"les descripteurs sont appelés par la méthode :meth:`__getattribute__` ;"
#: howto/descriptor.rst:813
msgid ""
@@ -832,16 +819,14 @@ msgstr ""
"`super` ;"
#: howto/descriptor.rst:816
-#, fuzzy
msgid ""
"Overriding :meth:`__getattribute__` prevents automatic descriptor calls "
"because all the descriptor logic is in that method."
msgstr ""
"redéfinir :meth:`__getattribute____` empêche les appels automatiques de "
-"descripteurs"
+"descripteur car toute la logique des descripteurs est dans cette méthode ;"
#: howto/descriptor.rst:819
-#, fuzzy
msgid ""
":meth:`object.__getattribute__` and :meth:`type.__getattribute__` make "
"different calls to :meth:`__get__`. The first includes the instance and may "
@@ -849,20 +834,20 @@ msgid ""
"includes the class."
msgstr ""
":meth:`objet.__getattribute__` et :meth:`type.__getattribute__` font "
-"différents appels à :meth:`__get__`."
+"différents appels à :meth:`__get__`. La première inclut l'instance et peut "
+"inclure la classe. La seconde met ``None`` pour l'instance et inclut "
+"toujours la classe ;"
#: howto/descriptor.rst:824
-#, fuzzy
msgid "Data descriptors always override instance dictionaries."
msgstr ""
-"les descripteurs de données remplacent toujours les dictionnaires "
+"les descripteurs de données sont toujours prioritaires sur les dictionnaires "
"d'instances."
#: howto/descriptor.rst:826
-#, fuzzy
msgid "Non-data descriptors may be overridden by instance dictionaries."
msgstr ""
-"les descripteurs *non-data* peuvent être remplacés par des dictionnaires "
+"les descripteurs hors-données peuvent céder la priorité aux dictionnaires "
"d'instance."
#: howto/descriptor.rst:830
@@ -887,14 +872,12 @@ msgstr ""
"variable de classe à laquelle le descripteur a été assigné."
#: howto/descriptor.rst:839
-#, fuzzy
msgid ""
"The implementation details are in :c:func:`type_new()` and :c:func:"
"`set_names()` in :source:`Objects/typeobject.c`."
msgstr ""
-"Les détails d'implémentation sont dans :c:func:`super_getattro()` dans :"
-"source:`Objects/typeobject.c` et un équivalent Python pur peut être trouvé "
-"dans `Guido's Tutorial`_."
+"Les détails d'implémentation sont dans :c:func:`type_new()` et :c:func:"
+"`set_names()` dans :source:`Objects/typeobject.c`."
#: howto/descriptor.rst:842
msgid ""
@@ -957,50 +940,46 @@ msgid "Pure Python Equivalents"
msgstr "Équivalents en Python pur"
#: howto/descriptor.rst:950
-#, fuzzy
msgid ""
"The descriptor protocol is simple and offers exciting possibilities. "
"Several use cases are so common that they have been prepackaged into built-"
"in tools. Properties, bound methods, static methods, class methods, and "
"\\_\\_slots\\_\\_ are all based on the descriptor protocol."
msgstr ""
-"Le protocole est simple et offre des possibilités passionnantes. Plusieurs "
-"cas d'utilisation sont si courants qu'ils ont été regroupés en appels de "
-"fonction individuels. Les propriétés, les méthodes liées, les méthodes "
-"statiques et les méthodes de classe sont toutes basées sur le protocole du "
-"descripteur."
+"Le protocole descripteur est simple et offre des possibilités très "
+"intéressantes. Plusieurs cas d'utilisation sont si courants qu'ils ont été "
+"regroupés dans des outils intégrés. Les propriétés, les méthodes liées, les "
+"méthodes statiques et les méthodes de classe sont toutes basées sur le "
+"protocole descripteur."
#: howto/descriptor.rst:957
msgid "Properties"
msgstr "Propriétés"
#: howto/descriptor.rst:959
-#, fuzzy
msgid ""
"Calling :func:`property` is a succinct way of building a data descriptor "
"that triggers a function call upon access to an attribute. Its signature "
"is::"
msgstr ""
-"Appeler :func:`property` est une façon succincte de construire un "
-"descripteur de données qui déclenche des appels de fonction lors de l'accès "
-"à un attribut. Sa signature est ::"
+"Appeler :func:`property` construit de façon succincte un descripteur de "
+"données qui déclenche un appel de fonction lors de l'accès à un attribut. Sa "
+"signature est ::"
#: howto/descriptor.rst:964
-#, fuzzy
msgid ""
"The documentation shows a typical use to define a managed attribute ``x``:"
msgstr ""
-"La documentation montre une utilisation typique pour définir un attribut "
-"géré ``x`` ::"
+"La documentation montre une utilisation caractéristique pour définir un "
+"attribut géré ``x`` ::"
#: howto/descriptor.rst:988
-#, fuzzy
msgid ""
"To see how :func:`property` is implemented in terms of the descriptor "
"protocol, here is a pure Python equivalent:"
msgstr ""
-"Pour voir comment :func:`property` est implémenté dans le protocole du "
-"descripteur, voici un un équivalent Python pur ::"
+"Pour voir comment :func:`property` est implémentée dans le protocole du "
+"descripteur, voici un équivalent en Python pur ::"
#: howto/descriptor.rst:1091
msgid ""
@@ -1013,7 +992,6 @@ msgstr ""
"ultérieures nécessitent l'intervention d'une méthode."
#: howto/descriptor.rst:1095
-#, fuzzy
msgid ""
"For instance, a spreadsheet class may grant access to a cell value through "
"``Cell('b10').value``. Subsequent improvements to the program require the "
@@ -1024,10 +1002,10 @@ msgid ""
msgstr ""
"Par exemple, une classe de tableur peut donner accès à une valeur de cellule "
"via ``Cell('b10').value``. Les améliorations ultérieures du programme "
-"exigent que la cellule soit recalculée à chaque accès ; cependant, le "
-"programmeur ne veut pas affecter le code client existant accédant "
-"directement à l'attribut. La solution consiste à envelopper l'accès à "
-"l'attribut de valeur dans un descripteur de données de propriété ::"
+"exigent que la cellule soit recalculée à chaque accès ; cependant, le "
+"programmeur ne veut pas impacter le code client existant accédant "
+"directement à l'attribut. La solution consiste à envelopper l'accès à "
+"l'attribut *value* dans un descripteur de données ::"
#: howto/descriptor.rst:1112
msgid ""
@@ -1052,20 +1030,18 @@ msgstr ""
"les deux sont fusionnés de façon transparente."
#: howto/descriptor.rst:1122
-#, fuzzy
msgid ""
"Functions stored in class dictionaries get turned into methods when invoked. "
"Methods only differ from regular functions in that the object instance is "
"prepended to the other arguments. By convention, the instance is called "
"*self* but could be called *this* or any other variable name."
msgstr ""
-"Les dictionnaires de classes stockent les méthodes sous forme de fonctions. "
-"Dans une définition de classe, les méthodes sont écrites en utilisant :"
-"keyword:`def` ou :keyword:`lambda`, les outils habituels pour créer des "
-"fonctions. Les méthodes ne diffèrent des fonctions régulières que par le "
-"fait que le premier argument est réservé à l'instance de l'objet. Par "
-"convention Python, la référence de l'instance est appelée *self* mais peut "
-"être appelée *this* ou tout autre nom de variable."
+"Les fonctions placées dans les dictionnaires des classes sont transformées "
+"en méthodes au moment de l'appel. Les méthodes ne diffèrent des fonctions "
+"ordinaires que par le fait que le premier argument est réservé à l'instance "
+"de l'objet. Par convention Python, la référence de l'instance est appelée "
+"*self*, bien qu'il soit possible de l'appeler *this* ou tout autre nom de "
+"variable."
#: howto/descriptor.rst:1127
msgid ""
@@ -1076,27 +1052,25 @@ msgstr ""
"MethodType`, qui équivaut à peu près à :"
#: howto/descriptor.rst:1144
-#, fuzzy
msgid ""
"To support automatic creation of methods, functions include the :meth:"
"`__get__` method for binding methods during attribute access. This means "
"that functions are non-data descriptors that return bound methods during "
"dotted lookup from an instance. Here's how it works:"
msgstr ""
-"Pour prendre en charge les appels de méthodes, les fonctions incluent la "
-"méthode :meth:`__get__` pour lier les méthodes pendant l'accès aux "
-"attributs. Cela signifie que toutes les fonctions sont des descripteurs "
-"*non-data* qui renvoient des méthodes liées lorsqu'elles sont appelées "
-"depuis un objet. En Python pur, il fonctionne comme ceci ::"
+"Pour prendre en charge la création automatique des méthodes, les fonctions "
+"incluent la méthode :meth:`__get__` pour lier les méthodes pendant l'accès "
+"aux attributs. Cela signifie que toutes les fonctions sont des descripteurs "
+"hors-données qui renvoient des méthodes liées au cours d'une recherche "
+"d'attribut d'une instance. Cela fonctionne ainsi ::"
#: howto/descriptor.rst:1160
-#, fuzzy
msgid ""
"Running the following class in the interpreter shows how the function "
"descriptor works in practice:"
msgstr ""
-"L'exécution de l'interpréteur montre comment le descripteur de fonction se "
-"comporte dans la pratique ::"
+"L'exécution de la classe suivante dans l'interpréteur montre comment le "
+"descripteur de fonction se comporte en pratique ::"
#: howto/descriptor.rst:1169
msgid ""
@@ -1148,9 +1122,8 @@ msgstr ""
"ordinaires ou d'où vient *cls* dans les méthodes de classe, c'est ça !"
#: howto/descriptor.rst:1209
-#, fuzzy
msgid "Kinds of methods"
-msgstr "Fonctions et méthodes"
+msgstr "Types de méthodes"
#: howto/descriptor.rst:1211
msgid ""
@@ -1161,7 +1134,6 @@ msgstr ""
"variations des patrons habituels des fonctions de liaison dans les méthodes."
#: howto/descriptor.rst:1214
-#, fuzzy
msgid ""
"To recap, functions have a :meth:`__get__` method so that they can be "
"converted to a method when accessed as attributes. The non-data descriptor "
@@ -1169,9 +1141,9 @@ msgid ""
"f(*args)`` becomes ``f(*args)``."
msgstr ""
"Pour résumer, les fonctions ont une méthode :meth:`__get__` pour qu'elles "
-"puissent être converties en méthode lorsqu'on y accède comme attributs. Le "
-"descripteur *non-data* transforme un appel ``obj.f(*args)``en ``f(obj, "
-"*args)``. Appeler ``klass.f(*args)`` devient ``f(*args)``."
+"puissent être converties en méthodes lorsqu'on y accède comme attributs. Le "
+"descripteur hors-données transforme un appel ``obj.f(*args)`` en ``f(obj, "
+"*args)``. L'appel ``cls.f(*args)`` devient ``f(*args)``."
#: howto/descriptor.rst:1219
msgid "This chart summarizes the binding and its two most useful variants:"
@@ -1184,14 +1156,12 @@ msgid "Transformation"
msgstr "Transformation"
#: howto/descriptor.rst:1222
-#, fuzzy
msgid "Called from an object"
-msgstr "Appelé depuis un Objet"
+msgstr "Appelée depuis un objet"
#: howto/descriptor.rst:1222
-#, fuzzy
msgid "Called from a class"
-msgstr "Appelé depuis un Classe"
+msgstr "Appelée depuis une classe"
#: howto/descriptor.rst:1225
msgid "function"
@@ -1222,9 +1192,8 @@ msgid "f(cls, \\*args)"
msgstr "f(cls, \\*args)"
#: howto/descriptor.rst:1234
-#, fuzzy
msgid "Static methods"
-msgstr "méthode statique"
+msgstr "Méthodes statiques"
#: howto/descriptor.rst:1236
msgid ""
@@ -1271,41 +1240,36 @@ msgstr ""
"``Sample.erf(1.5) --> .9332``."
#: howto/descriptor.rst:1254
-#, fuzzy
msgid ""
"Since static methods return the underlying function with no changes, the "
"example calls are unexciting:"
msgstr ""
-"Depuis que les méthodes statiques renvoient la fonction sous-jacente sans "
-"changement, les exemples d’appels ne sont pas excitants ::"
+"Puisque les méthodes statiques renvoient la fonction sous-jacente sans "
+"changement, les exemples d’appels sont d'une grande banalité ::"
#: howto/descriptor.rst:1271
-#, fuzzy
msgid ""
"Using the non-data descriptor protocol, a pure Python version of :func:"
"`staticmethod` would look like this:"
msgstr ""
-"En utilisant le protocole de descripteur *non-data*, une version Python pure "
-"de :func:`staticmethod` ressemblerait à ceci ::"
+"En utilisant le protocole de descripteur hors-données, une version Python "
+"pure de :func:`staticmethod` ressemblerait à ceci ::"
#: howto/descriptor.rst:1310
-#, fuzzy
msgid "Class methods"
-msgstr "méthode de classe"
+msgstr "Méthodes de classe"
#: howto/descriptor.rst:1312
-#, fuzzy
msgid ""
"Unlike static methods, class methods prepend the class reference to the "
"argument list before calling the function. This format is the same for "
"whether the caller is an object or a class:"
msgstr ""
-"Contrairement aux méthodes statiques, les méthodes de classe préchargent la "
-"référence de classe dans la liste d'arguments avant d'appeler la fonction. "
-"Ce format est le même que l'appelant soit un objet ou une classe ::"
+"Contrairement aux méthodes statiques, les méthodes de classe ajoutent la "
+"référence de classe en tête de la liste d'arguments, avant d'appeler la "
+"fonction. C'est le même format que l'appelant soit un objet ou une classe ::"
#: howto/descriptor.rst:1330
-#, fuzzy
msgid ""
"This behavior is useful whenever the method only needs to have a class "
"reference and does not rely on data stored in a specific instance. One use "
@@ -1314,27 +1278,25 @@ msgid ""
"of keys. The pure Python equivalent is:"
msgstr ""
"Ce comportement est utile lorsque la fonction n'a besoin que d'une référence "
-"de classe et ne se soucie pas des données sous-jacentes. Une des "
-"utilisations des méthodes de classe est de créer d'autres constructeurs de "
-"classe. En Python 2.3, la méthode de classe :func:`dict.fromkeys` crée un "
-"nouveau dictionnaire à partir d'une liste de clés. L'équivalent Python pur "
-"est ::"
+"de classe et ne se soucie pas des données propres à une instance "
+"particulière. Une des utilisations des méthodes de classe est de créer des "
+"constructeurs de classe personnalisés. Par exemple, la méthode de classe :"
+"func:`dict.fromkeys` crée un nouveau dictionnaire à partir d'une liste de "
+"clés. L'équivalent Python pur est ::"
#: howto/descriptor.rst:1347
-#, fuzzy
msgid "Now a new dictionary of unique keys can be constructed like this:"
msgstr ""
"Maintenant un nouveau dictionnaire de clés uniques peut être construit comme "
-"ceci ::"
+"ceci :"
#: howto/descriptor.rst:1357
-#, fuzzy
msgid ""
"Using the non-data descriptor protocol, a pure Python version of :func:"
"`classmethod` would look like this:"
msgstr ""
-"En utilisant le protocole de descripteur *non-data*, une version Python pure "
-"de :func:`classmethod` ressemblerait à ceci ::"
+"En utilisant le protocole de descripteur hors-données, une version Python "
+"pure de :func:`classmethod` ressemblerait à ceci :"
#: howto/descriptor.rst:1406
msgid ""
diff --git a/howto/logging-cookbook.po b/howto/logging-cookbook.po
index 57256dec..41a19e7d 100644
--- a/howto/logging-cookbook.po
+++ b/howto/logging-cookbook.po
@@ -28,14 +28,15 @@ msgid "Vinay Sajip "
msgstr "Vinay Sajip "
#: howto/logging-cookbook.rst:9
-#, fuzzy
msgid ""
"This page contains a number of recipes related to logging, which have been "
"found useful in the past. For links to tutorial and reference information, "
"please see :ref:`cookbook-ref-links`."
msgstr ""
"Cette page contient des recettes relatives à la journalisation qui se sont "
-"avérées utiles par le passé."
+"avérées utiles par le passé. Pour des liens vers le tutoriel et des "
+"informations de référence, consultez :ref:`ces autres ressources `."
#: howto/logging-cookbook.rst:16
msgid "Using logging in multiple modules"
diff --git a/howto/sockets.po b/howto/sockets.po
index 264103cc..277c89c7 100644
--- a/howto/sockets.po
+++ b/howto/sockets.po
@@ -481,7 +481,6 @@ msgid ""
msgstr ""
#: howto/sockets.rst:262
-#, fuzzy
msgid ""
"Socket libraries have calls for converting 16 and 32 bit integers - ``ntohl, "
"htonl, ntohs, htons`` where \"n\" means *network* and \"h\" means *host*, "
@@ -489,21 +488,14 @@ msgid ""
"order, these do nothing, but where the machine is byte-reversed, these swap "
"the bytes around appropriately."
msgstr ""
-"Il est parfaitement possible d’envoyer des données binaires sur un "
-"connecteur. Le gros problème est que toutes les machines n’utilisent pas les "
-"mêmes formats pour les données binaires. Par exemple, une puce Motorola code "
-"l'entier 1, sous 16 bits, comme les deux octets hexadécimaux 00 01. Intel et "
-"DEC, cependant, utilisent l’ordre d’octets inverse — ce même 1 est codé 01 "
-"00. Les bibliothèques de connecteurs ont des appels pour convertir des "
-"entiers de 16 et 32 bits — ``ntohl, htonl, ntohs, htons`` où ``n`` signifie "
-"*réseau* (*network*, en anglais) et ``h`` signifie *hôte*, ``s`` signifie "
-"*court* (*short*, en anglais) et ``l`` signifie *long*. Lorsque l’ordre du "
-"réseau est l’ordre de l’hôte, ceux-ci ne font rien, mais lorsque la machine "
-"utilise l’ordre d’octets inverse, ceux-ci échangent les octets de manière "
-"appropriée."
+"Les bibliothèques de sockets ont des appels pour convertir les entiers 16 et "
+"32 bits - ``ntohl, htonl, ntohs, htons`` où « n » signifie *network* "
+"(réseau) et « h » signifie *host* (hôte), « s » signifie *short* (court) et "
+"« l » signifie *long*. Lorsque l’ordre du réseau est l’ordre de l’hôte, ils "
+"ne font rien, mais lorsque la machine fonctionne en ordre inversé, ils "
+"échangent les octets de manière appropriée."
#: howto/sockets.rst:268
-#, fuzzy
msgid ""
"In these days of 64-bit machines, the ASCII representation of binary data is "
"frequently smaller than the binary representation. That's because a "
@@ -512,13 +504,13 @@ msgid ""
"be 8. Of course, this doesn't fit well with fixed-length messages. "
"Decisions, decisions."
msgstr ""
-"De nos jours, avec les machines 32 bits, la représentation *ASCII* des "
+"De nos jours, avec les machines 64 bits, la représentation *ASCII* des "
"données binaires est souvent plus compacte que la représentation binaire. "
-"C’est parce qu’un nombre surprenant de fois, tous ces *longs* ont la valeur "
-"0, ou peut-être 1. La chaîne « 0 » serait codée sur deux octets, alors "
-"qu'elle le serait sur quatre en binaire. Bien sûr, cela ne fonctionne pas "
-"très bien avec les messages de longueur fixe. Ah, les décisions, les "
-"décisions…"
+"C’est parce que dans un nombre surprenant de cas, tous ces *entiers* ont la "
+"valeur 0 et parfois 1. La chaîne « 0 » serait codée sur deux octets, alors "
+"qu'elle le serait sur 8 en tant que binaire 64 bits. Bien sûr, cela ne "
+"fonctionne pas très bien avec les messages de longueur fixe. C’est une "
+"affaire de choix."
#: howto/sockets.rst:277
msgid "Disconnecting"
diff --git a/library/asyncio-queue.po b/library/asyncio-queue.po
index ad7836ef..2f05f8ae 100644
--- a/library/asyncio-queue.po
+++ b/library/asyncio-queue.po
@@ -62,9 +62,8 @@ msgid ""
msgstr ""
#: library/asyncio-queue.rst:39
-#, fuzzy
msgid "Removed the *loop* parameter."
-msgstr "Le paramètre *loop*."
+msgstr "Suppression du paramètre *loop*."
#: library/asyncio-queue.rst:43
msgid "This class is :ref:`not thread safe `."
diff --git a/library/asyncio-subprocess.po b/library/asyncio-subprocess.po
index 297f55a8..d6c0161c 100644
--- a/library/asyncio-subprocess.po
+++ b/library/asyncio-subprocess.po
@@ -88,9 +88,8 @@ msgstr ""
"paramètres."
#: library/asyncio-subprocess.rst:78 library/asyncio-subprocess.rst:105
-#, fuzzy
msgid "Removed the *loop* parameter."
-msgstr "Autres paramètres :"
+msgstr "Suppression du paramètre *loop*."
#: library/asyncio-subprocess.rst:85
msgid "Run the *cmd* shell command."
@@ -329,15 +328,15 @@ msgid "Sends the signal *signal* to the child process."
msgstr "Envoie le signal *signal* au sous-processus."
#: library/asyncio-subprocess.rst:238
-#, fuzzy
msgid ""
"On Windows, :py:data:`SIGTERM` is an alias for :meth:`terminate`. "
"``CTRL_C_EVENT`` and ``CTRL_BREAK_EVENT`` can be sent to processes started "
"with a *creationflags* parameter which includes ``CREATE_NEW_PROCESS_GROUP``."
msgstr ""
-"Sous Windows, *SIGTERM* est un alias pour :meth:`terminate`. *CTRL_C_EVENT* "
-"et *CTRL_BREAK_EVENT* peuvent être envoyés aux processus démarrés avec un "
-"paramètre *creationflags* incluant `CREATE_NEW_PROCESS_GROUP`."
+"Sous Windows, :py:data:`SIGTERM` est un alias pour :meth:`terminate`. "
+"*CTRL_C_EVENT* et *CTRL_BREAK_EVENT* peuvent être envoyés aux processus "
+"démarrés avec un paramètre *creationflags* incluant "
+"``CREATE_NEW_PROCESS_GROUP``."
#: library/asyncio-subprocess.rst:245
msgid "Stop the child process."
@@ -363,11 +362,10 @@ msgid "Kill the child process."
msgstr "Arrête le sous-processus."
#: library/asyncio-subprocess.rst:257
-#, fuzzy
msgid ""
"On POSIX systems this method sends :py:data:`SIGKILL` to the child process."
msgstr ""
-"Sur les systèmes POSIX, cette méthode envoie un :py:data:`signal.SIGTERM` au "
+"Sur les systèmes POSIX, cette méthode envoie :py:data:`signal.SIGTERM` au "
"sous-processus."
#: library/asyncio-subprocess.rst:260
diff --git a/library/asyncio-sync.po b/library/asyncio-sync.po
index 4facb12e..4c13b5e1 100644
--- a/library/asyncio-sync.po
+++ b/library/asyncio-sync.po
@@ -90,9 +90,8 @@ msgstr ""
#: library/asyncio-sync.rst:111 library/asyncio-sync.rst:285
#: library/asyncio-sync.rst:340
-#, fuzzy
msgid "Removed the *loop* parameter."
-msgstr "Le paramètre *loop*."
+msgstr "Suppression du paramètre *loop*."
#: library/asyncio-sync.rst:71
msgid "Acquire the lock."
diff --git a/library/asyncio-task.po b/library/asyncio-task.po
index fb62e066..c9c6ca15 100644
--- a/library/asyncio-task.po
+++ b/library/asyncio-task.po
@@ -373,9 +373,8 @@ msgstr ""
#: library/asyncio-task.rst:369 library/asyncio-task.rst:477
#: library/asyncio-task.rst:541 library/asyncio-task.rst:635
#: library/asyncio-task.rst:658
-#, fuzzy
msgid "Removed the *loop* parameter."
-msgstr "Le paramètre *loop*."
+msgstr "Suppression du paramètre *loop*."
#: library/asyncio-task.rst:338
msgid "Running Tasks Concurrently"
@@ -1019,9 +1018,8 @@ msgstr ""
"courante, ni encouragé."
#: library/asyncio-task.rst:863
-#, fuzzy
msgid "Added the *msg* parameter."
-msgstr "ajout du paramètre ``name``."
+msgstr "Ajout du paramètre *msg*."
#: library/asyncio-task.rst:868
msgid ""
diff --git a/library/dataclasses.po b/library/dataclasses.po
index 41efd387..7d52d78f 100644
--- a/library/dataclasses.po
+++ b/library/dataclasses.po
@@ -583,19 +583,17 @@ msgstr ""
"levée."
#: library/dataclasses.rst:324
-#, fuzzy
msgid ""
"Converts the dataclass ``obj`` to a dict (by using the factory function "
"``dict_factory``). Each dataclass is converted to a dict of its fields, as "
"``name: value`` pairs. dataclasses, dicts, lists, and tuples are recursed "
"into. Other objects are copied with :func:`copy.deepcopy`."
msgstr ""
-"Convertit *instance*, une instance d'une classe de données, en un "
-"dictionnaire. Le résultat est construit par la fonction *dict_factory*. Les "
-"clés et valeurs proviennent directement des champs. Les dictionnaires, "
-"listes, *n*-uplets et instances de classes de données sont traversés pour "
-"convertir récursivement toutes les instances de classes de données qu'ils "
-"contiennent. Voici un exemple :"
+"Convertit la classe de données ``obj`` en un dictionnaire (en utilisant la "
+"fonction ``dict_factory``). Les clés et valeurs proviennent directement des "
+"champs. Les dictionnaires, listes, *n*-uplets et instances de classes de "
+"données sont parcourus récursivement. Les autres objets sont copiés avec :"
+"func:`copy.deepcopy`."
#: library/dataclasses.rst:330
msgid "Example of using :func:`asdict` on nested dataclasses::"
@@ -610,39 +608,37 @@ msgstr ""
"peut être utilisée ::"
#: library/dataclasses.rst:351
-#, fuzzy
msgid ""
":func:`asdict` raises :exc:`TypeError` if ``obj`` is not a dataclass "
"instance."
msgstr ""
-"Lève :exc:`TypeError` si *instance* n'est pas une instance d'une classe de "
-"données."
+":func:`asdict` lève :exc:`TypeError` si ``obj`` n'est pas une instance d'une "
+"classe de données."
#: library/dataclasses.rst:356
-#, fuzzy
msgid ""
"Converts the dataclass ``obj`` to a tuple (by using the factory function "
"``tuple_factory``). Each dataclass is converted to a tuple of its field "
"values. dataclasses, dicts, lists, and tuples are recursed into. Other "
"objects are copied with :func:`copy.deepcopy`."
msgstr ""
-"Convertit l'instance d'une classe de données *instance* en un *n*-uplet des "
-"valeurs de ses champs. Le résultat est construit par la fonction "
-"*tuple_factory*. Cette fonction agit récursivement sur les dictionnaires, "
-"listes, *n*-uplets et instances de classes de données."
+"Convertit l'instance d'une classe de données ``obj`` en un *n*-uplet (en "
+"utilisant la fonction ``tuple_factory``). Chaque classe de données est "
+"convertie vers un *n*-uplet des valeurs de ses champs. Cette fonction agit "
+"récursivement sur les dictionnaires, listes et *n*-uplets. Les autres objets "
+"sont copiés avec :func:`copy.deepcopy`."
#: library/dataclasses.rst:362
msgid "Continuing from the previous example::"
msgstr "Pour continuer l'exemple précédent :"
#: library/dataclasses.rst:371
-#, fuzzy
msgid ""
":func:`astuple` raises :exc:`TypeError` if ``obj`` is not a dataclass "
"instance."
msgstr ""
-"Lève :exc:`TypeError` si *instance* n'est pas une instance d'une classe de "
-"données."
+":func:`astuple` lève :exc:`TypeError` si ``obj`` n'est pas une instance "
+"d'une classe de données."
#: library/dataclasses.rst:376
msgid ""
@@ -682,18 +678,16 @@ msgid "Is equivalent to::"
msgstr "est équivalent à ::"
#: library/dataclasses.rst:411
-#, fuzzy
msgid ""
"Creates a new object of the same type as ``obj``, replacing fields with "
"values from ``changes``. If ``obj`` is not a Data Class, raises :exc:"
"`TypeError`. If values in ``changes`` do not specify fields, raises :exc:"
"`TypeError`."
msgstr ""
-"Crée un nouvel objet du même type que *instance* en effectuant les "
-"remplacements donnés par *changes* dans ses champs. L'argument *instance* "
-"doit être une instance d'une classe de données, sans quoi :exc:`TypeError` "
-"est levée. De même, si une clé dans *changes* ne correspond à aucun champ de "
-"l'instance, :exc:`TypeError` est levée."
+"Crée un nouvel objet du même type que ``obj`` en affectant aux champs les "
+"valeurs données par ``changes``. Si ``obj`` n'est pas une classe de "
+"données, :exc:`TypeError` est levée. Si une clé dans ``changes`` ne "
+"correspond à aucun champ de l'instance, :exc:`TypeError` est levée."
#: library/dataclasses.rst:416
msgid ""
diff --git a/library/functions.po b/library/functions.po
index 20102189..e5a2f532 100644
--- a/library/functions.po
+++ b/library/functions.po
@@ -442,17 +442,16 @@ msgstr ""
"elle se comporte de la même manière."
#: library/functions.rst:93
-#, fuzzy
msgid ""
"This calls the :meth:`~object.__anext__` method of *async_iterator*, "
"returning an :term:`awaitable`. Awaiting this returns the next value of the "
"iterator. If *default* is given, it is returned if the iterator is "
"exhausted, otherwise :exc:`StopAsyncIteration` is raised."
msgstr ""
-"Donne un :term:`awaitable` en appelant la méthode :meth:`~object.__anext__` "
-"de *async_iterator*. Le fait d'attendre renvoie la prochaine valeur de "
-"l'itérateur. Si *default* est fourni, il sera renvoyé si l'itérateur est "
-"épuisé, sinon :exc:`StopAsyncIteration` est levée."
+"Renvoie un :term:`attendable ` en appelant la méthode :meth:"
+"`~object.__anext__` de *async_iterator*. L'attente renvoie la prochaine "
+"valeur de l'itérateur. Si *default* est fourni, il est renvoyé si "
+"l'itérateur est épuisé, sinon :exc:`StopAsyncIteration` est levée."
#: library/functions.rst:102
msgid ""
@@ -489,13 +488,12 @@ msgstr ""
"entier. Voici quelques exemples :"
#: library/functions.rst:132
-#, fuzzy
msgid ""
"If the prefix \"0b\" is desired or not, you can use either of the following "
"ways."
msgstr ""
-"Vous pouvez contrôler l'affichage du préfixe ``0b`` à l'aide d'un des moyens "
-"suivants."
+"Vous pouvez contrôler l'affichage du préfixe ``\"0b\"`` à l'aide d'un des "
+"moyens suivants."
#: library/functions.rst:808 library/functions.rst:1112
msgid "See also :func:`format` for more information."
@@ -524,7 +522,6 @@ msgid "*x* is now a positional-only parameter."
msgstr "*x* est désormais un argument exclusivement optionnel."
#: library/functions.rst:158
-#, fuzzy
msgid ""
"This function drops you into the debugger at the call site. Specifically, "
"it calls :func:`sys.breakpointhook`, passing ``args`` and ``kws`` straight "
@@ -544,7 +541,9 @@ msgstr ""
"explicitement :mod:`pdb` ou à taper plus de code pour entrer dans le "
"débogueur. Cependant, il est possible d'affecter une autre fonction à :func:"
"`sys.breakpointhook`, que :func:`breakpoint` appellera automatiquement, vous "
-"permettant ainsi de basculer dans le débogueur de votre choix."
+"permettant ainsi de basculer dans le débogueur de votre choix. Si :func:`sys."
+"breakpointhook` n'est pas accessible, cette fonction lève :exc:"
+"`RuntimeError`."
#: library/functions.rst:170
msgid ""
@@ -621,7 +620,6 @@ msgid "See also :ref:`binaryseq` and :ref:`typebytearray`."
msgstr "Voir :ref:`binaryseq` et :ref:`typebytearray`."
#: library/functions.rst:208
-#, fuzzy
msgid ""
"Return a new \"bytes\" object which is an immutable sequence of integers in "
"the range ``0 <= x < 256``. :class:`bytes` is an immutable version of :"
@@ -631,7 +629,7 @@ msgstr ""
"Renvoie un nouvel objet *bytes*, qui est une séquence immuable de nombres "
"entiers dans l'intervalle ``0 <= x < 256``. Un :class:`bytes` est une "
"version immuable de :class:`bytearray` — avec les mêmes méthodes d'accès, et "
-"le même comportement lors de l'indexation ou la découpe."
+"le même comportement lors de l'indexation ou du découpage."
#: library/functions.rst:213
msgid ""
@@ -794,7 +792,6 @@ msgstr ""
"``None`` sont affichés)."
#: library/functions.rst:293
-#, fuzzy
msgid ""
"The optional arguments *flags* and *dont_inherit* control which :ref:"
"`compiler options ` should be activated and which :ref:"
@@ -815,11 +812,11 @@ msgstr ""
"fourni alors que *dont_inherit* ne l'est pas (ou vaut 0), les options de "
"compilation et les instructions *futures* utilisées sont celles définies par "
"*flags* en plus de celles qui auraient été utilisées. Si *dont_inherit* est "
-"un entier différent de zéro, *flags* est utilisé seul — les instructions "
-"futures déclarées autour de l'appel à *compile* sont ignorées."
+"un entier différent de zéro, *flags* est utilisé tel quel — les *flags* "
+"(instructions futures et options de compilation) valables pour le code "
+"encadrant *compile* sont ignorés."
#: library/functions.rst:304
-#, fuzzy
msgid ""
"Compiler options and future statements are specified by bits which can be "
"bitwise ORed together to specify multiple options. The bitfield required to "
@@ -829,10 +826,12 @@ msgid ""
"flags>` can be found in :mod:`ast` module, with ``PyCF_`` prefix."
msgstr ""
"Les instructions *future* sont contrôlées par des bits, il est ainsi "
-"possible d'en activer plusieurs en les combinant avec un *ou* binaire. Les "
+"possible d'en activer plusieurs en les combinant avec un *OU* binaire. Les "
"bits requis pour demander une certaine fonctionnalité se trouvent dans "
"l'attribut :attr:`~__future__._Feature.compiler_flag` de la classe :class:"
-"`~__future__.Feature` du module :mod:`__future__`."
+"`~__future__.Feature` du module :mod:`__future__`. Les :ref:`options du "
+"compilateur ` se trouvent dans le module :mod:`ast`, "
+"avec le préfixe ``PyCF_``."
#: library/functions.rst:312
msgid ""
@@ -996,7 +995,6 @@ msgstr ""
"sont pas définies."
#: library/functions.rst:391
-#, fuzzy
msgid ""
"This is a relative of :func:`setattr`. The arguments are an object and a "
"string. The string must be the name of one of the object's attributes. The "
@@ -1004,10 +1002,11 @@ msgid ""
"example, ``delattr(x, 'foobar')`` is equivalent to ``del x.foobar``. *name* "
"need not be a Python identifier (see :func:`setattr`)."
msgstr ""
-"C'est un cousin de :func:`setattr`. Les arguments sont un objet et une "
+"C'est une cousine de :func:`setattr`. Les arguments sont un objet et une "
"chaîne. La chaîne doit être le nom de l'un des attributs de l'objet. La "
"fonction supprime l'attribut nommé, si l'objet l'y autorise. Par exemple "
-"``delattr(x, 'foobar')`` est l'équivalent de ``del x.foobar``."
+"``delattr(x, 'foobar')`` est l'équivalent de ``del x.foobar``. *name* n'a "
+"pas besoin d'être un identifiant Python (voir :func:`setattr`)."
#: library/functions.rst:404
msgid ""
@@ -1049,7 +1048,6 @@ msgstr ""
"func:`dir`."
#: library/functions.rst:421
-#, fuzzy
msgid ""
"If the object does not provide :meth:`__dir__`, the function tries its best "
"to gather information from the object's :attr:`~object.__dict__` attribute, "
@@ -1059,9 +1057,9 @@ msgid ""
msgstr ""
"Si l'objet ne fournit pas de méthode :meth:`__dir__`, la fonction fait de "
"son mieux en rassemblant les informations de l'attribut :attr:`~object."
-"__dict__` de l'objet, si défini, et depuis son type. La liste résultante "
-"n'est pas nécessairement complète, et peut être erronée quand l'objet a un :"
-"func:`__getattr__` personnalisé."
+"__dict__` de l'objet, s'il est défini, et depuis son type. La liste "
+"résultante n'est pas nécessairement complète, et peut être erronée quand "
+"l'objet a une :func:`__getattr__` personnalisée."
#: library/functions.rst:426
msgid ""
@@ -1118,7 +1116,6 @@ msgstr ""
"méta-classes ne sont pas donnés lorsque l'argument est une classe."
#: library/functions.rst:469
-#, fuzzy
msgid ""
"Take two (non-complex) numbers as arguments and return a pair of numbers "
"consisting of their quotient and remainder when using integer division. "
@@ -1136,8 +1133,8 @@ msgstr ""
"b, a % b)``. Pour des nombres à virgule flottante le résultat est ``(q, a % "
"b)``, où *q* est généralement ``math.floor(a / b)`` mais peut valoir 1 de "
"moins. Dans tous les cas ``q * b + a % b`` est très proche de *a*. Si ``a % "
-"b`` est différent de zéro, il a le même signe que *b*, et ``0 <= abs(a % b) "
-"< abs(b)``."
+"b`` est différent de zéro, il a le même signe que *b* et ``0 <= abs(a % b) < "
+"abs(b)``."
#: library/functions.rst:481
msgid ""
@@ -1168,7 +1165,6 @@ msgstr ""
"fourni, *locals* peut être n'importe quel objet *mapping*."
#: library/functions.rst:508
-#, fuzzy
msgid ""
"The *expression* argument is parsed and evaluated as a Python expression "
"(technically speaking, a condition list) using the *globals* and *locals* "
@@ -1189,14 +1185,15 @@ msgstr ""
"*globals* et *locals* comme espaces de nommage global et local. Si le "
"dictionnaire *globals* est présent mais ne contient pas de valeur pour la "
"clé ``__builtins__``, une référence au dictionnaire du module :mod:"
-"`builtins` y est insérée avant qu'*expression* ne soit évaluée. Cela "
-"signifie qu'*expression* a normalement un accès complet à tout le module :"
-"mod:`builtins`, et que les environnements restreints sont propagés. Si le "
-"dictionnaire *locals* est omis, sa valeur par défaut est le dictionnaire "
-"*globals*. Si les deux dictionnaires sont omis, l'expression est exécutée "
-"avec les dictionnaires *globals* et *locals* dans l'environnement où :func:"
-"`eval` est appelée. Note, *eval()* n'a pas accès aux :term:`portées "
-"imbriquées ` (non locales) dans l'environnement englobant."
+"`builtins` y est insérée avant qu'*expression* ne soit évaluée. Ainsi, vous "
+"pouvez contrôler quels objets natifs sont disponibles pour le code à "
+"exécuter en insérant votre propre dictionnaire ``__builtins__`` dans "
+"*globals* avant de le passer à :func:`eval`. Si le dictionnaire *locals* est "
+"omis, sa valeur par défaut est le dictionnaire *globals*. Si les deux "
+"dictionnaires sont omis, l'expression est exécutée avec les dictionnaires "
+"*globals* et *locals* dans l'environnement où :func:`eval` est appelée. "
+"Notez que *eval()* n'a pas accès aux :term:`portées imbriquées ` (non locales) dans l'environnement englobant."
#: library/functions.rst:523
msgid ""
@@ -1207,7 +1204,6 @@ msgstr ""
"syntaxe sont signalées comme des exceptions. Exemple :"
#: library/functions.rst:530
-#, fuzzy
msgid ""
"This function can also be used to execute arbitrary code objects (such as "
"those created by :func:`compile`). In this case, pass a code object instead "
@@ -1217,7 +1213,7 @@ msgstr ""
"Cette fonction peut aussi être utilisée pour exécuter n'importe quel objet "
"code (tels que ceux créés par :func:`compile`). Dans ce cas, donnez un objet "
"code plutôt qu'une chaîne. Si l'objet code a été compilé avec l'argument "
-"*mode* à ``'exec'``, :func:`eval` donnera ``None``."
+"*mode* à ``'exec'``, :func:`eval` renvoie ``None``."
#: library/functions.rst:535
#, fuzzy
@@ -1268,7 +1264,6 @@ msgstr ""
"levés."
#: library/functions.rst:555
-#, fuzzy
msgid ""
"This function supports dynamic execution of Python code. *object* must be "
"either a string or a code object. If it is a string, the string is parsed "
@@ -1285,14 +1280,14 @@ msgstr ""
"d'abord analysée en une suite d'instructions Python qui sont ensuite "
"exécutés (sauf erreur de syntaxe). [#]_ Si c'est un objet code, il est "
"simplement exécuté. Dans tous les cas, le code fourni doit être valide selon "
-"les mêmes critères que s'il était un script dans un fichier (voir la section "
-"« Fichier d'entrée » dans le manuel de référence du langage). Gardez en tête "
-"que les mots clés :keyword:`return` et :keyword:`yield` ne peuvent pas être "
-"utilisés en dehors d'une fonction, même dans du code passé à :func:`exec`. "
-"La fonction renvoie ``None``."
+"les mêmes critères que s'il était un script dans un fichier (voir la "
+"section :ref:`Fichier d'entrée ` dans le manuel de référence du "
+"langage). Gardez en tête que les mots clés :keyword:`nonlocal`, :keyword:"
+"`yield` et :keyword:`return` ne peuvent pas être utilisés en dehors d'une "
+"fonction, même dans du code passé à :func:`exec`. La fonction renvoie "
+"``None``."
#: library/functions.rst:566
-#, fuzzy
msgid ""
"In all cases, if the optional parts are omitted, the code is executed in the "
"current scope. If only *globals* is provided, it must be a dictionary (and "
@@ -1309,7 +1304,7 @@ msgstr ""
"un dictionnaire (et pas une sous-classe de dictionnaire) utilisé pour les "
"variables globales et locales. Si les deux sont fournis, ils sont utilisés "
"respectivement pour les variables globales et locales. *locales* peut être "
-"n'importe quel objet de correspondance. Souvenez vous qu'au niveau d'un "
+"n'importe quel objet de correspondance. Souvenez-vous qu'au niveau d'un "
"module, les dictionnaires des locales et des globales ne sont qu'un. Si "
"``exec`` reçoit deux objets distincts dans *globals* et *locals*, le code "
"est exécuté comme s'il était inclus dans une définition de classe."
@@ -1463,7 +1458,6 @@ msgid "Falls back to :meth:`__index__` if :meth:`__float__` is not defined."
msgstr "revient à :meth:`__index__` si :meth:`__float__` n'est pas définie."
#: library/functions.rst:688
-#, fuzzy
msgid ""
"Convert a *value* to a \"formatted\" representation, as controlled by "
"*format_spec*. The interpretation of *format_spec* will depend on the type "
@@ -1472,8 +1466,8 @@ msgid ""
msgstr ""
"Convertit une valeur en sa représentation « formatée », contrôlée par "
"*format_spec*. L'interprétation de *format_spec* dépend du type de la "
-"valeur, cependant il existe une syntaxe standard utilisée par la plupart des "
-"types natifs : :ref:`formatspec`."
+"valeur. Cependant, il existe une syntaxe standard utilisée par la plupart "
+"des types natifs : :ref:`formatspec`."
#: library/functions.rst:693
msgid ""
@@ -1527,7 +1521,6 @@ msgstr ""
"`collections`."
#: library/functions.rst:723
-#, fuzzy
msgid ""
"Return the value of the named attribute of *object*. *name* must be a "
"string. If the string is the name of one of the object's attributes, the "
@@ -1541,7 +1534,8 @@ msgstr ""
"le résultat est la valeur de cet attribut. Par exemple, ``getattr(x, "
"'foobar')`` est équivalent à ``x.foobar``. Si l'attribut n'existe pas, mais "
"que *default* est fourni, celui-ci est renvoyé. Sinon l'exception :exc:"
-"`AttributeError` est levée."
+"`AttributeError` est levée. *name* n'a pas besoin d'être un identifiant "
+"Python (voir :func:`setattr`)."
#: library/functions.rst:732
msgid ""
@@ -1556,16 +1550,14 @@ msgstr ""
"soulignement en tête) afin de le récupérer avec :func:`getattr`."
#: library/functions.rst:740
-#, fuzzy
msgid ""
"Return the dictionary implementing the current module namespace. For code "
"within functions, this is set when the function is defined and remains the "
"same regardless of where the function is called."
msgstr ""
-"Renvoie une représentation de la table de symboles globaux sous forme d'un "
-"dictionnaire. C'est toujours le dictionnaire du module courant (dans une "
-"fonction ou méthode, c'est le module où elle est définie, et non le module "
-"d'où elle est appelée)."
+"Renvoie le dictionnaire implémentant l'espace de nommage du module actuel. "
+"Pour le code dans les fonctions, il est défini lorsque la fonction est "
+"définie et reste le même quel que soit le moment où la fonction est appelée."
#: library/functions.rst:747
msgid ""
@@ -1729,13 +1721,12 @@ msgstr ""
"fournir des fonctionnalités d'édition et d'historique élaborées."
#: library/functions.rst:846
-#, fuzzy
msgid ""
"Raises an :ref:`auditing event ` ``builtins.input`` with argument "
"``prompt``."
msgstr ""
-"Lève un :ref:`auditing event ` ``builtins.input`` avec l'argument "
-"``prompt``."
+"Lève un :ref:`évènement d'audit ` ``builtins.input`` avec "
+"l'argument ``prompt``."
#: library/functions.rst:848
msgid ""
@@ -1746,22 +1737,20 @@ msgstr ""
"``prompt`` avant de lire l'entrée."
#: library/functions.rst:851
-#, fuzzy
msgid ""
"Raises an :ref:`auditing event ` ``builtins.input/result`` with "
"argument ``result``."
msgstr ""
-"Lève un :ref:`auditing event ` ``builtins.input/result`` avec "
+"Lève un :ref:`évènement d'audit ` ``builtins.input/result`` avec "
"l'argument ``result``."
#: library/functions.rst:853
-#, fuzzy
msgid ""
"Raises an :ref:`auditing event ` ``builtins.input/result`` with "
"the result after successfully reading input."
msgstr ""
-"Lève un événement d'audit ``builtins.input/result`` avec le résultat après "
-"avoir lu avec succès l'entrée."
+"Lève un :ref:`événement d'audit ` ``builtins.input/result`` avec "
+"le résultat après avoir lu avec succès l'entrée."
#: library/functions.rst:860
msgid ""
diff --git a/library/logging.config.po b/library/logging.config.po
index d0fd6a4a..9daab789 100644
--- a/library/logging.config.po
+++ b/library/logging.config.po
@@ -38,9 +38,8 @@ msgid ":ref:`Advanced Tutorial `"
msgstr ":ref:`Tutoriel avancé `"
#: library/logging.config.rst:19
-#, fuzzy
msgid ":ref:`Logging Cookbook `"
-msgstr ":ref:`A logging cookbook `"
+msgstr ":ref:`Recettes pour la journalisation `"
#: library/logging.config.rst:23
msgid "This section describes the API for configuring the logging module."
@@ -137,9 +136,8 @@ msgid ""
msgstr ""
#: library/logging.config.rst:0
-#, fuzzy
msgid "Parameters"
-msgstr "Paramètres :"
+msgstr "Paramètres"
#: library/logging.config.rst:90
msgid ""
diff --git a/library/logging.po b/library/logging.po
index dbea1713..e2135b97 100644
--- a/library/logging.po
+++ b/library/logging.po
@@ -1218,9 +1218,8 @@ msgid ""
msgstr ""
#: library/logging.rst:0
-#, fuzzy
msgid "Parameters"
-msgstr "Paramètres :"
+msgstr "Paramètres"
#: library/logging.rst:775
msgid ""
diff --git a/library/pathlib.po b/library/pathlib.po
index 163300dc..e215cf9a 100644
--- a/library/pathlib.po
+++ b/library/pathlib.po
@@ -174,15 +174,15 @@ msgstr ""
"la précédente configuration de lecteur ::"
#: library/pathlib.rst:135
-#, fuzzy
msgid ""
"Spurious slashes and single dots are collapsed, but double dots (``'..'``) "
"and leading double slashes (``'//'``) are not, since this would change the "
"meaning of a path for various reasons (e.g. symbolic links, UNC paths)::"
msgstr ""
"Les points et slashs superflus sont supprimés, mais les doubles points "
-"(``'..'``) ne le sont pas, puisque cela changerait la signification du "
-"chemin dans le cas de liens symboliques ::"
+"(``'..'``) et les double slashes (``'//'``) en début de segment ne le sont "
+"pas, puisque cela changerait la signification du chemin pour différentes "
+"raisons (par exemple pour des liens symboliques ou des chemins UNC) ::"
#: library/pathlib.rst:148
msgid ""
@@ -219,13 +219,13 @@ msgid "*pathsegments* is specified similarly to :class:`PurePath`."
msgstr "*pathsegments* est spécifié de manière similaire à :class:`PurePath`."
#: library/pathlib.rst:170
-#, fuzzy
msgid ""
"A subclass of :class:`PurePath`, this path flavour represents Windows "
"filesystem paths, including `UNC paths`_::"
msgstr ""
-"Une sous-classe de :class:`PurePath`, cette famille de chemin représente les "
-"chemins de systèmes de fichiers Windows ::"
+"Sous-classe de :class:`PurePath`, cette famille de chemin représente les "
+"chemins de systèmes de fichiers Windows, y compris les chemins UNC (voir "
+"`UNC paths`_) ::"
#: library/pathlib.rst:182
msgid ""
@@ -1034,15 +1034,14 @@ msgid "Added return value, return the new Path instance."
msgstr "ajout de la valeur de retour, renvoie une nouvelle instance *Path*."
#: library/pathlib.rst:1070
-#, fuzzy
msgid ""
"Rename this file or directory to the given *target*, and return a new Path "
"instance pointing to *target*. If *target* points to an existing file or "
"empty directory, it will be unconditionally replaced."
msgstr ""
-"Renomme ce fichier ou dossier vers la cible *target* fournie, et renvoie une "
-"nouvelle instance de *Path* pointant sur *target*. Si *target* pointe sur un "
-"fichier ou un dossier vide existant, il est systématiquement remplacé."
+"Renomme ce fichier ou dossier vers la cible *target* fournie et renvoie une "
+"nouvelle instance de *Path* pointant vers *target*. Si *target* pointe vers "
+"un fichier ou un dossier vide existant, il sera systématiquement remplacé."
#: library/pathlib.rst:1084
msgid ""
@@ -1425,9 +1424,8 @@ msgid ":func:`os.path.relpath`"
msgstr ":func:`os.path.relpath`"
#: library/pathlib.rst:1294
-#, fuzzy
msgid ":meth:`PurePath.relative_to` [#]_"
-msgstr ":meth:`Path.relative_to` [#]_"
+msgstr ":meth:`PurePath.relative_to` [#]_"
#: library/pathlib.rst:1295
msgid ":func:`os.stat`"
diff --git a/library/re.po b/library/re.po
index f1f550bb..a0f38e76 100644
--- a/library/re.po
+++ b/library/re.po
@@ -1353,7 +1353,6 @@ msgstr ""
"l'exception du saut de ligne. Correspond à l'option de groupe ``(?s)``."
#: library/re.rst:701
-#, fuzzy
msgid ""
"This flag allows you to write regular expressions that look nicer and are "
"more readable by allowing you to visually separate logical sections of the "
@@ -1369,9 +1368,10 @@ msgstr ""
"présentent mieux et sont plus lisibles en vous permettant de séparer "
"visuellement les sections logiques du motif et d'ajouter des commentaires. "
"Les caractères d'espacement à l'intérieur du motif sont ignorés, sauf à "
-"l'intérieur des classes de caractères ou quand précédés d'un *backslash* non "
-"échappé, ou dans des séquences comme ``*?``, ``(?:`` or ``(?P<...>``. Quand "
-"une ligne contient un ``#`` qui n'est pas dans une classe de caractères ou "
+"l'intérieur des classes de caractères ou quand ils sont précédés d'un "
+"*backslash* non échappé, ou dans des séquences comme ``*?``, ``(?:`` ou ``(?"
+"P<...>``.Par exemple, ``(? :`` et ``* ?`` ne sont pas autorisés. Quand une "
+"ligne contient un ``#`` qui n'est ni dans une classe de caractères, ni "
"précédé d'un *backslash* non échappé, tous les caractères depuis le ``#`` le "
"plus à gauche jusqu'à la fin de la ligne sont ignorés."
diff --git a/library/signal.po b/library/signal.po
index 76ffd9c5..9d570b5a 100644
--- a/library/signal.po
+++ b/library/signal.po
@@ -102,9 +102,8 @@ msgid ""
msgstr ""
#: library/signal.rst:68
-#, fuzzy
msgid "Module contents"
-msgstr "Contenu du module"
+msgstr "Classe de données"
#: library/signal.rst:70
msgid ""
diff --git a/library/site.po b/library/site.po
index deb07bc7..350d2567 100644
--- a/library/site.po
+++ b/library/site.po
@@ -177,9 +177,8 @@ msgid "Activation of rlcompleter and history was made automatic."
msgstr ""
#: library/site.rst:158
-#, fuzzy
msgid "Module contents"
-msgstr "Contenu du module"
+msgstr "Classe de données"
#: library/site.rst:162
msgid "A list of prefixes for site-packages directories."
diff --git a/library/socket.po b/library/socket.po
index 01b11dad..295061ba 100644
--- a/library/socket.po
+++ b/library/socket.po
@@ -384,9 +384,8 @@ msgid ""
msgstr ""
#: library/socket.rst:246
-#, fuzzy
msgid "Module contents"
-msgstr "Contenu du module"
+msgstr "Classe de données"
#: library/socket.rst:248
msgid "The module :mod:`socket` exports the following elements."
@@ -663,9 +662,8 @@ msgid ""
msgstr ""
#: library/socket.rst:554
-#, fuzzy
msgid ":ref:`Availability `: Linux >= 4.7."
-msgstr ":ref:`Disponibilité ` : Linux >= 4.8."
+msgstr ":ref:`Disponibilité ` : Linux 4.7+"
#: library/socket.rst:557
msgid "Functions"
diff --git a/library/sqlite3.po b/library/sqlite3.po
index 03c8f75f..25b02505 100644
--- a/library/sqlite3.po
+++ b/library/sqlite3.po
@@ -337,9 +337,8 @@ msgid "Reference"
msgstr "Référence"
#: library/sqlite3.rst:256
-#, fuzzy
msgid "Module functions"
-msgstr "Fonctions et constantes du module"
+msgstr "Fonctions du module"
#: library/sqlite3.rst:263
msgid "Open a connection to an SQLite database."
@@ -492,9 +491,8 @@ msgstr ""
"l’instruction se termine par un point-virgule."
#: library/sqlite3.rst:346
-#, fuzzy
msgid "For example:"
-msgstr "Exemple :"
+msgstr "Par exemple :"
#: library/sqlite3.rst:355
msgid ""
@@ -1736,9 +1734,8 @@ msgid ""
msgstr ""
#: library/sqlite3.rst:1841
-#, fuzzy
msgid "Explanation"
-msgstr "Exceptions"
+msgstr "Explication"
#: library/sqlite3.rst:1846
msgid "Transaction control"
diff --git a/library/stdtypes.po b/library/stdtypes.po
index ee6e4bfa..8505c636 100644
--- a/library/stdtypes.po
+++ b/library/stdtypes.po
@@ -7853,9 +7853,8 @@ msgid ""
msgstr ""
#: library/stdtypes.rst:5554
-#, fuzzy
msgid "Example::"
-msgstr "Par exemple ::"
+msgstr "Exemple ::"
#: library/stdtypes.rst:5566
msgid "If you need to disable it entirely, set it to ``0``."
diff --git a/library/sys.po b/library/sys.po
index 8e9883f0..96377b17 100644
--- a/library/sys.po
+++ b/library/sys.po
@@ -55,7 +55,6 @@ msgstr ""
"actifs pour l’interpréteur en cours d'exécution."
#: library/sys.rst:31
-#, fuzzy
msgid ""
"When an auditing event is raised through the :func:`sys.audit` function, "
"each hook will be called in the order it was added with the event name and "
@@ -65,11 +64,12 @@ msgid ""
"terminate the process entirely."
msgstr ""
"Quand un événement d'audit est déclenché par la fonction :func:`sys.audit`, "
-"chaque fonction de rappel est appelée dans l'ordre dans lequel elle a été "
-"ajoutée avec le nom de l'événement et le *n*-uplet des arguments. Les "
-"fonctions de rappel qui sont ajoutées par :c:func:`PySys_AddAuditHook` sont "
-"appelées les premières, suivi par les fonctions de rappel ajoutées dans "
-"l'interpréteur en cours d'exécution."
+"chaque point d'entrée est appelé dans l'ordre dans lequel il a été ajouté "
+"avec le nom de l'événement et le *n*-uplet des arguments. Les points "
+"d'entrées qui sont ajoutés par :c:func:`PySys_AddAuditHook` sont appelés les "
+"premiers, suivi par les fonctions de rappel ajoutées dans l'interpréteur en "
+"cours d'exécution. Les points d'entrées peuvent *logger* l'événement, lever "
+"une exception pour stopper l'opération ou terminer le processus entièrement."
#: library/sys.rst:38
#, fuzzy
@@ -81,7 +81,6 @@ msgstr ""
"arguments."
#: library/sys.rst:40
-#, fuzzy
msgid ""
"Calling :func:`sys.addaudithook` will itself raise an auditing event named "
"``sys.addaudithook`` with no arguments. If any existing hooks raise an "
@@ -89,11 +88,12 @@ msgid ""
"and the exception suppressed. As a result, callers cannot assume that their "
"hook has been added unless they control all existing hooks."
msgstr ""
-"Déclenche un événement d'audit ``sys.addaudithook`` sans arguments. Si "
-"n'importe quel *hooks* lève une exception dérivée de :class:`RuntimeError`, "
-"le nouveau *hook* ne sera pas ajouté et l'exception supprimée. Par "
-"conséquent, les appels ne peuvent pas supposer que leurs *hooks* ont été "
-"ajoutés à moins de contrôler tous les *hooks* existants."
+"L'appel de :func:`sys.addaudithook` lèvera d'elle même un événement d'audit "
+"appelé ``sys.addaudithook`` sans arguments. Si n'importe quel *hook* lève "
+"une exception dérivée de :class:`RuntimeError`, le nouveau point d'entrée ne "
+"sera pas ajouté et l'exception supprimée. Par conséquent, les appels ne "
+"peuvent pas supposer que leurs points d'entrées ont été ajoutés à moins de "
+"contrôler tous les points d'entrées existants."
#: library/sys.rst:47
msgid ""
@@ -164,7 +164,6 @@ msgstr ""
"fsencode(arg) for arg in sys.argv]``."
#: library/sys.rst:90
-#, fuzzy
msgid ""
"Raise an auditing event and trigger any active auditing hooks. *event* is a "
"string identifying the event, and *args* may contain optional arguments with "
@@ -172,11 +171,12 @@ msgid ""
"given event are considered a public and stable API and should not be "
"modified between releases."
msgstr ""
-"Déclenche un événement d'audit pour tous les *hooks* actifs. Le nom de "
-"l’éventement est une chaine de caractères identifiant l'événement et son "
-"prototype associé qui est le nombre et les types et ses arguments. Pour un "
-"événement donné, le prototype est considéré comme une API publique et stable "
-"et ne doit pas être modifié entre les différentes versions de Python."
+"Déclenche un événement d'audit pour tous les points d'entrées d'audit "
+"actifs. *event* est une chaîne de caractères identifiant l'événement, et "
+"*args* peut contenir des arguments optionnels avec plus d'informations sur "
+"l'événement en question. Le nombre et types d'arguments pour un événement "
+"donné sont considérés comme une API publique et stable, et ne devraient pas "
+"être modifiés entre les versions."
#: library/sys.rst:96
msgid ""
@@ -924,9 +924,8 @@ msgid ":const:`utf8_mode`"
msgstr ":const:`utf8_mode`"
#: library/sys.rst:480
-#, fuzzy
msgid ":option:`-X utf8 <-X>`"
-msgstr ":option:`-X` ``utf8``"
+msgstr ":option:`-X utf8 <-X>`"
#: library/sys.rst:481
#, fuzzy
@@ -957,15 +956,14 @@ msgstr ""
"Ajout de l'attribut ``isolated`` pour l'option :option:`-I` ``isolated``."
#: library/sys.rst:496
-#, fuzzy
msgid ""
"Added the ``dev_mode`` attribute for the new :ref:`Python Development Mode "
"` and the ``utf8_mode`` attribute for the new :option:`-X` "
"``utf8`` flag."
msgstr ""
-"Ajout de l'attribut ``dev_mode`` pour la nouvelle option :option:`-X` "
-"``dev`` et l'attribut ``utf8_mode`` pour la nouvelle option :option:`-X` "
-"``utf8``."
+"Ajout de l'attribut ``dev_mode`` pour le nouveau :ref:`Mode Développeur "
+"Python ` et l'attribut ``utf8_mode`` pour la nouvelle option :"
+"option:`-X` ``utf8``."
#: library/sys.rst:501
#, fuzzy
@@ -1006,13 +1004,12 @@ msgid "DBL_EPSILON"
msgstr "DBL_EPSILON"
#: library/sys.rst:519
-#, fuzzy
msgid ""
"difference between 1.0 and the least value greater than 1.0 that is "
"representable as a float"
msgstr ""
-"différence entre 1 et la plus petite valeur plus grande que 1 représentable "
-"en *float*"
+"différence entre 1.0 et la plus petite valeur plus grande que 1.0 "
+"représentable en *float*"
#: library/sys.rst:522
msgid "See also :func:`math.ulp`."
@@ -1059,9 +1056,8 @@ msgid "DBL_MAX"
msgstr "DBL_MAX"
#: library/sys.rst:530
-#, fuzzy
msgid "maximum representable positive finite float"
-msgstr "plus grand `float` fini représentable"
+msgstr "plus grand ``float`` fini représentable positif"
#: library/sys.rst:532
msgid ":const:`max_exp`"
@@ -1072,13 +1068,12 @@ msgid "DBL_MAX_EXP"
msgstr "DBL_MAX_EXP"
#: library/sys.rst:532
-#, fuzzy
msgid ""
"maximum integer *e* such that ``radix**(e-1)`` is a representable finite "
"float"
msgstr ""
-"plus grand nombre entier *e* tel que ``radix**(e-1)`` soit représentable "
-"sous forme de *float* finit"
+"plus grand nombre entier *e* tel que ``radix**(e-1)`` soit un nombre à "
+"virgule flottante représentable fini"
#: library/sys.rst:535
msgid ":const:`max_10_exp`"
@@ -1089,13 +1084,12 @@ msgid "DBL_MAX_10_EXP"
msgstr "DBL_MAX_10_EXP"
#: library/sys.rst:535
-#, fuzzy
msgid ""
"maximum integer *e* such that ``10**e`` is in the range of representable "
"finite floats"
msgstr ""
"plus grand nombre entier *e* tel que ``10**e`` est dans l'intervalle des "
-"nombre flottants finis"
+"nombre flottants finis représentables"
#: library/sys.rst:538
msgid ":const:`min`"
@@ -1106,9 +1100,9 @@ msgid "DBL_MIN"
msgstr "DBL_MIN"
#: library/sys.rst:538
-#, fuzzy
msgid "minimum representable positive *normalized* float"
-msgstr "plus petit nombre à virgule flottante positif normalisé"
+msgstr ""
+"plus petit nombre à virgule flottante positif *normalisé* représentable"
#: library/sys.rst:540
msgid ""
@@ -1127,10 +1121,10 @@ msgid "DBL_MIN_EXP"
msgstr "DBL_MIN_EXP"
#: library/sys.rst:544
-#, fuzzy
msgid "minimum integer *e* such that ``radix**(e-1)`` is a normalized float"
msgstr ""
-"plus petit entier *e* tel que ``radix**(e-1)`` est un *float* normalisé"
+"plus petit entier *e* tel que ``radix**(e-1)`` est un nombre à virgule "
+"flottante normalisé"
#: library/sys.rst:547
msgid ":const:`min_10_exp`"
diff --git a/library/time.po b/library/time.po
index 1ea02fde..d9cdd592 100644
--- a/library/time.po
+++ b/library/time.po
@@ -519,11 +519,8 @@ msgstr ""
"système."
#: library/time.rst:296
-#, fuzzy
msgid "On macOS, the function is now system-wide."
-msgstr ""
-"La fonction est maintenant toujours disponible et toujours à l’échelle du "
-"système."
+msgstr "Sur macOS, la fonction est maintenant toujours à l’échelle du système."
#: library/time.rst:302
msgid "Similar to :func:`monotonic`, but return time as nanoseconds."
@@ -855,7 +852,6 @@ msgid "``%z``"
msgstr "``%z``"
#: library/time.rst:461
-#, fuzzy
msgid ""
"Time zone offset indicating a positive or negative time difference from UTC/"
"GMT of the form +HHMM or -HHMM, where H represents decimal hour digits and M "
@@ -864,17 +860,17 @@ msgstr ""
"Décalage de fuseau horaire indiquant une différence de temps positive ou "
"négative par rapport à UTC / GMT de la forme *+HHMM* ou *-HHMM*, où H "
"représente les chiffres des heures décimales et M, les chiffres des minutes "
-"décimales [*-23:59*, *+23:59*]."
+"décimales [*-23:59*, *+23:59*] [1]_"
#: library/time.rst:467
msgid "``%Z``"
msgstr "``%Z``"
#: library/time.rst:467
-#, fuzzy
msgid "Time zone name (no characters if no time zone exists). Deprecated. [1]_"
msgstr ""
-"Nom du fuseau horaire (pas de caractères s’il n’y a pas de fuseau horaire)."
+"Nom du fuseau horaire (pas de caractères s’il n’y a pas de fuseau horaire). "
+"Obsolète. [1]_"
#: library/time.rst:470
msgid "``%%``"
@@ -918,13 +914,12 @@ msgstr ""
"et l’année sont spécifiés."
#: library/time.rst:488
-#, fuzzy
msgid ""
"Here is an example, a format for dates compatible with that specified in "
"the :rfc:`2822` Internet email standard. [1]_ ::"
msgstr ""
"Voici un exemple de format de date compatible avec celui spécifié dans la "
-"norme de courrier électronique Internet suivante :rfc:`2822`. [#]_ ::"
+"norme de courrier électronique Internet suivante :rfc:`2822`. [1]_ ::"
#: library/time.rst:495
msgid ""
diff --git a/library/typing.po b/library/typing.po
index 78d8b9c4..14230642 100644
--- a/library/typing.po
+++ b/library/typing.po
@@ -34,17 +34,14 @@ msgstr ""
"tiers tels que les contrôleurs de type, les IDE, les analyseurs de code, etc."
#: library/typing.rst:20
-#, fuzzy
msgid ""
"This module provides runtime support for type hints. The most fundamental "
"support consists of the types :data:`Any`, :data:`Union`, :data:`Callable`, :"
"class:`TypeVar`, and :class:`Generic`. For a full specification, please see :"
"pep:`484`. For a simplified introduction to type hints, see :pep:`483`."
msgstr ""
-"Ce module fournit la gestion des annotations de type à l'exécution "
-"conformément à ce qui est spécifié dans les :pep:`484`, :pep:`526`, :pep:"
-"`544`, :pep:`586`, :pep:`589` et :pep:`591`. Le support le plus fondamental "
-"se compose des types :data:`Any`, :data:`Union`, :data:`Tuple`, :data:"
+"Ce module fournit la gestion des annotations de type à l'exécution. La prise "
+"en compte de base comprend les types :data:`Any`, :data:`Union`, :data:"
"`Callable`, :class:`TypeVar` et :class:`Generic`. Pour les spécifications "
"complètes, voir la :pep:`484`. Pour une introduction simplifiée aux "
"annotations de type, voir la :pep:`483`."
@@ -248,10 +245,8 @@ msgid "NewType"
msgstr "*NewType*"
#: library/typing.rst:123
-#, fuzzy
msgid "Use the :class:`NewType` helper to create distinct types::"
-msgstr ""
-"Aidez-vous de la fonction :func:`NewType` pour créer des types distincts ::"
+msgstr "Utilisez la classe :class:`NewType` pour créer des types distincts ::"
#: library/typing.rst:130
msgid ""
@@ -276,7 +271,6 @@ msgstr ""
"``UserId`` d'une manière invalide ::"
#: library/typing.rst:150
-#, fuzzy
msgid ""
"Note that these checks are enforced only by the static type checker. At "
"runtime, the statement ``Derived = NewType('Derived', Base)`` will make "
@@ -284,11 +278,11 @@ msgid ""
"it. That means the expression ``Derived(some_value)`` does not create a new "
"class or introduce much overhead beyond that of a regular function call."
msgstr ""
-"Notez que ces contrôles ne sont exécutés que par le vérificateur de type "
+"Notez que ces contrôles ne sont exécutés que par le vérificateur de types "
"statique. À l'exécution, l'instruction ``Derived = NewType('Derived', "
"Base)`` fait de ``Derived`` une fonction qui renvoie immédiatement le "
"paramètre que vous lui passez. Cela signifie que l'expression "
-"``Derived(some_value)`` ne crée pas une nouvelle classe ou n'introduit pas "
+"``Derived(some_value)`` ne crée pas une nouvelle classe et n'introduit pas "
"de surcharge au-delà de celle d'un appel de fonction normal."
#: library/typing.rst:156
@@ -304,12 +298,11 @@ msgid "It is invalid to create a subtype of ``Derived``::"
msgstr "La création d'un sous-type de ``Derived`` est invalide:"
#: library/typing.rst:168
-#, fuzzy
msgid ""
"However, it is possible to create a :class:`NewType` based on a 'derived' "
"``NewType``::"
msgstr ""
-"Cependant, il est possible de créer un :func:`NewType` basé sur un "
+"Il est néanmoins possible de créer un :class:`NewType` basé sur un "
"``NewType`` « dérivé » ::"
#: library/typing.rst:176
@@ -2648,7 +2641,6 @@ msgstr ""
"spéciales de typage."
#: library/typing.rst:2235
-#, fuzzy
msgid ""
"For a typing object of the form ``X[Y, Z, ...]`` these functions return "
"``X`` and ``(Y, Z, ...)``. If ``X`` is a generic alias for a builtin or :mod:"
@@ -2660,15 +2652,17 @@ msgid ""
msgstr ""
"Pour un objet de typage de la forme ``X[Y, Z, ....]``, ces fonctions "
"renvoient ``X`` et ``(Y, Z,...)``. Si ``X`` est un alias pour une classe "
-"native ou de :mod:`collections`, il est normalisé en la classe originale. "
-"Pour les objets non gérés, renvoie la paire ``None`` , ``()``. Exemples ::"
+"native ou de :mod:`collections`, il est normalisé vers la classe originale. "
+"Si ``X`` est une union or un :class:`Literal` contenu dans un autre type "
+"générique, l'ordre de ``(Y, Z, ...)`` peut différer de l'ordre des arguments "
+"originels ``[Y, Z, ...]`` à cause du cache de types.Pour les objets non "
+"gérés, renvoient ``None`` et ``()`` respectivement. Exemples ::"
#: library/typing.rst:2254
msgid "Check if a type is a :class:`TypedDict`."
msgstr "Vérifier si un type est un :class:`TypedDict`."
#: library/typing.rst:2269
-#, fuzzy
msgid ""
"A class used for internal typing representation of string forward "
"references. For example, ``List[\"SomeClass\"]`` is implicitly transformed "
@@ -2676,9 +2670,9 @@ msgid ""
"instantiated by a user, but may be used by introspection tools."
msgstr ""
"Une classe utilisée pour le typage interne de la représentation des "
-"références directes des chaînes de caractères. Par exemple, "
-"``Liste[\"SomeClass\"]`` est implicitement transformé en "
-"``Liste[ForwardRef(\"SomeClass\")]``. Cette classe ne doit pas être "
+"références postérieures des chaînes de caractères. Par exemple, "
+"``List[\"SomeClass\"]`` est implicitement transformé en "
+"``List[ForwardRef(\"SomeClass\")]``. Cette classe ne doit pas être "
"instanciée par un utilisateur, mais peut être utilisée par des outils "
"d'introspection."
diff --git a/library/xml.etree.elementtree.po b/library/xml.etree.elementtree.po
index dfa16182..c7dca003 100644
--- a/library/xml.etree.elementtree.po
+++ b/library/xml.etree.elementtree.po
@@ -925,9 +925,8 @@ msgid ""
msgstr ""
#: library/xml.etree.elementtree.rst:856
-#, fuzzy
msgid "The *base_url* and *max_depth* parameters."
-msgstr "Le paramètre *short_empty_elements*."
+msgstr "Les paramètres *base_url* et *max_depth*."
#: library/xml.etree.elementtree.rst:863
msgid "Element Objects"
diff --git a/library/xmlrpc.client.po b/library/xmlrpc.client.po
index 8c9a8f1b..e3a0be1a 100644
--- a/library/xmlrpc.client.po
+++ b/library/xmlrpc.client.po
@@ -129,9 +129,8 @@ msgid "``boolean``"
msgstr "``boolean``"
#: library/xmlrpc.client.rst:95
-#, fuzzy
msgid ":class:`bool`"
-msgstr ":class:`c_bool`"
+msgstr ":class:`bool`"
#: library/xmlrpc.client.rst:97
msgid "``int``, ``i1``, ``i2``, ``i4``, ``i8`` or ``biginteger``"
diff --git a/reference/datamodel.po b/reference/datamodel.po
index af280821..5b24b8b0 100644
--- a/reference/datamodel.po
+++ b/reference/datamodel.po
@@ -329,15 +329,14 @@ msgstr ""
"numériques par les ordinateurs."
#: reference/datamodel.rst:190
-#, fuzzy
msgid ""
"The string representations of the numeric classes, computed by :meth:"
"`~object.__repr__` and :meth:`~object.__str__`, have the following "
"properties:"
msgstr ""
"Les représentations sous forme de chaînes de caractères des objets "
-"numériques, produites par :meth:`__repr__` et :meth:`__str__`, ont les "
-"propriétés suivantes :"
+"numériques, produites par :meth:`~object.__repr__` et :meth:`~object."
+"__str__`, ont les propriétés suivantes :"
#: reference/datamodel.rst:194
msgid ""
@@ -1183,7 +1182,6 @@ msgid "Generator functions"
msgstr "Fonctions générateurs"
#: reference/datamodel.rst:649
-#, fuzzy
msgid ""
"A function or method which uses the :keyword:`yield` statement (see section :"
"ref:`yield`) is called a :dfn:`generator function`. Such a function, when "
@@ -1196,14 +1194,14 @@ msgid ""
"values to be returned."
msgstr ""
"Une fonction ou une méthode qui utilise l'instruction :keyword:`yield` (voir "
-"la section :ref:`yield`) est appelée :dfn:`fonction générateur`. Une telle "
-"fonction, lorsqu'elle est appelée, retourne toujours un objet itérateur qui "
-"peut être utilisé pour exécuter le corps de la fonction : appeler la "
-"méthode :meth:`iterator.__next__` de l'itérateur exécute la fonction jusqu'à "
-"ce qu'elle renvoie une valeur à l'aide de l'instruction :keyword:`!yield`. "
-"Quand la fonction exécute l'instruction :keyword:`return` ou se termine, une "
-"exception :exc:`StopIteration` est levée et l'itérateur a atteint la fin de "
-"l'ensemble de valeurs qu'il peut renvoyer."
+"la section :ref:`yield`) est appelée :dfn:`fonction génératrice`. Une telle "
+"fonction, lorsqu'elle est appelée, renvoie toujours un objet :term:"
+"`itérateur ` qui peut être utilisé pour exécuter le corps de la "
+"fonction : appeler la méthode :meth:`iterator.__next__` de l'itérateur "
+"exécute la fonction jusqu'à ce qu'elle renvoie une valeur à l'aide de "
+"l'instruction :keyword:`!yield`. Quand la fonction exécute l'instruction :"
+"keyword:`return` ou se termine, une exception :exc:`StopIteration` est levée "
+"et l'itérateur a atteint la fin de l'ensemble de valeurs qu'il peut renvoyer."
#: reference/datamodel.rst:667
msgid "Coroutine functions"
@@ -1228,7 +1226,6 @@ msgid "Asynchronous generator functions"
msgstr "Fonctions générateurs asynchrones"
#: reference/datamodel.rst:674
-#, fuzzy
msgid ""
"A function or method which is defined using :keyword:`async def` and which "
"uses the :keyword:`yield` statement is called a :dfn:`asynchronous generator "
@@ -1237,13 +1234,13 @@ msgid ""
"execute the body of the function."
msgstr ""
"Une fonction ou une méthode définie avec :keyword:`async def` et qui utilise "
-"l'instruction :keyword:`yield` est appelée :dfn:`fonction générateur "
-"asynchrone`. Une telle fonction, quand elle est appelée, renvoie un objet "
-"itérateur asynchrone qui peut être utilisé dans des instructions :keyword:"
-"`async for` pour exécuter le corps de la fonction."
+"l'instruction :keyword:`yield` est appelée :dfn:`fonction génératrice "
+"asynchrone`. Une telle fonction, quand elle est appelée, renvoie un objet :"
+"term:`itérateur asynchrone ` qui peut être utilisé "
+"dans des instructions :keyword:`async for` pour exécuter le corps de la "
+"fonction."
#: reference/datamodel.rst:680
-#, fuzzy
msgid ""
"Calling the asynchronous iterator's :meth:`aiterator.__anext__ ` method will return an :term:`awaitable` which when awaited will "
@@ -1253,13 +1250,13 @@ msgid ""
"asynchronous iterator will have reached the end of the set of values to be "
"yielded."
msgstr ""
-"Appeler la méthode :meth:`aiterator.__anext__` de l'itérateur asynchrone "
-"renvoie un :term:`awaitable` qui, lorsqu'on l'attend, s'exécute jusqu'à ce "
-"qu'il fournisse une valeur à l'aide de l'expression :keyword:`yield`. Quand "
-"la fonction exécute une instruction :keyword:`return` (sans valeur) ou "
-"arrive à la fin, une exception :exc:`StopAsynciteration` est levée et "
-"l'itérateur asynchrone a atteint la fin de l'ensemble des valeurs qu'il peut "
-"produire."
+"Appeler la méthode :meth:`aiterator.__anext__ ` de "
+"l'itérateur asynchrone renvoie un :term:`awaitable` qui, lorsqu'on l'attend, "
+"s'exécute jusqu'à ce qu'il fournisse une valeur à l'aide de l'expression :"
+"keyword:`yield`. Quand la fonction exécute une instruction :keyword:`return` "
+"(sans valeur) ou arrive à la fin, une exception :exc:`StopAsyncIteration` "
+"est levée et l'itérateur asynchrone a atteint la fin de l'ensemble des "
+"valeurs qu'il peut produire."
#: reference/datamodel.rst:702
msgid "Built-in functions"
@@ -1309,7 +1306,6 @@ msgid "Classes"
msgstr "Classes"
#: reference/datamodel.rst:717
-#, fuzzy
msgid ""
"Classes are callable. These objects normally act as factories for new "
"instances of themselves, but variations are possible for class types that "
@@ -1319,22 +1315,21 @@ msgid ""
msgstr ""
"Les classes sont des appelables. Ces objets sont normalement utilisés pour "
"créer des instances d'elles-mêmes mais des variations sont possibles pour "
-"les types de classes qui surchargent :meth:`__new__`. Les arguments de "
-"l'appel sont passés à :meth:`__new__` et, dans le cas classique, :meth:"
-"`__new__` initialise une nouvelle instance."
+"les types de classes qui surchargent :meth:`~object.__new__`. Les arguments "
+"de l'appel sont passés à :meth:`__new__` et, dans le cas classique, :meth:"
+"`~object.__init__` initialise une nouvelle instance."
#: reference/datamodel.rst:726
msgid "Class Instances"
msgstr "Instances de classe"
#: reference/datamodel.rst:724
-#, fuzzy
msgid ""
"Instances of arbitrary classes can be made callable by defining a :meth:"
"`~object.__call__` method in their class."
msgstr ""
"Les instances d'une classe peuvent devenir des appelables si vous définissez "
-"la méthode :meth:`__call__` de leur classe."
+"la méthode :meth:`~object.__call__` de leur classe."
#: reference/datamodel.rst:789
msgid "Modules"
@@ -1560,7 +1555,6 @@ msgid "Class instances"
msgstr "Instances de classe"
#: reference/datamodel.rst:873
-#, fuzzy
msgid ""
"A class instance is created by calling a class object (see above). A class "
"instance has a namespace implemented as a dictionary which is the first "
@@ -1590,21 +1584,20 @@ msgstr ""
"récupérer les attributs d'une classe, où la récupération *via* ses instances "
"peut différer des objets réellement stockés dans le :attr:`~object.__dict__` "
"de la classe. Si aucun attribut de classe n'est trouvé et que la classe de "
-"l'objet possède une méthode :meth:`__getattr__`, cette méthode est appelée "
-"pour rechercher une correspondance."
+"l'objet possède une méthode :meth:`~object.__getattr__`, cette méthode est "
+"appelée pour rechercher une correspondance."
#: reference/datamodel.rst:889
-#, fuzzy
msgid ""
"Attribute assignments and deletions update the instance's dictionary, never "
"a class's dictionary. If the class has a :meth:`~object.__setattr__` or :"
"meth:`~object.__delattr__` method, this is called instead of updating the "
"instance dictionary directly."
msgstr ""
-"Les assignations et suppressions d'attributs mettent à jour le dictionnaire "
+"Les affectations et suppressions d'attributs mettent à jour le dictionnaire "
"de l'instance, jamais le dictionnaire de la classe. Si la classe possède une "
-"méthode :meth:`__setattr__` ou :meth:`__delattr__`, elle est appelée au lieu "
-"de mettre à jour le dictionnaire de l'instance directement."
+"méthode :meth:`~object.__setattr__` ou :meth:`~object.__delattr__`, elle est "
+"appelée au lieu de mettre à jour le dictionnaire de l'instance directement."
#: reference/datamodel.rst:899
msgid ""
@@ -1985,14 +1978,13 @@ msgid "Slice objects"
msgstr "Objets tranches"
#: reference/datamodel.rst:1145
-#, fuzzy
msgid ""
"Slice objects are used to represent slices for :meth:`~object.__getitem__` "
"methods. They are also created by the built-in :func:`slice` function."
msgstr ""
"Un objet tranche est utilisé pour représenter des découpes des méthodes :"
-"meth:`__getitem__`. Ils sont aussi créés par la fonction native :func:"
-"`slice`."
+"meth:`~object.__getitem__`. Ils sont aussi créés par la fonction native :"
+"func:`slice`."
#: reference/datamodel.rst:1154
msgid ""
@@ -2072,7 +2064,6 @@ msgid "Special method names"
msgstr "Méthodes spéciales"
#: reference/datamodel.rst:1195
-#, fuzzy
msgid ""
"A class can implement certain operations that are invoked by special syntax "
"(such as arithmetic operations or subscripting and slicing) by defining "
@@ -2091,14 +2082,13 @@ msgstr ""
"l'approche utilisée par Python pour la :dfn:`surcharge d'opérateur`, "
"permettant à une classe de définir son propre comportement vis-à-vis des "
"opérateurs du langage. Par exemple, si une classe définit une méthode :meth:"
-"`__getitem__` et que ``x`` est une instance de cette classe, alors ``x[i]`` "
-"est globalement équivalent à ``type(x).__getitem__(x, i)``. Sauf lorsque "
-"c'est mentionné, toute tentative d'appliquer une opération alors que la "
-"méthode appropriée n'est pas définie lève une exception (typiquement :exc:"
+"`~object.__getitem__` et que ``x`` est une instance de cette classe, alors "
+"``x[i]`` est globalement équivalent à ``type(x).__getitem__(x, i)``. Sauf "
+"lorsque c'est mentionné, toute tentative d'appliquer une opération alors que "
+"la méthode appropriée n'est pas définie lève une exception (typiquement :exc:"
"`AttributeError` ou :exc:`TypeError`)."
#: reference/datamodel.rst:1206
-#, fuzzy
msgid ""
"Setting a special method to ``None`` indicates that the corresponding "
"operation is not available. For example, if a class sets :meth:`~object."
@@ -2108,9 +2098,9 @@ msgid ""
msgstr ""
"Définir une méthode spéciale à ``None`` indique que l'opération "
"correspondante n'est pas disponible. Par exemple, si une classe assigne "
-"``None`` à :meth:`__iter__`, vous ne pouvez pas itérer sur la classe et "
-"appeler :func:`iter` sur une instance lève :exc:`TypeError` (sans se replier "
-"sur :meth:`__getitem__`) [#]_."
+"``None`` à :meth:`~object.__iter__`, vous ne pouvez pas itérer sur la classe "
+"et appeler :func:`iter` sur une instance lève :exc:`TypeError` (sans se "
+"replier sur :meth:`~object.__getitem__`) [#]_."
#: reference/datamodel.rst:1212
msgid ""
@@ -2538,7 +2528,6 @@ msgstr ""
"virtuelles ne sont pas prises en compte."
#: reference/datamodel.rst:1467
-#, fuzzy
msgid ""
"Called by built-in function :func:`hash` and for operations on members of "
"hashed collections including :class:`set`, :class:`frozenset`, and :class:"
@@ -2550,11 +2539,11 @@ msgid ""
msgstr ""
"Appelée par la fonction native :func:`hash` et par les opérations sur les "
"membres de collections hachées (ce qui comprend :class:`set`, :class:"
-"`frozenset` et :class:`dict`). :meth:`__hash__` doit renvoyer un entier. La "
-"seule propriété requise est que les objets qui sont égaux pour la "
+"`frozenset` et :class:`dict`). La méthode ``__hash__()`` doit renvoyer un "
+"entier. La seule propriété requise est que les objets qui sont égaux pour la "
"comparaison doivent avoir la même valeur de hachage ; il est conseillé de "
"mélanger les valeurs de hachage des composants d'un objet qui jouent un rôle "
-"de la comparaison des objets, en les plaçant dans un *n*-uplet dont on "
+"dans la comparaison des objets, en les emballant dans un *n*-uplet dont on "
"calcule l'empreinte. Par exemple ::"
#: reference/datamodel.rst:1480
@@ -3067,7 +3056,6 @@ msgid "Invoking Descriptors"
msgstr "Invocation des descripteurs"
#: reference/datamodel.rst:1758
-#, fuzzy
msgid ""
"In general, a descriptor is an object attribute with \"binding behavior\", "
"one whose attribute access has been overridden by methods in the descriptor "
@@ -3078,9 +3066,9 @@ msgstr ""
"En général, un descripteur est un attribut d'objet dont le comportement est "
"« lié » (*binding dehavior* en anglais), c'est-à-dire que les accès aux "
"attributs ont été surchargés par des méthodes conformes au protocole des "
-"descripteurs : :meth:`__get__`, :meth:`__set__` et :meth:`__delete__`. Si "
-"l'une de ces méthodes est définie pour un objet, il est réputé être un "
-"descripteur."
+"descripteurs : :meth:`~object.__get__`, :meth:`~object.__set__` et :meth:"
+"`~object.__delete__`. Si l'une de ces méthodes est définie pour un objet, il "
+"est réputé être un descripteur."
#: reference/datamodel.rst:1764
msgid ""
@@ -3170,7 +3158,6 @@ msgstr ""
"``A.__dict__['m'].__get__(obj, obj.__class__)``."
#: reference/datamodel.rst:1795
-#, fuzzy
msgid ""
"For instance bindings, the precedence of descriptor invocation depends on "
"which descriptor methods are defined. A descriptor can define any "
@@ -3188,22 +3175,21 @@ msgid ""
msgstr ""
"Pour des liaisons avec des instances, la priorité à l'invocation du "
"descripteur dépend des méthodes que le descripteur a définies. Un "
-"descripteur peut définir n'importe quelle combinaison de :meth:`__get__`, :"
-"meth:`__set__` et :meth:`__delete__`. S'il ne définit pas :meth:`__get__`, "
-"alors accéder à l'attribut renvoie l'objet descripteur lui-même sauf s'il "
-"existe une valeur dans le dictionnaire de l'objet instance. Si le "
-"descripteur définit :meth:`__set__` ou :meth:`__delete__`, c'est un "
-"descripteur de données ; s'il ne définit aucune méthode, c'est un "
-"descripteur hors-données. Normalement, les descripteurs de données "
-"définissent à la fois :meth:`__get__` et :meth:`__set__`, alors que les "
-"descripteurs hors-données définissent seulement la méthode :meth:`__get__`. "
-"Les descripteurs de données qui définissent :meth:`__set__` et :meth:"
-"`__get__` (ou :meth:`__delete__`) sont toujours prioritaires face à une "
+"descripteur peut définir n'importe quelle combinaison de :meth:`~object."
+"__get__`, :meth:`~object.__set__` et :meth:`~object.__delete__`. S'il ne "
+"définit pas :meth:`__get__`, alors accéder à l'attribut renvoie l'objet "
+"descripteur lui-même sauf s'il existe une valeur dans le dictionnaire de "
+"l'objet instance. Si le descripteur définit :meth:`__set__` ou :meth:"
+"`__delete__`, c'est un descripteur de données ; s'il ne définit aucune "
+"méthode, c'est un descripteur hors-données. Normalement, les descripteurs de "
+"données définissent à la fois :meth:`__get__` et :meth:`__set__`, alors que "
+"les descripteurs hors-données définissent seulement la méthode :meth:"
+"`__get__`. Les descripteurs de données qui définissent :meth:`__set__` et :"
+"meth:`__get__` (ou :meth:`__delete__`) sont toujours prioritaires face à une "
"redéfinition du dictionnaire de l'instance. En revanche, les descripteurs "
"hors-données peuvent être shuntés par les instances."
#: reference/datamodel.rst:1809
-#, fuzzy
msgid ""
"Python methods (including those decorated with :func:`@staticmethod "
"` and :func:`@classmethod `) are implemented as "
@@ -3211,11 +3197,11 @@ msgid ""
"methods. This allows individual instances to acquire behaviors that differ "
"from other instances of the same class."
msgstr ""
-"Les méthodes Python (y compris :func:`staticmethod` et :func:`classmethod`) "
-"sont implémentées comme des descripteurs hors-donnée. De la même manière, "
-"les instances peuvent redéfinir et surcharger les méthodes. Ceci permet à "
-"chaque instance d'avoir un comportement qui diffère des autres instances de "
-"la même classe."
+"Les méthodes Python (y compris celles décorées par :func:`@staticmethod "
+"` et :func:`@classmethod `) sont implémentées "
+"comme des descripteurs hors-données. De la même manière, les instances "
+"peuvent redéfinir et surcharger les méthodes. Ceci permet à chaque instance "
+"d'avoir un comportement qui diffère des autres instances de la même classe."
#: reference/datamodel.rst:1815
msgid ""
@@ -3231,29 +3217,26 @@ msgid "__slots__"
msgstr "``__slots__``"
#: reference/datamodel.rst:1824
-#, fuzzy
msgid ""
"*__slots__* allow us to explicitly declare data members (like properties) "
"and deny the creation of :attr:`~object.__dict__` and *__weakref__* (unless "
"explicitly declared in *__slots__* or available in a parent.)"
msgstr ""
-"Les ``__slots__`` vous permettent de déclarer des membres d'une donnée "
-"(comme une propriété) et d'interdire la création de *__dict__* ou de "
-"*__weakref__* (à moins qu'ils ne soient explicitement déclarés dans le "
-"``__slots__`` ou présent dans le parent)."
+"Les créneaux prédéfinis (``__slots__``) vous permettent de déclarer des "
+"membres d'une donnée (comme une propriété) et d'interdire la création de :"
+"attr:`~object.__dict__` ou de *__weakref__* (à moins qu'ils ne soient "
+"explicitement déclarés dans le ``__slots__`` ou présent dans le parent)."
#: reference/datamodel.rst:1828
-#, fuzzy
msgid ""
"The space saved over using :attr:`~object.__dict__` can be significant. "
"Attribute lookup speed can be significantly improved as well."
msgstr ""
-"L'espace gagné par rapport à l'utilisation d'un *__dict__* peut être "
-"significatif. La recherche d'attribut peut aussi s'avérer beaucoup plus "
-"rapide."
+"L'espace gagné par rapport à l'utilisation d'un :attr:`~object.__dict__` "
+"peut être significatif. La recherche d'attribut peut aussi s'avérer beaucoup "
+"plus rapide."
#: reference/datamodel.rst:1833
-#, fuzzy
msgid ""
"This class variable can be assigned a string, iterable, or sequence of "
"strings with variable names used by instances. *__slots__* reserves space "
@@ -3263,25 +3246,23 @@ msgstr ""
"Cette variable de classe peut être assignée avec une chaîne, un itérable ou "
"une séquence de chaînes avec les noms de variables utilisés par les "
"instances. *__slots__* réserve de la place pour ces variables déclarées et "
-"interdit la création automatique de *__dict__* et *__weakref__* pour chaque "
-"instance."
+"interdit la création automatique de :attr:`~object.__dict__` et "
+"*__weakref__* pour chaque instance."
#: reference/datamodel.rst:1841
msgid "Notes on using *__slots__*"
msgstr "Note sur l'utilisation de *__slots__*"
#: reference/datamodel.rst:1843
-#, fuzzy
msgid ""
"When inheriting from a class without *__slots__*, the :attr:`~object."
"__dict__` and *__weakref__* attribute of the instances will always be "
"accessible."
msgstr ""
-"Lorsque vous héritez d'une classe sans *__slots__*, les attributs *__dict__* "
-"et *__weakref__* des instances sont toujours accessibles."
+"Lorsque vous héritez d'une classe sans *__slots__*, les attributs :attr:"
+"`~object.__dict__` et *__weakref__* des instances sont toujours accessibles."
#: reference/datamodel.rst:1847
-#, fuzzy
msgid ""
"Without a :attr:`~object.__dict__` variable, instances cannot be assigned "
"new variables not listed in the *__slots__* definition. Attempts to assign "
@@ -3289,14 +3270,14 @@ msgid ""
"assignment of new variables is desired, then add ``'__dict__'`` to the "
"sequence of strings in the *__slots__* declaration."
msgstr ""
-"Sans variable *__dict__*, les instances ne peuvent pas assigner de nouvelles "
-"variables (non listées dans la définition de *__slots__*). Les tentatives "
-"d'assignation sur un nom de variable non listé lève :exc:`AttributeError`. "
-"Si l'assignation dynamique de nouvelles variables est nécessaire, ajoutez "
-"``'__dict__'`` à la séquence de chaînes dans la déclaration *__slots__*."
+"Sans variable :attr:`~object.__dict__`, les instances ne peuvent pas "
+"assigner de nouvelles variables (non listées dans la définition de "
+"*__slots__*). Les tentatives d'assignation sur un nom de variable non listé "
+"lève :exc:`AttributeError`. Si l'assignation dynamique de nouvelles "
+"variables est nécessaire, ajoutez ``'__dict__'`` à la séquence de chaînes "
+"dans la déclaration *__slots__*."
#: reference/datamodel.rst:1854
-#, fuzzy
msgid ""
"Without a *__weakref__* variable for each instance, classes defining "
"*__slots__* do not support :mod:`weak references ` to its "
@@ -3304,27 +3285,25 @@ msgid ""
"to the sequence of strings in the *__slots__* declaration."
msgstr ""
"Sans variable *__weakref__* pour chaque instance, les classes qui "
-"définissent *__slots__* ne gèrent pas les références faibles vers leurs "
-"instances. Si vous avez besoin de gérer des références faibles, ajoutez "
-"``'__weakref__'`` à la séquence de chaînes dans la déclaration de "
-"*__slots__*."
+"définissent *__slots__* ne gèrent pas les :mod:`références faibles "
+"` vers leurs instances. Si vous avez besoin de gérer des références "
+"faibles, ajoutez ``'__weakref__'`` à la séquence de chaînes dans la "
+"déclaration de *__slots__*."
#: reference/datamodel.rst:1860
-#, fuzzy
msgid ""
"*__slots__* are implemented at the class level by creating :ref:`descriptors "
"` for each variable name. As a result, class attributes cannot "
"be used to set default values for instance variables defined by *__slots__*; "
"otherwise, the class attribute would overwrite the descriptor assignment."
msgstr ""
-"Les *__slots__* sont implémentés au niveau de la classe en créant des "
-"descripteurs (:ref:`descriptors`) pour chaque nom de variable. Ainsi, les "
+"Les *__slots__* sont implémentés au niveau de la classe en créant des :ref:"
+"`descripteurs ` pour chaque nom de variable. Ainsi, les "
"attributs de classe ne peuvent pas être utilisés pour des valeurs par défaut "
"aux variables d'instances définies par *__slots__* ; sinon, l'attribut de "
"classe surchargerait l'assignation par descripteur."
#: reference/datamodel.rst:1866
-#, fuzzy
msgid ""
"The action of a *__slots__* declaration is not limited to the class where it "
"is defined. *__slots__* declared in parents are available in child classes. "
@@ -3334,9 +3313,10 @@ msgid ""
msgstr ""
"L'action de la déclaration du *__slots__* ne se limite pas à la classe où il "
"est défini. Les *__slots__* déclarés par les parents sont disponibles dans "
-"les classes enfants. Cependant, les sous-classes enfants ont un *__dict__* "
-"et un *__weakref__* à moins qu'elles ne définissent aussi un *__slots__* "
-"(qui ne doit contenir alors que les noms *supplémentaires* du *slot*)."
+"les classes enfants. Cependant, les sous-classes enfants ont un :attr:"
+"`~object.__dict__` et un *__weakref__* à moins qu'elles ne définissent aussi "
+"un *__slots__* (qui ne doit contenir alors que les noms *supplémentaires* "
+"aux créneaux déjà prédéfinis)."
#: reference/datamodel.rst:1872
msgid ""
@@ -3382,44 +3362,40 @@ msgstr ""
"`help`."
#: reference/datamodel.rst:1887
-#, fuzzy
msgid ""
":attr:`~instance.__class__` assignment works only if both classes have the "
"same *__slots__*."
msgstr ""
-"Les assignations de *__class__* ne fonctionnent que si les deux classes ont "
-"le même *__slots__*."
+"Les assignations de :attr:`~instance.__class__` ne fonctionnent que si les "
+"deux classes ont le même *__slots__*."
#: reference/datamodel.rst:1890
-#, fuzzy
msgid ""
":ref:`Multiple inheritance ` with multiple slotted parent "
"classes can be used, but only one parent is allowed to have attributes "
"created by slots (the other bases must have empty slot layouts) - violations "
"raise :exc:`TypeError`."
msgstr ""
-"L'héritage multiple avec plusieurs classes parentes qui ont des *__slots__* "
-"est possible, mais seul un parent peut avoir des attributs créés par "
-"*__slots__* (les autres classes parentes doivent avoir des *__slots__* "
-"vides). La violation de cette règle lève :exc:`TypeError`."
+"L':ref:`héritage multiple ` avec plusieurs classes parentes "
+"qui ont des *__slots__* est possible, mais seul un parent peut avoir des "
+"attributs créés par *__slots__* (les autres classes parentes doivent avoir "
+"des *__slots__* vides). La violation de cette règle lève :exc:`TypeError`."
#: reference/datamodel.rst:1896
-#, fuzzy
msgid ""
"If an :term:`iterator` is used for *__slots__* then a :term:`descriptor` is "
"created for each of the iterator's values. However, the *__slots__* "
"attribute will be an empty iterator."
msgstr ""
-"Si un itérateur est utilisé pour *__slots__*, alors un descripteur est créé "
-"pour chacune des valeurs de l'itérateur. Cependant, l'attribut de "
-"*__slots__* est un itérateur vide."
+"Si un :term:`itérateur ` est utilisé pour *__slots__*, alors un :"
+"term:`descripteur ` est créé pour chacune des valeurs de "
+"l'itérateur. Cependant, l'attribut *__slots__* est un itérateur vide."
#: reference/datamodel.rst:1904
msgid "Customizing class creation"
msgstr "Personnalisation de la création de classes"
#: reference/datamodel.rst:1906
-#, fuzzy
msgid ""
"Whenever a class inherits from another class, :meth:`~object."
"__init_subclass__` is called on the parent class. This way, it is possible "
@@ -3428,13 +3404,13 @@ msgid ""
"specific class they're applied to, ``__init_subclass__`` solely applies to "
"future subclasses of the class defining the method."
msgstr ""
-"Quand une classe hérite d'une classe parente, *__init_subclass__* de la "
-"classe parente est appelée. Ainsi, il est possible d'écrire des classes qui "
-"modifient le comportement des sous-classes. Ce comportement est corrélé aux "
-"décorateurs de classes mais, alors que les décorateurs de classes agissent "
-"seulement sur la classe qu'ils décorent, ``__init_subclass__`` agit "
-"uniquement sur les futures sous-classes de la classe qui définit cette "
-"méthode."
+"Quand une classe hérite d'une classe parente, la méthode :meth:`~object."
+"__init_subclass__` de la classe parente est appelée. Ainsi, il est possible "
+"d'écrire des classes qui modifient le comportement des sous-classes. Ce "
+"comportement est corrélé aux décorateurs de classes mais, alors que les "
+"décorateurs de classes agissent seulement sur la classe qu'ils décorent, "
+"``__init_subclass__`` agit uniquement sur les futures sous-classes de la "
+"classe qui définit cette méthode."
#: reference/datamodel.rst:1915
msgid ""
@@ -3481,13 +3457,13 @@ msgstr ""
"explicite) peut être récupérée par ``type(cls)``."
#: reference/datamodel.rst:1946
-#, fuzzy
msgid ""
"When a class is created, :meth:`type.__new__` scans the class variables and "
"makes callbacks to those with a :meth:`~object.__set_name__` hook."
msgstr ""
"Lorsqu'une classe est créée, :meth:`type.__new__` exécute le point d'entrée :"
-"meth:`__set_name__` de toute variable de la classe qui en possède un."
+"meth:`~object.___set_name__` de toute variable de la classe qui en possède "
+"un."
#: reference/datamodel.rst:1951
msgid ""
@@ -3650,7 +3626,6 @@ msgid "Preparing the class namespace"
msgstr "Préparation de l'espace de nommage de la classe"
#: reference/datamodel.rst:2055
-#, fuzzy
msgid ""
"Once the appropriate metaclass has been identified, then the class namespace "
"is prepared. If the metaclass has a ``__prepare__`` attribute, it is called "
@@ -3666,10 +3641,10 @@ msgstr ""
"il est appelé avec ``namespace = metaclass.__prepare__(name, bases, "
"**kwds)`` (où les arguments nommés supplémentaires, s'il y en a, sont les "
"arguments de la définition de la classe). La méthode ``__prepare__`` doit "
-"être implémentée comme une méthode de classe (:func:`classmethod`). L’espace "
-"de nommage renvoyé par ``__prepare__`` est passé à ``__new__``, mais quand "
-"l’instance finale est créée, l’espace de nommage est copié vers un nouveau "
-"``dict``."
+"être implémentée comme une :func:`méthode de classe `). "
+"L’espace de nommage renvoyé par ``__prepare__`` est passé à ``__new__``, "
+"mais quand l’instance finale est créée, l’espace de nommage est copié vers "
+"un nouveau ``dict``."
#: reference/datamodel.rst:2064
msgid ""
@@ -3953,9 +3928,8 @@ msgstr ""
"dans laquelle tous les éléments sont de type :class:`entiers `."
#: reference/datamodel.rst:2208
-#, fuzzy
msgid ":pep:`484` - Type Hints"
-msgstr ":pep:`343` — L'instruction ``with``"
+msgstr ":pep:`343` — Indications de types"
#: reference/datamodel.rst:2208
msgid "Introducing Python's framework for type annotations"
@@ -4150,7 +4124,6 @@ msgid "Emulating container types"
msgstr "Émulation de types conteneurs"
#: reference/datamodel.rst:2357
-#, fuzzy
msgid ""
"The following methods can be defined to implement container objects. "
"Containers usually are :term:`sequences ` (such as :class:`lists "
@@ -4186,39 +4159,42 @@ msgid ""
"the values."
msgstr ""
"Les fonctions suivantes peuvent être définies pour implémenter des objets "
-"conteneurs. Les conteneurs sont habituellement des séquences (telles que les "
-"*n*-uplets ou les listes) ou des tableaux de correspondances (comme les "
-"dictionnaires), mais ils peuvent aussi représenter d'autres conteneurs. Le "
-"premier ensemble de méthodes est utilisé soit pour émuler une séquence, soit "
-"pour émuler un tableau de correspondances ; la différence est que, pour une "
-"séquence, les clés doivent être soit des entiers *k* tels que ``0 <= k < N`` "
-"où *N* est la longueur de la séquence, soit des objets tranches qui "
-"définissent un intervalle d'éléments. Il est aussi recommandé que les "
-"tableaux de correspondances fournissent les méthodes :meth:`keys`, :meth:"
-"`values`, :meth:`items`, :meth:`get`, :meth:`clear`, :meth:`setdefault`, :"
-"meth:`pop`, :meth:`popitem`, :meth:`!copy` et :meth:`update` avec un "
-"comportement similaire aux objets dictionnaires standards de Python. Le "
-"module :mod:`collections.abc` fournit une classe de base abstraite :class:"
-"`~collections.abc.MutableMapping` pour aider à la création de ces méthodes à "
-"partir d'un ensemble de base composé de :meth:`__getitem__`, :meth:"
-"`__setitem__`, :meth:`__delitem__` et :meth:`keys`. Les séquences muables "
-"doivent fournir les méthodes :meth:`append`, :meth:`count`, :meth:`index`, :"
-"meth:`extend`, :meth:`insert`, :meth:`pop`, :meth:`remove`, :meth:`reverse` "
-"et :meth:`sort`, comme les objets listes standards de Python. Enfin, les "
-"types séquences doivent implémenter l'addition (dans le sens de la "
-"concaténation) et la multiplication (dans le sens de la répétition) en "
-"définissant les méthodes :meth:`__add__`, :meth:`__radd__`, :meth:"
-"`__iadd__`, :meth:`__mul__`, :meth:`__rmul__` et :meth:`__imul__` décrites "
-"ci-dessous ; ils ne doivent pas définir d'autres opérateurs numériques. Il "
-"est recommandé que les tableaux de correspondances et les séquences "
-"implémentent la méthode :meth:`__contains__` pour permettre l'utilisation "
-"efficace de l'opérateur ``in`` ; concernant les tableaux de correspondances, "
-"``in`` doit rechercher dans les clés du tableau ; pour les séquences, il "
-"doit chercher dans les valeurs. Il est de plus recommandé que les tableaux "
-"de correspondances et les séquences implémentent la méthode :meth:`__iter__` "
-"pour permettre une itération efficace dans le conteneur ; pour les tableaux "
-"de correspondances, :meth:`__iter__` doit itérer sur les clés de l'objet ; "
-"pour les séquences, elle doit itérer sur les valeurs."
+"conteneurs. Les conteneurs sont habituellement des :term:`séquences "
+"` (telles que les :class:`listes ` ou les :class:`n-uplets "
+"`) ou des :term:`tableaux de correspondances ` (comme les :"
+"class:`dictionnaires `), mais ils peuvent aussi représenter d'autres "
+"conteneurs. Le premier ensemble de méthodes est utilisé soit pour émuler une "
+"séquence, soit pour émuler un tableau de correspondances ; la différence est "
+"que, pour une séquence, les clés doivent être soit des entiers *k* tels que "
+"``0 <= k < N`` où *N* est la longueur de la séquence, soit des objets :class:"
+"`tranches ` qui définissent un intervalle d'éléments. Il est aussi "
+"recommandé que les tableaux de correspondances fournissent les méthodes :"
+"meth:`keys`, :meth:`values`, :meth:`items`, :meth:`get`, :meth:`clear`, :"
+"meth:`setdefault`, :meth:`pop`, :meth:`popitem`, :meth:`!copy` et :meth:"
+"`update` avec un comportement similaire aux objets :class:`dictionnaires "
+"` standards de Python. Le module :mod:`collections.abc` fournit une :"
+"term:`classe de base abstraite ` :class:`~collections."
+"abc.MutableMapping` pour aider à la création de ces méthodes à partir d'un "
+"ensemble de base composé de :meth:`~object.__getitem__`, :meth:`~object."
+"__setitem__`, :meth:`~object.__delitem__` et :meth:`keys`. Les séquences "
+"muables doivent fournir les méthodes :meth:`append`, :meth:`count`, :meth:"
+"`index`, :meth:`extend`, :meth:`insert`, :meth:`pop`, :meth:`remove`, :meth:"
+"`reverse` et :meth:`sort`, comme les objets :class:`listes ` standards "
+"de Python. Enfin, les types séquences doivent implémenter l'addition (dans "
+"le sens de la concaténation) et la multiplication (dans le sens de la "
+"répétition) en définissant les méthodes :meth:`~object.__add__`, :meth:"
+"`~object.__radd__`, :meth:`~object.__iadd__`, :meth:`~object.__mul__`, :meth:"
+"`~object.__rmul__` et :meth:`~object.__imul__` décrites ci-dessous ; ils ne "
+"doivent pas définir d'autres opérateurs numériques. Il est recommandé que "
+"les tableaux de correspondances et les séquences implémentent la méthode :"
+"meth:`~object.__contains__` pour permettre l'utilisation efficace de "
+"l'opérateur ``in`` ; concernant les tableaux de correspondances, ``in`` doit "
+"rechercher dans les clés du tableau ; pour les séquences, il doit chercher "
+"dans les valeurs. Il est de plus recommandé que les tableaux de "
+"correspondances et les séquences implémentent la méthode :meth:`~object."
+"__iter__` pour permettre une itération efficace dans le conteneur ; pour les "
+"tableaux de correspondances, :meth:`__iter__` doit itérer sur les clés de "
+"l'objet ; pour les séquences, elle doit itérer sur les valeurs."
#: reference/datamodel.rst:2397
msgid ""
@@ -4279,7 +4255,6 @@ msgid "and so forth. Missing slice items are always filled in with ``None``."
msgstr "et ainsi de suite. Les éléments manquants sont remplacés par ``None``."
#: reference/datamodel.rst:2440
-#, fuzzy
msgid ""
"Called to implement evaluation of ``self[key]``. For :term:`sequence` types, "
"the accepted keys should be integers and slice objects. Note that the "
@@ -4291,15 +4266,16 @@ msgid ""
"term:`mapping` types, if *key* is missing (not in the container), :exc:"
"`KeyError` should be raised."
msgstr ""
-"Appelée pour implémenter l'évaluation de ``self[key]``. Pour les types "
-"séquences, les clés autorisées sont les entiers et les objets tranches "
-"(*slice*). Notez que l'interprétation spéciale des indices négatifs (si la "
-"classe souhaite émuler un type séquence) est du ressort de la méthode :meth:"
-"`__getitem__`. Si *key* n'est pas du bon type, une :exc:`TypeError` peut "
-"être levée ; si la valeur est en dehors de l'ensemble des indices de la "
-"séquence (après interprétation éventuelle des valeurs négatives), une :exc:"
-"`IndexError` doit être levée. Pour les tableaux de correspondances, si *key* "
-"n'existe pas dans le conteneur, une :exc:`KeyError` doit être levée."
+"Appelée pour implémenter l'évaluation de ``self[key]``. Pour les types :term:"
+"`séquences `, les clés autorisées sont les entiers et les objets "
+"tranches (*slice*). Notez que l'interprétation spéciale des indices négatifs "
+"(si la classe souhaite émuler un type :term:`séquence `) est du "
+"ressort de la méthode :meth:`__getitem__`. Si *key* n'est pas du bon type, "
+"une :exc:`TypeError` peut être levée ; si la valeur est en dehors de "
+"l'ensemble des indices de la séquence (après interprétation éventuelle des "
+"valeurs négatives), une :exc:`IndexError` doit être levée. Pour les :term:"
+"`tableaux de correspondances `, si *key* n'existe pas dans le "
+"conteneur, une :exc:`KeyError` doit être levée."
#: reference/datamodel.rst:2452
msgid ""
@@ -4361,17 +4337,16 @@ msgstr ""
"pas dans le dictionnaire."
#: reference/datamodel.rst:2489
-#, fuzzy
msgid ""
"This method is called when an :term:`iterator` is required for a container. "
"This method should return a new iterator object that can iterate over all "
"the objects in the container. For mappings, it should iterate over the keys "
"of the container."
msgstr ""
-"Cette méthode est appelée quand un itérateur est requis pour un conteneur. "
-"Cette méthode doit renvoyer un nouvel objet itérateur qui peut itérer sur "
-"tous les objets du conteneur. Pour les tableaux de correspondances, elle "
-"doit itérer sur les clés du conteneur."
+"Cette méthode est appelée quand un :term:`itérateur ` est requis "
+"pour un conteneur. Cette méthode doit renvoyer un nouvel objet itérateur qui "
+"peut itérer sur tous les objets du conteneur. Pour les tableaux de "
+"correspondances, elle doit itérer sur les clés du conteneur."
#: reference/datamodel.rst:2497
msgid ""
@@ -4777,7 +4752,6 @@ msgstr ""
"explique pourquoi le code suivant lève une exception ::"
#: reference/datamodel.rst:2798
-#, fuzzy
msgid ""
"The rationale behind this behaviour lies with a number of special methods "
"such as :meth:`~object.__hash__` and :meth:`~object.__repr__` that are "
@@ -4786,10 +4760,11 @@ msgid ""
"invoked on the type object itself::"
msgstr ""
"La raison de ce comportement vient de certaines méthodes spéciales telles "
-"que :meth:`__hash__` et :meth:`__repr__` qui sont implémentées par tous les "
-"objets, y compris les objets types. Si la recherche effectuée par ces "
-"méthodes utilisait le processus normal de recherche, elles ne "
-"fonctionneraient pas si on les appelait sur l'objet type lui-même ::"
+"que :meth:`~object.__hash__` et :meth:`~object.__repr__` qui sont "
+"implémentées par tous les objets, y compris les objets types. Si la "
+"recherche effectuée par ces méthodes utilisait le processus normal de "
+"recherche, elles ne fonctionneraient pas si on les appelait sur l'objet type "
+"lui-même ::"
#: reference/datamodel.rst:2812
msgid ""
@@ -4802,7 +4777,6 @@ msgstr ""
"l'instance lors de la recherche des méthodes spéciales ::"
#: reference/datamodel.rst:2821
-#, fuzzy
msgid ""
"In addition to bypassing any instance attributes in the interest of "
"correctness, implicit special method lookup generally also bypasses the :"
@@ -4810,10 +4784,10 @@ msgid ""
msgstr ""
"En plus de shunter les attributs des instances pour fonctionner "
"correctement, la recherche des méthodes spéciales implicites shunte aussi la "
-"méthode :meth:`__getattribute__` même dans la métaclasse de l'objet ::"
+"méthode :meth:`~object.__getattribute__` même dans la métaclasse de "
+"l'objet ::"
#: reference/datamodel.rst:2847
-#, fuzzy
msgid ""
"Bypassing the :meth:`~object.__getattribute__` machinery in this fashion "
"provides significant scope for speed optimisations within the interpreter, "
@@ -4821,8 +4795,8 @@ msgid ""
"special method *must* be set on the class object itself in order to be "
"consistently invoked by the interpreter)."
msgstr ""
-"En shuntant le mécanisme de :meth:`__getattribute__` de cette façon, cela "
-"permet d'optimiser la vitesse de l'interpréteur moyennant une certaine "
+"En shuntant le mécanisme de :meth:`~object.__getattribute__` de cette façon, "
+"cela permet d'optimiser la vitesse de l'interpréteur moyennant une certaine "
"manœuvre dans la gestion des méthodes spéciales (la méthode spéciale *doit* "
"être définie sur l'objet classe lui-même afin d'être invoquée de manière "
"cohérente par l'interpréteur)."
@@ -4836,15 +4810,14 @@ msgid "Awaitable Objects"
msgstr "Objets *attendables* (*awaitable*)"
#: reference/datamodel.rst:2864
-#, fuzzy
msgid ""
"An :term:`awaitable` object generally implements an :meth:`~object."
"__await__` method. :term:`Coroutine objects ` returned from :"
"keyword:`async def` functions are awaitable."
msgstr ""
"Un objet :term:`awaitable` implémente généralement une méthode :meth:"
-"`__await__`. Les objets :term:`coroutine` renvoyés par les fonctions :"
-"keyword:`async def` sont des *attendables* (*awaitable*)."
+"`~object.__await__`. Les objets :term:`coroutine` renvoyés par les "
+"fonctions :keyword:`async def` sont des *attendables* (*awaitable*)."
#: reference/datamodel.rst:2870
#, fuzzy
@@ -4879,7 +4852,6 @@ msgid "Coroutine Objects"
msgstr "Objets coroutines"
#: reference/datamodel.rst:2890
-#, fuzzy
msgid ""
":term:`Coroutine objects ` are :term:`awaitable` objects. A "
"coroutine's execution can be controlled by calling :meth:`~object.__await__` "
@@ -4890,12 +4862,13 @@ msgid ""
"should not directly raise unhandled :exc:`StopIteration` exceptions."
msgstr ""
"Les objets :term:`coroutine` sont des objets :term:`awaitable`. L'exécution "
-"d'une coroutine peut être contrôlée en appelant :meth:`__await__` et en "
-"itérant sur le résultat. Quand la coroutine a fini de s'exécuter et termine, "
-"l'itérateur lève :exc:`StopIteration` et l'attribut :attr:`~StopIteration."
-"value` de l'exception contient la valeur de retour. Si la coroutine lève une "
-"exception, elle est propagée par l'itérateur. Les coroutines ne doivent pas "
-"lever directement des exceptions :exc:`StopIteration` non gérées."
+"d'une coroutine peut être contrôlée en appelant :meth:`~object.__await__` et "
+"en itérant sur le résultat. Quand la coroutine a fini de s'exécuter et "
+"termine, l'itérateur lève :exc:`StopIteration` et l'attribut :attr:"
+"`~StopIteration.value` de l'exception contient la valeur de retour. Si la "
+"coroutine lève une exception, elle est propagée par l'itérateur. Les "
+"coroutines ne doivent pas lever directement des exceptions :exc:"
+"`StopIteration` non gérées."
#: reference/datamodel.rst:2898
msgid ""
@@ -4915,7 +4888,6 @@ msgstr ""
"`RuntimeError`."
#: reference/datamodel.rst:2908
-#, fuzzy
msgid ""
"Starts or resumes execution of the coroutine. If *value* is ``None``, this "
"is equivalent to advancing the iterator returned by :meth:`~object."
@@ -4926,15 +4898,14 @@ msgid ""
"value, described above."
msgstr ""
"Démarre ou reprend l'exécution d'une coroutine. Si *value* est ``None``, "
-"c'est équivalent à avancer l'itérateur renvoyé par :meth:`__await__`. Si "
-"*value* ne vaut pas ``None``, cette méthode appelle la méthode :meth:"
-"`~generator.send` de l'itérateur qui a causé la suspension de la coroutine. "
-"Le résultat (valeur de retour, :exc:`StopIteration` ou une autre exception) "
-"est le même que lorsque vous itérez sur la valeur de retour de :meth:"
-"`__await__`, décrite ci-dessus."
+"c'est équivalent à avancer l'itérateur renvoyé par :meth:`~object."
+"__await__`. Si *value* ne vaut pas ``None``, cette méthode appelle la "
+"méthode :meth:`~generator.send` de l'itérateur qui a causé la suspension de "
+"la coroutine. Le résultat (valeur de retour, :exc:`StopIteration` ou une "
+"autre exception) est le même que lorsque vous itérez sur la valeur de retour "
+"de :meth:`__await__`, décrite ci-dessus."
#: reference/datamodel.rst:2919
-#, fuzzy
msgid ""
"Raises the specified exception in the coroutine. This method delegates to "
"the :meth:`~generator.throw` method of the iterator that caused the "
@@ -4949,8 +4920,8 @@ msgstr ""
"la coroutine, s'il possède une telle méthode. Sinon, l'exception est levée "
"au point de suspension. Le résultat (valeur de retour, :exc:`StopIteration` "
"ou une autre exception) est le même que lorsque vous itérez sur la valeur de "
-"retour de :meth:`__await__`, décrite ci-dessus. Si l'exception n'est pas "
-"gérée par la coroutine, elle est propagée à l'appelant."
+"retour de :meth:`~object.__await__`, décrite ci-dessus. Si l'exception n'est "
+"pas gérée par la coroutine, elle est propagée à l'appelant."
#: reference/datamodel.rst:2930
msgid ""
@@ -5014,25 +4985,24 @@ msgid "An example of an asynchronous iterable object::"
msgstr "Un exemple d'objet itérateur asynchrone ::"
#: reference/datamodel.rst:2977
-#, fuzzy
msgid ""
"Prior to Python 3.7, :meth:`~object.__aiter__` could return an *awaitable* "
"that would resolve to an :term:`asynchronous iterator `."
msgstr ""
-"Avant Python 3.7, ``__aiter__`` pouvait renvoyer un *attendable* "
+"avant Python 3.7, :meth:`~object.__aiter__` pouvait renvoyer un *attendable* "
"(*awaitable*) qui se résolvait potentiellement en un :term:`itérateur "
"asynchrone `."
#: reference/datamodel.rst:2982
-#, fuzzy
msgid ""
"Starting with Python 3.7, :meth:`~object.__aiter__` must return an "
"asynchronous iterator object. Returning anything else will result in a :exc:"
"`TypeError` error."
msgstr ""
-"À partir de Python 3.7, ``__aiter__`` doit renvoyer un objet itérateur "
-"asynchrone. Renvoyer autre chose entraine une erreur :exc:`TypeError`."
+"À partir de Python 3.7, :meth:`~object.__aiter__` doit renvoyer un objet "
+"itérateur asynchrone. Renvoyer autre chose entraine une erreur :exc:"
+"`TypeError`."
#: reference/datamodel.rst:2990
msgid "Asynchronous Context Managers"
@@ -5091,17 +5061,16 @@ msgstr ""
"correctement."
#: reference/datamodel.rst:3025
-#, fuzzy
msgid ""
"The :meth:`~object.__hash__`, :meth:`~object.__iter__`, :meth:`~object."
"__reversed__`, and :meth:`~object.__contains__` methods have special "
"handling for this; others will still raise a :exc:`TypeError`, but may do so "
"by relying on the behavior that ``None`` is not callable."
msgstr ""
-"Les méthodes :meth:`__hash__`, :meth:`__iter__`, :meth:`__reversed__` et :"
-"meth:`__contains__` ont une gestion particulière pour cela ; les autres "
-"lèvent toujours :exc:`TypeError`, mais le font en considérant que ``None`` "
-"n'est pas un appelable."
+"Les méthodes :meth:`~object.__hash__`, :meth:`~object.__iter__`, :meth:"
+"`~object.__reversed__` et :meth:`~object.__contains__` ont une gestion "
+"particulière pour cela ; les autres lèvent toujours :exc:`TypeError`, mais "
+"le font en considérant que ``None`` n'est pas un appelable."
#: reference/datamodel.rst:3031
msgid ""
@@ -5116,15 +5085,14 @@ msgstr ""
"l'opérande de droite — cela aurait pour effet de *bloquer* un tel repli."
#: reference/datamodel.rst:3037
-#, fuzzy
msgid ""
"For operands of the same type, it is assumed that if the non-reflected "
"method -- such as :meth:`~object.__add__` -- fails then the overall "
"operation is not supported, which is why the reflected method is not called."
msgstr ""
"Pour des opérandes de même type, on considère que si la méthode originelle "
-"(telle que :meth:`__add__`) échoue, alors l'opération en tant que telle "
-"n'est pas autorisée et donc la méthode symétrique n'est pas appelée."
+"(telle que :meth:`~object.__add__`) échoue, alors l'opération en tant que "
+"telle n'est pas autorisée et donc la méthode symétrique n'est pas appelée."
#~ msgid ""
#~ "Any non-string iterable may be assigned to *__slots__*. Mappings may also "
diff --git a/reference/executionmodel.po b/reference/executionmodel.po
index 3a965213..834aca33 100644
--- a/reference/executionmodel.po
+++ b/reference/executionmodel.po
@@ -237,7 +237,6 @@ msgstr ""
"recherche des opérations de liaisons."
#: reference/executionmodel.rst:132
-#, fuzzy
msgid ""
"If the :keyword:`global` statement occurs within a block, all uses of the "
"names specified in the statement refer to the bindings of those names in the "
@@ -255,9 +254,9 @@ msgstr ""
"l'espace des noms globaux, c'est-à-dire l'espace de nommage du module "
"contenant le bloc de code ainsi que dans l'espace de nommage natif, celui du "
"module :mod:`builtins`. La recherche commence dans l'espace de nommage "
-"globaux. Si le nom n'y est pas trouvé, la recherche se poursuit dans "
-"l'espace de nommage natif. L'instruction :keyword:`!global` doit précéder "
-"toute utilisation du nom considéré."
+"global. Si le nom n'y est pas trouvé, la recherche se poursuit dans l'espace "
+"de nommage natif. L'instruction :keyword:`!global` doit précéder toute "
+"utilisation des noms considérés."
#: reference/executionmodel.rst:141
msgid ""
@@ -448,7 +447,6 @@ msgstr ""
"`SystemExit`."
#: reference/executionmodel.rst:260
-#, fuzzy
msgid ""
"Exceptions are identified by class instances. The :keyword:`except` clause "
"is selected depending on the class of the instance: it must reference the "
@@ -458,9 +456,10 @@ msgid ""
msgstr ""
"Les exceptions sont identifiées par des instances de classe. La clause :"
"keyword:`except` sélectionnée dépend de la classe de l'instance : elle doit "
-"faire référence à la classe de l'instance ou à une de ses classes ancêtres. "
-"L'instance peut être transmise au gestionnaire et peut apporter des "
-"informations complémentaires sur les conditions de l'exception."
+"faire référence à la classe de l'instance ou à une de ses :term:`classes "
+"ancêtres non virtuelles `. L'instance peut être "
+"transmise au gestionnaire et peut apporter des informations complémentaires "
+"sur les conditions de l'exception."
#: reference/executionmodel.rst:268
msgid ""
diff --git a/reference/expressions.po b/reference/expressions.po
index 1271e7e7..f9fe7846 100644
--- a/reference/expressions.po
+++ b/reference/expressions.po
@@ -620,7 +620,6 @@ msgid "Yield expressions"
msgstr "Expressions ``yield``"
#: reference/expressions.rst:422
-#, fuzzy
msgid ""
"The yield expression is used when defining a :term:`generator` function or "
"an :term:`asynchronous generator` function and thus can only be used in the "
@@ -629,13 +628,14 @@ msgid ""
"keyword:`async def` function's body causes that coroutine function to be an "
"asynchronous generator function. For example::"
msgstr ""
-"Une expression ``yield`` est utilisée pour définir une fonction :term:"
-"`générateur` ou une fonction :term:`génératrice asynchrone ` et ne peut donc être utilisée que dans le corps de la définition "
-"d'une fonction. L'utilisation d'une expression ``yield`` dans le corps d'une "
-"fonction entraîne que cette fonction devient un générateur et son "
-"utilisation dans le corps d'une fonction :keyword:`async def` entraine que "
-"cette fonction coroutine devient un générateur asynchrone. Par exemple ::"
+"Une expression ``yield`` est utilisée pour définir une :term:`fonction "
+"génératrice ` ou une :term:`fonction génératrice asynchrone "
+"` et ne peut donc être utilisée que dans le corps de "
+"la définition d'une fonction. L'utilisation d'une expression ``yield`` dans "
+"le corps d'une fonction entraîne que cette fonction devient une fonction "
+"génératrice et son utilisation dans le corps d'une fonction :keyword:`async "
+"def` entraine que cette fonction coroutine devient une fonction génératrice "
+"asynchrone. Par exemple ::"
#: reference/expressions.rst:435
msgid ""
@@ -811,13 +811,12 @@ msgid ":pep:`380` - Syntax for Delegating to a Subgenerator"
msgstr ":pep:`380` -- Syntaxe pour déléguer à un sous-générateur"
#: reference/expressions.rst:511
-#, fuzzy
msgid ""
"The proposal to introduce the :token:`~python-grammar:yield_from` syntax, "
"making delegation to subgenerators easy."
msgstr ""
-"Proposition d'introduire la syntaxe :token:`yield_from`, de manière à "
-"déléguer facilement l'exécution à un sous-générateur."
+"Proposition d'introduire la syntaxe :token:`~python-grammar:yield_from`, de "
+"manière à déléguer facilement l'exécution à un sous-générateur."
#: reference/expressions.rst:515
msgid ":pep:`525` - Asynchronous Generators"
@@ -853,7 +852,6 @@ msgstr ""
"`ValueError`."
#: reference/expressions.rst:535
-#, fuzzy
msgid ""
"Starts the execution of a generator function or resumes it at the last "
"executed yield expression. When a generator function is resumed with a :"
@@ -864,14 +862,14 @@ msgid ""
"caller. If the generator exits without yielding another value, a :exc:"
"`StopIteration` exception is raised."
msgstr ""
-"Démarre l'exécution d'une fonction générateur ou la reprend à la dernière "
-"expression ``yield`` exécutée. Quand une fonction générateur est reprise par "
-"une méthode :meth:`~generator.__next__`, l'expression ``yield`` en cours "
+"Démarre l'exécution d'une fonction génératrice ou la reprend à la dernière "
+"expression ``yield`` exécutée. Quand une fonction génératrice est reprise "
+"par une méthode :meth:`~generator.__next__`, l'expression ``yield`` en cours "
"s'évalue toujours à :const:`None`. L'exécution continue ensuite jusqu'à "
"l'expression ``yield`` suivante, où le générateur est à nouveau suspendu et "
-"la valeur de :token:`expression_list` est renvoyée à la méthode :meth:"
-"`__next__` de l'appelant. Si le générateur termine sans donner une autre "
-"valeur, une exception :exc:`StopIteration` est levée."
+"la valeur de :token:`~python-grammar:expression_list` est renvoyée à la "
+"méthode :meth:`__next__` de l'appelant. Si le générateur termine sans donner "
+"une autre valeur, une exception :exc:`StopIteration` est levée."
#: reference/expressions.rst:544
msgid ""
@@ -900,7 +898,6 @@ msgstr ""
"aucune expression ``yield`` qui peut recevoir la valeur."
#: reference/expressions.rst:562
-#, fuzzy
msgid ""
"Raises an exception at the point where the generator was paused, and returns "
"the next value yielded by the generator function. If the generator exits "
@@ -908,12 +905,11 @@ msgid ""
"If the generator function does not catch the passed-in exception, or raises "
"a different exception, then that exception propagates to the caller."
msgstr ""
-"Lève une exception de type ``type`` à l'endroit où le générateur est en "
-"pause et renvoie la valeur suivante produite par la fonction générateur. Si "
-"le générateur termine sans produire de nouvelle valeur, une exception :exc:"
-"`StopIteration` est levée. Si la fonction génératrice ne gère pas "
-"l'exception passée ou lève une autre exception, alors cette exception est "
-"propagée vers l'appelant."
+"Lève une exception à l'endroit où le générateur est en pause et renvoie la "
+"valeur suivante produite par la fonction génératrice. Si le générateur "
+"termine sans produire de nouvelle valeur, une exception :exc:`StopIteration` "
+"est levée. Si la fonction génératrice ne gère pas l'exception passée ou lève "
+"une autre exception, alors cette exception est propagée vers l'appelant."
#: reference/expressions.rst:568
msgid ""
@@ -1003,7 +999,6 @@ msgstr ""
"générateur serait utilisé dans une instruction :keyword:`for`."
#: reference/expressions.rst:644
-#, fuzzy
msgid ""
"Calling one of the asynchronous generator's methods returns an :term:"
"`awaitable` object, and the execution starts when this object is awaited on. "
@@ -1025,10 +1020,10 @@ msgstr ""
"`awaitable` et l'exécution commence au moment où l'on atteint une "
"instruction ``await`` le concernant. À ce moment, l'exécution se déroule "
"jusqu'à la première expression ``yield``, où elle est suspendue et renvoie "
-"la valeur de :token:`expression_list` à la coroutine en attente. Comme pour "
-"un générateur, la suspension signifie que tous les états locaux sont "
-"conservés, y compris les liaisons des variables locales, le pointeur "
-"d'instruction, la pile d'évaluation interne et l'état de tous les "
+"la valeur de :token:`~python-grammar:expression_list` à la coroutine en "
+"attente. Comme pour un générateur, la suspension signifie que tous les états "
+"locaux sont conservés, y compris les liaisons des variables locales, le "
+"pointeur d'instruction, la pile d'évaluation interne et l'état de tous les "
"gestionnaires d'exceptions. Lorsque l'exécution reprend parce que l'appelant "
"a atteint une instruction ``await`` sur l'objet suivant retourné par les "
"méthodes du générateur asynchrone, la fonction s'exécute exactement comme si "
@@ -1130,7 +1125,6 @@ msgstr ""
"génératrices."
#: reference/expressions.rst:706
-#, fuzzy
msgid ""
"Returns an awaitable which when run starts to execute the asynchronous "
"generator or resumes it at the last executed yield expression. When an "
@@ -1146,15 +1140,15 @@ msgid ""
msgstr ""
"Renvoie un *awaitable* qui, quand il a la main, démarre l'exécution du "
"générateur asynchrone ou reprend son exécution à l'endroit de la dernière "
-"expression ``yield`` exécutée. Quand une fonction générateur asynchrone est "
+"expression ``yield`` exécutée. Quand une fonction génératrice asynchrone est "
"reprise par une méthode :meth:`~agen.__anext__`, l’expression ``yield`` en "
"cours s’évalue toujours à :const:`None` dans le *awaitable* renvoyé, et elle "
"continue son exécution jusqu’à l’expression ``yield`` suivante. La valeur "
-"de :token:`expression_list` de l'expression ``yield`` est la valeur de "
-"l'exception :exc:`StopIteration` levée par la coroutine qui termine. Si le "
-"générateur asynchrone termine sans produire d'autre valeur, le *awaitable* "
-"lève une exception :exc:`StopAsyncIteration` qui signale que l'itération "
-"asynchrone est terminée."
+"de :token:`~python-grammar:expression_list` de l'expression ``yield`` est la "
+"valeur de l'exception :exc:`StopIteration` levée par la coroutine qui "
+"termine. Si le générateur asynchrone termine sans produire d'autre valeur, "
+"le *awaitable* lève une exception :exc:`StopAsyncIteration` qui signale que "
+"l'itération asynchrone est terminée."
#: reference/expressions.rst:718
msgid ""
@@ -1331,41 +1325,42 @@ msgstr ""
"membre de la liste."
#: reference/expressions.rst:848
-#, fuzzy
msgid ""
"For built-in objects, there are two types of objects that support "
"subscription via :meth:`~object.__getitem__`:"
-msgstr "Pour les objets natifs, deux types d'objets gèrent la sélection :"
+msgstr ""
+"Pour les objets natifs, deux types d'objets gèrent la sélection *via* :meth:"
+"`~object.__getitem__` :"
#: reference/expressions.rst:851
-#, fuzzy
msgid ""
"Mappings. If the primary is a :term:`mapping`, the expression list must "
"evaluate to an object whose value is one of the keys of the mapping, and the "
"subscription selects the value in the mapping that corresponds to that key. "
"An example of a builtin mapping class is the :class:`dict` class."
msgstr ""
-"Si la primaire est un tableau de correspondances, la liste d'expressions "
-"(*expression_list* dans la grammaire formelle ci-dessous) doit pouvoir être "
-"évaluée comme un objet dont la valeur est une des clés du tableau de "
-"correspondances et la sélection désigne la valeur qui correspond à cette clé "
-"(la liste d'expressions est un *n*-uplet sauf si elle comporte exactement un "
-"élément)."
+"Si la primaire est un :term:`tableau de correspondances `, la liste "
+"d'expressions (*expression_list* dans la grammaire formelle ci-dessous) doit "
+"pouvoir être évaluée comme un objet dont la valeur est une des clés du "
+"tableau de correspondances et la sélection désigne la valeur qui correspond "
+"à cette clé. Un exemple de classe implémentant le concept de tableau de "
+"correspondances est la classe :class:`dict`."
#: reference/expressions.rst:855
-#, fuzzy
msgid ""
"Sequences. If the primary is a :term:`sequence`, the expression list must "
"evaluate to an :class:`int` or a :class:`slice` (as discussed in the "
"following section). Examples of builtin sequence classes include the :class:"
"`str`, :class:`list` and :class:`tuple` classes."
msgstr ""
-"Si la primaire est une séquence, la liste d'expressions (*expression_list* "
-"dans la grammaire) doit pouvoir être évaluée comme un entier ou une tranche "
-"(comme expliqué dans la section suivante)."
+"Si la primaire est une :term:`séquence `, la liste d'expressions "
+"(*expression_list* dans la grammaire) doit pouvoir être évaluée comme un :"
+"class:`entier ` ou une :class:`tranche ` (comme expliqué dans la "
+"section suivante). Des exemples de classes natives implémentant le concept "
+"de séquence sont les :class:`chaînes `, :class:`listes ` et les :"
+"class:`n-uplets `."
#: reference/expressions.rst:860
-#, fuzzy
msgid ""
"The formal syntax makes no special provision for negative indices in :term:"
"`sequences `. However, built-in sequences all provide a :meth:"
@@ -1378,27 +1373,27 @@ msgid ""
"method, subclasses overriding this method will need to explicitly add that "
"support."
msgstr ""
-"La syntaxe formelle ne traite pas des cas d'indices négatifs dans les "
-"séquences ; cependant, toutes les séquences natives possèdent une méthode :"
-"meth:`__getitem__` qui interprète les indices négatifs en ajoutant la "
-"longueur de la séquence à l'indice (de manière à ce que ``x[-1]`` "
-"sélectionne le dernier élément de ``x``). La valeur résultante doit être un "
-"entier positif ou nul, inférieur au nombre d'éléments dans la séquence ; la "
-"sélection désigne alors l'élément dont l'indice est cette valeur (en "
-"comptant à partir de zéro). Comme la gestion des indices négatifs et des "
-"tranches est faite par la méthode :meth:`__getitem__`, les sous-classes qui "
-"surchargent cette méthode doivent aussi savoir les gérer, de manière "
-"explicite."
+"La syntaxe formelle ne traite pas des cas d'indices négatifs dans les :term:"
+"`séquences ` ; cependant, toutes les séquences natives possèdent "
+"une méthode :meth:`~object.__getitem__` qui interprète les indices négatifs "
+"en ajoutant la longueur de la séquence à l'indice (de manière à ce que "
+"``x[-1]`` sélectionne le dernier élément de ``x``). La valeur résultante "
+"doit être un entier positif ou nul, inférieur au nombre d'éléments dans la "
+"séquence ; la sélection désigne alors l'élément dont l'indice est cette "
+"valeur (en comptant à partir de zéro). Comme la gestion des indices négatifs "
+"et des tranches est faite par la méthode :meth:`__getitem__`, les sous-"
+"classes qui surchargent cette méthode doivent aussi savoir les gérer, de "
+"manière explicite."
#: reference/expressions.rst:874
-#, fuzzy
msgid ""
"A :class:`string ` is a special kind of sequence whose items are "
"*characters*. A character is not a separate data type but a string of "
"exactly one character."
msgstr ""
-"Les éléments des chaînes sont des caractères. Un caractère n'est pas un type "
-"en tant que tel, c'est une chaîne de longueur un."
+"Une :class:`chaîne ` est une espèce particulière de séquence dont les "
+"éléments sont des *caractères*. Un caractère n'est pas un type en tant que "
+"tel, c'est une chaîne de longueur un."
#: reference/expressions.rst:882
msgid "Slicings"
@@ -2752,7 +2747,6 @@ msgid "Assignment expressions"
msgstr "Expressions d'affectation"
#: reference/expressions.rst:1738
-#, fuzzy
msgid ""
"An assignment expression (sometimes also called a \"named expression\" or "
"\"walrus\") assigns an :token:`~python-grammar:expression` to an :token:"
@@ -2760,8 +2754,9 @@ msgid ""
"`~python-grammar:expression`."
msgstr ""
"Une expression d'affectation (parfois aussi appelée « expression nommée » ou "
-"« expression morse ») affecte l':token:`expression` à un :token:"
-"`identifiant` et renvoie la valeur de l':token:`expression`."
+"« expression morse ») affecte l':token:`expression <~python-grammar:"
+"expression>` à un :token:`identifiant<~python-grammar:identifier>` et "
+"renvoie la valeur de l':token:`~python-grammar:expression`."
#: reference/expressions.rst:1743
msgid "One common use case is when handling matched regular expressions:"
@@ -2971,9 +2966,8 @@ msgid "Subscription, slicing, call, attribute reference"
msgstr "indiçage, tranches, appel, référence à un attribut"
#: reference/expressions.rst:1917
-#, fuzzy
msgid ":keyword:`await x `"
-msgstr ":keyword:`await` ``x``"
+msgstr ":keyword:`await x `"
#: reference/expressions.rst:1919
msgid "``**``"
@@ -3057,9 +3051,8 @@ msgstr ""
"Comparaisons, y compris les tests d'appartenance et les tests d'identifiants"
#: reference/expressions.rst:1941
-#, fuzzy
msgid ":keyword:`not x `"
-msgstr ":keyword:`not` ``x``"
+msgstr ":keyword:`not x `"
#: reference/expressions.rst:1941
msgid "Boolean NOT"
diff --git a/reference/import.po b/reference/import.po
index 7d3cabc8..aebbce5e 100644
--- a/reference/import.po
+++ b/reference/import.po
@@ -179,7 +179,6 @@ msgstr ""
"qui contient un attribut ``__path__`` est réputé être un paquet."
#: reference/import.rst:85
-#, fuzzy
msgid ""
"All modules have a name. Subpackage names are separated from their parent "
"package name by a dot, akin to Python's standard attribute access syntax. "
@@ -188,11 +187,10 @@ msgid ""
"called :mod:`email.mime.text`."
msgstr ""
"Tous les modules ont un nom. Les noms des sous-paquets sont séparés du nom "
-"du paquet parent par un point (`.`), à l'instar de la syntaxe standard "
-"d'accès aux attributs en Python. Ainsi, vous pouvez avoir un module nommé :"
-"mod:`sys` et un paquet nommé :mod:`email`, qui à son tour possède un sous-"
-"paquet nommé :mod:`email.mime` avec un module dans ce sous-paquet nommé :mod:"
-"`email.mime.text`."
+"du paquet parent par un point (``.``), à l'instar de la syntaxe standard "
+"d'accès aux attributs en Python. Ainsi, vous pouvez avoir un paquet nommé :"
+"mod:`email` qui possède un sous-paquet nommé :mod:`email.mime` et un module "
+"dans ce sous-paquet nommé :mod:`email.mime.text`."
#: reference/import.rst:93
msgid "Regular packages"
@@ -930,17 +928,15 @@ msgstr ""
"ayons l'arborescence suivante ::"
#: reference/import.rst:494
-#, fuzzy
msgid "and ``spam/__init__.py`` has the following line in it::"
-msgstr "et que le contenu de ``spam/__init__.py`` soit ::"
+msgstr "et que le contenu de ``spam/__init__.py`` contienne ::"
#: reference/import.rst:498
-#, fuzzy
msgid ""
"then executing the following puts name bindings for ``foo`` and ``Foo`` in "
"the ``spam`` module::"
msgstr ""
-"alors exécuter les lignes suivantes crée des liens vers ``foo`` et ``bar`` "
+"alors exécuter les lignes suivantes crée des liens vers ``foo`` et ``Foo`` "
"dans le module ``spam`` ::"
#: reference/import.rst:507
@@ -1801,16 +1797,14 @@ msgstr ""
"``find_loader()`` plutôt que ``find_module()``."
#: reference/import.rst:904
-#, fuzzy
msgid ""
"Calls to :meth:`~importlib.abc.PathEntryFinder.find_module` and :meth:"
"`~importlib.abc.PathEntryFinder.find_loader` by the import system will "
"raise :exc:`ImportWarning`."
msgstr ""
-"La méthode :meth:`~importlib.abc.PathEntryFinder.find_spec` remplace :meth:"
-"`~importlib.abc.PathEntryFinder.find_loader` et :meth:`~importlib.abc."
-"PathEntryFinder.find_module`, ces deux méthodes étant dorénavant obsolètes "
-"mais restant utilisées si ``find_spec()`` n'est pas définie."
+"les appels à :meth:`~importlib.abc.PathEntryFinder.find_module` et :meth:"
+"`~importlib.abc.PathEntryFinder.find_loader` par le système d'importation "
+"lèvent un :exc:`ImportWarning`."
#: reference/import.rst:911
msgid "Replacing the standard import system"
diff --git a/reference/lexical_analysis.po b/reference/lexical_analysis.po
index f401cb86..54cea512 100644
--- a/reference/lexical_analysis.po
+++ b/reference/lexical_analysis.po
@@ -166,15 +166,15 @@ msgstr ""
"de Microsoft)."
#: reference/lexical_analysis.rst:104
-#, fuzzy
msgid ""
"If an encoding is declared, the encoding name must be recognized by Python "
"(see :ref:`standard-encodings`). The encoding is used for all lexical "
"analysis, including string literals, comments and identifiers."
msgstr ""
"Si un encodage est déclaré, le nom de l'encodage doit être reconnu par "
-"Python. L'encodage est utilisé pour toute l'analyse lexicale, y compris les "
-"chaînes de caractères, les commentaires et les identifiants."
+"Python (voir :ref:`standard-encodings`). L'encodage est utilisé pour toute "
+"l'analyse lexicale, y compris les chaînes de caractères, les commentaires et "
+"les identifiants."
#: reference/lexical_analysis.rst:113
msgid "Explicit line joining"
@@ -575,9 +575,8 @@ msgstr ""
"écrits exactement comme ci-dessous :"
#: reference/lexical_analysis.rst:357
-#, fuzzy
msgid "Soft Keywords"
-msgstr "Mots-clés"
+msgstr "Mots-clés ad hoc"
#: reference/lexical_analysis.rst:363
msgid ""
@@ -736,7 +735,6 @@ msgstr ""
"lexicales suivantes :"
#: reference/lexical_analysis.rst:470
-#, fuzzy
msgid ""
"One syntactic restriction not indicated by these productions is that "
"whitespace is not allowed between the :token:`~python-grammar:stringprefix` "
@@ -746,10 +744,11 @@ msgid ""
"`encodings`."
msgstr ""
"Une restriction syntaxique non indiquée par ces règles est qu'aucun blanc "
-"n'est autorisé entre le :token:`stringprefix` ou :token:`bytesprefix` et le "
-"reste du littéral. Le jeu de caractères source est défini par la déclaration "
-"d'encodage ; il vaut UTF-8 si aucune déclaration d'encodage n'est donnée "
-"dans le fichier source ; voir la section :ref:`encodings`."
+"n'est autorisé entre le :token:`~python-grammar:stringprefix` ou :token:"
+"`~python-grammar:bytesprefix` et le reste du littéral. Le jeu de caractères "
+"source est défini par la déclaration d'encodage ; il vaut UTF-8 si aucune "
+"déclaration d'encodage n'est donnée dans le fichier source ; voir la "
+"section :ref:`encodings`."
#: reference/lexical_analysis.rst:480
#, fuzzy
diff --git a/reference/simple_stmts.po b/reference/simple_stmts.po
index 00ec0ab5..3f143b0b 100644
--- a/reference/simple_stmts.po
+++ b/reference/simple_stmts.po
@@ -794,17 +794,16 @@ msgid "The :keyword:`!raise` statement"
msgstr "L'instruction :keyword:`!raise`"
#: reference/simple_stmts.rst:564
-#, fuzzy
msgid ""
"If no expressions are present, :keyword:`raise` re-raises the exception that "
"is currently being handled, which is also known as the *active exception*. "
"If there isn't currently an active exception, a :exc:`RuntimeError` "
"exception is raised indicating that this is an error."
msgstr ""
-"Si aucune expression n'est présente, :keyword:`raise` propage la dernière "
-"exception active dans la portée courante. Si aucune exception n'est active "
-"dans la portée courante, une exception :exc:`RuntimeError` est levée, "
-"indiquant que c'est une erreur."
+"Si aucune expression n'est présente, :keyword:`raise` propage l'exception en "
+"cours de traitement, aussi dénommée *exception active*. Si aucune exception "
+"n'est active, une exception :exc:`RuntimeError` est levée, indiquant que "
+"c'est une erreur."
#: reference/simple_stmts.rst:569
msgid ""
@@ -827,7 +826,6 @@ msgstr ""
"la :dfn:`value` est l'instance elle-même."
#: reference/simple_stmts.rst:579
-#, fuzzy
msgid ""
"A traceback object is normally created automatically when an exception is "
"raised and attached to it as the :attr:`__traceback__` attribute, which is "
@@ -840,8 +838,9 @@ msgstr ""
"exception est levée et il lui est rattaché comme attribut :attr:"
"`__traceback__`, en lecture-écriture. Vous pouvez créer une exception et "
"définir votre propre trace d'appels d'un seul coup en utilisant la méthode "
-"des exceptions :meth:`with_traceback` (qui renvoie la même instance "
-"d'exception avec sa trace d'appels passée en argument), comme ceci ::"
+"des exceptions :meth:`~BaseException.with_traceback` (qui renvoie la même "
+"instance d'exception avec sa trace d'appels passée en argument), comme "
+"ceci ::"
#: reference/simple_stmts.rst:591
msgid ""
@@ -863,7 +862,6 @@ msgstr ""
"exceptions sont affichées ::"
#: reference/simple_stmts.rst:615
-#, fuzzy
msgid ""
"A similar mechanism works implicitly if a new exception is raised when an "
"exception is already being handled. An exception may be handled when an :"
@@ -871,10 +869,12 @@ msgid ""
"statement, is used. The previous exception is then attached as the new "
"exception's :attr:`__context__` attribute::"
msgstr ""
-"Un mécanisme similaire est mis en œuvre implicitement si une exception est "
-"levée à l'intérieur d'un gestionnaire d'exception ou d'une clause :keyword:"
-"`finally` : la première exception est rattachée à l'attribut :attr:"
-"`__context__` de la nouvelle exception ::"
+"Un mécanisme similaire est mis en œuvre implicitement si une nouvelle "
+"exception est levée alors qu'une exception est déjà en cours de traitement. "
+"Une exception peut être traitée quand une clause :keyword:`except` ou :"
+"keyword:`finally`, une instruction :keyword:`with`, est utilisée. La "
+"première exception est alors rattachée à l'attribut :attr:`__context__` de "
+"la nouvelle exception ::"
#: reference/simple_stmts.rst:636
msgid ""
@@ -1406,7 +1406,6 @@ msgstr ""
"utilisés, dans le même bloc de code, avant l'instruction :keyword:`!global`."
#: reference/simple_stmts.rst:955
-#, fuzzy
msgid ""
"Names listed in a :keyword:`global` statement must not be defined as formal "
"parameters, or as targets in :keyword:`with` statements or :keyword:`except` "
@@ -1414,9 +1413,10 @@ msgid ""
"function definition, :keyword:`import` statement, or variable annotation."
msgstr ""
"Les noms listés dans l'instruction :keyword:`global` ne doivent pas être "
-"définis en tant que paramètre formel, cible d'une boucle :keyword:`for`, "
-"dans une définition de :keyword:`class`, de fonction, d'instruction :keyword:"
-"`import` ou une annotation de variable."
+"définis en tant que paramètre formel, cible d'une instruction :keyword:"
+"`with` ou d'une clause :keyword:`except`, ni dans la liste cible d'une "
+"boucle :keyword:`for`, dans une définition de :keyword:`class`, de fonction, "
+"d'instruction :keyword:`import` ou une annotation de variable."
#: reference/simple_stmts.rst:962
msgid ""
diff --git a/tutorial/controlflow.po b/tutorial/controlflow.po
index ed925b2d..013b15a4 100644
--- a/tutorial/controlflow.po
+++ b/tutorial/controlflow.po
@@ -280,7 +280,6 @@ msgid ":keyword:`!match` Statements"
msgstr "L'instruction :keyword:`!match`"
#: tutorial/controlflow.rst:253
-#, fuzzy
msgid ""
"A :keyword:`match` statement takes an expression and compares its value to "
"successive patterns given as one or more case blocks. This is superficially "
@@ -293,9 +292,11 @@ msgstr ""
"L'instruction :keyword:`match` confronte la valeur d'une expression à "
"plusieurs filtres successifs donnés par les instructions ``case``. "
"L’instruction ``match`` peut faire penser au ``switch`` que l'on trouve dans "
-"les langages C, Java, JavaScript et autres, mais elle permet aussi "
-"d'extraire dans des variables des composantes de la valeur, comme les "
-"éléments d'une séquence ou les attributs d'un objet."
+"les langages C, Java, JavaScript et autres, mais elle ressemble plus au "
+"filtrage par motif des langages Rust et Haskell. Seul le premier filtre qui "
+"correspond est exécuté et elle permet aussi d'extraire dans des variables "
+"des composantes de la valeur, comme les éléments d'une séquence ou les "
+"attributs d'un objet."
#: tutorial/controlflow.rst:261
msgid ""
diff --git a/tutorial/inputoutput.po b/tutorial/inputoutput.po
index 91276e57..f022a247 100644
--- a/tutorial/inputoutput.po
+++ b/tutorial/inputoutput.po
@@ -197,14 +197,15 @@ msgstr ""
"l'expression évaluée » :"
#: tutorial/inputoutput.rst:145
-#, fuzzy
msgid ""
"See :ref:`self-documenting expressions ` for more "
"information on the ``=`` specifier. For a reference on these format "
"specifications, see the reference guide for the :ref:`formatspec`."
msgstr ""
-"Pour une référence sur ces spécifications de formats, voir le guide de "
-"référence pour les :ref:`formatspec`."
+"Lisez :ref:`self-documenting expressions ` pour "
+"davantage d'information sur le spécificateur ``=``. Pour une référence sur "
+"ces spécifications de formats, voir le guide de référence pour le :ref:"
+"`formatspec`."
#: tutorial/inputoutput.rst:152
msgid "The String format() Method"
@@ -253,13 +254,12 @@ msgstr ""
"notation entre crochets ``'[]'`` pour accéder aux clés ::"
#: tutorial/inputoutput.rst:192
-#, fuzzy
msgid ""
"This could also be done by passing the ``table`` dictionary as keyword "
"arguments with the ``**`` notation. ::"
msgstr ""
-"Vous pouvez obtenir le même résultat en passant le tableau comme des "
-"arguments nommés en utilisant la notation ``**`` ::"
+"Vous pouvez obtenir le même résultat en passant le dictionnaire ``table`` "
+"comme des arguments nommés en utilisant la notation ``**`` ::"
#: tutorial/inputoutput.rst:199
msgid ""
@@ -637,7 +637,6 @@ msgstr ""
"compliqué."
#: tutorial/inputoutput.rst:478
-#, fuzzy
msgid ""
"Rather than having users constantly writing and debugging code to save "
"complicated data types to files, Python allows you to use the popular data "
@@ -651,7 +650,7 @@ msgid ""
msgstr ""
"Plutôt que de passer son temps à écrire et déboguer du code permettant de "
"sauvegarder des types de données compliqués, Python permet d'utiliser `JSON "
-"(*JavaScript Object Notation*) `_, un format répandu de "
+"(*JavaScript Object Notation*) `_, un format répandu de "
"représentation et d'échange de données. Le module standard appelé :mod:"
"`json` peut transformer des données hiérarchisées Python en une "
"représentation sous forme de chaîne de caractères. Ce processus est nommé :"
diff --git a/tutorial/introduction.po b/tutorial/introduction.po
index edca2be6..ea7a7afb 100644
--- a/tutorial/introduction.po
+++ b/tutorial/introduction.po
@@ -114,16 +114,15 @@ msgstr ""
"tutoriel."
#: tutorial/introduction.rst:72
-#, fuzzy
msgid ""
"Division (``/``) always returns a float. To do :term:`floor division` and "
"get an integer result you can use the ``//`` operator; to calculate the "
"remainder you can use ``%``::"
msgstr ""
-"Les divisions (``/``) donnent toujours des :class:`float`. Utilisez "
-"l'opérateur ``//`` pour effectuer des divisions entières et donc obtenir un "
-"résultat entier. Pour obtenir le reste d'une division entière, utilisez "
-"l'opérateur ``%`` ::"
+"Les divisions (``/``) donnent toujours des :class:`!float`. Utilisez "
+"l'opérateur ``//`` pour effectuer une :term:`division entière` et donc "
+"obtenir un résultat entier. Pour obtenir le reste d'une division entière, "
+"utilisez l'opérateur ``%`` ::"
#: tutorial/introduction.rst:86
msgid ""
diff --git a/tutorial/modules.po b/tutorial/modules.po
index 1cdd8eba..1613b6d0 100644
--- a/tutorial/modules.po
+++ b/tutorial/modules.po
@@ -76,16 +76,16 @@ msgid ""
msgstr "Maintenant, ouvrez un interpréteur et importez le module en tapant ::"
#: tutorial/modules.rst:50
-#, fuzzy
msgid ""
"This does not add the names of the functions defined in ``fibo`` directly "
"to the current :term:`namespace` (see :ref:`tut-scopes` for more details); "
"it only adds the module name ``fibo`` there. Using the module name you can "
"access the functions::"
msgstr ""
-"Cela n'importe pas les noms des fonctions définies dans ``fibo`` directement "
-"dans la table des symboles courants mais y ajoute simplement ``fibo``. Vous "
-"pouvez donc appeler les fonctions *via* le nom du module ::"
+"Les noms des fonctions définies dans ``fibo`` ne sont pas ajoutés "
+"directement dans l':term:`espace de nommage ` courant (voir :ref:"
+"`tut-scopes` pour plus de détails), seul le nom de module ``fibo`` est "
+"ajouté. L'appel des fonctions se fait donc *via* le nom du module ::"
#: tutorial/modules.rst:62
msgid ""
@@ -112,7 +112,6 @@ msgstr ""
"exécuté en tant que script)."
#: tutorial/modules.rst:79
-#, fuzzy
msgid ""
"Each module has its own private namespace, which is used as the global "
"namespace by all functions defined in the module. Thus, the author of a "
@@ -121,8 +120,8 @@ msgid ""
"know what you are doing you can touch a module's global variables with the "
"same notation used to refer to its functions, ``modname.itemname``."
msgstr ""
-"Chaque module possède sa propre table de symboles, utilisée comme table de "
-"symboles globaux par toutes les fonctions définies par le module. Ainsi "
+"Chaque module possède son propre espace de nommage, utilisé comme espace de "
+"nommage global par toutes les fonctions définies par le module. Ainsi "
"l'auteur d'un module peut utiliser des variables globales dans un module "
"sans se soucier de collisions de noms avec des variables globales définies "
"par l'utilisateur du module. Cependant, si vous savez ce que vous faites, "
@@ -130,7 +129,6 @@ msgstr ""
"que pour accéder aux fonctions : ``nommodule.nomelement``."
#: tutorial/modules.rst:86
-#, fuzzy
msgid ""
"Modules can import other modules. It is customary but not required to place "
"all :keyword:`import` statements at the beginning of a module (or script, "
@@ -140,28 +138,27 @@ msgid ""
msgstr ""
"Des modules peuvent importer d'autres modules. Il est courant, mais pas "
"obligatoire, de ranger tous les :keyword:`import` au début du module (ou du "
-"script). Les noms des modules importés sont insérés dans la table des "
-"symboles globaux du module qui importe."
+"script). Les noms des modules importés, s'ils sont placés au début d'un "
+"module (en dehors des fonctions et des classes) sont ajoutés à l'espace de "
+"nommage global du module."
#: tutorial/modules.rst:91
-#, fuzzy
msgid ""
"There is a variant of the :keyword:`import` statement that imports names "
"from a module directly into the importing module's namespace. For example::"
msgstr ""
"Il existe une variante de l'instruction :keyword:`import` qui importe les "
-"noms d'un module directement dans la table de symboles du module qui "
+"noms d'un module directement dans l'espace de nommage du module qui "
"l'importe, par exemple ::"
#: tutorial/modules.rst:98
-#, fuzzy
msgid ""
"This does not introduce the module name from which the imports are taken in "
"the local namespace (so in the example, ``fibo`` is not defined)."
msgstr ""
"Cela n'insère pas le nom du module depuis lequel les définitions sont "
-"récupérées dans la table des symboles locaux (dans cet exemple, ``fibo`` "
-"n'est pas défini)."
+"récupérées dans l'espace de nommage local (dans cet exemple, ``fibo`` n'est "
+"pas défini)."
#: tutorial/modules.rst:101
msgid "There is even a variant to import all names that a module defines::"
@@ -854,15 +851,14 @@ msgid "Footnotes"
msgstr "Notes"
#: tutorial/modules.rst:579
-#, fuzzy
msgid ""
"In fact function definitions are also 'statements' that are 'executed'; the "
"execution of a module-level function definition adds the function name to "
"the module's global namespace."
msgstr ""
"En réalité, la déclaration d'une fonction est elle-même une instruction ; "
-"son exécution enregistre le nom de la fonction dans la table des symboles "
-"globaux du module."
+"son exécution ajoute le nom de la fonction dans l'espace de nommage global "
+"du module."
#~ msgid "The installation-dependent default."
#~ msgstr "la valeur par défaut, dépendante de l'installation."
diff --git a/tutorial/venv.po b/tutorial/venv.po
index 8a21b580..8d007cb8 100644
--- a/tutorial/venv.po
+++ b/tutorial/venv.po
@@ -107,15 +107,14 @@ msgstr ""
"dossier ::"
#: tutorial/venv.rst:49
-#, fuzzy
msgid ""
"This will create the ``tutorial-env`` directory if it doesn't exist, and "
"also create directories inside it containing a copy of the Python "
"interpreter and various supporting files."
msgstr ""
"Cela crée le dossier ``tutorial-env`` (s'il n'existe pas) et des sous-"
-"dossiers contenant une copie de l'interpréteur Python, de la bibliothèque "
-"standard et quelques autres fichiers utiles."
+"dossiers contenant une copie de l'interpréteur Python et d'autres fichiers "
+"utiles."
#: tutorial/venv.rst:53
msgid ""
@@ -186,15 +185,14 @@ msgstr ""
"(assez) limitée de ``pip`` ::"
#: tutorial/venv.rst:100
-#, fuzzy
msgid ""
"``pip`` has a number of subcommands: \"install\", \"uninstall\", \"freeze\", "
"etc. (Consult the :ref:`installing-index` guide for complete documentation "
"for ``pip``.)"
msgstr ""
-"``pip`` a plusieurs sous-commandes : ``search``, ``install``, ``uninstall``, "
-"``freeze``, etc. Consultez le guide :ref:`installing-index` pour une "
-"documentation exhaustive sur ``pip``."
+"``pip`` a plusieurs sous-commandes : ``install``, ``uninstall``, ``freeze``, "
+"etc. Consultez le guide :ref:`installing-index` pour une documentation "
+"exhaustive sur ``pip``."
#: tutorial/venv.rst:104
msgid ""
diff --git a/tutorial/whatnow.po b/tutorial/whatnow.po
index 905a7817..d3a3e238 100644
--- a/tutorial/whatnow.po
+++ b/tutorial/whatnow.po
@@ -125,14 +125,12 @@ msgstr ""
"\"Python Cookbook\" (O'Reilly & Associates, ISBN 0-596-00797-3)."
#: tutorial/whatnow.rst:48
-#, fuzzy
msgid ""
"https://pyvideo.org collects links to Python-related videos from conferences "
"and user-group meetings."
msgstr ""
-"http://www.pyvideo.org regroupe des liens vers des vidéos relatives à "
-"Python, enregistrées lors de conférences ou de réunions de groupes "
-"d'utilisateurs."
+"https://pyvideo.org regroupe des liens vers des vidéos relatives à Python, "
+"enregistrées lors de conférences ou de réunions de groupes d'utilisateurs."
#: tutorial/whatnow.rst:51
msgid ""
diff --git a/whatsnew/2.3.po b/whatsnew/2.3.po
index 6df8061f..dca51b8f 100644
--- a/whatsnew/2.3.po
+++ b/whatsnew/2.3.po
@@ -1245,9 +1245,8 @@ msgid ""
msgstr ""
#: whatsnew/2.3.rst:1189
-#, fuzzy
msgid "Optimizations"
-msgstr "Optimisation"
+msgstr "Optimisations"
#: whatsnew/2.3.rst:1191
msgid ""
diff --git a/whatsnew/2.4.po b/whatsnew/2.4.po
index 8b741825..ac4b7006 100644
--- a/whatsnew/2.4.po
+++ b/whatsnew/2.4.po
@@ -1046,9 +1046,8 @@ msgid ""
msgstr ""
#: whatsnew/2.4.rst:933
-#, fuzzy
msgid "Optimizations"
-msgstr "Optimisation"
+msgstr "Optimisations"
#: whatsnew/2.4.rst:935
msgid ""
diff --git a/whatsnew/2.5.po b/whatsnew/2.5.po
index 62340059..43f56566 100644
--- a/whatsnew/2.5.po
+++ b/whatsnew/2.5.po
@@ -1319,9 +1319,8 @@ msgid ""
msgstr ""
#: whatsnew/2.5.rst:1139
-#, fuzzy
msgid "Optimizations"
-msgstr "Optimisation"
+msgstr "Optimisations"
#: whatsnew/2.5.rst:1141
msgid ""
diff --git a/whatsnew/2.6.po b/whatsnew/2.6.po
index c25c9c91..865b62b6 100644
--- a/whatsnew/2.6.po
+++ b/whatsnew/2.6.po
@@ -1830,9 +1830,8 @@ msgid ""
msgstr ""
#: whatsnew/2.6.rst:1693
-#, fuzzy
msgid "Optimizations"
-msgstr "Optimisation"
+msgstr "Optimisations"
#: whatsnew/2.6.rst:1695
msgid ""
diff --git a/whatsnew/2.7.po b/whatsnew/2.7.po
index 06ef1908..dc3587f8 100644
--- a/whatsnew/2.7.po
+++ b/whatsnew/2.7.po
@@ -950,9 +950,8 @@ msgid ""
msgstr ""
#: whatsnew/2.7.rst:928
-#, fuzzy
msgid "Optimizations"
-msgstr "Optimisation"
+msgstr "Optimisations"
#: whatsnew/2.7.rst:930
msgid "Several performance enhancements have been added:"
diff --git a/whatsnew/3.1.po b/whatsnew/3.1.po
index 8ae50a49..2315c47f 100644
--- a/whatsnew/3.1.po
+++ b/whatsnew/3.1.po
@@ -491,9 +491,8 @@ msgid "(Contributed by Brett Cannon.)"
msgstr ""
#: whatsnew/3.1.rst:417
-#, fuzzy
msgid "Optimizations"
-msgstr "Optimisation"
+msgstr "Optimisations"
#: whatsnew/3.1.rst:419
msgid "Major performance enhancements have been added:"
diff --git a/whatsnew/3.2.po b/whatsnew/3.2.po
index 33e1daba..13c5d870 100644
--- a/whatsnew/3.2.po
+++ b/whatsnew/3.2.po
@@ -2594,9 +2594,8 @@ msgid ""
msgstr ""
#: whatsnew/3.2.rst:2346
-#, fuzzy
msgid "Optimizations"
-msgstr "Optimisation"
+msgstr "Optimisations"
#: whatsnew/3.2.rst:2348
msgid "A number of small performance enhancements have been added:"
diff --git a/whatsnew/3.3.po b/whatsnew/3.3.po
index 0774da93..85f8759c 100644
--- a/whatsnew/3.3.po
+++ b/whatsnew/3.3.po
@@ -3135,9 +3135,8 @@ msgid ""
msgstr ""
#: whatsnew/3.3.rst:2149
-#, fuzzy
msgid "Optimizations"
-msgstr "Optimisation"
+msgstr "Optimisations"
#: whatsnew/3.3.rst:2151
msgid "Major performance enhancements have been added:"
diff --git a/whatsnew/3.5.po b/whatsnew/3.5.po
index 46343ae1..958b01d5 100644
--- a/whatsnew/3.5.po
+++ b/whatsnew/3.5.po
@@ -2627,9 +2627,8 @@ msgid ""
msgstr ""
#: whatsnew/3.5.rst:2105
-#, fuzzy
msgid "Optimizations"
-msgstr "Optimisation"
+msgstr "Optimisations"
#: whatsnew/3.5.rst:2107
msgid ""
diff --git a/whatsnew/3.6.po b/whatsnew/3.6.po
index ed36e24d..3228c2da 100644
--- a/whatsnew/3.6.po
+++ b/whatsnew/3.6.po
@@ -2279,9 +2279,8 @@ msgid ""
msgstr ""
#: whatsnew/3.6.rst:1779
-#, fuzzy
msgid "Optimizations"
-msgstr "Optimisation"
+msgstr "Optimisations"
#: whatsnew/3.6.rst:1781
msgid ""
diff --git a/whatsnew/3.7.po b/whatsnew/3.7.po
index 23028fbc..c08a9677 100644
--- a/whatsnew/3.7.po
+++ b/whatsnew/3.7.po
@@ -2512,9 +2512,8 @@ msgid ""
msgstr ""
#: whatsnew/3.7.rst:1771
-#, fuzzy
msgid "Optimizations"
-msgstr "Optimisation"
+msgstr "Optimisations"
#: whatsnew/3.7.rst:1773
msgid ""
diff --git a/whatsnew/3.8.po b/whatsnew/3.8.po
index 71131a8e..56de85e0 100644
--- a/whatsnew/3.8.po
+++ b/whatsnew/3.8.po
@@ -38,9 +38,8 @@ msgstr ""
"des modifications `."
#: whatsnew/3.8.rst:61
-#, fuzzy
msgid "Summary -- Release highlights"
-msgstr "Résumé"
+msgstr "Résumé – Points marquants de cette version"
#: whatsnew/3.8.rst:72
msgid "New Features"
@@ -1806,9 +1805,8 @@ msgid ""
msgstr ""
#: whatsnew/3.8.rst:1455
-#, fuzzy
msgid "Optimizations"
-msgstr "Optimisation"
+msgstr "Optimisations"
#: whatsnew/3.8.rst:1457
msgid ""