diff --git a/c-api/long.po b/c-api/long.po index 4550eb3602..f7a23ef9c6 100644 --- a/c-api/long.po +++ b/c-api/long.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-11-21 16:38-0300\n" -"PO-Revision-Date: 2021-08-02 01:24+0200\n" +"PO-Revision-Date: 2025-10-14 01:44-0600\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.16.0\n" +"X-Generator: Poedit 3.7\n" #: ../Doc/c-api/long.rst:6 msgid "Integer Objects" @@ -79,23 +80,21 @@ msgstr "" "de error." #: ../Doc/c-api/long.rst:43 -#, fuzzy msgid "" "The current implementation keeps an array of integer objects for all " "integers between ``-5`` and ``256``. When you create an int in that range " "you actually just get back a reference to the existing object." msgstr "" "La implementación actual mantiene un arreglo de objetos enteros para todos " -"los enteros entre ``-5`` y ``256``, cuando crea un *int* en ese rango, en " +"los enteros entre ``-5`` y ``256``. Cuando crea un *int* en ese rango, en " "realidad solo obtiene una referencia al objeto existente." #: ../Doc/c-api/long.rst:50 -#, fuzzy msgid "" "Return a new :c:type:`PyLongObject` object from a C :c:expr:`unsigned long`, " "or ``NULL`` on failure." msgstr "" -"Retorna un objeto :c:type:`PyLongObject` nuevo desde un C :c:type:`unsigned " +"Retorna un objeto :c:type:`PyLongObject` nuevo desde un C :c:expr:`unsigned " "long`, o ``NULL`` en caso de error." #: ../Doc/c-api/long.rst:56 @@ -115,21 +114,19 @@ msgstr "" "o ``NULL`` en caso de error." #: ../Doc/c-api/long.rst:68 -#, fuzzy msgid "" "Return a new :c:type:`PyLongObject` object from a C :c:expr:`long long`, or " "``NULL`` on failure." msgstr "" -"Retorna un objeto :c:type:`PyLongObject` nuevo desde un C :c:type:`long " +"Retorna un objeto :c:type:`PyLongObject` nuevo desde un C :c:expr:`long " "long`, o ``NULL`` en caso de error." #: ../Doc/c-api/long.rst:74 -#, fuzzy msgid "" "Return a new :c:type:`PyLongObject` object from a C :c:expr:`unsigned long " "long`, or ``NULL`` on failure." msgstr "" -"Retorna un objeto :c:type:`PyLongObject` nuevo desde un C :c:type:`unsigned " +"Retorna un objeto :c:type:`PyLongObject` nuevo desde un C :c:expr:`unsigned " "long long`, o ``NULL`` en caso de error." #: ../Doc/c-api/long.rst:80 @@ -141,7 +138,6 @@ msgstr "" "``NULL`` en caso de error." #: ../Doc/c-api/long.rst:86 -#, fuzzy msgid "" "Return a new :c:type:`PyLongObject` based on the string value in *str*, " "which is interpreted according to the radix in *base*, or ``NULL`` on " @@ -156,15 +152,17 @@ msgid "" "whitespace, :exc:`ValueError` will be raised." msgstr "" "Retorna un nuevo :c:type:`PyLongObject` basado en el valor de cadena de " -"caracteres en *str*, que se interpreta de acuerdo con la raíz en *base*. Si " -"*pend* no es ``NULL``, *\\* pend* apuntará al primer carácter en *str* que " -"sigue a la representación del número. Si *base* es ``0``, *str* se " -"interpreta utilizando la definición :ref:`integers`; en este caso, los ceros " -"a la izquierda en un número decimal distinto de cero lanzan un :exc:" -"`ValueError`. Si *base* no es ``0``, debe estar entre ``2`` y ``36``, " -"inclusive. Se ignoran los espacios iniciales y los guiones bajos " -"individuales después de un especificador base y entre dígitos. Si no hay " -"dígitos, se lanzará :exc:`ValueError`." +"caracteres en *str*, que se interpreta de acuerdo con la raíz en *base*, o " +"``NULL`` en caso de error. Si *pend* no es ``NULL``, *\\*pend* apuntará al " +"final de *str* en caso de éxito o al primer carácter que no se pudo procesar " +"en caso de error. Si *base* es ``0``, *str* se interpreta utilizando la " +"definición :ref:`integers`; en este caso, los ceros a la izquierda en un " +"número decimal distinto de cero lanzan un :exc:`ValueError`. Si *base* no es " +"``0``, debe estar entre ``2`` y ``36``, inclusive. Se ignoran los espacios " +"iniciales y finales y los guiones bajos individuales después de un " +"especificador base y entre dígitos. Si no hay dígitos o *str* no termina en " +"NULL después de los dígitos y los espacios finales, se lanzará :exc:" +"`ValueError`." #: ../Doc/c-api/long.rst:97 msgid "" @@ -172,6 +170,9 @@ msgid "" "c:type:`PyLongObject` to/from an array of bytes in base ``256``. You can " "call those from C using :c:func:`PyObject_CallMethod`." msgstr "" +"Los métodos de Python :meth:`int.to_bytes` y :meth:`int.from_bytes` para " +"convertir un :c:type:`PyLongObject` a/desde un arreglo de bytes en base " +"``256``. Se pueden llamar desde C al utilizar :c:func:`PyObject_CallMethod`." #: ../Doc/c-api/long.rst:104 msgid "" @@ -194,6 +195,8 @@ msgid "" "Create a Python integer from the value contained in the first *n_bytes* of " "*buffer*, interpreted as a two's-complement signed number." msgstr "" +"Crea un entero de Python desde el valor contenido en los primeros *n_bytes* " +"de *buffer*, interpretado como un número con signo del complemento a dos." #: ../Doc/c-api/long.rst:121 msgid "" @@ -203,12 +206,19 @@ msgid "" "``Py_ASNATIVEBYTES_UNSIGNED_BUFFER`` will produce the same result as " "calling :c:func:`PyLong_FromUnsignedNativeBytes`. Other flags are ignored." msgstr "" +"*flags* son los mismos que para :c:func:`PyLong_AsNativeBytes`. Al pasar " +"``-1`` seleccionará el endian nativo con el que CPython fue compilado y " +"asumirá que el bit más significativo es un bit de signo. Al pasar " +"``Py_ASNATIVEBYTES_UNSIGNED_BUFFER`` producirá el mismo resultado que llamar " +"a :c:func:`PyLong_FromUnsignedNativeBytes`. Otros indicadores se ignoran." #: ../Doc/c-api/long.rst:132 msgid "" "Create a Python integer from the value contained in the first *n_bytes* of " "*buffer*, interpreted as an unsigned number." msgstr "" +"Crea un entero de Python desde el valor contenido en los primeros *n_bytes* " +"de *buffer*, interpretado como un número sin signo." #: ../Doc/c-api/long.rst:135 msgid "" @@ -216,26 +226,29 @@ msgid "" "select the native endian that CPython was compiled with and assume that the " "most-significant bit is not a sign bit. Flags other than endian are ignored." msgstr "" +"*flags* son los mismos que para :c:func:`PyLong_AsNativeBytes`. Al pasar " +"``-1`` seleccionará el endian nativo con el que CPython fue compilado y " +"asumirá que el bit más significativo no es un bit con signo. Los indicadores " +"que no sean endian se ignoran." #: ../Doc/c-api/long.rst:148 ../Doc/c-api/long.rst:184 -#, fuzzy msgid "" "Return a C :c:expr:`long` representation of *obj*. If *obj* is not an " "instance of :c:type:`PyLongObject`, first call its :meth:`~object.__index__` " "method (if present) to convert it to a :c:type:`PyLongObject`." msgstr "" -"Retorna una representación C :c:type:`long` de *obj*. Si *obj* no es una " +"Retorna una representación C :c:expr:`long` de *obj*. Si *obj* no es una " "instancia de :c:type:`PyLongObject`, primero llama a su método :meth:" -"`__index__` (si está presente) para convertirlo en un :c:type:`PyLongObject`." +"`~object.__index__` (si está presente) para convertirlo en un :c:type:" +"`PyLongObject`." #: ../Doc/c-api/long.rst:152 -#, fuzzy msgid "" "Raise :exc:`OverflowError` if the value of *obj* is out of range for a :c:" "expr:`long`." msgstr "" "Lanza :exc:`OverflowError` si el valor de *obj* está fuera de rango para un :" -"c:type:`long`." +"c:expr:`long`." #: ../Doc/c-api/long.rst:155 ../Doc/c-api/long.rst:193 #: ../Doc/c-api/long.rst:214 ../Doc/c-api/long.rst:234 @@ -248,16 +261,14 @@ msgstr "" #: ../Doc/c-api/long.rst:157 ../Doc/c-api/long.rst:195 #: ../Doc/c-api/long.rst:216 ../Doc/c-api/long.rst:238 #: ../Doc/c-api/long.rst:322 ../Doc/c-api/long.rst:342 -#, fuzzy msgid "Use :meth:`~object.__index__` if available." -msgstr "Use :meth:`__index__` si está disponible." +msgstr "Use :meth:`~object.__index__` si está disponible." #: ../Doc/c-api/long.rst:160 ../Doc/c-api/long.rst:198 #: ../Doc/c-api/long.rst:219 ../Doc/c-api/long.rst:241 #: ../Doc/c-api/long.rst:325 ../Doc/c-api/long.rst:345 -#, fuzzy msgid "This function will no longer use :meth:`~object.__int__`." -msgstr "Esta función no usará más :meth:`__int__`." +msgstr "Esta función no usará más :meth:`~object.__int__`." #: ../Doc/c-api/long.rst:167 msgid "" @@ -265,60 +276,62 @@ msgid "" "``PyLong_AsLong``. In particular, it can fail with :exc:`OverflowError` or " "another exception." msgstr "" +"Un alias :term:`soft deprecated`. Equivalente exacto al ``PyLong_AsLong`` " +"preferido. En particular, puede fallar con :exc:`OverflowError` u otra " +"excepción." #: ../Doc/c-api/long.rst:171 msgid "The function is soft deprecated." -msgstr "" +msgstr "La función está deprecada de forma suave." #: ../Doc/c-api/long.rst:176 msgid "" "Similar to :c:func:`PyLong_AsLong`, but store the result in a C :c:expr:" "`int` instead of a C :c:expr:`long`." msgstr "" +"Similar a :c:func:`PyLong_AsLong`, pero almacena el resultado en un C :c:" +"expr:`int` en lugar de un C :c:expr:`long`." #: ../Doc/c-api/long.rst:188 -#, fuzzy msgid "" "If the value of *obj* is greater than :c:macro:`LONG_MAX` or less than :c:" "macro:`LONG_MIN`, set *\\*overflow* to ``1`` or ``-1``, respectively, and " "return ``-1``; otherwise, set *\\*overflow* to ``0``. If any other " "exception occurs set *\\*overflow* to ``0`` and return ``-1`` as usual." msgstr "" -"Si el valor de *obj* es mayor que :const:`LONG_MAX` o menor que :const:" -"`LONG_MIN`, establece *\\*overflow * en ``1`` o ``-1``, respectivamente, y " +"Si el valor de *obj* es mayor que :c:macro:`LONG_MAX` o menor que :c:macro:" +"`LONG_MIN`, establece *\\*overflow* en ``1`` o ``-1``, respectivamente, y " "retorna ``-1``; de lo contrario, establece *\\*overflow* en ``0``. Si se " "produce alguna otra excepción, configura *\\*overflow* en ``0`` y retorna " "``-1`` como de costumbre." #: ../Doc/c-api/long.rst:207 ../Doc/c-api/long.rst:225 -#, fuzzy msgid "" "Return a C :c:expr:`long long` representation of *obj*. If *obj* is not an " "instance of :c:type:`PyLongObject`, first call its :meth:`~object.__index__` " "method (if present) to convert it to a :c:type:`PyLongObject`." msgstr "" -"Retorna una representación C :c:type:`long long` de *obj*. Si *obj* no es " +"Retorna una representación C :c:expr:`long long` de *obj*. Si *obj* no es " "una instancia de :c:type:`PyLongObject`, primero llame a su método :meth:" -"`__index__` (si está presente) para convertirlo en un :c:type:`PyLongObject`." +"`~object.__index__` (si está presente) para convertirlo en un :c:type:" +"`PyLongObject`." #: ../Doc/c-api/long.rst:211 -#, fuzzy msgid "" "Raise :exc:`OverflowError` if the value of *obj* is out of range for a :c:" "expr:`long long`." msgstr "" "Lanza :exc:`OverflowError` si el valor de *obj* está fuera de rango para un :" -"c:type:`long long`." +"c:expr:`long long`." #: ../Doc/c-api/long.rst:229 -#, fuzzy msgid "" "If the value of *obj* is greater than :c:macro:`LLONG_MAX` or less than :c:" "macro:`LLONG_MIN`, set *\\*overflow* to ``1`` or ``-1``, respectively, and " "return ``-1``; otherwise, set *\\*overflow* to ``0``. If any other " "exception occurs set *\\*overflow* to ``0`` and return ``-1`` as usual." msgstr "" -"Si el valor de *obj* es mayor que :const:`LLONG_MAX` o menor que :const:" +"Si el valor de *obj* es mayor que :c:macro:`LLONG_MAX` o menor que :c:macro:" "`LLONG_MIN`, establece *\\*overflow* en ``1`` o ``-1``, respectivamente, y " "retorna ``-1``; de lo contrario, establece *\\*overflow* en ``0``. Si se " "produce alguna otra excepción, configura *\\*overflow* en ``0`` y retorna " @@ -341,22 +354,20 @@ msgstr "" "un :c:type:`Py_ssize_t`." #: ../Doc/c-api/long.rst:266 -#, fuzzy msgid "" "Return a C :c:expr:`unsigned long` representation of *pylong*. *pylong* " "must be an instance of :c:type:`PyLongObject`." msgstr "" -"Retorna una representación de C :c:type:`unsigned long` de *pylong*. " +"Retorna una representación de C :c:expr:`unsigned long` de *pylong*. " "*pylong* debe ser una instancia de :c:type:`PyLongObject`." #: ../Doc/c-api/long.rst:269 -#, fuzzy msgid "" "Raise :exc:`OverflowError` if the value of *pylong* is out of range for a :c:" "expr:`unsigned long`." msgstr "" "Lanza :exc:`OverflowError` si el valor de *pylong* está fuera de rango para " -"un :c:type:`unsigned long`." +"un :c:expr:`unsigned long`." #: ../Doc/c-api/long.rst:272 msgid "" @@ -391,22 +402,20 @@ msgstr "" "desambiguar." #: ../Doc/c-api/long.rst:297 -#, fuzzy msgid "" "Return a C :c:expr:`unsigned long long` representation of *pylong*. " "*pylong* must be an instance of :c:type:`PyLongObject`." msgstr "" -"Retorna una representación de C :c:type:`unsigned long long` de *pylong*. " +"Retorna una representación de C :c:expr:`unsigned long long` de *pylong*. " "*pylong* debe ser una instancia de :c:type:`PyLongObject`." #: ../Doc/c-api/long.rst:300 -#, fuzzy msgid "" "Raise :exc:`OverflowError` if the value of *pylong* is out of range for an :" "c:expr:`unsigned long long`." msgstr "" "Lanza :exc:`OverflowError` si el valor de *pylong* está fuera de rango para " -"un :c:type:`unsigned long long`." +"un :c:expr:`unsigned long long`." #: ../Doc/c-api/long.rst:303 msgid "" @@ -424,23 +433,22 @@ msgstr "" "`TypeError`." #: ../Doc/c-api/long.rst:312 -#, fuzzy msgid "" "Return a C :c:expr:`unsigned long` representation of *obj*. If *obj* is not " "an instance of :c:type:`PyLongObject`, first call its :meth:`~object." "__index__` method (if present) to convert it to a :c:type:`PyLongObject`." msgstr "" -"Retorna una representación C :c:type:`unsigned long` de *obj*. Si *obj* no " +"Retorna una representación C :c:expr:`unsigned long` de *obj*. Si *obj* no " "es una instancia de :c:type:`PyLongObject`, primero llame a su método :meth:" -"`__index__` (si está presente) para convertirlo en un :c:type:`PyLongObject`." +"`~object.__index__` (si está presente) para convertirlo en un :c:type:" +"`PyLongObject`." #: ../Doc/c-api/long.rst:316 -#, fuzzy msgid "" "If the value of *obj* is out of range for an :c:expr:`unsigned long`, return " "the reduction of that value modulo ``ULONG_MAX + 1``." msgstr "" -"Si el valor de *obj* está fuera del rango para :c:type:`unsigned long`, " +"Si el valor de *obj* está fuera del rango para :c:expr:`unsigned long`, " "retorna la reducción de ese valor módulo ``ULONG_MAX + 1``." #: ../Doc/c-api/long.rst:319 @@ -452,24 +460,22 @@ msgstr "" "para desambiguar." #: ../Doc/c-api/long.rst:331 -#, fuzzy msgid "" "Return a C :c:expr:`unsigned long long` representation of *obj*. If *obj* " "is not an instance of :c:type:`PyLongObject`, first call its :meth:`~object." "__index__` method (if present) to convert it to a :c:type:`PyLongObject`." msgstr "" -"Retorna una representación C :c:type:`unsigned long long` de *obj*. Si *obj* " +"Retorna una representación C :c:expr:`unsigned long long` de *obj*. Si *obj* " "no es una instancia de :c:type:`PyLongObject`, primero llame a su método :" -"meth:`__index__` (si está presente) para convertirlo en un :c:type:" +"meth:`~object.__index__` (si está presente) para convertirlo en un :c:type:" "`PyLongObject`." #: ../Doc/c-api/long.rst:336 -#, fuzzy msgid "" "If the value of *obj* is out of range for an :c:expr:`unsigned long long`, " "return the reduction of that value modulo ``ULLONG_MAX + 1``." msgstr "" -"Si el valor de *obj* está fuera del rango para :c:type:`unsigned long long`, " +"Si el valor de *obj* está fuera del rango para :c:expr:`unsigned long long`, " "retorna la reducción de ese valor módulo ``ULLONG_MAX + 1``." #: ../Doc/c-api/long.rst:339 @@ -481,22 +487,20 @@ msgstr "" "para desambiguar." #: ../Doc/c-api/long.rst:351 -#, fuzzy msgid "" "Return a C :c:expr:`double` representation of *pylong*. *pylong* must be an " "instance of :c:type:`PyLongObject`." msgstr "" -"Retorna una representación de C :c:type:`double` de *pylong*. *pylong* debe " +"Retorna una representación de C :c:expr:`double` de *pylong*. *pylong* debe " "ser una instancia de :c:type:`PyLongObject`." #: ../Doc/c-api/long.rst:354 -#, fuzzy msgid "" "Raise :exc:`OverflowError` if the value of *pylong* is out of range for a :c:" "expr:`double`." msgstr "" "Lanza :exc:`OverflowError` si el valor de *pylong* está fuera de rango para " -"un :c:type:`double`." +"un :c:expr:`double`." #: ../Doc/c-api/long.rst:357 msgid "" @@ -506,16 +510,15 @@ msgstr "" "desambiguar." #: ../Doc/c-api/long.rst:362 -#, fuzzy msgid "" "Convert a Python integer *pylong* to a C :c:expr:`void` pointer. If *pylong* " "cannot be converted, an :exc:`OverflowError` will be raised. This is only " "assured to produce a usable :c:expr:`void` pointer for values created with :" "c:func:`PyLong_FromVoidPtr`." msgstr "" -"Convierte un entero Python *pylong* en un puntero C :c:type:`void`. Si " +"Convierte un entero Python *pylong* en un puntero C :c:expr:`void`. Si " "*pylong* no se puede convertir, se lanzará un :exc:`OverflowError`. Esto " -"solo se garantiza para producir un puntero utilizable :c:type:`void` para " +"solo se garantiza para producir un puntero utilizable :c:expr:`void` para " "valores creados con :c:func:`PyLong_FromVoidPtr`." #: ../Doc/c-api/long.rst:367 @@ -531,6 +534,10 @@ msgid "" "*n_bytes*. The *flags* can be set to ``-1`` to behave similarly to a C cast, " "or to values documented below to control the behavior." msgstr "" +"Copia el valor entero de Python *pylong* a un *buffer* nativo de tamaño " +"*n_bytes*. Los *flags* pueden establecerse en ``-1`` para un comportamiento " +"similar a una conversión de C, o en los valores documentados a continuación " +"para controlar el comportamiento." #: ../Doc/c-api/long.rst:376 msgid "" @@ -538,6 +545,10 @@ msgid "" "*pylong* cannot be interpreted as an integer, or if *pylong* was negative " "and the ``Py_ASNATIVEBYTES_REJECT_NEGATIVE`` flag was set." msgstr "" +"Retorna ``-1`` con una excepción lanzada en caso de error. Esto puede " +"ocurrir si *pylong* no se puede interpretar como un entero, o si *pylong* " +"era negativo y se configuró el indicador " +"``Py_ASNATIVEBYTES_REJECT_NEGATIVE``." #: ../Doc/c-api/long.rst:380 msgid "" @@ -545,6 +556,10 @@ msgid "" "is equal to or less than *n_bytes*, the entire value was copied. All " "*n_bytes* of the buffer are written: large buffers are padded with zeroes." msgstr "" +"De lo contrario, retorna el número de bytes necesarios para almacenar el " +"valor. Si es igual o menor que *n_bytes*, se copió el valor completo. Se " +"escriben todos los *n_bytes* del búfer: los búferes grandes se rellenan con " +"ceros." #: ../Doc/c-api/long.rst:385 msgid "" @@ -553,24 +568,30 @@ msgid "" "and the higher bits are ignored. This matches the typical behavior of a C-" "style downcast." msgstr "" +"Si el valor que se retorna es mayor que *n_bytes*, se trunca el valor: se " +"escriben todos los bits más bajos que quepan y se ignoran los bits más " +"altos. Esto coincide con el comportamiento típico de una conversión " +"descendente de estilo C." #: ../Doc/c-api/long.rst:392 msgid "" "Overflow is not considered an error. If the returned value is larger than " "*n_bytes*, most significant bits were discarded." msgstr "" +"El desbordamiento no se considera un error. Si el valor que se retorna es " +"mayor que *n_bytes*, se descartan los bits más significativos." #: ../Doc/c-api/long.rst:395 msgid "``0`` will never be returned." -msgstr "" +msgstr "``0`` nunca será retornado." #: ../Doc/c-api/long.rst:397 msgid "Values are always copied as two's-complement." -msgstr "" +msgstr "Los valores siempre se copian como complemento a dos." #: ../Doc/c-api/long.rst:399 msgid "Usage example::" -msgstr "" +msgstr "Ejemplo de uso::" #: ../Doc/c-api/long.rst:401 msgid "" @@ -588,6 +609,19 @@ msgid "" " // lowest bits of pylong.\n" "}" msgstr "" +"int32_t value;\n" +"Py_ssize_t bytes = PyLong_AsNativeBytes(pylong, &value, sizeof(value), -1);\n" +"if (bytes < 0) {\n" +" // Error. Se estableció una excepción de Python con el motivo.\n" +" return NULL;\n" +"}\n" +"else if (bytes <= (Py_ssize_t)sizeof(value)) {\n" +" // ¡Éxito!\n" +"}\n" +"else {\n" +" // Se produjo un desbordamiento, pero 'value' contiene\n" +" // los bits más bajos truncados de pylong.\n" +"}" #: ../Doc/c-api/long.rst:415 msgid "" @@ -595,18 +629,27 @@ msgid "" "large enough to hold the value. This may be larger than technically " "necessary, but not unreasonably so. If *n_bytes=0*, *buffer* may be ``NULL``." msgstr "" +"Al pasar cero a *n_bytes* retornará el tamaño de un búfer lo suficientemente " +"grande como para contener el valor. Este tamaño puede ser mayor de lo " +"técnicamente necesario, pero no excesivamente grande. Si *n_bytes=0*, " +"*buffer* puede ser ``NULL``." #: ../Doc/c-api/long.rst:422 msgid "" "Passing *n_bytes=0* to this function is not an accurate way to determine the " "bit length of the value." msgstr "" +"Al pasar *n_bytes=0* a esta función no es una forma precisa de determinar la " +"longitud en bits del valor." #: ../Doc/c-api/long.rst:425 msgid "" "To get at the entire Python value of an unknown size, the function can be " "called twice: first to determine the buffer size, then to fill it::" msgstr "" +"Para obtener el valor completo de Python de un tamaño desconocido, la " +"función se puede llamar dos veces: primero para determinar el tamaño del " +"búfer y luego para llenarlo::" #: ../Doc/c-api/long.rst:428 msgid "" @@ -638,6 +681,33 @@ msgid "" "// ... use bignum ...\n" "free(bignum);" msgstr "" +"// Pide cuánto espacio necesitamos.\n" +"Py_ssize_t expected = PyLong_AsNativeBytes(pylong, NULL, 0, -1);\n" +"if (expected < 0) {\n" +" // Error. Se estableció una excepción de Python con el motivo.\n" +" return NULL;\n" +"}\n" +"assert(expected != 0); // Imposible según la definición de la API.\n" +"uint8_t *bignum = malloc(expected);\n" +"if (!bignum) {\n" +" PyErr_SetString(PyExc_MemoryError, \"bignum malloc failed.\");\n" +" return NULL;\n" +"}\n" +"// Obtiene el valor completo de forma segura.\n" +"Py_ssize_t bytes = PyLong_AsNativeBytes(pylong, bignum, expected, -1);\n" +"if (bytes < 0) { // Se configuró una excepción.\n" +" free(bignum);\n" +" return NULL;\n" +"}\n" +"else if (bytes > expected) { // Esto no debería ser posible.\n" +" PyErr_SetString(PyExc_RuntimeError,\n" +" \"Unexpected bignum truncation after a size check.\");\n" +" free(bignum);\n" +" return NULL;\n" +"}\n" +"// El éxito esperado dada la comprobación previa.\n" +"// ... use bignum ...\n" +"free(bignum);" #: ../Doc/c-api/long.rst:456 msgid "" @@ -645,54 +715,62 @@ msgid "" "that behave most like a C cast, or a combintation of the other flags in the " "table below. Note that ``-1`` cannot be combined with other flags." msgstr "" +"*flags* es ``-1`` (``Py_ASNATIVEBYTES_DEFAULTS``) para seleccionar valores " +"predeterminados que se comportan de forma similar a una conversión de C, o " +"una combinación de los demás indicadores de la tabla a continuación. Tenga " +"en cuenta que ``-1`` no se puede combinar con otros indicadores." #: ../Doc/c-api/long.rst:461 msgid "" "Currently, ``-1`` corresponds to ``Py_ASNATIVEBYTES_NATIVE_ENDIAN | " "Py_ASNATIVEBYTES_UNSIGNED_BUFFER``." msgstr "" +"Actualmente, ``-1`` corresponde a ``Py_ASNATIVEBYTES_NATIVE_ENDIAN | " +"Py_ASNATIVEBYTES_UNSIGNED_BUFFER``." #: ../Doc/c-api/long.rst:467 msgid "Flag" -msgstr "" +msgstr "Indicador" #: ../Doc/c-api/long.rst:467 msgid "Value" -msgstr "" +msgstr "Valor" #: ../Doc/c-api/long.rst:469 msgid "``-1``" -msgstr "" +msgstr "``-1``" #: ../Doc/c-api/long.rst:470 msgid "``0``" -msgstr "" +msgstr "``0``" #: ../Doc/c-api/long.rst:471 msgid "``1``" -msgstr "" +msgstr "``1``" #: ../Doc/c-api/long.rst:472 msgid "``3``" -msgstr "" +msgstr "``3``" #: ../Doc/c-api/long.rst:473 msgid "``4``" -msgstr "" +msgstr "``4``" #: ../Doc/c-api/long.rst:474 msgid "``8``" -msgstr "" +msgstr "``8``" #: ../Doc/c-api/long.rst:475 msgid "``16``" -msgstr "" +msgstr "``16``" #: ../Doc/c-api/long.rst:478 msgid "" "Specifying ``Py_ASNATIVEBYTES_NATIVE_ENDIAN`` will override any other endian " "flags. Passing ``2`` is reserved." msgstr "" +"Especificar ``Py_ASNATIVEBYTES_NATIVE_ENDIAN`` redefinirá cualquier otro " +"indicador endian. Pasar ``2`` está reservado." #: ../Doc/c-api/long.rst:481 msgid "" @@ -700,6 +778,9 @@ msgid "" "example, when converting 128 with *n_bytes=1*, the function will return 2 " "(or more) in order to store a zero sign bit." msgstr "" +"Por defecto, se solicitará búfer suficiente para incluir un bit de signo. " +"Por ejemplo, al convertir 128 con *n_bytes=1*, la función retornará 2 (o " +"más) para almacenar un bit de signo cero." #: ../Doc/c-api/long.rst:485 msgid "" @@ -710,6 +791,12 @@ msgid "" "handling of negative values: for those, space for a sign bit is always " "requested." msgstr "" +"Si se especifica ``Py_ASNATIVEBYTES_UNSIGNED_BUFFER``, se omitirá el bit de " +"signo cero en los cálculos de tamaño. Esto permite, por ejemplo, que quepa " +"128 en un búfer de un solo byte. Si el búfer de destino se trata " +"posteriormente como con signo, un valor de entrada positivo puede volverse " +"negativo. Tenga en cuenta que este indicador no afecta el manejo de valores " +"negativos: para ellos, siempre se solicita espacio para un bit de signo." #: ../Doc/c-api/long.rst:492 msgid "" @@ -718,6 +805,10 @@ msgid "" "copied provided there is enough space for at least one sign bit, regardless " "of whether ``Py_ASNATIVEBYTES_UNSIGNED_BUFFER`` was specified." msgstr "" +"Especificar ``Py_ASNATIVEBYTES_REJECT_NEGATIVE``, se establece una excepción " +"si *pylong* es negativo. Sin este indicador, se copiarán los valores " +"negativos siempre que haya suficiente espacio para al menos un bit de signo, " +"independientemente de si se especificó ``Py_ASNATIVEBYTES_UNSIGNED_BUFFER``." #: ../Doc/c-api/long.rst:497 msgid "" @@ -728,6 +819,12 @@ msgid "" "``-1``, this option is not set, and non-integer values will raise :exc:" "`TypeError`." msgstr "" +"Si se especifica ``Py_ASNATIVEBYTES_ALLOW_INDEX`` y se pasa un valor " +"distinto de un entero, se llamará primero a su método :meth:`~object." +"__index__`. Esto puede resultar la ejecución de código Python y la ejecución " +"de otros subprocesos, lo que podría causar cambios en otros objetos o " +"valores en uso. Cuando *flags* es ``-1``, esta opción no se establece y los " +"valores distintos de un entero lanzarán :exc:`TypeError`." #: ../Doc/c-api/long.rst:506 msgid "" @@ -736,6 +833,11 @@ msgid "" "without overflow. For example, both ``255`` and ``-1`` fit a single-byte " "buffer and set all its bits. This matches typical C cast behavior." msgstr "" +"Con los *flags* predeterminados (``-1`` o *UNSIGNED_BUFFER* sin " +"*REJECT_NEGATIVE*), varios enteros de Python pueden asignarse a un único " +"valor sin desbordamiento. Por ejemplo, tanto ``255`` como ``-1`` se ajustan " +"a un búfer de un solo byte y configuran todos sus bits. Esto coincide con el " +"comportamiento típico de conversión de C." #: ../Doc/c-api/long.rst:517 msgid "" @@ -743,14 +845,17 @@ msgid "" "about Python's internal representation of integers. See :data:`sys.int_info` " "for description of individual fields." msgstr "" +"En caso de éxito, retorna una :term:`named tuple` de solo lectura, que " +"contiene información sobre la representación interna de enteros en Python. " +"Consulte :data:`sys.int_info` para obtener una descripción de cada campo." #: ../Doc/c-api/long.rst:521 msgid "On failure, return ``NULL`` with an exception set." -msgstr "" +msgstr "En caso de error, retorna ``NULL`` con una excepción configurada." #: ../Doc/c-api/long.rst:528 msgid "Return 1 if *op* is compact, 0 otherwise." -msgstr "" +msgstr "Retorna 1 si *op* es compacto, 0 en caso contrario." #: ../Doc/c-api/long.rst:530 msgid "" @@ -759,58 +864,67 @@ msgid "" "`PyUnstable_Long_CompactValue`; for others fall back to a :c:func:" "`PyLong_As* ` function or :c:func:`PyLong_AsNativeBytes`." msgstr "" +"Esta función permite que el código de rendimiento crítico implemente una " +"“ruta rápida” para enteros pequeños. Para valores compactos, utilice :c:func:" +"`PyUnstable_Long_CompactValue`; para otros, utilice una función :c:func:" +"`PyLong_As* ` o :c:func:`PyLong_AsNativeBytes`." #: ../Doc/c-api/long.rst:536 msgid "The speedup is expected to be negligible for most users." msgstr "" +"Se espera que la aceleración sea insignificante para la mayoría de los " +"usuarios." #: ../Doc/c-api/long.rst:538 msgid "" "Exactly what values are considered compact is an implementation detail and " "is subject to change." msgstr "" +"Exactamente qué valores se consideran compactos es un detalle de " +"implementación y está sujeto a cambios." #: ../Doc/c-api/long.rst:543 msgid "" "If *op* is compact, as determined by :c:func:`PyUnstable_Long_IsCompact`, " "return its value." msgstr "" +"Si *op* es compacto, se determina por :c:func:`PyUnstable_Long_IsCompact`, " +"retorna su valor." #: ../Doc/c-api/long.rst:546 msgid "Otherwise, the return value is undefined." -msgstr "" +msgstr "De lo contrario, el valor que retorna está indefinido." #: ../Doc/c-api/long.rst:8 msgid "object" -msgstr "" +msgstr "object" #: ../Doc/c-api/long.rst:8 msgid "long integer" -msgstr "" +msgstr "long integer" #: ../Doc/c-api/long.rst:8 -#, fuzzy msgid "integer" -msgstr "Objetos enteros" +msgstr "integer" #: ../Doc/c-api/long.rst:144 msgid "LONG_MAX (C macro)" -msgstr "" +msgstr "LONG_MAX (C macro)" #: ../Doc/c-api/long.rst:144 ../Doc/c-api/long.rst:204 #: ../Doc/c-api/long.rst:247 ../Doc/c-api/long.rst:262 #: ../Doc/c-api/long.rst:278 ../Doc/c-api/long.rst:294 msgid "OverflowError (built-in exception)" -msgstr "" +msgstr "OverflowError (built-in exception)" #: ../Doc/c-api/long.rst:247 msgid "PY_SSIZE_T_MAX (C macro)" -msgstr "" +msgstr "PY_SSIZE_T_MAX (C macro)" #: ../Doc/c-api/long.rst:262 msgid "ULONG_MAX (C macro)" -msgstr "" +msgstr "ULONG_MAX (C macro)" #: ../Doc/c-api/long.rst:278 msgid "SIZE_MAX (C macro)" -msgstr "" +msgstr "SIZE_MAX (C macro)"