@@ -6,14 +6,14 @@ msgstr ""
66"Project-Id-Version : Python 3\n "
77"Report-Msgid-Bugs-To : \n "
88"POT-Creation-Date : 2021-09-23 16:16+0200\n "
9- "PO-Revision-Date : 2021-09-04 02:09 +0200\n "
9+ "PO-Revision-Date : 2021-10-16 23:16 +0200\n "
1010"Last-Translator : Jean Abou Samra <jean@abou-samra.fr>\n "
1111"Language-Team : FRENCH <traductions@lists.afpy.org>\n "
1212"Language : fr\n "
1313"MIME-Version : 1.0\n "
1414"Content-Type : text/plain; charset=UTF-8\n "
1515"Content-Transfer-Encoding : 8bit\n "
16- "X-Generator : Poedit 2.4.1 \n "
16+ "X-Generator : Poedit 3.0 \n "
1717
1818#: tutorial/controlflow.rst:5
1919msgid "More Control Flow Tools"
@@ -60,6 +60,9 @@ msgid ""
6060"specific types or attributes, you may also find the :keyword:`!match` "
6161"statement useful. For more details see :ref:`tut-match`."
6262msgstr ""
63+ "Pour les comparaisons avec beaucoup de constantes, ainsi que les tests "
64+ "d'appartenance à un type ou de forme d'un attribut, l'instruction :keyword:`!"
65+ "match` décrite plus bas peut se révéler utile (voir :ref:`tut-match`)."
6366
6467#: tutorial/controlflow.rst:46
6568msgid ":keyword:`!for` Statements"
@@ -167,15 +170,14 @@ msgstr ""
167170"paramètre est :func:`sum` ::"
168171
169172#: tutorial/controlflow.rst:157
170- #, fuzzy
171173msgid ""
172174"Later we will see more functions that return iterables and take iterables as "
173175"arguments. In chapter :ref:`tut-structures`, we will discuss in more detail "
174176"about :func:`list`."
175177msgstr ""
176178"Plus loin nous voyons d'autres fonctions qui donnent des itérables ou en "
177- "prennent en paramètre. Si vous vous demandez comment obtenir une liste à "
178- "partir d'un *range*, voici la solution :: "
179+ "prennent en paramètre. De plus amples détails sur :func:`list` sont donnés "
180+ "dans :ref:`tut-structures`. "
179181
180182#: tutorial/controlflow.rst:164
181183msgid ""
@@ -274,9 +276,8 @@ msgstr ""
274276"L'instruction :keyword:`!pass` est alors ignorée silencieusement ::"
275277
276278#: tutorial/controlflow.rst:251
277- #, fuzzy
278279msgid ":keyword:`!match` Statements"
279- msgstr "L'instruction :keyword:`!pass `"
280+ msgstr "L'instruction :keyword:`!match `"
280281
281282#: tutorial/controlflow.rst:253
282283msgid ""
@@ -286,28 +287,47 @@ msgid ""
286287"it can also extract components (sequence elements or object attributes) from "
287288"the value into variables."
288289msgstr ""
290+ "L'instruction ``match`` réalise un filtrage par motif. Elle confronte la "
291+ "valeur d'une expression à plusieurs filtres successifs donnés par les "
292+ "instructions ``case``. L'instruction ``match`` peut faire penser au "
293+ "``switch`` que l'on trouve dans les langages C, Java, JavaScript et autres. "
294+ "Elle est cependant bien plus générale : les filtres définissent des formes "
295+ "possibles en imposant des conditions, et permettent d'extraire dans des "
296+ "variables des composantes de la valeur, comme les éléments d'une séquence ou "
297+ "les attributs d'un objet."
289298
290299#: tutorial/controlflow.rst:259
291300msgid ""
292301"The simplest form compares a subject value against one or more literals::"
293302msgstr ""
303+ "Dans sa plus simple expression, une instruction ``match`` compare une valeur "
304+ "à des littéraux :"
294305
295306#: tutorial/controlflow.rst:272
296307msgid ""
297308"Note the last block: the \" variable name\" ``_`` acts as a *wildcard* and "
298309"never fails to match. If no case matches, none of the branches is executed."
299310msgstr ""
311+ "Remarquez l'emploi du signe souligné ``_`` dans le dernier bloc, qui est "
312+ "normalement un nom de variable spécial. Ici, c'est un filtre *attrape-tout*, "
313+ "c'est-à-dire qu'il accepte toutes les valeurs. Si aucun des filtres dans les "
314+ "``case`` ne fonctionne, aucune des branches indentées sous les ``case`` "
315+ "n'est exécutée."
300316
301317#: tutorial/controlflow.rst:275
302318msgid ""
303319"You can combine several literals in a single pattern using ``|`` (\" or\" )::"
304320msgstr ""
321+ "On peut combiner plusieurs littéraux en un seul filtre avec le signe ``|``, "
322+ "qui se lit OU."
305323
306324#: tutorial/controlflow.rst:280
307325msgid ""
308326"Patterns can look like unpacking assignments, and can be used to bind "
309327"variables::"
310328msgstr ""
329+ "Les filtres peuvent prendre une forme similaire aux affectations multiples, "
330+ "et provoquer la liaison de variables :"
311331
312332#: tutorial/controlflow.rst:296
313333msgid ""
@@ -318,13 +338,23 @@ msgid ""
318338"which makes it conceptually similar to the unpacking assignment ``(x, y) = "
319339"point``."
320340msgstr ""
341+ "Observez bien cet exemple ! Le premier filtre contient simplement deux "
342+ "littéraux. C'est une sorte d'extension des filtres littéraux. Mais les deux "
343+ "filtres suivants mélangent un littéral et un nom de variable. Si un tel "
344+ "filtre réussit, il provoque l'affectation à la variable. Le quatrième filtre "
345+ "est constitué de deux variables, ce qui le fait beaucoup ressembler à "
346+ "l'affectation multiple ``(x, y) = point``."
321347
322348#: tutorial/controlflow.rst:303
323349msgid ""
324350"If you are using classes to structure your data you can use the class name "
325351"followed by an argument list resembling a constructor, but with the ability "
326352"to capture attributes into variables::"
327353msgstr ""
354+ "Si vous structurez vos données par l'utilisation de classes, vous pouvez "
355+ "former des filtres avec le nom de la classe suivi d'une liste d'arguments. "
356+ "Ces filtres sont semblables à l'appel d'un constructeur, et permettent de "
357+ "capturer des attributs."
328358
329359#: tutorial/controlflow.rst:324
330360msgid ""
@@ -335,6 +365,13 @@ msgid ""
335365"\" y\" ), the following patterns are all equivalent (and all bind the ``y`` "
336366"attribute to the ``var`` variable)::"
337367msgstr ""
368+ "Un certain nombre de classes natives, notamment les classes de données, "
369+ "prennent en charge le filtrage par arguments positionnels en définissant un "
370+ "ordre des attributs. Vous pouvez ajouter cette possibilité à vos propres "
371+ "classes en y définissant l'attribut spécial ``__match_args__``. Par exemple, "
372+ "le mettre à ``(\" x\" , \" y\" )`` rend tous les filtres ci-dessous équivalents "
373+ "(en particulier, tous provoquent la liaison de l'attribut ``y`` à la "
374+ "variable ``var``)."
338375
339376#: tutorial/controlflow.rst:335
340377msgid ""
@@ -346,30 +383,49 @@ msgid ""
346383"(recognized by the \" (...)\" next to them like ``Point`` above) are never "
347384"assigned to."
348385msgstr ""
386+ "Une méthode préconisée pour lire les filtres est de les voir comme une "
387+ "extension de ce que l'on peut placer à gauche du signe ``=`` dans une "
388+ "affectation. Cela permet de visualiser quelles variables sont liées à quoi. "
389+ "Seuls les noms simples, comme ``var`` ci-dessus, sont des variables "
390+ "susceptibles d'être liées à une valeur. Il n'y a jamais de liaison pour les "
391+ "noms qualifiés (avec un point, comme dans ``truc.machin``), les noms "
392+ "d'attributs (tels que ``x=`` et ``y=`` dans l'exemple précédent) et les noms "
393+ "de classes (identifiés par les parenthèses à leur droite, comme ``Point``)."
349394
350395#: tutorial/controlflow.rst:342
351396msgid ""
352397"Patterns can be arbitrarily nested. For example, if we have a short list of "
353398"points, we could match it like this::"
354399msgstr ""
400+ "On peut imbriquer les filtres autant que de besoin. Ainsi, on peut lire une "
401+ "courte liste de points comme ceci :"
355402
356403#: tutorial/controlflow.rst:357
357404msgid ""
358405"We can add an ``if`` clause to a pattern, known as a \" guard\" . If the "
359406"guard is false, ``match`` goes on to try the next case block. Note that "
360407"value capture happens before the guard is evaluated::"
361408msgstr ""
409+ "Un filtre peut comporter un ``if``, qui introduit ce que l'on appelle une "
410+ "garde. Si le filtre réussit, la garde est alors testée et, si elle s'évalue "
411+ "à une valeur fausse, l'exécution continue au bloc ``case`` suivant. Les "
412+ "variables sont liées avant l'évaluation de la garde, et peuvent être "
413+ "utilisées à l'intérieur."
362414
363415#: tutorial/controlflow.rst:367
364416msgid "Several other key features of this statement:"
365- msgstr ""
417+ msgstr "Voici quelques autres éléments sur cette instruction : "
366418
367419#: tutorial/controlflow.rst:369
368420msgid ""
369421"Like unpacking assignments, tuple and list patterns have exactly the same "
370422"meaning and actually match arbitrary sequences. An important exception is "
371423"that they don't match iterators or strings."
372424msgstr ""
425+ "Comme dans les affectations multiples, les filtres de *n*-uplet et de liste "
426+ "sont totalement équivalents et autorisent tous les types de séquences. "
427+ "Exception importante, ils n'autorisent pas les itérateurs ni les chaînes de "
428+ "caractères."
373429
374430#: tutorial/controlflow.rst:373
375431msgid ""
@@ -378,6 +434,12 @@ msgid ""
378434"also be ``_``, so ``(x, y, *_)`` matches a sequence of at least two items "
379435"without binding the remaining items."
380436msgstr ""
437+ "Les filtres de séquence peuvent faire intervenir l'affectation étoilée : "
438+ "``[x, y, *reste]`` ou ``(x, y, *reste)`` ont le même sens que dans une "
439+ "affectation avec ``=``. Le nom de variable après l'étoile peut aussi être "
440+ "l'attrape-tout ``_``. Ainsi, ``(x, y, *_)`` est un filtre qui reconnaît les "
441+ "séquences à deux éléments ou plus, en capturant les deux premiers et en "
442+ "ignorant le reste."
381443
382444#: tutorial/controlflow.rst:378
383445msgid ""
@@ -386,34 +448,53 @@ msgid ""
386448"sequence patterns, extra keys are ignored. An unpacking like ``**rest`` is "
387449"also supported. (But ``**_`` would be redundant, so it not allowed.)"
388450msgstr ""
451+ "Il existe les filtres d'association, qui ressemblent syntaxiquement aux "
452+ "dictionnaires. Par exemple, le filtre ``{\" bande_passante\" : b, \" latence\" : "
453+ "l}`` extrait les valeurs des clés ``\" bande_passante\" `` et ``\" latence\" `` "
454+ "dans un dictionnaire ou une autre table de correspondances. Contrairement "
455+ "aux filtres de séquence, les clés absentes du filtre sont ignorées et le "
456+ "filtre réussit tout de même. L'affectation double-étoilée (``**reste``) "
457+ "fonctionne aussi (cependant, ``**_`` serait redondant et n'est donc pas "
458+ "permis)."
389459
390460#: tutorial/controlflow.rst:383
391461msgid "Subpatterns may be captured using the ``as`` keyword::"
392462msgstr ""
463+ "On peut capturer la valeur d'une partie d'un filtre avec le mot-clé ``as``, "
464+ "par exemple :"
393465
394466#: tutorial/controlflow.rst:387
395467msgid ""
396468"will capture the second element of the input as ``p2`` (as long as the input "
397469"is a sequence of two points)"
398470msgstr ""
471+ "Ce filtre, lorsqu'il est comparé à une séquence de deux points, réussit et "
472+ "capture le second dans la variable ``p2``."
399473
400474#: tutorial/controlflow.rst:390
401475msgid ""
402476"Most literals are compared by equality, however the singletons ``True``, "
403477"``False`` and ``None`` are compared by identity."
404478msgstr ""
479+ "La plupart des littéraux sont comparés par égalité. Néanmoins, les "
480+ "singletons ``True``, ``False`` et ``None`` sont comparés par identité."
405481
406482#: tutorial/controlflow.rst:393
407483msgid ""
408484"Patterns may use named constants. These must be dotted names to prevent "
409485"them from being interpreted as capture variable::"
410486msgstr ""
487+ "Les filtres peuvent contenir des noms qui se réfèrent à des constantes. Ces "
488+ "noms doivent impérativement être qualifiés (contenir un point) pour ne pas "
489+ "être interprétés comme des variables de capture."
411490
412491#: tutorial/controlflow.rst:410
413492msgid ""
414493"For a more detailed explanation and additional examples, you can look into :"
415494"pep:`636` which is written in a tutorial format."
416495msgstr ""
496+ "Pour plus d'explications et d'exemples, lire la :pep:`636` (en anglais), qui "
497+ "est écrite sous forme de tutoriel."
417498
418499#: tutorial/controlflow.rst:416
419500msgid "Defining Functions"
0 commit comments