Skip to content

Commit 1b622a2

Browse files
authored
Traducido archivo c-api/stable (#1566)
1 parent 638da17 commit 1b622a2

File tree

2 files changed

+113
-9
lines changed

2 files changed

+113
-9
lines changed

c-api/stable.po

+111-9
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,20 @@ msgstr ""
1111
"Project-Id-Version: Python 3.8\n"
1212
"Report-Msgid-Bugs-To: \n"
1313
"POT-Creation-Date: 2021-10-16 21:42+0200\n"
14-
"PO-Revision-Date: 2020-05-09 02:48+0200\n"
15-
"Last-Translator: \n"
14+
"PO-Revision-Date: 2021-10-23 03:44-0500\n"
15+
"Last-Translator: José Luis Salgado Banda <josephLSalgado@outlook.com>\n"
1616
"Language: es\n"
1717
"Language-Team: python-doc-es\n"
18-
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
18+
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
1919
"MIME-Version: 1.0\n"
2020
"Content-Type: text/plain; charset=utf-8\n"
2121
"Content-Transfer-Encoding: 8bit\n"
2222
"Generated-By: Babel 2.9.1\n"
23+
"X-Generator: Poedit 3.0\n"
2324

2425
#: ../Doc/c-api/stable.rst:7
2526
msgid "C API Stability"
26-
msgstr ""
27+
msgstr "Estabilidad de la API en C"
2728

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

165232
#: ../Doc/c-api/stable.rst:101
166233
msgid "Limited API Caveats"
167-
msgstr ""
234+
msgstr "Advertencias de la API limitada"
168235

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

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

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

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

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

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

216308
#: ../Doc/c-api/stable.rst:136
217309
msgid "Platform Considerations"
218-
msgstr ""
310+
msgstr "Consideraciones de la plataforma"
219311

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

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

236338
#: ../Doc/c-api/stable.rst:153
237339
msgid "Contents of Limited API"
238-
msgstr ""
340+
msgstr "Contenido de la API limitada"
239341

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

244346
#~ msgid ""
245347
#~ "Traditionally, the C API of Python will change with every release. Most "

dictionaries/c-api_stable.txt

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
desreferencia
2+
prelanzamientos

0 commit comments

Comments
 (0)