diff --git a/reference/compound_stmts.po b/reference/compound_stmts.po index d1ff163c..cfa978c5 100644 --- a/reference/compound_stmts.po +++ b/reference/compound_stmts.po @@ -5,15 +5,15 @@ msgid "" msgstr "" "Project-Id-Version: Python 3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-10-21 15:04+0200\n" -"PO-Revision-Date: 2021-09-07 16:58+0200\n" +"POT-Creation-Date: 2021-09-23 16:16+0200\n" +"PO-Revision-Date: 2021-10-23 20:49+0200\n" "Last-Translator: Jean Abou Samra \n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.4.1\n" +"X-Generator: Poedit 2.4.2\n" #: reference/compound_stmts.rst:5 msgid "Compound statements" @@ -43,7 +43,7 @@ msgid "" msgstr "" "Les instructions :keyword:`if`, :keyword:`while` et :keyword:`for` " "implémentent les constructions classiques de contrôle de flux. :keyword:" -"`try` spécifie des gestionnaires d'exception et du code de nettoyage pour un " +"`try` définit des gestionnaires d'exception et du code de nettoyage pour un " "groupe d'instructions, tandis que l'instruction :keyword:`with` permet " "l'exécution de code d'initialisation et de finalisation autour d'un bloc de " "code. Les définitions de fonctions et de classes sont également, au sens " @@ -289,7 +289,7 @@ msgid "" "The :keyword:`try` statement specifies exception handlers and/or cleanup " "code for a group of statements:" msgstr "" -"L'instruction :keyword:`try` spécifie les gestionnaires d'exception ou le " +"L'instruction :keyword:`try` définit les gestionnaires d'exception ou le " "code de nettoyage pour un groupe d'instructions :" #: reference/compound_stmts.rst:249 @@ -307,7 +307,7 @@ msgid "" "tuple containing an item that is the class or a base class of the exception " "object." msgstr "" -"La ou les clauses :keyword:`except` spécifient un ou plusieurs gestionnaires " +"La ou les clauses :keyword:`except` précisent un ou plusieurs gestionnaires " "d'exceptions. Si aucune exception ne se produit dans la clause :keyword:" "`try`, aucun gestionnaire d'exception n'est exécuté. Lorsqu'une exception se " "produit dans la suite de :keyword:`!try`, Python recherche un gestionnaire " @@ -356,14 +356,14 @@ msgid "" "exception.)" msgstr "" "Lorsqu'une clause d'exception correspond, l'exception est assignée à la " -"cible spécifiée après le mot-clé :keyword:`!as` dans cette clause " -"``except``, si cette cible existe, et la suite de clause ``except`` est " -"exécutée. Toutes les clauses ``except`` doivent avoir un bloc exécutable. " -"Lorsque la fin de ce bloc est atteinte, l'exécution continue normalement " -"après l'ensemble de l'instruction ``try`` (cela signifie que si deux " -"gestionnaires imbriqués existent pour la même exception, et que l'exception " -"se produit dans la clause ``try`` du gestionnaire interne, le gestionnaire " -"externe ne gère pas l'exception)." +"cible précisée après le mot-clé :keyword:`!as` dans cette clause ``except``, " +"si cette cible existe, et la suite de clause ``except`` est exécutée. Toutes " +"les clauses ``except`` doivent avoir un bloc exécutable. Lorsque la fin de " +"ce bloc est atteinte, l'exécution continue normalement après l'ensemble de " +"l'instruction ``try`` (cela signifie que si deux gestionnaires imbriqués " +"existent pour la même exception, et que l'exception se produit dans la " +"clause ``try`` du gestionnaire interne, le gestionnaire externe ne gère pas " +"l'exception)." #: reference/compound_stmts.rst:279 msgid "" @@ -393,7 +393,6 @@ msgstr "" "jusqu'au passage du ramasse-miettes." #: reference/compound_stmts.rst:302 -#, fuzzy msgid "" "Before an except clause's suite is executed, details about the exception are " "stored in the :mod:`sys` module and can be accessed via :func:`sys." @@ -406,11 +405,11 @@ msgstr "" "Avant l'exécution de la suite d'une clause ``except``, les détails de " "l'exception sont stockés dans le module :mod:`sys` et sont accessibles " "*via* :func:`sys.exc_info`. :func:`sys.exc_info` renvoie un triplet composé " -"de la classe de l'exception, de l'instance d'exception et d'un objet trace " -"(voir la section :ref:`types`) identifiant le point du programme où " -"l'exception est survenue. Les valeurs de :func:`sys.exc_info` sont remises à " -"leurs anciennes valeurs (celles d'avant l'appel) au retour d'une fonction " -"qui a géré une exception." +"de la classe de l'exception, de l'instance de l'exception et d'un objet " +"trace (voir la section :ref:`types`) qui identifie l'endroit du programme où " +"l'exception est survenue. Les détails de l’exception accessibles par :func:" +"`sys.exc_info` sont remis à leurs valeurs d’origine en sortant du " +"gestionnaire d’exception ::" #: reference/compound_stmts.rst:334 msgid "" @@ -439,7 +438,7 @@ msgid "" "`return`, :keyword:`break` or :keyword:`continue` statement, the saved " "exception is discarded::" msgstr "" -"Si :keyword:`finally` est présente, elle spécifie un gestionnaire de " +"Si :keyword:`finally` est présente, elle définit un gestionnaire de " "« nettoyage ». La clause :keyword:`try` est exécutée, y compris les clauses :" "keyword:`except` et :keyword:`!else`. Si une exception se produit dans l'une " "des clauses et n'est pas traitée, l'exception est temporairement " @@ -637,16 +636,22 @@ msgid "" "You can also write multi-item context managers in multiple lines if the " "items are surrounded by parentheses. For example::" msgstr "" +"Vous pouvez aussi écrire des gestionnaires de contexte sur plusieurs lignes " +"pour plus d'un élément si ceux-ci sont placés entre parenthèses. Par " +"exemple ::" #: reference/compound_stmts.rst:502 msgid "Support for multiple context expressions." msgstr "Prise en charge de multiples expressions de contexte." +# Pas de majuscule car après un : #: reference/compound_stmts.rst:505 msgid "" "Support for using grouping parentheses to break the statement in multiple " "lines." msgstr "" +"prise en charge des parenthèses pour pouvoir écrire l'instruction sur " +"plusieurs lignes." #: reference/compound_stmts.rst:511 msgid ":pep:`343` - The \"with\" statement" @@ -661,19 +666,23 @@ msgstr "" "`with` en Python." #: reference/compound_stmts.rst:517 -#, fuzzy msgid "The :keyword:`!match` statement" -msgstr "L'instruction :keyword:`!with`" +msgstr "L'instruction :keyword:`!match`" #: reference/compound_stmts.rst:530 msgid "The match statement is used for pattern matching. Syntax:" msgstr "" +"L'instruction *match* est utilisée pour le filtrage par motif. Sa syntaxe " +"est :" +# Pas de majuscule car après un : #: reference/compound_stmts.rst:539 msgid "" "This section uses single quotes to denote :ref:`soft keywords `." msgstr "" +"cette section utilise les guillemets simples pour désigner les :ref:`mots-" +"clés ad-hoc `." #: reference/compound_stmts.rst:542 msgid "" @@ -681,37 +690,49 @@ msgid "" "value (following ``match``). The pattern (which may contain subpatterns) is " "matched against the subject value. The outcomes are:" msgstr "" +"Le filtrage par motif prend un motif en entrée (``pattern`` après ``case``) " +"et un champ de recherche (``subject_expr`` après ``match``). Le motif du " +"filtre (qui peut contenir des sous-motifs de filtrage) est confronté au " +"contenu du champ de recherche. La sortie est composée de :" +# énumération #: reference/compound_stmts.rst:546 msgid "A match success or failure (also termed a pattern success or failure)." msgstr "" +"un indicateur de réussite ou d'échec pour le filtrage (on peut aussi dire " +"que le motif a réussi ou échoué) ;" +# énumération #: reference/compound_stmts.rst:548 msgid "" "Possible binding of matched values to a name. The prerequisites for this " "are further discussed below." msgstr "" +"la possibilité de lier les valeurs filtrées à un nom. Les pré-requis sont " +"indiqués plus bas." #: reference/compound_stmts.rst:551 msgid "" "The ``match`` and ``case`` keywords are :ref:`soft keywords `." msgstr "" +"Les mots-clés ``match`` et ``case`` sont des :ref:`mots-clés ad-hoc `." #: reference/compound_stmts.rst:555 reference/compound_stmts.rst:1109 msgid ":pep:`634` -- Structural Pattern Matching: Specification" -msgstr "" +msgstr ":pep:`634` — Spécifications pour le filtrage par motif" #: reference/compound_stmts.rst:556 reference/compound_stmts.rst:1110 msgid ":pep:`636` -- Structural Pattern Matching: Tutorial" -msgstr "" +msgstr ":pep:`636` — Tutoriel pour le filtrage par motif" #: reference/compound_stmts.rst:560 msgid "Overview" -msgstr "" +msgstr "Aperçu" #: reference/compound_stmts.rst:562 msgid "Here's an overview of the logical flow of a match statement:" -msgstr "" +msgstr "Voici un aperçu du déroulement logique d'un filtrage par motif :" #: reference/compound_stmts.rst:565 msgid "" @@ -719,6 +740,10 @@ msgid "" "value obtained. If the subject expression contains a comma, a tuple is " "constructed using :ref:`the standard rules `." msgstr "" +"L'expression confrontée aux filtres, ``subject_expr``, est évaluée pour " +"obtenir la valeur résultante. Si l'expression contient une virgule, un *n*-" +"uplet est construit en utilisant les :ref:`règles classiques `." #: reference/compound_stmts.rst:569 msgid "" @@ -729,7 +754,16 @@ msgid "" "specified below. **Name bindings made during a successful pattern match " "outlive the executed block and can be used after the match statement**." msgstr "" +"Chaque filtre des blocs ``case_block`` est confronté à la valeur résultante " +"du champ de recherche. Les règles particulières pour la réussite ou l'échec " +"sont décrites plus bas. La confrontation du filtre peut aussi conduire à " +"lier un ou plusieurs noms présents dans le motif. Les règles pour lier les " +"noms des motifs dépendent du type de filtre et sont décrites plus bas. **Le " +"nommage effectué lors d'un filtrage par motif qui a réussi persiste à " +"l'extérieur du bloc et le nom peut être utilisé après l'instruction** " +"``match``." +# Pas de majuscule car après ':' #: reference/compound_stmts.rst:578 msgid "" "During failed pattern matches, some subpatterns may succeed. Do not rely on " @@ -738,47 +772,64 @@ msgid "" "dependent on implementation and may vary. This is an intentional decision " "made to allow different implementations to add optimizations." msgstr "" +"en cas d'échec de la recherche, certains sous-filtres peuvent avoir réussi. " +"Ne vous fiez pas aux nommages faits lors d'un filtrage qui a échoué. " +"Inversement, ne vous fiez pas aux variables qui restent inchangées après un " +"filtrage infructueux. Le comportement exact dépend de l'implémentation et " +"peut varier. Il s'agit d'un choix intentionnel afin de permettre aux " +"implémentations d'ajouter des optimisations." #: reference/compound_stmts.rst:585 msgid "" "If the pattern succeeds, the corresponding guard (if present) is evaluated. " "In this case all name bindings are guaranteed to have happened." msgstr "" +"Si la recherche réussit, la garde correspondante (si elle existe) est " +"évaluée. Dans ce cas, on est sûr que les nommages ont bien eu lieu." #: reference/compound_stmts.rst:588 msgid "" "If the guard evaluates as true or is missing, the ``block`` inside " "``case_block`` is executed." msgstr "" +"Si la garde s'évalue à vrai ou s'il n'y a pas de garde, le ``block`` à " +"l'intérieur du ``case_block`` est exécuté." #: reference/compound_stmts.rst:591 msgid "Otherwise, the next ``case_block`` is attempted as described above." -msgstr "" +msgstr "Sinon, le ``case_block`` est testé comme décrit ci-dessus." #: reference/compound_stmts.rst:593 msgid "If there are no further case blocks, the match statement is completed." -msgstr "" +msgstr "S'il n'y a plus de bloc ``case_block``, l'instruction est terminée." +# Pas de majuscule car après ':' #: reference/compound_stmts.rst:597 msgid "" "Users should generally never rely on a pattern being evaluated. Depending " "on implementation, the interpreter may cache values or use other " "optimizations which skip repeated evaluations." msgstr "" +"l'utilisateur ne doit jamais faire confiance à un filtre en cours " +"d'évaluation. En fonction de l'implémentation, l'interpréteur peut mettre " +"des valeurs en cache ou utiliser des optimisations qui évitent des " +"réévaluations." #: reference/compound_stmts.rst:601 msgid "A sample match statement::" -msgstr "" +msgstr "Voici un exemple d'instruction de filtrage par motif ::" #: reference/compound_stmts.rst:617 msgid "" "In this case, ``if flag`` is a guard. Read more about that in the next " "section." msgstr "" +"Dans cet exemple, ``if flag`` est une garde. Plus de détails sont fournis " +"dans la prochaine section." #: reference/compound_stmts.rst:620 msgid "Guards" -msgstr "" +msgstr "Gardes" #: reference/compound_stmts.rst:627 msgid "" @@ -786,10 +837,15 @@ msgid "" "``case`` block to execute. It takes the form: :keyword:`if` followed by an " "expression." msgstr "" +"Une garde (``guard`` qui fait partie du ``case``) doit s'évaluer à vrai pour " +"que le code à l'intérieur du bloc ``case`` soit exécuté. Elle s'écrit sous " +"la forme du mot-clé :keyword:`if` suivi d'une expression." #: reference/compound_stmts.rst:632 msgid "The logical flow of a ``case`` block with a ``guard`` follows:" msgstr "" +"Le déroulement logique d'un bloc ``case`` qui comprend une garde est le " +"suivant :" #: reference/compound_stmts.rst:634 msgid "" @@ -797,27 +853,32 @@ msgid "" "failed, the ``guard`` is not evaluated and the next ``case`` block is " "checked." msgstr "" +"Vérification que le filtrage dans le bloc ``case`` est fructueux. Si le " +"filtrage échoue, la garde n'est pas évaluée et on passe au bloc ``case`` " +"suivant." #: reference/compound_stmts.rst:638 msgid "If the pattern succeeded, evaluate the ``guard``." -msgstr "" +msgstr "Si le filtrage est fructueux, évaluation de la garde." #: reference/compound_stmts.rst:640 msgid "" "If the ``guard`` condition evaluates as true, the case block is selected." -msgstr "" +msgstr "Si la garde s'évalue à *vrai*, le bloc est sélectionné." #: reference/compound_stmts.rst:643 msgid "" "If the ``guard`` condition evaluates as false, the case block is not " "selected." -msgstr "" +msgstr "Si la garde s'évalue à *faux*, le bloc n'est pas sélectionné." #: reference/compound_stmts.rst:646 msgid "" "If the ``guard`` raises an exception during evaluation, the exception " "bubbles up." msgstr "" +"Si une exception est levée lors de l'évaluation de la garde, cette exception " +"est propagée." #: reference/compound_stmts.rst:649 msgid "" @@ -827,16 +888,24 @@ msgid "" "evaluation must happen in order.) Guard evaluation must stop once a case " "block is selected." msgstr "" +"Les gardes étant des expressions, il est possible qu'elles aient des effets " +"secondaires. L'ordre d'évaluation des gardes est du premier au dernier bloc " +"``case``, un à la fois, en sautant les blocs ``case`` dont la recherche de " +"motif échouent. L'évaluation des gardes s'arrête dès qu'un bloc ``case`` est " +"sélectionné." #: reference/compound_stmts.rst:659 msgid "Irrefutable Case Blocks" -msgstr "" +msgstr "Bloc ``case`` attrape-tout" #: reference/compound_stmts.rst:663 msgid "" "An irrefutable case block is a match-all case block. A match statement may " "have at most one irrefutable case block, and it must be last." msgstr "" +"Un bloc ``case`` attrape-tout est un bloc qui réussit toujours. Une " +"instruction ``match`` ne peut avoir qu'un seul bloc attrape-tout, et ce doit " +"être le dernier." #: reference/compound_stmts.rst:666 msgid "" @@ -845,46 +914,53 @@ msgid "" "syntax alone that it will always succeed. Only the following patterns are " "irrefutable:" msgstr "" +"Un bloc ``case`` est considéré attrape-tout s'il n'y a pas de garde et que " +"le motif est attrape-tout. Un motif est attrape-tout si l'on peut " +"déterminer, simplement à partir de sa syntaxe, qu'il correspond toujours. " +"Seuls les motifs suivants sont attrape-tout :" #: reference/compound_stmts.rst:671 msgid ":ref:`as-patterns` whose left-hand side is irrefutable" -msgstr "" +msgstr "Les :ref:`as-patterns` pour lesquels la partie gauche est attrape-tout" #: reference/compound_stmts.rst:673 msgid ":ref:`or-patterns` containing at least one irrefutable pattern" -msgstr "" +msgstr "Les :ref:`or-patterns` contenant au moins un filtre attrape-tout" #: reference/compound_stmts.rst:675 msgid ":ref:`capture-patterns`" -msgstr "" +msgstr "Les :ref:`capture-patterns`" #: reference/compound_stmts.rst:677 msgid ":ref:`wildcard-patterns`" -msgstr "" +msgstr "Les :ref:`wildcard-patterns`" #: reference/compound_stmts.rst:679 msgid "parenthesized irrefutable patterns" -msgstr "" +msgstr "les filtres attrape-tout entre parenthèses" #: reference/compound_stmts.rst:683 msgid "Patterns" -msgstr "" +msgstr "Filtres" #: reference/compound_stmts.rst:690 msgid "This section uses grammar notations beyond standard EBNF:" msgstr "" +"Cette section utilise des notations grammaticales qui ne font pas partie du " +"standard EBNF :" #: reference/compound_stmts.rst:692 msgid "the notation ``SEP.RULE+`` is shorthand for ``RULE (SEP RULE)*``" -msgstr "" +msgstr "la notation ``SEP.REGLE+`` désigne ``REGLE (SEP REGLE)*``" #: reference/compound_stmts.rst:694 msgid "the notation ``!RULE`` is shorthand for a negative lookahead assertion" msgstr "" +"la notation ``!REGLE`` désigne la négation logique de l'assertion ``REGLE``" #: reference/compound_stmts.rst:697 msgid "The top-level syntax for ``patterns`` is:" -msgstr "" +msgstr "La syntaxe générale pour les filtres ``patterns`` est :" #: reference/compound_stmts.rst:711 msgid "" @@ -895,22 +971,33 @@ msgid "" "the underlying implementation. Furthermore, they do not cover all valid " "forms." msgstr "" +"Les explications ci-dessous décrivent « en termes simples » ce qu'un modèle " +"fait (merci à Raymond Hettinger pour son document qui a inspiré la plupart " +"des descriptions). Notez que ces descriptions sont purement à fin " +"d'illustration et peuvent ne **pas** être strictement conformes à " +"l'implémentation sous-jacente. De plus, nous ne couvrons pas toutes les " +"formes valides." #: reference/compound_stmts.rst:721 msgid "OR Patterns" -msgstr "" +msgstr "Filtres OU" #: reference/compound_stmts.rst:723 msgid "" "An OR pattern is two or more patterns separated by vertical bars ``|``. " "Syntax:" msgstr "" +"Un filtre OU est composé de deux filtres ou plus séparés par des barres " +"verticales ``|``. La syntaxe est :" #: reference/compound_stmts.rst:729 msgid "" "Only the final subpattern may be :ref:`irrefutable `, and " "each subpattern must bind the same set of names to avoid ambiguity." msgstr "" +"Seul le dernier sous-filtre peut être :ref:`attrape-tout ` " +"et chaque sous-filtre doit être lié au même ensemble de noms pour éviter " +"toute ambigüité." #: reference/compound_stmts.rst:732 msgid "" @@ -918,6 +1005,9 @@ msgid "" "until one succeeds. The OR pattern is then considered successful. " "Otherwise, if none of the subpatterns succeed, the OR pattern fails." msgstr "" +"Un filtre OU confronte chacun des sous-filtres à tour de rôle à la valeur du " +"champ de recherche, jusqu'à ce que l'un d'eux réussisse. Le filtre OU " +"réussit si l'un des sous-filtres a réussi, sinon il échoue." #: reference/compound_stmts.rst:736 msgid "" @@ -925,16 +1015,21 @@ msgid "" "will try to match ``P2``, succeeding immediately if any succeeds, failing " "otherwise." msgstr "" +"En termes plus simples, ``M1 | M2 | ...`` teste le filtre par motif ``M1``, " +"s'il échoue il teste le filtre par motif ``M2``, réussit immédiatement si " +"l'un d'eux réussit, échoue dans le cas contraire." #: reference/compound_stmts.rst:742 msgid "AS Patterns" -msgstr "" +msgstr "Filtres AS" #: reference/compound_stmts.rst:744 msgid "" "An AS pattern matches an OR pattern on the left of the :keyword:`as` keyword " "against a subject. Syntax:" msgstr "" +"Un filtre AS confronte un filtre OU sur la gauche du mot-clé :keyword:`as` " +"au champ de recherche. La syntaxe est la suivante :" #: reference/compound_stmts.rst:750 msgid "" @@ -942,22 +1037,29 @@ msgid "" "binds the subject to the name on the right of the as keyword and succeeds. " "``capture_pattern`` cannot be a a ``_``." msgstr "" +"Si le filtre OU échoue, le filtre AS échoue. Sinon, le filtre AS lie le " +"champ de recherche au nom sur la droite du mot-clé `as` et réussit. " +"``capture_pattern`` ne peut pas être un ``_``." #: reference/compound_stmts.rst:754 msgid "" "In simple terms ``P as NAME`` will match with ``P``, and on success it will " "set ``NAME = ``." msgstr "" +"En termes simples, ``M as NOM`` filtre avec le motif ``M`` et, s'il réussit, " +"définit ``NOM = ``." #: reference/compound_stmts.rst:761 msgid "Literal Patterns" -msgstr "" +msgstr "Filtres littéraux" #: reference/compound_stmts.rst:763 msgid "" "A literal pattern corresponds to most :ref:`literals ` in Python. " "Syntax:" msgstr "" +"Un filtre littéral effectue une correspondance avec la plupart des :ref:" +"`littéraux ` en Python. La syntaxe est la suivante :" #: reference/compound_stmts.rst:776 msgid "" @@ -966,6 +1068,10 @@ msgid "" "supported. Raw strings and byte strings are supported. :ref:`f-strings` " "are not supported." msgstr "" +"La règle ``strings`` et le lexème ``NUMBER`` sont définis dans :doc:`la " +"grammaire de Python standard <./grammar>`. Les chaînes avec triples " +"guillemets sont gérées. Les chaînes brutes et les chaînes d'octets sont " +"gérées. Les :ref:`f-strings` ne sont pas gérées." #: reference/compound_stmts.rst:781 msgid "" @@ -973,6 +1079,10 @@ msgid "" "for expressing :ref:`complex numbers `; they require a real " "number on the left and an imaginary number on the right. E.g. ``3 + 4j``." msgstr "" +"Les formes ``signed_number '+' NUMBER`` et ``signed_number '-' NUMBER`` " +"permettent d'exprimer des :ref:`nombres complexes ` ; vous devez " +"indiquer un nombre réel sur la gauche et un nombre imaginaire sur la droite. " +"Par exemple, ``3 + 4j``." #: reference/compound_stmts.rst:785 msgid "" @@ -980,26 +1090,37 @@ msgid "" "For the singletons ``None``, ``True`` and ``False``, the :keyword:`is` " "operator is used." msgstr "" +"En termes simples, ``LITERAL`` réussit seulement si `` == " +"LITERAL``. Pour les singletons ``None``, ``True`` et ``False``, l'opérateur :" +"keyword:`is` est utilisé." #: reference/compound_stmts.rst:791 msgid "Capture Patterns" -msgstr "" +msgstr "Filtres de capture" #: reference/compound_stmts.rst:793 msgid "A capture pattern binds the subject value to a name. Syntax:" msgstr "" +"Un filtre de capture lie la valeur du champ de recherche à un nom. La " +"syntaxe est la suivante :" #: reference/compound_stmts.rst:799 msgid "" "A single underscore ``_`` is not a capture pattern (this is what ``!'_'`` " "expresses). It is instead treated as a :token:`wildcard_pattern`." msgstr "" +"Un simple caractère souligné ``_`` n'est pas un filtre de capture (c'est ce " +"que ``!'_'`` veut dire). C'est le motif pour désigner un filtre attrape-tout " +"(lexème :token:`wilcard_pattern`, voir plus bas)." #: reference/compound_stmts.rst:802 msgid "" "In a given pattern, a given name can only be bound once. E.g. ``case x, " "x: ...`` is invalid while ``case [x] | x: ...`` is allowed." msgstr "" +"Dans un filtre donné, un nom ne peut être lié qu'une seule fois. Par " +"exemple, ``case x, x: ...`` est invalide mais ``case [x] | x: ...`` est " +"autorisé." #: reference/compound_stmts.rst:805 msgid "" @@ -1008,22 +1129,30 @@ msgid "" "becomes a local variable in the closest containing function scope unless " "there's an applicable :keyword:`global` or :keyword:`nonlocal` statement." msgstr "" +"Les filtres de capture réussissent toujours. La portée du lien est conforme " +"aux règles définies pour l'opérateur d'assignation indiquées dans la :pep:" +"`572` ; le nom devient une variable locale dans la fonction la plus " +"intérieure à moins qu'il n'y ait une instruction :keyword:`global` ou :" +"keyword:`nonlocal` qui s'applique." #: reference/compound_stmts.rst:810 msgid "" "In simple terms ``NAME`` will always succeed and it will set ``NAME = " "``." msgstr "" +"En termes simples, ``NAME`` réussit toujours et définit ``NAME = ``." #: reference/compound_stmts.rst:815 msgid "Wildcard Patterns" -msgstr "" +msgstr "Filtres attrape-tout" #: reference/compound_stmts.rst:817 msgid "" "A wildcard pattern always succeeds (matches anything) and binds no name. " "Syntax:" msgstr "" +"Un filtre attrape-tout réussit toujours (quel que soit le champ de " +"recherche) et ne lie aucun nom. La syntaxe est la suivante :" #: reference/compound_stmts.rst:823 msgid "" @@ -1031,18 +1160,24 @@ msgid "" "within patterns. It is an identifier, as usual, even within ``match`` " "subject expressions, ``guard``\\ s, and ``case`` blocks." msgstr "" +"``_`` est un :ref:`mot-clé ad-hoc ` dans un filtre par motif, " +"mais seulement dans un filtre. Ailleurs, c'est un identifiant, comme " +"d'habitude, même à l'intérieur d'une expression champ de recherche de " +"``match``, d'une garde ou d'un bloc ``case``." #: reference/compound_stmts.rst:827 msgid "In simple terms, ``_`` will always succeed." -msgstr "" +msgstr "En termes simples, ``_`` réussit toujours." #: reference/compound_stmts.rst:832 msgid "Value Patterns" -msgstr "" +msgstr "Filtres par valeurs" #: reference/compound_stmts.rst:834 msgid "A value pattern represents a named value in Python. Syntax:" msgstr "" +"Un filtre par valeur représente une valeur nommée de Python. Sa syntaxe est " +"la suivante :" #: reference/compound_stmts.rst:842 msgid "" @@ -1050,13 +1185,20 @@ msgid "" "resolution rules `. The pattern succeeds if the value found " "compares equal to the subject value (using the ``==`` equality operator)." msgstr "" +"Le nom qualifié dans le filtre est recherché en utilisant la :ref:`méthode " +"de résolution des noms ` standard de Python. Le filtrage " +"réussit si la valeur trouvée vérifie l'égalité avec la valeur du champ de " +"recherche (en utilisant l'opérateur d'égalité ``==``)." #: reference/compound_stmts.rst:847 msgid "" "In simple terms ``NAME1.NAME2`` will succeed only if `` == NAME1." "NAME2``" msgstr "" +"En termes plus simples, ``NOM1.NOM2`` réussit seulement si `` == " +"NOM1.NOM2``" +# Pas de majuscule car suit : #: reference/compound_stmts.rst:851 msgid "" "If the same value occurs multiple times in the same match statement, the " @@ -1064,43 +1206,60 @@ msgid "" "the same lookup. This cache is strictly tied to a given execution of a " "given match statement." msgstr "" +"si la même valeur apparaît plusieurs fois dans la même instruction " +"``match``, l'interpréteur peut mettre en cache la première valeur trouvée et " +"la réutiliser plutôt que de refaire une recherche. Ce cache est strictement " +"limité à l'exécution de l'instruction ``match`` donnée." #: reference/compound_stmts.rst:859 msgid "Group Patterns" -msgstr "" +msgstr "Filtres de groupes" #: reference/compound_stmts.rst:861 msgid "" "A group pattern allows users to add parentheses around patterns to emphasize " "the intended grouping. Otherwise, it has no additional syntax. Syntax:" msgstr "" +"Un filtre de groupe permet au programmeur de souligner l’intention de " +"regrouper des motifs en plaçant ceux-ci entre parenthèses. À part ça, il " +"n’introduit aucune syntaxe supplémentaire. Sa syntaxe est la suivante :" #: reference/compound_stmts.rst:868 msgid "In simple terms ``(P)`` has the same effect as ``P``." -msgstr "" +msgstr "En termes plus simples, ``(P)`` équivaut à ``P``." #: reference/compound_stmts.rst:873 msgid "Sequence Patterns" -msgstr "" +msgstr "Filtres de séquences" #: reference/compound_stmts.rst:875 msgid "" "A sequence pattern contains several subpatterns to be matched against " "sequence elements. The syntax is similar to the unpacking of a list or tuple." msgstr "" +"Un filtre de séquence contient des sous-filtres par motif dont chacun doit " +"correspondre à un élément d’une séquence. La syntaxe est similaire au " +"déballage d’une liste ou d’un *n*-uplet." #: reference/compound_stmts.rst:886 msgid "" "There is no difference if parentheses or square brackets are used for " "sequence patterns (i.e. ``(...)`` vs ``[...]`` )." msgstr "" +"Vous pouvez utiliser indifféremment des parenthèses ``(...)`` ou des " +"crochets ``[...]`` pour encadrer les filtres à regrouper." +# Pas de majuscule car suit : #: reference/compound_stmts.rst:890 msgid "" "A single pattern enclosed in parentheses without a trailing comma (e.g. ``(3 " "| 4)``) is a :ref:`group pattern `. While a single pattern " "enclosed in square brackets (e.g. ``[3 | 4]``) is still a sequence pattern." msgstr "" +"un filtre seul entre parenthèses qui ne se termine pas par une virgule (par " +"exemple ``(3 | 4)``) est un :ref:`filtre de groupe `. En " +"revanche, un filtre seul entre crochets (par exemple ``[3 | 4]``) reste un " +"filtre de séquence." #: reference/compound_stmts.rst:895 msgid "" @@ -1109,39 +1268,54 @@ msgid "" "sequence pattern is a fixed-length sequence pattern; otherwise it is a " "variable-length sequence pattern." msgstr "" +"Il peut y avoir au plus un sous-filtre étoilé (lexème `star_pattern`) dans " +"un filtre de séquence. Le filtre étoilé peut se trouver à n’importe quelle " +"position. S’il n’y en a pas, le filtre de séquence est un filtre de séquence " +"à longueur fixe, sinon c’est un filtre de séquence à longueur variable." #: reference/compound_stmts.rst:900 msgid "" "The following is the logical flow for matching a sequence pattern against a " "subject value:" msgstr "" +"Voici le déroulement logique d’un filtrage par motif de séquence sur une " +"valeur du champ de recherche :" #: reference/compound_stmts.rst:903 msgid "" "If the subject value is not a sequence [#]_, the sequence pattern fails." msgstr "" +"Si la valeur du champ de recherche n’est pas une séquence [#]_, le filtre de " +"séquence échoue." #: reference/compound_stmts.rst:906 msgid "" "If the subject value is an instance of ``str``, ``bytes`` or ``bytearray`` " "the sequence pattern fails." msgstr "" +"Si la valeur du champ de recherche est une instance de ``str``, ``bytes`` ou " +"``bytearray``, le filtre de séquence échoue." #: reference/compound_stmts.rst:909 msgid "" "The subsequent steps depend on whether the sequence pattern is fixed or " "variable-length." msgstr "" +"Les étapes suivantes dépendent de la longueur fixe ou non du filtre de " +"séquence." #: reference/compound_stmts.rst:912 msgid "If the sequence pattern is fixed-length:" -msgstr "" +msgstr "Si le filtre de séquence est de longueur fixe :" +# Fin de la phrase donc se termine par un point. #: reference/compound_stmts.rst:914 msgid "" "If the length of the subject sequence is not equal to the number of " "subpatterns, the sequence pattern fails" msgstr "" +"Si la longueur de la séquence champ de recherche n’est pas égale au nombre " +"de sous-filtres, le filtre de séquence échoue." #: reference/compound_stmts.rst:917 msgid "" @@ -1150,22 +1324,31 @@ msgid "" "subpattern fails. If all subpatterns succeed in matching their " "corresponding item, the sequence pattern succeeds." msgstr "" +"Les sous-filtres de la séquence sont confrontés aux éléments correspondants " +"dans la séquence champ de recherche, de la gauche vers la droite. La " +"recherche de correspondance s’arrête dès qu’un sous-filtre échoue. Si tous " +"les sous-filtres réussissent la confrontation à l’élément du champ de " +"recherche correspondant, le filtre de séquence réussit." #: reference/compound_stmts.rst:922 msgid "Otherwise, if the sequence pattern is variable-length:" -msgstr "" +msgstr "Sinon, si le filtre de séquence est de longueur variable :" #: reference/compound_stmts.rst:924 msgid "" "If the length of the subject sequence is less than the number of non-star " "subpatterns, the sequence pattern fails." msgstr "" +"Si la longueur de la séquence champ de recherche est plus petite que le " +"nombre de sous-filtres sans étoile, le filtre de séquence échoue." #: reference/compound_stmts.rst:927 msgid "" "The leading non-star subpatterns are matched to their corresponding items as " "for fixed-length sequences." msgstr "" +"Les sous-filtres sans étoile du début sont confrontés aux éléments " +"correspondants comme pour un filtre de séquences de longueur fixe." #: reference/compound_stmts.rst:930 msgid "" @@ -1173,63 +1356,86 @@ msgid "" "the remaining subject items, excluding the remaining items corresponding to " "non-star subpatterns following the star subpattern." msgstr "" +"Si les étapes précédentes ont réussi, le sous-filtre étoilé correspond à une " +"liste formée des éléments restants du champ de recherche, en excluant les " +"éléments restants qui correspondent à des sous-filtres sans étoile qui " +"suivent le sous-filtre étoilé." #: reference/compound_stmts.rst:934 msgid "" "Remaining non-star subpatterns are matched to their corresponding subject " "items, as for a fixed-length sequence." msgstr "" +"Les sous-filtres sans étoile qui restent sont confrontés aux éléments " +"restants du champ de recherche, comme pour un filtre de séquences de " +"longueur fixe." +# Pas de majuscule car suit : #: reference/compound_stmts.rst:937 msgid "" "The length of the subject sequence is obtained via :func:`len` (i.e. via " "the :meth:`__len__` protocol). This length may be cached by the interpreter " "in a similar manner as :ref:`value patterns `." msgstr "" +"la longueur de la séquence champ de recherche est obtenue par :func:`len` " +"(c.-à-d. avec le protocole :meth:`__len__`). Cette longueur peut être mise " +"en cache par l’interpréteur de la même manière que pour les :ref:`filtres " +"par valeur `." #: reference/compound_stmts.rst:943 msgid "" "In simple terms ``[P1, P2, P3,`` ... ``, P]`` matches only if all the " "following happens:" msgstr "" +"En termes plus simples, ``[M1, M2, M3,`` … ``, M]`` réussit seulement si " +"tout ce qui suit a lieu :" #: reference/compound_stmts.rst:946 msgid "check ```` is a sequence" -msgstr "" +msgstr "vérification que ```` est une séquence," #: reference/compound_stmts.rst:947 msgid "``len(subject) == ``" -msgstr "" +msgstr "``len(subject) == ``," #: reference/compound_stmts.rst:948 msgid "" "``P1`` matches ``[0]`` (note that this match can also bind names)" msgstr "" +"``M1`` correspond à ``[0]`` (notez que cette correspondance peut " +"lier des noms)," #: reference/compound_stmts.rst:949 msgid "" "``P2`` matches ``[1]`` (note that this match can also bind names)" msgstr "" +"``M2`` correspond à ``[1]`` (notez que cette correspondance peut " +"lier des noms)," #: reference/compound_stmts.rst:950 msgid "... and so on for the corresponding pattern/element." -msgstr "" +msgstr "et ainsi de suite pour chaque filtre par motif / élément." #: reference/compound_stmts.rst:955 msgid "Mapping Patterns" -msgstr "" +msgstr "Filtres associatifs" #: reference/compound_stmts.rst:957 msgid "" "A mapping pattern contains one or more key-value patterns. The syntax is " "similar to the construction of a dictionary. Syntax:" msgstr "" +"Un filtre associatif contient un ou plusieurs motifs clé-valeur. La syntaxe " +"est similaire à la construction d’un dictionnaire :" #: reference/compound_stmts.rst:968 msgid "" "At most one double star pattern may be in a mapping pattern. The double " "star pattern must be the last subpattern in the mapping pattern." msgstr "" +"Un seul sous-filtre doublement étoilé peut être présent dans le filtre " +"associatif. Le filtre doublement étoilé doit être le dernier sous-filtre du " +"filtre associatif." #: reference/compound_stmts.rst:971 msgid "" @@ -1237,16 +1443,23 @@ msgid "" "will raise a :exc:`SyntaxError`. Two keys that otherwise have the same value " "will raise a :exc:`ValueError` at runtime." msgstr "" +"Il est interdit d’avoir des clés en double dans les filtres associatifs. Une " +"clé en double sous forme littérale lève une :exc:`Syntax Error`. Deux clés " +"qui ont la même valeur lèvent une :exc:`ValueError` à l’exécution." #: reference/compound_stmts.rst:975 msgid "" "The following is the logical flow for matching a mapping pattern against a " "subject value:" msgstr "" +"Voici le déroulement d’un filtrage associatif sur la valeur du champ de " +"recherche :" #: reference/compound_stmts.rst:978 msgid "If the subject value is not a mapping [#]_,the mapping pattern fails." msgstr "" +"Si la valeur du champ de recherche n'est pas un tableau associatif [#]_, le " +"filtre associatif échoue." #: reference/compound_stmts.rst:980 msgid "" @@ -1254,6 +1467,10 @@ msgid "" "and the pattern for each key matches the corresponding item of the subject " "mapping, the mapping pattern succeeds." msgstr "" +"Si chaque clé donnée dans le filtre associatif est présente dans le tableau " +"associatif du champ de recherche, et que le filtre pour chaque clé " +"correspond aux éléments du tableau associatif champ de recherche, le filtre " +"associatif réussit." #: reference/compound_stmts.rst:984 msgid "" @@ -1261,7 +1478,12 @@ msgid "" "considered invalid. A :exc:`SyntaxError` is raised for duplicate literal " "values; or a :exc:`ValueError` for named keys of the same value." msgstr "" +"Si des clés identiques sont détectées dans le filtre par motif, le filtre " +"est déclaré invalide. Une :exc:`SyntaxError` est levée pour les valeurs " +"littérales dupliquées ou une :exc:`ValueError` pour des clés s'évaluant à la " +"même valeur." +# Pas de majuscule car suit : #: reference/compound_stmts.rst:988 msgid "" "Key-value pairs are matched using the two-argument form of the mapping " @@ -1269,42 +1491,50 @@ msgid "" "in the mapping, and not created on-the-fly via :meth:`__missing__` or :meth:" "`__getitem__`." msgstr "" +"les paires clé-valeur sont associées en utilisant la forme à deux arguments " +"de la méthode ``get()`` du champ de recherche. Les paires clé-valeurs " +"associées doivent déjà être présentes dans le tableau associatif et ne sont " +"pas créées à la volée *via* :meth:`__missing__` ou :meth:`__getitem__`." #: reference/compound_stmts.rst:993 msgid "" "In simple terms ``{KEY1: P1, KEY2: P2, ... }`` matches only if all the " "following happens:" msgstr "" +"En termes simples, ``{CLÉ1: M1, CLÉ2: M2, ... }`` réussit seulement si tout " +"ce qui suit a lieu :" #: reference/compound_stmts.rst:996 msgid "check ```` is a mapping" -msgstr "" +msgstr "vérification que ```` est un tableau associatif," #: reference/compound_stmts.rst:997 msgid "``KEY1 in ``" -msgstr "" +msgstr "``CLÉ1 in ``," #: reference/compound_stmts.rst:998 msgid "``P1`` matches ``[KEY1]``" -msgstr "" +msgstr "``M1`` correspond à ``[CLÉ1]``," #: reference/compound_stmts.rst:999 msgid "... and so on for the corresponding KEY/pattern pair." -msgstr "" +msgstr "et ainsi de suite pour chaque paire CLÉ/Motif." #: reference/compound_stmts.rst:1005 msgid "Class Patterns" -msgstr "" +msgstr "Filtres de classes" #: reference/compound_stmts.rst:1007 msgid "" "A class pattern represents a class and its positional and keyword arguments " "(if any). Syntax:" msgstr "" +"Un filtre de classe représente une classe et ses arguments positionnels et " +"par mots-clés (s'il y en a). La syntaxe est la suivante :" #: reference/compound_stmts.rst:1018 msgid "The same keyword should not be repeated in class patterns." -msgstr "" +msgstr "Le même mot-clé ne doit pas être répété dans les filtres de classes." #: reference/compound_stmts.rst:1020 msgid "" @@ -1317,12 +1547,17 @@ msgid "" "If ``name_or_attr`` is not an instance of the builtin :class:`type` , raise :" "exc:`TypeError`." msgstr "" +"Si ``name_or_attr`` n'est pas une instance de la classe native :class:" +"`type` , lève une :exc:`TypeError`." #: reference/compound_stmts.rst:1026 msgid "" "If the subject value is not an instance of ``name_or_attr`` (tested via :" "func:`isinstance`), the class pattern fails." msgstr "" +"Si la valeur du champ de recherche n'est pas une instance de " +"``name_or_attr`` (testé *via* :func:`isinstance`), le filtre de classe " +"échoue." #: reference/compound_stmts.rst:1029 msgid "" @@ -1330,6 +1565,9 @@ msgid "" "subsequent steps depend on whether keyword or positional argument patterns " "are present." msgstr "" +"S'il n'y a pas d'argument au filtre, le filtre réussit. Sinon, les étapes " +"suivantes dépendent de la présence ou non de filtres pour les arguments " +"positionnels ou par mot-clé." #: reference/compound_stmts.rst:1033 msgid "" @@ -1337,6 +1575,10 @@ msgid "" "subpattern is accepted which will match the entire subject; for these types " "keyword patterns also work as for other types." msgstr "" +"Pour un certain nombre de types natifs (indiqués ci-dessous), un filtre " +"positionnel seul est accepté, qui est confronté au champ de recherche en " +"entier ; pour ces types, les filtres avec mots-clés fonctionnent comme les " +"autres types." #: reference/compound_stmts.rst:1037 msgid "" @@ -1429,47 +1671,47 @@ msgstr "" #: reference/compound_stmts.rst:1082 msgid ":class:`bool`" -msgstr "" +msgstr ":class:`bool`" #: reference/compound_stmts.rst:1083 msgid ":class:`bytearray`" -msgstr "" +msgstr ":class:`bytearray`" #: reference/compound_stmts.rst:1084 msgid ":class:`bytes`" -msgstr "" +msgstr ":class:`bytes`" #: reference/compound_stmts.rst:1085 msgid ":class:`dict`" -msgstr "" +msgstr ":class:`dict`" #: reference/compound_stmts.rst:1086 msgid ":class:`float`" -msgstr "" +msgstr ":class:`float`" #: reference/compound_stmts.rst:1087 msgid ":class:`frozenset`" -msgstr "" +msgstr ":class:`frozenset`" #: reference/compound_stmts.rst:1088 msgid ":class:`int`" -msgstr "" +msgstr ":class:`int`" #: reference/compound_stmts.rst:1089 reference/compound_stmts.rst:1540 msgid ":class:`list`" -msgstr "" +msgstr ":class:`list`" #: reference/compound_stmts.rst:1090 msgid ":class:`set`" -msgstr "" +msgstr ":class:`set`" #: reference/compound_stmts.rst:1091 msgid ":class:`str`" -msgstr "" +msgstr ":class:`str`" #: reference/compound_stmts.rst:1092 reference/compound_stmts.rst:1543 msgid ":class:`tuple`" -msgstr "" +msgstr ":class:`tuple`" #: reference/compound_stmts.rst:1094 msgid "" @@ -1850,8 +2092,8 @@ msgstr "" #: reference/compound_stmts.rst:1348 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,::" +"Les classes peuvent aussi être décorées. Comme pour les décorateurs de " +"fonctions ::" #: reference/compound_stmts.rst:1359 msgid "" @@ -2065,75 +2307,86 @@ msgstr "" #: reference/compound_stmts.rst:1529 msgid "In pattern matching, a sequence is defined as one of the following:" -msgstr "" +msgstr "Dans le filtrage par motif, une séquence est définie comme suit :" #: reference/compound_stmts.rst:1531 msgid "a class that inherits from :class:`collections.abc.Sequence`" -msgstr "" +msgstr "une classe qui hérite de :class:`collections.abc.Sequence`" #: reference/compound_stmts.rst:1532 msgid "" "a Python class that has been registered as :class:`collections.abc.Sequence`" msgstr "" +"une classe Python qui a été enregistrée en tant que :class:`collections.abc." +"Sequence`" #: reference/compound_stmts.rst:1533 msgid "" "a builtin class that has its (CPython) :data:`Py_TPFLAGS_SEQUENCE` bit set" msgstr "" +"une classe native dont le bit (CPython) :data:`Py_TPFLAGS_SEQUENCE` est à 1" #: reference/compound_stmts.rst:1534 reference/compound_stmts.rst:1553 msgid "a class that inherits from any of the above" -msgstr "" +msgstr "une classe qui hérite d'une classe citée ci-dessus" #: reference/compound_stmts.rst:1536 msgid "The following standard library classes are sequences:" -msgstr "" +msgstr "Les classes suivantes de la bibliothèque standard sont des séquences :" #: reference/compound_stmts.rst:1538 msgid ":class:`array.array`" -msgstr "" +msgstr ":class:`array.array`" #: reference/compound_stmts.rst:1539 msgid ":class:`collections.deque`" -msgstr "" +msgstr ":class:`collections.deque`" #: reference/compound_stmts.rst:1541 msgid ":class:`memoryview`" -msgstr "" +msgstr ":class:`memoryview`" #: reference/compound_stmts.rst:1542 msgid ":class:`range`" -msgstr "" +msgstr ":class:`range`" #: reference/compound_stmts.rst:1545 msgid "" "Subject values of type ``str``, ``bytes``, and ``bytearray`` do not match " "sequence patterns." msgstr "" +"Les champs de recherche du type ``str``, ``bytes`` et ``bytearray`` ne " +"correspondent pas avec des filtres de séquence." #: reference/compound_stmts.rst:1548 msgid "In pattern matching, a mapping is defined as one of the following:" msgstr "" +"Dans le filtrage par motif, un tableau associatif est défini comme suit :" #: reference/compound_stmts.rst:1550 msgid "a class that inherits from :class:`collections.abc.Mapping`" -msgstr "" +msgstr "une classe qui hérite de :class:`collections.abc.Mapping`" #: reference/compound_stmts.rst:1551 msgid "" "a Python class that has been registered as :class:`collections.abc.Mapping`" msgstr "" +"une classe Python qui a été enregistrée en tant que :class:`collections.abc." +"Mapping`" #: reference/compound_stmts.rst:1552 msgid "" "a builtin class that has its (CPython) :data:`Py_TPFLAGS_MAPPING` bit set" msgstr "" +"une classe native dont le bit (CPython) :data:`Py_TPFLAGS_MAPPING` est à 1" #: reference/compound_stmts.rst:1555 msgid "" "The standard library classes :class:`dict` and :class:`types." "MappingProxyType` are mappings." msgstr "" +"Les classes :class:`dict` et :class:`types.MappingProxyType` de la " +"bibliothèque standard sont des tableaux associatifs." #: reference/compound_stmts.rst:1558 msgid ""