From 5b1c889817cba205e9d1db2c690c8cb369d08056 Mon Sep 17 00:00:00 2001 From: krbiggers Date: Sun, 2 Feb 2025 10:08:21 -0500 Subject: [PATCH 1/9] Traducido c-api/memory.po --- c-api/memory.po | 77 +++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 65 insertions(+), 12 deletions(-) diff --git a/c-api/memory.po b/c-api/memory.po index 629456430f..3724c4aa6c 100644 --- a/c-api/memory.po +++ b/c-api/memory.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-11-21 16:38-0300\n" -"PO-Revision-Date: 2022-10-27 03:12-0300\n" +"PO-Revision-Date: 2025-02-02 10:07-0500\n" "Last-Translator: Marco Richetta \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.5\n" #: ../Doc/c-api/memory.rst:8 msgid "Memory Management" @@ -121,6 +122,15 @@ msgid "" "free(buf); /* malloc'ed */\n" "return res;" msgstr "" +"PyObject *res;\n" +"char *buf = (char *) malloc(BUFSIZ); /* for I/O */\n" +"\n" +"if (buf == NULL)\n" +" return PyErr_NoMemory();\n" +"...Do some I/O operation involving buf...\n" +"res = PyBytes_FromString(buf);\n" +"free(buf); /* malloc'ed */\n" +"return res;" #: ../Doc/c-api/memory.rst:68 msgid "" @@ -270,10 +280,15 @@ msgid "" "`PyMem_Malloc`, :c:func:`PyMem_RawMalloc`, or :c:func:`malloc`, but not :c:" "func:`PyObject_Malloc`." msgstr "" +"Por ejemplo, *buffers* (objetos que no son de Python) deben asignarse " +"usando :c:func:`PyMem_Malloc`, :c:func:`PyMem_RawMalloc`, o :c:func:" +"`malloc`, pero no :c:func:`PyObject_Malloc`." #: ../Doc/c-api/memory.rst:133 msgid "See :ref:`Memory Allocation APIs `." msgstr "" +"Consulte :ref:`APIs de Asignación de Memoria `." #: ../Doc/c-api/memory.rst:139 msgid "Raw Memory Interface" @@ -760,6 +775,8 @@ msgid "" "``mimalloc``: :ref:`mimalloc memory allocator `. The pymalloc " "allocator will be used if mimalloc support isn't available." msgstr "" +"``mimalloc``: :ref:`asignador de memoria mimalloc `. El asignador " +"pymalloc se usará si no hay compatibilidad con mimalloc." # debug hooks se deja como enlaces de depuración ya que en traducciones # anteriores se dejó como enlaces @@ -936,6 +953,9 @@ msgid "" "allocator may be called in different interpreters that do not share a " "``GIL``." msgstr "" +"Para los dominios restantes, el asignador también debe ser seguro para los " +"hilos: el asignador se podría llamar desde intérpretes diferentes que no " +"comparten un ``GIL``." #: ../Doc/c-api/memory.rst:495 msgid "" @@ -957,7 +977,7 @@ msgstr "" #: ../Doc/c-api/memory.rst:504 msgid ":c:func:`PyMem_SetAllocator` does have the following contract:" -msgstr "" +msgstr ":c:func:`PyMem_SetAllocator` tiene el contrato siguiente:" #: ../Doc/c-api/memory.rst:506 msgid "" @@ -976,10 +996,14 @@ msgid "" "existing allocator. Substituting the current allocator for some other " "arbitrary one is **not supported**." msgstr "" +"Si se llama después de que Python haya terminado inicializándose (después de " +"llamar :c:func:`Py_InitializeFromConfig`) el asignador **debe** envolver el " +"asignador existente. Substituyendo el asignador actual con otro arbitrario " +"**no es compatible**." #: ../Doc/c-api/memory.rst:519 msgid "All allocators must be thread-safe." -msgstr "" +msgstr "Todos los asignadores deben ser seguro para los hilos." #: ../Doc/c-api/memory.rst:525 msgid "" @@ -1095,9 +1119,9 @@ msgid "" "Let *S* = ``sizeof(size_t)``. ``2*S`` bytes are added at each end of each " "block of *N* bytes requested. The memory layout is like so, where p " "represents the address returned by a malloc-like or realloc-like function " -"(``p[i:j]`` means the slice of bytes from ``*(p+i)`` inclusive up to " -"``*(p+j)`` exclusive; note that the treatment of negative indices differs " -"from a Python slice):" +"(``p[i:j]`` means the slice of bytes from ``*(p+i)`` inclusive up to ``*(p" +"+j)`` exclusive; note that the treatment of negative indices differs from a " +"Python slice):" msgstr "" "Sea *S* = ``sizeof(size_t)``. Se agregan ``2*S`` bytes en cada extremo de " "cada bloque de *N* bytes solicitados. El diseño de la memoria es así, donde " @@ -1371,6 +1395,10 @@ msgid "" "performance characteristics. Initially developed by Daan Leijen for the " "runtime systems of the Koka and Lean languages.\"" msgstr "" +"Python admite el asignador mimalloc cuando la plataforma subyacente lo " +"admite. mimalloc \"es un asignador de propósito general con excelentes " +"característicos de rendimiento. Desarrollado originalmente por Daan Leijen " +"para los sistemas de tiempo de ejecución de las lenguajes Koka y Lean\"" #: ../Doc/c-api/memory.rst:699 msgid "tracemalloc C API" @@ -1434,6 +1462,15 @@ msgid "" "PyMem_Free(buf); /* allocated with PyMem_Malloc */\n" "return res;" msgstr "" +"PyObject *res;\n" +"char *buf = (char *) PyMem_Malloc(BUFSIZ); /* for I/O */\n" +"\n" +"if (buf == NULL)\n" +" return PyErr_NoMemory();\n" +"/* ...Do some I/O operation involving buf... */\n" +"res = PyBytes_FromString(buf);\n" +"PyMem_Free(buf); /* allocated with PyMem_Malloc */\n" +"return res;" #: ../Doc/c-api/memory.rst:738 msgid "The same code using the type-oriented function set::" @@ -1452,6 +1489,15 @@ msgid "" "PyMem_Del(buf); /* allocated with PyMem_New */\n" "return res;" msgstr "" +"PyObject *res;\n" +"char *buf = PyMem_New(char, BUFSIZ); /* for I/O */\n" +"\n" +"if (buf == NULL)\n" +" return PyErr_NoMemory();\n" +"/* ...Do some I/O operation involving buf... */\n" +"res = PyBytes_FromString(buf);\n" +"PyMem_Del(buf); /* allocated with PyMem_New */\n" +"return res;" #: ../Doc/c-api/memory.rst:750 msgid "" @@ -1480,6 +1526,13 @@ msgid "" "free(buf2); /* Right -- allocated via malloc() */\n" "free(buf1); /* Fatal -- should be PyMem_Del() */" msgstr "" +"char *buf1 = PyMem_New(char, BUFSIZ);\n" +"char *buf2 = (char *) malloc(BUFSIZ);\n" +"char *buf3 = (char *) PyMem_Malloc(BUFSIZ);\n" +"...\n" +"PyMem_Del(buf3); /* Incorrecto -- debe ser PyMem_Free() */\n" +"free(buf2); /* Correcto -- asignado por malloc() */\n" +"free(buf1); /* Fatal -- debe ser PyMem_Del() */" #: ../Doc/c-api/memory.rst:765 #, fuzzy @@ -1502,16 +1555,16 @@ msgstr "" #: ../Doc/c-api/memory.rst:43 msgid "malloc (C function)" -msgstr "" +msgstr "malloc (Función de C)" #: ../Doc/c-api/memory.rst:43 msgid "calloc (C function)" -msgstr "" +msgstr "calloc (Función de C)" #: ../Doc/c-api/memory.rst:43 msgid "realloc (C function)" -msgstr "" +msgstr "realloc (Función de C)" #: ../Doc/c-api/memory.rst:43 msgid "free (C function)" -msgstr "" +msgstr "free (Función de C)" From 051a582721a8fe1cddc704c07e538720e3225697 Mon Sep 17 00:00:00 2001 From: krbiggers Date: Sun, 2 Feb 2025 10:08:21 -0500 Subject: [PATCH 2/9] Traducido c-api/memory.po --- c-api/memory.po | 125 +++++++++++++++++++++++------------------------- 1 file changed, 59 insertions(+), 66 deletions(-) diff --git a/c-api/memory.po b/c-api/memory.po index 3724c4aa6c..c26d173828 100644 --- a/c-api/memory.po +++ b/c-api/memory.po @@ -11,7 +11,11 @@ msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-11-21 16:38-0300\n" +<<<<<<< HEAD "PO-Revision-Date: 2025-02-02 10:07-0500\n" +======= +"PO-Revision-Date: 2025-02-10 12:41-0500\n" +>>>>>>> 6fe1a5cf (Traducido c-api/memory.po) "Last-Translator: Marco Richetta \n" "Language-Team: python-doc-es\n" "Language: es\n" @@ -199,7 +203,6 @@ msgid "Allocator Domains" msgstr "Dominios del asignador" #: ../Doc/c-api/memory.rst:100 -#, fuzzy msgid "" "All allocating functions belong to one of three different \"domains\" (see " "also :c:type:`PyMemAllocatorDomain`). These domains represent different " @@ -217,20 +220,16 @@ msgstr "" "diferentes propósitos. Los detalles específicos sobre cómo cada dominio " "asigna memoria o qué funciones internas llama cada dominio se considera un " "detalle de implementación, pero para fines de depuración, se puede encontrar " -"una tabla simplificada en :ref:`here `. No existe " -"un requisito estricto para usar la memoria retornada por las funciones de " -"asignación que pertenecen a un dominio dado solo para los propósitos " -"sugeridos por ese dominio (aunque esta es la práctica recomendada). Por " -"ejemplo, se podría usar la memoria retornada por :c:func:`PyMem_RawMalloc` " -"para asignar objetos Python o la memoria retornada por :c:func:" -"`PyObject_Malloc` para asignar memoria para búferes." +"una tabla simplificada en :ref:`here `. Los APIs " +"que se usan para designar y librar un bloque de memoria deben ser del mismo " +"dominio. Por ejemplo, se debe usar :c:func:`PyMem_Free`para librar memoria " +"usando :c:func:`PyMem_Malloc`." #: ../Doc/c-api/memory.rst:109 msgid "The three allocation domains are:" msgstr "Los tres dominios de asignación son:" #: ../Doc/c-api/memory.rst:111 -#, fuzzy msgid "" "Raw domain: intended for allocating memory for general-purpose memory " "buffers where the allocation *must* go to the system allocator or where the " @@ -241,10 +240,10 @@ msgstr "" "Dominio sin formato: destinado a asignar memoria para búferes de memoria de " "uso general donde la asignación *debe* ir al asignador del sistema o donde " "el asignador puede operar sin el :term:`GIL`. La memoria se solicita " -"directamente al sistema." +"directamente al sistema. Consulte :ref:`Interfaz de memoria sin formato `." #: ../Doc/c-api/memory.rst:116 -#, fuzzy msgid "" "\"Mem\" domain: intended for allocating memory for Python buffers and " "general-purpose memory buffers where the allocation must be performed with " @@ -257,14 +256,14 @@ msgstr "" "Python." #: ../Doc/c-api/memory.rst:121 -#, fuzzy msgid "" "Object domain: intended for allocating memory for Python objects. The memory " "is taken from the Python private heap. See :ref:`Object allocators " "`." msgstr "" "Dominio de objeto: destinado a asignar memoria perteneciente a objetos de " -"Python. La memoria se toma del montículo privado de Python." +"Python. La memoria se toma del montículo privado de Python. Consulte :ref:" +"`Asignadores de objetos `." #: ../Doc/c-api/memory.rst:126 msgid "" @@ -273,6 +272,10 @@ msgid "" "objects are allocated using that domain. This differs from the prior Python " "versions, where this was only a best practice and not a hard requirement." msgstr "" +"La :term:`free-threaded ` compilación requiere que solamente " +"objetos se asignan usando el dominio del \"objeto\" y que todos los objetos " +"de Python se asignan usando ese dominio. Esto es diferente que los versiones " +"anteriores de Python, donde esto fue una práctica buena y no un requisito." #: ../Doc/c-api/memory.rst:130 msgid "" @@ -305,17 +308,16 @@ msgstr "" "mantener el :term:`GIL `." #: ../Doc/c-api/memory.rst:145 -#, fuzzy msgid "" "The :ref:`default raw memory allocator ` uses the " "following functions: :c:func:`malloc`, :c:func:`calloc`, :c:func:`realloc` " "and :c:func:`!free`; call ``malloc(1)`` (or ``calloc(1, 1)``) when " "requesting zero bytes." msgstr "" -"El :ref:`asignador de memoria sin procesar predeterminado ` usa las siguientes funciones: :c:func:`malloc`, :c:func:" -"`calloc`, :c:func:`realloc` y :c:func:`free`; llame a ``malloc(1)`` (o " -"``calloc(1, 1)``) cuando solicita cero bytes." +"El :ref:`asignador de memoria sin formato ` usa " +"las siguientes funciones: :c:func:`malloc`, :c:func:`calloc`, :c:func:" +"`realloc` y :c:func:`free`; llame a ``malloc(1)`` (o ``calloc(1, 1)``) " +"cuando solicita cero bytes." #: ../Doc/c-api/memory.rst:154 ../Doc/c-api/memory.rst:225 #: ../Doc/c-api/memory.rst:335 @@ -517,18 +519,16 @@ msgstr "" "Tenga en cuenta que *TYPE* se refiere a cualquier tipo de C." #: ../Doc/c-api/memory.rst:277 -#, fuzzy msgid "" "Same as :c:func:`PyMem_Malloc`, but allocates ``(n * sizeof(TYPE))`` bytes " "of memory. Returns a pointer cast to ``TYPE*``. The memory will not have " "been initialized in any way." msgstr "" "Igual que :c:func:`PyMem_Malloc`, pero asigna ``(n * sizeof(TYPE))`` bytes " -"de memoria. Retorna una conversión de puntero a :c:expr:`TYPE*`. La memoria " -"no se habrá inicializado de ninguna manera." +"de memoria. Retorna una conversión de puntero a ``TYPE*``. La memoria no se " +"habrá inicializado de ninguna manera." #: ../Doc/c-api/memory.rst:284 -#, fuzzy msgid "" "Same as :c:func:`PyMem_Realloc`, but the memory block is resized to ``(n * " "sizeof(TYPE))`` bytes. Returns a pointer cast to ``TYPE*``. On return, *p* " @@ -536,9 +536,9 @@ msgid "" "failure." msgstr "" "Igual que :c:func:`PyMem_Realloc`, pero el bloque de memoria cambia de " -"tamaño a ``(n * sizeof(TYPE))`` bytes. Retorna una conversión de puntero a :" -"c:expr:`TYPE*`. Al retornar, *p* será un puntero a la nueva área de memoria, " -"o ``NULL`` en caso de falla." +"tamaño a ``(n * sizeof(TYPE))`` bytes. Retorna una conversión de puntero a " +"``TYPE*``. Al retornar, *p* será un puntero a la nueva área de memoria, o " +"``NULL`` en caso de falla." #: ../Doc/c-api/memory.rst:289 msgid "" @@ -855,12 +855,11 @@ msgid "free a memory block" msgstr "liberar un bloque de memoria" #: ../Doc/c-api/memory.rst:437 -#, fuzzy msgid "" "The :c:type:`!PyMemAllocator` structure was renamed to :c:type:" "`PyMemAllocatorEx` and a new ``calloc`` field was added." msgstr "" -"La estructura :c:type:`PyMemAllocator` se renombró a :c:type:" +"La estructura :c:type:`!PyMemAllocator` se renombró a :c:type:" "`PyMemAllocatorEx` y se agregó un nuevo campo ``calloc``." #: ../Doc/c-api/memory.rst:444 @@ -937,15 +936,14 @@ msgstr "" "cero bytes." #: ../Doc/c-api/memory.rst:487 -#, fuzzy msgid "" "For the :c:macro:`PYMEM_DOMAIN_RAW` domain, the allocator must be thread-" "safe: the :term:`GIL ` is not held when the " "allocator is called." msgstr "" -"Para el dominio :c:data:`PYMEM_DOMAIN_RAW`, el asignador debe ser seguro " -"para subprocesos: el :term:`GIL ` no se mantiene " -"cuando se llama al asignador." +"Para el dominio :c:macro:`PYMEM_DOMAIN_RAW`, el asignador debe ser seguro " +"para hilos: el :term:`GIL ` no se mantiene cuando " +"se llama al asignador." #: ../Doc/c-api/memory.rst:491 msgid "" @@ -988,6 +986,12 @@ msgid "" "without the GIL held). See :ref:`the section on allocator domains ` for more information." msgstr "" +"Se puede llamar después de :c:func:`Py_PreInitialize` y antes de :c:func:" +"`Py_InitializeFromConfig` para instalar un asignador de memoria " +"personalizada. No hay restricciones para el asignador instalado aparte de " +"las que se interpone el dominio (por ejemplo, el Dominio Crudo permite que " +"se llamara el asignador sin sostener el GIL). Consulte :ref:`la sección " +"sobre dominios de asignadores ` para más información." #: ../Doc/c-api/memory.rst:514 msgid "" @@ -1090,7 +1094,6 @@ msgstr "" "Detectar escritura después del final del búfer (desbordamiento del búfer)" #: ../Doc/c-api/memory.rst:558 -#, fuzzy msgid "" "Check that the :term:`GIL ` is held when allocator " "functions of :c:macro:`PYMEM_DOMAIN_OBJ` (ex: :c:func:`PyObject_Malloc`) " @@ -1098,8 +1101,8 @@ msgid "" "called." msgstr "" "Comprueba que :term:`GIL ` se mantiene cuando las " -"funciones del asignador de :c:data:`PYMEM_DOMAIN_OBJ` (ej: :c:func:" -"`PyObject_Malloc`) y dominios :c:data:`PYMEM_DOMAIN_MEM` (por ejemplo: :c:" +"funciones del asignador de :c:macro:`PYMEM_DOMAIN_OBJ` (ej: :c:func:" +"`PyObject_Malloc`) y dominios :c:macro:`PYMEM_DOMAIN_MEM` (por ejemplo: :c:" "func:`PyMem_Malloc`) se llaman." #: ../Doc/c-api/memory.rst:563 @@ -1151,19 +1154,16 @@ msgid "API identifier (ASCII character):" msgstr "Identificador de API (carácter ASCII):" #: ../Doc/c-api/memory.rst:580 -#, fuzzy msgid "``'r'`` for :c:macro:`PYMEM_DOMAIN_RAW`." -msgstr "``'r'`` para :c:data:`PYMEM_DOMAIN_RAW`." +msgstr "``'r'`` para :c:macro:`PYMEM_DOMAIN_RAW`." #: ../Doc/c-api/memory.rst:581 -#, fuzzy msgid "``'m'`` for :c:macro:`PYMEM_DOMAIN_MEM`." -msgstr "``'m'`` para :c:data:`PYMEM_DOMAIN_MEM`." +msgstr "``'m'`` para :c:macro:`PYMEM_DOMAIN_MEM`." #: ../Doc/c-api/memory.rst:582 -#, fuzzy msgid "``'o'`` for :c:macro:`PYMEM_DOMAIN_OBJ`." -msgstr "``'o'`` para :c:data:`PYMEM_DOMAIN_OBJ`." +msgstr "``'o'`` para :c:macro:`PYMEM_DOMAIN_OBJ`." #: ../Doc/c-api/memory.rst:585 msgid "``p[-S+1:0]``" @@ -1221,7 +1221,6 @@ msgstr "" "definida por defecto)." #: ../Doc/c-api/memory.rst:603 -#, fuzzy msgid "" "A serial number, incremented by 1 on each call to a malloc-like or realloc-" "like function. Big-endian :c:type:`size_t`. If \"bad memory\" is detected " @@ -1231,11 +1230,11 @@ msgid "" "number is incremented, and exists so you can set such a breakpoint easily." msgstr "" "Un número de serie, incrementado en 1 en cada llamada a una función similar " -"a malloc o realloc. Big-endian ``size_t``. Si se detecta \"mala memoria\" " -"más tarde, el número de serie ofrece una excelente manera de establecer un " -"punto de interrupción en la siguiente ejecución, para capturar el instante " -"en el que se pasó este bloque. La función estática bumpserialno() en " -"obmalloc.c es el único lugar donde se incrementa el número de serie, y " +"a malloc o realloc. Big-endian :c:type:`size_t`. Si se detecta \"mala memoria" +"\" más tarde, el número de serie ofrece una excelente manera de establecer " +"un punto de interrupción en la siguiente ejecución, para capturar el " +"instante en el que se pasó este bloque. La función estática bumpserialno() " +"en obmalloc.c es el único lugar donde se incrementa el número de serie, y " "existe para que pueda establecer un punto de interrupción fácilmente." #: ../Doc/c-api/memory.rst:610 @@ -1261,7 +1260,6 @@ msgstr "" "(que significa que se está usando la memoria no inicializada)." #: ../Doc/c-api/memory.rst:619 -#, fuzzy msgid "" "The :c:func:`PyMem_SetupDebugHooks` function now also works on Python " "compiled in release mode. On error, the debug hooks now use :mod:" @@ -1272,9 +1270,9 @@ msgstr "" "La función :c:func:`PyMem_SetupDebugHooks` ahora también funciona en Python " "compilado en modo de lanzamiento. En caso de error, los enlaces de " "depuración ahora usan :mod:`tracemalloc` para obtener el rastreo donde se " -"asignó un bloque de memoria. Los enlaces de depuración ahora también " -"comprueban si el GIL se mantiene cuando se llaman las funciones de :c:data:" -"`PYMEM_DOMAIN_OBJ` y :c:data:`PYMEM_DOMAIN_MEM` dominios." +"asignó un bloque de memoria. Los ganchos de depuración ahora también " +"comprueban si el GIL se mantiene cuando se llaman las funciones de :c:macro:" +"`PYMEM_DOMAIN_OBJ` y :c:macro:`PYMEM_DOMAIN_MEM` dominios." #: ../Doc/c-api/memory.rst:627 msgid "" @@ -1293,7 +1291,6 @@ msgid "The pymalloc allocator" msgstr "El asignador pymalloc" #: ../Doc/c-api/memory.rst:639 -#, fuzzy msgid "" "Python has a *pymalloc* allocator optimized for small objects (smaller or " "equal to 512 bytes) with a short lifetime. It uses memory mappings called " @@ -1303,34 +1300,32 @@ msgid "" msgstr "" "Python tiene un asignador *pymalloc* optimizado para objetos pequeños (más " "pequeños o iguales a 512 bytes) con una vida útil corta. Utiliza " -"asignaciones de memoria llamadas \"arenas\" con un tamaño fijo de 256 KiB. " -"Vuelve a :c:func:`PyMem_RawMalloc` y :c:func:`PyMem_RawRealloc` para " -"asignaciones de más de 512 bytes." +"asignaciones de memoria llamadas \"arenas\" con un tamaño fijo de 256 KiB en " +"plataformas de 32 bits o 1 MiB en plataformas de 64 bits. Vuelve a :c:func:" +"`PyMem_RawMalloc` y :c:func:`PyMem_RawRealloc` para asignaciones de más de " +"512 bytes." #: ../Doc/c-api/memory.rst:645 -#, fuzzy msgid "" "*pymalloc* is the :ref:`default allocator ` of " "the :c:macro:`PYMEM_DOMAIN_MEM` (ex: :c:func:`PyMem_Malloc`) and :c:macro:" "`PYMEM_DOMAIN_OBJ` (ex: :c:func:`PyObject_Malloc`) domains." msgstr "" "*pymalloc* es el :ref:`asignador por defecto ` " -"de :c:data:`PYMEM_DOMAIN_MEM` (por ejemplo: :c:func:`PyMem_Malloc`) y :c:" -"data:`PYMEM_DOMAIN_OBJ` (por ejemplo: :c:func:`PyObject_Malloc`) dominios." +"de :c:macro:`PYMEM_DOMAIN_MEM` (por ejemplo: :c:func:`PyMem_Malloc`) y :c:" +"macro:`PYMEM_DOMAIN_OBJ` (por ejemplo: :c:func:`PyObject_Malloc`) dominios." #: ../Doc/c-api/memory.rst:649 msgid "The arena allocator uses the following functions:" msgstr "El asignador de arena utiliza las siguientes funciones:" #: ../Doc/c-api/memory.rst:651 -#, fuzzy msgid ":c:func:`!VirtualAlloc` and :c:func:`!VirtualFree` on Windows," -msgstr ":c:func:`VirtualAlloc` y :c:func:`VirtualFree` en Windows," +msgstr ":c:func:`!VirtualAlloc` y :c:func:`!VirtualFree` en Windows," #: ../Doc/c-api/memory.rst:652 -#, fuzzy msgid ":c:func:`!mmap` and :c:func:`!munmap` if available," -msgstr ":c:func:`mmap` y :c:func:`munmap` si está disponible," +msgstr ":c:func:`!mmap` y :c:func:`!munmap` si está disponible," #: ../Doc/c-api/memory.rst:653 msgid ":c:func:`malloc` and :c:func:`free` otherwise." @@ -1384,9 +1379,8 @@ msgid "Set the arena allocator." msgstr "Establecer el asignador de arena." #: ../Doc/c-api/memory.rst:690 -#, fuzzy msgid "The mimalloc allocator" -msgstr "El asignador pymalloc" +msgstr "El asignador mimalloc" #: ../Doc/c-api/memory.rst:694 msgid "" @@ -1535,15 +1529,14 @@ msgstr "" "free(buf1); /* Fatal -- debe ser PyMem_Del() */" #: ../Doc/c-api/memory.rst:765 -#, fuzzy msgid "" "In addition to the functions aimed at handling raw memory blocks from the " "Python heap, objects in Python are allocated and released with :c:macro:" "`PyObject_New`, :c:macro:`PyObject_NewVar` and :c:func:`PyObject_Del`." msgstr "" "Además de las funciones destinadas a manejar bloques de memoria sin procesar " -"del montón de Python, los objetos en Python se asignan y liberan con :c:func:" -"`PyObject_New`, :c:func:`PyObject_NewVar` y :c:func:`PyObject_Del` ." +"del montón de Python, los objetos en Python se asignan y liberan con :c:" +"macro:`PyObject_New`, :c:macro:`PyObject_NewVar` y :c:func:`PyObject_Del` ." #: ../Doc/c-api/memory.rst:769 msgid "" From 82f1dffe77e3bfa60eb3e1137cc757e76930b6d5 Mon Sep 17 00:00:00 2001 From: krbiggers Date: Sun, 2 Feb 2025 10:08:21 -0500 Subject: [PATCH 3/9] Traducido c-api/memory.po --- c-api/memory.po | 10 +++------- dictionaries/c-api_memory.txt | 5 +++++ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/c-api/memory.po b/c-api/memory.po index c26d173828..2334287fc3 100644 --- a/c-api/memory.po +++ b/c-api/memory.po @@ -11,11 +11,7 @@ msgstr "" "Project-Id-Version: Python 3.11\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-11-21 16:38-0300\n" -<<<<<<< HEAD -"PO-Revision-Date: 2025-02-02 10:07-0500\n" -======= "PO-Revision-Date: 2025-02-10 12:41-0500\n" ->>>>>>> 6fe1a5cf (Traducido c-api/memory.po) "Last-Translator: Marco Richetta \n" "Language-Team: python-doc-es\n" "Language: es\n" @@ -222,7 +218,7 @@ msgstr "" "detalle de implementación, pero para fines de depuración, se puede encontrar " "una tabla simplificada en :ref:`here `. Los APIs " "que se usan para designar y librar un bloque de memoria deben ser del mismo " -"dominio. Por ejemplo, se debe usar :c:func:`PyMem_Free`para librar memoria " +"dominio. Por ejemplo, se debe usar :c:func:`PyMem_Free` para librar memoria " "usando :c:func:`PyMem_Malloc`." #: ../Doc/c-api/memory.rst:109 @@ -253,7 +249,7 @@ msgstr "" "Dominio \"Mem\": destinado a asignar memoria para búferes de Python y " "búferes de memoria de propósito general donde la asignación debe realizarse " "con el :term:`GIL` retenido. La memoria se toma del montículo privado de " -"Python." +"Python. Consulte :ref:`Interfaz de Memoria `." #: ../Doc/c-api/memory.rst:121 msgid "" @@ -316,7 +312,7 @@ msgid "" msgstr "" "El :ref:`asignador de memoria sin formato ` usa " "las siguientes funciones: :c:func:`malloc`, :c:func:`calloc`, :c:func:" -"`realloc` y :c:func:`free`; llame a ``malloc(1)`` (o ``calloc(1, 1)``) " +"`realloc` y :c:func:`!free`; llame a ``malloc(1)`` (o ``calloc(1, 1)``) " "cuando solicita cero bytes." #: ../Doc/c-api/memory.rst:154 ../Doc/c-api/memory.rst:225 diff --git a/dictionaries/c-api_memory.txt b/dictionaries/c-api_memory.txt index 899f87325a..3d4af9f707 100644 --- a/dictionaries/c-api_memory.txt +++ b/dictionaries/c-api_memory.txt @@ -2,3 +2,8 @@ Mem realloc sobrescrituras bumpserialno +mimalloc +calloc +Daan +Leijen +Koka From e336ff8b3e2bd2024edb71157e6ffadf80412811 Mon Sep 17 00:00:00 2001 From: kbiggers Date: Sun, 2 Mar 2025 16:55:50 -0500 Subject: [PATCH 4/9] Update c-api/memory.po Co-authored-by: rtobar --- c-api/memory.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/c-api/memory.po b/c-api/memory.po index 2334287fc3..9ec4ae5551 100644 --- a/c-api/memory.po +++ b/c-api/memory.po @@ -216,7 +216,7 @@ msgstr "" "diferentes propósitos. Los detalles específicos sobre cómo cada dominio " "asigna memoria o qué funciones internas llama cada dominio se considera un " "detalle de implementación, pero para fines de depuración, se puede encontrar " -"una tabla simplificada en :ref:`here `. Los APIs " +"una tabla simplificada :ref:`acá `. Los APIs " "que se usan para designar y librar un bloque de memoria deben ser del mismo " "dominio. Por ejemplo, se debe usar :c:func:`PyMem_Free` para librar memoria " "usando :c:func:`PyMem_Malloc`." From ea77d87741f67f69456a1bf6210e88271563eab1 Mon Sep 17 00:00:00 2001 From: kbiggers Date: Sun, 2 Mar 2025 16:56:22 -0500 Subject: [PATCH 5/9] Update c-api/memory.po Co-authored-by: rtobar --- c-api/memory.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/c-api/memory.po b/c-api/memory.po index 9ec4ae5551..75545322f1 100644 --- a/c-api/memory.po +++ b/c-api/memory.po @@ -268,7 +268,7 @@ msgid "" "objects are allocated using that domain. This differs from the prior Python " "versions, where this was only a best practice and not a hard requirement." msgstr "" -"La :term:`free-threaded ` compilación requiere que solamente " +"La compilación :term:`free-threaded ` requiere que solamente " "objetos se asignan usando el dominio del \"objeto\" y que todos los objetos " "de Python se asignan usando ese dominio. Esto es diferente que los versiones " "anteriores de Python, donde esto fue una práctica buena y no un requisito." From 2eb9c7bf5a55c030ee053d4765f27a0e1f40a1f4 Mon Sep 17 00:00:00 2001 From: kbiggers Date: Sun, 2 Mar 2025 17:26:39 -0500 Subject: [PATCH 6/9] Update c-api/memory.po Co-authored-by: rtobar --- c-api/memory.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/c-api/memory.po b/c-api/memory.po index 75545322f1..7faf65482e 100644 --- a/c-api/memory.po +++ b/c-api/memory.po @@ -269,7 +269,7 @@ msgid "" "versions, where this was only a best practice and not a hard requirement." msgstr "" "La compilación :term:`free-threaded ` requiere que solamente " -"objetos se asignan usando el dominio del \"objeto\" y que todos los objetos " +"objetos de Python se asignen usando el dominio de \"objet\" y que todos los objetos " "de Python se asignan usando ese dominio. Esto es diferente que los versiones " "anteriores de Python, donde esto fue una práctica buena y no un requisito." From 3e3b5c3f8ee27d513519d7384fa6c647436c31d5 Mon Sep 17 00:00:00 2001 From: kbiggers Date: Sun, 2 Mar 2025 17:43:17 -0500 Subject: [PATCH 7/9] Update c-api/memory.po Co-authored-by: rtobar --- c-api/memory.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/c-api/memory.po b/c-api/memory.po index 7faf65482e..31aad11d55 100644 --- a/c-api/memory.po +++ b/c-api/memory.po @@ -986,7 +986,7 @@ msgstr "" "`Py_InitializeFromConfig` para instalar un asignador de memoria " "personalizada. No hay restricciones para el asignador instalado aparte de " "las que se interpone el dominio (por ejemplo, el Dominio Crudo permite que " -"se llamara el asignador sin sostener el GIL). Consulte :ref:`la sección " +"se llame al asignador sin sostener el GIL). Consulte :ref:`la sección " "sobre dominios de asignadores ` para más información." #: ../Doc/c-api/memory.rst:514 From 8401f5bbdbab08880400e37eb4e5d9fdf7fadfa6 Mon Sep 17 00:00:00 2001 From: kbiggers Date: Sun, 2 Mar 2025 17:43:44 -0500 Subject: [PATCH 8/9] Update c-api/memory.po Co-authored-by: rtobar --- c-api/memory.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/c-api/memory.po b/c-api/memory.po index 31aad11d55..3f818105c4 100644 --- a/c-api/memory.po +++ b/c-api/memory.po @@ -1544,7 +1544,7 @@ msgstr "" #: ../Doc/c-api/memory.rst:43 msgid "malloc (C function)" -msgstr "malloc (Función de C)" +msgstr "malloc (C function)" #: ../Doc/c-api/memory.rst:43 msgid "calloc (C function)" From d232bb260d776b1381a30d5e626ed7f6e9db7838 Mon Sep 17 00:00:00 2001 From: kbiggers Date: Sun, 2 Mar 2025 20:18:20 -0500 Subject: [PATCH 9/9] Update memory.po --- c-api/memory.po | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/c-api/memory.po b/c-api/memory.po index 3f818105c4..00942b412e 100644 --- a/c-api/memory.po +++ b/c-api/memory.po @@ -123,11 +123,11 @@ msgid "" "return res;" msgstr "" "PyObject *res;\n" -"char *buf = (char *) malloc(BUFSIZ); /* for I/O */\n" +"char *buf = (char *) malloc(BUFSIZ); /* para I/O */\n" "\n" "if (buf == NULL)\n" " return PyErr_NoMemory();\n" -"...Do some I/O operation involving buf...\n" +"...Hacer algunas operaciones I/O incluyendo buf...\n" "res = PyBytes_FromString(buf);\n" "free(buf); /* malloc'ed */\n" "return res;" @@ -269,7 +269,7 @@ msgid "" "versions, where this was only a best practice and not a hard requirement." msgstr "" "La compilación :term:`free-threaded ` requiere que solamente " -"objetos de Python se asignen usando el dominio de \"objet\" y que todos los objetos " +"objetos de Python se asignen usando el dominio de \"object\" y que todos los objetos " "de Python se asignan usando ese dominio. Esto es diferente que los versiones " "anteriores de Python, donde esto fue una práctica buena y no un requisito." @@ -986,7 +986,7 @@ msgstr "" "`Py_InitializeFromConfig` para instalar un asignador de memoria " "personalizada. No hay restricciones para el asignador instalado aparte de " "las que se interpone el dominio (por ejemplo, el Dominio Crudo permite que " -"se llame al asignador sin sostener el GIL). Consulte :ref:`la sección " +"se llamara el asignador sin sostener el GIL). Consulte :ref:`la sección " "sobre dominios de asignadores ` para más información." #: ../Doc/c-api/memory.rst:514 @@ -1453,13 +1453,13 @@ msgid "" "return res;" msgstr "" "PyObject *res;\n" -"char *buf = (char *) PyMem_Malloc(BUFSIZ); /* for I/O */\n" +"char *buf = (char *) PyMem_Malloc(BUFSIZ); /* para I/O */\n" "\n" "if (buf == NULL)\n" " return PyErr_NoMemory();\n" -"/* ...Do some I/O operation involving buf... */\n" +"/* ...Hacer algunas operaciones I/O incluyendo buf... */\n" "res = PyBytes_FromString(buf);\n" -"PyMem_Free(buf); /* allocated with PyMem_Malloc */\n" +"PyMem_Free(buf); /* destinado con PyMem_Malloc */\n" "return res;" #: ../Doc/c-api/memory.rst:738 @@ -1480,13 +1480,13 @@ msgid "" "return res;" msgstr "" "PyObject *res;\n" -"char *buf = PyMem_New(char, BUFSIZ); /* for I/O */\n" +"char *buf = PyMem_New(char, BUFSIZ); /* para I/O */\n" "\n" "if (buf == NULL)\n" " return PyErr_NoMemory();\n" -"/* ...Do some I/O operation involving buf... */\n" +"/* ...Hacer algunas operaciones I/O incluyendo buf... */\n" "res = PyBytes_FromString(buf);\n" -"PyMem_Del(buf); /* allocated with PyMem_New */\n" +"PyMem_Del(buf); /* destinado con PyMem_New */\n" "return res;" #: ../Doc/c-api/memory.rst:750 @@ -1544,7 +1544,7 @@ msgstr "" #: ../Doc/c-api/memory.rst:43 msgid "malloc (C function)" -msgstr "malloc (C function)" +msgstr "malloc (Función de C)" #: ../Doc/c-api/memory.rst:43 msgid "calloc (C function)"