forked from AFPy/python-docs-fr
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:
parent
30507a7466
commit
9b64cb5f8f
|
@ -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"
|
||||||
|
|
Loading…
Reference in New Issue