From 8dd88418ce17b91019f453019b02acb59885f1ab Mon Sep 17 00:00:00 2001 From: Catadanna Date: Wed, 30 Sep 2020 18:19:19 +0200 Subject: [PATCH 01/22] Traduction de extending/newtypes.po --- extending/newtypes.po | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/extending/newtypes.po b/extending/newtypes.po index c478a12a3..f4b2458b9 100644 --- a/extending/newtypes.po +++ b/extending/newtypes.po @@ -7,13 +7,13 @@ msgstr "" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-09-23 16:16+0200\n" "PO-Revision-Date: 2021-02-07 20:03+0100\n" -"Last-Translator: \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.3\n" +"Last-Translator: \n" #: extending/newtypes.rst:7 msgid "Defining Extension Types: Assorted Topics" @@ -216,6 +216,9 @@ msgid "" "Most extension types only use *simple* attributes. So, what makes the " "attributes simple? There are only a couple of conditions that must be met:" msgstr "" +"La plupart des types d'extension n'utilisent que des attributs *simples*. " +"Alors, qu'est-ce qui rend les attributs simples ? Il y a seulement quelques " +"conditions qui doivent être remplies :" #: extending/newtypes.rst:224 msgid "" @@ -230,12 +233,18 @@ msgid "" "No special processing is needed to record that an attribute was looked up or " "set, nor do actions need to be taken based on the value." msgstr "" +"Aucun traitement spécial n'est nécessaire pour enregistrer qu'un attribut a " +"été recherché ou défini, et aucune action ne doit être entreprise sur la " +"base de la valeur." #: extending/newtypes.rst:230 msgid "" "Note that this list does not place any restrictions on the values of the " "attributes, when the values are computed, or how relevant data is stored." msgstr "" +"Notez que cette liste n'impose aucune restriction quant aux valeurs des " +"attributs, au moment où les valeurs sont calculées, ou à la manière dont les " +"données pertinentes sont stockées." #: extending/newtypes.rst:233 msgid "" @@ -466,6 +475,11 @@ msgid "" "which is why you should be careful to avoid returning it when hash " "computation is successful, as seen above." msgstr "" +":c:type:`Py_hash_t` est un type d'entier signé avec une largeur variable " +"selon la plateforme. Le renvoi ``-1`` lorsqu'on lance :c:member:" +"`~PyTypeObject.tp_hash` indique une erreur, c'est pourquoi vous devez " +"veiller à ne pas le renvoyer lorsque le calcul du hachage est réussi, comme " +"nous l'avons vu plus haut." #: extending/newtypes.rst:473 msgid "" @@ -490,6 +504,8 @@ msgid "" "*args* is a tuple containing the arguments to the call. You can use :c:func:" "`PyArg_ParseTuple` to extract the arguments." msgstr "" +"*args* est un n-uplet qui contient les arguments pour le lancement. Vous " +"pouvez utiliser :c:func:`PyArg_ParseTuple` pour extraire ces arguments." #: extending/newtypes.rst:485 msgid "" @@ -663,7 +679,7 @@ msgstr "" #: extending/newtypes.rst:623 msgid "Download CPython source releases." -msgstr "Télécharger les versions sources de *CPython*." +msgstr "Télécharger les versions sources de CPython." #: extending/newtypes.rst:623 msgid "https://www.python.org/downloads/source/" From d6ecf55ce301f86cfda63d302302258b2776d694 Mon Sep 17 00:00:00 2001 From: Catadanna Date: Thu, 1 Oct 2020 11:03:42 +0200 Subject: [PATCH 02/22] Traduction de extending/newtypes.po 10011103 --- extending/newtypes.po | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/extending/newtypes.po b/extending/newtypes.po index f4b2458b9..dc1281205 100644 --- a/extending/newtypes.po +++ b/extending/newtypes.po @@ -24,6 +24,8 @@ msgid "" "This section aims to give a quick fly-by on the various type methods you can " "implement and what they do." msgstr "" +"Cette section a pour but de donner un aperçu rapide des différents types de " +"méthodes que vous pouvez mettre en œuvre et de ce qu'elles font." #: extending/newtypes.rst:14 msgid "" @@ -37,6 +39,9 @@ msgid "" "type you want to define, the chances are very good that you will only " "implement a handful of these." msgstr "" +"Il y en a *enormement* de méthodes. Mais ne vous inquiétez pas trop : si " +"vous avez un type que vous voulez définir, il y a de fortes chances que vous " +"n'en mettiez en œuvre qu'une poignée." #: extending/newtypes.rst:24 msgid "" @@ -217,7 +222,7 @@ msgid "" "attributes simple? There are only a couple of conditions that must be met:" msgstr "" "La plupart des types d'extension n'utilisent que des attributs *simples*. " -"Alors, qu'est-ce qui rend les attributs simples ? Il y a seulement quelques " +"Alors, qu'est-ce qui rend les attributs simples ? Il y a seulement quelques " "conditions qui doivent être remplies :" #: extending/newtypes.rst:224 @@ -428,7 +433,7 @@ msgstr "" #: extending/newtypes.rst:421 msgid "Abstract Protocol Support" -msgstr "Support pour le protocole abstrait" +msgstr "Prise en charge du protocole abstrait" #: extending/newtypes.rst:423 msgid "" @@ -467,6 +472,9 @@ msgid "" "This function, if you choose to provide it, should return a hash number for " "an instance of your data type. Here is a simple example::" msgstr "" +"Cette fonction, si vous choisissez de la fournir, doit renvoyer un numéro de " +"hachage pour une instance de votre type de données. Voici un exemple " +"simple ::" #: extending/newtypes.rst:464 msgid "" @@ -559,6 +567,11 @@ msgid "" "tp_iter` by returning a new reference to themselves -- and should also " "therefore implement the :c:member:`~PyTypeObject.tp_iternext` handler." msgstr "" +"Les objets qui ne peuvent être itérés qu'une seule fois (généralement en " +"raison des effets secondaires de l'itération, tels que les objets fichiers) " +"peuvent implémenter :c:member:`~PyTypeObject.tp_iter` en renvoyant une " +"nouvelle référence — et devraient donc également implémenter le pointeur :c:" +"member:`~PyTypeObject.tp_iternext`." #: extending/newtypes.rst:536 msgid "" @@ -679,7 +692,7 @@ msgstr "" #: extending/newtypes.rst:623 msgid "Download CPython source releases." -msgstr "Télécharger les versions sources de CPython." +msgstr "Télécharger les versions sources de *CPython*." #: extending/newtypes.rst:623 msgid "https://www.python.org/downloads/source/" From 3eddfd53934f4d35591a2eacaf07a6775689d9a7 Mon Sep 17 00:00:00 2001 From: Catadanna Date: Thu, 1 Oct 2020 11:50:31 +0200 Subject: [PATCH 03/22] Traduction de extending/newtypes.po 10011150 --- extending/newtypes.po | 61 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/extending/newtypes.po b/extending/newtypes.po index dc1281205..a87d6aca0 100644 --- a/extending/newtypes.po +++ b/extending/newtypes.po @@ -59,6 +59,9 @@ msgid "" "appear in various places, almost entirely for diagnostic purposes. Try to " "choose something that will be helpful in such a situation! ::" msgstr "" +"Le nom du type -- comme mentionné dans le chapitre précédent, il apparaîtra " +"à divers endroits, presque entièrement à des fins de diagnostic. Essayez de " +"choisir quelque chose qui vous sera utile dans une telle situation ! ::" #: extending/newtypes.rst:39 msgid "" @@ -68,6 +71,11 @@ msgid "" "`~PyTypeObject.tp_itemsize` field comes in. This will be dealt with " "later. ::" msgstr "" +"Ces champs indiquent au *runtime* la quantité de mémoire à allouer lorsque " +"de nouveaux objets de ce type sont créés. *Python* a une implémentation " +"intégrée pour les structures de longueur variable (par exemple les chaînes " +"de caractères ou les n-uplets), et c'est là qu'intervient le champ :c:member:" +"`~PyTypeObject.tp_itemsize`. Ce sujet sera traité plus tard." #: extending/newtypes.rst:46 msgid "" @@ -98,6 +106,11 @@ msgid "" "here. The object itself needs to be freed here as well. Here is an example " "of this function::" msgstr "" +"Cette fonction est appelée lorsque le nombre de références de l'instance de " +"votre type est réduit à zéro et que l'interpréteur *Python* veut le " +"récupérer. Si votre type a de la mémoire à libérer ou un autre nettoyage à " +"effectuer, vous pouvez le mettre ici. L'objet lui-même doit être libéré ici " +"aussi. Voici un exemple de cette fonction ::" #: extending/newtypes.rst:83 msgid "" @@ -126,6 +139,16 @@ msgid "" "(as in the example above) might end up calling :c:member:`~PyTypeObject." "tp_dealloc` again, causing a double free and a crash." msgstr "" +"Il y a des limites par rapport à ce qu'on peut faire en toute sécurité dans " +"une fonction de *deallocator*. Tout d'abord, si votre type supporte le " +"ramasse-miettes (en utilisant :c:member:`~PyTypeObject.tp_traverse` et/ou :c:" +"member:`~PyTypeObject.tp_clear`), certains des membres de l'objet peuvent " +"avoir été effacés ou finalisés au moment où :c:member:`~PyTypeObject." +"tp_dealloc` est appelé. Ensuite, dans :c:member:`~PyTypeObject.tp_dealloc`, " +"votre objet est dans un état instable : son compte de référence est égal à " +"zéro. Tout appel à un objet ou à une API plus complexe (comme dans l'exemple " +"ci-dessus) pourrait finir par appeler à nouveau :c:member:`~PyTypeObject." +"tp_dealloc`, provoquant à la fois un *free* et une panne." #: extending/newtypes.rst:131 msgid "" @@ -262,6 +285,15 @@ msgid "" "`~PyTypeObject.tp_getattro` and :c:member:`~PyTypeObject.tp_setattro` fields " "``NULL`` as well, allowing the base type to handle attributes." msgstr "" +"Lorsqu'elle est lancée, la fonction :c:func:`PyType_Ready` utilise trois " +"tables référencées par l'objet type qui soit être créé, notamment les " +"instances :term:`descriptor` stockés dans le dictionnaire de l'objet type. " +"Chaque descripteur contrôle l’accès vers un seul attribut de l'instance. " +"Chacune des tables sont optionnelles. Si toutes les trois ont des valeurs " +"``NULL``, les instances du type doivent avoir des attributs hérités de leur " +"type de base, et les champs :c:member:`~PyTypeObject.tp_getattro` et :c:" +"member:`~PyTypeObject.tp_setattro` doivent avoir la valeur ``NULL`` " +"également, afin de permettre au type de base de gérer des attributs." #: extending/newtypes.rst:241 msgid "The tables are declared as three fields of the type object::" @@ -290,6 +322,10 @@ msgid "" "access may be read-only or read-write. The structures in the table are " "defined as::" msgstr "" +"Le second tableau sert à définir les attributs qui correspondent directement " +"aux données stockées dans l'instance. Une grande partie de types primitifs " +"*C* sont pris en charge, et l'accès peut être en lecture seule ou en lecture-" +"écriture. Les structures de la table sont définies comme suit ::" #: extending/newtypes.rst:275 msgid "" @@ -307,6 +343,8 @@ msgid "" "The following flag constants are defined in :file:`structmember.h`; they may " "be combined using bitwise-OR." msgstr "" +"Les constantes de drapeau suivantes sont définies dans :file:`structmember." +"h`. Elles peuvent être combinées à l'aide d'un OU logique." #: extending/newtypes.rst:286 msgid "Constant" @@ -424,6 +462,14 @@ msgid "" "comparison is not implemented and the other object's comparison method " "should be tried, or ``NULL`` if an exception was set." msgstr "" +"Cette fonction est appelée avec deux objets *Python* et l'opérateur comme " +"arguments, où l'opérateur est l'un des objets suivants : ``Py_EQ``, " +"``Py_NE``, ``Py_LE``, ``Py_GT``, ``Py_LT`` ou ``Py_GT``. Il doit comparer " +"les deux objets par rapport à l'opérateur spécifié et retourner ``Py_True`` " +"ou ``Py_False`` si la comparaison est réussie, ``Py_NotImplemented`` pour " +"indiquer que la comparaison n'est pas implémentée et que la méthode de " +"comparaison de l'autre objet doit être essayée, ou ``NULL`` si une exception " +"a été définie." #: extending/newtypes.rst:391 msgid "" @@ -496,6 +542,10 @@ msgid "" "script contains ``obj1('hello')``, the :c:member:`~PyTypeObject.tp_call` " "handler is invoked." msgstr "" +"Cette fonction est appelée lorsqu'une instance de votre type de données est " +"\"appelée\", par exemple, si ``obj1`` est une instance de votre type de " +"données et que le script Python contient ``obj1('hello')``, le gestionnaire :" +"c:member:`~PyTypeObject.tp_call` est invoqué." #: extending/newtypes.rst:477 msgid "This function takes three arguments:" @@ -538,6 +588,13 @@ msgid "" "`~PyTypeObject.tp_iternext` corresponds to the Python :meth:`~iterator." "__next__` method." msgstr "" +"Ces fonctions fournissent une implémentation pour le protocole d'itération. " +"Les deux gestionnaires prennent un seul paramètre, notamment l'instance pour " +"laquelle ils sont appelés, et renvoient une nouvelle référence. En cas " +"d'erreur, ils doivent définir une exception et renvoyer ``NULL``. :c:member:" +"`~PyTypeObject.tp_iter` correspond à la méthode Python :meth:`__iter__`, " +"tandis que :c:member:`~PyTypeObject.tp_iternext` correspond à la méthode " +"*Python* :meth:`~iterator.__next__`." #: extending/newtypes.rst:524 msgid "" @@ -688,7 +745,11 @@ msgid "" msgstr "" "Lorsque vous avez besoin de vérifier qu'un objet est une instance concrète " "du type que vous implémentez, utilisez la fonction :c:func:" +<<<<<<< HEAD "`PyObject_TypeCheck`. Voici un exemple de son utilisation ::" +======= +"`PyObject_TypeCheck`. Voici un exemple de son utilisation :" +>>>>>>> 7f32fae2 (Traduction de extending/newtypes.po 10011150) #: extending/newtypes.rst:623 msgid "Download CPython source releases." From c8565134c19cb6ff8ee9ad96ce1a6508b3ca9618 Mon Sep 17 00:00:00 2001 From: Catadanna Date: Thu, 1 Oct 2020 12:36:57 +0200 Subject: [PATCH 04/22] Traduction de extending/newtypes.po 10011236 --- extending/newtypes.po | 77 +++++++++++++++++++++++++++++++++++++++---- 1 file changed, 70 insertions(+), 7 deletions(-) diff --git a/extending/newtypes.po b/extending/newtypes.po index a87d6aca0..0df54ca12 100644 --- a/extending/newtypes.po +++ b/extending/newtypes.po @@ -75,7 +75,7 @@ msgstr "" "de nouveaux objets de ce type sont créés. *Python* a une implémentation " "intégrée pour les structures de longueur variable (par exemple les chaînes " "de caractères ou les n-uplets), et c'est là qu'intervient le champ :c:member:" -"`~PyTypeObject.tp_itemsize`. Ce sujet sera traité plus tard." +"`~PyTypeObject.tp_itemsize`. Ce sujet sera traité plus tard. ::" #: extending/newtypes.rst:46 msgid "" @@ -126,6 +126,18 @@ msgid "" "the unsafe action, and restoring it when done. This can be done using the :" "c:func:`PyErr_Fetch` and :c:func:`PyErr_Restore` functions::" msgstr "" +"Une exigence importante de la fonction *deallocator* est qu'elle ignore " +"toute exception. Ceci est important, car les *deallocators* sont fréquemment " +"appelés lorsque l'interpréteur déroule la pile *Python* ; lorsque la pile " +"est déroulée en raison d'une exception (plutôt que des retours normaux), " +"rien n'est fait pour protéger les *deallocators* de voir qu'une exception a " +"déjà été définie. Toute action effectuée par un *deallocator* qui pourrait " +"entraîner l'exécution de code *Python* supplémentaire peut détecter qu'une " +"exception a été définie. Cela peut conduire à des erreurs trompeuses de la " +"part de l'interpréteur. La bonne façon de se protéger contre cela est de " +"sauvegarder une exception en attente avant d'exécuter l'action dangereuse, " +"et de la restaurer lorsqu'elle est terminée. Cela peut être fait en " +"utilisant les fonctions :c:func:`PyErr_Fetch` et :c:func:`PyErr_Restore` ::" #: extending/newtypes.rst:122 msgid "" @@ -156,6 +168,10 @@ msgid "" "finalization code in :c:member:`~PyTypeObject.tp_dealloc`, and instead use " "the new :c:member:`~PyTypeObject.tp_finalize` type method." msgstr "" +"À partir de *Python 3.4*, il est recommandé de ne pas mettre de code de " +"finalisation complexe dans :c:member:`~PyTypeObject.tp_dealloc`, et " +"d'utiliser à la place la nouvelle méthode de type :c:member:`~PyTypeObject." +"tp_finalize`." #: extending/newtypes.rst:136 msgid ":pep:`442` explains the new finalization scheme." @@ -171,6 +187,10 @@ msgid "" "object: the :func:`repr` function, and the :func:`str` function. (The :func:" "`print` function just calls :func:`str`.) These handlers are both optional." msgstr "" +"En *Python*, il y a deux façons de générer une représentation textuelle d'un " +"objet : la fonction :func:`repr` et la fonction :func:`str`. (La fonction :" +"func:`print` appelle simplement :func:`str`.) Les deux gestionnaires sont " +"optionnels." #: extending/newtypes.rst:154 msgid "" @@ -178,6 +198,9 @@ msgid "" "containing a representation of the instance for which it is called. Here is " "a simple example::" msgstr "" +"Le gestionnaire :c:member:`~PyTypeObject.tp_repr` doit retourner un objet de " +"type chaîne de caractères contenant une représentation de l'instance pour " +"laquelle il est appelé. Voici un exemple simple ::" #: extending/newtypes.rst:165 msgid "" @@ -196,6 +219,14 @@ msgid "" "human consumption. If :c:member:`~PyTypeObject.tp_str` is not specified, " "the :c:member:`~PyTypeObject.tp_repr` handler is used instead." msgstr "" +"Le gestionnaire :c:member:`~PyTypeObject.tp_str` est à :func:`str` ce que le " +"gestionnaire :c:member:`~PyTypeObject.tp_repr` décrit ci-dessus est à :func:" +"`repr`. C'est-à-dire qu'il est appelé lorsque du code *Python* appelle :func:" +"`str` sur une instance de votre objet. Son implémentation est très similaire " +"à la fonction :c:member:`~PyTypeObject.tp_repr`, mais la chaîne de " +"caractères résultante est destinée à la compréhension humaine. Si :c:member:" +"`~PyTypeObject.tp_str` n'est pas spécifié, le gestionnaire :c:member:" +"`~PyTypeObject.tp_repr` est utilisé à la place." #: extending/newtypes.rst:176 msgid "Here is a simple example::" @@ -223,6 +254,12 @@ msgid "" "`char\\*`, while the other accepts a :c:type:`PyObject\\*`. Each type can " "use whichever pair makes more sense for the implementation's convenience. ::" msgstr "" +"*Python* implémente deux paires de gestionnaires d'attributs ; un type qui " +"supporte les attributs n'a besoin d'implémenter les fonctions que pour une " +"seule paire. La différence est qu'une paire prend le nom de l'attribut comme " +"un :c:type:`char\\*`, alors que l'autre accepte un :c:type:`PyObject\\*`. " +"Chaque type peut utiliser la paire la plus logique pour la facilité de " +"l'implémentation. ::" #: extending/newtypes.rst:208 msgid "" @@ -314,6 +351,11 @@ msgid "" "needed at the end; it is a sentinel that marks the end of the array. The :" "attr:`ml_name` field of the sentinel must be ``NULL``." msgstr "" +"Une entrée doit être définie pour chaque méthode fournie par le type ; " +"aucune entrée n'est nécessaire pour les méthodes héritées d'un type de base. " +"Une entrée supplémentaire est nécessaire à la fin ; il s'agit d'une " +"sentinelle qui marque la fin du tableau. Le champ :attr:`ml_name` de la " +"sentinelle doit être ``NULL``." #: extending/newtypes.rst:263 msgid "" @@ -425,6 +467,9 @@ msgid "" "requires an attribute look-up. It is called in the same situations where " "the :meth:`__getattr__` method of a class would be called." msgstr "" +"Le gestionnaire :c:member:`~PyTypeObject.tp_getattr` est appelé lorsque " +"l'objet nécessite une recherche d'attributs. Il est appelé dans les mêmes " +"situations où la méthode de classe :meth:`__getattr__` est appelée." #: extending/newtypes.rst:342 msgid "Here is an example::" @@ -439,6 +484,12 @@ msgid "" "really all you wanted, the :c:member:`~PyTypeObject.tp_setattr` handler " "should be set to ``NULL``. ::" msgstr "" +"Le gestionnaire :c:member:`~PyTypeObject.tp_setattr` est appelé lorsque la " +"méthode :meth:`__setattr__` ou :meth:`__delattr__` d'une instance de classe " +"est appelée. Lorsqu'un attribut doit être supprimé, le troisième paramètre " +"doit être ``NULL``. Voici un exemple qui soulève simplement une exception ; " +"si c'était vraiment tout ce que vous vouliez, le gestionnaire :c:member:" +"`~PyTypeObject.tp_setattr` doit être instancié à ``NULL``. ::" #: extending/newtypes.rst:372 msgid "Object Comparison" @@ -451,6 +502,11 @@ msgid "" "methods `, like :meth:`__lt__`, and also called by :c:func:" "`PyObject_RichCompare` and :c:func:`PyObject_RichCompareBool`." msgstr "" +"Le gestionnaire :c:member:`~PyTypeObject.tp_richcompare` est appelé lorsque " +"des comparaisons sont nécessaires. Il est analogue aux méthodes de " +"comparaison :ref:`rich `, comme :meth:`__lt__`, et également " +"appelé par :c:func:`PyObject_RichCompare` et :c:func:" +"`PyObject_RichCompareBool`." #: extending/newtypes.rst:383 msgid "" @@ -476,6 +532,8 @@ msgid "" "Here is a sample implementation, for a datatype that is considered equal if " "the size of an internal pointer is equal::" msgstr "" +"Voici un exemple d'implémentation, pour un type de données qui est considéré " +"comme égal si la taille d'un pointeur interne est égale ::" #: extending/newtypes.rst:421 msgid "Abstract Protocol Support" @@ -486,6 +544,9 @@ msgid "" "Python supports a variety of *abstract* 'protocols;' the specific interfaces " "provided to use these interfaces are documented in :ref:`abstract`." msgstr "" +"Python implémente une multitude de 'protocoles' *abstraits* ; les interfaces " +"spécifiques fournies pour utiliser ces interfaces sont documentées dans :ref:" +"`abstract`." #: extending/newtypes.rst:427 msgid "" @@ -573,6 +634,12 @@ msgid "" "to support keyword arguments and this is non-``NULL``, raise a :exc:" "`TypeError` with a message saying that keyword arguments are not supported." msgstr "" +"*kwds* est un dictionnaire d'arguments de mots-clés. S'il s'agit d'un " +"dictionnaire non ``NULL`` et que vous implémentez les arguments de mots-" +"clés, utilisez :c:func:`PyArg_ParseTupleAndKeywords` pour extraire les " +"arguments. Si vous ne voulez pas implémenter les arguments de mots-clés et " +"que c'est non ``NULL``, levez une exception :exc:`TypeError` avec un message " +"d'erreur indiquant que les arguments de mots-clés ne sont pas supportés." #: extending/newtypes.rst:491 msgid "Here is a toy ``tp_call`` implementation::" @@ -657,8 +724,8 @@ msgid "" msgstr "" "L'un des objectifs de l'implémentation de la référence faible de *Python* " "est de permettre à tout type d'objet de participer au mécanisme de référence " -"faible sans avoir à supporter le surcoût de la performance critique des " -"certains objets, tels que les nombres." +"faible sans avoir à supporter le surcoût des objets à performance critique " +"(tels que les nombres)." #: extending/newtypes.rst:559 msgid "Documentation for the :mod:`weakref` module." @@ -745,11 +812,7 @@ msgid "" msgstr "" "Lorsque vous avez besoin de vérifier qu'un objet est une instance concrète " "du type que vous implémentez, utilisez la fonction :c:func:" -<<<<<<< HEAD "`PyObject_TypeCheck`. Voici un exemple de son utilisation ::" -======= -"`PyObject_TypeCheck`. Voici un exemple de son utilisation :" ->>>>>>> 7f32fae2 (Traduction de extending/newtypes.po 10011150) #: extending/newtypes.rst:623 msgid "Download CPython source releases." From 1a87f8398d41a92842982568589e46e183a2813e Mon Sep 17 00:00:00 2001 From: Catadanna Date: Thu, 1 Oct 2020 13:31:10 +0200 Subject: [PATCH 05/22] Traduction de extending/newtypes.po 10011331 --- extending/newtypes.po | 63 ++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 60 insertions(+), 3 deletions(-) diff --git a/extending/newtypes.po b/extending/newtypes.po index 0df54ca12..6f2e472b6 100644 --- a/extending/newtypes.po +++ b/extending/newtypes.po @@ -32,6 +32,8 @@ msgid "" "Here is the definition of :c:type:`PyTypeObject`, with some fields only used " "in :ref:`debug builds ` omitted:" msgstr "" +"Voici la définition de :c:type:`PyTypeObject`, avec certains champs utilisés " +"uniquement dans les constructions de débogage omis :" #: extending/newtypes.rst:20 msgid "" @@ -208,6 +210,9 @@ msgid "" "interpreter will supply a representation that uses the type's :c:member:" "`~PyTypeObject.tp_name` and a uniquely-identifying value for the object." msgstr "" +"Si aucun gestionnaire :c:member:`~PyTypeObject.tp_repr` n'est spécifié, " +"l'interpréteur fournira une représentation qui utilise le type :c:member:" +"`~PyTypeObject.tp_name` et une valeur d'identification unique pour l'objet." #: extending/newtypes.rst:169 msgid "" @@ -245,6 +250,13 @@ msgid "" "an attribute is a special case, for which the new value passed to the " "handler is ``NULL``." msgstr "" +"Pour chaque objet qui permet d'implémenter des attributs, le type " +"correspondant doit fournir les fonctions qui contrôlent la manière dont les " +"attributs soient résolus. Il doit y avoir une fonction qui peut récupérer " +"les attributs (s'ils sont définis), et une autre pour définir les attributs " +"(si la définition des attributs est autorisée). La suppression d'un attribut " +"est un cas particulier, pour lequel la nouvelle valeur transmise au " +"gestionnaire est ``NULL``." #: extending/newtypes.rst:196 msgid "" @@ -343,6 +355,9 @@ msgid "" "array of :c:type:`PyMethodDef` structures. Each entry in the table is an " "instance of this structure::" msgstr "" +"Si :c:member:`~PyTypeObject.tp_methods` n'est pas ``NULL``, il doit faire " +"référence à un tableau de structures :c:type:`PyMethodDef`. Chaque entrée du " +"tableau est une instance de cette structure ::" #: extending/newtypes.rst:258 msgid "" @@ -379,6 +394,13 @@ msgid "" "`flags` field is used to store flags which control how the attribute can be " "accessed." msgstr "" +"Pour chaque entrée du tableau, un :term:`descriptor` sera construit et " +"ajouté au type, qui pourra extraire une valeur de la structure d'instance. " +"Le champ :attr:`type` doit contenir un des codes de type définis dans l'en-" +"tête :file:`structmember.h` ; la valeur sera utilisée pour déterminer " +"comment convertir les valeurs de type *Python* en valeurs de type *C* et " +"inversement. Le champ :attr:`flags` est utilisé pour stocker des drapeaux " +"qui contrôlent la manière dont l'attribut peut être accédé." #: extending/newtypes.rst:282 msgid "" @@ -438,13 +460,15 @@ msgstr "" "peut associer un *docstring*, en écrivant simplement le texte dans la table. " "Une application peut utiliser l'API d'introspection pour récupérer le " "descripteur de l'objet de classe, et utiliser son attribut :attr:`__doc__` " -"pour renvoyer le *docstring*." +"pour renvoyer la *docstring*." #: extending/newtypes.rst:314 msgid "" "As with the :c:member:`~PyTypeObject.tp_methods` table, a sentinel entry " "with a :attr:`name` value of ``NULL`` is required." msgstr "" +"Comme pour la table :c:member:`~PyTypeObject.tp_methods`, une entrée " +"sentinelle avec une valeur :attr:`name` de ``NULL`` est requise." #: extending/newtypes.rst:328 msgid "Type-specific Attribute Management" @@ -562,6 +586,19 @@ msgid "" "values are non-``NULL``. The flag may be set to indicate the presence of a " "slot, but a slot may still be unfilled.) ::" msgstr "" +"Un certain nombre de ces interfaces abstraites ont été définies au début du " +"développement de l'implémentation de *Python*. En particulier, le nombre, la " +"cartographie et les protocoles de séquence font partie de *Python* depuis le " +"début. D'autres protocoles ont été ajoutés au fil du temps. Pour les " +"protocoles qui dépendent de plusieurs routines de gestionnaires de " +"l'implémentation de type, les anciens protocoles ont été définis comme des " +"blocs optionnels de gestionnaires référencés par l'objet de type. Pour les " +"protocoles plus récents, il y a des emplacements supplémentaires dans " +"l'objet de type principal, avec un bit indicateur qui indique que les " +"emplacements sont présents et doivent être vérifiés par l'interpréteur. " +"(L'octet indicateur n'indique pas que les valeurs des *slots* ne sont pas " +"``NULL``. Le drapeau peut être positionné pour indiquer la présence d'un " +"*slot*, mais un *slot* peut toujours être non rempli). ::" #: extending/newtypes.rst:442 msgid "" @@ -573,6 +610,13 @@ msgid "" "of these in the :file:`Objects` directory of the Python source " "distribution. ::" msgstr "" +"Si vous souhaitez que votre objet puisse agir en tant que nombre, une " +"séquence ou un objet de mappage, vous placez alors l'adresse d'une structure " +"qui met en œuvre les méthodes de type *C* :c:type:`PyNumberMethods`, :c:type:" +"`PySequenceMethods`, ou :c:type:`PyMappingMethods`, respectivement. C'est à " +"vous de remplir cette structure avec des valeurs appropriées. Vous pouvez " +"trouver des exemples de l'utilisation de chacune de ces valeurs dans le " +"répertoire :file:`Objects` de la distribution source *Python*. ::" #: extending/newtypes.rst:451 msgid "" @@ -617,6 +661,8 @@ msgid "" "*self* is the instance of the data type which is the subject of the call. If " "the call is ``obj1('hello')``, then *self* is ``obj1``." msgstr "" +"*self* est l'instance du type de données qui fait l'objet de l'appel. Si " +"l'appel est ``obj1('hello')``, alors *self* est ``obj1``." #: extending/newtypes.rst:482 msgid "" @@ -671,8 +717,8 @@ msgid "" msgstr "" "Tout objet :term:`iterable` doit implémenter le gestionnaire :c:member:" "`~PyTypeObject.tp_iter`, qui doit renvoyer un objet de type :term:" -"`iterator`. Ici, les mêmes directives s'appliquent de la même façon que " -"pour les classes *Python* :" +"`iterator`. Ici, les mêmes directives s'appliquent que pour les classes " +"*Python* :" #: extending/newtypes.rst:528 msgid "" @@ -711,6 +757,17 @@ msgid "" "`~PyTypeObject.tp_iternext` should always set an exception and return " "``NULL``." msgstr "" +"Tout objet :term:`iterator` doit implémenter à la fois :c:member:" +"`~PyTypeObject.tp_iter` et :c:member:`~PyTypeObject.tp_iternext`. Le " +"gestionnaire :c:member:`~PyTypeObject.tp_iter` d'un itérateur doit renvoyer " +"une nouvelle référence à l'itérateur. Son gestionnaire :c:member:" +"`~PyTypeObject.tp_iternext` doit renvoyer une nouvelle référence à l'objet " +"suivant dans l'itération, s'il y en a un. Si l'itération a atteint la fin, :" +"c:member:`~PyTypeObject.tp_iternext` peut renvoyer ``NULL`` sans définir " +"d'exception, ou il peut définir :exc:`StopIteration` *en plus* de renvoyer " +"``NULL`` ; contourner l'exception peut donner des performances légèrement " +"meilleures. Si une erreur réelle se produit, :c:member:`~PyTypeObject." +"tp_iternext` doit toujours définir une exception et renvoyer ``NULL``." #: extending/newtypes.rst:552 msgid "Weak Reference Support" From 9e2c40a06f177f1b4b48a50d800f9cfcfbce3d81 Mon Sep 17 00:00:00 2001 From: Catadanna Date: Thu, 1 Oct 2020 15:17:42 +0200 Subject: [PATCH 06/22] Traduction de extending/newtypes.po 10011150 --- extending/newtypes.po | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/extending/newtypes.po b/extending/newtypes.po index 6f2e472b6..38403750c 100644 --- a/extending/newtypes.po +++ b/extending/newtypes.po @@ -54,6 +54,13 @@ msgid "" "that includes the fields you need and then change the values to suit your " "new type. ::" msgstr "" +"Comme vous vous en doutez probablement maintenant, nous allons passer cela " +"en revue et vous donner plus d'informations sur les différents " +"gestionnaires. Nous n'allons pas suivre l'ordre dans lequel ils sont définis " +"dans la structure, parce beaucoup d'informations préliminaires peuvent avoir " +"un impact sur l'ordre des champs. Il est souvent plus facile de trouver un " +"exemple qui inclut les champs dont vous avez besoin et de modifier les " +"valeurs en fonction de votre nouveau type. ::" #: extending/newtypes.rst:33 msgid "" @@ -154,7 +161,7 @@ msgid "" "tp_dealloc` again, causing a double free and a crash." msgstr "" "Il y a des limites par rapport à ce qu'on peut faire en toute sécurité dans " -"une fonction de *deallocator*. Tout d'abord, si votre type supporte le " +"une fonction de *deallocator*. Tout d'abord, si votre type implémente le " "ramasse-miettes (en utilisant :c:member:`~PyTypeObject.tp_traverse` et/ou :c:" "member:`~PyTypeObject.tp_clear`), certains des membres de l'objet peuvent " "avoir été effacés ou finalisés au moment où :c:member:`~PyTypeObject." @@ -200,7 +207,7 @@ msgid "" "containing a representation of the instance for which it is called. Here is " "a simple example::" msgstr "" -"Le gestionnaire :c:member:`~PyTypeObject.tp_repr` doit retourner un objet de " +"Le gestionnaire :c:member:`~PyTypeObject.tp_repr` doit renvoyer un objet de " "type chaîne de caractères contenant une représentation de l'instance pour " "laquelle il est appelé. Voici un exemple simple ::" @@ -267,7 +274,7 @@ msgid "" "use whichever pair makes more sense for the implementation's convenience. ::" msgstr "" "*Python* implémente deux paires de gestionnaires d'attributs ; un type qui " -"supporte les attributs n'a besoin d'implémenter les fonctions que pour une " +"implémente les attributs n'a besoin d'implémenter les fonctions que pour une " "seule paire. La différence est qu'une paire prend le nom de l'attribut comme " "un :c:type:`char\\*`, alors que l'autre accepte un :c:type:`PyObject\\*`. " "Chaque type peut utiliser la paire la plus logique pour la facilité de " @@ -283,6 +290,13 @@ msgid "" "examples which have not been updated to use some of the new generic " "mechanism that is available." msgstr "" +"Si l'accès aux attributs d'un objet est toujours une opération simple (ceci " +"sera expliqué prochainement), il existe des implémentations génériques qui " +"peuvent être utilisées pour fournir la version :c:type:`PyObject\\*` des " +"fonctions de gestion des attributs. Le besoin réel des gestionnaires " +"d'attributs spécifiques au type a presque complètement disparu à partir de " +"Python 2.2, bien qu'il existe de nombreux exemples qui n'ont pas été mis à " +"jour pour utiliser certains des nouveaux mécanismes génériques disponibles." #: extending/newtypes.rst:219 msgid "Generic Attribute Management" @@ -484,6 +498,14 @@ msgid "" "handler functions are called, so that if you do need to extend their " "functionality, you'll understand what needs to be done." msgstr "" +"Par souci de simplicité, seule la version :c:type:`char\\*` sera présentée " +"ici. Le type du paramètre nom est la seule différence entre les nuances :c:" +"type:`char\\*` et :c:type:`PyObject\\*` de l'interface. Cet exemple fait " +"effectivement la même chose que l'exemple générique ci-dessus, mais " +"n'utilise pas l'implémentation générique ajouté dans Python 2.2. Il explique " +"comment les fonctions du gestionnaire sont appelées, de sorte que si vous " +"avez besoin d'étendre leurs fonctionnalités, vous comprendrez ce qu'il faut " +"faire." #: extending/newtypes.rst:338 msgid "" @@ -544,8 +566,8 @@ msgid "" msgstr "" "Cette fonction est appelée avec deux objets *Python* et l'opérateur comme " "arguments, où l'opérateur est l'un des objets suivants : ``Py_EQ``, " -"``Py_NE``, ``Py_LE``, ``Py_GT``, ``Py_LT`` ou ``Py_GT``. Il doit comparer " -"les deux objets par rapport à l'opérateur spécifié et retourner ``Py_True`` " +"``Py_NE``, ``Py_LE``, ``Py_GT``, ``Py_LT`` ou ``Py_GT``. Il doit comparer " +"les deux objets par rapport à l'opérateur spécifié et renvoyer ``Py_True`` " "ou ``Py_False`` si la comparaison est réussie, ``Py_NotImplemented`` pour " "indiquer que la comparaison n'est pas implémentée et que la méthode de " "comparaison de l'autre objet doit être essayée, ou ``NULL`` si une exception " From c3f3522769e98edf12865883b9d6d32b18b395d9 Mon Sep 17 00:00:00 2001 From: Catadanna Date: Wed, 21 Oct 2020 14:09:16 +0200 Subject: [PATCH 07/22] =?UTF-8?q?Correction=20m=C3=A9thodes=20de=20type?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- extending/newtypes.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/extending/newtypes.po b/extending/newtypes.po index 38403750c..89980d793 100644 --- a/extending/newtypes.po +++ b/extending/newtypes.po @@ -24,8 +24,8 @@ msgid "" "This section aims to give a quick fly-by on the various type methods you can " "implement and what they do." msgstr "" -"Cette section a pour but de donner un aperçu rapide des différents types de " -"méthodes que vous pouvez mettre en œuvre et de ce qu'elles font." +"Cette section a pour but de donner un aperçu rapide des différentes méthodes " +"de type que vous pouvez mettre en œuvre et de ce qu'elles font." #: extending/newtypes.rst:14 msgid "" From a43ee6ddab5aac1df70df83c44b074f980875795 Mon Sep 17 00:00:00 2001 From: Catalina Chircu <35842763+Catadanna@users.noreply.github.com> Date: Thu, 19 Nov 2020 00:52:48 +0100 Subject: [PATCH 08/22] Update extending/newtypes.po Co-authored-by: Julien Palard --- extending/newtypes.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extending/newtypes.po b/extending/newtypes.po index 89980d793..274eded76 100644 --- a/extending/newtypes.po +++ b/extending/newtypes.po @@ -41,7 +41,7 @@ msgid "" "type you want to define, the chances are very good that you will only " "implement a handful of these." msgstr "" -"Il y en a *enormement* de méthodes. Mais ne vous inquiétez pas trop : si " +"Ça fait *beaucoup* de méthodes. Mais ne vous inquiétez pas trop : si " "vous avez un type que vous voulez définir, il y a de fortes chances que vous " "n'en mettiez en œuvre qu'une poignée." From 9b5206f6ad8d029f2ff7daf76e02d02e720ff519 Mon Sep 17 00:00:00 2001 From: Catadanna Date: Sun, 7 Feb 2021 20:21:21 +0100 Subject: [PATCH 09/22] =?UTF-8?q?Correcttions=20f=C3=A9vrier=202021?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- extending/newtypes.po | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/extending/newtypes.po b/extending/newtypes.po index 274eded76..95f518915 100644 --- a/extending/newtypes.po +++ b/extending/newtypes.po @@ -41,9 +41,9 @@ msgid "" "type you want to define, the chances are very good that you will only " "implement a handful of these." msgstr "" -"Ça fait *beaucoup* de méthodes. Mais ne vous inquiétez pas trop : si " -"vous avez un type que vous voulez définir, il y a de fortes chances que vous " -"n'en mettiez en œuvre qu'une poignée." +"Ça fait *beaucoup* de méthodes. Mais ne vous inquiétez pas trop : si vous " +"avez un type que vous voulez définir, il y a de fortes chances que vous n'en " +"mettiez en œuvre qu'une poignée." #: extending/newtypes.rst:24 msgid "" From af2c3f4d6032ed2cf6045375f0ff340217745ac5 Mon Sep 17 00:00:00 2001 From: Catadanna Date: Sun, 7 Feb 2021 21:09:15 +0100 Subject: [PATCH 10/22] Corrections 20210207 21:08 --- extending/newtypes.po | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/extending/newtypes.po b/extending/newtypes.po index 95f518915..0e93383c6 100644 --- a/extending/newtypes.po +++ b/extending/newtypes.po @@ -32,8 +32,8 @@ msgid "" "Here is the definition of :c:type:`PyTypeObject`, with some fields only used " "in :ref:`debug builds ` omitted:" msgstr "" -"Voici la définition de :c:type:`PyTypeObject`, avec certains champs utilisés " -"uniquement dans les constructions de débogage omis :" +"Voici comment on définit :c:type:`PyTypeObject`, sans les champs spécifiques " +"aux compilations de débogage :" #: extending/newtypes.rst:20 msgid "" @@ -41,9 +41,9 @@ msgid "" "type you want to define, the chances are very good that you will only " "implement a handful of these." msgstr "" -"Ça fait *beaucoup* de méthodes. Mais ne vous inquiétez pas trop : si vous " -"avez un type que vous voulez définir, il y a de fortes chances que vous n'en " -"mettiez en œuvre qu'une poignée." +"Il y a *beaucoup* de méthodes pré-définies. Mais ne vous inquiétez pas " +"trop : si vous avez besoin de définir un nouveau type, il y a de fortes " +"chances que vous n'en mettiez en œuvre que très peu de méthodes spécifiques." #: extending/newtypes.rst:24 msgid "" @@ -55,10 +55,10 @@ msgid "" "new type. ::" msgstr "" "Comme vous vous en doutez probablement maintenant, nous allons passer cela " -"en revue et vous donner plus d'informations sur les différents " -"gestionnaires. Nous n'allons pas suivre l'ordre dans lequel ils sont définis " -"dans la structure, parce beaucoup d'informations préliminaires peuvent avoir " -"un impact sur l'ordre des champs. Il est souvent plus facile de trouver un " +"en revue et vous donner plus d'informations sur les différents méthodes. " +"Nous n'allons pas suivre l'ordre dans lequel ils sont définis dans la " +"structure, parce beaucoup d'informations préliminaires peuvent avoir un " +"impact sur l'ordre des champs. Il est souvent plus facile de trouver un " "exemple qui inclut les champs dont vous avez besoin et de modifier les " "valeurs en fonction de votre nouveau type. ::" @@ -69,8 +69,8 @@ msgid "" "choose something that will be helpful in such a situation! ::" msgstr "" "Le nom du type -- comme mentionné dans le chapitre précédent, il apparaîtra " -"à divers endroits, presque entièrement à des fins de diagnostic. Essayez de " -"choisir quelque chose qui vous sera utile dans une telle situation ! ::" +"à divers endroits, dans la plupart de cas à des fins de diagnostic. Essayez " +"de choisir quelque chose qui vous sera utile dans une telle situation ! ::" #: extending/newtypes.rst:39 msgid "" From 70ad20f732664819993526a727e45f37ba81c62f Mon Sep 17 00:00:00 2001 From: Catadanna Date: Sun, 7 Feb 2021 21:38:42 +0100 Subject: [PATCH 11/22] Corrections --- extending/newtypes.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/extending/newtypes.po b/extending/newtypes.po index 0e93383c6..10c2e4559 100644 --- a/extending/newtypes.po +++ b/extending/newtypes.po @@ -92,7 +92,7 @@ msgid "" "Python script references ``obj.__doc__`` to retrieve the doc string." msgstr "" "Ici vous pouvez mettre une chaîne (ou son adresse) que vous voulez renvoyer " -"lorsque le script Python référence ``obj.__doc__`` pour récupérer le " +"lorsque le script Python référence ``obj.__doc__`` pour récupérer la " "*docstring*." #: extending/newtypes.rst:49 @@ -471,7 +471,7 @@ msgstr "" "Un avantage intéressant de l'utilisation de la table :c:member:" "`~PyTypeObject.tp_members` pour construire les descripteurs qui sont " "utilisés à l'exécution, est que à tout attribut défini de cette façon on " -"peut associer un *docstring*, en écrivant simplement le texte dans la table. " +"peut associer une *docstring*, en écrivant simplement le texte dans la table. " "Une application peut utiliser l'API d'introspection pour récupérer le " "descripteur de l'objet de classe, et utiliser son attribut :attr:`__doc__` " "pour renvoyer la *docstring*." From b192284105e214e4c6df56fa236955d87cf02dd4 Mon Sep 17 00:00:00 2001 From: Catalina Chircu <35842763+Catadanna@users.noreply.github.com> Date: Thu, 17 Jun 2021 20:17:02 +0200 Subject: [PATCH 12/22] Update extending/newtypes.po Co-authored-by: Julien Palard --- extending/newtypes.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extending/newtypes.po b/extending/newtypes.po index 10c2e4559..7e555aaa9 100644 --- a/extending/newtypes.po +++ b/extending/newtypes.po @@ -43,7 +43,7 @@ msgid "" msgstr "" "Il y a *beaucoup* de méthodes pré-définies. Mais ne vous inquiétez pas " "trop : si vous avez besoin de définir un nouveau type, il y a de fortes " -"chances que vous n'en mettiez en œuvre que très peu de méthodes spécifiques." +"chances que vous ne mettiez en œuvre que très peu de méthodes spécifiques." #: extending/newtypes.rst:24 msgid "" From 23f8f3c7826f3ef6883f91ac62992e0f4a3b25a9 Mon Sep 17 00:00:00 2001 From: Catalina Chircu <35842763+Catadanna@users.noreply.github.com> Date: Thu, 17 Jun 2021 20:17:12 +0200 Subject: [PATCH 13/22] Update extending/newtypes.po Co-authored-by: Julien Palard --- extending/newtypes.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extending/newtypes.po b/extending/newtypes.po index 7e555aaa9..f83cc45bc 100644 --- a/extending/newtypes.po +++ b/extending/newtypes.po @@ -55,7 +55,7 @@ msgid "" "new type. ::" msgstr "" "Comme vous vous en doutez probablement maintenant, nous allons passer cela " -"en revue et vous donner plus d'informations sur les différents méthodes. " +"en revue et vous donner plus d'informations sur les différentes méthodes. " "Nous n'allons pas suivre l'ordre dans lequel ils sont définis dans la " "structure, parce beaucoup d'informations préliminaires peuvent avoir un " "impact sur l'ordre des champs. Il est souvent plus facile de trouver un " From 31d021530147c2569d8fe985bd35226fbfcbc7fd Mon Sep 17 00:00:00 2001 From: Catalina Chircu <35842763+Catadanna@users.noreply.github.com> Date: Thu, 17 Jun 2021 20:17:37 +0200 Subject: [PATCH 14/22] Update extending/newtypes.po Co-authored-by: Julien Palard --- extending/newtypes.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extending/newtypes.po b/extending/newtypes.po index f83cc45bc..ac1b3a827 100644 --- a/extending/newtypes.po +++ b/extending/newtypes.po @@ -56,7 +56,7 @@ msgid "" msgstr "" "Comme vous vous en doutez probablement maintenant, nous allons passer cela " "en revue et vous donner plus d'informations sur les différentes méthodes. " -"Nous n'allons pas suivre l'ordre dans lequel ils sont définis dans la " +"Nous n'allons pas suivre l'ordre dans lequel elles sont définis dans la " "structure, parce beaucoup d'informations préliminaires peuvent avoir un " "impact sur l'ordre des champs. Il est souvent plus facile de trouver un " "exemple qui inclut les champs dont vous avez besoin et de modifier les " From 400ea4203af61ae24824b4d15526a0495d29b57f Mon Sep 17 00:00:00 2001 From: Catalina Chircu <35842763+Catadanna@users.noreply.github.com> Date: Thu, 17 Jun 2021 20:17:49 +0200 Subject: [PATCH 15/22] Update extending/newtypes.po Co-authored-by: Julien Palard --- extending/newtypes.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extending/newtypes.po b/extending/newtypes.po index ac1b3a827..a6a3f92dd 100644 --- a/extending/newtypes.po +++ b/extending/newtypes.po @@ -83,7 +83,7 @@ msgstr "" "Ces champs indiquent au *runtime* la quantité de mémoire à allouer lorsque " "de nouveaux objets de ce type sont créés. *Python* a une implémentation " "intégrée pour les structures de longueur variable (par exemple les chaînes " -"de caractères ou les n-uplets), et c'est là qu'intervient le champ :c:member:" +"de caractères ou les *n*-uplets), et c'est là qu'intervient le champ :c:member:" "`~PyTypeObject.tp_itemsize`. Ce sujet sera traité plus tard. ::" #: extending/newtypes.rst:46 From d3eefb93a47cc54ad9fc2bd4d2aa5f1e41b42326 Mon Sep 17 00:00:00 2001 From: Catalina Chircu <35842763+Catadanna@users.noreply.github.com> Date: Thu, 17 Jun 2021 20:17:59 +0200 Subject: [PATCH 16/22] Update extending/newtypes.po Co-authored-by: Julien Palard --- extending/newtypes.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extending/newtypes.po b/extending/newtypes.po index a6a3f92dd..0e58bf4fe 100644 --- a/extending/newtypes.po +++ b/extending/newtypes.po @@ -619,7 +619,7 @@ msgstr "" "l'objet de type principal, avec un bit indicateur qui indique que les " "emplacements sont présents et doivent être vérifiés par l'interpréteur. " "(L'octet indicateur n'indique pas que les valeurs des *slots* ne sont pas " -"``NULL``. Le drapeau peut être positionné pour indiquer la présence d'un " +"``NULL``. Le bit peut être positionné pour indiquer la présence d'un " "*slot*, mais un *slot* peut toujours être non rempli). ::" #: extending/newtypes.rst:442 From 00a0aab66264fe51a2bae8b0e7f6474e19bc267e Mon Sep 17 00:00:00 2001 From: Catalina Chircu <35842763+Catadanna@users.noreply.github.com> Date: Thu, 17 Jun 2021 20:18:07 +0200 Subject: [PATCH 17/22] Update extending/newtypes.po Co-authored-by: Julien Palard --- extending/newtypes.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extending/newtypes.po b/extending/newtypes.po index 0e58bf4fe..aef8a7ebb 100644 --- a/extending/newtypes.po +++ b/extending/newtypes.po @@ -633,7 +633,7 @@ msgid "" "distribution. ::" msgstr "" "Si vous souhaitez que votre objet puisse agir en tant que nombre, une " -"séquence ou un objet de mappage, vous placez alors l'adresse d'une structure " +"séquence ou un dictionnaire, vous placez alors l'adresse d'une structure " "qui met en œuvre les méthodes de type *C* :c:type:`PyNumberMethods`, :c:type:" "`PySequenceMethods`, ou :c:type:`PyMappingMethods`, respectivement. C'est à " "vous de remplir cette structure avec des valeurs appropriées. Vous pouvez " From 60b271de807e49896f8c7bc294fa250606493ecf Mon Sep 17 00:00:00 2001 From: Catalina Chircu <35842763+Catadanna@users.noreply.github.com> Date: Thu, 17 Jun 2021 20:18:18 +0200 Subject: [PATCH 18/22] Update extending/newtypes.po Co-authored-by: Julien Palard --- extending/newtypes.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/extending/newtypes.po b/extending/newtypes.po index aef8a7ebb..93c0523d3 100644 --- a/extending/newtypes.po +++ b/extending/newtypes.po @@ -645,8 +645,8 @@ msgid "" "This function, if you choose to provide it, should return a hash number for " "an instance of your data type. Here is a simple example::" msgstr "" -"Cette fonction, si vous choisissez de la fournir, doit renvoyer un numéro de " -"hachage pour une instance de votre type de données. Voici un exemple " +"Cette fonction, si vous choisissez de la fournir, doit renvoyer un condensat " +"pour une instance de votre type de données. Voici un exemple " "simple ::" #: extending/newtypes.rst:464 From 04b54a8a4995c5b3c65cf15d1341910834afdbdd Mon Sep 17 00:00:00 2001 From: Catalina Chircu <35842763+Catadanna@users.noreply.github.com> Date: Thu, 17 Jun 2021 20:18:27 +0200 Subject: [PATCH 19/22] Update extending/newtypes.po Co-authored-by: Julien Palard --- extending/newtypes.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extending/newtypes.po b/extending/newtypes.po index 93c0523d3..bf5389989 100644 --- a/extending/newtypes.po +++ b/extending/newtypes.po @@ -670,7 +670,7 @@ msgid "" "handler is invoked." msgstr "" "Cette fonction est appelée lorsqu'une instance de votre type de données est " -"\"appelée\", par exemple, si ``obj1`` est une instance de votre type de " +"« appelée », par exemple, si ``obj1`` est une instance de votre type de " "données et que le script Python contient ``obj1('hello')``, le gestionnaire :" "c:member:`~PyTypeObject.tp_call` est invoqué." From 7e9dcea84518cb650daf75f689ed84998c7b6d4e Mon Sep 17 00:00:00 2001 From: Catalina Chircu <35842763+Catadanna@users.noreply.github.com> Date: Thu, 17 Jun 2021 20:18:34 +0200 Subject: [PATCH 20/22] Update extending/newtypes.po Co-authored-by: Julien Palard --- extending/newtypes.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extending/newtypes.po b/extending/newtypes.po index bf5389989..4779980b2 100644 --- a/extending/newtypes.po +++ b/extending/newtypes.po @@ -691,7 +691,7 @@ msgid "" "*args* is a tuple containing the arguments to the call. You can use :c:func:" "`PyArg_ParseTuple` to extract the arguments." msgstr "" -"*args* est un n-uplet qui contient les arguments pour le lancement. Vous " +"*args* est un *n*-uplet qui contient les arguments pour l'appel. Vous " "pouvez utiliser :c:func:`PyArg_ParseTuple` pour extraire ces arguments." #: extending/newtypes.rst:485 From 4b28c92d630630a0fab843d3f3593068e2ebce95 Mon Sep 17 00:00:00 2001 From: Julien Palard Date: Wed, 27 Oct 2021 19:56:08 +0200 Subject: [PATCH 21/22] Apply suggestions from code review --- extending/newtypes.po | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/extending/newtypes.po b/extending/newtypes.po index 4779980b2..724aefe58 100644 --- a/extending/newtypes.po +++ b/extending/newtypes.po @@ -56,7 +56,7 @@ msgid "" msgstr "" "Comme vous vous en doutez probablement maintenant, nous allons passer cela " "en revue et vous donner plus d'informations sur les différentes méthodes. " -"Nous n'allons pas suivre l'ordre dans lequel elles sont définis dans la " +"Nous n'allons pas suivre l'ordre dans lequel elles sont définies dans la " "structure, parce beaucoup d'informations préliminaires peuvent avoir un " "impact sur l'ordre des champs. Il est souvent plus facile de trouver un " "exemple qui inclut les champs dont vous avez besoin et de modifier les " @@ -68,7 +68,7 @@ msgid "" "appear in various places, almost entirely for diagnostic purposes. Try to " "choose something that will be helpful in such a situation! ::" msgstr "" -"Le nom du type -- comme mentionné dans le chapitre précédent, il apparaîtra " +"Le nom du type — comme mentionné dans le chapitre précédent, il apparaîtra " "à divers endroits, dans la plupart de cas à des fins de diagnostic. Essayez " "de choisir quelque chose qui vous sera utile dans une telle situation ! ::" @@ -81,8 +81,7 @@ msgid "" "later. ::" msgstr "" "Ces champs indiquent au *runtime* la quantité de mémoire à allouer lorsque " -"de nouveaux objets de ce type sont créés. *Python* a une implémentation " -"intégrée pour les structures de longueur variable (par exemple les chaînes " +"de nouveaux objets de ce type sont créés. *Python* gère nativement les structures de longueur variable (par exemple les chaînes " "de caractères ou les *n*-uplets), et c'est là qu'intervient le champ :c:member:" "`~PyTypeObject.tp_itemsize`. Ce sujet sera traité plus tard. ::" @@ -259,7 +258,7 @@ msgid "" msgstr "" "Pour chaque objet qui permet d'implémenter des attributs, le type " "correspondant doit fournir les fonctions qui contrôlent la manière dont les " -"attributs soient résolus. Il doit y avoir une fonction qui peut récupérer " +"attributs sont résolus. Il doit y avoir une fonction qui peut récupérer " "les attributs (s'ils sont définis), et une autre pour définir les attributs " "(si la définition des attributs est autorisée). La suppression d'un attribut " "est un cas particulier, pour lequel la nouvelle valeur transmise au " @@ -335,7 +334,7 @@ msgid "" msgstr "" "Notez que cette liste n'impose aucune restriction quant aux valeurs des " "attributs, au moment où les valeurs sont calculées, ou à la manière dont les " -"données pertinentes sont stockées." +"données sont stockées." #: extending/newtypes.rst:233 msgid "" @@ -421,7 +420,7 @@ msgid "" "The following flag constants are defined in :file:`structmember.h`; they may " "be combined using bitwise-OR." msgstr "" -"Les constantes de drapeau suivantes sont définies dans :file:`structmember." +"Les valeurs des options suivantes sont définies dans :file:`structmember." "h`. Elles peuvent être combinées à l'aide d'un OU logique." #: extending/newtypes.rst:286 @@ -482,7 +481,7 @@ msgid "" "with a :attr:`name` value of ``NULL`` is required." msgstr "" "Comme pour la table :c:member:`~PyTypeObject.tp_methods`, une entrée " -"sentinelle avec une valeur :attr:`name` de ``NULL`` est requise." +"sentinelle avec une valeur :attr:`name` à ``NULL`` est requise." #: extending/newtypes.rst:328 msgid "Type-specific Attribute Management" @@ -499,7 +498,7 @@ msgid "" "functionality, you'll understand what needs to be done." msgstr "" "Par souci de simplicité, seule la version :c:type:`char\\*` sera présentée " -"ici. Le type du paramètre nom est la seule différence entre les nuances :c:" +"ici. Le type du paramètre *name* est la seule différence entre les nuances :c:" "type:`char\\*` et :c:type:`PyObject\\*` de l'interface. Cet exemple fait " "effectivement la même chose que l'exemple générique ci-dessus, mais " "n'utilise pas l'implémentation générique ajouté dans Python 2.2. Il explique " @@ -535,7 +534,7 @@ msgstr "" "est appelée. Lorsqu'un attribut doit être supprimé, le troisième paramètre " "doit être ``NULL``. Voici un exemple qui soulève simplement une exception ; " "si c'était vraiment tout ce que vous vouliez, le gestionnaire :c:member:" -"`~PyTypeObject.tp_setattr` doit être instancié à ``NULL``. ::" +"`~PyTypeObject.tp_setattr` doit être mis à ``NULL``. ::" #: extending/newtypes.rst:372 msgid "Object Comparison" @@ -609,8 +608,8 @@ msgid "" "slot, but a slot may still be unfilled.) ::" msgstr "" "Un certain nombre de ces interfaces abstraites ont été définies au début du " -"développement de l'implémentation de *Python*. En particulier, le nombre, la " -"cartographie et les protocoles de séquence font partie de *Python* depuis le " +"développement de l'implémentation de *Python*. En particulier, les nombres, les " +"tableaux de correspondance et les protocoles de séquences font partie de *Python* depuis le " "début. D'autres protocoles ont été ajoutés au fil du temps. Pour les " "protocoles qui dépendent de plusieurs routines de gestionnaires de " "l'implémentation de type, les anciens protocoles ont été définis comme des " From 1e77ac736c8f73d81b878616107e4111bf6f21db Mon Sep 17 00:00:00 2001 From: Julien Palard Date: Wed, 27 Oct 2021 21:30:56 +0200 Subject: [PATCH 22/22] Proofreading. --- extending/newtypes.po | 122 +++++++++++++++++++++--------------------- 1 file changed, 60 insertions(+), 62 deletions(-) diff --git a/extending/newtypes.po b/extending/newtypes.po index 724aefe58..9e8f56621 100644 --- a/extending/newtypes.po +++ b/extending/newtypes.po @@ -6,7 +6,7 @@ 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-02-07 20:03+0100\n" +"PO-Revision-Date: 2021-10-27 21:01+0200\n" "Language-Team: FRENCH \n" "Language: fr\n" "MIME-Version: 1.0\n" @@ -33,7 +33,7 @@ msgid "" "in :ref:`debug builds ` omitted:" msgstr "" "Voici comment on définit :c:type:`PyTypeObject`, sans les champs spécifiques " -"aux compilations de débogage :" +"aux :ref:`compilations de débogage ` :" #: extending/newtypes.rst:20 msgid "" @@ -60,7 +60,7 @@ msgstr "" "structure, parce beaucoup d'informations préliminaires peuvent avoir un " "impact sur l'ordre des champs. Il est souvent plus facile de trouver un " "exemple qui inclut les champs dont vous avez besoin et de modifier les " -"valeurs en fonction de votre nouveau type. ::" +"valeurs en fonction de votre nouveau type. ::" #: extending/newtypes.rst:33 msgid "" @@ -68,9 +68,9 @@ msgid "" "appear in various places, almost entirely for diagnostic purposes. Try to " "choose something that will be helpful in such a situation! ::" msgstr "" -"Le nom du type — comme mentionné dans le chapitre précédent, il apparaîtra " -"à divers endroits, dans la plupart de cas à des fins de diagnostic. Essayez " -"de choisir quelque chose qui vous sera utile dans une telle situation ! ::" +"Le nom du type — comme mentionné dans le chapitre précédent, il apparaîtra à " +"divers endroits, dans la plupart de cas à des fins de diagnostic. Essayez de " +"choisir quelque chose qui vous sera utile dans une telle situation ! ::" #: extending/newtypes.rst:39 msgid "" @@ -81,9 +81,10 @@ msgid "" "later. ::" msgstr "" "Ces champs indiquent au *runtime* la quantité de mémoire à allouer lorsque " -"de nouveaux objets de ce type sont créés. *Python* gère nativement les structures de longueur variable (par exemple les chaînes " -"de caractères ou les *n*-uplets), et c'est là qu'intervient le champ :c:member:" -"`~PyTypeObject.tp_itemsize`. Ce sujet sera traité plus tard. ::" +"de nouveaux objets de ce type sont créés. Python gère nativement les " +"structures de longueur variable (par exemple les chaînes de caractères ou " +"les *n*-uplets), et c'est là qu'intervient le champ :c:member:`~PyTypeObject." +"tp_itemsize`. Ce sujet sera traité plus tard. ::" #: extending/newtypes.rst:46 msgid "" @@ -99,7 +100,7 @@ msgid "" "Now we come to the basic type methods -- the ones most extension types will " "implement." msgstr "" -"Nous en arrivons maintenant aux méthodes de type basiques -- celles que la " +"Nous en arrivons maintenant aux méthodes de type basiques — celles que la " "plupart des types d'extension mettront en œuvre." #: extending/newtypes.rst:54 @@ -115,10 +116,10 @@ msgid "" "of this function::" msgstr "" "Cette fonction est appelée lorsque le nombre de références de l'instance de " -"votre type est réduit à zéro et que l'interpréteur *Python* veut le " -"récupérer. Si votre type a de la mémoire à libérer ou un autre nettoyage à " -"effectuer, vous pouvez le mettre ici. L'objet lui-même doit être libéré ici " -"aussi. Voici un exemple de cette fonction ::" +"votre type est réduit à zéro et que l'interpréteur Python veut le récupérer. " +"Si votre type a de la mémoire à libérer ou un autre nettoyage à effectuer, " +"vous pouvez le mettre ici. L'objet lui-même doit être libéré ici aussi. " +"Voici un exemple de cette fonction ::" #: extending/newtypes.rst:83 msgid "" @@ -136,11 +137,11 @@ msgid "" msgstr "" "Une exigence importante de la fonction *deallocator* est qu'elle ignore " "toute exception. Ceci est important, car les *deallocators* sont fréquemment " -"appelés lorsque l'interpréteur déroule la pile *Python* ; lorsque la pile " -"est déroulée en raison d'une exception (plutôt que des retours normaux), " -"rien n'est fait pour protéger les *deallocators* de voir qu'une exception a " -"déjà été définie. Toute action effectuée par un *deallocator* qui pourrait " -"entraîner l'exécution de code *Python* supplémentaire peut détecter qu'une " +"appelés lorsque l'interpréteur réduit la pile Python ; lorsque la pile est " +"réduite en raison d'une exception (plutôt que des retours normaux), rien " +"n'est fait pour protéger les *deallocators* de voir qu'une exception a déjà " +"été définie. Toute action effectuée par un *deallocator* qui pourrait " +"entraîner l'exécution de code Python supplémentaire peut détecter qu'une " "exception a été définie. Cela peut conduire à des erreurs trompeuses de la " "part de l'interpréteur. La bonne façon de se protéger contre cela est de " "sauvegarder une exception en attente avant d'exécuter l'action dangereuse, " @@ -168,7 +169,7 @@ msgstr "" "votre objet est dans un état instable : son compte de référence est égal à " "zéro. Tout appel à un objet ou à une API plus complexe (comme dans l'exemple " "ci-dessus) pourrait finir par appeler à nouveau :c:member:`~PyTypeObject." -"tp_dealloc`, provoquant à la fois un *free* et une panne." +"tp_dealloc`, provoquant une double désallocation, et donc un crash.\n" #: extending/newtypes.rst:131 msgid "" @@ -176,7 +177,7 @@ msgid "" "finalization code in :c:member:`~PyTypeObject.tp_dealloc`, and instead use " "the new :c:member:`~PyTypeObject.tp_finalize` type method." msgstr "" -"À partir de *Python 3.4*, il est recommandé de ne pas mettre de code de " +"À partir de Python 3.4, il est recommandé de ne pas mettre de code de " "finalisation complexe dans :c:member:`~PyTypeObject.tp_dealloc`, et " "d'utiliser à la place la nouvelle méthode de type :c:member:`~PyTypeObject." "tp_finalize`." @@ -195,10 +196,9 @@ msgid "" "object: the :func:`repr` function, and the :func:`str` function. (The :func:" "`print` function just calls :func:`str`.) These handlers are both optional." msgstr "" -"En *Python*, il y a deux façons de générer une représentation textuelle d'un " -"objet : la fonction :func:`repr` et la fonction :func:`str`. (La fonction :" -"func:`print` appelle simplement :func:`str`.) Les deux gestionnaires sont " -"optionnels." +"En Python, il y a deux façons de générer une représentation textuelle d'un " +"objet : la fonction :func:`repr` et la fonction :func:`str` (la seconde est " +"celle utilisée par :func:`print`). Les deux gestionnaires sont optionnels." #: extending/newtypes.rst:154 msgid "" @@ -232,7 +232,7 @@ msgid "" msgstr "" "Le gestionnaire :c:member:`~PyTypeObject.tp_str` est à :func:`str` ce que le " "gestionnaire :c:member:`~PyTypeObject.tp_repr` décrit ci-dessus est à :func:" -"`repr`. C'est-à-dire qu'il est appelé lorsque du code *Python* appelle :func:" +"`repr`. C'est-à-dire qu'il est appelé lorsque du code Python appelle :func:" "`str` sur une instance de votre objet. Son implémentation est très similaire " "à la fonction :c:member:`~PyTypeObject.tp_repr`, mais la chaîne de " "caractères résultante est destinée à la compréhension humaine. Si :c:member:" @@ -256,13 +256,12 @@ msgid "" "an attribute is a special case, for which the new value passed to the " "handler is ``NULL``." msgstr "" -"Pour chaque objet qui permet d'implémenter des attributs, le type " -"correspondant doit fournir les fonctions qui contrôlent la manière dont les " -"attributs sont résolus. Il doit y avoir une fonction qui peut récupérer " -"les attributs (s'ils sont définis), et une autre pour définir les attributs " -"(si la définition des attributs est autorisée). La suppression d'un attribut " -"est un cas particulier, pour lequel la nouvelle valeur transmise au " -"gestionnaire est ``NULL``." +"Pour chaque objet qui gère des attributs, le type correspondant doit fournir " +"les fonctions qui contrôlent la manière dont les attributs sont résolus. Une " +"fonction sert à récupérer les attributs (s'ils sont définis), et une autre " +"sert à les définir (si c'est autorisé). La suppression d'un attribut est un " +"cas particulier, pour lequel la nouvelle valeur transmise au gestionnaire " +"est ``NULL``." #: extending/newtypes.rst:196 msgid "" @@ -272,12 +271,12 @@ msgid "" "`char\\*`, while the other accepts a :c:type:`PyObject\\*`. Each type can " "use whichever pair makes more sense for the implementation's convenience. ::" msgstr "" -"*Python* implémente deux paires de gestionnaires d'attributs ; un type qui " +"Python implémente deux paires de gestionnaires d'attributs ; un type qui " "implémente les attributs n'a besoin d'implémenter les fonctions que pour une " "seule paire. La différence est qu'une paire prend le nom de l'attribut comme " "un :c:type:`char\\*`, alors que l'autre accepte un :c:type:`PyObject\\*`. " "Chaque type peut utiliser la paire la plus logique pour la facilité de " -"l'implémentation. ::" +"l'implémentation. ::" #: extending/newtypes.rst:208 msgid "" @@ -411,7 +410,7 @@ msgstr "" "ajouté au type, qui pourra extraire une valeur de la structure d'instance. " "Le champ :attr:`type` doit contenir un des codes de type définis dans l'en-" "tête :file:`structmember.h` ; la valeur sera utilisée pour déterminer " -"comment convertir les valeurs de type *Python* en valeurs de type *C* et " +"comment convertir les valeurs de type Python en valeurs de type *C* et " "inversement. Le champ :attr:`flags` est utilisé pour stocker des drapeaux " "qui contrôlent la manière dont l'attribut peut être accédé." @@ -420,8 +419,8 @@ msgid "" "The following flag constants are defined in :file:`structmember.h`; they may " "be combined using bitwise-OR." msgstr "" -"Les valeurs des options suivantes sont définies dans :file:`structmember." -"h`. Elles peuvent être combinées à l'aide d'un OU logique." +"Les valeurs des options suivantes sont définies dans :file:`structmember.h`. " +"Elles peuvent être combinées à l'aide d'un OU logique." #: extending/newtypes.rst:286 msgid "Constant" @@ -470,8 +469,8 @@ msgstr "" "Un avantage intéressant de l'utilisation de la table :c:member:" "`~PyTypeObject.tp_members` pour construire les descripteurs qui sont " "utilisés à l'exécution, est que à tout attribut défini de cette façon on " -"peut associer une *docstring*, en écrivant simplement le texte dans la table. " -"Une application peut utiliser l'API d'introspection pour récupérer le " +"peut associer une *docstring*, en écrivant simplement le texte dans la " +"table. Une application peut utiliser l'API d'introspection pour récupérer le " "descripteur de l'objet de classe, et utiliser son attribut :attr:`__doc__` " "pour renvoyer la *docstring*." @@ -498,8 +497,8 @@ msgid "" "functionality, you'll understand what needs to be done." msgstr "" "Par souci de simplicité, seule la version :c:type:`char\\*` sera présentée " -"ici. Le type du paramètre *name* est la seule différence entre les nuances :c:" -"type:`char\\*` et :c:type:`PyObject\\*` de l'interface. Cet exemple fait " +"ici. Le type du paramètre *name* est la seule différence entre les nuances :" +"c:type:`char\\*` et :c:type:`PyObject\\*` de l'interface. Cet exemple fait " "effectivement la même chose que l'exemple générique ci-dessus, mais " "n'utilise pas l'implémentation générique ajouté dans Python 2.2. Il explique " "comment les fonctions du gestionnaire sont appelées, de sorte que si vous " @@ -563,9 +562,9 @@ msgid "" "comparison is not implemented and the other object's comparison method " "should be tried, or ``NULL`` if an exception was set." msgstr "" -"Cette fonction est appelée avec deux objets *Python* et l'opérateur comme " +"Cette fonction est appelée avec deux objets Python et l'opérateur comme " "arguments, où l'opérateur est l'un des objets suivants : ``Py_EQ``, " -"``Py_NE``, ``Py_LE``, ``Py_GT``, ``Py_LT`` ou ``Py_GT``. Il doit comparer " +"``Py_NE``, ``Py_LE``, ``Py_GE``, ``Py_LT`` ou ``Py_GT``. Il doit comparer " "les deux objets par rapport à l'opérateur spécifié et renvoyer ``Py_True`` " "ou ``Py_False`` si la comparaison est réussie, ``Py_NotImplemented`` pour " "indiquer que la comparaison n'est pas implémentée et que la méthode de " @@ -589,7 +588,7 @@ msgid "" "Python supports a variety of *abstract* 'protocols;' the specific interfaces " "provided to use these interfaces are documented in :ref:`abstract`." msgstr "" -"Python implémente une multitude de 'protocoles' *abstraits* ; les interfaces " +"Python implémente une multitude de « protocoles abstraits » ; les interfaces " "spécifiques fournies pour utiliser ces interfaces sont documentées dans :ref:" "`abstract`." @@ -608,18 +607,18 @@ msgid "" "slot, but a slot may still be unfilled.) ::" msgstr "" "Un certain nombre de ces interfaces abstraites ont été définies au début du " -"développement de l'implémentation de *Python*. En particulier, les nombres, les " -"tableaux de correspondance et les protocoles de séquences font partie de *Python* depuis le " -"début. D'autres protocoles ont été ajoutés au fil du temps. Pour les " -"protocoles qui dépendent de plusieurs routines de gestionnaires de " +"développement de l'implémentation de Python. En particulier, les nombres, " +"les tableaux de correspondance et les protocoles de séquences font partie de " +"Python depuis le début. D'autres protocoles ont été ajoutés au fil du temps. " +"Pour les protocoles qui dépendent de plusieurs routines de gestionnaires de " "l'implémentation de type, les anciens protocoles ont été définis comme des " "blocs optionnels de gestionnaires référencés par l'objet de type. Pour les " "protocoles plus récents, il y a des emplacements supplémentaires dans " "l'objet de type principal, avec un bit indicateur qui indique que les " "emplacements sont présents et doivent être vérifiés par l'interpréteur. " "(L'octet indicateur n'indique pas que les valeurs des *slots* ne sont pas " -"``NULL``. Le bit peut être positionné pour indiquer la présence d'un " -"*slot*, mais un *slot* peut toujours être non rempli). ::" +"``NULL``. Le bit peut être positionné pour indiquer la présence d'un *slot*, " +"mais un *slot* peut toujours être non rempli). ::" #: extending/newtypes.rst:442 msgid "" @@ -632,12 +631,12 @@ msgid "" "distribution. ::" msgstr "" "Si vous souhaitez que votre objet puisse agir en tant que nombre, une " -"séquence ou un dictionnaire, vous placez alors l'adresse d'une structure " -"qui met en œuvre les méthodes de type *C* :c:type:`PyNumberMethods`, :c:type:" +"séquence ou un dictionnaire, vous placez alors l'adresse d'une structure qui " +"met en œuvre les méthodes de type *C* :c:type:`PyNumberMethods`, :c:type:" "`PySequenceMethods`, ou :c:type:`PyMappingMethods`, respectivement. C'est à " "vous de remplir cette structure avec des valeurs appropriées. Vous pouvez " "trouver des exemples de l'utilisation de chacune de ces valeurs dans le " -"répertoire :file:`Objects` de la distribution source *Python*. ::" +"répertoire :file:`Objects` de la distribution source Python. ::" #: extending/newtypes.rst:451 msgid "" @@ -645,8 +644,7 @@ msgid "" "an instance of your data type. Here is a simple example::" msgstr "" "Cette fonction, si vous choisissez de la fournir, doit renvoyer un condensat " -"pour une instance de votre type de données. Voici un exemple " -"simple ::" +"pour une instance de votre type de données. Voici un exemple simple ::" #: extending/newtypes.rst:464 msgid "" @@ -690,8 +688,8 @@ msgid "" "*args* is a tuple containing the arguments to the call. You can use :c:func:" "`PyArg_ParseTuple` to extract the arguments." msgstr "" -"*args* est un *n*-uplet qui contient les arguments pour l'appel. Vous " -"pouvez utiliser :c:func:`PyArg_ParseTuple` pour extraire ces arguments." +"*args* est un *n*-uplet qui contient les arguments pour l'appel. Vous pouvez " +"utiliser :c:func:`PyArg_ParseTuple` pour extraire ces arguments." #: extending/newtypes.rst:485 msgid "" @@ -728,7 +726,7 @@ msgstr "" "d'erreur, ils doivent définir une exception et renvoyer ``NULL``. :c:member:" "`~PyTypeObject.tp_iter` correspond à la méthode Python :meth:`__iter__`, " "tandis que :c:member:`~PyTypeObject.tp_iternext` correspond à la méthode " -"*Python* :meth:`~iterator.__next__`." +"Python :meth:`~iterator.__next__`." #: extending/newtypes.rst:524 msgid "" @@ -739,7 +737,7 @@ msgstr "" "Tout objet :term:`iterable` doit implémenter le gestionnaire :c:member:" "`~PyTypeObject.tp_iter`, qui doit renvoyer un objet de type :term:" "`iterator`. Ici, les mêmes directives s'appliquent que pour les classes " -"*Python* :" +"Python :" #: extending/newtypes.rst:528 msgid "" @@ -800,8 +798,8 @@ msgid "" "type to participate in the weak reference mechanism without incurring the " "overhead on performance-critical objects (such as numbers)." msgstr "" -"L'un des objectifs de l'implémentation de la référence faible de *Python* " -"est de permettre à tout type d'objet de participer au mécanisme de référence " +"L'un des objectifs de l'implémentation de la référence faible de Python est " +"de permettre à tout type d'objet de participer au mécanisme de référence " "faible sans avoir à supporter le surcoût des objets à performance critique " "(tels que les nombres)."