Skip to content

Commit 50efd4b

Browse files
authored
Merge pull request #279 from cmaureir/traduccion-gcsupport
Traducido c-api/gcsupport
2 parents f8799f6 + 91542f6 commit 50efd4b

File tree

2 files changed

+91
-6
lines changed

2 files changed

+91
-6
lines changed

c-api/gcsupport.po

+88-5
Original file line numberDiff line numberDiff line change
@@ -6,23 +6,25 @@
66
# Check https://github.com/PyCampES/python-docs-es/blob/3.8/TRANSLATORS to
77
# get the list of volunteers
88
#
9-
#, fuzzy
109
msgid ""
1110
msgstr ""
1211
"Project-Id-Version: Python 3.8\n"
1312
"Report-Msgid-Bugs-To: \n"
1413
"POT-Creation-Date: 2020-05-05 12:54+0200\n"
15-
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
16-
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14+
"PO-Revision-Date: 2020-05-16 21:14+0200\n"
1715
"Language-Team: python-doc-es\n"
1816
"MIME-Version: 1.0\n"
19-
"Content-Type: text/plain; charset=utf-8\n"
17+
"Content-Type: text/plain; charset=UTF-8\n"
2018
"Content-Transfer-Encoding: 8bit\n"
2119
"Generated-By: Babel 2.8.0\n"
20+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
21+
"Last-Translator: Cristián Maureira-Fredes <cmaureirafredes@gmail.com>\n"
22+
"Language: es\n"
23+
"X-Generator: Poedit 2.3\n"
2224

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

2729
#: ../Doc/c-api/gcsupport.rst:8
2830
msgid ""
@@ -33,6 +35,12 @@ msgid ""
3335
"(such as numbers or strings), do not need to provide any explicit support "
3436
"for garbage collection."
3537
msgstr ""
38+
"El soporte de Python para detectar y recolectar basura que involucra "
39+
"referencias circulares requiere el soporte de tipos de objetos que son "
40+
"\"contenedores\" para otros objetos que también pueden ser contenedores. Los "
41+
"tipos que no almacenan referencias a otros objetos, o que solo almacenan "
42+
"referencias a tipos atómicos (como números o cadenas), no necesitan "
43+
"proporcionar ningún soporte explícito para la recolección de basura."
3644

3745
#: ../Doc/c-api/gcsupport.rst:15
3846
msgid ""
@@ -42,48 +50,68 @@ msgid ""
4250
"instances of the type are mutable, a :c:member:`~PyTypeObject.tp_clear` "
4351
"implementation must also be provided."
4452
msgstr ""
53+
"Para crear un tipo de contenedor, el campo :c:member:`~PyTypeObject."
54+
"tp_flags` del objeto tipo debe incluir :const:`Py_TPFLAGS_HAVE_GC` y "
55+
"proporcionar una implementación del manejador :c:member:`~PyTypeObject."
56+
"tp_traverse` . Si las instancias del tipo son mutables, también se debe "
57+
"proporcionar una implementación a :c:member:`~PyTypeObject.tp_clear`."
4558

4659
#: ../Doc/c-api/gcsupport.rst:24
4760
msgid ""
4861
"Objects with a type with this flag set must conform with the rules "
4962
"documented here. For convenience these objects will be referred to as "
5063
"container objects."
5164
msgstr ""
65+
"Los objetos con un tipo con este indicador establecido deben cumplir con las "
66+
"reglas documentadas aquí. Por conveniencia, estos objetos se denominarán "
67+
"objetos contenedor."
5268

5369
#: ../Doc/c-api/gcsupport.rst:28
5470
msgid "Constructors for container types must conform to two rules:"
5571
msgstr ""
72+
"Los constructores para tipos de contenedores deben cumplir con dos reglas:"
5673

5774
#: ../Doc/c-api/gcsupport.rst:30
5875
msgid ""
5976
"The memory for the object must be allocated using :c:func:`PyObject_GC_New` "
6077
"or :c:func:`PyObject_GC_NewVar`."
6178
msgstr ""
79+
"La memoria para el objeto debe asignarse usando :c:func:`PyObject_GC_New` o :"
80+
"c:func:`PyObject_GC_NewVar`."
6281

6382
#: ../Doc/c-api/gcsupport.rst:33
6483
msgid ""
6584
"Once all the fields which may contain references to other containers are "
6685
"initialized, it must call :c:func:`PyObject_GC_Track`."
6786
msgstr ""
87+
"Una vez que se inicializan todos los campos que pueden contener referencias "
88+
"a otros contenedores, debe llamar a :c:func:`PyObject_GC_Track`."
6889

6990
#: ../Doc/c-api/gcsupport.rst:39
7091
msgid ""
7192
"Analogous to :c:func:`PyObject_New` but for container objects with the :"
7293
"const:`Py_TPFLAGS_HAVE_GC` flag set."
7394
msgstr ""
95+
"Análogo a :c:func:`PyObject_New` pero para objetos de contenedor con el "
96+
"*flag* :const:`Py_TPFLAGS_HAVE_GC` establecido."
7497

7598
#: ../Doc/c-api/gcsupport.rst:45
7699
msgid ""
77100
"Analogous to :c:func:`PyObject_NewVar` but for container objects with the :"
78101
"const:`Py_TPFLAGS_HAVE_GC` flag set."
79102
msgstr ""
103+
"Análogo a :c:func:`PyObject_NewVar` pero para objetos de contenedor con el "
104+
"*flag* :const:`Py_TPFLAGS_HAVE_GC` establecido."
80105

81106
#: ../Doc/c-api/gcsupport.rst:51
82107
msgid ""
83108
"Resize an object allocated by :c:func:`PyObject_NewVar`. Returns the "
84109
"resized object or ``NULL`` on failure. *op* must not be tracked by the "
85110
"collector yet."
86111
msgstr ""
112+
"Cambia el tamaño de un objeto asignado por :c:func:`PyObject_NewVar`. "
113+
"Retorna el objeto redimensionado o ``NULL`` en caso de falla. *op* aún no "
114+
"debe ser rastreado por el recolector de basura."
87115

88116
#: ../Doc/c-api/gcsupport.rst:57
89117
msgid ""
@@ -93,29 +121,43 @@ msgid ""
93121
"followed by the :c:member:`~PyTypeObject.tp_traverse` handler become valid, "
94122
"usually near the end of the constructor."
95123
msgstr ""
124+
"Agrega el objeto *op* al conjunto de objetos contenedor seguidos por el "
125+
"recolector de basura. El recolector puede ejecutarse en momentos "
126+
"inesperados, por lo que los objetos deben ser válidos durante el "
127+
"seguimiento. Esto debería llamarse una vez que todos los campos seguidos "
128+
"por :c:member:`~PyTypeObject.tp_traverse` se vuelven válidos, generalmente "
129+
"cerca del final del constructor."
96130

97131
#: ../Doc/c-api/gcsupport.rst:64
98132
msgid ""
99133
"Similarly, the deallocator for the object must conform to a similar pair of "
100134
"rules:"
101135
msgstr ""
136+
"Del mismo modo, el desasignador (*deallocator*) para el objeto debe cumplir "
137+
"con un par similar de reglas:"
102138

103139
#: ../Doc/c-api/gcsupport.rst:67
104140
msgid ""
105141
"Before fields which refer to other containers are invalidated, :c:func:"
106142
"`PyObject_GC_UnTrack` must be called."
107143
msgstr ""
144+
"Antes de invalidar los campos que se refieren a otros contenedores, debe "
145+
"llamarse :c:func:`PyObject_GC_UnTrack`."
108146

109147
#: ../Doc/c-api/gcsupport.rst:70
110148
msgid ""
111149
"The object's memory must be deallocated using :c:func:`PyObject_GC_Del`."
112150
msgstr ""
151+
"La memoria del objeto debe ser desasignada (*deallocated*) usando :c:func:"
152+
"`PyObject_GC_Del`."
113153

114154
#: ../Doc/c-api/gcsupport.rst:75
115155
msgid ""
116156
"Releases memory allocated to an object using :c:func:`PyObject_GC_New` or :c:"
117157
"func:`PyObject_GC_NewVar`."
118158
msgstr ""
159+
"Libera memoria asignada a un objeto usando :c:func:`PyObject_GC_New` o :c:"
160+
"func:`PyObject_GC_NewVar`."
119161

120162
#: ../Doc/c-api/gcsupport.rst:81
121163
msgid ""
@@ -126,18 +168,29 @@ msgid ""
126168
"before any of the fields used by the :c:member:`~PyTypeObject.tp_traverse` "
127169
"handler become invalid."
128170
msgstr ""
171+
"Elimina el objeto *op* del conjunto de objetos contenedor rastreados por el "
172+
"recolector de basura. Tenga en cuenta que :c:func:`PyObject_GC_Track` puede "
173+
"ser llamado nuevamente en este objeto para agregarlo nuevamente al conjunto "
174+
"de objetos rastreados. El desasignador (el manejador :c:member:"
175+
"`~PyTypeObject.tp_dealloc`) debería llamarlo para el objeto antes de que "
176+
"cualquiera de los campos utilizados por el manejador :c:member:"
177+
"`~PyTypeObject.tp_traverse` no sea válido."
129178

130179
#: ../Doc/c-api/gcsupport.rst:90
131180
msgid ""
132181
"The :c:func:`_PyObject_GC_TRACK` and :c:func:`_PyObject_GC_UNTRACK` macros "
133182
"have been removed from the public C API."
134183
msgstr ""
184+
"Los macros :c:func:`_PyObject_GC_TRACK` y :c:func:`_PyObject_GC_UNTRACK` se "
185+
"han eliminado de la API pública de C."
135186

136187
#: ../Doc/c-api/gcsupport.rst:93
137188
msgid ""
138189
"The :c:member:`~PyTypeObject.tp_traverse` handler accepts a function "
139190
"parameter of this type:"
140191
msgstr ""
192+
"El manejador :c:member:`~PyTypeObject.tp_traverse` acepta un parámetro de "
193+
"función de este tipo:"
141194

142195
#: ../Doc/c-api/gcsupport.rst:98
143196
msgid ""
@@ -148,12 +201,20 @@ msgid ""
148201
"functions to implement cyclic garbage detection; it's not expected that "
149202
"users will need to write their own visitor functions."
150203
msgstr ""
204+
"Tipo de la función visitante que se pasa al manejador :c:member:"
205+
"`~PyTypeObject.tp_traverse`. La función debe llamarse con un objeto para "
206+
"atravesar como *object* y el tercer parámetro para el manejador :c:member:"
207+
"`~PyTypeObject.tp_traverse` como *arg*. El núcleo de Python utiliza varias "
208+
"funciones visitantes para implementar la detección de basura cíclica; No se "
209+
"espera que los usuarios necesiten escribir sus propias funciones visitante."
151210

152211
#: ../Doc/c-api/gcsupport.rst:105
153212
msgid ""
154213
"The :c:member:`~PyTypeObject.tp_traverse` handler must have the following "
155214
"type:"
156215
msgstr ""
216+
"El manejador :c:member:`~PyTypeObject.tp_traverse` debe tener el siguiente "
217+
"tipo:"
157218

158219
#: ../Doc/c-api/gcsupport.rst:110
159220
msgid ""
@@ -164,6 +225,12 @@ msgid ""
164225
"object argument. If *visit* returns a non-zero value that value should be "
165226
"returned immediately."
166227
msgstr ""
228+
"Función transversal para un objeto contenedor. Las implementaciones deben "
229+
"llamar a la función *visit* para cada objeto directamente contenido por "
230+
"*self*, siendo los parámetros a *visit* el objeto contenido y el valor *arg* "
231+
"pasado al controlador. La función *visit* no debe llamarse con un argumento "
232+
"de objeto ``NULL``. Si *visit* devuelve un valor distinto de cero, ese valor "
233+
"debe devolverse inmediatamente."
167234

168235
#: ../Doc/c-api/gcsupport.rst:117
169236
msgid ""
@@ -172,19 +239,29 @@ msgid ""
172239
"member:`~PyTypeObject.tp_traverse` implementation must name its arguments "
173240
"exactly *visit* and *arg*:"
174241
msgstr ""
242+
"Para simplificar la escritura de los manejadores :c:member:`~PyTypeObject."
243+
"tp_traverse`, se proporciona un macro a :c:func:`Py_VISIT`. Para usar este "
244+
"macro, la implementación :c:member:`~PyTypeObject.tp_traverse` debe nombrar "
245+
"sus argumentos exactamente *visit* y *arg*:"
175246

176247
#: ../Doc/c-api/gcsupport.rst:124
177248
msgid ""
178249
"If *o* is not ``NULL``, call the *visit* callback, with arguments *o* and "
179250
"*arg*. If *visit* returns a non-zero value, then return it. Using this "
180251
"macro, :c:member:`~PyTypeObject.tp_traverse` handlers look like::"
181252
msgstr ""
253+
"Si *o* no es ``NULL``, llama a la devolución de llamada (*callback*) "
254+
"*visit*, con argumentos *o* y *arg*. Si *visit* retorna un valor distinto de "
255+
"cero, lo retorna. Usando este macro, los manejadores :c:member:"
256+
"`~PyTypeObject.tp_traverse` tienen el siguiente aspecto:"
182257

183258
#: ../Doc/c-api/gcsupport.rst:137
184259
msgid ""
185260
"The :c:member:`~PyTypeObject.tp_clear` handler must be of the :c:type:"
186261
"`inquiry` type, or ``NULL`` if the object is immutable."
187262
msgstr ""
263+
"El manejador :c:member:`~PyTypeObject.tp_clear` debe ser del tipo :c:type:"
264+
"`query`, o ``NULL`` si el objeto es inmutable."
188265

189266
#: ../Doc/c-api/gcsupport.rst:143
190267
msgid ""
@@ -195,3 +272,9 @@ msgid ""
195272
"collector will call this method if it detects that this object is involved "
196273
"in a reference cycle."
197274
msgstr ""
275+
"Descarta referencias que pueden haber creado ciclos de referencia. Los "
276+
"objetos inmutables no tienen que definir este método ya que nunca pueden "
277+
"crear directamente ciclos de referencia. Tenga en cuenta que el objeto aún "
278+
"debe ser válido después de llamar a este método (no solo llame a :c:func:"
279+
"`Py_DECREF` en una referencia). El recolector de basura llamará a este "
280+
"método si detecta que este objeto está involucrado en un ciclo de referencia."

dict

+3-1
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,8 @@ default
171171
desalojable
172172
desasigna
173173
desasignación
174-
descargable
174+
desasignada
175+
desasignador
175176
descargable
176177
descompresor
177178
deserialización
@@ -332,6 +333,7 @@ recursivamente
332333
redefinido
333334
redefinidos
334335
redefinir
336+
redimensionado
335337
redimensionable
336338
redimensionables
337339
redondeándolo

0 commit comments

Comments
 (0)