From f00be2e9099438ab5746686c445b1b6d47ca45f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Thu, 2 Mar 2023 20:14:32 +0100 Subject: [PATCH 1/3] Traducido extending/extending Closes #1900 --- extending/extending.po | 120 +++++++++++++++++------------------------ 1 file changed, 48 insertions(+), 72 deletions(-) diff --git a/extending/extending.po b/extending/extending.po index b1bb67e112..985610d7bc 100644 --- a/extending/extending.po +++ b/extending/extending.po @@ -13,12 +13,12 @@ msgstr "" "POT-Creation-Date: 2022-10-25 19:47+0200\n" "PO-Revision-Date: 2021-10-27 04:00-0400\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.10.3\n" #: ../Doc/extending/extending.rst:8 @@ -243,6 +243,15 @@ msgid "" "the exception type, exception instance, and a traceback object. It is " "important to know about them to understand how errors are passed around." msgstr "" +"Una convención importante en todo el intérprete de Python es la siguiente: " +"cuando una función falla, debe establecer una condición de excepción y " +"retornar un valor de error (generalmente ``-1`` o un puntero ``NULL``). La " +"información de excepción se almacena en tres miembros del estado del " +"subproceso del intérprete. Estos son ``NULL`` si no hay excepción. De lo " +"contrario, son los equivalentes en C de los miembros de la tupla Python " +"retornada por :meth:`sys.exc_info`. Estos son el tipo de excepción, la " +"instancia de excepción y un objeto de rastreo. Es importante conocerlos para " +"comprender cómo se transmiten los errores." #: ../Doc/extending/extending.rst:137 msgid "" @@ -297,7 +306,6 @@ msgstr "" "llamada a la función, ya que debería poder distinguir el valor de retorno." #: ../Doc/extending/extending.rst:158 -#, fuzzy msgid "" "When a function *f* that calls another function *g* detects that the latter " "fails, *f* should itself return an error value (usually ``NULL`` or " @@ -309,20 +317,18 @@ msgid "" "interpreter's main loop, this aborts the currently executing Python code and " "tries to find an exception handler specified by the Python programmer." msgstr "" -"Cuando una función *f* que llama a otra función *g* detecta que la última " -"falla, *f* debería retornar un valor de error (generalmente ``NULL`` o " -"``-1``). Debería *no* llamar a una de las funciones :c:func:`PyErr_\\*` --- " -"una ya ha sido llamada por *g*. Se supone que la persona que llama *f* " -"también debe retornar una indicación de error a *su* persona que llama, de " -"nuevo *sin* llamar :c:func:`PyErr_\\*`, y así sucesivamente --- la causa más " -"detallada del error ya fue informado por la función que lo detectó por " -"primera vez. Una vez que el error llega al bucle principal del intérprete de " -"Python, esto anula el código de Python que se está ejecutando actualmente e " -"intenta encontrar un controlador de excepción especificado por el " -"programador de Python." +"Cuando una función *f* que llama a otra función *g* detecta que esta última " +"falla, *f* debería retornar un valor de error (normalmente ``NULL`` o " +"``-1``). Debería *not* llamar a una de las funciones ``PyErr_*`` --- *g* ya " +"ha llamado a una. Se supone que la persona que llama a *f* también retornará " +"una indicación de error a la persona que llama a *its*, nuevamente *without* " +"llama a ``PyErr_*``, y así sucesivamente --- la función que lo detectó " +"primero ya informó la causa más detallada del error. Una vez que el error " +"llega al bucle principal del intérprete de Python, este aborta el código de " +"Python que se está ejecutando actualmente e intenta encontrar un controlador " +"de excepciones especificado por el programador de Python." #: ../Doc/extending/extending.rst:168 -#, fuzzy msgid "" "(There are situations where a module can actually give a more detailed error " "message by calling another ``PyErr_*`` function, and in such cases it is " @@ -331,10 +337,10 @@ msgid "" "can fail for a variety of reasons.)" msgstr "" "(Hay situaciones en las que un módulo puede dar un mensaje de error más " -"detallado llamando a otra función :c:func:`PyErr_\\*`, y en tales casos está " -"bien hacerlo. Como regla general, sin embargo, esto es no es necesario y " -"puede causar que se pierda información sobre la causa del error: la mayoría " -"de las operaciones pueden fallar por varias razones.)" +"detallado llamando a otra función ``PyErr_*``, y en tales casos está bien " +"hacerlo. Sin embargo, como regla general, esto no es necesario y puede " +"generar información sobre el causa de la pérdida del error: la mayoría de " +"las operaciones pueden fallar por una variedad de razones)." #: ../Doc/extending/extending.rst:174 msgid "" @@ -533,7 +539,6 @@ msgstr "" "objetos en el montículo (*heap*) en Python!)" #: ../Doc/extending/extending.rst:300 -#, fuzzy msgid "" "If you have a C function that returns no useful argument (a function " "returning :c:expr:`void`), the corresponding Python function must return " @@ -541,9 +546,9 @@ msgid "" "macro:`Py_RETURN_NONE` macro)::" msgstr "" "Si tiene una función C que no retorna ningún argumento útil (una función que " -"retorna :c:type:`void`), la función Python correspondiente debe retornar " -"``None``. Necesita este modismo para hacerlo (que se implementa mediante la " -"macro :c:macro:`Py_RETURN_NONE`)::" +"retorna :c:expr:`void`), la función de Python correspondiente debe retornar " +"``None``. Necesita esta expresión para hacerlo (que se implementa mediante " +"la macro :c:macro:`Py_RETURN_NONE`):" #: ../Doc/extending/extending.rst:308 msgid "" @@ -1763,7 +1768,6 @@ msgstr "" "de extensión deben exportarse de una manera diferente." #: ../Doc/extending/extending.rst:1172 -#, fuzzy msgid "" "Python provides a special mechanism to pass C-level information (pointers) " "from one extension module to another one: Capsules. A Capsule is a Python " @@ -1775,13 +1779,13 @@ msgid "" "the Capsule." msgstr "" "Python proporciona un mecanismo especial para pasar información de nivel C " -"(punteros) de un módulo de extensión a otro: Cápsulas. Una cápsula es un " -"tipo de datos de Python que almacena un puntero (:c:type:`void \\*`). Las " -"cápsulas solo se pueden crear y acceder a través de su API de C, pero se " -"pueden pasar como cualquier otro objeto de Python. En particular, pueden " -"asignarse a un nombre en el espacio de nombres de un módulo de extensión. " -"Otros módulos de extensión pueden importar este módulo, recuperar el valor " -"de este nombre y luego recuperar el puntero de la Cápsula." +"(punteros) de un módulo de extensión a otro: cápsulas. Una cápsula es un " +"tipo de datos de Python que almacena un puntero (:c:expr:`void \\*`). Solo " +"se puede crear y acceder a las cápsulas a través de su API C, pero se pueden " +"pasar como cualquier otro objeto de Python. En particular, se pueden asignar " +"a un nombre en el espacio de nombres de un módulo de extensión. Otros " +"módulos de extensión pueden importar este módulo, recuperar el valor de este " +"nombre y luego recuperar el puntero de la Cápsula." #: ../Doc/extending/extending.rst:1180 msgid "" @@ -1800,7 +1804,6 @@ msgstr "" "entre el módulo que proporciona el código y los módulos del cliente." #: ../Doc/extending/extending.rst:1186 -#, fuzzy msgid "" "Whichever method you choose, it's important to name your Capsules properly. " "The function :c:func:`PyCapsule_New` takes a name parameter (:c:expr:`const " @@ -1809,12 +1812,13 @@ msgid "" "of runtime type-safety; there is no feasible way to tell one unnamed Capsule " "from another." msgstr "" -"Sea cual sea el método que elija, es importante nombrar sus cápsulas " -"correctamente. La función :c:func:`PyCapsule_New` toma un parámetro de " -"nombre (:c:type:`const char \\*`); se le permite pasar un nombre ``NULL``, " -"pero le recomendamos que especifique un nombre. Las cápsulas correctamente " -"nombradas proporcionan un grado de seguridad de tipo de tiempo de ejecución; " -"no hay una manera factible de distinguir una Cápsula sin nombre de otra." +"Cualquiera que sea el método que elija, es importante nombrar correctamente " +"sus Cápsulas. La función :c:func:`PyCapsule_New` toma un parámetro de nombre " +"(:c:expr:`const char \\*`); se le permite pasar un nombre ``NULL``, pero le " +"recomendamos encarecidamente que especifique un nombre. Las Cápsulas " +"correctamente nombradas brindan un grado de seguridad de tipo de tiempo de " +"ejecución; no hay una forma factible de distinguir una Cápsula sin nombre de " +"otra." #: ../Doc/extending/extending.rst:1193 msgid "" @@ -1838,7 +1842,6 @@ msgstr "" "contiene la API de C correcta." #: ../Doc/extending/extending.rst:1203 -#, fuzzy msgid "" "The following example demonstrates an approach that puts most of the burden " "on the writer of the exporting module, which is appropriate for commonly " @@ -1849,13 +1852,13 @@ msgid "" "modules only have to call this macro before accessing the C API." msgstr "" "El siguiente ejemplo demuestra un enfoque que pone la mayor parte de la " -"carga en el escritor del módulo de exportación, que es apropiado para los " -"módulos de biblioteca de uso común. Almacena todos los punteros de API C " -"(¡solo uno en el ejemplo!) En un arreglo de punteros :c:type:`void` que se " -"convierte en el valor de una cápsula. El archivo de encabezado " +"carga sobre el escritor del módulo de exportación, que es apropiado para los " +"módulos de biblioteca de uso común. Almacena todos los punteros de la API de " +"C (¡solo uno en el ejemplo!) en una matriz de punteros :c:expr:`void` que se " +"convierte en el valor de una Cápsula. El archivo de encabezado " "correspondiente al módulo proporciona una macro que se encarga de importar " -"el módulo y recuperar sus punteros de API C; Los módulos de cliente solo " -"tienen que llamar a esta macro antes de acceder a la API de C." +"el módulo y recuperar sus punteros C API; los módulos de cliente solo tienen " +"que llamar a esta macro antes de acceder a la API de C." #: ../Doc/extending/extending.rst:1211 msgid "" @@ -1995,30 +1998,3 @@ msgid "" msgstr "" "Estas garantías no se cumplen cuando utiliza la convención de llamadas de " "estilo \"antiguo\", que todavía se encuentra en muchos códigos existentes." - -#~ msgid "" -#~ "An important convention throughout the Python interpreter is the " -#~ "following: when a function fails, it should set an exception condition " -#~ "and return an error value (usually a ``NULL`` pointer). Exceptions are " -#~ "stored in a static global variable inside the interpreter; if this " -#~ "variable is ``NULL`` no exception has occurred. A second global variable " -#~ "stores the \"associated value\" of the exception (the second argument to :" -#~ "keyword:`raise`). A third variable contains the stack traceback in case " -#~ "the error originated in Python code. These three variables are the C " -#~ "equivalents of the result in Python of :meth:`sys.exc_info` (see the " -#~ "section on module :mod:`sys` in the Python Library Reference). It is " -#~ "important to know about them to understand how errors are passed around." -#~ msgstr "" -#~ "Una convención importante en todo el intérprete de Python es la " -#~ "siguiente: cuando una función falla, debe establecer una condición de " -#~ "excepción y retornar un valor de error (generalmente un puntero " -#~ "``NULL``). Las excepciones se almacenan en una variable global estática " -#~ "dentro del intérprete; Si esta variable es ``NULL``, no se ha producido " -#~ "ninguna excepción. Una segunda variable global almacena el \"valor " -#~ "asociado\" de la excepción (el segundo argumento para :keyword:`raise`). " -#~ "Una tercera variable contiene el seguimiento de la pila en caso de que el " -#~ "error se origine en el código Python. Estas tres variables son los " -#~ "equivalentes en C del resultado en Python de :meth:`sys.exc_info` " -#~ "(consulte la sección sobre el módulo :mod:`sys` en la Referencia de la " -#~ "biblioteca de Python). Es importante conocerlos para comprender cómo se " -#~ "transmiten los errores." From 391cab304209069d528f899921d3239e53fc12fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Tue, 21 Mar 2023 14:44:41 +0100 Subject: [PATCH 2/3] Apply suggestions from code review Co-authored-by: rtobar --- extending/extending.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/extending/extending.po b/extending/extending.po index 985610d7bc..3f84ab53c2 100644 --- a/extending/extending.po +++ b/extending/extending.po @@ -319,9 +319,9 @@ msgid "" msgstr "" "Cuando una función *f* que llama a otra función *g* detecta que esta última " "falla, *f* debería retornar un valor de error (normalmente ``NULL`` o " -"``-1``). Debería *not* llamar a una de las funciones ``PyErr_*`` --- *g* ya " +"``-1``). Debería *no* llamar a una de las funciones ``PyErr_*`` --- *g* ya " "ha llamado a una. Se supone que la persona que llama a *f* también retornará " -"una indicación de error a la persona que llama a *its*, nuevamente *without* " +"una indicación de error a *su* persona que la llama, nuevamente *sin* " "llama a ``PyErr_*``, y así sucesivamente --- la función que lo detectó " "primero ya informó la causa más detallada del error. Una vez que el error " "llega al bucle principal del intérprete de Python, este aborta el código de " @@ -339,7 +339,7 @@ msgstr "" "(Hay situaciones en las que un módulo puede dar un mensaje de error más " "detallado llamando a otra función ``PyErr_*``, y en tales casos está bien " "hacerlo. Sin embargo, como regla general, esto no es necesario y puede " -"generar información sobre el causa de la pérdida del error: la mayoría de " +"causar que se pierda información sobre la causa del error: la mayoría de " "las operaciones pueden fallar por una variedad de razones)." #: ../Doc/extending/extending.rst:174 @@ -1854,7 +1854,7 @@ msgstr "" "El siguiente ejemplo demuestra un enfoque que pone la mayor parte de la " "carga sobre el escritor del módulo de exportación, que es apropiado para los " "módulos de biblioteca de uso común. Almacena todos los punteros de la API de " -"C (¡solo uno en el ejemplo!) en una matriz de punteros :c:expr:`void` que se " +"C (¡solo uno en el ejemplo!) en un arreglo de punteros :c:expr:`void` que se " "convierte en el valor de una Cápsula. El archivo de encabezado " "correspondiente al módulo proporciona una macro que se encarga de importar " "el módulo y recuperar sus punteros C API; los módulos de cliente solo tienen " From 168a60b9d4ff5a1f88b67fc211985b8db7c719b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Tue, 21 Mar 2023 14:45:09 +0100 Subject: [PATCH 3/3] powrap --- extending/extending.po | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/extending/extending.po b/extending/extending.po index 3f84ab53c2..e05b410790 100644 --- a/extending/extending.po +++ b/extending/extending.po @@ -321,12 +321,12 @@ msgstr "" "falla, *f* debería retornar un valor de error (normalmente ``NULL`` o " "``-1``). Debería *no* llamar a una de las funciones ``PyErr_*`` --- *g* ya " "ha llamado a una. Se supone que la persona que llama a *f* también retornará " -"una indicación de error a *su* persona que la llama, nuevamente *sin* " -"llama a ``PyErr_*``, y así sucesivamente --- la función que lo detectó " -"primero ya informó la causa más detallada del error. Una vez que el error " -"llega al bucle principal del intérprete de Python, este aborta el código de " -"Python que se está ejecutando actualmente e intenta encontrar un controlador " -"de excepciones especificado por el programador de Python." +"una indicación de error a *su* persona que la llama, nuevamente *sin* llama " +"a ``PyErr_*``, y así sucesivamente --- la función que lo detectó primero ya " +"informó la causa más detallada del error. Una vez que el error llega al " +"bucle principal del intérprete de Python, este aborta el código de Python " +"que se está ejecutando actualmente e intenta encontrar un controlador de " +"excepciones especificado por el programador de Python." #: ../Doc/extending/extending.rst:168 msgid "" @@ -339,8 +339,8 @@ msgstr "" "(Hay situaciones en las que un módulo puede dar un mensaje de error más " "detallado llamando a otra función ``PyErr_*``, y en tales casos está bien " "hacerlo. Sin embargo, como regla general, esto no es necesario y puede " -"causar que se pierda información sobre la causa del error: la mayoría de " -"las operaciones pueden fallar por una variedad de razones)." +"causar que se pierda información sobre la causa del error: la mayoría de las " +"operaciones pueden fallar por una variedad de razones)." #: ../Doc/extending/extending.rst:174 msgid ""