From ba6409144a25737eacd33855b2b5d406bf9f654f Mon Sep 17 00:00:00 2001 From: Jean Abou Samra Date: Sat, 16 Oct 2021 23:23:32 +0200 Subject: [PATCH 1/4] Traduction de tutorial/controlflow.po --- tutorial/controlflow.po | 95 +++++++++++++++++++++++++++++++++++++---- 1 file changed, 87 insertions(+), 8 deletions(-) diff --git a/tutorial/controlflow.po b/tutorial/controlflow.po index c131d738b..99a7270e3 100644 --- a/tutorial/controlflow.po +++ b/tutorial/controlflow.po @@ -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 \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 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` seront 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,46 @@ 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é ``_``, qui est un nom de variable " +"spécial. C'est un filtre attrape-tout, qui se calque sur 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 +337,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 ressembler beaucoup à " +"l'affectation multiple ``(x, y) = point``." #: tutorial/controlflow.rst:303 msgid "" @@ -325,6 +350,10 @@ msgid "" "followed by an argument list resembling a constructor, but with the ability " "to capture attributes into variables::" msgstr "" +"Si vos données sont structurées par des 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 +364,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 +382,22 @@ msgid "" "(recognized by the \"(...)\" next to them like ``Point`` above) are never " "assigned to." msgstr "" +"Pour comprendre les filtres, vous pouvez 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 ``ga.bu``), 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 à l'infini. Ainsi, on peut lire une courte " +"liste de points comme ceci :" #: tutorial/controlflow.rst:357 msgid "" @@ -359,10 +405,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 d'abord 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 +421,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 +433,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 +447,52 @@ 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 compris 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" From 7e1b91fb00c12c58d34495845be2a865b8925fbc Mon Sep 17 00:00:00 2001 From: Jean Abou Samra Date: Sat, 16 Oct 2021 23:31:46 +0200 Subject: [PATCH 2/4] powrap tutorial/controlflow.po --- tutorial/controlflow.po | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/tutorial/controlflow.po b/tutorial/controlflow.po index 99a7270e3..f2ddc9764 100644 --- a/tutorial/controlflow.po +++ b/tutorial/controlflow.po @@ -450,10 +450,11 @@ 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.)" +"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::" From 69be1912efe6c4eede2a47a1012a1048f9164524 Mon Sep 17 00:00:00 2001 From: Jean-Abou-Samra <37271310+Jean-Abou-Samra@users.noreply.github.com> Date: Mon, 18 Oct 2021 20:02:57 +0200 Subject: [PATCH 3/4] Suggestions de Christophe Nanteuil Co-authored-by: Christophe Nanteuil <35002064+christopheNan@users.noreply.github.com> --- tutorial/controlflow.po | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/tutorial/controlflow.po b/tutorial/controlflow.po index f2ddc9764..806d74ed6 100644 --- a/tutorial/controlflow.po +++ b/tutorial/controlflow.po @@ -176,7 +176,7 @@ msgid "" "about :func:`list`." msgstr "" "Plus loin nous voyons d'autres fonctions qui donnent des itérables ou en " -"prennent en paramètre. De plus amples détails sur :func:`list` seront donnés " +"prennent en paramètre. De plus amples détails sur :func:`list` sont donnés " "dans :ref:`tut-structures`." #: tutorial/controlflow.rst:164 @@ -308,8 +308,8 @@ 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é ``_``, qui est un nom de variable " -"spécial. C'est un filtre attrape-tout, qui se calque sur toutes les valeurs. " +"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." @@ -341,7 +341,7 @@ msgstr "" "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 ressembler beaucoup à " +"est constitué de deux variables, ce qui le fait beaucoup ressembler à " "l'affectation multiple ``(x, y) = point``." #: tutorial/controlflow.rst:303 @@ -350,7 +350,7 @@ msgid "" "followed by an argument list resembling a constructor, but with the ability " "to capture attributes into variables::" msgstr "" -"Si vos données sont structurées par des classes, vous pouvez former des " +"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." @@ -382,12 +382,12 @@ msgid "" "(recognized by the \"(...)\" next to them like ``Point`` above) are never " "assigned to." msgstr "" -"Pour comprendre les filtres, vous pouvez les voir comme une extension de ce " +"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 ``ga.bu``), les noms d'attributs (tels que ``x=`` et " +"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``)." @@ -396,7 +396,7 @@ 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 à l'infini. Ainsi, on peut lire une courte " +"On peut imbriquer les filtres autant que de besoin. Ainsi, on peut lire une courte " "liste de points comme ceci :" #: tutorial/controlflow.rst:357 @@ -406,7 +406,7 @@ msgid "" "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 d'abord testée, et si elle " +"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." @@ -421,7 +421,7 @@ 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 " +"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." @@ -453,8 +453,8 @@ msgstr "" "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.)" +"fonctionne aussi (cependant, ``**_`` serait redondant et n'est donc pas " +"permis)." #: tutorial/controlflow.rst:383 msgid "Subpatterns may be captured using the ``as`` keyword::" @@ -485,7 +485,7 @@ msgid "" 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 compris comme des variables de capture." +"être interprétés comme des variables de capture." #: tutorial/controlflow.rst:410 msgid "" From b0f7151eadb0cf1612f2f7854b337a856595c4ee Mon Sep 17 00:00:00 2001 From: Jean Abou Samra Date: Mon, 18 Oct 2021 20:04:05 +0200 Subject: [PATCH 4/4] powrap tutorial/controlflow.po --- tutorial/controlflow.po | 43 +++++++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/tutorial/controlflow.po b/tutorial/controlflow.po index 806d74ed6..3a2a49bc6 100644 --- a/tutorial/controlflow.po +++ b/tutorial/controlflow.po @@ -308,10 +308,11 @@ 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." +"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 "" @@ -350,10 +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." +"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 "" @@ -382,22 +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``)." +"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 :" +"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 "" @@ -406,9 +407,9 @@ msgid "" "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 " +"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