Skip to content

Traducido archivo c-api/stable #1566

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 1 commit into from
Oct 27, 2021
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
Traducido archivo c-api/stable
  • Loading branch information
xooseph committed Oct 23, 2021
commit 2e49a7db9e4bd14bf49c494addeb6f29cfa7515d
120 changes: 111 additions & 9 deletions c-api/stable.po
Original file line number Diff line number Diff line change
Expand Up @@ -11,19 +11,20 @@ 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: 2020-05-09 02:48+0200\n"
"Last-Translator: \n"
"PO-Revision-Date: 2021-10-23 03:44-0500\n"
"Last-Translator: José Luis Salgado Banda <josephLSalgado@outlook.com>\n"
"Language: es\n"
"Language-Team: python-doc-es\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\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/stable.rst:7
msgid "C API Stability"
msgstr ""
msgstr "Estabilidad de la API en C"

#: ../Doc/c-api/stable.rst:9
msgid ""
Expand All @@ -33,6 +34,12 @@ msgid ""
"API. Changing existing API or removing API is only done after a deprecation "
"period or to fix serious issues."
msgstr ""
"La API en C de Python está cubierta por la política de compatibilidad con "
"versiones anteriores, :pep:`387`. Si bien la API en C cambiará con cada "
"versión menor (por ejemplo de 3.9 a 3.10), la mayoría de los cambios serán "
"compatibles con la fuente, típicamente sólo agregando una nueva API. El "
"cambio de la API existente o la eliminación de la API sólo se realiza "
"después de un período obsoleto o para arreglar problemas graves."

#: ../Doc/c-api/stable.rst:15
msgid ""
Expand All @@ -42,12 +49,20 @@ msgid ""
"work on 3.10.8 and vice versa, but will need to be compiled separately for "
"3.9.x and 3.10.x."
msgstr ""
"La interfaz binaria de aplicación (ABI) de CPython es compatible con "
"versiones posteriores y anteriores tras una versión menor (si se compilan de "
"la misma forma; ver :ref:`stable-abi-platform` a continuación). Por lo "
"tanto, el código que se compila para Python 3.10.0 funcionará en la 3.10.8 y "
"viceversa, pero tendrá que compilarse por separado para 3.9.x y 3.10.x."

#: ../Doc/c-api/stable.rst:21
msgid ""
"Names prefixed by an underscore, such as ``_Py_InternalState``, are private "
"API that can change without notice even in patch releases."
msgstr ""
"Los nombres con el prefijo de un guión bajo, como ``_Py_InternalState``, son "
"API privadas que pueden cambiar incluso sin notificar en lanzamientos de "
"parches."

#: ../Doc/c-api/stable.rst:26
msgid "Stable Application Binary Interface"
Expand All @@ -60,6 +75,10 @@ msgid ""
"multiple versions of Python. Contents of the Limited API are :ref:`listed "
"below <stable-abi-list>`."
msgstr ""
"En Python 3.2 se introdujo la *API limitada*, un subconjunto de la API en C "
"de Python. Las extensiones que sólo usan la API limitada pueden compilarse "
"una vez y funcionan con múltiples versiones de Python. El contenido de la "
"API limitada es :ref:`enumerado a continuación <stable-abi-list>`."

#: ../Doc/c-api/stable.rst:33
msgid ""
Expand All @@ -68,19 +87,29 @@ msgid ""
"symbols exposed in the Limited API, but also other ones – for example, "
"functions necessary to support older versions of the Limited API."
msgstr ""
"Para habilitar esto, Python proporciona una *ABI estable*: un conjunto de "
"símbolos que permanecerá compatible en todas las versiones de Python 3.x. La "
"ABI estable contiene símbolos expuestos en la API limitada, pero también "
"otros - por ejemplo, funciones necesarias para soportar versiones anteriores "
"de la API limitada."

#: ../Doc/c-api/stable.rst:38
msgid ""
"(For simplicity, this document talks about *extensions*, but the Limited API "
"and Stable ABI work the same way for all uses of the API – for example, "
"embedding Python.)"
msgstr ""
"(Para simplificar, este documento trata acerca de *extensiones*, pero la API "
"limitada y la ABI estable funcionan de la misma forma para todos los usos de "
"la API - por ejemplo, incrustar Python.)"

#: ../Doc/c-api/stable.rst:44
msgid ""
"Define this macro before including ``Python.h`` to opt in to only use the "
"Limited API, and to select the Limited API version."
msgstr ""
"Se define esta macro antes de incluir ``Python.h`` para optar por usar sólo "
"la API limitada y para seleccionar la versión de la API limitada."

#: ../Doc/c-api/stable.rst:47
msgid ""
Expand All @@ -90,26 +119,39 @@ msgid ""
"the specified one onward, and can use Limited API introduced up to that "
"version."
msgstr ""
"Se define ``Py_LIMITED_API`` con el valor de :c:data:`PY_VERSION_HEX` "
"correspondiente a la versión más baja de Python que soporte su extensión. La "
"extensión funcionará sin volver a compilarse con todas las versiones de "
"Python 3 desde la especificada en adelante, y se puede usar la API limitada "
"que se introdujo hasta esa versión."

#: ../Doc/c-api/stable.rst:53
msgid ""
"Rather than using the ``PY_VERSION_HEX`` macro directly, hardcode a minimum "
"minor version (e.g. ``0x030A0000`` for Python 3.10) for stability when "
"compiling with future Python versions."
msgstr ""
"En lugar de utilizar directamente la macro ``PY_VERSION_HEX``, se codifica "
"una versión menor mínima (por ejemplo, ``0x030A0000`` para Python 3.10) para "
"tener estabilidad cuando se compila con futuras versiones de Python."

#: ../Doc/c-api/stable.rst:57
msgid ""
"You can also define ``Py_LIMITED_API`` to ``3``. This works the same as "
"``0x03020000`` (Python 3.2, the version that introduced Limited API)."
msgstr ""
"También se puede definir ``Py_LIMITED_API`` con ``3``. Esto funciona igual "
"que ``0x03020000`` (Python 3.2, la función que introdujo la API limitada)."

#: ../Doc/c-api/stable.rst:60
msgid ""
"On Windows, extensions that use the Stable ABI should be linked against "
"``python3.dll`` rather than a version-specific library such as ``python39."
"dll``."
msgstr ""
"En Windows, las extensiones que usan la ABI estable deben estar vinculadas "
"con ``python3.dll`` en lugar de una biblioteca específica de la versión como "
"``python39.dll``."

#: ../Doc/c-api/stable.rst:64
msgid ""
Expand All @@ -119,30 +161,45 @@ msgid ""
"to ensure that, for example, extensions built with the 3.10+ Limited API are "
"not installed for lower versions of Python."
msgstr ""
"En algunas plataformas, Python buscará y cargará archivos de bibliotecas "
"compartidas con el nombre de la etiqueta ``abi3`` (por ejemplo, ``mymodule."
"abi3.so``). No comprueba si tales extensiones se ajustan a una ABI estable. "
"El usuario (o sus herramientas de empaquetado) necesitan asegurarse que, por "
"ejemplo, las extensiones que se crean con la API limitada 3.10+ no estén "
"instaladas para versiones inferiores de Python."

#: ../Doc/c-api/stable.rst:71
msgid ""
"All functions in the Stable ABI are present as functions in Python's shared "
"library, not solely as macros. This makes them usable from languages that "
"don't use the C preprocessor."
msgstr ""
"Todas las funciones de la ABI estable se presentan como funciones en la "
"biblioteca compartida de Python, no sólo como macros. Esto las hace "
"utilizables desde lenguajes que no usan el preprocesador de C."

#: ../Doc/c-api/stable.rst:77
msgid "Limited API Scope and Performance"
msgstr ""
msgstr "Alcance y rendimiento de la API limitada"

#: ../Doc/c-api/stable.rst:79
msgid ""
"The goal for the Limited API is to allow everything that is possible with "
"the full C API, but possibly with a performance penalty."
msgstr ""
"El objetivo de la API limitada es permitir todo lo que es posible con la API "
"completa en C, pero posiblemente con una penalización de rendimiento."

#: ../Doc/c-api/stable.rst:82
msgid ""
"For example, while :c:func:`PyList_GetItem` is available, its “unsafe” macro "
"variant :c:func:`PyList_GET_ITEM` is not. The macro can be faster because it "
"can rely on version-specific implementation details of the list object."
msgstr ""
"Por ejemplo, mientras :c:func:`PyList_GetItem` está disponible, su variante "
"macro “insegura” :c:func:`PyList_GET_ITEM` no lo está. La macro puede ser "
"más rápida porque puede confiar en los detalles de implementación "
"específicos de la versión del objeto de lista."

#: ../Doc/c-api/stable.rst:87
msgid ""
Expand All @@ -151,6 +208,10 @@ msgid ""
"allowing stability as Python's data structures are improved, but possibly "
"reducing performance."
msgstr ""
"Sin definirse ``Py_LIMITED_API``, algunas funciones de la API en C están "
"integradas o reemplazadas por macros. Definir ``Py_LIMITED_API`` desactiva "
"esta integración, permitiendo estabilidad mientras que se mejoren las "
"estructuras de datos de Python, pero posiblemente reduzca el rendimiento."

#: ../Doc/c-api/stable.rst:92
msgid ""
Expand All @@ -161,10 +222,16 @@ msgid ""
"where a version-specific one is not available – for example, for prereleases "
"of an upcoming Python version."
msgstr ""
"Al dejar fuera la definición de ``Py_LIMITED_API``, es posible compilar una "
"extensión de la API limitada con una ABI específica de la versión. Esto "
"puede mejorar el rendimiento para esa versión de Python, pero limitará la "
"compatibilidad. Compilar con ``Py_LIMITED_API`` producirá una extensión que "
"se puede distribuir donde una versión específica no esté disponible - por "
"ejemplo, para los prelanzamientos de una versión próxima de Python."

#: ../Doc/c-api/stable.rst:101
msgid "Limited API Caveats"
msgstr ""
msgstr "Advertencias de la API limitada"

#: ../Doc/c-api/stable.rst:103
msgid ""
Expand All @@ -173,6 +240,10 @@ msgid ""
"only covers definitions, but an API also includes other issues, such as "
"expected semantics."
msgstr ""
"Tome en cuenta que compilar con ``Py_LIMITED_API`` *no* es una garantía "
"completa de que el código se ajuste a la API limitada o a la ABI estable. "
"``Py_LIMITED_API`` sólo cubre definiciones, pero también una API incluye "
"otros problemas, como la semántica esperada."

#: ../Doc/c-api/stable.rst:108
msgid ""
Expand All @@ -183,18 +254,30 @@ msgid ""
"the argument will be used directly, causing a ``NULL`` dereference and "
"crash. A similar argument works for fields of structs."
msgstr ""
"Un problema contra el que ``Py_LIMITED_API`` no protege es llamar una "
"función con argumentos que son inválidos en una versión inferior de Python. "
"Por ejemplo, se considera una función que empieza a aceptar ``NULL`` como un "
"argumento. Ahora en Python 3.9, ``NULL`` selecciona un comportamiento "
"predeterminado, pero en Python 3.8, el argumento se usará directamente, "
"causando una desreferencia ``NULL`` y se detendrá. Un argumento similar "
"funciona para campos de estructuras."

#: ../Doc/c-api/stable.rst:115
msgid ""
"Another issue is that some struct fields are currently not hidden when "
"``Py_LIMITED_API`` is defined, even though they're part of the Limited API."
msgstr ""
"Otro problema es que algunos campos de estructura no se ocultan actualmente "
"cuando se define ``Py_LIMITED_API``, aunque son parte de la API limitada."

#: ../Doc/c-api/stable.rst:118
msgid ""
"For these reasons, we recommend testing an extension with *all* minor Python "
"versions it supports, and preferably to build with the *lowest* such version."
msgstr ""
"Por estas razones, recomendamos probar una extensión con *todas* las "
"versiones menores de Python que soporte, y preferiblemente compilar con la "
"versión *más baja*."

#: ../Doc/c-api/stable.rst:121
msgid ""
Expand All @@ -203,6 +286,10 @@ msgid ""
"few private declarations are exposed for technical reasons (or even "
"unintentionally, as bugs)."
msgstr ""
"También recomendamos revisar la documentación de todas las API usadas para "
"verificar si es parte explícitamente de la API limitada. Aunque se defina "
"``Py_LIMITED_API``, algunas declaraciones privadas se exponen por razones "
"técnicas (o incluso involuntariamente, como errores)."

#: ../Doc/c-api/stable.rst:126
msgid ""
Expand All @@ -212,10 +299,15 @@ msgid ""
"particular, parts of the Limited API may be deprecated and removed, provided "
"that the Stable ABI stays stable."
msgstr ""
"También tome en cuenta que la API limitada no necesariamente es estable: "
"compilar con ``Py_LIMITED_API`` con Python 3.8 significa que la extensión se "
"ejecutará con Python 3.12, pero no necesariamente *compilará* con Python "
"3.12. En particular, las partes de la API limitada se pueden quedar "
"obsoletas y eliminarse, siempre que la ABI estable permanezca estable."

#: ../Doc/c-api/stable.rst:136
msgid "Platform Considerations"
msgstr ""
msgstr "Consideraciones de la plataforma"

#: ../Doc/c-api/stable.rst:138
msgid ""
Expand All @@ -224,6 +316,11 @@ msgid ""
"ABI, these details define a “platform”. They usually depend on the OS type "
"and processor architecture"
msgstr ""
"La estabilidad de la ABI depende no sólo de Python, sino también del "
"compilador que se usa, las bibliotecas de nivel inferior y las opciones del "
"compilador. Para los fines de la ABI estable, estos detalles definen una "
"“plataforma”. Generalmente dependen del tipo del sistema operativo y de la "
"arquitectura del procesador"

#: ../Doc/c-api/stable.rst:143
msgid ""
Expand All @@ -232,14 +329,19 @@ msgid ""
"does not break the Stable ABI. This is the case with Windows and macOS "
"releases from ``python.org`` and many third-party distributors."
msgstr ""
"Es la responsabilidad de cada distribuidor particular de Python de "
"asegurarse de que todas las versiones de Python en una plataforma particular "
"se compilen de una forma que no rompa la ABI estable. Este es el caso de las "
"versiones de Windows y macOS de ``python.org`` y muchos distribuidores de "
"terceros."

#: ../Doc/c-api/stable.rst:153
msgid "Contents of Limited API"
msgstr ""
msgstr "Contenido de la API limitada"

#: ../Doc/c-api/stable.rst:156
msgid "Currently, the Limited API includes the following items:"
msgstr ""
msgstr "Actualmente, la API limitada incluye los siguientes elementos:"

#~ msgid ""
#~ "Traditionally, the C API of Python will change with every release. Most "
Expand Down
2 changes: 2 additions & 0 deletions dictionaries/c-api_stable.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
desreferencia
prelanzamientos