Skip to content

Traducido c-api/gcsupport #279

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
May 21, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
93 changes: 88 additions & 5 deletions c-api/gcsupport.po
Original file line number Diff line number Diff line change
Expand Up @@ -6,23 +6,25 @@
# Check https://github.com/PyCampES/python-docs-es/blob/3.8/TRANSLATORS to
# get the list of volunteers
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-05-05 12:54+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2020-05-16 21:14+0200\n"
"Language-Team: python-doc-es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.8.0\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Last-Translator: Cristián Maureira-Fredes <cmaureirafredes@gmail.com>\n"
"Language: es\n"
"X-Generator: Poedit 2.3\n"

#: ../Doc/c-api/gcsupport.rst:6
msgid "Supporting Cyclic Garbage Collection"
msgstr ""
msgstr "Apoyo a la recolección de basura cíclica"

#: ../Doc/c-api/gcsupport.rst:8
msgid ""
Expand All @@ -33,6 +35,12 @@ msgid ""
"(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 ""
Expand All @@ -42,48 +50,68 @@ msgid ""
"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:39
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:45
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:51
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:57
msgid ""
Expand All @@ -93,29 +121,43 @@ msgid ""
"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:64
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:67
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:70
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:75
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:81
msgid ""
Expand All @@ -126,18 +168,29 @@ msgid ""
"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:90
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:93
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:98
msgid ""
Expand All @@ -148,12 +201,20 @@ msgid ""
"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:105
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:110
msgid ""
Expand All @@ -164,6 +225,12 @@ msgid ""
"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* devuelve un valor distinto de cero, ese valor "
"debe devolverse inmediatamente."

#: ../Doc/c-api/gcsupport.rst:117
msgid ""
Expand All @@ -172,19 +239,29 @@ msgid ""
"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:124
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:137
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:143
msgid ""
Expand All @@ -195,3 +272,9 @@ msgid ""
"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."
4 changes: 3 additions & 1 deletion dict
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,8 @@ default
desalojable
desasigna
desasignación
descargable
desasignada
desasignador
descargable
descompresor
deserialización
Expand Down Expand Up @@ -326,6 +327,7 @@ recursivamente
redefinido
redefinidos
redefinir
redimensionado
redimensionable
redimensionables
redondeándolo
Expand Down