Skip to content

Commit 3eddfd5

Browse files
CatadannaJulienPalard
authored andcommitted
Traduction de extending/newtypes.po 10011150
1 parent d6ecf55 commit 3eddfd5

File tree

1 file changed

+61
-0
lines changed

1 file changed

+61
-0
lines changed

extending/newtypes.po

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,9 @@ msgid ""
5959
"appear in various places, almost entirely for diagnostic purposes. Try to "
6060
"choose something that will be helpful in such a situation! ::"
6161
msgstr ""
62+
"Le nom du type -- comme mentionné dans le chapitre précédent, il apparaîtra "
63+
"à divers endroits, presque entièrement à des fins de diagnostic. Essayez de "
64+
"choisir quelque chose qui vous sera utile dans une telle situation ! ::"
6265

6366
#: extending/newtypes.rst:39
6467
msgid ""
@@ -68,6 +71,11 @@ msgid ""
6871
"`~PyTypeObject.tp_itemsize` field comes in. This will be dealt with "
6972
"later. ::"
7073
msgstr ""
74+
"Ces champs indiquent au *runtime* la quantité de mémoire à allouer lorsque "
75+
"de nouveaux objets de ce type sont créés. *Python* a une implémentation "
76+
"intégrée pour les structures de longueur variable (par exemple les chaînes "
77+
"de caractères ou les n-uplets), et c'est là qu'intervient le champ :c:member:"
78+
"`~PyTypeObject.tp_itemsize`. Ce sujet sera traité plus tard."
7179

7280
#: extending/newtypes.rst:46
7381
msgid ""
@@ -98,6 +106,11 @@ msgid ""
98106
"here. The object itself needs to be freed here as well. Here is an example "
99107
"of this function::"
100108
msgstr ""
109+
"Cette fonction est appelée lorsque le nombre de références de l'instance de "
110+
"votre type est réduit à zéro et que l'interpréteur *Python* veut le "
111+
"récupérer. Si votre type a de la mémoire à libérer ou un autre nettoyage à "
112+
"effectuer, vous pouvez le mettre ici. L'objet lui-même doit être libéré ici "
113+
"aussi. Voici un exemple de cette fonction ::"
101114

102115
#: extending/newtypes.rst:83
103116
msgid ""
@@ -126,6 +139,16 @@ msgid ""
126139
"(as in the example above) might end up calling :c:member:`~PyTypeObject."
127140
"tp_dealloc` again, causing a double free and a crash."
128141
msgstr ""
142+
"Il y a des limites par rapport à ce qu'on peut faire en toute sécurité dans "
143+
"une fonction de *deallocator*. Tout d'abord, si votre type supporte le "
144+
"ramasse-miettes (en utilisant :c:member:`~PyTypeObject.tp_traverse` et/ou :c:"
145+
"member:`~PyTypeObject.tp_clear`), certains des membres de l'objet peuvent "
146+
"avoir été effacés ou finalisés au moment où :c:member:`~PyTypeObject."
147+
"tp_dealloc` est appelé. Ensuite, dans :c:member:`~PyTypeObject.tp_dealloc`, "
148+
"votre objet est dans un état instable : son compte de référence est égal à "
149+
"zéro. Tout appel à un objet ou à une API plus complexe (comme dans l'exemple "
150+
"ci-dessus) pourrait finir par appeler à nouveau :c:member:`~PyTypeObject."
151+
"tp_dealloc`, provoquant à la fois un *free* et une panne."
129152

130153
#: extending/newtypes.rst:131
131154
msgid ""
@@ -262,6 +285,15 @@ msgid ""
262285
"`~PyTypeObject.tp_getattro` and :c:member:`~PyTypeObject.tp_setattro` fields "
263286
"``NULL`` as well, allowing the base type to handle attributes."
264287
msgstr ""
288+
"Lorsqu'elle est lancée, la fonction :c:func:`PyType_Ready` utilise trois "
289+
"tables référencées par l'objet type qui soit être créé, notamment les "
290+
"instances :term:`descriptor` stockés dans le dictionnaire de l'objet type. "
291+
"Chaque descripteur contrôle l’accès vers un seul attribut de l'instance. "
292+
"Chacune des tables sont optionnelles. Si toutes les trois ont des valeurs "
293+
"``NULL``, les instances du type doivent avoir des attributs hérités de leur "
294+
"type de base, et les champs :c:member:`~PyTypeObject.tp_getattro` et :c:"
295+
"member:`~PyTypeObject.tp_setattro` doivent avoir la valeur ``NULL`` "
296+
"également, afin de permettre au type de base de gérer des attributs."
265297

266298
#: extending/newtypes.rst:241
267299
msgid "The tables are declared as three fields of the type object::"
@@ -290,6 +322,10 @@ msgid ""
290322
"access may be read-only or read-write. The structures in the table are "
291323
"defined as::"
292324
msgstr ""
325+
"Le second tableau sert à définir les attributs qui correspondent directement "
326+
"aux données stockées dans l'instance. Une grande partie de types primitifs "
327+
"*C* sont pris en charge, et l'accès peut être en lecture seule ou en lecture-"
328+
"écriture. Les structures de la table sont définies comme suit ::"
293329

294330
#: extending/newtypes.rst:275
295331
msgid ""
@@ -307,6 +343,8 @@ msgid ""
307343
"The following flag constants are defined in :file:`structmember.h`; they may "
308344
"be combined using bitwise-OR."
309345
msgstr ""
346+
"Les constantes de drapeau suivantes sont définies dans :file:`structmember."
347+
"h`. Elles peuvent être combinées à l'aide d'un OU logique."
310348

311349
#: extending/newtypes.rst:286
312350
msgid "Constant"
@@ -424,6 +462,14 @@ msgid ""
424462
"comparison is not implemented and the other object's comparison method "
425463
"should be tried, or ``NULL`` if an exception was set."
426464
msgstr ""
465+
"Cette fonction est appelée avec deux objets *Python* et l'opérateur comme "
466+
"arguments, où l'opérateur est l'un des objets suivants : ``Py_EQ``, "
467+
"``Py_NE``, ``Py_LE``, ``Py_GT``, ``Py_LT`` ou ``Py_GT``. Il doit comparer "
468+
"les deux objets par rapport à l'opérateur spécifié et retourner ``Py_True`` "
469+
"ou ``Py_False`` si la comparaison est réussie, ``Py_NotImplemented`` pour "
470+
"indiquer que la comparaison n'est pas implémentée et que la méthode de "
471+
"comparaison de l'autre objet doit être essayée, ou ``NULL`` si une exception "
472+
"a été définie."
427473

428474
#: extending/newtypes.rst:391
429475
msgid ""
@@ -496,6 +542,10 @@ msgid ""
496542
"script contains ``obj1('hello')``, the :c:member:`~PyTypeObject.tp_call` "
497543
"handler is invoked."
498544
msgstr ""
545+
"Cette fonction est appelée lorsqu'une instance de votre type de données est "
546+
"\"appelée\", par exemple, si ``obj1`` est une instance de votre type de "
547+
"données et que le script Python contient ``obj1('hello')``, le gestionnaire :"
548+
"c:member:`~PyTypeObject.tp_call` est invoqué."
499549

500550
#: extending/newtypes.rst:477
501551
msgid "This function takes three arguments:"
@@ -538,6 +588,13 @@ msgid ""
538588
"`~PyTypeObject.tp_iternext` corresponds to the Python :meth:`~iterator."
539589
"__next__` method."
540590
msgstr ""
591+
"Ces fonctions fournissent une implémentation pour le protocole d'itération. "
592+
"Les deux gestionnaires prennent un seul paramètre, notamment l'instance pour "
593+
"laquelle ils sont appelés, et renvoient une nouvelle référence. En cas "
594+
"d'erreur, ils doivent définir une exception et renvoyer ``NULL``. :c:member:"
595+
"`~PyTypeObject.tp_iter` correspond à la méthode Python :meth:`__iter__`, "
596+
"tandis que :c:member:`~PyTypeObject.tp_iternext` correspond à la méthode "
597+
"*Python* :meth:`~iterator.__next__`."
541598

542599
#: extending/newtypes.rst:524
543600
msgid ""
@@ -688,7 +745,11 @@ msgid ""
688745
msgstr ""
689746
"Lorsque vous avez besoin de vérifier qu'un objet est une instance concrète "
690747
"du type que vous implémentez, utilisez la fonction :c:func:"
748+
<<<<<<< HEAD
691749
"`PyObject_TypeCheck`. Voici un exemple de son utilisation ::"
750+
=======
751+
"`PyObject_TypeCheck`. Voici un exemple de son utilisation :"
752+
>>>>>>> 7f32fae2 (Traduction de extending/newtypes.po 10011150)
692753

693754
#: extending/newtypes.rst:623
694755
msgid "Download CPython source releases."

0 commit comments

Comments
 (0)