Traduction des fuzzies de Reference et Tutorial (#1590)

Automerge of PR #1590 by @christopheNan
#1589

closes #1589 

Co-authored-by: Julien Palard <julien@palard.fr>
This commit is contained in:
Christophe Nanteuil 2021-04-14 13:11:40 +02:00 committed by GitHub
parent 0b436b5fa9
commit 49b049ea1a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 254 additions and 204 deletions

View File

@ -6,7 +6,7 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-01-27 19:26+0100\n"
"PO-Revision-Date: 2020-05-30 20:30+0900\n"
"PO-Revision-Date: 2021-04-10 16:40+0200\n"
"Last-Translator: Samuel Giffard <samuel@giffard.co>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
@ -208,7 +208,7 @@ msgstr ""
"exécutée une fois pour chaque élément fourni par l'itérateur, dans l'ordre "
"renvoyé par l'itérateur. Chaque élément est assigné, à tour de rôle, à la "
"liste cible (*target_list* dans la grammaire ci-dessus) en utilisant les "
"règles des assignations (voir :ref:`assignment`), et ensuite la suite est "
"règles des affectations (voir :ref:`assignment`), et ensuite la suite est "
"exécutée. Lorsque les éléments sont épuisés (ce qui est immédiat lorsque la "
"séquence est vide ou si un itérateur lève une exception :exc:"
"`StopIteration`), la suite de la clause :keyword:`!else`, si elle existe, "
@ -278,7 +278,7 @@ msgstr ""
"l'élément courant, l'élément courant est traité une deuxième fois à la "
"prochaine itération. Ceci peut conduire à de méchants bugs, que vous pouvez "
"éviter en effectuant une copie temporaire d'une tranche ou de la séquence "
"complète, par exemple ::"
"complète, par exemple ::"
#: reference/compound_stmts.rst:225
msgid "The :keyword:`!try` statement"
@ -293,7 +293,6 @@ msgstr ""
"code de nettoyage pour un groupe d'instructions :"
#: reference/compound_stmts.rst:248
#, fuzzy
msgid ""
"The :keyword:`except` clause(s) specify one or more exception handlers. When "
"no exception occurs in the :keyword:`try` clause, no exception handler is "
@ -319,8 +318,8 @@ msgstr ""
"avec une expression, cette expression est évaluée et la clause correspond si "
"l'objet résultant est « compatible » avec l'exception. Un objet est réputé "
"compatible avec une exception s'il est la classe ou une classe de base de "
"l'objet exception ou si c'est un *n*-uplet contenant un élément qui est "
"compatible avec l'exception."
"l'objet exception ou si c'est un *n*-uplet dont un élément est la classe ou "
"une classe parente de l'exception."
#: reference/compound_stmts.rst:260
msgid ""
@ -372,11 +371,11 @@ msgid ""
"the end of the except clause. This is as if ::"
msgstr ""
"Lorsqu'une exception a été assignée en utilisant ``as cible``, elle est "
"effacée à la fin de la clause ``except``. C'est comme si ::"
"effacée à la fin de la clause ``except``. C'est comme si ::"
#: reference/compound_stmts.rst:284
msgid "was translated to ::"
msgstr "avait été traduit en ::"
msgstr "avait été traduit en ::"
#: reference/compound_stmts.rst:292
msgid ""
@ -571,7 +570,7 @@ msgid ""
msgstr ""
"L'instruction :keyword:`with` garantit que si la méthode :meth:`__enter__` "
"se termine sans erreur, alors la méthode :meth:`__exit__` est toujours "
"appelée. Ainsi, si une erreur se produit pendant l'assignation à la liste "
"appelée. Ainsi, si une erreur se produit pendant l'affectation à la liste "
"cible, elle est traitée de la même façon qu'une erreur se produisant dans la "
"suite. Voir l'étape 6 ci-dessous."
@ -700,11 +699,11 @@ msgstr ""
"fonction comme seul argument ; la valeur renvoyée est liée au nom de la "
"fonction en lieu et place de l'objet fonction. Lorsqu'il y a plusieurs "
"décorateurs, ils sont appliqués par imbrication ; par exemple, le code "
"suivant ::"
"suivant ::"
#: reference/compound_stmts.rst:548 reference/compound_stmts.rst:719
msgid "is roughly equivalent to ::"
msgstr "est à peu près équivalent à ::"
msgstr "est à peu près équivalent à ::"
#: reference/compound_stmts.rst:553
msgid ""
@ -713,12 +712,17 @@ msgid ""
msgstr ""
"sauf que la fonction originale n'est pas temporairement liée au nom ``func``."
# Pas de majuscule : ok.
#: reference/compound_stmts.rst:555
msgid ""
"Functions may be decorated with any valid :token:`assignment_expression`. "
"Previously, the grammar was much more restrictive; see :pep:`614` for "
"details."
msgstr ""
"les fonctions peuvent être décorées par toute :token:`expression "
"d'affectation <assignment_expression>` valide. Auparavant, la grammaire "
"était beaucoup plus restrictive ; voir la :pep:`614` pour obtenir les "
"détails."
#: reference/compound_stmts.rst:565
msgid ""
@ -923,11 +927,11 @@ msgstr ""
"des utilisations plus avancées). Donc chaque élément de la liste doit "
"pouvoir être évalué comme un objet classe qui autorise les sous-classes. Les "
"classes sans liste d'héritage héritent, par défaut, de la classe de base :"
"class:`object` ; d'où ::"
"class:`object` ; d'où ::"
#: reference/compound_stmts.rst:689
msgid "is equivalent to ::"
msgstr "est équivalente à ::"
msgstr "est équivalente à ::"
#: reference/compound_stmts.rst:694
msgid ""
@ -974,7 +978,7 @@ msgstr ""
msgid "Classes can also be decorated: just like when decorating functions, ::"
msgstr ""
"Les classes peuvent aussi être décorées : comme pour les décorateurs de "
"fonctions, ::"
"fonctions,::"
#: reference/compound_stmts.rst:724
msgid ""
@ -991,6 +995,9 @@ msgid ""
"Previously, the grammar was much more restrictive; see :pep:`614` for "
"details."
msgstr ""
"les classes peuvent être décorées par toute :token:`expression d'affectation "
"<assignment_expression>` valide. Auparavant, la grammaire était beaucoup "
"plus restrictive ; voir la :pep:`614` pour obtenir les détails."
#: reference/compound_stmts.rst:732
msgid ""
@ -1089,24 +1096,22 @@ msgid "The :keyword:`!async for` statement"
msgstr "L'instruction :keyword:`!async for`"
#: reference/compound_stmts.rst:803
#, fuzzy
msgid ""
"An :term:`asynchronous iterable` provides an ``__aiter__`` method that "
"directly returns an :term:`asynchronous iterator`, which can call "
"asynchronous code in its ``__anext__`` method."
msgstr ""
"Un :term:`itérable asynchrone <asynchronous iterable>` est capable d'appeler "
"du code asynchrone dans l'implémentation de sa méthode *iter* ; un :term:"
"`itérateur asynchrone <asynchronous iterator>` peut appeler du code "
"asynchrone dans sa méthode *next*."
"Un :term:`itérable asynchrone <asynchronous iterable>` fournit une méthode "
"``__aiter__`` qui renvoie directement un :term:`itérateur asynchrone "
"<asynchronous iterator>`, celui-ci pouvant appeler du code asynchrone dans "
"sa méthode ``__anext__``."
#: reference/compound_stmts.rst:807
#, fuzzy
msgid ""
"The ``async for`` statement allows convenient iteration over asynchronous "
"iterables."
msgstr ""
"L'instruction ``async for`` permet d'itérer facilement sur des itérateurs "
"L'instruction ``async for`` permet d'itérer facilement sur des itérables "
"asynchrones."
#: reference/compound_stmts.rst:817

View File

@ -6,7 +6,7 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-03-19 16:59+0100\n"
"PO-Revision-Date: 2020-06-01 16:54+0900\n"
"PO-Revision-Date: 2021-04-13 17:29+0200\n"
"Last-Translator: Samuel Giffard <samuel@giffard.co>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
@ -140,7 +140,7 @@ msgstr ""
"Notez que si vous utilisez les fonctionnalités de débogage ou de trace de "
"l'implémentation, il est possible que des références qui seraient "
"normalement supprimées soient toujours présentes. Notez aussi que capturer "
"une exception avec l'instruction :keyword:`try`...\\ :keyword:`except` peut "
"une exception avec l'instruction :keyword:`try`\\ :keyword:`except` peut "
"conserver des objets en vie."
#: reference/datamodel.rst:87
@ -160,7 +160,7 @@ msgstr ""
"qu'il supprime tous les objets, ces objets fournissent également un moyen "
"explicite de libérer la ressource externe, généralement sous la forme d'une "
"méthode :meth:`close`. Nous incitons fortement les programmeurs à fermer "
"explicitement de tels objets. Les instructions :keyword:`try`...\\ :keyword:"
"explicitement de tels objets. Les instructions :keyword:`try`\\ :keyword:"
"`finally` et :keyword:`with` sont très pratiques pour cela."
#: reference/datamodel.rst:97
@ -262,7 +262,6 @@ msgid "NotImplemented"
msgstr "NotImplemented"
#: reference/datamodel.rst:155
#, fuzzy
msgid ""
"This type has a single value. There is a single object with this value. "
"This object is accessed through the built-in name ``NotImplemented``. "
@ -276,8 +275,8 @@ msgstr ""
"Les méthodes numériques et les comparaisons riches doivent renvoyer cette "
"valeur si elles n'implémentent pas l'opération pour les opérandes fournis "
"(l'interpréteur essaie alors l'opération en permutant les opérandes ou tout "
"autre stratégie de contournement, en fonction de l'opérateur). Sa valeur "
"booléenne est vraie."
"autre stratégie de contournement, en fonction de l'opérateur). Il ne doit "
"pas être évalué dans un contexte booléen."
#: reference/datamodel.rst:162
msgid "See :ref:`implementing-the-arithmetic-operations` for more details."
@ -285,12 +284,16 @@ msgstr ""
"Consultez :ref:`implementing-the-arithmetic-operations` pour davantage de "
"détails."
# Pas de majuscule car suit un ':' dans le rendu.
#: reference/datamodel.rst:166
msgid ""
"Evaluating ``NotImplemented`` in a boolean context is deprecated. While it "
"currently evaluates as true, it will emit a :exc:`DeprecationWarning`. It "
"will raise a :exc:`TypeError` in a future version of Python."
msgstr ""
"évaluer ``NotImplemented`` dans un contexte booléen est obsolète. Python "
"l'évalue aujourd'hui à ``True`` mais émet un :exc:`DeprecationWarning`. Il "
"lèvera une :exc:`TypeError` dans une version ultérieure de Python."
#: reference/datamodel.rst:179
msgid "Ellipsis"
@ -330,32 +333,43 @@ msgid ""
"The string representations of the numeric classes, computed by :meth:"
"`__repr__` and :meth:`__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 :"
#: reference/datamodel.rst:194
msgid ""
"They are valid numeric literals which, when passed to their class "
"constructor, produce an object having the value of the original numeric."
msgstr ""
"Ce sont des littéraux numériques valides qui, s'ils sont passés au "
"constructeur de leur classe, produisent un objet qui a la valeur numérique "
"de l'objet d'origine."
#: reference/datamodel.rst:198
msgid "The representation is in base 10, when possible."
msgstr ""
msgstr "La représentation est en base 10, si possible."
#: reference/datamodel.rst:200
msgid ""
"Leading zeros, possibly excepting a single zero before a decimal point, are "
"not shown."
msgstr ""
"Les zéros en tête, sauf en ce qui concerne un zéro seul avant la virgule "
"(représentée par un point en Python conformément à la convention anglo-"
"saxonne), ne sont pas affichés."
#: reference/datamodel.rst:203
msgid ""
"Trailing zeros, possibly excepting a single zero after a decimal point, are "
"not shown."
msgstr ""
"Les zéros en fin, sauf en ce qui concerne un zéro seul après la virgule, ne "
"sont pas affichés."
#: reference/datamodel.rst:206
msgid "A sign is shown only when the number is negative."
msgstr ""
msgstr "Le signe n'est affiché que lorsque le nombre est négatif."
#: reference/datamodel.rst:208
msgid ""
@ -486,7 +500,7 @@ msgstr ""
"Ils représentent des ensembles de taille finie indicés par des entiers "
"positifs ou nuls. La fonction native :func:`len` renvoie le nombre "
"d'éléments de la séquence. Quand la longueur d'une séquence est *n*, "
"l'ensemble des indices contient les entiers 0, 1 ..., *n-1*. On accède à "
"l'ensemble des indices contient les entiers 0, 1 , *n-1*. On accède à "
"l'élément d'indice *i* de la séquence *a* par ``a[i]``."
#: reference/datamodel.rst:283
@ -802,8 +816,8 @@ msgid ""
"Dictionaries are mutable; they can be created by the ``{...}`` notation (see "
"section :ref:`dict`)."
msgstr ""
"Les dictionnaires sont muables : ils peuvent être créés par la notation "
"``{...}`` (reportez-vous à la section :ref:`dict`)."
"Les dictionnaires sont muables : ils peuvent être créés par la notation ``{…}"
"`` (reportez-vous à la section :ref:`dict`)."
#: reference/datamodel.rst:457
msgid ""
@ -1813,9 +1827,10 @@ msgid ""
"object is implicitly created when an exception occurs, and may also be "
"explicitly created by calling :class:`types.TracebackType`."
msgstr ""
"Les objets traces représentent la pile de traces d'une exception. Un objet "
"trace est implicitement créé quand une exception apparaît et peut être "
"explicitement créé en appelant :class:`types.TracebackType`."
"Les objets *traces d'appels* représentent le contenu de la pile des appels "
"au moment de l'exception. Un objet *trace d'appels* est implicitement créé "
"quand une exception apparaît et peut être explicitement créé en appelant :"
"class:`types.TracebackType`."
#: reference/datamodel.rst:1060
msgid ""
@ -2068,7 +2083,7 @@ msgid ""
msgstr ""
"Une implémentation typique crée une nouvelle instance de la classe en "
"invoquant la méthode :meth:`__new__` de la superclasse à l'aide de ``super()."
"__new__(cls[, ...])`` avec les arguments adéquats, puis modifie l'instance "
"__new__(cls[, ])`` avec les arguments adéquats, puis modifie l'instance "
"nouvellement créée en tant que de besoin avant de la renvoyer."
#: reference/datamodel.rst:1201
@ -2081,9 +2096,9 @@ msgid ""
msgstr ""
"Si :meth:`__new__` est appelée pendant la construction de l'objet et renvoie "
"une instance de *cls* ou d'une de ses sous-classes, alors la méthode :meth:"
"`__init__` de la nouvelle instance est invoquée avec "
"``__init__(self[, ...])`` où *self* est la nouvelle instance et les autres "
"arguments sont les mêmes que ceux passés au constructeur de l'objet."
"`__init__` de la nouvelle instance est invoquée avec ``__init__(self[, …])`` "
"où *self* est la nouvelle instance et les autres arguments sont les mêmes "
"que ceux passés au constructeur de l'objet."
#: reference/datamodel.rst:1206
msgid ""
@ -2103,7 +2118,7 @@ msgstr ""
"L'objectif de :meth:`__new__` est principalement, pour les sous-classes de "
"types immuables (comme ``int``, ``str`` ou ``tuple``), d'autoriser la "
"création sur mesure des instances. Elle est aussi souvent surchargée dans "
"les méta-classes pour particulariser la création des classes."
"les métaclasses pour particulariser la création des classes."
#: reference/datamodel.rst:1218
msgid ""
@ -2120,7 +2135,7 @@ msgstr ""
"`__init__`, la méthode :meth:`__init__` de la classe dérivée, si elle "
"existe, doit explicitement appeler cette méthode pour assurer une "
"initialisation correcte de la partie classe de base de l'instance ; par "
"exemple : ``super().__init__([args...])``."
"exemple : ``super().__init__([args])``."
#: reference/datamodel.rst:1225
msgid ""
@ -2246,9 +2261,9 @@ msgstr ""
 officielle » en chaîne de caractères d'un objet. Tout est fait pour que "
"celle-ci ressemble à une expression Python valide pouvant être utilisée pour "
"recréer un objet avec la même valeur (dans un environnement donné). Si ce "
"n'est pas possible, une chaîne de la forme ``<...une description utile...>`` "
"est renvoyée. La valeur renvoyée doit être un objet chaîne de caractères. Si "
"une classe définit :meth:`__repr__` mais pas :meth:`__str__`, alors :meth:"
"n'est pas possible, une chaîne de la forme ``<…une description utile…>`` est "
"renvoyée. La valeur renvoyée doit être un objet chaîne de caractères. Si une "
"classe définit :meth:`__repr__` mais pas :meth:`__str__`, alors :meth:"
"`__repr__` est aussi utilisée quand une représentation « informelle » en "
"chaîne de caractères est demandée pour une instance de cette classe."
@ -2340,13 +2355,12 @@ msgstr ""
"si vous lui passez une chaîne non vide."
#: reference/datamodel.rst:1368
#, fuzzy
msgid ""
"``object.__format__(x, '')`` is now equivalent to ``str(x)`` rather than "
"``format(str(x), '')``."
msgstr ""
"``object.__format__(x, '')`` est maintenant équivalent à ``str(x)`` plutôt "
"qu'à ``format(str(self), '')``."
"qu'à ``format(str(x), '')``."
#: reference/datamodel.rst:1384
msgid ""
@ -2382,7 +2396,6 @@ msgstr ""
"résultat est faux ou vrai."
#: reference/datamodel.rst:1397
#, fuzzy
msgid ""
"By default, ``object`` implements :meth:`__eq__` by using ``is``, returning "
"``NotImplemented`` in the case of a false comparison: ``True if x is y else "
@ -2393,12 +2406,14 @@ msgid ""
"``x<=y``. To automatically generate ordering operations from a single root "
"operation, see :func:`functools.total_ordering`."
msgstr ""
"Par défaut, :meth:`__ne__` délègue à :meth:`__eq__` et renvoie le résultat "
"inverse, sauf si c'est ``NotImplemented``. Il n'y a pas d'autres relations "
"implicites pour les opérateurs de comparaison. Par exemple, ``(x<y or "
"x==y)`` n'implique pas ``x<=y``. Pour obtenir une relation d'ordre total "
"automatique à partir d'une seule opération, reportez-vous à :func:`functools."
"total_ordering`."
"Par défaut, ``object`` implémente :meth:`__eq__` en utilisant ``is`` et "
"renvoie ``NotImplemented`` si la comparaison renvoie ``False`` : ``True if x "
"is y else NotImplemented``. Pour :meth:`__ne__`, il délègue à :meth:`__eq__` "
"et renvoie le résultat inverse, sauf si c'est ``NotImplemented``. Il n'y a "
"pas d'autres relations implicites pour les opérateurs de comparaison ou "
"d'implémentations par défaut ; par exemple, ``(x<y or x==y)`` n'implique pas "
"``x<=y``. Pour obtenir une relation d'ordre total automatique à partir d'une "
"seule opération, reportez-vous à :func:`functools.total_ordering`."
#: reference/datamodel.rst:1406
msgid ""
@ -2567,9 +2582,9 @@ msgid ""
msgstr ""
"C'est un comportement voulu pour se protéger contre un déni de service qui "
"utiliserait des entrées malicieusement choisies pour effectuer des "
"insertions dans le dictionnaire dans le pire cas, avec une complexité en "
"O(n^2). Lisez http://www.ocert.org/advisories/ocert-2011-003.html pour en "
"obtenir les détails (article en anglais)."
"insertions dans le dictionnaire dans le pire cas, avec une complexité en O(n"
"\\ :sup:`2`). Lisez http://www.ocert.org/advisories/ocert-2011-003.html pour "
"en obtenir les détails (article en anglais)."
#: reference/datamodel.rst:1492
msgid ""
@ -2695,12 +2710,17 @@ msgid ""
"Raises an :ref:`auditing event <auditing>` ``object.__getattr__`` with "
"arguments ``obj``, ``name``."
msgstr ""
"Lève un :ref:`événement d'audit <auditing>` ``object.__getattr__`` avec les "
"arguments ``obj`` et ``name``."
#: reference/datamodel.rst:1564
msgid ""
"For certain sensitive attribute accesses, raises an :ref:`auditing event "
"<auditing>` ``object.__getattr__`` with arguments ``obj`` and ``name``."
msgstr ""
"Pour les accès à certains attributs sensibles, lève un :ref:`événement "
"d'audit <auditing>` ``object.__getattr__`` avec les arguments ``obj`` et "
"``name``."
#: reference/datamodel.rst:1571
msgid ""
@ -2728,6 +2748,8 @@ msgid ""
"Raises an :ref:`auditing event <auditing>` ``object.__setattr__`` with "
"arguments ``obj``, ``name``, ``value``."
msgstr ""
"Lève un :ref:`événement d'audit <auditing>` ``object.__setattr__`` avec les "
"arguments ``obj``, ``name`` et ``value``."
#: reference/datamodel.rst:1581
msgid ""
@ -2735,6 +2757,9 @@ msgid ""
"<auditing>` ``object.__setattr__`` with arguments ``obj``, ``name``, "
"``value``."
msgstr ""
"Pour les assignations de certains attributs sensibles, lève un :ref:"
"`événement d'audit <auditing>` ``object.__setattr__`` avec les arguments "
"``obj``, ``name`` et ``value``."
#: reference/datamodel.rst:1588
msgid ""
@ -2751,12 +2776,17 @@ msgid ""
"Raises an :ref:`auditing event <auditing>` ``object.__delattr__`` with "
"arguments ``obj``, ``name``."
msgstr ""
"Lève un :ref:`événement d'audit <auditing>` ``object.__deltattr__`` avec les "
"arguments ``obj`` et ``name``."
#: reference/datamodel.rst:1593
msgid ""
"For certain sensitive attribute deletions, raises an :ref:`auditing event "
"<auditing>` ``object.__delattr__`` with arguments ``obj`` and ``name``."
msgstr ""
"Pour les suppressions de certains attributs sensibles, lève un :ref:"
"`événement d'audit <auditing>` ``object.__deltattr__`` avec les arguments "
"``obj`` et ``name``."
#: reference/datamodel.rst:1600
msgid ""
@ -2994,7 +3024,7 @@ msgstr ""
"obtenir et supprimer cet attribut du dictionnaire de l'objet. Par exemple, "
"pour ``a.x`` Python commence d'abord par rechercher ``a.__dict__['x']``, "
"puis ``type(a).__dict__['x']`` ; ensuite Python continue en remontant les "
"classes de base de ``type(a)``, en excluant les méta-classes."
"classes de base de ``type(a)``, en excluant les métaclasses."
#: reference/datamodel.rst:1750
msgid ""
@ -3070,7 +3100,6 @@ msgstr ""
"``A.__dict__['m'].__get__(obj, obj.__class__)``."
#: reference/datamodel.rst:1776
#, fuzzy
msgid ""
"For instance bindings, the precedence of descriptor invocation depends on "
"the which descriptor methods are defined. A descriptor can define any "
@ -3090,7 +3119,7 @@ msgstr ""
"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 retourne l'objet descripteur lui-même sauf s'il "
"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 "
@ -3098,9 +3127,9 @@ msgstr ""
"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__` 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."
"`__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:1789
msgid ""
@ -3348,14 +3377,14 @@ msgid ""
"actual metaclass (rather than the explicit hint) can be accessed as "
"``type(cls)``."
msgstr ""
"L'indication de méta-classe ``metaclass`` est absorbée par le reste du "
"L'indication de métaclasse ``metaclass`` est absorbée par le reste du "
"mécanisme de types et n'est jamais passée à l'implémentation de "
"``__init_subclass__``. La méta-classe réelle (plutôt que l'indication "
"``__init_subclass__``. La métaclasse réelle (plutôt que l'indication "
"explicite) peut être récupérée par ``type(cls)``."
#: reference/datamodel.rst:1918
msgid "Metaclasses"
msgstr "Méta-classes"
msgstr "Métaclasses"
#: reference/datamodel.rst:1925
msgid ""
@ -3386,7 +3415,7 @@ msgid ""
"passed through to all metaclass operations described below."
msgstr ""
"Tout autre argument nommé spécifié dans la définition de la classe est passé "
"aux opérations de méta-classes décrites auparavant."
"aux opérations de métaclasses décrites auparavant."
#: reference/datamodel.rst:1946
msgid "When a class definition is executed, the following steps occur:"
@ -3400,7 +3429,7 @@ msgstr "Les entrées MRO sont résolues ;"
#: reference/datamodel.rst:1949
msgid "the appropriate metaclass is determined;"
msgstr "la méta-classe appropriée est déterminée ;"
msgstr "la métaclasse appropriée est déterminée ;"
#: reference/datamodel.rst:1950
msgid "the class namespace is prepared;"
@ -3440,13 +3469,13 @@ msgstr ""
#: reference/datamodel.rst:1970
msgid "Determining the appropriate metaclass"
msgstr "Détermination de la méta-classe appropriée"
msgstr "Détermination de la métaclasse appropriée"
#: reference/datamodel.rst:1974
msgid ""
"The appropriate metaclass for a class definition is determined as follows:"
msgstr ""
"La méta-classe appropriée pour une définition de classe est déterminée de la "
"La métaclasse appropriée pour une définition de classe est déterminée de la "
"manière suivante :"
#: reference/datamodel.rst:1976
@ -3461,17 +3490,16 @@ msgid ""
"if an explicit metaclass is given and it is *not* an instance of :func:"
"`type`, then it is used directly as the metaclass;"
msgstr ""
"si une méta-classe explicite est donnée et que *ce n'est pas* une instance "
"de :func:`type`, alors elle est utilisée directement en tant que méta-"
"classe ;"
"si une métaclasse explicite est donnée et que *ce n'est pas* une instance "
"de :func:`type`, alors elle est utilisée directement en tant que métaclasse ;"
#: reference/datamodel.rst:1979
msgid ""
"if an instance of :func:`type` is given as the explicit metaclass, or bases "
"are defined, then the most derived metaclass is used."
msgstr ""
"Si une instance de :func:`type` est donnée comme méta-classe explicite ou si "
"*bases* est définie, alors la méta-classe la plus dérivée est utilisée."
"si une instance de :func:`type` est donnée comme métaclasse explicite ou si "
"*bases* est définie, alors la métaclasse la plus dérivée est utilisée."
#: reference/datamodel.rst:1982
msgid ""
@ -3481,11 +3509,11 @@ msgid ""
"of these candidate metaclasses. If none of the candidate metaclasses meets "
"that criterion, then the class definition will fail with ``TypeError``."
msgstr ""
"La méta-classe la plus dérivée est choisie à partir des méta-classes "
"explicitement spécifiées (s'il y en a) et les méta-classes (c'est-à-dire les "
"``type(cls)``) de toutes les classes de base spécifiées. La méta-classe la "
"plus dérivée est celle qui est un sous-type de *toutes* ces méta-classes "
"candidates. Si aucune des méta-classes candidates ne remplit ce critère, "
"La métaclasse la plus dérivée est choisie à partir des métaclasses "
"explicitement spécifiées (s'il y en a) et les métaclasses (c'est-à-dire les "
"``type(cls)``) de toutes les classes de base spécifiées. La métaclasse la "
"plus dérivée est celle qui est un sous-type de *toutes* ces métaclasses "
"candidates. Si aucune des métaclasses candidates ne remplit ce critère, "
"alors la définition de la classe échoue en levant ``TypeError``."
#: reference/datamodel.rst:1992
@ -3503,28 +3531,28 @@ msgid ""
"the final class object is created the namespace is copied into a new "
"``dict``."
msgstr ""
"Une fois que la méta-classe appropriée est identifiée, l'espace de nommage "
"de la classe est préparé. Si la méta-classe possède un attribut "
"``__prepare__``, 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`). Lespace de nommage renvoyé par ``__prepare__`` est passé à "
"``__new__``, mais quand linstance finale est créée, lespace de nommage est "
"copié vers un nouveau ``dict``."
"Une fois que la métaclasse appropriée est identifiée, l'espace de nommage de "
"la classe est préparé. Si la métaclasse possède un attribut ``__prepare__``, "
"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`). Lespace "
"de nommage renvoyé par ``__prepare__`` est passé à ``__new__``, mais quand "
"linstance finale est créée, lespace de nommage est copié vers un nouveau "
"``dict``."
#: reference/datamodel.rst:2005
msgid ""
"If the metaclass has no ``__prepare__`` attribute, then the class namespace "
"is initialised as an empty ordered mapping."
msgstr ""
"Si la méta-classe ne possède pas d'attribut ``__prepare__``, alors l'espace "
"Si la métaclasse ne possède pas d'attribut ``__prepare__``, alors l'espace "
"de nommage de la classe est initialisé en tant que tableau de "
"correspondances ordonné."
#: reference/datamodel.rst:2010
msgid ":pep:`3115` - Metaclasses in Python 3000"
msgstr ":pep:`3115` — Méta-classes dans Python 3000"
msgstr ":pep:`3115` — Métaclasses dans Python 3000"
#: reference/datamodel.rst:2011
msgid "Introduced the ``__prepare__`` namespace hook"
@ -3609,11 +3637,11 @@ msgid ""
"initialised correctly. Failing to do so will result in a :exc:`RuntimeError` "
"in Python 3.8."
msgstr ""
"Dans CPython 3.6 et suivants, la cellule ``__class__`` est passée à la méta-"
"classe en tant qu'entrée ``__classcell__`` dans l'espace de nommage de la "
"classe. Si elle est présente, elle doit être propagée à l'appel ``type .__ "
"new__`` pour que la classe soit correctement initialisée. Ne pas le faire se "
"traduit par un :exc:`RuntimeError` dans Python 3.8."
"Dans CPython 3.6 et suivants, la cellule ``__class__`` est passée à la "
"métaclasse en tant qu'entrée ``__classcell__`` dans l'espace de nommage de "
"la classe. Si elle est présente, elle doit être propagée à l'appel ``type."
"__new__`` pour que la classe soit correctement initialisée. Ne pas le faire "
"se traduit par un :exc:`RuntimeError` dans Python 3.8."
#: reference/datamodel.rst:2063
msgid ""
@ -3621,8 +3649,8 @@ msgid ""
"ultimately calls ``type.__new__``, the following additional customisation "
"steps are invoked after creating the class object:"
msgstr ""
"Quand vous utilisez la méta-classe par défaut :class:`type` ou toute autre "
"méta-classe qui finit par appeler ``type.__new__``, les étapes de "
"Quand vous utilisez la métaclasse par défaut :class:`type` ou toute autre "
"métaclasse qui finit par appeler ``type.__new__``, les étapes de "
"personnalisation supplémentaires suivantes sont suivies après la création de "
"l'objet classe :"
@ -3697,7 +3725,7 @@ msgid ""
"automatic property creation, proxies, frameworks, and automatic resource "
"locking/synchronization."
msgstr ""
"Les utilisations possibles des méta-classes sont immenses. Quelques pistes "
"Les utilisations possibles des métaclasses sont immenses. Quelques pistes "
"ont déjà été explorées comme l'énumération, la gestion des traces, le "
"contrôle des interfaces, la délégation automatique, la création automatique "
"de propriétés, les mandataires, les *frameworks* ainsi que le verrouillage "
@ -3722,7 +3750,7 @@ msgid ""
"base classes\" to any class or type (including built-in types), including "
"other ABCs."
msgstr ""
"En particulier, la méta-classe :class:`abc.ABCMeta` implémente ces méthodes "
"En particulier, la métaclasse :class:`abc.ABCMeta` implémente ces méthodes "
"pour autoriser l'ajout de classes de base abstraites (ABC pour *Abstract "
"Base Classes* en anglais) en tant que « classes de base virtuelles » pour "
"toute classe ou type (y compris les types natifs)."
@ -3754,7 +3782,7 @@ msgid ""
"consistent with the lookup of special methods that are called on instances, "
"only in this case the instance is itself a class."
msgstr ""
"Notez que ces méthodes sont recherchées dans le type (la méta-classe) d'une "
"Notez que ces méthodes sont recherchées dans le type (la métaclasse) d'une "
"classe. Elles ne peuvent pas être définies en tant que méthodes de classe "
"dans la classe réelle. C'est cohérent avec la recherche des méthodes "
"spéciales qui sont appelées pour les instances, sauf qu'ici l'instance est "
@ -3817,15 +3845,14 @@ msgid "Emulating callable objects"
msgstr "Émulation d'objets appelables"
#: reference/datamodel.rst:2169
#, fuzzy
msgid ""
"Called when the instance is \"called\" as a function; if this method is "
"defined, ``x(arg1, arg2, ...)`` roughly translates to ``type(x).__call__(x, "
"arg1, ...)``."
msgstr ""
"Appelée quand l'instance est « appelée » en tant que fonction ; si la "
"méthode est définie, ``x(arg1, arg2, ...)`` est un raccourci pour ``x."
"__call__(arg1, arg2, ...)``."
"méthode est définie, ``x(arg1, arg2, …)`` est un raccourci pour ``type(x)."
"__call__(x, arg1, …)``."
#: reference/datamodel.rst:2176
msgid "Emulating container types"
@ -4186,7 +4213,6 @@ msgstr ""
"`__rpow__` (les règles de coercition seraient trop compliquées)."
#: reference/datamodel.rst:2416
#, fuzzy
msgid ""
"If the right operand's type is a subclass of the left operand's type and "
"that subclass provides a different implementation of the reflected method "
@ -4195,10 +4221,10 @@ msgid ""
"ancestors' operations."
msgstr ""
"Si le type de l'opérande de droite est une sous-classe du type de l'opérande "
"de gauche et que cette sous-classe fournit la méthode symétrique pour "
"l'opération, cette méthode sera appelée avant la méthode originelle de "
"l'opérande gauche. Ce comportement permet à des sous-classes de surcharger "
"les opérations de leurs ancêtres."
"de gauche et que cette sous-classe fournit une implémentation différente de "
"la méthode symétrique pour l'opération, cette méthode est appelée avant la "
"méthode originelle de l'opérande gauche. Ce comportement permet à des sous-"
"classes de surcharger les opérations de leurs ancêtres."
#: reference/datamodel.rst:2437
msgid ""
@ -4223,18 +4249,23 @@ msgstr ""
"*self*). Si une méthode spécifique n'est pas définie, l'assignation "
"augmentée se replie vers la méthode normale correspondante. Par exemple, si "
"*x* est une instance d'une classe qui possède une méthode :meth:`__iadd__`, "
"``x += y`` est équivalent à ``x = x.__iadd__(y)`` . Sinon, ``x.__add__(y)`` "
"``x += y`` est équivalent à ``x = x.__iadd__(y)``. Sinon, ``x.__add__(y)`` "
"et ``y.__radd__(x)`` sont essayées, comme pour l'évaluation de ``x + y``. "
"Dans certaines situations, les assignations augmentées peuvent causer des "
"erreurs inattendues (voir :ref:`faq-augmented-assignment-tuple-error`), mais "
"ce comportement est en fait partie intégrante du modèle de données."
# Pas de majuscule car suit un ':' dans le rendu.
#: reference/datamodel.rst:2452
msgid ""
"Due to a bug in the dispatching mechanism for ``**=``, a class that defines :"
"meth:`__ipow__` but returns ``NotImplemented`` would fail to fall back to "
"``x.__pow__(y)`` and ``y.__rpow__(x)``. This bug is fixed in Python 3.10."
msgstr ""
"en raison d'un bogue dans le mécanisme de distribution de ``**=``, une "
"classe qui définit :meth:`__ipow__` mais qui renvoie ``NotImplemented`` "
"n'arriverait pas à se replier sur ``x.__pow__(y)`` et ``y.__rpow__(x)``. Ce "
"bogue est corrigé dans Python 3.10."
#: reference/datamodel.rst:2465
msgid ""
@ -4425,7 +4456,7 @@ msgid ""
"the instance when looking up special methods::"
msgstr ""
"Essayer d'invoquer une méthode non liée d'une classe de cette manière est "
"parfois appelé « confusion de méta-classe » et se contourne en shuntant "
"parfois appelé « confusion de métaclasse » et se contourne en shuntant "
"l'instance lors de la recherche des méthodes spéciales ::"
#: reference/datamodel.rst:2605
@ -4436,7 +4467,7 @@ 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éta-classe de l'objet ::"
"méthode :meth:`__getattribute__` même dans la métaclasse de l'objet ::"
#: reference/datamodel.rst:2631
msgid ""
@ -4461,14 +4492,13 @@ msgid "Awaitable Objects"
msgstr "Objets *attendables* (*awaitable*)"
#: reference/datamodel.rst:2648
#, fuzzy
msgid ""
"An :term:`awaitable` object generally implements an :meth:`__await__` "
"method. :term:`Coroutine objects <coroutine>` 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 :"
"`__await__`. Les objets :term:`coroutine` renvoyés par les fonctions :"
"keyword:`async def` sont des *attendables* (*awaitable*)."
#: reference/datamodel.rst:2654
@ -4503,7 +4533,6 @@ msgid "Coroutine Objects"
msgstr "Objets coroutines"
#: reference/datamodel.rst:2674
#, fuzzy
msgid ""
":term:`Coroutine objects <coroutine>` are :term:`awaitable` objects. A "
"coroutine's execution can be controlled by calling :meth:`__await__` and "
@ -4513,7 +4542,7 @@ msgid ""
"raises an exception, it is propagated by the iterator. Coroutines should "
"not directly raise unhandled :exc:`StopIteration` exceptions."
msgstr ""
"Les objets :term:`Coroutine` sont des objets :term:`awaitable`. L'exécution "
"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."
@ -4732,12 +4761,11 @@ msgstr ""
"l'opérande de droite — cela aurait pour effet de *bloquer* un tel repli."
#: reference/datamodel.rst:2819
#, fuzzy
msgid ""
"For operands of the same type, it is assumed that if the non-reflected "
"method -- such as :meth:`__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, l'opération n'est pas autorisée et donc "
"la méthode symétrique n'est pas appelée."
"(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."

View File

@ -6,7 +6,7 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-08-24 09:01+0200\n"
"PO-Revision-Date: 2019-05-23 21:53+0200\n"
"PO-Revision-Date: 2021-04-09 23:45+0200\n"
"Last-Translator: Jules Lasne <jules.lasne@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
@ -24,7 +24,6 @@ msgid "Structure of a program"
msgstr "Structure d'un programme"
#: reference/executionmodel.rst:19
#, fuzzy
msgid ""
"A Python program is constructed from code blocks. A :dfn:`block` is a piece "
"of Python program text that is executed as a unit. The following are blocks: "
@ -37,17 +36,19 @@ msgid ""
"option:`-m` argument is also a code block. The string argument passed to the "
"built-in functions :func:`eval` and :func:`exec` is a code block."
msgstr ""
"Un programme Python est construit à partir de blocs de code. Un :dfn:`block` "
"est un morceau de texte de programme Python qui est exécuté en tant "
"Un programme Python est construit à partir de blocs de code. Un :dfn:`bloc "
"<block>` est un morceau de texte de programme Python qui est exécuté en tant "
"qu'unité. Les éléments suivants sont des blocs : un module, un corps de "
"fonction et une définition de classe. Chaque commande écrite dans "
"l'interpréteur interactif de Python est un bloc. Un fichier de script (un "
"fichier donné en entrée standard à l'interpréteur ou spécifié en tant "
"qu'argument de ligne de commande à l'interpréteur) est un bloc de code. Une "
"commande de script (une commande spécifiée sur la ligne de commande de "
"l'interpréteur avec l'option :option:`-c`) est un bloc de code. La chaîne "
"passée en argument aux fonctions natives :func:`eval` et :func:`exec` est un "
"bloc de code."
"commande de script (une commande spécifiée en ligne de commande à "
"l'interpréteur avec l'option :option:`-c`) est un bloc de code. Un module "
"exécuté en tant que script principal (module ``__main__``) depuis la ligne "
"de commande en utilisant l'option :option:`-m` est aussi un bloc de code. La "
"chaîne passée en argument aux fonctions natives :func:`eval` et :func:`exec` "
"est un bloc de code."
#: reference/executionmodel.rst:33
msgid ""

View File

@ -6,7 +6,7 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-02-24 17:33+0100\n"
"PO-Revision-Date: 2020-05-30 21:58+0900\n"
"PO-Revision-Date: 2021-04-10 16:57+0200\n"
"Last-Translator: Samuel Giffard <samuel@giffard.co>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
@ -733,7 +733,6 @@ msgstr ""
"toutes les clauses :keyword:`finally` en attente."
#: reference/expressions.rst:479
#, fuzzy
msgid ""
"When ``yield from <expr>`` is used, the supplied expression must be an "
"iterable. The values produced by iterating that iterable are passed directly "
@ -744,15 +743,14 @@ msgid ""
"exc:`AttributeError` or :exc:`TypeError`, while :meth:`~generator.throw` "
"will just raise the passed in exception immediately."
msgstr ""
"L'utilisation de ``yield from <expr>`` traite l'expression passée en "
"paramètre comme un sous-itérateur. Toutes les valeurs produites par ce sous-"
"itérateur sont directement passées à l'appelant des méthodes du générateur "
"courant. Toute valeur passée par :meth:`~generator.send` ou toute exception "
"passée par :meth:`~generator.throw` est transmise à l'itérateur sous-jacent "
"s'il possède les méthodes appropriées. Si ce n'est pas le cas, alors :meth:"
"`~generator.send` lève une :exc:`AttributeError` ou une :exc:`TypeError`, "
"alors que :meth:`~generator.throw` ne fait que propager l'exception "
"immédiatement."
"L'expression passée à ``yield from <expr>`` doit être un itérateur. Toutes "
"les valeurs produites par cet itérateur sont directement passées à "
"l'appelant des méthodes du générateur courant. Toute valeur passée par :meth:"
"`~generator.send` ou toute exception passée par :meth:`~generator.throw` est "
"transmise à l'itérateur sous-jacent s'il possède les méthodes appropriées. "
"Si ce n'est pas le cas, alors :meth:`~generator.send` lève une :exc:"
"`AttributeError` ou une :exc:`TypeError`, alors que :meth:`~generator.throw` "
"ne fait que propager l'exception immédiatement."
#: reference/expressions.rst:488
msgid ""
@ -784,7 +782,7 @@ msgstr ""
#: reference/expressions.rst:503
msgid ":pep:`255` - Simple Generators"
msgstr ":pep:`255` : Générateurs simples"
msgstr ":pep:`255` : générateurs simples"
#: reference/expressions.rst:503
msgid ""
@ -1234,14 +1232,13 @@ msgid "Subscriptions"
msgstr "Sélections"
#: reference/expressions.rst:803
#, fuzzy
msgid ""
"Subscription of a sequence (string, tuple or list) or mapping (dictionary) "
"object usually selects an item from the collection:"
msgstr ""
"Une sélection (*subscription* dans la grammaire formelle ci-dessous) désigne "
"un élément dans un objet séquence (chaîne, *n*-uplet ou liste) ou tableau de "
"correspondances (dictionnaire) :"
"Une sélection (*subscription* dans la grammaire formelle ci-dessous) dans un "
"objet séquence (chaîne, *n*-uplet ou liste) ou tableau associatif "
"(dictionnaire) désigne un élément dans cette séquence :"
#: reference/expressions.rst:809
msgid ""
@ -1321,6 +1318,10 @@ msgid ""
"defined classes can support subscription by providing a :meth:"
"`__class_getitem__` classmethod."
msgstr ""
"La sélection dans certains :term:`classes <class>` ou :term:`types <type>` "
"crée un :ref:`alias générique <types-genericalias>`. Dans ce cas, les "
"classes définies par l'utilisateur peuvent gérer la sélection en fournissant "
"une méthode de classe :meth:`__class_getitem__`."
#: reference/expressions.rst:849
msgid "Slicings"
@ -1406,7 +1407,7 @@ msgid ""
"arguments but does not affect the semantics."
msgstr ""
"Une virgule finale (optionnelle) peut être présente, après les arguments "
"positionnels et par mots-clés, mais elle n'affecte pas la sémantique."
"positionnels et nommés, mais elle n'affecte pas la sémantique."
#: reference/expressions.rst:937
msgid ""
@ -1492,7 +1493,7 @@ msgstr ""
"une exception :exc:`TypeError` est levée, à moins qu'un paramètre formel "
"n'utilise la syntaxe ``*identifier`` ; dans ce cas, le paramètre formel "
"reçoit un *n*-uplet contenant les arguments positionnels en supplément (ou "
"un *n*-uplet vide s'il n'y avait pas d'arguments positionnel en trop)."
"un *n*-uplet vide s'il n'y avait pas d'argument positionnel en trop)."
#: reference/expressions.rst:977
msgid ""
@ -1524,8 +1525,8 @@ msgstr ""
"``expression`` doit pouvoir s'évaluer à un :term:`itérable <iterable>`. Les "
"éléments de ces itérables sont traités comme s'ils étaient des arguments "
"positionnels supplémentaires. Pour l'appel ``f(x1, x2, *y, x3, x4)``, si *y* "
"s'évalue comme une séquence *y1*, ..., *yM*, c'est équivalent à un appel "
"avec M+4 arguments positionnels *x1*, *x2*, *y1*, ..., *yM*, *x3*, *x4*."
"s'évalue comme une séquence *y1* … *yM*, c'est équivalent à un appel avec M"
"+4 arguments positionnels *x1*, *x2*, *y1* … *yM*, *x3*, *x4*."
#: reference/expressions.rst:995
msgid ""
@ -1534,9 +1535,9 @@ msgid ""
"arguments (and any ``**expression`` arguments -- see below). So::"
msgstr ""
"Une conséquence est que bien que la syntaxe ``*expression`` puisse "
"apparaître *après* les arguments par mots-clés explicites, ils sont traités "
"*avant* les arguments par mots-clés (et avant tout argument ``**expression`` "
"-- voir ci-dessous). Ainsi ::"
"apparaître *après* les arguments par nommés explicites, ils sont traités "
"*avant* les arguments nommés (et avant tout argument ``**expression`` -- "
"voir ci-dessous). Ainsi ::"
#: reference/expressions.rst:1011
msgid ""
@ -2012,10 +2013,10 @@ msgid ""
"z`` is equivalent to ``a op1 b and b op2 c and ... y opN z``, except that "
"each expression is evaluated at most once."
msgstr ""
"Formellement, si *a*, *b*, *c*, ..., *y*, *z* sont des expressions et *op1*, "
"*op2*, ..., *opN* sont des opérateurs de comparaison, alors ``a op1 b op2 "
"c ... y opN z`` est équivalent à ``a op1 b and b op2 c and ... y opN z``, "
"sauf que chaque expression est évaluée au maximum une fois."
"Formellement, si *a*, *b*, *c* *y*, *z* sont des expressions et *op1*, "
"*op2* *opN* sont des opérateurs de comparaison, alors ``a op1 b op2 c … y "
"opN z`` est équivalent à ``a op1 b and b op2 c and … y opN z``, sauf que "
"chaque expression est évaluée au maximum une fois."
#: reference/expressions.rst:1379
msgid ""
@ -2591,14 +2592,19 @@ msgid ""
"\"walrus\") assigns an :token:`expression` to an :token:`identifier`, while "
"also returning the value of the :token:`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`."
#: reference/expressions.rst:1666
msgid "One common use case is when handling matched regular expressions:"
msgstr ""
"Une utilisation classique concerne les correspondances d'expressions "
"rationnelles :"
#: reference/expressions.rst:1673
msgid "Or, when processing a file stream in chunks:"
msgstr ""
msgstr "Ou lorsqu'on traite le contenu d'un fichier par morceaux :"
#: reference/expressions.rst:1680
msgid "See :pep:`572` for more details about assignment expressions."
@ -2742,9 +2748,9 @@ msgstr ""
"Le tableau suivant résume les priorités des opérateurs en Python, du moins "
"prioritaire au plus prioritaire. Les opérateurs qui sont dans la même case "
"ont la même priorité. À moins que la syntaxe ne soit explicitement indiquée, "
"les opérateurs sont binaires. Les opérateurs dans la même cases regroupent "
"de la gauche vers la droite (sauf pour la puissance qui regroupe de la "
"droite vers la gauche)."
"les opérateurs sont binaires. Les opérateurs dans la même case regroupent de "
"la gauche vers la droite (sauf pour la puissance qui regroupe de la droite "
"vers la gauche)."
#: reference/expressions.rst:1818
msgid ""
@ -2786,7 +2792,7 @@ msgstr ":keyword:`if <if_expr>` -- :keyword:`!else`"
#: reference/expressions.rst:1830
msgid "Conditional expression"
msgstr "Expressions conditionnelle"
msgstr "Expressions conditionnelles"
#: reference/expressions.rst:1832
msgid ":keyword:`or`"
@ -2899,8 +2905,7 @@ msgstr ":keyword:`await` ``x``"
#: reference/expressions.rst:1862
msgid "``x[index]``, ``x[index:index]``, ``x(arguments...)``, ``x.attribute``"
msgstr ""
"``x[indice]``, ``x[indice:indice]``, ``x(arguments...)``, ``x.attribut``"
msgstr "``x[indice]``, ``x[indice:indice]``, ``x(arguments…)``, ``x.attribut``"
#: reference/expressions.rst:1862
msgid "Subscription, slicing, call, attribute reference"
@ -2908,11 +2913,11 @@ msgstr "indiçage, tranches, appel, référence à un attribut"
#: reference/expressions.rst:1865
msgid "``(expressions...)``,"
msgstr "``(expressions...)``,"
msgstr "``(expressions)``,"
#: reference/expressions.rst:1867
msgid "``[expressions...]``, ``{key: value...}``, ``{expressions...}``"
msgstr "``[expressions...]``, ``{key: value...}``, ``{expressions...}``"
msgstr "``[expressions…]``, ``{key: value…}``, ``{expressions…}``"
#: reference/expressions.rst:1865
msgid ""

View File

@ -6,7 +6,7 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-08-24 09:01+0200\n"
"PO-Revision-Date: 2018-10-05 08:42+0200\n"
"PO-Revision-Date: 2021-04-10 16:30+0200\n"
"Last-Translator: Julien Palard <julien@palard.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
@ -24,6 +24,10 @@ msgid ""
"generate the CPython parser (see :source:`Grammar/python.gram`). The version "
"here omits details related to code generation and error recovery."
msgstr ""
"Ceci est la grammaire complète de Python, issue directement de la grammaire "
"utilisée pour générer l'analyseur syntaxique CPython (voir :source:`Grammar/"
"python.gram`). La version ci-dessous ne comprend pas les détails relatifs à "
"la génération de code et la reprise sur erreur."
#: reference/grammar.rst:9
msgid ""
@ -35,6 +39,14 @@ msgid ""
"lookahead (i.e., is required _not_ to match). We use the ``|`` separator to "
"mean PEG's \"ordered choice\" (written as ``/`` in traditional PEG grammars)."
msgstr ""
"La notation est un mélange d'\\ `EBNF <https://fr.wikipedia.org/wiki/"
"Extended_Backus-Naur_Form>`_ et `PEG <https://fr.wikipedia.org/wiki/"
"Parser_packrat>`_. En particulier, ``&`` suivi par un symbole, jeton ou un "
"groupe entre parenthèses indique que l'avant recherche est positive (c.-à-d. "
"que cela doit correspondre mais que ce n'est pas consommé), alors que ``!`` "
"indique une avant-recherche négative (c.-à-d. que cela doit ne pas "
"correspondre). Nous utilisons le ``|`` pour séparer les « choix ordonnés » "
"des grammaires PEG (c'est ``/`` qui est utilisé classiquement)."
#~ msgid ""
#~ "This is the full Python grammar, as it is read by the parser generator "

View File

@ -6,7 +6,7 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-12-17 16:05+0100\n"
"PO-Revision-Date: 2020-05-30 22:05+0900\n"
"PO-Revision-Date: 2021-04-10 15:09+0200\n"
"Last-Translator: Samuel Giffard <samuel@giffard.co>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
@ -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,7 +187,7 @@ msgid ""
"module within that subpackage 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 des points (`.`), à l'instar de la syntaxe standard "
"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:"
@ -1299,7 +1298,6 @@ msgid "Cached bytecode invalidation"
msgstr "Invalidation de *bytecode* mis en cache"
#: reference/import.rst:683
#, fuzzy
msgid ""
"Before Python loads cached bytecode from a ``.pyc`` file, it checks whether "
"the cache is up-to-date with the source ``.py`` file. By default, Python "
@ -1692,7 +1690,6 @@ msgstr ""
"(attribut `loader`) défini, à une exception près."
#: reference/import.rst:859
#, fuzzy
msgid ""
"To indicate to the import machinery that the spec represents a namespace :"
"term:`portion`, the path entry finder sets \"submodule_search_locations\" to "
@ -1700,8 +1697,8 @@ msgid ""
msgstr ""
"Pour indiquer au mécanisme d'importation que le spécificateur représente "
"une :term:`portion <portion>` d'un espace de nommage, le chercheur d'entrée "
"dans *path* définit le chargeur du spécificateur à ``None`` et l'attribut "
"*submodule_search_locations* à une liste contenant la portion."
"dans *path* définit l'attribut *submodule_search_locations* à une liste "
"contenant la portion."
#: reference/import.rst:863
msgid ""
@ -1729,18 +1726,16 @@ msgstr ""
"les méthodes historiques sont ignorées."
#: reference/import.rst:874
#, fuzzy
msgid ""
":meth:`~importlib.abc.PathEntryFinder.find_loader` takes one argument, the "
"fully qualified name of the module being imported. ``find_loader()`` "
"returns a 2-tuple where the first item is the loader and the second item is "
"a namespace :term:`portion`."
msgstr ""
"La méthode :meth:`~importlib.abc.PathEntryFinder.find_spec` prend deux "
"arguments : le nom complètement qualifié du module en cours d'importation et "
"(optionnellement) le module cible. ``find_spec()`` renvoie un spécificateur "
"de module pleinement peuplé. Ce spécificateur doit avoir son chargeur "
"(attribut `loader`) défini, à une exception près."
"La méthode :meth:`~importlib.abc.PathEntryFinder.find_spec` prend un "
"argument : le nom complètement qualifié du module en cours d'importation. "
"\"``find_loader()`` renvoie un couple dont le premier élément est le "
"chargeur et le second est une :term:`portion <portion>` d'espace de nommage."
#: reference/import.rst:879
msgid ""

View File

@ -6,7 +6,7 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-10-01 16:00+0200\n"
"PO-Revision-Date: 2020-06-05 17:39+0900\n"
"PO-Revision-Date: 2021-04-10 17:40+0200\n"
"Last-Translator: Samuel Giffard <samuel@giffard.co>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
@ -141,11 +141,11 @@ msgstr ""
"de cette expression désigne l'encodage du fichier source. Cette déclaration "
"d'encodage doit être seule sur sa ligne et, si elle est sur la deuxième "
"ligne, la première ligne doit aussi être une ligne composée uniquement d'un "
"commentaire. Les formes recommandées pour l'expression de l'encodage sont ::"
"commentaire. Les formes recommandées pour l'expression de l'encodage sont ::"
#: reference/lexical_analysis.rst:93
msgid "which is recognized also by GNU Emacs, and ::"
msgstr "qui est reconnue aussi par GNU Emacs et ::"
msgstr "qui est reconnue aussi par GNU Emacs et ::"
#: reference/lexical_analysis.rst:97
msgid "which is recognized by Bram Moolenaar's VIM."
@ -527,13 +527,12 @@ msgid "*Pc* - connector punctuations"
msgstr "*Pc* — connecteurs (tirets et autres lignes)"
#: reference/lexical_analysis.rst:318
#, fuzzy
msgid ""
"*Other_ID_Start* - explicit list of characters in `PropList.txt <https://www."
"unicode.org/Public/13.0.0/ucd/PropList.txt>`_ to support backwards "
"compatibility"
msgstr ""
"*Other_ID_Start* — liste explicite des caractères de `PropList.txt <http://"
"*Other_ID_Start* — liste explicite des caractères de `PropList.txt <https://"
"www.unicode.org/Public/12.1.0/ucd/PropList.txt>`_ pour la compatibilité "
"descendante"
@ -752,9 +751,9 @@ msgid ""
"simplify the maintenance of dual Python 2.x and 3.x codebases. See :pep:"
"`414` for more information."
msgstr ""
"le support du préfixe historique pour les chaînes Unicode a été réintroduit "
"afin de simplifier la maintenance de code compatible Python 2.x et 3.x. Voir "
"la :pep:`414` pour davantage d'informations."
"la gestion du préfixe historique pour les chaînes Unicode (``u'chaine'``) a "
"été réintroduite afin de simplifier la maintenance de code compatible Python "
"2.x et 3.x. Voir la :pep:`414` pour davantage d'informations."
#: reference/lexical_analysis.rst:488
msgid ""
@ -1124,7 +1123,6 @@ msgstr ""
"au contenu de la chaîne de caractères est :"
#: reference/lexical_analysis.rst:672
#, fuzzy
msgid ""
"The parts of the string outside curly braces are treated literally, except "
"that any doubled curly braces ``'{{'`` or ``'}}'`` are replaced with the "
@ -1140,9 +1138,11 @@ msgstr ""
"littéraux, sauf les doubles accolades ``'{{'`` ou ``'}}'`` qui sont "
"remplacées par la simple accolade correspondante. Une simple accolade "
"ouvrante ``'{'`` marque le début du champ à remplacer, qui commence par une "
"expression Python. Après l'expression, il peut y avoir un champ de "
"expression Python. Pour afficher à la fois le texte de l'expression et sa "
"valeur une fois évaluée (utile lors du débogage), un signe égal ``'='`` peut "
"être ajouté après l'expression. Ensuite, il peut y avoir un champ de "
"conversion, introduit par un point d'exclamation ``'!'``. Une spécification "
"de format peut aussi être ajoutée, introduite par le caractère deux-points "
"de format peut aussi être rajoutée, introduite par le caractère deux-points "
"``':'``. Le champ à remplacer se termine par une accolade fermante ``'}'``."
#: reference/lexical_analysis.rst:682
@ -1186,10 +1186,17 @@ msgid ""
"it defaults to the :func:`str` of the expression unless a conversion ``'!"
"r'`` is declared."
msgstr ""
"Lorsqu'un signe égal ``'='`` est présent, la sortie comprend le texte de "
"l'expression, le signe ``'='`` et la valeur calculée. Les espaces après "
"l'accolade ouvrante ``'{'``, dans l'expression et après le signe ``'='`` "
"sont conservées à l'affichage. Par défaut, le signe ``'='`` utilise la :func:"
"`repr` de l'expression, sauf si un format est indiqué. Quand le format est "
"indiqué, c'est :func:`str` de l'expression qui est utilisée à moins qu'une "
"conversion ``!r`` ne soit déclarée."
#: reference/lexical_analysis.rst:704
msgid "The equal sign ``'='``."
msgstr ""
msgstr "le signe égal ``'='``."
#: reference/lexical_analysis.rst:707
msgid ""
@ -1217,7 +1224,6 @@ msgstr ""
"inclus dans la valeur finale de la chaîne complète."
#: reference/lexical_analysis.rst:717
#, fuzzy
msgid ""
"Top-level format specifiers may include nested replacement fields. These "
"nested fields may include their own conversion fields and :ref:`format "
@ -1230,7 +1236,7 @@ msgstr ""
"conversion et :ref:`spécifications de format <formatspec>` mais "
"l'imbrication ne doit pas aller plus profond. Le :ref:`mini-langage de "
"spécification de format <formatspec>` est le même que celui utilisé par la "
"méthode ``.format()`` du type ``str``."
"méthode :meth:`str.format`."
#: reference/lexical_analysis.rst:723
msgid ""
@ -1465,6 +1471,5 @@ msgid "Footnotes"
msgstr "Notes"
#: reference/lexical_analysis.rst:964
#, fuzzy
msgid "https://www.unicode.org/Public/11.0.0/ucd/NameAliases.txt"
msgstr "http://www.unicode.org/Public/11.0.0/ucd/NameAliases.txt"
msgstr "https://www.unicode.org/Public/11.0.0/ucd/NameAliases.txt"

View File

@ -6,7 +6,7 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-03-19 16:59+0100\n"
"PO-Revision-Date: 2019-12-13 16:57+0100\n"
"PO-Revision-Date: 2021-04-10 17:08+0200\n"
"Last-Translator: Antoine <antoine.venier@hotmail.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
@ -574,13 +574,13 @@ msgstr ""
#: reference/simple_stmts.rst:391
msgid "The simple form, ``assert expression``, is equivalent to ::"
msgstr "La forme la plus simple, ``assert expression``, est équivalente à ::"
msgstr "La forme la plus simple, ``assert expression``, est équivalente à ::"
#: reference/simple_stmts.rst:396
msgid ""
"The extended form, ``assert expression1, expression2``, is equivalent to ::"
msgstr ""
"La forme étendue, ``assert expression1, expression2``, est équivalente à ::"
"La forme étendue, ``assert expression1, expression2``, est équivalente à ::"
#: reference/simple_stmts.rst:405
msgid ""
@ -758,11 +758,11 @@ msgstr ""
"`expression yield <yieldexpr>`. L'instruction *yield* peut être utilisée "
"pour omettre les parenthèses qui seraient autrement requises dans "
"l'instruction équivalente d'expression *yield*. Par exemple, les "
"instructions *yield* ::"
"instructions *yield* ::"
#: reference/simple_stmts.rst:539
msgid "are equivalent to the yield expression statements ::"
msgstr "sont équivalentes aux instructions expressions *yield* ::"
msgstr "sont équivalentes aux instructions expressions *yield* ::"
#: reference/simple_stmts.rst:544
msgid ""
@ -1244,13 +1244,12 @@ msgid "other future statements."
msgstr "d'autres instructions *future*."
#: reference/simple_stmts.rst:877
#, fuzzy
msgid ""
"The only feature that requires using the future statement is ``annotations`` "
"(see :pep:`563`)."
msgstr ""
"La seule fonctionnalité dans Python 3.7 qui nécessite l'utilisation de "
"l'instruction `future` est ``annotations``."
"La seule fonctionnalité qui nécessite l'utilisation de l'instruction "
"`future` est ``annotations`` (voir la :pep:`563`)."
#: reference/simple_stmts.rst:880
msgid ""

View File

@ -6,7 +6,7 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-02-24 17:33+0100\n"
"PO-Revision-Date: 2021-02-23 16:47+0100\n"
"PO-Revision-Date: 2021-04-09 22:48+0200\n"
"Last-Translator: Jules Lasne <jules.lasne@gmail.com>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
@ -343,7 +343,6 @@ msgstr ""
"englobantes, désignées dans une instruction :keyword:`nonlocal`)."
#: tutorial/controlflow.rst:294
#, fuzzy
msgid ""
"The actual parameters (arguments) to a function call are introduced in the "
"local symbol table of the called function when it is called; thus, arguments "
@ -356,8 +355,9 @@ msgstr ""
"table des symboles locaux de la fonction appelée, au moment où elle est "
"appelée ; par conséquent, les passages de paramètres se font *par valeur*, "
"la *valeur* étant toujours une *référence* à un objet et non la valeur de "
"l'objet lui-même [#]_. Lorsqu'une fonction appelle une autre fonction, une "
"nouvelle table de symboles locaux est créée pour cet appel."
"l'objet lui-même [#]_. Lorsqu'une fonction appelle une autre fonction, ou "
"s'appelle elle-même par récursion, une nouvelle table de symboles locaux est "
"créée pour cet appel."
#: tutorial/controlflow.rst:301
msgid ""