# Copyright (C) 2001-2020, Python Software Foundation # This file is distributed under the same license as the Python package. # Maintained by the python-doc-es workteam. # docs-es@python.org / # https://mail.python.org/mailman3/lists/docs-es.python.org/ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to # get the list of volunteers # msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-10-16 21:42+0200\n" "PO-Revision-Date: 2021-10-26 08:09+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" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.9.1\n" "X-Generator: Poedit 3.0\n" #: ../Doc/c-api/gcsupport.rst:6 msgid "Supporting Cyclic Garbage Collection" msgstr "Apoyo a la recolección de basura cíclica" #: ../Doc/c-api/gcsupport.rst:8 msgid "" "Python's support for detecting and collecting garbage which involves " "circular references requires support from object types which are " "\"containers\" for other objects which may also be containers. Types which " "do not store references to other objects, or which only store references to " "atomic types (such as numbers or strings), do not need to provide any " "explicit support for garbage collection." msgstr "" "El soporte de Python para detectar y recolectar basura que involucra " "referencias circulares requiere el soporte de tipos de objetos que son " "\"contenedores\" para otros objetos que también pueden ser contenedores. Los " "tipos que no almacenan referencias a otros objetos, o que solo almacenan " "referencias a tipos atómicos (como números o cadenas), no necesitan " "proporcionar ningún soporte explícito para la recolección de basura." #: ../Doc/c-api/gcsupport.rst:15 msgid "" "To create a container type, the :c:member:`~PyTypeObject.tp_flags` field of " "the type object must include the :const:`Py_TPFLAGS_HAVE_GC` and provide an " "implementation of the :c:member:`~PyTypeObject.tp_traverse` handler. If " "instances of the type are mutable, a :c:member:`~PyTypeObject.tp_clear` " "implementation must also be provided." msgstr "" "Para crear un tipo de contenedor, el campo :c:member:`~PyTypeObject." "tp_flags` del objeto tipo debe incluir :const:`Py_TPFLAGS_HAVE_GC` y " "proporcionar una implementación del manejador :c:member:`~PyTypeObject." "tp_traverse` . Si las instancias del tipo son mutables, también se debe " "proporcionar una implementación a :c:member:`~PyTypeObject.tp_clear`." #: ../Doc/c-api/gcsupport.rst:24 msgid "" "Objects with a type with this flag set must conform with the rules " "documented here. For convenience these objects will be referred to as " "container objects." msgstr "" "Los objetos con un tipo con este indicador establecido deben cumplir con las " "reglas documentadas aquí. Por conveniencia, estos objetos se denominarán " "objetos contenedor." #: ../Doc/c-api/gcsupport.rst:28 msgid "Constructors for container types must conform to two rules:" msgstr "" "Los constructores para tipos de contenedores deben cumplir con dos reglas:" #: ../Doc/c-api/gcsupport.rst:30 msgid "" "The memory for the object must be allocated using :c:func:`PyObject_GC_New` " "or :c:func:`PyObject_GC_NewVar`." msgstr "" "La memoria para el objeto debe asignarse usando :c:func:`PyObject_GC_New` o :" "c:func:`PyObject_GC_NewVar`." #: ../Doc/c-api/gcsupport.rst:33 msgid "" "Once all the fields which may contain references to other containers are " "initialized, it must call :c:func:`PyObject_GC_Track`." msgstr "" "Una vez que se inicializan todos los campos que pueden contener referencias " "a otros contenedores, debe llamar a :c:func:`PyObject_GC_Track`." #: ../Doc/c-api/gcsupport.rst:37 msgid "" "If a type adds the Py_TPFLAGS_HAVE_GC, then it *must* implement at least a :" "c:member:`~PyTypeObject.tp_traverse` handler or explicitly use one from its " "subclass or subclasses." msgstr "" "Si un tipo añade el Py_TPFLAGS_HAVE_GC, entonces *must* implementar al menos " "un manejado :c:member:`~PyTypeObject.tp_traverse` o usar explícitamente uno " "de su subclase o subclases." #: ../Doc/c-api/gcsupport.rst:41 msgid "" "When calling :c:func:`PyType_Ready` or some of the APIs that indirectly call " "it like :c:func:`PyType_FromSpecWithBases` or :c:func:`PyType_FromSpec` the " "interpreter will automatically populate the :c:member:`~PyTypeObject." "tp_flags`, :c:member:`~PyTypeObject.tp_traverse` and :c:member:" "`~PyTypeObject.tp_clear` fields if the type inherits from a class that " "implements the garbage collector protocol and the child class does *not* " "include the :const:`Py_TPFLAGS_HAVE_GC` flag." msgstr "" "Al llamar a :c:func:`PyType_Ready` o alguna de las APIs que indirectamente " "lo llaman como :c:func:`PyType_FromSpecWithBases` o :c:func:" "`PyType_FromSpec` el intérprete automáticamente llenara los campos :c:member:" "`~PyTypeObject.tp_flags`, :c:member:`~PyTypeObject.tp_traverse` y :c:member:" "`~PyTypeObject.tp_clear` si el tipo si el tipo hereda de una clase que " "implementa el protocolo del recolector de basura y la clase secundaria *no* " "incluye el *flag* :const:`Py_TPFLAGS_HAVE_GC`." #: ../Doc/c-api/gcsupport.rst:51 msgid "" "Analogous to :c:func:`PyObject_New` but for container objects with the :" "const:`Py_TPFLAGS_HAVE_GC` flag set." msgstr "" "Análogo a :c:func:`PyObject_New` pero para objetos de contenedor con el " "*flag* :const:`Py_TPFLAGS_HAVE_GC` establecido." #: ../Doc/c-api/gcsupport.rst:57 msgid "" "Analogous to :c:func:`PyObject_NewVar` but for container objects with the :" "const:`Py_TPFLAGS_HAVE_GC` flag set." msgstr "" "Análogo a :c:func:`PyObject_NewVar` pero para objetos de contenedor con el " "*flag* :const:`Py_TPFLAGS_HAVE_GC` establecido." #: ../Doc/c-api/gcsupport.rst:63 msgid "" "Resize an object allocated by :c:func:`PyObject_NewVar`. Returns the " "resized object or ``NULL`` on failure. *op* must not be tracked by the " "collector yet." msgstr "" "Cambia el tamaño de un objeto asignado por :c:func:`PyObject_NewVar`. " "Retorna el objeto redimensionado o ``NULL`` en caso de falla. *op* aún no " "debe ser rastreado por el recolector de basura." #: ../Doc/c-api/gcsupport.rst:69 msgid "" "Adds the object *op* to the set of container objects tracked by the " "collector. The collector can run at unexpected times so objects must be " "valid while being tracked. This should be called once all the fields " "followed by the :c:member:`~PyTypeObject.tp_traverse` handler become valid, " "usually near the end of the constructor." msgstr "" "Agrega el objeto *op* al conjunto de objetos contenedor seguidos por el " "recolector de basura. El recolector puede ejecutarse en momentos " "inesperados, por lo que los objetos deben ser válidos durante el " "seguimiento. Esto debería llamarse una vez que todos los campos seguidos " "por :c:member:`~PyTypeObject.tp_traverse` se vuelven válidos, generalmente " "cerca del final del constructor." #: ../Doc/c-api/gcsupport.rst:78 msgid "" "Returns non-zero if the object implements the garbage collector protocol, " "otherwise returns 0." msgstr "" "Retorna un valor distinto de cero si el objeto implementa el protocolo del " "recolector de basura; de lo contrario, retorna 0." #: ../Doc/c-api/gcsupport.rst:81 msgid "" "The object cannot be tracked by the garbage collector if this function " "returns 0." msgstr "" "El recolector de basura no puede rastrear el objeto si esta función retorna " "0." #: ../Doc/c-api/gcsupport.rst:86 msgid "" "Returns 1 if the object type of *op* implements the GC protocol and *op* is " "being currently tracked by the garbage collector and 0 otherwise." msgstr "" "Retorna 1 si el tipo de objeto de *op* implementa el protocolo GC y el " "recolector de basura está rastreando *op* y 0 en caso contrario." #: ../Doc/c-api/gcsupport.rst:89 msgid "This is analogous to the Python function :func:`gc.is_tracked`." msgstr "Esto es análogo a la función de Python :func:`gc.is_tracked`." #: ../Doc/c-api/gcsupport.rst:96 msgid "" "Returns 1 if the object type of *op* implements the GC protocol and *op* has " "been already finalized by the garbage collector and 0 otherwise." msgstr "" "Retorna 1 si el tipo de objeto de *op* implementa el protocolo GC y *op* ya " "ha sido finalizado por el recolector de basura y 0 en caso contrario." #: ../Doc/c-api/gcsupport.rst:99 msgid "This is analogous to the Python function :func:`gc.is_finalized`." msgstr "Esto es análogo a la función de Python :func:`gc.is_finalized`." #: ../Doc/c-api/gcsupport.rst:103 msgid "" "Similarly, the deallocator for the object must conform to a similar pair of " "rules:" msgstr "" "Del mismo modo, el desasignador (*deallocator*) para el objeto debe cumplir " "con un par similar de reglas:" #: ../Doc/c-api/gcsupport.rst:106 msgid "" "Before fields which refer to other containers are invalidated, :c:func:" "`PyObject_GC_UnTrack` must be called." msgstr "" "Antes de invalidar los campos que se refieren a otros contenedores, debe " "llamarse :c:func:`PyObject_GC_UnTrack`." #: ../Doc/c-api/gcsupport.rst:109 msgid "" "The object's memory must be deallocated using :c:func:`PyObject_GC_Del`." msgstr "" "La memoria del objeto debe ser desasignada (*deallocated*) usando :c:func:" "`PyObject_GC_Del`." #: ../Doc/c-api/gcsupport.rst:114 msgid "" "Releases memory allocated to an object using :c:func:`PyObject_GC_New` or :c:" "func:`PyObject_GC_NewVar`." msgstr "" "Libera memoria asignada a un objeto usando :c:func:`PyObject_GC_New` o :c:" "func:`PyObject_GC_NewVar`." #: ../Doc/c-api/gcsupport.rst:120 msgid "" "Remove the object *op* from the set of container objects tracked by the " "collector. Note that :c:func:`PyObject_GC_Track` can be called again on " "this object to add it back to the set of tracked objects. The deallocator (:" "c:member:`~PyTypeObject.tp_dealloc` handler) should call this for the object " "before any of the fields used by the :c:member:`~PyTypeObject.tp_traverse` " "handler become invalid." msgstr "" "Elimina el objeto *op* del conjunto de objetos contenedor rastreados por el " "recolector de basura. Tenga en cuenta que :c:func:`PyObject_GC_Track` puede " "ser llamado nuevamente en este objeto para agregarlo nuevamente al conjunto " "de objetos rastreados. El desasignador (el manejador :c:member:" "`~PyTypeObject.tp_dealloc`) debería llamarlo para el objeto antes de que " "cualquiera de los campos utilizados por el manejador :c:member:" "`~PyTypeObject.tp_traverse` no sea válido." #: ../Doc/c-api/gcsupport.rst:129 msgid "" "The :c:func:`_PyObject_GC_TRACK` and :c:func:`_PyObject_GC_UNTRACK` macros " "have been removed from the public C API." msgstr "" "Los macros :c:func:`_PyObject_GC_TRACK` y :c:func:`_PyObject_GC_UNTRACK` se " "han eliminado de la API pública de C." #: ../Doc/c-api/gcsupport.rst:132 msgid "" "The :c:member:`~PyTypeObject.tp_traverse` handler accepts a function " "parameter of this type:" msgstr "" "El manejador :c:member:`~PyTypeObject.tp_traverse` acepta un parámetro de " "función de este tipo:" #: ../Doc/c-api/gcsupport.rst:137 msgid "" "Type of the visitor function passed to the :c:member:`~PyTypeObject." "tp_traverse` handler. The function should be called with an object to " "traverse as *object* and the third parameter to the :c:member:`~PyTypeObject." "tp_traverse` handler as *arg*. The Python core uses several visitor " "functions to implement cyclic garbage detection; it's not expected that " "users will need to write their own visitor functions." msgstr "" "Tipo de la función visitante que se pasa al manejador :c:member:" "`~PyTypeObject.tp_traverse`. La función debe llamarse con un objeto para " "atravesar como *object* y el tercer parámetro para el manejador :c:member:" "`~PyTypeObject.tp_traverse` como *arg*. El núcleo de Python utiliza varias " "funciones visitantes para implementar la detección de basura cíclica; No se " "espera que los usuarios necesiten escribir sus propias funciones visitante." #: ../Doc/c-api/gcsupport.rst:144 msgid "" "The :c:member:`~PyTypeObject.tp_traverse` handler must have the following " "type:" msgstr "" "El manejador :c:member:`~PyTypeObject.tp_traverse` debe tener el siguiente " "tipo:" #: ../Doc/c-api/gcsupport.rst:149 msgid "" "Traversal function for a container object. Implementations must call the " "*visit* function for each object directly contained by *self*, with the " "parameters to *visit* being the contained object and the *arg* value passed " "to the handler. The *visit* function must not be called with a ``NULL`` " "object argument. If *visit* returns a non-zero value that value should be " "returned immediately." msgstr "" "Función transversal para un objeto contenedor. Las implementaciones deben " "llamar a la función *visit* para cada objeto directamente contenido por " "*self*, siendo los parámetros a *visit* el objeto contenido y el valor *arg* " "pasado al controlador. La función *visit* no debe llamarse con un argumento " "de objeto ``NULL``. Si *visit* retorna un valor distinto de cero, ese valor " "debe retornarse inmediatamente." #: ../Doc/c-api/gcsupport.rst:156 msgid "" "To simplify writing :c:member:`~PyTypeObject.tp_traverse` handlers, a :c:" "func:`Py_VISIT` macro is provided. In order to use this macro, the :c:" "member:`~PyTypeObject.tp_traverse` implementation must name its arguments " "exactly *visit* and *arg*:" msgstr "" "Para simplificar la escritura de los manejadores :c:member:`~PyTypeObject." "tp_traverse`, se proporciona un macro a :c:func:`Py_VISIT`. Para usar este " "macro, la implementación :c:member:`~PyTypeObject.tp_traverse` debe nombrar " "sus argumentos exactamente *visit* y *arg*:" #: ../Doc/c-api/gcsupport.rst:163 msgid "" "If *o* is not ``NULL``, call the *visit* callback, with arguments *o* and " "*arg*. If *visit* returns a non-zero value, then return it. Using this " "macro, :c:member:`~PyTypeObject.tp_traverse` handlers look like::" msgstr "" "Si *o* no es ``NULL``, llama a la devolución de llamada (*callback*) " "*visit*, con argumentos *o* y *arg*. Si *visit* retorna un valor distinto de " "cero, lo retorna. Usando este macro, los manejadores :c:member:" "`~PyTypeObject.tp_traverse` tienen el siguiente aspecto:" #: ../Doc/c-api/gcsupport.rst:176 msgid "" "The :c:member:`~PyTypeObject.tp_clear` handler must be of the :c:type:" "`inquiry` type, or ``NULL`` if the object is immutable." msgstr "" "El manejador :c:member:`~PyTypeObject.tp_clear` debe ser del tipo :c:type:" "`query`, o ``NULL`` si el objeto es inmutable." #: ../Doc/c-api/gcsupport.rst:182 msgid "" "Drop references that may have created reference cycles. Immutable objects " "do not have to define this method since they can never directly create " "reference cycles. Note that the object must still be valid after calling " "this method (don't just call :c:func:`Py_DECREF` on a reference). The " "collector will call this method if it detects that this object is involved " "in a reference cycle." msgstr "" "Descarta referencias que pueden haber creado ciclos de referencia. Los " "objetos inmutables no tienen que definir este método ya que nunca pueden " "crear directamente ciclos de referencia. Tenga en cuenta que el objeto aún " "debe ser válido después de llamar a este método (no solo llame a :c:func:" "`Py_DECREF` en una referencia). El recolector de basura llamará a este " "método si detecta que este objeto está involucrado en un ciclo de referencia." #: ../Doc/c-api/gcsupport.rst:191 msgid "Controlling the Garbage Collector State" msgstr "Controlar el estado del recolector de basura" #: ../Doc/c-api/gcsupport.rst:193 msgid "" "The C-API provides the following functions for controlling garbage " "collection runs." msgstr "" "La C-API proporciona las siguientes funciones para controlar las ejecuciones " "de recolección de basura." #: ../Doc/c-api/gcsupport.rst:198 msgid "" "Perform a full garbage collection, if the garbage collector is enabled. " "(Note that :func:`gc.collect` runs it unconditionally.)" msgstr "" "Realiza una recolección de basura completa, si el recolector de basura está " "habilitado. (Tenga en cuenta que :func:`gc.collect` lo ejecuta " "incondicionalmente)." #: ../Doc/c-api/gcsupport.rst:201 msgid "" "Returns the number of collected + unreachable objects which cannot be " "collected. If the garbage collector is disabled or already collecting, " "returns ``0`` immediately. Errors during garbage collection are passed to :" "data:`sys.unraisablehook`. This function does not raise exceptions." msgstr "" "Retorna el número de objetos recolectados e inalcanzables que no se pueden " "recolectar. Si el recolector de basura está deshabilitado o ya está " "recolectando, retorna ``0`` inmediatamente. Los errores durante la " "recolección de basura se pasan a :data:`sys.unraisablehook`. Esta función no " "genera excepciones." #: ../Doc/c-api/gcsupport.rst:211 msgid "" "Enable the garbage collector: similar to :func:`gc.enable`. Returns the " "previous state, 0 for disabled and 1 for enabled." msgstr "" "Habilita el recolector de basura: similar a :func:`gc.enable`. Retorna el " "estado anterior, 0 para deshabilitado y 1 para habilitado." #: ../Doc/c-api/gcsupport.rst:219 msgid "" "Disable the garbage collector: similar to :func:`gc.disable`. Returns the " "previous state, 0 for disabled and 1 for enabled." msgstr "" "Deshabilita el recolector de basura: similar a :func:`gc.disable`. Retorna " "el estado anterior, 0 para deshabilitado y 1 para habilitado." #: ../Doc/c-api/gcsupport.rst:227 msgid "" "Query the state of the garbage collector: similar to :func:`gc.isenabled`. " "Returns the current state, 0 for disabled and 1 for enabled." msgstr "" "Consulta el estado del recolector de basura: similar a :func:`gc.isenabled`. " "Retorna el estado actual, 0 para deshabilitado y 1 para habilitado."