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" "Project-Id-Version: Python 3\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-09-23 16:16+0200\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" "Last-Translator: Jean Abou Samra <jean@abou-samra.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n" "Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n" "Language: fr\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.4.1\n" "X-Generator: Poedit 3.0\n"
#: tutorial/controlflow.rst:5 #: tutorial/controlflow.rst:5
msgid "More Control Flow Tools" msgid "More Control Flow Tools"
@ -60,6 +60,9 @@ msgid ""
"specific types or attributes, you may also find the :keyword:`!match` " "specific types or attributes, you may also find the :keyword:`!match` "
"statement useful. For more details see :ref:`tut-match`." "statement useful. For more details see :ref:`tut-match`."
msgstr "" 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 #: tutorial/controlflow.rst:46
msgid ":keyword:`!for` Statements" msgid ":keyword:`!for` Statements"
@ -167,15 +170,14 @@ msgstr ""
"paramètre est :func:`sum` ::" "paramètre est :func:`sum` ::"
#: tutorial/controlflow.rst:157 #: tutorial/controlflow.rst:157
#, fuzzy
msgid "" msgid ""
"Later we will see more functions that return iterables and take iterables as " "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 " "arguments. In chapter :ref:`tut-structures`, we will discuss in more detail "
"about :func:`list`." "about :func:`list`."
msgstr "" msgstr ""
"Plus loin nous voyons d'autres fonctions qui donnent des itérables ou en " "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 à " "prennent en paramètre. De plus amples détails sur :func:`list` sont donnés "
"partir d'un *range*, voici la solution ::" "dans :ref:`tut-structures`."
#: tutorial/controlflow.rst:164 #: tutorial/controlflow.rst:164
msgid "" msgid ""
@ -274,9 +276,8 @@ msgstr ""
"L'instruction :keyword:`!pass` est alors ignorée silencieusement ::" "L'instruction :keyword:`!pass` est alors ignorée silencieusement ::"
#: tutorial/controlflow.rst:251 #: tutorial/controlflow.rst:251
#, fuzzy
msgid ":keyword:`!match` Statements" msgid ":keyword:`!match` Statements"
msgstr "L'instruction :keyword:`!pass`" msgstr "L'instruction :keyword:`!match`"
#: tutorial/controlflow.rst:253 #: tutorial/controlflow.rst:253
msgid "" msgid ""
@ -286,28 +287,47 @@ msgid ""
"it can also extract components (sequence elements or object attributes) from " "it can also extract components (sequence elements or object attributes) from "
"the value into variables." "the value into variables."
msgstr "" 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 #: tutorial/controlflow.rst:259
msgid "" msgid ""
"The simplest form compares a subject value against one or more literals::" "The simplest form compares a subject value against one or more literals::"
msgstr "" msgstr ""
"Dans sa plus simple expression, une instruction ``match`` compare une valeur "
"à des littéraux :"
#: tutorial/controlflow.rst:272 #: tutorial/controlflow.rst:272
msgid "" msgid ""
"Note the last block: the \"variable name\" ``_`` acts as a *wildcard* and " "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." "never fails to match. If no case matches, none of the branches is executed."
msgstr "" 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 #: tutorial/controlflow.rst:275
msgid "" msgid ""
"You can combine several literals in a single pattern using ``|`` (\"or\")::" "You can combine several literals in a single pattern using ``|`` (\"or\")::"
msgstr "" msgstr ""
"On peut combiner plusieurs littéraux en un seul filtre avec le signe ``|``, "
"qui se lit OU."
#: tutorial/controlflow.rst:280 #: tutorial/controlflow.rst:280
msgid "" msgid ""
"Patterns can look like unpacking assignments, and can be used to bind " "Patterns can look like unpacking assignments, and can be used to bind "
"variables::" "variables::"
msgstr "" msgstr ""
"Les filtres peuvent prendre une forme similaire aux affectations multiples, "
"et provoquer la liaison de variables :"
#: tutorial/controlflow.rst:296 #: tutorial/controlflow.rst:296
msgid "" msgid ""
@ -318,6 +338,12 @@ msgid ""
"which makes it conceptually similar to the unpacking assignment ``(x, y) = " "which makes it conceptually similar to the unpacking assignment ``(x, y) = "
"point``." "point``."
msgstr "" 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 #: tutorial/controlflow.rst:303
msgid "" msgid ""
@ -325,6 +351,10 @@ msgid ""
"followed by an argument list resembling a constructor, but with the ability " "followed by an argument list resembling a constructor, but with the ability "
"to capture attributes into variables::" "to capture attributes into variables::"
msgstr "" 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 #: tutorial/controlflow.rst:324
msgid "" msgid ""
@ -335,6 +365,13 @@ msgid ""
"\"y\"), the following patterns are all equivalent (and all bind the ``y`` " "\"y\"), the following patterns are all equivalent (and all bind the ``y`` "
"attribute to the ``var`` variable)::" "attribute to the ``var`` variable)::"
msgstr "" 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 #: tutorial/controlflow.rst:335
msgid "" msgid ""
@ -346,12 +383,22 @@ msgid ""
"(recognized by the \"(...)\" next to them like ``Point`` above) are never " "(recognized by the \"(...)\" next to them like ``Point`` above) are never "
"assigned to." "assigned to."
msgstr "" 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 #: tutorial/controlflow.rst:342
msgid "" msgid ""
"Patterns can be arbitrarily nested. For example, if we have a short list of " "Patterns can be arbitrarily nested. For example, if we have a short list of "
"points, we could match it like this::" "points, we could match it like this::"
msgstr "" 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 #: tutorial/controlflow.rst:357
msgid "" msgid ""
@ -359,10 +406,15 @@ msgid ""
"guard is false, ``match`` goes on to try the next case block. Note that " "guard is false, ``match`` goes on to try the next case block. Note that "
"value capture happens before the guard is evaluated::" "value capture happens before the guard is evaluated::"
msgstr "" 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 #: tutorial/controlflow.rst:367
msgid "Several other key features of this statement:" msgid "Several other key features of this statement:"
msgstr "" msgstr "Voici quelques autres éléments sur cette instruction :"
#: tutorial/controlflow.rst:369 #: tutorial/controlflow.rst:369
msgid "" msgid ""
@ -370,6 +422,10 @@ msgid ""
"meaning and actually match arbitrary sequences. An important exception is " "meaning and actually match arbitrary sequences. An important exception is "
"that they don't match iterators or strings." "that they don't match iterators or strings."
msgstr "" 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 #: tutorial/controlflow.rst:373
msgid "" msgid ""
@ -378,6 +434,12 @@ msgid ""
"also be ``_``, so ``(x, y, *_)`` matches a sequence of at least two items " "also be ``_``, so ``(x, y, *_)`` matches a sequence of at least two items "
"without binding the remaining items." "without binding the remaining items."
msgstr "" 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 #: tutorial/controlflow.rst:378
msgid "" msgid ""
@ -386,34 +448,53 @@ msgid ""
"sequence patterns, extra keys are ignored. An unpacking like ``**rest`` is " "sequence patterns, extra keys are ignored. An unpacking like ``**rest`` is "
"also supported. (But ``**_`` would be redundant, so it not allowed.)" "also supported. (But ``**_`` would be redundant, so it not allowed.)"
msgstr "" 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 #: tutorial/controlflow.rst:383
msgid "Subpatterns may be captured using the ``as`` keyword::" msgid "Subpatterns may be captured using the ``as`` keyword::"
msgstr "" msgstr ""
"On peut capturer la valeur d'une partie d'un filtre avec le mot-clé ``as``, "
"par exemple :"
#: tutorial/controlflow.rst:387 #: tutorial/controlflow.rst:387
msgid "" msgid ""
"will capture the second element of the input as ``p2`` (as long as the input " "will capture the second element of the input as ``p2`` (as long as the input "
"is a sequence of two points)" "is a sequence of two points)"
msgstr "" 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 #: tutorial/controlflow.rst:390
msgid "" msgid ""
"Most literals are compared by equality, however the singletons ``True``, " "Most literals are compared by equality, however the singletons ``True``, "
"``False`` and ``None`` are compared by identity." "``False`` and ``None`` are compared by identity."
msgstr "" 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 #: tutorial/controlflow.rst:393
msgid "" msgid ""
"Patterns may use named constants. These must be dotted names to prevent " "Patterns may use named constants. These must be dotted names to prevent "
"them from being interpreted as capture variable::" "them from being interpreted as capture variable::"
msgstr "" 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 #: tutorial/controlflow.rst:410
msgid "" msgid ""
"For a more detailed explanation and additional examples, you can look into :" "For a more detailed explanation and additional examples, you can look into :"
"pep:`636` which is written in a tutorial format." "pep:`636` which is written in a tutorial format."
msgstr "" 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 #: tutorial/controlflow.rst:416
msgid "Defining Functions" msgid "Defining Functions"