diff --git a/c-api/typeobj.po b/c-api/typeobj.po index 362490620e..e6ea5b6e46 100644 --- a/c-api/typeobj.po +++ b/c-api/typeobj.po @@ -13,12 +13,12 @@ msgstr "" "POT-Creation-Date: 2021-10-16 21:42+0200\n" "PO-Revision-Date: 2021-08-01 20:07+0200\n" "Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1)\n" "Generated-By: Babel 2.9.1\n" #: ../Doc/c-api/typeobj.rst:6 @@ -675,14 +675,12 @@ msgid "__anext__" msgstr "__anext__" #: ../Doc/c-api/typeobj.rst:202 -#, fuzzy msgid ":c:member:`~PyAsyncMethods.am_send`" -msgstr ":c:member:`~PyAsyncMethods.am_anext`" +msgstr ":c:member:`~PyAsyncMethods.am_send`" #: ../Doc/c-api/typeobj.rst:202 -#, fuzzy msgid ":c:type:`sendfunc`" -msgstr ":c:type:`lenfunc`" +msgstr ":c:type:`sendfunc`" #: ../Doc/c-api/typeobj.rst:206 msgid ":c:member:`~PyNumberMethods.nb_add`" @@ -731,9 +729,8 @@ msgid ":c:member:`~PyNumberMethods.nb_inplace_subtract`" msgstr ":c:member:`~PyNumberMethods.nb_inplace_subtract`" #: ../Doc/c-api/typeobj.rst:214 -#, fuzzy msgid "__isub__" -msgstr "__sub__" +msgstr "__isub__" #: ../Doc/c-api/typeobj.rst:216 msgid ":c:member:`~PyNumberMethods.nb_multiply`" @@ -764,9 +761,8 @@ msgid ":c:member:`~PyNumberMethods.nb_inplace_remainder`" msgstr ":c:member:`~PyNumberMethods.nb_inplace_remainder`" #: ../Doc/c-api/typeobj.rst:224 -#, fuzzy msgid "__imod__" -msgstr "__mod__" +msgstr "__imod__" #: ../Doc/c-api/typeobj.rst:226 msgid ":c:member:`~PyNumberMethods.nb_divmod`" @@ -789,9 +785,8 @@ msgid ":c:member:`~PyNumberMethods.nb_inplace_power`" msgstr ":c:member:`~PyNumberMethods.nb_inplace_power`" #: ../Doc/c-api/typeobj.rst:232 -#, fuzzy msgid "__ipow__" -msgstr "__pow__" +msgstr "__ipow__" #: ../Doc/c-api/typeobj.rst:234 msgid ":c:member:`~PyNumberMethods.nb_negative`" @@ -846,9 +841,8 @@ msgid ":c:member:`~PyNumberMethods.nb_inplace_lshift`" msgstr ":c:member:`~PyNumberMethods.nb_inplace_lshift`" #: ../Doc/c-api/typeobj.rst:247 -#, fuzzy msgid "__ilshift__" -msgstr "__lshift__" +msgstr "__ilshift__" #: ../Doc/c-api/typeobj.rst:249 msgid ":c:member:`~PyNumberMethods.nb_rshift`" @@ -863,9 +857,8 @@ msgid ":c:member:`~PyNumberMethods.nb_inplace_rshift`" msgstr ":c:member:`~PyNumberMethods.nb_inplace_rshift`" #: ../Doc/c-api/typeobj.rst:252 -#, fuzzy msgid "__irshift__" -msgstr "__rshift__" +msgstr "__irshift__" #: ../Doc/c-api/typeobj.rst:254 msgid ":c:member:`~PyNumberMethods.nb_and`" @@ -880,9 +873,8 @@ msgid ":c:member:`~PyNumberMethods.nb_inplace_and`" msgstr ":c:member:`~PyNumberMethods.nb_inplace_and`" #: ../Doc/c-api/typeobj.rst:257 -#, fuzzy msgid "__iand__" -msgstr "__and__" +msgstr "__iand__" #: ../Doc/c-api/typeobj.rst:259 msgid ":c:member:`~PyNumberMethods.nb_xor`" @@ -897,9 +889,8 @@ msgid ":c:member:`~PyNumberMethods.nb_inplace_xor`" msgstr ":c:member:`~PyNumberMethods.nb_inplace_xor`" #: ../Doc/c-api/typeobj.rst:262 -#, fuzzy msgid "__ixor__" -msgstr "__xor__" +msgstr "__ixor__" #: ../Doc/c-api/typeobj.rst:264 msgid ":c:member:`~PyNumberMethods.nb_or`" @@ -914,9 +905,8 @@ msgid ":c:member:`~PyNumberMethods.nb_inplace_or`" msgstr ":c:member:`~PyNumberMethods.nb_inplace_or`" #: ../Doc/c-api/typeobj.rst:267 -#, fuzzy msgid "__ior__" -msgstr "__or__" +msgstr "__ior__" #: ../Doc/c-api/typeobj.rst:269 msgid ":c:member:`~PyNumberMethods.nb_int`" @@ -957,9 +947,8 @@ msgid ":c:member:`~PyNumberMethods.nb_inplace_floor_divide`" msgstr ":c:member:`~PyNumberMethods.nb_inplace_floor_divide`" #: ../Doc/c-api/typeobj.rst:277 -#, fuzzy msgid "__ifloordiv__" -msgstr "__floordiv__" +msgstr "__ifloordiv__" #: ../Doc/c-api/typeobj.rst:279 msgid ":c:member:`~PyNumberMethods.nb_true_divide`" @@ -974,9 +963,8 @@ msgid ":c:member:`~PyNumberMethods.nb_inplace_true_divide`" msgstr ":c:member:`~PyNumberMethods.nb_inplace_true_divide`" #: ../Doc/c-api/typeobj.rst:281 -#, fuzzy msgid "__itruediv__" -msgstr "__truediv__" +msgstr "__itruediv__" #: ../Doc/c-api/typeobj.rst:283 msgid ":c:member:`~PyNumberMethods.nb_index`" @@ -999,9 +987,8 @@ msgid ":c:member:`~PyNumberMethods.nb_inplace_matrix_multiply`" msgstr ":c:member:`~PyNumberMethods.nb_inplace_matrix_multiply`" #: ../Doc/c-api/typeobj.rst:288 -#, fuzzy msgid "__imatmul__" -msgstr "__matmul__" +msgstr "__imatmul__" #: ../Doc/c-api/typeobj.rst:292 msgid ":c:member:`~PyMappingMethods.mp_length`" @@ -1202,7 +1189,6 @@ msgstr "" "objetos de tipo) *deben* tener el campo :attr:`ob_size`." #: ../Doc/c-api/typeobj.rst:487 -#, fuzzy msgid "" "This is the type object's reference count, initialized to ``1`` by the " "``PyObject_HEAD_INIT`` macro. Note that for :ref:`statically allocated type " @@ -1211,12 +1197,12 @@ msgid "" "`dynamically allocated type objects `, the instances *do* count " "as references." msgstr "" -"Este es el recuento de referencia del objeto tipo, inicializado a ``1`` por " -"el macro ``PyObject_HEAD_INIT``. Tenga en cuenta que para los objetos de " -"tipo asignados estáticamente, las instancias del tipo (objetos cuyo :attr:" -"`ob_type` apunta al tipo) *no* cuentan como referencias. Pero para los " -"objetos de tipo asignados dinámicamente, las instancias *sí* cuentan como " -"referencias." +"Este es el recuento de referencias del objeto de tipo, inicializado a ``1`` " +"por la macro ``PyObject_HEAD_INIT``. Tenga en cuenta que para :ref:`objetos " +"de tipo estáticamente asignados `, las instancias del tipo " +"(objetos cuyo :attr:`ob_type` apunta al tipo) *no* cuentan como referencias. " +"Pero para :ref:`objetos de tipo asignados dinámicamente `, las " +"instancias *sí* cuentan como referencias." #: ../Doc/c-api/typeobj.rst:494 ../Doc/c-api/typeobj.rst:517 #: ../Doc/c-api/typeobj.rst:539 ../Doc/c-api/typeobj.rst:553 @@ -1304,6 +1290,9 @@ msgid "" "These fields are only present when the macro ``Py_TRACE_REFS`` is defined " "(see the :option:`configure --with-trace-refs option <--with-trace-refs>`)." msgstr "" +"Estos campos solo están presentes cuando se define la macro " +"``Py_TRACE_REFS`` (ver la :option:`opción configure --with-trace-refs <--" +"with-trace-refs>`)." #: ../Doc/c-api/typeobj.rst:528 msgid "" @@ -1313,6 +1302,11 @@ msgid "" "allocated objects `, these two fields are used to link the " "object into a doubly-linked list of *all* live objects on the heap." msgstr "" +"La macro ``PyObject_HEAD_INIT`` se encarga de su inicialización a ``NULL``. " +"Para :ref:`objetos asignados estáticamente `, estos campos " +"siempre siguen siendo ``NULL``. Para :ref:`objetos asignados dinámicamente " +"`, estos dos campos se utilizan para vincular el objeto a una " +"lista doblemente vinculada de *todos* los objetos en el heap." #: ../Doc/c-api/typeobj.rst:534 msgid "" @@ -1321,6 +1315,10 @@ msgid "" "still alive at the end of a run when the environment variable :envvar:" "`PYTHONDUMPREFS` is set." msgstr "" +"Esto podría usarse para varios propósitos de depuración; actualmente, los " +"únicos usos son la función :func:`sys.getobjects` y para imprimir los " +"objetos que aún están vivos al final de una ejecución cuando se establece la " +"variable de entorno :envvar:`PYTHONDUMPREFS`." #: ../Doc/c-api/typeobj.rst:541 msgid "These fields are not inherited by subtypes." @@ -1331,15 +1329,14 @@ msgid "PyVarObject Slots" msgstr "Ranuras ``PyVarObject``" #: ../Doc/c-api/typeobj.rst:549 -#, fuzzy msgid "" "For :ref:`statically allocated type objects `, this should be " "initialized to zero. For :ref:`dynamically allocated type objects `, this field has a special internal meaning." msgstr "" -"Para los objetos tipo asignados estáticamente, esto debe inicializarse a " -"cero. Para los objetos tipo asignados dinámicamente, este campo tiene un " -"significado interno especial." +"Para :ref:`objetos de tipo estáticamente asignados `, debe " +"inicializarse a cero. Para :ref:`objetos de tipo dinámicamente asignados " +"`, este campo tiene un significado interno especial." #: ../Doc/c-api/typeobj.rst:559 msgid "PyTypeObject Slots" @@ -1380,28 +1377,27 @@ msgstr "" "tp_name` ``\"PQMT\"``." #: ../Doc/c-api/typeobj.rst:576 -#, fuzzy msgid "" "For :ref:`dynamically allocated type objects `, this should just " "be the type name, and the module name explicitly stored in the type dict as " "the value for key ``'__module__'``." msgstr "" -"Para los objetos tipo asignados dinámicamente, este debería ser solo el " -"nombre del tipo, y el nombre del módulo almacenado explícitamente en el tipo " -"diccionario (*dict*) como el valor para la clave ``'__module__'``." +"Para :ref:`objetos de tipo dinámicamente asignados `, éste debe " +"ser sólo el nombre del tipo, y el nombre del módulo almacenado " +"explícitamente en el dict tipo que el valor de ``'__module__'`` clave." #: ../Doc/c-api/typeobj.rst:581 -#, fuzzy msgid "" "For :ref:`statically allocated type objects `, the *tp_name* " "field should contain a dot. Everything before the last dot is made " "accessible as the :attr:`__module__` attribute, and everything after the " "last dot is made accessible as the :attr:`~definition.__name__` attribute." msgstr "" -"Para los objetos tipo asignados estáticamente, el campo ``tp_name`` debe " -"contener un punto. Todo antes del último punto se hace accesible como el " -"atributo :attr:`__module__`, y todo después del último punto se hace " -"accesible como el atributo :attr:`~definition.__name__`." +"Para :ref:`objetos de tipo estáticamente asignados `, el campo " +"*tp_name* debe contener un punto. Todo lo que está antes del último punto se " +"hace accesible como el atributo :attr:`__module__`, y todo lo que está " +"después del último punto se hace accesible como el atributo :attr:" +"`~definition.__name__`." #: ../Doc/c-api/typeobj.rst:587 msgid "" @@ -1585,7 +1581,7 @@ msgid "" "calling the type deallocator. In order to avoid dangling pointers, the " "recommended way to achieve this is:" msgstr "" -"Finalmente, si el tipo está asignado en el montón (:const:" +"Finalmente, si el tipo está asignado en el heap (:const:" "`Py_TPFLAGS_HEAPTYPE`), el desasignador debería disminuir el conteo de " "referencia para su objeto tipo después de llamar al desasignador del tipo. " "Para evitar punteros colgantes, la forma recomendada de lograr esto es:" @@ -1641,7 +1637,7 @@ msgid "" "*tp_call* is updated, likely making it inconsistent with the vectorcall " "function." msgstr "" -"No se recomienda para :ref:`tipos de pila ` para implementar el " +"No se recomienda para :ref:`tipos heap ` para implementar el " "protocolo vectorcall. Cuando un usuario establece :attr:`__call__` en código " "Python, solo se actualiza *tp_call*, lo que probablemente lo haga " "inconsistente con la función vectorcall." @@ -1665,7 +1661,6 @@ msgstr "" "se usó para imprimir en un archivo. En Python 3.0 a 3.7, no se usó." #: ../Doc/c-api/typeobj.rst:732 -#, fuzzy msgid "" "This field is always inherited. However, the :const:" "`Py_TPFLAGS_HAVE_VECTORCALL` flag is not always inherited. If it's not, then " @@ -1673,11 +1668,12 @@ msgid "" "`PyVectorcall_Call` is explicitly called. This is in particular the case " "for :ref:`heap types ` (including subclasses defined in Python)." msgstr "" -"Este campo siempre se hereda. Sin embargo, el flag :const:" -"`Py_TPFLAGS_HAVE_VECTORCALL` no siempre se hereda. Si no es así, entonces la " -"subclase no usará :ref:`vectorcall `, excepto cuando :c:func:" -"`PyVectorcall_Call` se llame explícitamente. Este es en particular el caso " -"de los `heap types`_ (incluidas las subclases definidas en Python)." +"Este campo siempre se hereda. Sin embargo, la bandera :const:" +"`Py_TPFLAGS_HAVE_VECTORCALL` no siempre se hereda. Si no es así, la subclase " +"no usará :ref:`vectorcall `, excepto cuando se llame " +"explícitamente a :c:func:`PyVectorcall_Call`. Este es en particular el caso " +"de :ref:`tipos heap ` (incluidas las subclases definidas en " +"Python)." #: ../Doc/c-api/typeobj.rst:743 msgid "An optional pointer to the get-attribute-string function." @@ -2165,7 +2161,7 @@ msgid "" "instances of subtypes; only the type referenced by the instance's ob_type " "gets INCREF'ed or DECREF'ed)." msgstr "" -"Este bit se establece cuando el objeto de tipo se asigna en el montón, por " +"Este bit se establece cuando el objeto de tipo se asigna en el heap, por " "ejemplo, los tipos creados dinámicamente usando :c:func:`PyType_FromSpec`. " "En este caso, el campo :attr:`ob_type` de sus instancias se considera una " "referencia al tipo, y el objeto de tipo se llama *INCREF* cuando se crea una " @@ -2244,16 +2240,15 @@ msgstr "" "``NULL``." #: ../Doc/c-api/typeobj.rst:1098 -#, fuzzy msgid "" "This is a bitmask of all the bits that pertain to the existence of certain " "fields in the type object and its extension structures. Currently, it " "includes the following bits: :const:`Py_TPFLAGS_HAVE_STACKLESS_EXTENSION`." msgstr "" "Esta es una máscara de bits de todos los bits que pertenecen a la existencia " -"de ciertos campos en el objeto tipo y sus estructuras de extensión. " +"de ciertos campos en el objeto de tipo y sus estructuras de extensión. " "Actualmente, incluye los siguientes bits: :const:" -"`Py_TPFLAGS_HAVE_STACKLESS_EXTENSION`, :const:`Py_TPFLAGS_HAVE_VERSION_TAG`." +"`Py_TPFLAGS_HAVE_STACKLESS_EXTENSION`." #: ../Doc/c-api/typeobj.rst:1109 msgid "This bit indicates that objects behave like unbound methods." @@ -2291,15 +2286,14 @@ msgstr "" "vinculado\" para ``obj.meth``." #: ../Doc/c-api/typeobj.rst:1127 -#, fuzzy msgid "" "This flag is never inherited by :ref:`heap types `. For " "extension types, it is inherited whenever :c:member:`~PyTypeObject." "tp_descr_get` is inherited." msgstr "" -"Este indicador (*flag*) nunca es heredada por los tipos de montón. Para los " -"tipos de extensión, se hereda siempre que :c:member:`~PyTypeObject." -"tp_descr_get` se hereda." +"Esta bandera nunca es heredada por :ref:`tipos heap `. Para los " +"tipos de extensión, se hereda siempre que se hereda :c:member:`~PyTypeObject." +"tp_descr_get`." #: ../Doc/c-api/typeobj.rst:1144 msgid "" @@ -2347,44 +2341,52 @@ msgstr "" "obtener más detalles." #: ../Doc/c-api/typeobj.rst:1174 -#, fuzzy msgid "" "This bit is inherited for :ref:`static subtypes ` if :c:member:" "`~PyTypeObject.tp_call` is also inherited. :ref:`Heap types ` do " "not inherit ``Py_TPFLAGS_HAVE_VECTORCALL``." msgstr "" -"Este bit se hereda para subtipos *static* si :c:member:`~PyTypeObject." -"tp_call` también se hereda. `Heap types`_ no heredan " -"``Py_TPFLAGS_HAVE_VECTORCALL``." +"Este bit se hereda para :ref:`static subtypes ` si también se " +"hereda :c:member:`~PyTypeObject.tp_call`. :ref:`Tipos heap ` no " +"hereda ``Py_TPFLAGS_HAVE_VECTORCALL``." #: ../Doc/c-api/typeobj.rst:1182 msgid "" "This bit is set for type objects that are immutable: type attributes cannot " "be set nor deleted." msgstr "" +"Este bit se establece para objetos de tipo que son inmutables: los atributos " +"de tipo no se pueden establecer ni eliminar." #: ../Doc/c-api/typeobj.rst:1184 msgid "" ":c:func:`PyType_Ready` automatically applies this flag to :ref:`static types " "`." msgstr "" +":c:func:`PyType_Ready` aplica automáticamente este indicador a :ref:`static " +"types `." #: ../Doc/c-api/typeobj.rst:1189 ../Doc/c-api/typeobj.rst:1208 -#, fuzzy msgid "This flag is not inherited." -msgstr "Este campo no se hereda." +msgstr "Este flag no se hereda." #: ../Doc/c-api/typeobj.rst:1195 msgid "" "Disallow creating instances of the type: set :c:member:`~PyTypeObject." "tp_new` to NULL and don't create the ``__new__`` key in the type dictionary." msgstr "" +"No permita la creación de instancias del tipo: establezca :c:member:" +"`~PyTypeObject.tp_new` en NULL y no cree la clave ``__new__`` en el " +"diccionario de tipos." #: ../Doc/c-api/typeobj.rst:1199 msgid "" "The flag must be set before creating the type, not after. For example, it " "must be set before :c:func:`PyType_Ready` is called on the type." msgstr "" +"La bandera debe establecerse antes de crear el tipo, no después. Por " +"ejemplo, debe establecerse antes de que se llame a :c:func:`PyType_Ready` en " +"el tipo." #: ../Doc/c-api/typeobj.rst:1202 msgid "" @@ -2392,6 +2394,9 @@ msgid "" "member:`~PyTypeObject.tp_base` is NULL or ``&PyBaseObject_Type`` and :c:" "member:`~PyTypeObject.tp_new` is NULL." msgstr "" +"La bandera se establece automáticamente en :ref:`static types ` si :c:member:`~PyTypeObject.tp_base` es NULL o " +"``&PyBaseObject_Type`` y :c:member:`~PyTypeObject.tp_new` es NULL." #: ../Doc/c-api/typeobj.rst:1215 msgid "" @@ -2400,22 +2405,31 @@ msgid "" "set when registering or subclassing :class:`collections.abc.Mapping`, and " "unset when registering :class:`collections.abc.Sequence`." msgstr "" +"Este bit indica que las instancias de la clase pueden coincidir con los " +"patrones de correspondencia cuando se utilizan como sujeto de un bloque :" +"keyword:`match`. Se configura automáticamente al registrar o subclasificar :" +"class:`collections.abc.Mapping`, y se desarma al registrar :class:" +"`collections.abc.Sequence`." #: ../Doc/c-api/typeobj.rst:1222 ../Doc/c-api/typeobj.rst:1244 msgid "" ":const:`Py_TPFLAGS_MAPPING` and :const:`Py_TPFLAGS_SEQUENCE` are mutually " "exclusive; it is an error enable both flags simultaneously." msgstr "" +":const:`Py_TPFLAGS_MAPPING` y :const:`Py_TPFLAGS_SEQUENCE` se excluyen " +"mutuamente; es un error habilitar ambos indicadores simultáneamente." #: ../Doc/c-api/typeobj.rst:1227 msgid "" "This flag is inherited by types that do not already set :const:" "`Py_TPFLAGS_SEQUENCE`." msgstr "" +"Esta bandera la heredan los tipos que aún no configuran :const:" +"`Py_TPFLAGS_SEQUENCE`." #: ../Doc/c-api/typeobj.rst:1230 ../Doc/c-api/typeobj.rst:1252 msgid ":pep:`634` -- Structural Pattern Matching: Specification" -msgstr "" +msgstr ":pep:`634` - Coincidencia de patrones estructurales: especificación" #: ../Doc/c-api/typeobj.rst:1237 msgid "" @@ -2424,12 +2438,19 @@ msgid "" "set when registering or subclassing :class:`collections.abc.Sequence`, and " "unset when registering :class:`collections.abc.Mapping`." msgstr "" +"Este bit indica que las instancias de la clase pueden coincidir con los " +"patrones de secuencia cuando se utilizan como sujeto de un bloque :keyword:" +"`match`. Se configura automáticamente al registrar o subclasificar :class:" +"`collections.abc.Sequence`, y se desarma al registrar :class:`collections." +"abc.Mapping`." #: ../Doc/c-api/typeobj.rst:1249 msgid "" "This flag is inherited by types that do not already set :const:" "`Py_TPFLAGS_MAPPING`." msgstr "" +"Esta bandera la heredan los tipos que aún no configuran :const:" +"`Py_TPFLAGS_MAPPING`." #: ../Doc/c-api/typeobj.rst:1259 msgid "" @@ -2503,7 +2524,6 @@ msgstr "" "incluirá." #: ../Doc/c-api/typeobj.rst:1302 -#, fuzzy msgid "" "When implementing :c:member:`~PyTypeObject.tp_traverse`, only the members " "that the instance *owns* (by having :term:`strong references `). Por ejemplo, si un objeto admite referencias " +"débiles a través de la ranura :c:member:`~PyTypeObject.tp_weaklist`, el " +"puntero que respalda la lista vinculada (a lo que apunta *tp_weaklist*) " +"**no** debe visitarse ya que la instancia no posee directamente las " +"referencias débiles a sí misma (la lista de referencias débiles está ahí " +"para respaldar la maquinaria de referencia débil, pero la instancia no tiene " +"una fuerte referencia a los elementos dentro de ella, ya que pueden " +"eliminarse incluso si la instancia todavía está viva)." #: ../Doc/c-api/typeobj.rst:1313 msgid "" @@ -2544,6 +2564,12 @@ msgid "" "``tp_traverse`` of another heap-allocated type (such as a heap-allocated " "superclass). If they do not, the type object may not be garbage-collected." msgstr "" +"Las instancias de :ref:`heap-allocated types ` contienen una " +"referencia a su tipo. Por lo tanto, su función transversal debe visitar :c:" +"func:`Py_TYPE(self) ` o delegar esta responsabilidad llamando a " +"``tp_traverse`` de otro tipo asignado al heap (como una superclase asignada " +"al heap). Si no es así, es posible que el objeto de tipo no se recolecte " +"como basura." #: ../Doc/c-api/typeobj.rst:1326 msgid "" @@ -2551,7 +2577,7 @@ msgid "" "``tp_traverse``. In earlier versions of Python, due to `bug 40217 `_, doing this may lead to crashes in subclasses." msgstr "" -"Se espera que los tipos asignados al montón visiten ``Py_TYPE(self)`` en " +"Se espera que los tipos asignados al heap visiten ``Py_TYPE(self)`` en " "``tp_traverse``. En versiones anteriores de Python, debido al `bug 40217 " "`_, hacer esto puede provocar fallas en " "las subclases." @@ -2651,6 +2677,11 @@ msgid "" "to determine that an object is no longer used, the cyclic garbage collector " "is not involved and :c:member:`~PyTypeObject.tp_dealloc` is called directly." msgstr "" +"Tenga en cuenta que :c:member:`~PyTypeObject.tp_clear` no se llama *siempre* " +"antes de que se desasigne una instancia. Por ejemplo, cuando el recuento de " +"referencias es suficiente para determinar que un objeto ya no se utiliza, el " +"recolector de basura cíclico no está involucrado y se llama directamente a :" +"c:member:`~PyTypeObject.tp_dealloc`." #: ../Doc/c-api/typeobj.rst:1389 msgid "" @@ -3276,13 +3307,13 @@ msgstr "" "debería agregarse como una característica como :attr:`__weakref__` aunque.)" #: ../Doc/c-api/typeobj.rst:1739 -#, fuzzy msgid "" "This slot has no default. For :ref:`static types `, if the " "field is ``NULL`` then no :attr:`__dict__` gets created for instances." msgstr "" -"Esta ranura no tiene valor predeterminado. Para los tipos estáticos, si el " -"campo es ``NULL``, entonces no :attr:`__dict__` se crea para las instancias." +"Esta ranura no tiene ningún valor predeterminado. Para :ref:`tipos estáticos " +"`, si el campo es ``NULL``, no se crea ningún :attr:`__dict__` " +"para las instancias." #: ../Doc/c-api/typeobj.rst:1745 msgid "An optional pointer to an instance initialization function." @@ -3337,10 +3368,11 @@ msgstr "" "error." #: ../Doc/c-api/typeobj.rst:1775 -#, fuzzy msgid "" "For :ref:`static types ` this field does not have a default." -msgstr "Para los tipos estáticos, este campo no tiene un valor predeterminado." +msgstr "" +"Para :ref:`tipos estáticos `, este campo no tiene un valor " +"predeterminado." #: ../Doc/c-api/typeobj.rst:1780 msgid "An optional pointer to an instance allocation function." @@ -3360,7 +3392,7 @@ msgid "" "`PyType_GenericAlloc`, to force a standard heap allocation strategy." msgstr "" "Para subtipos dinámicos, este campo siempre se establece en :c:func:" -"`PyType_GenericAlloc`, para forzar una estrategia de asignación de montón " +"`PyType_GenericAlloc`, para forzar una estrategia de asignación de heap " "estándar." #: ../Doc/c-api/typeobj.rst:1797 @@ -3417,30 +3449,30 @@ msgid "" "Set the :const:`Py_TPFLAGS_DISALLOW_INSTANTIATION` flag to disallow creating " "instances of the type in Python." msgstr "" +"Configure la marca :const:`Py_TPFLAGS_DISALLOW_INSTANTIATION` para no " +"permitir la creación de instancias del tipo en Python." #: ../Doc/c-api/typeobj.rst:1829 -#, fuzzy msgid "" "This field is inherited by subtypes, except it is not inherited by :ref:" "`static types ` whose :c:member:`~PyTypeObject.tp_base` is " "``NULL`` or ``&PyBaseObject_Type``." msgstr "" -"Este campo es heredado por subtipos, excepto que no es heredado por tipos " -"estáticos cuyo :c:member:`~PyTypeObject.tp_base` es ``NULL`` o " -"``&PyBaseObject_Type``." +"Este campo se hereda por subtipos, excepto que no lo heredan :ref:`tipos " +"estáticos ` cuyo :c:member:`~PyTypeObject.tp_base` es ``NULL`` " +"o ``&PyBaseObject_Type``." #: ../Doc/c-api/typeobj.rst:1835 -#, fuzzy msgid "" "For :ref:`static types ` this field has no default. This means " "if the slot is defined as ``NULL``, the type cannot be called to create new " "instances; presumably there is some other way to create instances, like a " "factory function." msgstr "" -"Para los tipos estáticos, este campo no tiene valor predeterminado. Esto " -"significa que si el espacio se define como ``NULL``, no se puede llamar al " -"tipo para crear nuevas instancias; presumiblemente hay otra forma de crear " -"instancias, como una función de fábrica." +"Para :ref:`tipos estáticos `, este campo no tiene ningún valor " +"predeterminado. Esto significa que si la ranura se define como ``NULL``, no " +"se puede llamar al tipo para crear nuevas instancias; presumiblemente hay " +"alguna otra forma de crear instancias, como una función de fábrica." #: ../Doc/c-api/typeobj.rst:1843 msgid "" @@ -3504,15 +3536,14 @@ msgstr "" "``0`` para una instancia no coleccionable. La firma es::" #: ../Doc/c-api/typeobj.rst:1877 -#, fuzzy msgid "" "(The only example of this are types themselves. The metatype, :c:data:" "`PyType_Type`, defines this function to distinguish between statically and :" "ref:`dynamically allocated types `.)" msgstr "" -"(El único ejemplo de esto son los mismo tipos. El metatipo, :c:data:" -"`PyType_Type`, define esta función para distinguir entre tipos asignados " -"estáticamente y dinámicamente.)" +"(El único ejemplo de esto son los tipos en sí. El metatipo, :c:data:" +"`PyType_Type`, define esta función para distinguir entre tipos estática y :" +"ref:`dinámicamente asignados `)." #: ../Doc/c-api/typeobj.rst:1887 msgid "" @@ -3672,9 +3703,8 @@ msgstr "" "la biblioteca." #: ../Doc/c-api/typeobj.rst:2028 -#, fuzzy msgid "Static Types" -msgstr "Un tipo estático básico::" +msgstr "Tipos estáticos" #: ../Doc/c-api/typeobj.rst:2030 msgid "" @@ -3732,30 +3762,29 @@ msgstr "" #: ../Doc/c-api/typeobj.rst:2052 msgid "Heap Types" -msgstr "Tipos Montículos (*Heap Types*)" +msgstr "Tipos Heap" #: ../Doc/c-api/typeobj.rst:2054 -#, fuzzy msgid "" "An alternative to :ref:`static types ` is *heap-allocated " "types*, or *heap types* for short, which correspond closely to classes " "created by Python's ``class`` statement. Heap types have the :const:" "`Py_TPFLAGS_HEAPTYPE` flag set." msgstr "" -"Una alternativa a los tipos estáticos es *tipos asignados al montículo* " -"(*heap-allocated types*), o *tipos montículo* (*heap types*) para abreviar, " -"que corresponden estrechamente a las clases creadas por la declaración " -"``class`` de Python." +"Una alternativa a :ref:`tipos estáticos ` es *heap-allocated " +"types*, o *tipos heap* para abreviar, que se corresponden estrechamente con " +"las clases creadas por la declaración ``class`` de Python. Los tipos de heap " +"tienen establecida la bandera :const:`Py_TPFLAGS_HEAPTYPE`." #: ../Doc/c-api/typeobj.rst:2059 -#, fuzzy msgid "" "This is done by filling a :c:type:`PyType_Spec` structure and calling :c:" "func:`PyType_FromSpec`, :c:func:`PyType_FromSpecWithBases`, or :c:func:" "`PyType_FromModuleAndSpec`." msgstr "" -"Esto se hace completando una estructura :c:type:`PyType_Spec` y llamando a :" -"c:func:`PyType_FromSpecWithBases`." +"Esto se hace llenando una estructura :c:type:`PyType_Spec` y llamando a :c:" +"func:`PyType_FromSpec`, :c:func:`PyType_FromSpecWithBases` o :c:func:" +"`PyType_FromModuleAndSpec`." #: ../Doc/c-api/typeobj.rst:2067 msgid "Number Object Structures" @@ -4209,6 +4238,8 @@ msgstr "" msgid "" "See :c:func:`PyIter_Send` for details. This slot may be set to ``NULL``." msgstr "" +"Consulte :c:func:`PyIter_Send` para obtener más detalles. Esta ranura se " +"puede establecer en ``NULL``." #: ../Doc/c-api/typeobj.rst:2459 msgid "Slot Type typedefs" @@ -4309,9 +4340,8 @@ msgid "See :c:member:`~PyTypeObject.tp_iternext`." msgstr "Consulte :c:member:`~PyTypeObject.tp_iternext`." #: ../Doc/c-api/typeobj.rst:2552 -#, fuzzy msgid "See :c:member:`~PyAsyncMethods.am_send`." -msgstr ":c:member:`~PyAsyncMethods.am_anext`" +msgstr "Consulte :c:member:`~PyAsyncMethods.am_send`." #: ../Doc/c-api/typeobj.rst:2568 msgid "Examples" @@ -4331,9 +4361,8 @@ msgstr "" "types`) y \"tópicos de nuevos tipos (:ref:`new-types-topics`)." #: ../Doc/c-api/typeobj.rst:2575 -#, fuzzy msgid "A basic :ref:`static type `::" -msgstr "Un tipo estático básico::" +msgstr "Un :ref:`tipo estático ` básico:" #: ../Doc/c-api/typeobj.rst:2592 msgid "" @@ -4350,199 +4379,26 @@ msgstr "" "y *hashing*::" #: ../Doc/c-api/typeobj.rst:2663 -#, fuzzy msgid "" "A str subclass that cannot be subclassed and cannot be called to create " "instances (e.g. uses a separate factory func) using :c:data:" "`Py_TPFLAGS_DISALLOW_INSTANTIATION` flag::" msgstr "" -"Una subclase de *str* que no se puede subclasificar (*subclassed*) y no se " -"puede llamar para crear instancias (por ejemplo, utiliza una función de " -"fábrica separada)::" +"Una subclase str que no se puede subclasificar y no se puede llamar para " +"crear instancias (por ejemplo, usa una función de fábrica separada) usando " +"el indicador :c:data:`Py_TPFLAGS_DISALLOW_INSTANTIATION`:" #: ../Doc/c-api/typeobj.rst:2682 -#, fuzzy msgid "" "The simplest :ref:`static type ` with fixed-length instances::" -msgstr "El tipo estático más simple (con instancias de longitud fija)::" +msgstr "" +"El :ref:`tipo estático ` más simple con instancias de longitud " +"fija:" #: ../Doc/c-api/typeobj.rst:2693 -#, fuzzy msgid "" "The simplest :ref:`static type ` with variable-length " "instances::" -msgstr "El tipo estático más simple (con instancias de longitud variable)::" - -#~ msgid "" -#~ "If :const:`COUNT_ALLOCS` is defined then the following (internal-only) " -#~ "fields exist as well:" -#~ msgstr "" -#~ "Si :const:`COUNT_ALLOCS` está definido, entonces también existen los " -#~ "siguientes campos (solo internos):" - -#~ msgid ":c:member:`~PyTypeObject.tp_allocs`" -#~ msgstr ":c:member:`~PyTypeObject.tp_allocs`" - -#~ msgid ":c:member:`~PyTypeObject.tp_frees`" -#~ msgstr ":c:member:`~PyTypeObject.tp_frees`" - -#~ msgid ":c:member:`~PyTypeObject.tp_maxalloc`" -#~ msgstr ":c:member:`~PyTypeObject.tp_maxalloc`" - -#~ msgid ":c:member:`~PyTypeObject.tp_prev`" -#~ msgstr ":c:member:`~PyTypeObject.tp_prev`" - -#~ msgid ":c:member:`~PyTypeObject.tp_next`" -#~ msgstr ":c:member:`~PyTypeObject.tp_next`" - -#~ msgid "" -#~ "Call *callable*'s *vectorcallfunc* with positional and keyword arguments " -#~ "given in a tuple and dict, respectively." -#~ msgstr "" -#~ "Llama el *callable* de *vectorcallfunc* con argumentos posicionales y de " -#~ "palabras clave dados en una tupla y diccionario (*dict*), respectivamente." - -#~ msgid "" -#~ "This function is intended to be used in the ``tp_call`` slot. It does not " -#~ "fall back to ``tp_call`` and it currently does not check the " -#~ "``_Py_TPFLAGS_HAVE_VECTORCALL`` flag. To call an object, use one of the :" -#~ "c:func:`PyObject_Call ` functions instead." -#~ msgstr "" -#~ "Esta función está destinada a ser utilizada en la ranura ``tp_call``. No " -#~ "vuelve a caer a ``tp_call`` y actualmente no marca la bandera " -#~ "``_Py_TPFLAGS_HAVE_VECTORCALL``. Para llamar a un objeto, use una de las " -#~ "funciones :c:func:`PyObject_Call` en su lugar." - -#~ msgid "" -#~ "This slot was used for print formatting in Python 2.x. In Python 3.0 to " -#~ "3.7, it was reserved and named ``tp_print``." -#~ msgstr "" -#~ "Esta ranura se usó para el formato de impresión en Python 2.x. En Python " -#~ "3.0 a 3.7, estaba reservado y se llamaba ``tp_print``." - -#~ msgid "" -#~ "This field is inherited by subtypes together with :c:member:" -#~ "`~PyTypeObject.tp_call`: a subtype inherits :c:member:`~PyTypeObject." -#~ "tp_vectorcall_offset` from its base type when the subtype’s :c:member:" -#~ "`~PyTypeObject.tp_call` is ``NULL``." -#~ msgstr "" -#~ "Los subtipos heredan este campo junto con :c:member:`~PyTypeObject." -#~ "tp_call`: un subtipo hereda :c:member:`~PyTypeObject." -#~ "tp_vectorcall_offset` de su tipo base cuando el subtipo :c:member:" -#~ "`~PyTypeObject.tp_call` es ``NULL``." - -#~ msgid "" -#~ "Note that `heap types`_ (including subclasses defined in Python) do not " -#~ "inherit the :const:`_Py_TPFLAGS_HAVE_VECTORCALL` flag." -#~ msgstr "" -#~ "Tenga en cuenta que los tipos montículo, (`heap types`_, incluidas las " -#~ "subclases definidas en Python) no heredan el indicador :const:" -#~ "`_Py_TPFLAGS_HAVE_VECTORCALL`." - -#~ msgid "" -#~ "This bit is set on *static* subtypes if ``tp_flags`` is not overridden: a " -#~ "subtype inherits ``_Py_TPFLAGS_HAVE_VECTORCALL`` from its base type when " -#~ "the subtype’s :c:member:`~PyTypeObject.tp_call` is ``NULL`` and the " -#~ "subtype's ``Py_TPFLAGS_HEAPTYPE`` is not set." -#~ msgstr "" -#~ "Este bit se establece en los subtipos *static* si ``tp_flags`` no se " -#~ "reemplaza: un subtipo hereda ``_Py_TPFLAGS_HAVE_VECTORCALL`` de su tipo " -#~ "base cuando el subtipo :c:member:`~PyTypeObject.tp_call` es ``NULL`` y el " -#~ "subtipo ``Py_TPFLAGS_HEAPTYPE`` no está establecido." - -#~ msgid "`Heap types`_ do not inherit ``_Py_TPFLAGS_HAVE_VECTORCALL``." -#~ msgstr "" -#~ "\"Tipos montículo\" (`Heap types`_) no heredan " -#~ "``_Py_TPFLAGS_HAVE_VECTORCALL``." - -#~ msgid "" -#~ "This flag is provisional and expected to become public in Python 3.9, " -#~ "with a different name and, possibly, changed semantics. If you use " -#~ "vectorcall, plan for updating your code for Python 3.9." -#~ msgstr "" -#~ "Este indicador (*flag*) es provisional y se espera que se haga pública en " -#~ "Python 3.9, con un nombre diferente y, posiblemente, una semántica " -#~ "cambiada. Si usa *vectorcall*, planifique actualizar su código para " -#~ "Python 3.9." - -#~ msgid "" -#~ "The remaining fields are only defined if the feature test macro :const:" -#~ "`COUNT_ALLOCS` is defined, and are for internal use only. They are " -#~ "documented here for completeness. None of these fields are inherited by " -#~ "subtypes." -#~ msgstr "" -#~ "Los campos restantes solo se definen si la macro de prueba de " -#~ "características :const:`COUNT_ALLOCS` está definida, y son solo para uso " -#~ "interno. Se documentan aquí para completar. Ninguno de estos campos es " -#~ "heredado por subtipos." - -#~ msgid "Number of allocations." -#~ msgstr "Número de asignaciones." - -#~ msgid "Number of frees." -#~ msgstr "Número de liberaciones." - -#~ msgid "Maximum simultaneously allocated objects." -#~ msgstr "Máximo de objetos asignados simultáneamente." - -#~ msgid "" -#~ "Pointer to the previous type object with a non-zero :c:member:" -#~ "`~PyTypeObject.tp_allocs` field." -#~ msgstr "" -#~ "Puntero al objeto tipo anterior con un campo distinto de cero :c:member:" -#~ "`~PyTypeObject.tp_allocs`." - -#~ msgid "" -#~ "Pointer to the next type object with a non-zero :c:member:`~PyTypeObject." -#~ "tp_allocs` field." -#~ msgstr "" -#~ "Puntero al siguiente objeto tipo con un campo distinto de cero :c:member:" -#~ "`~PyTypeObject.tp_allocs`." - -#~ msgid "See :c:member:`~PyTypeObject.tp_vectorcall_offset`." -#~ msgstr "Consulte :c:member:`~PyTypeObject.tp_vectorcall_offset`." - -#~ msgid "" -#~ "Arguments to ``vectorcallfunc`` are the same as for :c:func:" -#~ "`_PyObject_Vectorcall`." -#~ msgstr "" -#~ "Los argumentos para ``vectorcallfunc`` son los mismos que para :c:func:" -#~ "`_PyObject_Vectorcall`." - -#~ msgid "" -#~ "These fields are only present when the macro ``Py_TRACE_REFS`` is " -#~ "defined. Their initialization to ``NULL`` is taken care of by the " -#~ "``PyObject_HEAD_INIT`` macro. For statically allocated objects, these " -#~ "fields always remain ``NULL``. For dynamically allocated objects, these " -#~ "two fields are used to link the object into a doubly-linked list of *all* " -#~ "live objects on the heap. This could be used for various debugging " -#~ "purposes; currently the only use is to print the objects that are still " -#~ "alive at the end of a run when the environment variable :envvar:" -#~ "`PYTHONDUMPREFS` is set." -#~ msgstr "" -#~ "Estos campos solo están presentes cuando se define la macro " -#~ "``Py_TRACE_REFS``. Su inicialización a ``NULL`` se ocupa de la macro " -#~ "``PyObject_HEAD_INIT``. Para los objetos asignados estáticamente, estos " -#~ "campos siempre permanecen ``NULL``. Para los objetos asignados " -#~ "dinámicamente, estos dos campos se utilizan para vincular el objeto en " -#~ "una lista doblemente vinculada de *todos* objetos vivos en el montón. " -#~ "Esto podría usarse para varios propósitos de depuración; Actualmente, el " -#~ "único uso es imprimir los objetos que aún están vivos al final de una " -#~ "ejecución cuando se establece la variable de entorno :envvar:" -#~ "`PYTHONDUMPREFS`." - -#~ msgid "" -#~ "Heap-allocated types (:const:`Py_TPFLAGS_HEAPTYPE`, such as those created " -#~ "with :c:func:`PyType_FromSpec` and similar APIs) hold a reference to " -#~ "their type. Their traversal function must therefore either visit :c:func:" -#~ "`Py_TYPE(self) `, or delegate this responsibility by calling " -#~ "``tp_traverse`` of another heap-allocated type (such as a heap-allocated " -#~ "superclass). If they do not, the type object may not be garbage-collected." -#~ msgstr "" -#~ "Los tipos asignados al heap (:const:`Py_TPFLAGS_HEAPTYPE`, como los " -#~ "creados con :c:func:`PyType_FromSpec` y API similares) contienen una " -#~ "referencia a su tipo. Por lo tanto, su función transversal debe visitar :" -#~ "c:func:`Py_TYPE(self) `, o delegar esta responsabilidad llamando " -#~ "a ``tp_traverse`` de otro tipo asignado al heap (como una superclase " -#~ "asignada al heap). Si no es así, es posible que el objeto de tipo no se " -#~ "recolecte como basura." +msgstr "" +"El :ref:`tipo estático ` más simple con instancias de longitud " +"variable:"