Skip to content

Commit b02fcb4

Browse files
committed
Agregando sugerencias extending/extending
1 parent b8a82ea commit b02fcb4

File tree

2 files changed

+67
-68
lines changed

2 files changed

+67
-68
lines changed

dict

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -790,6 +790,7 @@ reproducibles
790790
reproducible
791791
reStructuredText
792792
retrocompatible
793+
retrollamada
793794
remuestreo
794795
request
795796
reubicar

extending/extending.po

Lines changed: 66 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ msgstr ""
226226
"argumentos tienen el tipo correcto y sus componentes se han almacenado en "
227227
"las variables cuyas direcciones se pasan. Retorna falso (cero) si se pasó "
228228
"una lista de argumentos no válidos. En el último caso, también genera una "
229-
"excepción apropiada para que la función de llamada pueda devolver ``NULL`` "
229+
"excepción apropiada para que la función de llamada pueda retornar ``NULL`` "
230230
"inmediatamente (como vimos en el ejemplo)."
231231

232232
#: ../Doc/extending/extending.rst:126
@@ -249,7 +249,7 @@ msgid ""
249249
msgstr ""
250250
"Una convención importante en todo el intérprete de Python es la siguiente: "
251251
"cuando una función falla, debe establecer una condición de excepción y "
252-
"devolver un valor de error (generalmente un puntero ``NULL``). Las "
252+
"retornar un valor de error (generalmente un puntero ``NULL``). Las "
253253
"excepciones se almacenan en una variable global estática dentro del "
254254
"intérprete; Si esta variable es ``NULL``, no se ha producido ninguna "
255255
"excepción. Una segunda variable global almacena el \"valor asociado\" de la "
@@ -326,10 +326,10 @@ msgid ""
326326
"programmer."
327327
msgstr ""
328328
"Cuando una función *f* que llama a otra función *g* detecta que la última "
329-
"falla, *f* debería devolver un valor de error (generalmente ``NULL`` o "
329+
"falla, *f* debería retornar un valor de error (generalmente ``NULL`` o "
330330
"``-1``). Debería *no* llamar a una de las funciones :c:func:`PyErr_\\*` --- "
331331
"una ya ha sido llamada por *g*. Se supone que la persona que llama *f* "
332-
"también debe devolver una indicación de error a *su* persona que llama, de "
332+
"también debe retornar una indicación de error a *su* persona que llama, de "
333333
"nuevo *sin* llamar :c:func:`PyErr_\\*`, y así sucesivamente --- la causa más "
334334
"detallada del error ya fue informado por la función que lo detectó por "
335335
"primera vez. Una vez que el error llega al bucle principal del intérprete de "
@@ -415,7 +415,7 @@ msgid ""
415415
"you have an argument whose value must be in a particular range or must "
416416
"satisfy other conditions, :c:data:`PyExc_ValueError` is appropriate."
417417
msgstr ""
418-
"La elección de qué excepción plantear es totalmente suya. Hay objetos C "
418+
"La elección de qué excepción lanzar es totalmente suya. Hay objetos C "
419419
"declarados previamente que corresponden a todas las excepciones de Python "
420420
"incorporadas, como :c:data:`PyExc_ZeroDivisionError`, que puede usar "
421421
"directamente. Por supuesto, debe elegir sabiamente las excepciones --- no "
@@ -440,7 +440,7 @@ msgid ""
440440
"and initialize it in your module's initialization function (:c:func:"
441441
"`PyInit_spam`) with an exception object::"
442442
msgstr ""
443-
"e inicializa en la función de inicialización de su módulo (:c:func:"
443+
"y lo inicializa en la función de inicialización de su módulo (:c:func:"
444444
"`PyInit_spam`) con un objeto de excepción::"
445445

446446
#: ../Doc/extending/extending.rst:235
@@ -535,7 +535,7 @@ msgid ""
535535
"Our :func:`spam.system` function must return the value of :c:data:`sts` as a "
536536
"Python object. This is done using the function :c:func:`PyLong_FromLong`. ::"
537537
msgstr ""
538-
"Nuestra función :func:`spam.system` debe devolver el valor de :c:data:`sts` "
538+
"Nuestra función :func:`spam.system` debe retornar el valor de :c:data:`sts` "
539539
"como un objeto Python. Esto se hace usando la función :c:func:"
540540
"`PyLong_FromLong`. ::"
541541

@@ -544,8 +544,8 @@ msgid ""
544544
"In this case, it will return an integer object. (Yes, even integers are "
545545
"objects on the heap in Python!)"
546546
msgstr ""
547-
"En este caso, devolverá un objeto entero. (Sí, ¡incluso los enteros son "
548-
"objetos en el montón en Python!)"
547+
"En este caso, retornará un objeto entero. (Sí, ¡incluso los enteros son "
548+
"objetos en el montículo (*heap*) en Python!)"
549549

550550
#: ../Doc/extending/extending.rst:302
551551
msgid ""
@@ -555,7 +555,7 @@ msgid ""
555555
"macro:`Py_RETURN_NONE` macro)::"
556556
msgstr ""
557557
"Si tiene una función C que no retorna ningún argumento útil (una función que "
558-
"retorna :c:type:`void`), la función Python correspondiente debe devolver "
558+
"retorna :c:type:`void`), la función Python correspondiente debe retornar "
559559
"``None``. Necesita este modismo para hacerlo (que se implementa mediante la "
560560
"macro :c:macro:`Py_RETURN_NONE`)::"
561561

@@ -648,7 +648,7 @@ msgid ""
648648
msgstr ""
649649
"Tenga en cuenta que PyMODINIT_FUNC declara la función como ``PyObject *`` "
650650
"tipo de retorno, declara cualquier declaración de vinculación especial "
651-
"requerida por la plataforma, y para C ++ declara la función como ``extern \"C"
651+
"requerida por la plataforma, y para C++ declara la función como ``extern \"C"
652652
"\"``."
653653

654654
#: ../Doc/extending/extending.rst:372
@@ -671,9 +671,9 @@ msgstr ""
671671
"recién creado en función de la tabla (un arreglo de estructuras :c:type:"
672672
"`PyMethodDef`) encontradas en la definición del módulo. :c:func:"
673673
"`PyModule_Create` retorna un puntero al objeto del módulo que crea. Puede "
674-
"abortar con un error fatal para ciertos errores, o devolver ``NULL`` si el "
674+
"abortar con un error fatal para ciertos errores, o retornar ``NULL`` si el "
675675
"módulo no se pudo inicializar satisfactoriamente. La función *init* debe "
676-
"devolver el objeto del módulo a su llamador, para que luego se inserte en "
676+
"retornar el objeto del módulo a su llamador, para que luego se inserte en "
677677
"``sys.modules``."
678678

679679
#: ../Doc/extending/extending.rst:383
@@ -699,9 +699,9 @@ msgid ""
699699
msgstr ""
700700
"Eliminar entradas de ``sys.modules`` o importar módulos compilados en "
701701
"múltiples intérpretes dentro de un proceso (o seguir un :c:func:`fork` sin "
702-
"una intervención :c:func:`exec`) puede crear problemas para alguna extensión "
703-
"módulos Los autores del módulo de extensión deben tener precaución al "
704-
"inicializar estructuras de datos internas."
702+
"una intervención :c:func:`exec`) puede crear problemas para algunas "
703+
"extensiones de módulos. Los autores de módulos de extensiones deben tener "
704+
"precaución al inicializar estructuras de datos internas."
705705

706706
#: ../Doc/extending/extending.rst:433
707707
msgid ""
@@ -758,11 +758,11 @@ msgid ""
758758
msgstr ""
759759
"Si no puede utilizar la carga dinámica, o si desea que su módulo sea una "
760760
"parte permanente del intérprete de Python, tendrá que cambiar la "
761-
"configuración de configuración y reconstruir el intérprete. Afortunadamente, "
762-
"esto es muy simple en Unix: simplemente coloque su archivo (:file:"
763-
"`spammodule.c` por ejemplo) en el directorio :file:`Modules/ ` de una "
764-
"distribución fuente desempaquetada, agregue una línea al archivo :file:"
765-
"`Modules/Setup.local` que describe su archivo:"
761+
"configuración (*setup*) y reconstruir el intérprete. Afortunadamente, esto "
762+
"es muy simple en Unix: simplemente coloque su archivo (:file:`spammodule.c` "
763+
"por ejemplo) en el directorio :file:`Modules/ ` de una distribución fuente "
764+
"desempaquetada, agregue una línea al archivo :file:`Modules/Setup.local` que "
765+
"describe su archivo:"
766766

767767
#: ../Doc/extending/extending.rst:468
768768
msgid ""
@@ -803,12 +803,11 @@ msgstr ""
803803
"Hasta ahora nos hemos concentrado en hacer que las funciones de C puedan "
804804
"llamarse desde Python. Lo contrario también es útil: llamar a las funciones "
805805
"de Python desde C. Este es especialmente el caso de las bibliotecas que "
806-
"admiten las llamadas funciones de \"devolución de llamada\". Si una interfaz "
807-
"C utiliza devoluciones de llamada, el Python equivalente a menudo necesita "
808-
"proporcionar un mecanismo de devolución de llamada al programador de Python; "
809-
"la implementación requerirá llamar a las funciones de devolución de llamada "
810-
"de Python desde una devolución de llamada en C. Otros usos también son "
811-
"imaginables."
806+
"admiten las llamadas funciones de \"retrollamada\". Si una interfaz C "
807+
"utiliza retrollamadas, el Python equivalente a menudo necesita proporcionar "
808+
"un mecanismo de retrollamada al programador de Python; la implementación "
809+
"requerirá llamar a las funciones de retrollamada de Python desde una "
810+
"retrollamada en C. Otros usos también son imaginables."
812811

813812
#: ../Doc/extending/extending.rst:495
814813
msgid ""
@@ -880,7 +879,7 @@ msgid ""
880879
msgstr ""
881880
"Más tarde, cuando es hora de llamar a la función, llama a la función C :c:"
882881
"func:`PyObject_CallObject`. Esta función tiene dos argumentos, ambos "
883-
"apuntadores a objetos arbitrarios de Python: la función Python y la lista de "
882+
"punteros a objetos arbitrarios de Python: la función Python y la lista de "
884883
"argumentos. La lista de argumentos siempre debe ser un objeto de tupla, cuya "
885884
"longitud es el número de argumentos. Para llamar a la función Python sin "
886885
"argumentos, pase ``NULL`` o una tupla vacía; para llamarlo con un argumento, "
@@ -930,7 +929,7 @@ msgstr ""
930929
"Sin embargo, antes de hacer esto, es importante verificar que el valor de "
931930
"retorno no sea ``NULL``. Si es así, la función de Python terminó generando "
932931
"una excepción. Si el código C que llamó :c:func:`PyObject_CallObject` se "
933-
"llama desde Python, ahora debería devolver una indicación de error a su "
932+
"llama desde Python, ahora debería retornar una indicación de error a su "
934933
"llamador de Python, para que el intérprete pueda imprimir un seguimiento de "
935934
"la pila, o el código de Python que llama puede manejar la excepción. Si esto "
936935
"no es posible o deseable, la excepción se debe eliminar llamando a :c:func:"
@@ -947,14 +946,14 @@ msgid ""
947946
"simplest way to do this is to call :c:func:`Py_BuildValue`. For example, if "
948947
"you want to pass an integral event code, you might use the following code::"
949948
msgstr ""
950-
"Dependiendo de la interfaz deseada para la función de devolución de llamada "
951-
"de Python, es posible que también deba proporcionar una lista de argumentos "
949+
"Dependiendo de la interfaz deseada para la función de retrollamada de "
950+
"Python, es posible que también deba proporcionar una lista de argumentos "
952951
"para :c:func:`PyObject_CallObject`. En algunos casos, el programa Python "
953952
"también proporciona la lista de argumentos, a través de la misma interfaz "
954-
"que especificó la función de devolución de llamada. Luego se puede guardar y "
955-
"usar de la misma manera que el objeto de función. En otros casos, puede que "
956-
"tenga que construir una nueva tupla para pasarla como lista de argumentos. "
957-
"La forma más sencilla de hacer esto es llamar a :c:func:`Py_BuildValue`. Por "
953+
"que especificó la función de retrollamada. Luego se puede guardar y usar de "
954+
"la misma manera que el objeto de función. En otros casos, puede que tenga "
955+
"que construir una nueva tupla para pasarla como lista de argumentos. La "
956+
"forma más sencilla de hacer esto es llamar a :c:func:`Py_BuildValue`. Por "
958957
"ejemplo, si desea pasar un código de evento integral, puede usar el "
959958
"siguiente código::"
960959

@@ -1122,8 +1121,8 @@ msgstr ""
11221121
"solo si su cadena de formato contiene dos o más unidades de formato. Si la "
11231122
"cadena de formato está vacía, retorna ``None``; si contiene exactamente una "
11241123
"unidad de formato, retorna el objeto que describa esa unidad de formato. "
1125-
"Para forzarlo a devolver una tupla de tamaño 0 o uno, paréntesis la cadena "
1126-
"de formato."
1124+
"Para forzarlo a retornar una tupla de tamaño 0 o uno, agregar paréntesis a "
1125+
"la cadena de formato."
11271126

11281127
#: ../Doc/extending/extending.rst:822
11291128
msgid ""
@@ -1144,9 +1143,9 @@ msgid ""
11441143
"``new`` and ``delete`` are used with essentially the same meaning and we'll "
11451144
"restrict the following discussion to the C case."
11461145
msgstr ""
1147-
"En lenguajes como C o C ++, el programador es responsable de la asignación "
1146+
"En lenguajes como C o C++, el programador es responsable de la asignación "
11481147
"dinámica y la desasignación de memoria en el montón. En C, esto se hace "
1149-
"usando las funciones :c:func:`malloc` y :c:func:`free`. En C ++, los "
1148+
"usando las funciones :c:func:`malloc` y :c:func:`free`. En C++, los "
11501149
"operadores ``new`` y ``delete`` se usan esencialmente con el mismo "
11511150
"significado y restringiremos la siguiente discusión al caso C."
11521151

@@ -1276,7 +1275,7 @@ msgstr ""
12761275
"contienen referencias (posiblemente indirectas) a sí mismos, de modo que "
12771276
"cada objeto en el ciclo tiene un recuento de referencias que no es cero. Las "
12781277
"implementaciones típicas de recuento de referencias no pueden recuperar la "
1279-
"memoria que pertenece a ningún objeto en un ciclo de referencia, o "
1278+
"memoria que pertenece a algún objeto en un ciclo de referencia, o "
12801279
"referenciada a partir de los objetos en el ciclo, a pesar de que no hay más "
12811280
"referencias al ciclo en sí."
12821281

@@ -1426,7 +1425,7 @@ msgstr ""
14261425
"`Py_BuildValue`, pasan la propiedad al receptor. Incluso si el objeto no es "
14271426
"realmente nuevo, aún recibirá la propiedad de una nueva referencia a ese "
14281427
"objeto. Por ejemplo, :c:func:`PyLong_FromLong` mantiene un caché de valores "
1429-
"populares y puede devolver una referencia a un elemento en caché."
1428+
"populares y puede retornar una referencia a un elemento en caché."
14301429

14311430
#: ../Doc/extending/extending.rst:981
14321431
msgid ""
@@ -1566,11 +1565,11 @@ msgid ""
15661565
msgstr ""
15671566
"Como está escrito en Python, el método :meth:`__del__` puede ejecutar código "
15681567
"arbitrario de Python. ¿Podría hacer algo para invalidar la referencia a "
1569-
"``elemento`` en :c:func:`error`? Usted apuesta! Suponiendo que la lista pasó "
1570-
"a :c:func:`bug` es accesible para el método :meth:`__del__`, podría ejecutar "
1571-
"una declaración en el sentido de ``del list[0]``, y suponiendo que este "
1572-
"fuera el última referencia a ese objeto, liberaría la memoria asociada con "
1573-
"él, invalidando así el ``elemento``."
1568+
"``item`` en :c:func:`error`? ¡Tenlo por seguro! Suponiendo que la lista "
1569+
"pasado a :c:func:`bug` es accesible para el método :meth:`__del__`, podría "
1570+
"ejecutar una declaración en el sentido de ``del list[0]``, y suponiendo que "
1571+
"este fuera el última referencia a ese objeto, liberaría la memoria asociada "
1572+
"con él, invalidando así el ``elemento``."
15741573

15751574
#: ../Doc/extending/extending.rst:1051
15761575
msgid ""
@@ -1706,16 +1705,16 @@ msgid ""
17061705
"`` --- they use this form already if the symbol ``__cplusplus`` is defined "
17071706
"(all recent C++ compilers define this symbol)."
17081707
msgstr ""
1709-
"Es posible escribir módulos de extensión en C ++. Se aplican algunas "
1708+
"Es posible escribir módulos de extensión en C++. Se aplican algunas "
17101709
"restricciones. Si el compilador de C compila y vincula el programa principal "
17111710
"(el intérprete de Python), no se pueden usar objetos globales o estáticos "
17121711
"con constructores. Esto no es un problema si el programa principal está "
1713-
"vinculado por el compilador de C ++. Las funciones que serán llamadas por el "
1712+
"vinculado por el compilador de C++. Las funciones que serán llamadas por el "
17141713
"intérprete de Python (en particular, las funciones de inicialización del "
17151714
"módulo) deben declararse usando ``extern \"C\"``. No es necesario encerrar "
17161715
"los archivos de encabezado de Python en ``extern \"C\" {...}`` --- ya usan "
17171716
"este formulario si el símbolo ``__cplusplus`` está definido (todos los "
1718-
"compiladores recientes de C ++ definen este símbolo) ."
1717+
"compiladores recientes de C++ definen este símbolo) ."
17191718

17201719
#: ../Doc/extending/extending.rst:1147
17211720
msgid "Providing a C API for an Extension Module"
@@ -1756,19 +1755,19 @@ msgid ""
17561755
"call might not have been loaded yet!"
17571756
msgstr ""
17581757
"A primera vista, esto parece fácil: simplemente escriba las funciones (sin "
1759-
"declararlas ``estáticas``, por supuesto), proporcione un archivo de "
1760-
"encabezado apropiado y documente la API de C. Y, de hecho, esto funcionaría "
1761-
"si todos los módulos de extensión siempre estuvieran vinculados "
1762-
"estáticamente con el intérprete de Python. Sin embargo, cuando los módulos "
1763-
"se usan como bibliotecas compartidas, los símbolos definidos en un módulo "
1764-
"pueden no ser visibles para otro módulo. Los detalles de visibilidad "
1765-
"dependen del sistema operativo; algunos sistemas usan un espacio de nombres "
1766-
"global para el intérprete de Python y todos los módulos de extensión "
1767-
"(Windows, por ejemplo), mientras que otros requieren una lista explícita de "
1768-
"símbolos importados en el momento del enlace del módulo (AIX es un ejemplo) "
1769-
"u ofrecen una variedad de estrategias diferentes (la mayoría Unices). E "
1770-
"incluso si los símbolos son visibles a nivel mundial, ¡el módulo cuyas "
1771-
"funciones uno desea llamar podría no haberse cargado todavía!"
1758+
"declararlas ``static``, por supuesto), proporcione un archivo de encabezado "
1759+
"apropiado y documente la API de C. Y, de hecho, esto funcionaría si todos "
1760+
"los módulos de extensión siempre estuvieran vinculados estáticamente con el "
1761+
"intérprete de Python. Sin embargo, cuando los módulos se usan como "
1762+
"bibliotecas compartidas, los símbolos definidos en un módulo pueden no ser "
1763+
"visibles para otro módulo. Los detalles de visibilidad dependen del sistema "
1764+
"operativo; algunos sistemas usan un espacio de nombres global para el "
1765+
"intérprete de Python y todos los módulos de extensión (Windows, por "
1766+
"ejemplo), mientras que otros requieren una lista explícita de símbolos "
1767+
"importados en el momento del enlace del módulo (AIX es un ejemplo) u ofrecen "
1768+
"una variedad de estrategias diferentes (la mayoría Unices). E incluso si los "
1769+
"símbolos son visibles a nivel mundial, ¡el módulo cuyas funciones uno desea "
1770+
"llamar podría no haberse cargado todavía!"
17721771

17731772
#: ../Doc/extending/extending.rst:1172
17741773
msgid ""
@@ -1781,7 +1780,7 @@ msgid ""
17811780
msgstr ""
17821781
"Por lo tanto, la portabilidad requiere no hacer suposiciones sobre la "
17831782
"visibilidad del símbolo. Esto significa que todos los símbolos en los "
1784-
"módulos de extensión deben declararse ``estáticos``, excepto la función de "
1783+
"módulos de extensión deben declararse ``static``, excepto la función de "
17851784
"inicialización del módulo, para evitar conflictos de nombres con otros "
17861785
"módulos de extensión (como se discutió en la sección :ref:`methodtable`). Y "
17871786
"significa que los símbolos que *deberían* ser accesibles desde otros módulos "
@@ -1892,17 +1891,16 @@ msgstr ""
18921891
"sección :ref:`extending-simpleexample`. La función :func:`spam.system` no "
18931892
"llama a la función de la biblioteca C :c:func:`system` directamente, sino "
18941893
"una función :c:func:`PySpam_System`, que por supuesto haría algo más "
1895-
"complicado en la realidad (como agregar \"spam\" a cada comando). Esta "
1896-
"función :c:func:`PySpam_System` también se exporta a otros módulos de "
1897-
"extensión."
1894+
"complicado en realidad (como agregar \"spam\" a cada comando). Esta función :"
1895+
"c:func:`PySpam_System` también se exporta a otros módulos de extensión."
18981896

18991897
#: ../Doc/extending/extending.rst:1225
19001898
msgid ""
19011899
"The function :c:func:`PySpam_System` is a plain C function, declared "
19021900
"``static`` like everything else::"
19031901
msgstr ""
19041902
"La función :c:func:`PySpam_System` es una función C simple, declarada "
1905-
"``estática`` como todo lo demás::"
1903+
"``static`` como todo lo demás::"
19061904

19071905
#: ../Doc/extending/extending.rst:1234
19081906
msgid "The function :c:func:`spam_system` is modified in a trivial way::"
@@ -1933,7 +1931,7 @@ msgid ""
19331931
"Note that ``PySpam_API`` is declared ``static``; otherwise the pointer array "
19341932
"would disappear when :func:`PyInit_spam` terminates!"
19351933
msgstr ""
1936-
"Tenga en cuenta que ``PySpam_API`` se declara ``estático``; de lo contrario, "
1934+
"Tenga en cuenta que ``PySpam_API`` se declara ``static``; de lo contrario, "
19371935
"la matriz de punteros desaparecería cuando :func:`PyInit_spam` finalice!"
19381936

19391937
#: ../Doc/extending/extending.rst:1290

0 commit comments

Comments
 (0)