1
0
Fork 0

Traduction de tutorial/controlflow.po (#1715)

Automerge of PR #1715 by @Jean-Abou-Samra
#1714

J'ai essayé de suivre les termes proposés dans #1710.

Closes #1714.

Co-authored-by: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com>
This commit is contained in:
Jean-Abou-Samra 2021-10-20 00:01:45 +02:00 committed by GitHub
parent 30507a7466
commit 9b64cb5f8f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 89 additions and 8 deletions

View File

@ -6,14 +6,14 @@ msgstr ""
"Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\n"
"PO-Revision-Date: 2021-09-04 02:09+0200\n"
"PO-Revision-Date: 2021-10-16 23:16+0200\n"
"Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\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 3.0\n"
#: tutorial/controlflow.rst:5
msgid "More Control Flow Tools"
@ -60,6 +60,9 @@ msgid ""
"specific types or attributes, you may also find the :keyword:`!match` "
"statement useful. For more details see :ref:`tut-match`."
msgstr ""
"Pour les comparaisons avec beaucoup de constantes, ainsi que les tests "
"d'appartenance à un type ou de forme d'un attribut, l'instruction :keyword:`!"
"match` décrite plus bas peut se révéler utile (voir :ref:`tut-match`)."
#: tutorial/controlflow.rst:46
msgid ":keyword:`!for` Statements"
@ -167,15 +170,14 @@ msgstr ""
"paramètre est :func:`sum` ::"
#: tutorial/controlflow.rst:157
#, fuzzy
msgid ""
"Later we will see more functions that return iterables and take iterables as "
"arguments. In chapter :ref:`tut-structures`, we will discuss in more detail "
"about :func:`list`."
msgstr ""
"Plus loin nous voyons d'autres fonctions qui donnent des itérables ou en "
"prennent en paramètre. Si vous vous demandez comment obtenir une liste à "
"partir d'un *range*, voici la solution ::"
"prennent en paramètre. De plus amples détails sur :func:`list` sont donnés "
"dans :ref:`tut-structures`."
#: tutorial/controlflow.rst:164
msgid ""
@ -274,9 +276,8 @@ msgstr ""
"L'instruction :keyword:`!pass` est alors ignorée silencieusement ::"
#: tutorial/controlflow.rst:251
#, fuzzy
msgid ":keyword:`!match` Statements"
msgstr "L'instruction :keyword:`!pass`"
msgstr "L'instruction :keyword:`!match`"
#: tutorial/controlflow.rst:253
msgid ""
@ -286,28 +287,47 @@ msgid ""
"it can also extract components (sequence elements or object attributes) from "
"the value into variables."
msgstr ""
"L'instruction ``match`` réalise un filtrage par motif. Elle confronte la "
"valeur d'une expression à plusieurs filtres successifs donnés par les "
"instructions ``case``. L'instruction ``match`` peut faire penser au "
"``switch`` que l'on trouve dans les langages C, Java, JavaScript et autres. "
"Elle est cependant bien plus générale : les filtres définissent des formes "
"possibles en imposant des conditions, et permettent d'extraire dans des "
"variables des composantes de la valeur, comme les éléments d'une séquence ou "
"les attributs d'un objet."
#: tutorial/controlflow.rst:259
msgid ""
"The simplest form compares a subject value against one or more literals::"
msgstr ""
"Dans sa plus simple expression, une instruction ``match`` compare une valeur "
"à des littéraux :"
#: tutorial/controlflow.rst:272
msgid ""
"Note the last block: the \"variable name\" ``_`` acts as a *wildcard* and "
"never fails to match. If no case matches, none of the branches is executed."
msgstr ""
"Remarquez l'emploi du signe souligné ``_`` dans le dernier bloc, qui est "
"normalement un nom de variable spécial. Ici, c'est un filtre *attrape-tout*, "
"c'est-à-dire qu'il accepte toutes les valeurs. Si aucun des filtres dans les "
"``case`` ne fonctionne, aucune des branches indentées sous les ``case`` "
"n'est exécutée."
#: tutorial/controlflow.rst:275
msgid ""
"You can combine several literals in a single pattern using ``|`` (\"or\")::"
msgstr ""
"On peut combiner plusieurs littéraux en un seul filtre avec le signe ``|``, "
"qui se lit OU."
#: tutorial/controlflow.rst:280
msgid ""
"Patterns can look like unpacking assignments, and can be used to bind "
"variables::"
msgstr ""
"Les filtres peuvent prendre une forme similaire aux affectations multiples, "
"et provoquer la liaison de variables :"
#: tutorial/controlflow.rst:296
msgid ""
@ -318,6 +338,12 @@ msgid ""
"which makes it conceptually similar to the unpacking assignment ``(x, y) = "
"point``."
msgstr ""
"Observez bien cet exemple ! Le premier filtre contient simplement deux "
"littéraux. C'est une sorte d'extension des filtres littéraux. Mais les deux "
"filtres suivants mélangent un littéral et un nom de variable. Si un tel "
"filtre réussit, il provoque l'affectation à la variable. Le quatrième filtre "
"est constitué de deux variables, ce qui le fait beaucoup ressembler à "
"l'affectation multiple ``(x, y) = point``."
#: tutorial/controlflow.rst:303
msgid ""
@ -325,6 +351,10 @@ msgid ""
"followed by an argument list resembling a constructor, but with the ability "
"to capture attributes into variables::"
msgstr ""
"Si vous structurez vos données par l'utilisation de classes, vous pouvez "
"former des filtres avec le nom de la classe suivi d'une liste d'arguments. "
"Ces filtres sont semblables à l'appel d'un constructeur, et permettent de "
"capturer des attributs."
#: tutorial/controlflow.rst:324
msgid ""
@ -335,6 +365,13 @@ msgid ""
"\"y\"), the following patterns are all equivalent (and all bind the ``y`` "
"attribute to the ``var`` variable)::"
msgstr ""
"Un certain nombre de classes natives, notamment les classes de données, "
"prennent en charge le filtrage par arguments positionnels en définissant un "
"ordre des attributs. Vous pouvez ajouter cette possibilité à vos propres "
"classes en y définissant l'attribut spécial ``__match_args__``. Par exemple, "
"le mettre à ``(\"x\", \"y\")`` rend tous les filtres ci-dessous équivalents "
"(en particulier, tous provoquent la liaison de l'attribut ``y`` à la "
"variable ``var``)."
#: tutorial/controlflow.rst:335
msgid ""
@ -346,12 +383,22 @@ msgid ""
"(recognized by the \"(...)\" next to them like ``Point`` above) are never "
"assigned to."
msgstr ""
"Une méthode préconisée pour lire les filtres est de les voir comme une "
"extension de ce que l'on peut placer à gauche du signe ``=`` dans une "
"affectation. Cela permet de visualiser quelles variables sont liées à quoi. "
"Seuls les noms simples, comme ``var`` ci-dessus, sont des variables "
"susceptibles d'être liées à une valeur. Il n'y a jamais de liaison pour les "
"noms qualifiés (avec un point, comme dans ``truc.machin``), les noms "
"d'attributs (tels que ``x=`` et ``y=`` dans l'exemple précédent) et les noms "
"de classes (identifiés par les parenthèses à leur droite, comme ``Point``)."
#: tutorial/controlflow.rst:342
msgid ""
"Patterns can be arbitrarily nested. For example, if we have a short list of "
"points, we could match it like this::"
msgstr ""
"On peut imbriquer les filtres autant que de besoin. Ainsi, on peut lire une "
"courte liste de points comme ceci :"
#: tutorial/controlflow.rst:357
msgid ""
@ -359,10 +406,15 @@ msgid ""
"guard is false, ``match`` goes on to try the next case block. Note that "
"value capture happens before the guard is evaluated::"
msgstr ""
"Un filtre peut comporter un ``if``, qui introduit ce que l'on appelle une "
"garde. Si le filtre réussit, la garde est alors testée et, si elle s'évalue "
"à une valeur fausse, l'exécution continue au bloc ``case`` suivant. Les "
"variables sont liées avant l'évaluation de la garde, et peuvent être "
"utilisées à l'intérieur."
#: tutorial/controlflow.rst:367
msgid "Several other key features of this statement:"
msgstr ""
msgstr "Voici quelques autres éléments sur cette instruction :"
#: tutorial/controlflow.rst:369
msgid ""
@ -370,6 +422,10 @@ msgid ""
"meaning and actually match arbitrary sequences. An important exception is "
"that they don't match iterators or strings."
msgstr ""
"Comme dans les affectations multiples, les filtres de *n*-uplet et de liste "
"sont totalement équivalents et autorisent tous les types de séquences. "
"Exception importante, ils n'autorisent pas les itérateurs ni les chaînes de "
"caractères."
#: tutorial/controlflow.rst:373
msgid ""
@ -378,6 +434,12 @@ msgid ""
"also be ``_``, so ``(x, y, *_)`` matches a sequence of at least two items "
"without binding the remaining items."
msgstr ""
"Les filtres de séquence peuvent faire intervenir l'affectation étoilée : "
"``[x, y, *reste]`` ou ``(x, y, *reste)`` ont le même sens que dans une "
"affectation avec ``=``. Le nom de variable après l'étoile peut aussi être "
"l'attrape-tout ``_``. Ainsi, ``(x, y, *_)`` est un filtre qui reconnaît les "
"séquences à deux éléments ou plus, en capturant les deux premiers et en "
"ignorant le reste."
#: tutorial/controlflow.rst:378
msgid ""
@ -386,34 +448,53 @@ msgid ""
"sequence patterns, extra keys are ignored. An unpacking like ``**rest`` is "
"also supported. (But ``**_`` would be redundant, so it not allowed.)"
msgstr ""
"Il existe les filtres d'association, qui ressemblent syntaxiquement aux "
"dictionnaires. Par exemple, le filtre ``{\"bande_passante\": b, \"latence\": "
"l}`` extrait les valeurs des clés ``\"bande_passante\"`` et ``\"latence\"`` "
"dans un dictionnaire ou une autre table de correspondances. Contrairement "
"aux filtres de séquence, les clés absentes du filtre sont ignorées et le "
"filtre réussit tout de même. L'affectation double-étoilée (``**reste``) "
"fonctionne aussi (cependant, ``**_`` serait redondant et n'est donc pas "
"permis)."
#: tutorial/controlflow.rst:383
msgid "Subpatterns may be captured using the ``as`` keyword::"
msgstr ""
"On peut capturer la valeur d'une partie d'un filtre avec le mot-clé ``as``, "
"par exemple :"
#: tutorial/controlflow.rst:387
msgid ""
"will capture the second element of the input as ``p2`` (as long as the input "
"is a sequence of two points)"
msgstr ""
"Ce filtre, lorsqu'il est comparé à une séquence de deux points, réussit et "
"capture le second dans la variable ``p2``."
#: tutorial/controlflow.rst:390
msgid ""
"Most literals are compared by equality, however the singletons ``True``, "
"``False`` and ``None`` are compared by identity."
msgstr ""
"La plupart des littéraux sont comparés par égalité. Néanmoins, les "
"singletons ``True``, ``False`` et ``None`` sont comparés par identité."
#: tutorial/controlflow.rst:393
msgid ""
"Patterns may use named constants. These must be dotted names to prevent "
"them from being interpreted as capture variable::"
msgstr ""
"Les filtres peuvent contenir des noms qui se réfèrent à des constantes. Ces "
"noms doivent impérativement être qualifiés (contenir un point) pour ne pas "
"être interprétés comme des variables de capture."
#: tutorial/controlflow.rst:410
msgid ""
"For a more detailed explanation and additional examples, you can look into :"
"pep:`636` which is written in a tutorial format."
msgstr ""
"Pour plus d'explications et d'exemples, lire la :pep:`636` (en anglais), qui "
"est écrite sous forme de tutoriel."
#: tutorial/controlflow.rst:416
msgid "Defining Functions"