From 843f06358cfa943c9da547c3af0a03e4aefd1888 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Sun, 24 Nov 2024 22:46:26 +0100 Subject: [PATCH] Translate c-api/init Closes #3242 --- c-api/init.po | 870 +++++++++++++++++++++--------------- dictionaries/c-api_init.txt | 7 +- 2 files changed, 511 insertions(+), 366 deletions(-) diff --git a/c-api/init.po b/c-api/init.po index 49129398b0..40679e0137 100644 --- a/c-api/init.po +++ b/c-api/init.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: 2023-01-14 14:22-0500\n" -"Last-Translator: CatalinaArrey \n" -"Language: es\n" +"PO-Revision-Date: 2024-11-24 22:37+0100\n" +"Last-Translator: Cristián Maureira-Fredes \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.4.2\n" #: ../Doc/c-api/init.rst:8 msgid "Initialization, Finalization, and Threads" @@ -67,9 +68,8 @@ msgid ":c:func:`PyImport_ExtendInittab`" msgstr ":c:func:`PyImport_ExtendInittab`" #: ../Doc/c-api/init.rst:28 -#, fuzzy msgid ":c:func:`!PyInitFrozenExtensions`" -msgstr ":c:func:`PyInitFrozenExtensions`" +msgstr ":c:func:`!PyInitFrozenExtensions`" #: ../Doc/c-api/init.rst:29 msgid ":c:func:`PyMem_SetAllocator`" @@ -160,19 +160,16 @@ msgid ":c:func:`PyMem_RawFree`" msgstr ":c:func:`PyMem_RawFree`" #: ../Doc/c-api/init.rst:58 -#, fuzzy msgid "Synchronization:" -msgstr "Notificaciones asincrónicas" +msgstr "Sincronización:" #: ../Doc/c-api/init.rst:60 -#, fuzzy msgid ":c:func:`PyMutex_Lock`" -msgstr ":c:func:`PyMem_RawMalloc`" +msgstr ":c:func:`PyMutex_Lock`" #: ../Doc/c-api/init.rst:61 -#, fuzzy msgid ":c:func:`PyMutex_Unlock`" -msgstr ":c:func:`PyMem_RawMalloc`" +msgstr ":c:func:`PyMutex_Unlock`" #: ../Doc/c-api/init.rst:65 msgid "" @@ -216,15 +213,14 @@ msgstr "" "`Py_BytesWarningFlag` en 2." #: ../Doc/c-api/init.rst:87 -#, fuzzy msgid "" "This API is kept for backward compatibility: setting :c:member:`PyConfig." "bytes_warning` should be used instead, see :ref:`Python Initialization " "Configuration `." msgstr "" -"Esta API se mantiene para la compatibilidad con versiones anteriores: en su " -"lugar, se debe usar la configuración de :c:member:`PyConfig.home`, consulta :" -"ref:`Configuración de inicialización de Python `." +"Esta API se mantiene por compatibilidad con versiones anteriores: se debe " +"utilizar la configuración :c:member:`PyConfig.bytes_warning` en su lugar, " +"consulte :ref:`Python Initialization Configuration `." #: ../Doc/c-api/init.rst:91 msgid "" @@ -241,15 +237,14 @@ msgid "Set by the :option:`-b` option." msgstr "Establecido por la opción :option:`-b`." #: ../Doc/c-api/init.rst:101 -#, fuzzy msgid "" "This API is kept for backward compatibility: setting :c:member:`PyConfig." "parser_debug` should be used instead, see :ref:`Python Initialization " "Configuration `." msgstr "" -"Esta API se mantiene para la compatibilidad con versiones anteriores: en su " -"lugar, se debe usar la configuración de :c:member:`PyConfig.home`, consulta :" -"ref:`Configuración de inicialización de Python `." +"Esta API se mantiene por compatibilidad con versiones anteriores: se debe " +"utilizar la configuración :c:member:`PyConfig.parser_debug` en su lugar, " +"consulte :ref:`Python Initialization Configuration `." #: ../Doc/c-api/init.rst:105 msgid "" @@ -268,15 +263,14 @@ msgstr "" "`PYTHONDEBUG`." #: ../Doc/c-api/init.rst:115 -#, fuzzy msgid "" "This API is kept for backward compatibility: setting :c:member:`PyConfig." "write_bytecode` should be used instead, see :ref:`Python Initialization " "Configuration `." msgstr "" -"Esta API se mantiene para la compatibilidad con versiones anteriores: en su " -"lugar, se debe usar la configuración de :c:member:`PyConfig.home`, consulta :" -"ref:`Configuración de inicialización de Python `." +"Esta API se mantiene por compatibilidad con versiones anteriores: se debe " +"utilizar la configuración :c:member:`PyConfig.write_bytecode` en su lugar, " +"consulte :ref:`Python Initialization Configuration `." #: ../Doc/c-api/init.rst:119 msgid "" @@ -295,15 +289,14 @@ msgstr "" "`PYTHONDONTWRITEBYTECODE`." #: ../Doc/c-api/init.rst:129 -#, fuzzy msgid "" "This API is kept for backward compatibility: setting :c:member:`PyConfig." "pathconfig_warnings` should be used instead, see :ref:`Python Initialization " "Configuration `." msgstr "" -"Esta API se mantiene para la compatibilidad con versiones anteriores: en su " -"lugar, se debe usar la configuración de :c:member:`PyConfig.home`, consulta :" -"ref:`Configuración de inicialización de Python `." +"Esta API se mantiene por compatibilidad con versiones anteriores: se debe " +"utilizar la configuración :c:member:`PyConfig.pathconfig_warnings` en su " +"lugar, consulte :ref:`Python Initialization Configuration `." #: ../Doc/c-api/init.rst:133 msgid "" @@ -320,16 +313,15 @@ msgstr "" "``frozenmain``." #: ../Doc/c-api/init.rst:142 -#, fuzzy msgid "" "This API is kept for backward compatibility: setting :c:member:`PyConfig." "hash_seed` and :c:member:`PyConfig.use_hash_seed` should be used instead, " "see :ref:`Python Initialization Configuration `." msgstr "" -"Esta API se mantiene para la compatibilidad con versiones anteriores: en su " -"lugar, se debe usar la configuración de :c:member:`PyConfig.argv` y :c:" -"member:`PyConfig.parse_argv`, consulta :ref:`Configuración de inicialización " -"de Python `." +"Esta API se mantiene por compatibilidad con versiones anteriores: se deben " +"utilizar las configuraciones :c:member:`PyConfig.hash_seed` y :c:member:" +"`PyConfig.use_hash_seed` en su lugar, consulte :ref:`Python Initialization " +"Configuration `." #: ../Doc/c-api/init.rst:147 msgid "" @@ -348,39 +340,36 @@ msgstr "" "`PYTHONHASHSEED` para inicializar la semilla de *hash* secreta." #: ../Doc/c-api/init.rst:157 -#, fuzzy msgid "" "This API is kept for backward compatibility: setting :c:member:`PyConfig." "use_environment` should be used instead, see :ref:`Python Initialization " "Configuration `." msgstr "" -"Esta API se mantiene para la compatibilidad con versiones anteriores: en su " -"lugar, se debe usar la configuración de :c:member:`PyConfig.home`, consulta :" -"ref:`Configuración de inicialización de Python `." +"Esta API se mantiene por compatibilidad con versiones anteriores: se debe " +"utilizar la configuración :c:member:`PyConfig.use_environment` en su lugar, " +"consulte :ref:`Python Initialization Configuration `." #: ../Doc/c-api/init.rst:161 -#, fuzzy msgid "" "Ignore all :envvar:`!PYTHON*` environment variables, e.g. :envvar:" "`PYTHONPATH` and :envvar:`PYTHONHOME`, that might be set." msgstr "" -"Ignorar todas las variables de entorno :envvar:`PYTHON*`, por ejemplo :" -"envvar:`PYTHONPATH` y :envvar:`PYTHONHOME`, eso podría establecerse." +"Ignore todas las variables de entorno :envvar:`!PYTHON*`, por ejemplo, :" +"envvar:`PYTHONPATH` y :envvar:`PYTHONHOME`, que puedan estar configuradas." #: ../Doc/c-api/init.rst:164 msgid "Set by the :option:`-E` and :option:`-I` options." msgstr "Establecido por las opciones :option:`-E` y :option:`-I`." #: ../Doc/c-api/init.rst:170 -#, fuzzy msgid "" "This API is kept for backward compatibility: setting :c:member:`PyConfig." "inspect` should be used instead, see :ref:`Python Initialization " "Configuration `." msgstr "" -"Esta API se mantiene para la compatibilidad con versiones anteriores: en su " -"lugar, se debe usar la configuración de :c:member:`PyConfig.home`, consulta :" -"ref:`Configuración de inicialización de Python `." +"Esta API se mantiene por compatibilidad con versiones anteriores: se debe " +"utilizar la configuración :c:member:`PyConfig.inspect` en su lugar, " +"consulte :ref:`Python Initialization Configuration `." #: ../Doc/c-api/init.rst:174 msgid "" @@ -402,30 +391,28 @@ msgstr "" "`PYTHONINSPECT`." #: ../Doc/c-api/init.rst:185 -#, fuzzy msgid "" "This API is kept for backward compatibility: setting :c:member:`PyConfig." "interactive` should be used instead, see :ref:`Python Initialization " "Configuration `." msgstr "" -"Esta API se mantiene para la compatibilidad con versiones anteriores: en su " -"lugar, se debe usar la configuración de :c:member:`PyConfig.home`, consulta :" -"ref:`Configuración de inicialización de Python `." +"Esta API se mantiene por compatibilidad con versiones anteriores: se debe " +"utilizar la configuración :c:member:`PyConfig.interactive` en su lugar, " +"consulte :ref:`Python Initialization Configuration `." #: ../Doc/c-api/init.rst:189 msgid "Set by the :option:`-i` option." msgstr "Establecido por la opción :option:`-i`." #: ../Doc/c-api/init.rst:195 -#, fuzzy msgid "" "This API is kept for backward compatibility: setting :c:member:`PyConfig." "isolated` should be used instead, see :ref:`Python Initialization " "Configuration `." msgstr "" -"Esta API se mantiene para la compatibilidad con versiones anteriores: en su " -"lugar, se debe usar la configuración de :c:member:`PyConfig.home`, consulta :" -"ref:`Configuración de inicialización de Python `." +"Esta API se mantiene por compatibilidad con versiones anteriores: se debe " +"utilizar la configuración :c:member:`PyConfig.isolated` en su lugar, " +"consulte :ref:`Python Initialization Configuration `." #: ../Doc/c-api/init.rst:199 msgid "" @@ -441,15 +428,15 @@ msgid "Set by the :option:`-I` option." msgstr "Establecido por la opción :option:`-I`." #: ../Doc/c-api/init.rst:210 -#, fuzzy msgid "" "This API is kept for backward compatibility: setting :c:member:`PyPreConfig." "legacy_windows_fs_encoding` should be used instead, see :ref:`Python " "Initialization Configuration `." msgstr "" -"Esta API se mantiene para la compatibilidad con versiones anteriores: en su " -"lugar, se debe usar la configuración de :c:member:`PyConfig.home`, consulta :" -"ref:`Configuración de inicialización de Python `." +"Esta API se mantiene por compatibilidad con versiones anteriores: se debe " +"utilizar la configuración :c:member:`PyPreConfig.legacy_windows_fs_encoding` " +"en su lugar, consulte :ref:`Python Initialization Configuration `." #: ../Doc/c-api/init.rst:214 msgid "" @@ -480,24 +467,22 @@ msgid ":ref:`Availability `: Windows." msgstr ":ref:`Disponibilidad `: Windows." #: ../Doc/c-api/init.rst:229 -#, fuzzy msgid "" "This API is kept for backward compatibility: setting :c:member:`PyConfig." "legacy_windows_stdio` should be used instead, see :ref:`Python " "Initialization Configuration `." msgstr "" -"Esta API se mantiene para la compatibilidad con versiones anteriores: en su " -"lugar, se debe usar la configuración de :c:member:`PyConfig.home`, consulta :" -"ref:`Configuración de inicialización de Python `." +"Esta API se mantiene por compatibilidad con versiones anteriores: se debe " +"utilizar la configuración :c:member:`PyConfig.legacy_windows_stdio` en su " +"lugar, consulte :ref:`Python Initialization Configuration `." #: ../Doc/c-api/init.rst:233 -#, fuzzy msgid "" "If the flag is non-zero, use :class:`io.FileIO` instead of :class:`!io." "_WindowsConsoleIO` for :mod:`sys` standard streams." msgstr "" -"Si el indicador no es cero, use :class:`io.FileIO` en lugar de :class:" -"`WindowsConsoleIO` para secuencias estándar :mod:`sys`." +"Si el indicador no es cero, utilice :class:`io.FileIO` en lugar de :class:`!" +"io._WindowsConsoleIO` para las transmisiones estándar :mod:`sys`." #: ../Doc/c-api/init.rst:236 msgid "" @@ -513,15 +498,14 @@ msgid "See :pep:`528` for more details." msgstr "Ver :pep:`528` para más detalles." #: ../Doc/c-api/init.rst:247 -#, fuzzy msgid "" "This API is kept for backward compatibility: setting :c:member:`PyConfig." "site_import` should be used instead, see :ref:`Python Initialization " "Configuration `." msgstr "" -"Esta API se mantiene para la compatibilidad con versiones anteriores: en su " -"lugar, se debe usar la configuración de :c:member:`PyConfig.home`, consulta :" -"ref:`Configuración de inicialización de Python `." +"Esta API se mantiene por compatibilidad con versiones anteriores: se debe " +"utilizar la configuración :c:member:`PyConfig.site_import` en su lugar, " +"consulte :ref:`Python Initialization Configuration `." #: ../Doc/c-api/init.rst:251 msgid "" @@ -540,15 +524,11 @@ msgid "Set by the :option:`-S` option." msgstr "Establecido por la opción :option:`-S`." #: ../Doc/c-api/init.rst:262 -#, fuzzy msgid "" "This API is kept for backward compatibility: setting :c:member:`PyConfig." "user_site_directory` should be used instead, see :ref:`Python Initialization " "Configuration `." -msgstr "" -"Esta API se mantiene para la compatibilidad con versiones anteriores: en su " -"lugar, se debe usar la configuración de :c:member:`PyConfig.home`, consulta :" -"ref:`Configuración de inicialización de Python `." +msgstr "ref:`Configuración de inicialización de Python `." #: ../Doc/c-api/init.rst:266 msgid "" @@ -567,15 +547,14 @@ msgstr "" "entorno :envvar:`PYTHONNOUSERSITE`." #: ../Doc/c-api/init.rst:276 -#, fuzzy msgid "" "This API is kept for backward compatibility: setting :c:member:`PyConfig." "optimization_level` should be used instead, see :ref:`Python Initialization " "Configuration `." msgstr "" -"Esta API se mantiene para la compatibilidad con versiones anteriores: en su " -"lugar, se debe usar la configuración de :c:member:`PyConfig.home`, consulta :" -"ref:`Configuración de inicialización de Python `." +"Esta API se mantiene por compatibilidad con versiones anteriores: se debe " +"utilizar la configuración :c:member:`PyConfig.optimization_level` en su " +"lugar, consulte :ref:`Python Initialization Configuration `." #: ../Doc/c-api/init.rst:280 msgid "" @@ -586,15 +565,14 @@ msgstr "" "`PYTHONOPTIMIZE`." #: ../Doc/c-api/init.rst:287 -#, fuzzy msgid "" "This API is kept for backward compatibility: setting :c:member:`PyConfig." "quiet` should be used instead, see :ref:`Python Initialization Configuration " "`." msgstr "" -"Esta API se mantiene para la compatibilidad con versiones anteriores: en su " -"lugar, se debe usar la configuración de :c:member:`PyConfig.home`, consulta :" -"ref:`Configuración de inicialización de Python `." +"Esta API se mantiene por compatibilidad con versiones anteriores: se debe " +"utilizar la configuración :c:member:`PyConfig.quiet` en su lugar, consulte :" +"ref:`Python Initialization Configuration `." #: ../Doc/c-api/init.rst:291 msgid "" @@ -608,15 +586,14 @@ msgid "Set by the :option:`-q` option." msgstr "Establecido por la opción :option:`-q`." #: ../Doc/c-api/init.rst:301 -#, fuzzy msgid "" "This API is kept for backward compatibility: setting :c:member:`PyConfig." "buffered_stdio` should be used instead, see :ref:`Python Initialization " "Configuration `." msgstr "" -"Esta API se mantiene para la compatibilidad con versiones anteriores: en su " -"lugar, se debe usar la configuración de :c:member:`PyConfig.home`, consulta :" -"ref:`Configuración de inicialización de Python `." +"Esta API se mantiene por compatibilidad con versiones anteriores: se debe " +"utilizar la configuración :c:member:`PyConfig.buffered_stdio` en su lugar, " +"consulte :ref:`Python Initialization Configuration `." #: ../Doc/c-api/init.rst:305 msgid "Force the stdout and stderr streams to be unbuffered." @@ -631,15 +608,14 @@ msgstr "" "`PYTHONUNBUFFERED`." #: ../Doc/c-api/init.rst:314 -#, fuzzy msgid "" "This API is kept for backward compatibility: setting :c:member:`PyConfig." "verbose` should be used instead, see :ref:`Python Initialization " "Configuration `." msgstr "" -"Esta API se mantiene para la compatibilidad con versiones anteriores: en su " -"lugar, se debe usar la configuración de :c:member:`PyConfig.home`, consulta :" -"ref:`Configuración de inicialización de Python `." +"Esta API se mantiene por compatibilidad con versiones anteriores: se debe " +"utilizar la configuración :c:member:`PyConfig.verbose` en su lugar, " +"consulte :ref:`Python Initialization Configuration `." #: ../Doc/c-api/init.rst:318 msgid "" @@ -678,7 +654,6 @@ msgstr "" "excepciones." #: ../Doc/c-api/init.rst:349 -#, fuzzy msgid "" "This initializes the table of loaded modules (``sys.modules``), and creates " "the fundamental modules :mod:`builtins`, :mod:`__main__` and :mod:`sys`. It " @@ -690,19 +665,20 @@ msgid "" msgstr "" "Esto inicializa la tabla de módulos cargados (``sys.modules``) y crea los " "módulos fundamentales :mod:`builtins`, :mod:`__main__` y :mod:`sys`. También " -"inicializa la ruta de búsqueda del módulo (``sys.path``). No establece ``sys." -"argv``; use :c:func:`PySys_SetArgvEx` para eso. Este es un *no-op* cuando se " -"llama por segunda vez (sin llamar primero a :c:func:`Py_FinalizeEx`). No hay " -"valor de retorno; es un error fatal si falla la inicialización." +"inicializa la ruta de búsqueda de módulos (``sys.path``). No establece ``sys." +"argv``; utilice la nueva API :c:type:`PyConfig` de :ref:`Python " +"Initialization Configuration ` para ello. Esta es una operación " +"sin efecto cuando se llama por segunda vez (sin llamar primero a :c:func:" +"`Py_FinalizeEx`). No hay ningún valor de retorno; es un error fatal si falla " +"la inicialización." #: ../Doc/c-api/init.rst:359 ../Doc/c-api/init.rst:373 -#, fuzzy msgid "" "Use the :c:func:`Py_InitializeFromConfig` function to customize the :ref:" "`Python Initialization Configuration `." msgstr "" -"Consulte también :ref:`Configuración de inicialización de Python `." +"Utilice la función :c:func:`Py_InitializeFromConfig` para personalizar :ref:" +"`Python Initialization Configuration `." #: ../Doc/c-api/init.rst:363 msgid "" @@ -739,9 +715,11 @@ msgid "" "Return true (non-zero) if the main Python interpreter is :term:`shutting " "down `. Return false (zero) otherwise." msgstr "" +"Devuelve verdadero (distinto de cero) si el intérprete principal de Python " +"es :term:`shutting down `. Devuelve falso (cero) en " +"caso contrario." #: ../Doc/c-api/init.rst:394 -#, fuzzy msgid "" "Undo all initializations made by :c:func:`Py_Initialize` and subsequent use " "of Python/C API functions, and destroy all sub-interpreters (see :c:func:" @@ -750,15 +728,13 @@ msgid "" "allocated by the Python interpreter. This is a no-op when called for a " "second time (without calling :c:func:`Py_Initialize` again first)." msgstr "" -"Deshace todas las inicializaciones realizadas por :c:func:`Py_Initialize` y " -"el uso posterior de las funciones de Python/C API, y destruye todos los sub-" -"intérpretes (ver :c:func:`Py_NewInterpreter` a continuación) que se crearon " -"y aún no se destruyeron desde el última llamada a :c:func:`Py_Initialize`. " -"Idealmente, esto libera toda la memoria asignada por el intérprete de " -"Python. Este es un *no-op* cuando se llama por segunda vez (sin llamar a :c:" -"func:`Py_Initialize` nuevamente primero). Normalmente el valor de retorno es " -"``0``. Si hubo errores durante la finalización (lavado de datos almacenados " -"en el búfer), se retorna ``-1``." +"Deshaga todas las inicializaciones realizadas por :c:func:`Py_Initialize` y " +"el uso posterior de las funciones de la API de Python/C, y destruya todos " +"los subintérpretes (consulte :c:func:`Py_NewInterpreter` a continuación) que " +"se crearon y aún no se destruyeron desde la última llamada a :c:func:" +"`Py_Initialize`. Idealmente, esto libera toda la memoria asignada por el " +"intérprete de Python. Esta es una operación sin efecto cuando se llama por " +"segunda vez (sin llamar a :c:func:`Py_Initialize` nuevamente primero)." #: ../Doc/c-api/init.rst:401 msgid "" @@ -767,12 +743,18 @@ msgid "" "thread and the main interpreter. This should never be called while :c:func:" "`Py_RunMain` is running." msgstr "" +"Dado que se trata del proceso inverso de :c:func:`Py_Initialize`, se debe " +"llamar en el mismo subproceso con el mismo intérprete activo, es decir, el " +"subproceso principal y el intérprete principal. Nunca se debe llamar " +"mientras se esté ejecutando :c:func:`Py_RunMain`." #: ../Doc/c-api/init.rst:406 msgid "" "Normally the return value is ``0``. If there were errors during finalization " "(flushing buffered data), ``-1`` is returned." msgstr "" +"Normalmente, el valor de retorno es ``0``. Si se produjeron errores durante " +"la finalización (limpieza de datos almacenados en búfer), se devuelve ``-1``." #: ../Doc/c-api/init.rst:410 msgid "" @@ -794,7 +776,6 @@ msgstr "" "aplicación." #: ../Doc/c-api/init.rst:418 -#, fuzzy msgid "" "**Bugs and caveats:** The destruction of modules and objects in modules is " "done in random order; this may cause destructors (:meth:`~object.__del__` " @@ -808,17 +789,17 @@ msgid "" "an application calls :c:func:`Py_Initialize` and :c:func:`Py_FinalizeEx` " "more than once." msgstr "" -"**Errores y advertencias:** La destrucción de módulos y objetos en módulos " -"se realiza en orden aleatorio; esto puede causar que los destructores " -"(métodos :meth:`__del__`) fallen cuando dependen de otros objetos (incluso " -"funciones) o módulos. Los módulos de extensión cargados dinámicamente " -"cargados por Python no se descargan. Es posible que no se liberen pequeñas " -"cantidades de memoria asignadas por el intérprete de Python (si encuentra " -"una fuga, informe por favor). La memoria atada en referencias circulares " -"entre objetos no se libera. Es posible que parte de la memoria asignada por " -"los módulos de extensión no se libere. Algunas extensiones pueden no " -"funcionar correctamente si su rutina de inicialización se llama más de una " -"vez; Esto puede suceder si una aplicación llama a :c:func:`Py_Initialize` y :" +"**Bugs and caveats:** La destrucción de módulos y objetos en módulos se " +"realiza en orden aleatorio; esto puede provocar que los destructores " +"(métodos :meth:`~object.__del__`) fallen cuando dependen de otros objetos " +"(incluso funciones) o módulos. Los módulos de extensión cargados " +"dinámicamente por Python no se descargan. Es posible que pequeñas cantidades " +"de memoria asignadas por el intérprete de Python no se liberen (si encuentra " +"una fuga, infórmelo). La memoria atada en referencias circulares entre " +"objetos no se libera. Es posible que no se libere parte de la memoria " +"asignada por los módulos de extensión. Es posible que algunas extensiones no " +"funcionen correctamente si su rutina de inicialización se llama más de una " +"vez; esto puede suceder si una aplicación llama a :c:func:`Py_Initialize` y :" "c:func:`Py_FinalizeEx` más de una vez." #: ../Doc/c-api/init.rst:429 @@ -885,15 +866,14 @@ msgstr "" "obtener una cadena de tipo :c:expr:`wchar_*`." #: ../Doc/c-api/init.rst:473 -#, fuzzy msgid "" "Return the program name set with :c:member:`PyConfig.program_name`, or the " "default. The returned string points into static storage; the caller should " "not modify its value." msgstr "" -"Retorna el nombre del programa establecido con :c:func:`Py_SetProgramName`, " -"o el valor predeterminado. La cadena de caracteres retornada apunta al " -"almacenamiento estático; la persona que llama no debe modificar su valor." +"Devuelve el nombre del programa establecido con :c:member:`PyConfig." +"program_name` o el valor predeterminado. La cadena devuelta apunta a un " +"almacenamiento estático; el llamador no debe modificar su valor." #: ../Doc/c-api/init.rst:477 ../Doc/c-api/init.rst:499 #: ../Doc/c-api/init.rst:543 ../Doc/c-api/init.rst:564 @@ -915,10 +895,9 @@ msgstr "" #: ../Doc/c-api/init.rst:483 ../Doc/c-api/init.rst:570 msgid "Get :data:`sys.executable` instead." -msgstr "" +msgstr "Obtenga :data:`sys.executable` en su lugar." #: ../Doc/c-api/init.rst:489 -#, fuzzy msgid "" "Return the *prefix* for installed platform-independent files. This is " "derived through a number of complicated rules from the program name set " @@ -931,24 +910,23 @@ msgid "" "available to Python code as ``sys.prefix``. It is only useful on Unix. See " "also the next function." msgstr "" -"Retorna el prefijo *prefix* para los archivos instalados independientes de " -"la plataforma. Esto se deriva a través de una serie de reglas complicadas " -"del nombre del programa establecido con :c:func:`Py_SetProgramName` y " +"Devuelve el *prefix* para los archivos instalados independientes de la " +"plataforma. Esto se deriva a través de una serie de reglas complicadas del " +"nombre del programa establecido con :c:member:`PyConfig.program_name` y " "algunas variables de entorno; por ejemplo, si el nombre del programa es ``'/" -"usr/local/bin/python'``, el prefijo es ``'/usr/local'``. La cadena de " -"caracteres retornada apunta al almacenamiento estático; la persona que llama " -"no debe modificar su valor. Esto corresponde a la variable :makevar:`prefix` " -"en el archivo de nivel superior :file:`Makefile` y el argumento ``--prefix`` " -"a la secuencia de comandos (*script*) :program:`configure` en tiempo de " -"compilación. El valor está disponible para el código de Python como ``sys." -"prefix``. Solo es útil en Unix. Ver también la siguiente función." +"usr/local/bin/python'``, el prefijo es ``'/usr/local'``. La cadena devuelta " +"apunta a un almacenamiento estático; el llamador no debe modificar su valor. " +"Esto corresponde a la variable :makevar:`prefix` en el :file:`Makefile` de " +"nivel superior y al argumento :option:`--prefix` del script :program:" +"`configure` en el momento de la compilación. El valor está disponible para " +"el código Python como ``sys.prefix``. Solo es útil en Unix. Consulte también " +"la siguiente función." #: ../Doc/c-api/init.rst:505 msgid "Get :data:`sys.prefix` instead." -msgstr "" +msgstr "Obtenga :data:`sys.prefix` en su lugar." #: ../Doc/c-api/init.rst:511 -#, fuzzy msgid "" "Return the *exec-prefix* for installed platform-*dependent* files. This is " "derived through a number of complicated rules from the program name set " @@ -961,17 +939,17 @@ msgid "" "value is available to Python code as ``sys.exec_prefix``. It is only useful " "on Unix." msgstr "" -"Retorna el *exec-prefix* para los archivos instalados *dependientes* de la " -"plataforma. Esto se deriva a través de una serie de reglas complicadas del " -"nombre del programa establecido con :c:func:`Py_SetProgramName` y algunas " -"variables de entorno; por ejemplo, si el nombre del programa es ``'/usr/" -"local/bin/python'``, el prefijo `exec` es ``'/usr/local'``. La cadena de " -"caracteres retornada apunta al almacenamiento estático; la persona que llama " -"no debe modificar su valor. Esto corresponde a la variable :makevar:" -"`exec_prefix` en el archivo de nivel superior :file:`Makefile` y el " -"argumento ``--exec-prefix`` a la secuencia de comandos (*script*) :program:" -"`configure` en tiempo de compilación. El valor está disponible para el " -"código de Python como ``sys.exec_prefix``. Solo es útil en Unix." +"Devuelve el *exec-prefix* para los archivos instalados de la plataforma " +"*dependent*. Esto se deriva a través de una serie de reglas complicadas del " +"nombre del programa establecido con :c:member:`PyConfig.program_name` y " +"algunas variables de entorno; por ejemplo, si el nombre del programa es ``'/" +"usr/local/bin/python'``, el prefijo de ejecución es ``'/usr/local'``. La " +"cadena devuelta apunta a un almacenamiento estático; el llamador no debe " +"modificar su valor. Esto corresponde a la variable :makevar:`exec_prefix` en " +"el :file:`Makefile` de nivel superior y al argumento ``--exec-prefix`` del " +"script :program:`configure` en el momento de la compilación. El valor está " +"disponible para el código Python como ``sys.exec_prefix``. Solo es útil en " +"Unix." #: ../Doc/c-api/init.rst:521 msgid "" @@ -1028,10 +1006,9 @@ msgstr "" #: ../Doc/c-api/init.rst:549 msgid "Get :data:`sys.exec_prefix` instead." -msgstr "" +msgstr "Obtenga :data:`sys.exec_prefix` en su lugar." #: ../Doc/c-api/init.rst:558 -#, fuzzy msgid "" "Return the full program name of the Python executable; this is computed as " "a side-effect of deriving the default module search path from the program " @@ -1039,15 +1016,14 @@ msgid "" "into static storage; the caller should not modify its value. The value is " "available to Python code as ``sys.executable``." msgstr "" -"Retorna el nombre completo del programa del ejecutable de Python; esto se " -"calcula como un efecto secundario de derivar la ruta de búsqueda " -"predeterminada del módulo del nombre del programa (establecido por :c:func:" -"`Py_SetProgramName` arriba). La cadena de caracteres retornada apunta al " -"almacenamiento estático; la persona que llama no debe modificar su valor. El " -"valor está disponible para el código de Python como ``sys.executable``." +"Devuelve el nombre completo del programa ejecutable de Python; esto se " +"calcula como un efecto secundario de derivar la ruta de búsqueda del módulo " +"predeterminado a partir del nombre del programa (establecido por :c:member:" +"`PyConfig.program_name`). La cadena devuelta apunta a un almacenamiento " +"estático; el llamador no debe modificar su valor. El valor está disponible " +"para el código Python como ``sys.executable``." #: ../Doc/c-api/init.rst:580 -#, fuzzy msgid "" "Return the default module search path; this is computed from the program " "name (set by :c:member:`PyConfig.program_name`) and some environment " @@ -1059,20 +1035,20 @@ msgid "" "startup; it can be (and usually is) modified later to change the search path " "for loading modules." msgstr "" -"Retorna la ruta de búsqueda del módulo predeterminado; esto se calcula a " -"partir del nombre del programa (establecido por :c:func:`Py_SetProgramName` " -"antes mencionado) y algunas variables de entorno. La cadena de caracteres " -"retornada consiste en una serie de nombres de directorio separados por un " -"carácter delimitador dependiente de la plataforma. El carácter delimitador " -"es ``':'`` en Unix y macOS, ``';'`` en Windows. La cadena de caracteres " -"retornada apunta al almacenamiento estático; la persona que llama no debe " -"modificar su valor. La lista :data:`sys.path` se inicializa con este valor " -"en el inicio del intérprete; se puede (y generalmente se realiza) modificar " -"más adelante para cambiar la ruta de búsqueda para cargar módulos." +"Devuelve la ruta de búsqueda del módulo predeterminada; esto se calcula a " +"partir del nombre del programa (establecido por :c:member:`PyConfig." +"program_name`) y algunas variables de entorno. La cadena devuelta consta de " +"una serie de nombres de directorio separados por un carácter delimitador " +"dependiente de la plataforma. El carácter delimitador es ``':'`` en Unix y " +"macOS, ``';'`` en Windows. La cadena devuelta apunta a un almacenamiento " +"estático; el llamador no debe modificar su valor. La lista :data:`sys.path` " +"se inicializa con este valor al iniciar el intérprete; se puede modificar (y " +"generalmente se modifica) más tarde para cambiar la ruta de búsqueda para " +"cargar módulos." #: ../Doc/c-api/init.rst:598 msgid "Get :data:`sys.path` instead." -msgstr "" +msgstr "Obtenga :data:`sys.path` en su lugar." #: ../Doc/c-api/init.rst:604 msgid "" @@ -1084,7 +1060,7 @@ msgstr "" #: ../Doc/c-api/init.rst:607 msgid "\"3.0a5+ (py3k:63103M, May 12 2008, 00:53:55) \\n[GCC 4.2.3]\"" -msgstr "" +msgstr "\"3.0a5+ (py3k:63103M, May 12 2008, 00:53:55) \\n[GCC 4.2.3]\"" #: ../Doc/c-api/init.rst:611 msgid "" @@ -1154,7 +1130,7 @@ msgstr "" #: ../Doc/c-api/init.rst:649 msgid "\"[GCC 2.7.2.2]\"" -msgstr "" +msgstr "\"[GCC 2.7.2.2]\"" #: ../Doc/c-api/init.rst:653 ../Doc/c-api/init.rst:667 msgid "" @@ -1176,7 +1152,7 @@ msgstr "" #: ../Doc/c-api/init.rst:663 msgid "\"#67, Aug 1 1997, 22:34:28\"" -msgstr "" +msgstr "\"#67, Aug 1 1997, 22:34:28\"" #: ../Doc/c-api/init.rst:679 msgid "" @@ -1249,17 +1225,15 @@ msgstr "" "`PyConfig.argv` de :ref:`Python Initialization Configuration `." #: ../Doc/c-api/init.rst:711 -#, fuzzy msgid "" "It is recommended that applications embedding the Python interpreter for " "purposes other than executing a single script pass ``0`` as *updatepath*, " "and update :data:`sys.path` themselves if desired. See :cve:`2008-5983`." msgstr "" "Se recomienda que las aplicaciones que incorporan el intérprete de Python " -"para otros fines que no sean ejecutar una sola secuencia de comandos " -"(*script*) pasen ``0`` como *updatepath* y actualicen :data:`sys.path` si lo " -"desean. Ver `CVE-2008-5983 `_." +"para fines distintos a la ejecución de un único script pasen ``0`` como " +"*updatepath* y actualicen :data:`sys.path` por sí mismas si así lo desean. " +"Consulte :cve:`2008-5983`." #: ../Doc/c-api/init.rst:716 msgid "" @@ -1273,7 +1247,7 @@ msgstr "" #: ../Doc/c-api/init.rst:720 msgid "PyRun_SimpleString(\"import sys; sys.path.pop(0)\\n\");" -msgstr "" +msgstr "PyRun_SimpleString(\"import sys; sys.path.pop(0)\\n\");" #: ../Doc/c-api/init.rst:732 msgid "" @@ -1333,24 +1307,22 @@ msgstr "" "contenido de este almacenamiento." #: ../Doc/c-api/init.rst:774 -#, fuzzy msgid "" "Return the default \"home\", that is, the value set by :c:member:`PyConfig." "home`, or the value of the :envvar:`PYTHONHOME` environment variable if it " "is set." msgstr "" -"Retorna el \"inicio\" (*home*) predeterminado, es decir, el valor " -"establecido por una llamada anterior a :c:func:`Py_SetPythonHome`, o el " -"valor de la variable de entorno :envvar:`PYTHONHOME` si está configurado." +"Devuelve el \"inicio\" predeterminado, es decir, el valor establecido por :c:" +"member:`PyConfig.home`, o el valor de la variable de entorno :envvar:" +"`PYTHONHOME` si está establecida." #: ../Doc/c-api/init.rst:784 -#, fuzzy msgid "" "Get :c:member:`PyConfig.home` or :envvar:`PYTHONHOME` environment variable " "instead." msgstr "" -"Establecido por la opción :option:`-O` y la variable de entorno :envvar:" -"`PYTHONOPTIMIZE`." +"Obtenga la variable de entorno :c:member:`PyConfig.home` o :envvar:" +"`PYTHONHOME` en su lugar." #: ../Doc/c-api/init.rst:792 msgid "Thread State and the Global Interpreter Lock" @@ -1426,6 +1398,11 @@ msgid "" "Reacquire the global interpreter lock.\n" "Restore the thread state from the local variable." msgstr "" +"Guarde el estado del subproceso en una variable local.\n" +"Libere el bloqueo del intérprete global.\n" +"... Realice alguna operación de E/S de bloqueo...\n" +"Recupere el bloqueo del intérprete global.\n" +"Restaure el estado del subproceso desde la variable local." #: ../Doc/c-api/init.rst:836 msgid "This is so common that a pair of macros exists to simplify it::" @@ -1437,6 +1414,9 @@ msgid "" "... Do some blocking I/O operation ...\n" "Py_END_ALLOW_THREADS" msgstr "" +"Py_BEGIN_ALLOW_THREADS\n" +"... Hace alguna operación bloqueante en I/O ...\n" +"Py_END_ALLOW_THREADS" #: ../Doc/c-api/init.rst:846 msgid "" @@ -1593,7 +1573,6 @@ msgstr "" "ejecución de CPython." #: ../Doc/c-api/init.rst:931 -#, fuzzy msgid "" "The fact that only the \"current\" thread remains means any locks held by " "other threads will never be released. Python solves this for :func:`os.fork` " @@ -1609,21 +1588,20 @@ msgid "" "after the fork. :c:func:`PyOS_AfterFork_Child` tries to reset the necessary " "locks, but is not always able to." msgstr "" -"El hecho de que solo permanezca al hilo \"actual\" significa que ningún " -"bloqueo retenido por otros hilos nunca se liberará. Python resuelve esto " +"El hecho de que solo permanezca el hilo \"actual\" significa que los " +"bloqueos mantenidos por otros hilos nunca se liberarán. Python resuelve esto " "para :func:`os.fork` adquiriendo los bloqueos que usa internamente antes de " -"la bifurcación (*fork*) y soltándolos después. Además, restablece cualquier :" -"ref:`lock-objects` en el elemento secundario. Al extender o incrustar " -"Python, no hay forma de informar a Python de bloqueos adicionales (que no " -"sean Python) que deben adquirirse antes o restablecerse después de una " -"bifurcación. Las instalaciones del sistema operativo como :c:func:" -"`pthread_atfork` tendrían que usarse para lograr lo mismo. Además, al " -"extender o incrustar Python, llamando :c:func:`fork` directamente en lugar " -"de a través de :func:`os.fork` (y retornar o llamar a Python) puede resultar " -"en un punto muerto (*deadlock*) por uno de los bloqueos internos de Python. " -"sostenido por un hilo que no funciona después del *fork*. :c:func:" -"`PyOS_AfterFork_Child` intenta restablecer los bloqueos necesarios, pero no " -"siempre puede hacerlo." +"la bifurcación y liberándolos después. Además, restablece cualquier :ref:" +"`lock-objects` en el hijo. Al extender o incrustar Python, no hay forma de " +"informar a Python de bloqueos adicionales (que no sean de Python) que deben " +"adquirirse antes o restablecerse después de una bifurcación. Se necesitarían " +"usar recursos del sistema operativo como :c:func:`!pthread_atfork` para " +"lograr lo mismo. Además, al extender o incrustar Python, llamar a :c:func:" +"`fork` directamente en lugar de a través de :func:`os.fork` (y regresar a " +"Python o llamar a Python) puede resultar en un bloqueo por uno de los " +"bloqueos internos de Python que está retenido por un hilo que está inactivo " +"después de la bifurcación. :c:func:`PyOS_AfterFork_Child` intenta " +"restablecer los bloqueos necesarios, pero no siempre puede hacerlo." #: ../Doc/c-api/init.rst:946 msgid "" @@ -1686,19 +1664,16 @@ msgstr "" "pertenezcan." #: ../Doc/c-api/init.rst:979 -#, fuzzy msgid "" "This data structure represents the state of a single thread. The only " "public data member is:" msgstr "" -"Esta estructura de datos representa el estado de un solo hilo. El único " -"miembro de datos públicos es :attr:`interp` (:c:expr:`PyInterpreterState " -"*`), que apunta al estado del intérprete de este hilo." +"Esta estructura de datos representa el estado de un único subproceso. El " +"único miembro de datos público es:" #: ../Doc/c-api/init.rst:984 -#, fuzzy msgid "This thread's interpreter state." -msgstr "Retorna el objeto de estado del intérprete principal." +msgstr "Estado del intérprete de este hilo." #: ../Doc/c-api/init.rst:995 msgid "Deprecated function which does nothing." @@ -1754,7 +1729,6 @@ msgstr "" #: ../Doc/c-api/init.rst:1030 ../Doc/c-api/init.rst:1089 #: ../Doc/c-api/init.rst:1371 -#, fuzzy msgid "" "Calling this function from a thread when the runtime is finalizing will " "terminate the thread, even if the thread was not created by Python. You can " @@ -1762,11 +1736,11 @@ msgid "" "interpreter is in process of being finalized before calling this function to " "avoid unwanted termination." msgstr "" -"Llamar a esta función desde un hilo cuando finalice el tiempo de ejecución " -"terminará el hilo, incluso si Python no creó el hilo. Puede usar :c:func:" -"`_Py_IsFinalizing` o :func:`sys.is_finalizing` para verificar si el " -"intérprete está en proceso de finalización antes de llamar a esta función " -"para evitar una terminación no deseada." +"Si se llama a esta función desde un subproceso cuando el entorno de " +"ejecución está finalizando, se terminará el subproceso, incluso si Python no " +"lo creó. Puede usar :c:func:`Py_IsFinalizing` o :func:`sys.is_finalizing` " +"para verificar si el intérprete está en proceso de finalización antes de " +"llamar a esta función para evitar una finalización no deseada." #: ../Doc/c-api/init.rst:1038 msgid "" @@ -1779,9 +1753,8 @@ msgstr "" "error fatal (por lo que la persona que llama no necesita verificar ``NULL``)." #: ../Doc/c-api/init.rst:1042 -#, fuzzy msgid "See also :c:func:`PyThreadState_GetUnchecked`." -msgstr "Vea también :c:func:`PyEval_GetFrame`." +msgstr "Véase también :c:func:`PyThreadState_GetUnchecked`." #: ../Doc/c-api/init.rst:1047 msgid "" @@ -1789,12 +1762,17 @@ msgid "" "fatal error if it is NULL. The caller is responsible to check if the result " "is NULL." msgstr "" +"Similar a :c:func:`PyThreadState_Get`, pero no mata el proceso con un error " +"fatal si es NULL. El llamador es responsable de verificar si el resultado es " +"NULL." #: ../Doc/c-api/init.rst:1051 msgid "" "In Python 3.5 to 3.12, the function was private and known as " "``_PyThreadState_UncheckedGet()``." msgstr "" +"En Python 3.5 a 3.12, la función era privada y se conocía como " +"``_PyThreadState_UncheckedGet()``." #: ../Doc/c-api/init.rst:1058 msgid "" @@ -2060,17 +2038,16 @@ msgstr "" "llamada previa a :c:func:`PyThreadState_Clear`." #: ../Doc/c-api/init.rst:1220 -#, fuzzy msgid "" "Destroy the current thread state and release the global interpreter lock. " "Like :c:func:`PyThreadState_Delete`, the global interpreter lock must be " "held. The thread state must have been reset with a previous call to :c:func:" "`PyThreadState_Clear`." msgstr "" -"Destruye un objeto de estado de hilo y suelta el bloqueo del intérprete " -"global. Como :c:func:`PyThreadState_Delete`, no es necesario mantener el " -"bloqueo del intérprete global. El estado del hilo debe haberse restablecido " -"con una llamada anterior a :c:func:`PyThreadState_Clear`." +"Destruye el estado actual del subproceso y libera el bloqueo global del " +"intérprete. Al igual que en :c:func:`PyThreadState_Delete`, el bloqueo " +"global del intérprete debe mantenerse. El estado del subproceso debe haberse " +"restablecido con una llamada anterior a :c:func:`PyThreadState_Clear`." #: ../Doc/c-api/init.rst:1228 msgid "Get the current frame of the Python thread state *tstate*." @@ -2226,7 +2203,6 @@ msgstr "" "que llama debe asumir que no hay disponible ningún estado del hilo actual." #: ../Doc/c-api/init.rst:1352 -#, fuzzy msgid "" "Asynchronously raise an exception in a thread. The *id* argument is the " "thread id of the target thread; *exc* is the exception object to be raised. " @@ -2237,14 +2213,15 @@ msgid "" "``NULL``, the pending exception (if any) for the thread is cleared. This " "raises no exceptions." msgstr "" -"Asincrónicamente lanza una excepción en un hilo. El argumento *id* es el id " -"del hilo del hilo de destino; *exc* es el objeto de excepción que se debe " -"generar. Esta función no roba ninguna referencia a *exc*. Para evitar el uso " -"indebido ingenuo, debe escribir su propia extensión C para llamar a esto. " -"Debe llamarse con el GIL retenido. Retorna el número de estados de hilo " -"modificados; normalmente es uno, pero será cero si no se encuentra la " -"identificación del hilo. Si *exc* es :const:`NULL`, se borra la excepción " -"pendiente (si existe) para el hilo. Esto no lanza excepciones." +"Generar una excepción de forma asincrónica en un subproceso. El argumento " +"*id* es el identificador del subproceso de destino; *exc* es el objeto de " +"excepción que se va a generar. Esta función no roba ninguna referencia a " +"*exc*. Para evitar un uso indebido ingenuo, debe escribir su propia " +"extensión C para llamarla. Debe llamarse con el GIL en su poder. Devuelve la " +"cantidad de estados de subproceso modificados; normalmente es uno, pero será " +"cero si no se encuentra el identificador del subproceso. Si *exc* es " +"``NULL``, se borra la excepción pendiente (si la hay) para el subproceso. " +"Esto no genera excepciones." #: ../Doc/c-api/init.rst:1360 msgid "" @@ -2356,16 +2333,23 @@ msgid "" "values are used only in :c:func:`Py_NewInterpreterFromConfig` and never " "modified by the runtime." msgstr "" +"Estructura que contiene la mayoría de los parámetros para configurar un " +"subintérprete. Sus valores se utilizan únicamente en :c:func:" +"`Py_NewInterpreterFromConfig` y nunca son modificados por el entorno de " +"ejecución." #: ../Doc/c-api/init.rst:1427 msgid "Structure fields:" -msgstr "" +msgstr "Campos de estructura:" #: ../Doc/c-api/init.rst:1431 msgid "" "If this is ``0`` then the sub-interpreter will use its own \"object\" " "allocator state. Otherwise it will use (share) the main interpreter's." msgstr "" +"Si se trata de ``0``, el subintérprete utilizará su propio estado de " +"asignador de \"objetos\". De lo contrario, utilizará (compartirá) el del " +"intérprete principal." #: ../Doc/c-api/init.rst:1435 msgid "" @@ -2374,6 +2358,10 @@ msgid "" "then :c:member:`~PyInterpreterConfig.gil` must not be :c:macro:" "`PyInterpreterConfig_OWN_GIL`." msgstr "" +"Si es ``0``, entonces :c:member:`~PyInterpreterConfig." +"check_multi_interp_extensions` debe ser ``1`` (distinto de cero). Si es " +"``1``, entonces :c:member:`~PyInterpreterConfig.gil` no debe ser :c:macro:" +"`PyInterpreterConfig_OWN_GIL`." #: ../Doc/c-api/init.rst:1443 msgid "" @@ -2381,11 +2369,16 @@ msgid "" "any thread where the sub-interpreter is currently active. Otherwise fork is " "unrestricted." msgstr "" +"Si es ``0``, el entorno de ejecución no admitirá la bifurcación del proceso " +"en ningún subproceso en el que el subintérprete esté activo en ese momento. " +"De lo contrario, la bifurcación no tendrá restricciones." #: ../Doc/c-api/init.rst:1447 msgid "" "Note that the :mod:`subprocess` module still works when fork is disallowed." msgstr "" +"Tenga en cuenta que el módulo :mod:`subprocess` aún funciona cuando no se " +"permite la bifurcación." #: ../Doc/c-api/init.rst:1452 msgid "" @@ -2393,17 +2386,25 @@ msgid "" "process via exec (e.g. :func:`os.execv`) in any thread where the sub-" "interpreter is currently active. Otherwise exec is unrestricted." msgstr "" +"Si se trata de ``0``, el entorno de ejecución no admitirá la sustitución del " +"proceso actual mediante exec (por ejemplo, :func:`os.execv`) en ningún " +"subproceso en el que el subintérprete esté activo en ese momento. De lo " +"contrario, exec no tendrá restricciones." #: ../Doc/c-api/init.rst:1457 msgid "" "Note that the :mod:`subprocess` module still works when exec is disallowed." msgstr "" +"Tenga en cuenta que el módulo :mod:`subprocess` aún funciona cuando la " +"ejecución no está permitida." #: ../Doc/c-api/init.rst:1462 msgid "" "If this is ``0`` then the sub-interpreter's :mod:`threading` module won't " "create threads. Otherwise threads are allowed." msgstr "" +"Si se trata de ``0``, el módulo :mod:`threading` del subintérprete no creará " +"subprocesos. De lo contrario, se permiten los subprocesos." #: ../Doc/c-api/init.rst:1468 msgid "" @@ -2411,6 +2412,9 @@ msgid "" "create daemon threads. Otherwise daemon threads are allowed (as long as :c:" "member:`~PyInterpreterConfig.allow_threads` is non-zero)." msgstr "" +"Si se trata de ``0``, el módulo :mod:`threading` del subintérprete no creará " +"subprocesos de demonio. De lo contrario, se permiten subprocesos de demonio " +"(siempre que :c:member:`~PyInterpreterConfig.allow_threads` no sea cero)." #: ../Doc/c-api/init.rst:1475 msgid "" @@ -2420,38 +2424,49 @@ msgid "" "pep:`489`) may be imported. (Also see :c:macro:" "`Py_mod_multiple_interpreters`.)" msgstr "" +"Si se trata de ``0``, se podrán importar todos los módulos de extensión, " +"incluidos los módulos heredados (inicio monofásico), en cualquier subproceso " +"en el que el subintérprete esté activo en ese momento. De lo contrario, solo " +"se podrán importar los módulos de extensión de inicio multifásico (consulte :" +"pep:`489`). (Consulte también :c:macro:`Py_mod_multiple_interpreters`)." #: ../Doc/c-api/init.rst:1482 msgid "" "This must be ``1`` (non-zero) if :c:member:`~PyInterpreterConfig." "use_main_obmalloc` is ``0``." msgstr "" +"Debe ser ``1`` (distinto de cero) si :c:member:`~PyInterpreterConfig." +"use_main_obmalloc` es ``0``." #: ../Doc/c-api/init.rst:1487 msgid "" "This determines the operation of the GIL for the sub-interpreter. It may be " "one of the following:" msgstr "" +"Esto determina el funcionamiento del GIL para el subintérprete. Puede ser " +"uno de los siguientes:" #: ../Doc/c-api/init.rst:1494 msgid "Use the default selection (:c:macro:`PyInterpreterConfig_SHARED_GIL`)." msgstr "" +"Utilice la selección predeterminada (:c:macro:" +"`PyInterpreterConfig_SHARED_GIL`)." #: ../Doc/c-api/init.rst:1498 -#, fuzzy msgid "Use (share) the main interpreter's GIL." -msgstr "Retorna el objeto de estado del intérprete principal." +msgstr "Utilice (comparta) el GIL del intérprete principal." #: ../Doc/c-api/init.rst:1502 -#, fuzzy msgid "Use the sub-interpreter's own GIL." -msgstr "Obtiene el intérprete actual." +msgstr "Utilice el GIL propio del subintérprete." #: ../Doc/c-api/init.rst:1504 msgid "" "If this is :c:macro:`PyInterpreterConfig_OWN_GIL` then :c:member:" "`PyInterpreterConfig.use_main_obmalloc` must be ``0``." msgstr "" +"Si es :c:macro:`PyInterpreterConfig_OWN_GIL`, entonces :c:member:" +"`PyInterpreterConfig.use_main_obmalloc` debe ser ``0``." #: ../Doc/c-api/init.rst:1518 msgid "" @@ -2480,9 +2495,10 @@ msgid "" "The given *config* controls the options with which the interpreter is " "initialized." msgstr "" +"El *config* dado controla las opciones con las que se inicializa el " +"intérprete." #: ../Doc/c-api/init.rst:1531 -#, fuzzy msgid "" "Upon success, *tstate_p* will be set to the first thread state created in " "the new sub-interpreter. This thread state is made in the current thread " @@ -2492,17 +2508,14 @@ msgid "" "is stored in the current thread state and there may not be a current thread " "state." msgstr "" -"El valor de retorno apunta al primer estado del hilo creado en el nuevo " -"subinterprete. Este estado de hilo se realiza en el estado de hilo actual. " -"Tenga en cuenta que no se crea ningún hilo real; vea la discusión de los " -"estados del hilo a continuación. Si la creación del nuevo intérprete no " -"tiene éxito, se retorna ``NULL``; no se establece ninguna excepción, ya que " -"el estado de excepción se almacena en el estado actual del hilo y es posible " -"que no haya un estado actual del hilo. (Al igual que todas las otras " -"funciones de Python/C API, el bloqueo global del intérprete debe mantenerse " -"antes de llamar a esta función y aún se mantiene cuando regresa; sin " -"embargo, a diferencia de la mayoría de las otras funciones de Python/C API, " -"no es necesario que haya un estado del hilo actual en entrada.)" +"Si la creación del nuevo intérprete es exitosa, *tstate_p* se establecerá en " +"el primer estado de subproceso creado en el nuevo subintérprete. Este estado " +"de subproceso se crea en el estado de subproceso actual. Tenga en cuenta que " +"no se crea ningún subproceso real; consulte la explicación de los estados de " +"subprocesos a continuación. Si la creación del nuevo intérprete no es " +"exitosa, *tstate_p* se establece en ``NULL``; no se establece ninguna " +"excepción ya que el estado de excepción se almacena en el estado de " +"subproceso actual y es posible que no haya un estado de subproceso actual." #: ../Doc/c-api/init.rst:1540 msgid "" @@ -2515,12 +2528,22 @@ msgid "" "by the current thread and the previously interpreter's GIL will remain " "released here." msgstr "" +"Al igual que todas las demás funciones de la API de Python/C, el bloqueo del " +"intérprete global debe mantenerse antes de llamar a esta función y aún se " +"mantiene cuando regresa. Asimismo, se debe establecer un estado de " +"subproceso actual en la entrada. En caso de éxito, el estado de subproceso " +"devuelto se establecerá como actual. Si el subintérprete se crea con su " +"propio GIL, se liberará el GIL del intérprete que realiza la llamada. Cuando " +"la función regresa, el GIL del nuevo intérprete será retenido por el " +"subproceso actual y el GIL del intérprete anterior permanecerá liberado aquí." #: ../Doc/c-api/init.rst:1551 msgid "" "Sub-interpreters are most effective when isolated from each other, with " "certain functionality restricted::" msgstr "" +"Los subintérpretes son más eficaces cuando están aislados unos de otros y " +"con ciertas funciones restringidas:" #: ../Doc/c-api/init.rst:1554 msgid "" @@ -2543,6 +2566,11 @@ msgid "" "`PyInterpreterState` values. A read-only copy of the config may be stored " "internally on the :c:type:`PyInterpreterState`." msgstr "" +"Tenga en cuenta que la configuración se utiliza solo brevemente y no se " +"modifica. Durante la inicialización, los valores de la configuración se " +"convierten en varios valores :c:type:`PyInterpreterState`. Es posible que se " +"almacene una copia de solo lectura de la configuración internamente en el :c:" +"type:`PyInterpreterState`." #: ../Doc/c-api/init.rst:1574 msgid "Extension modules are shared between (sub-)interpreters as follows:" @@ -2607,9 +2635,13 @@ msgid "" "interpreter's GIL, allows fork/exec, allows daemon threads, and allows " "single-phase init modules." msgstr "" +"Cree un nuevo subintérprete. Básicamente, se trata de un envoltorio de :c:" +"func:`Py_NewInterpreterFromConfig` con una configuración que conserva el " +"comportamiento existente. El resultado es un subintérprete no aislado que " +"comparte el GIL del intérprete principal, permite fork/exec, permite " +"subprocesos de demonio y permite módulos de inicialización monofásicos." #: ../Doc/c-api/init.rst:1625 -#, fuzzy msgid "" "Destroy the (sub-)interpreter represented by the given thread state. The " "given thread state must be the current thread state. See the discussion of " @@ -2618,24 +2650,26 @@ msgid "" "destroyed. The global interpreter lock used by the target interpreter must " "be held before calling this function. No GIL is held when it returns." msgstr "" -"Destruye el (sub) intérprete representado por el estado del hilo dado. El " -"estado del hilo dado debe ser el estado del hilo actual. Vea la discusión de " -"los estados del hilo a continuación. Cuando la llamada regresa, el estado " -"actual del hilo es ``NULL``. Todos los estados de hilo asociados con este " -"intérprete se destruyen. (El bloqueo global del intérprete debe mantenerse " -"antes de llamar a esta función y aún se mantiene cuando vuelve). :c:func:" -"`Py_FinalizeEx` destruirá todos los subinterpretes que no se hayan destruido " -"explícitamente en ese punto." +"Destruye el (sub)intérprete representado por el estado del subproceso " +"indicado. El estado del subproceso indicado debe ser el estado actual del " +"subproceso. Consulta la explicación de los estados del subproceso a " +"continuación. Cuando la llamada retorna, el estado actual del subproceso es " +"``NULL``. Se destruyen todos los estados del subproceso asociados con este " +"intérprete. El bloqueo del intérprete global utilizado por el intérprete de " +"destino debe mantenerse antes de llamar a esta función. No se mantiene " +"ningún GIL cuando retorna." #: ../Doc/c-api/init.rst:1633 msgid "" ":c:func:`Py_FinalizeEx` will destroy all sub-interpreters that haven't been " "explicitly destroyed at that point." msgstr "" +":c:func:`Py_FinalizeEx` destruirá todos los subintérpretes que no hayan sido " +"destruidos explícitamente en ese momento." #: ../Doc/c-api/init.rst:1638 msgid "A Per-Interpreter GIL" -msgstr "" +msgstr "Un GIL por intérprete" #: ../Doc/c-api/init.rst:1640 msgid "" @@ -2648,6 +2682,14 @@ msgid "" "isolation also encourages a different approach to concurrency than that of " "just using threads. (See :pep:`554`.)" msgstr "" +"Con :c:func:`Py_NewInterpreterFromConfig` se puede crear un subintérprete " +"que esté completamente aislado de otros intérpretes, incluso con su propio " +"GIL. El beneficio más importante de este aislamiento es que un intérprete de " +"este tipo puede ejecutar código Python sin que otros intérpretes lo bloqueen " +"ni bloqueen a ningún otro. Por lo tanto, un único proceso Python puede " +"aprovechar realmente los múltiples núcleos de CPU al ejecutar código Python. " +"El aislamiento también fomenta un enfoque diferente de la concurrencia que " +"el de simplemente usar subprocesos. (Consulte :pep:`554`)." #: ../Doc/c-api/init.rst:1650 msgid "" @@ -2662,6 +2704,18 @@ msgid "" "been done for the builtin singletons, small integers, and a number of other " "builtin objects." msgstr "" +"El uso de un intérprete aislado requiere vigilancia para preservar ese " +"aislamiento. Esto significa especialmente no compartir ningún objeto o " +"estado mutable sin garantías sobre la seguridad de los subprocesos. Incluso " +"los objetos que de otro modo serían inmutables (por ejemplo, ``None``, ``(1, " +"5)``) normalmente no se pueden compartir debido al recuento de referencias. " +"Un enfoque simple pero menos eficiente para evitar esto es usar un bloqueo " +"global alrededor de todo uso de algún estado (u objeto). Alternativamente, " +"los objetos efectivamente inmutables (como números enteros o cadenas) se " +"pueden hacer seguros a pesar de sus recuentos de referencias al convertirlos " +"en :term:`immortal`. De hecho, esto se ha hecho para los singletons " +"integrados, los números enteros pequeños y una serie de otros objetos " +"integrados." #: ../Doc/c-api/init.rst:1661 msgid "" @@ -2670,6 +2724,11 @@ msgid "" "to preserve isolation will expose you to the full consequences of free-" "threading, including races and hard-to-debug crashes." msgstr "" +"Si preserva el aislamiento, tendrá acceso a una computación multinúcleo " +"adecuada sin las complicaciones que conlleva el uso de subprocesos libres. " +"Si no preserva el aislamiento, se expondrá a todas las consecuencias del uso " +"de subprocesos libres, incluidas las carreras y los fallos difíciles de " +"depurar." #: ../Doc/c-api/init.rst:1666 msgid "" @@ -2680,6 +2739,13 @@ msgid "" "of preserving isolation and expose effective tools for communicating (and " "sharing) data between interpreters." msgstr "" +"Aparte de eso, uno de los principales desafíos de usar varios intérpretes " +"aislados es cómo comunicarse entre ellos de forma segura (sin romper el " +"aislamiento) y eficiente. El entorno de ejecución y la biblioteca estándar " +"aún no ofrecen ningún enfoque estándar para esto. Un futuro módulo de la " +"biblioteca estándar ayudaría a mitigar el esfuerzo de preservar el " +"aislamiento y expondría herramientas efectivas para comunicar (y compartir) " +"datos entre intérpretes." #: ../Doc/c-api/init.rst:1677 msgid "Bugs and caveats" @@ -2883,7 +2949,6 @@ msgstr "" "rastreo a nivel de Python en versiones anteriores." #: ../Doc/c-api/init.rst:1778 -#, fuzzy msgid "" "The type of the trace function registered using :c:func:`PyEval_SetProfile` " "and :c:func:`PyEval_SetTrace`. The first parameter is the object passed to " @@ -2894,13 +2959,13 @@ msgid "" "`PyTrace_C_RETURN`, or :c:data:`PyTrace_OPCODE`, and *arg* depends on the " "value of *what*:" msgstr "" -"El tipo de la función de rastreo registrada usando :c:func:" +"El tipo de la función de seguimiento registrada mediante :c:func:" "`PyEval_SetProfile` y :c:func:`PyEval_SetTrace`. El primer parámetro es el " "objeto pasado a la función de registro como *obj*, *frame* es el objeto de " -"marco al que pertenece el evento, *what* es una de las constantes :const:" -"`PyTrace_CALL`, :const:`PyTrace_EXCEPTION` , :const:`PyTrace_LINE`, :const:" -"`PyTrace_RETURN`, :const:`PyTrace_C_CALL`, :const:`PyTrace_C_EXCEPTION`, :" -"const:`PyTrace_C_RETURN`, o :const:`PyTrace_OPCODE`, y *arg* depende de el " +"marco al que pertenece el evento, *what* es una de las constantes :c:data:" +"`PyTrace_CALL`, :c:data:`PyTrace_EXCEPTION`, :c:data:`PyTrace_LINE`, :c:data:" +"`PyTrace_RETURN`, :c:data:`PyTrace_C_CALL`, :c:data:`PyTrace_C_EXCEPTION`, :" +"c:data:`PyTrace_C_RETURN` o :c:data:`PyTrace_OPCODE`, y *arg* depende del " "valor de *what*:" #: ../Doc/c-api/init.rst:1787 @@ -2912,9 +2977,8 @@ msgid "Meaning of *arg*" msgstr "Significado de *arg*" #: ../Doc/c-api/init.rst:1789 -#, fuzzy msgid ":c:data:`PyTrace_CALL`" -msgstr ":const:`PyTrace_CALL`" +msgstr ":c:data:`PyTrace_CALL`" #: ../Doc/c-api/init.rst:1789 ../Doc/c-api/init.rst:1794 #: ../Doc/c-api/init.rst:1805 @@ -2922,23 +2986,20 @@ msgid "Always :c:data:`Py_None`." msgstr "Siempre :c:data:`Py_None`." #: ../Doc/c-api/init.rst:1791 -#, fuzzy msgid ":c:data:`PyTrace_EXCEPTION`" -msgstr ":const:`PyTrace_EXCEPTION`" +msgstr ":c:data:`PyTrace_EXCEPTION`" #: ../Doc/c-api/init.rst:1791 msgid "Exception information as returned by :func:`sys.exc_info`." msgstr "Información de excepción retornada por :func:`sys.exc_info`." #: ../Doc/c-api/init.rst:1794 -#, fuzzy msgid ":c:data:`PyTrace_LINE`" -msgstr ":const:`PyTrace_LINE`" +msgstr ":c:data:`PyTrace_LINE`" #: ../Doc/c-api/init.rst:1796 -#, fuzzy msgid ":c:data:`PyTrace_RETURN`" -msgstr ":const:`PyTrace_RETURN`" +msgstr ":c:data:`PyTrace_RETURN`" #: ../Doc/c-api/init.rst:1796 msgid "" @@ -2947,9 +3008,8 @@ msgstr "" "Valor retornado al que llama, o ``NULL`` si es causado por una excepción." #: ../Doc/c-api/init.rst:1799 -#, fuzzy msgid ":c:data:`PyTrace_C_CALL`" -msgstr ":const:`PyTrace_C_CALL`" +msgstr ":c:data:`PyTrace_C_CALL`" #: ../Doc/c-api/init.rst:1799 ../Doc/c-api/init.rst:1801 #: ../Doc/c-api/init.rst:1803 @@ -2957,19 +3017,16 @@ msgid "Function object being called." msgstr "Objeto función que se llaman." #: ../Doc/c-api/init.rst:1801 -#, fuzzy msgid ":c:data:`PyTrace_C_EXCEPTION`" -msgstr ":const:`PyTrace_C_EXCEPTION`" +msgstr ":c:data:`PyTrace_C_EXCEPTION`" #: ../Doc/c-api/init.rst:1803 -#, fuzzy msgid ":c:data:`PyTrace_C_RETURN`" -msgstr ":const:`PyTrace_C_RETURN`" +msgstr ":c:data:`PyTrace_C_RETURN`" #: ../Doc/c-api/init.rst:1805 -#, fuzzy msgid ":c:data:`PyTrace_OPCODE`" -msgstr ":const:`PyTrace_OPCODE`" +msgstr ":c:data:`PyTrace_OPCODE`" #: ../Doc/c-api/init.rst:1810 msgid "" @@ -3007,17 +3064,16 @@ msgstr "" "no los necesita." #: ../Doc/c-api/init.rst:1830 -#, fuzzy msgid "" "The value passed as the *what* parameter to a :c:type:`Py_tracefunc` " "function (but not a profiling function) when a line-number event is being " "reported. It may be disabled for a frame by setting :attr:`~frame." "f_trace_lines` to *0* on that frame." msgstr "" -"El valor pasado como parámetro *what* a una función :c:type:`Py_tracefunc` " -"(pero no una función de creación de perfiles) cuando se informa un evento de " -"número de línea. Puede deshabilitarse para un marco configurando :attr:" -"`f_trace_lines` en *0* en ese marco." +"El valor que se pasa como parámetro *what* a una función :c:type:" +"`Py_tracefunc` (pero no a una función de creación de perfiles) cuando se " +"informa un evento de número de línea. Se puede desactivar para un marco " +"configurando :attr:`~frame.f_trace_lines` en *0* en ese marco." #: ../Doc/c-api/init.rst:1838 msgid "" @@ -3052,21 +3108,19 @@ msgstr "" "una función C ha retornado." #: ../Doc/c-api/init.rst:1862 -#, fuzzy msgid "" "The value for the *what* parameter to :c:type:`Py_tracefunc` functions (but " "not profiling functions) when a new opcode is about to be executed. This " "event is not emitted by default: it must be explicitly requested by setting :" "attr:`~frame.f_trace_opcodes` to *1* on the frame." msgstr "" -"El valor del parámetro *what* para funciones :c:type:`Py_tracefunc` (pero no " -"funciones de creación de perfiles) cuando un nuevo código de operación está " -"a punto de ejecutarse. Este evento no se emite de forma predeterminada: debe " -"solicitarse explícitamente estableciendo :attr:`f_trace_opcodes` en *1* en " -"el marco." +"El valor del parámetro *what* para las funciones :c:type:`Py_tracefunc` " +"(pero no para las funciones de creación de perfiles) cuando está a punto de " +"ejecutarse un nuevo código de operación. Este evento no se emite de forma " +"predeterminada: debe solicitarse explícitamente configurando :attr:`~frame." +"f_trace_opcodes` en *1* en el marco." #: ../Doc/c-api/init.rst:1870 -#, fuzzy msgid "" "Set the profiler function to *func*. The *obj* parameter is passed to the " "function as its first parameter, and may be any Python object, or ``NULL``. " @@ -3075,13 +3129,13 @@ msgid "" "it. The profile function is called for all monitored events except :c:data:" "`PyTrace_LINE` :c:data:`PyTrace_OPCODE` and :c:data:`PyTrace_EXCEPTION`." msgstr "" -"Establece la función del generador de perfiles en *func*. El parámetro *obj* " -"se pasa a la función como su primer parámetro, y puede ser cualquier objeto " -"de Python o ``NULL``. Si la función de perfilado necesita mantener el " -"estado, el uso de un valor diferente para *obj* para cada hilo proporciona " -"un lugar conveniente y seguro para guardarlo. Se llama a la función de " -"perfilado para todos los eventos supervisados, excepto :const:" -"`PyTrace_LINE` :const:`PyTrace_OPCODE` y :const:`PyTrace_EXCEPTION`." +"Establezca la función de perfilador en *func*. El parámetro *obj* se pasa a " +"la función como su primer parámetro y puede ser cualquier objeto Python o " +"``NULL``. Si la función de perfilador necesita mantener el estado, el uso de " +"un valor diferente para *obj* para cada subproceso proporciona un lugar " +"conveniente y seguro para subprocesos donde almacenarlo. La función de " +"perfilador se llama para todos los eventos monitoreados excepto :c:data:" +"`PyTrace_LINE`, :c:data:`PyTrace_OPCODE` y :c:data:`PyTrace_EXCEPTION`." #: ../Doc/c-api/init.rst:1877 msgid "See also the :func:`sys.setprofile` function." @@ -3098,15 +3152,20 @@ msgid "" "running threads belonging to the current interpreter instead of the setting " "it only on the current thread." msgstr "" +"Como :c:func:`PyEval_SetProfile`, pero establece la función de perfil en " +"todos los subprocesos en ejecución que pertenecen al intérprete actual en " +"lugar de configurarla solo en el subproceso actual." #: ../Doc/c-api/init.rst:1888 msgid "" "As :c:func:`PyEval_SetProfile`, this function ignores any exceptions raised " "while setting the profile functions in all threads." msgstr "" +"Al igual que :c:func:`PyEval_SetProfile`, esta función ignora cualquier " +"excepción generada al configurar las funciones de perfil en todos los " +"subprocesos." #: ../Doc/c-api/init.rst:1896 -#, fuzzy msgid "" "Set the tracing function to *func*. This is similar to :c:func:" "`PyEval_SetProfile`, except the tracing function does receive line-number " @@ -3116,13 +3175,13 @@ msgid "" "`PyTrace_C_EXCEPTION` or :c:data:`PyTrace_C_RETURN` as a value for the " "*what* parameter." msgstr "" -"Establece la función de rastreo en *func*. Esto es similar a :c:func:" -"`PyEval_SetProfile`, excepto que la función de rastreo recibe eventos de " +"Establezca la función de seguimiento en *func*. Es similar a :c:func:" +"`PyEval_SetProfile`, excepto que la función de seguimiento recibe eventos de " "número de línea y eventos por código de operación, pero no recibe ningún " -"evento relacionado con los objetos de la función C. Cualquier función de " -"rastreo registrada con :c:func:`PyEval_SetTrace` no recibirá :const:" -"`PyTrace_C_CALL`, :const:`PyTrace_C_EXCEPTION` o :const:`PyTrace_C_RETURN` " -"como valor para el parámetro *what*." +"evento relacionado con los objetos de función C que se están llamando. " +"Cualquier función de seguimiento registrada con :c:func:`PyEval_SetTrace` no " +"recibirá :c:data:`PyTrace_C_CALL`, :c:data:`PyTrace_C_EXCEPTION` o :c:data:" +"`PyTrace_C_RETURN` como valor para el parámetro *what*." #: ../Doc/c-api/init.rst:1903 msgid "See also the :func:`sys.settrace` function." @@ -3134,16 +3193,22 @@ msgid "" "threads belonging to the current interpreter instead of the setting it only " "on the current thread." msgstr "" +"Como :c:func:`PyEval_SetTrace`, pero establece la función de seguimiento en " +"todos los subprocesos en ejecución que pertenecen al intérprete actual en " +"lugar de configurarla solo en el subproceso actual." #: ../Doc/c-api/init.rst:1914 msgid "" "As :c:func:`PyEval_SetTrace`, this function ignores any exceptions raised " "while setting the trace functions in all threads." msgstr "" +"Al igual que :c:func:`PyEval_SetTrace`, esta función ignora cualquier " +"excepción generada al configurar las funciones de seguimiento en todos los " +"subprocesos." #: ../Doc/c-api/init.rst:1920 msgid "Reference tracing" -msgstr "" +msgstr "Rastreo de referencia" #: ../Doc/c-api/init.rst:1926 msgid "" @@ -3154,24 +3219,29 @@ msgid "" "`PyRefTracer_DESTROY`). The **data** argument is the opaque pointer that was " "provided when :c:func:`PyRefTracer_SetTracer` was called." msgstr "" +"El tipo de la función de seguimiento registrada mediante :c:func:" +"`PyRefTracer_SetTracer`. El primer parámetro es un objeto Python que se " +"acaba de crear (cuando **event** se establece en :c:data:" +"`PyRefTracer_CREATE`) o que está a punto de destruirse (cuando **event** se " +"establece en :c:data:`PyRefTracer_DESTROY`). El argumento **data** es el " +"puntero opaco que se proporcionó cuando se llamó a :c:func:" +"`PyRefTracer_SetTracer`." #: ../Doc/c-api/init.rst:1936 -#, fuzzy msgid "" "The value for the *event* parameter to :c:type:`PyRefTracer` functions when " "a Python object has been created." msgstr "" -"El valor del parámetro *what* para :c:type:`Py_tracefunc` funciona cuando " -"una función C ha retornado." +"El valor del parámetro *event* a :c:type:`PyRefTracer` funciona cuando se ha " +"creado un objeto Python." #: ../Doc/c-api/init.rst:1941 -#, fuzzy msgid "" "The value for the *event* parameter to :c:type:`PyRefTracer` functions when " "a Python object has been destroyed." msgstr "" -"El valor del parámetro *what* para :c:type:`Py_tracefunc` funciona cuando " -"una función C ha retornado." +"El valor del parámetro *event* a :c:type:`PyRefTracer` funciona cuando se ha " +"destruido un objeto Python." #: ../Doc/c-api/init.rst:1946 msgid "" @@ -3181,6 +3251,11 @@ msgid "" "the tracer function is called. Return ``0`` on success. Set an exception and " "return ``-1`` on error." msgstr "" +"Registra una función de rastreo de referencia. La función se llamará cuando " +"se haya creado un nuevo Python o cuando se vaya a destruir un objeto. Si se " +"proporciona **data**, debe ser un puntero opaco que se proporcionará cuando " +"se llame a la función de rastreo. Devuelve ``0`` en caso de éxito. Establece " +"una excepción y devuelve ``-1`` en caso de error." #: ../Doc/c-api/init.rst:1952 msgid "" @@ -3189,13 +3264,15 @@ msgid "" "any existing exception or set an exception. The GIL will be held every time " "the tracer function is called." msgstr "" +"No es que las funciones de seguimiento **must not** creen objetos Python en " +"su interior, de lo contrario la llamada será reentrante. El seguimiento " +"también **must not** borra cualquier excepción existente o establece una " +"excepción. El GIL se mantendrá cada vez que se llame a la función de " +"seguimiento." #: ../Doc/c-api/init.rst:1957 ../Doc/c-api/init.rst:1968 -#, fuzzy msgid "The GIL must be held when calling this function." -msgstr "" -"El GIL *no* necesita ser retenido al llamar a estas funciones; proporcionan " -"su propio bloqueo." +msgstr "El GIL debe mantenerse al llamar a esta función." #: ../Doc/c-api/init.rst:1963 msgid "" @@ -3204,6 +3281,10 @@ msgid "" "called. If no tracer was registered this function will return NULL and will " "set the **data** pointer to NULL." msgstr "" +"Obtenga la función de trazador de referencia registrada y el valor del " +"puntero de datos opacos que se registró cuando se llamó a :c:func:" +"`PyRefTracer_SetTracer`. Si no se registró ningún trazador, esta función " +"devolverá NULL y establecerá el puntero **data** en NULL." #: ../Doc/c-api/init.rst:1975 msgid "Advanced Debugger Support" @@ -3502,21 +3583,23 @@ msgstr "" #: ../Doc/c-api/init.rst:2168 msgid "Synchronization Primitives" -msgstr "" +msgstr "Primitivas de sincronización" #: ../Doc/c-api/init.rst:2170 msgid "The C-API provides a basic mutual exclusion lock." -msgstr "" +msgstr "La C-API proporciona un bloqueo de exclusión mutua básico." #: ../Doc/c-api/init.rst:2174 msgid "" "A mutual exclusion lock. The :c:type:`!PyMutex` should be initialized to " "zero to represent the unlocked state. For example::" msgstr "" +"Un bloqueo de exclusión mutua. El :c:type:`!PyMutex` debe inicializarse a " +"cero para representar el estado desbloqueado. Por ejemplo:" #: ../Doc/c-api/init.rst:2177 msgid "PyMutex mutex = {0};" -msgstr "" +msgstr "PyMutex mutex = {0};" #: ../Doc/c-api/init.rst:2179 msgid "" @@ -3524,6 +3607,9 @@ msgid "" "contents and address of a :c:type:`!PyMutex` are meaningful, and it must " "remain at a fixed, writable location in memory." msgstr "" +"Las instancias de :c:type:`!PyMutex` no se deben copiar ni mover. Tanto el " +"contenido como la dirección de un :c:type:`!PyMutex` son significativos y " +"deben permanecer en una ubicación fija y escribible en la memoria." #: ../Doc/c-api/init.rst:2185 msgid "" @@ -3531,6 +3617,9 @@ msgid "" "considered unstable. The size may change in future Python releases without " "a deprecation period." msgstr "" +"Actualmente, un :c:type:`!PyMutex` ocupa un byte, pero el tamaño debe " +"considerarse inestable. El tamaño puede cambiar en futuras versiones de " +"Python sin un período de desuso." #: ../Doc/c-api/init.rst:2193 msgid "" @@ -3538,16 +3627,22 @@ msgid "" "will block until the mutex is unlocked. While blocked, the thread will " "temporarily release the :term:`GIL` if it is held." msgstr "" +"Bloqueo del mutex *m*. Si otro subproceso ya lo ha bloqueado, el subproceso " +"que realiza la llamada se bloqueará hasta que se desbloquee el mutex. " +"Mientras esté bloqueado, el subproceso liberará temporalmente el :term:`GIL` " +"si está retenido." #: ../Doc/c-api/init.rst:2201 msgid "" "Unlock mutex *m*. The mutex must be locked --- otherwise, the function will " "issue a fatal error." msgstr "" +"Desbloquee el mutex *m*. El mutex debe estar bloqueado; de lo contrario, la " +"función emitirá un error fatal." #: ../Doc/c-api/init.rst:2209 msgid "Python Critical Section API" -msgstr "" +msgstr "API de sección crítica de Python" #: ../Doc/c-api/init.rst:2211 msgid "" @@ -3556,6 +3651,11 @@ msgid "" "intended to replace reliance on the :term:`global interpreter lock`, and are " "no-ops in versions of Python with the global interpreter lock." msgstr "" +"La API de sección crítica proporciona una capa de prevención de bloqueos " +"sobre los bloqueos por objeto para :term:`free-threaded ` " +"CPython. Su objetivo es reemplazar la dependencia de :term:`global " +"interpreter lock` y no se pueden realizar operaciones en versiones de Python " +"con el bloqueo del intérprete global." #: ../Doc/c-api/init.rst:2216 msgid "" @@ -3566,6 +3666,13 @@ msgid "" "the critical section API provides weaker guarantees than traditional locks " "-- they are useful because their behavior is similar to the :term:`GIL`." msgstr "" +"Las secciones críticas evitan los bloqueos al suspender implícitamente las " +"secciones críticas activas y liberar los bloqueos durante las llamadas a :c:" +"func:`PyEval_SaveThread`. Cuando se llama a :c:func:`PyEval_RestoreThread`, " +"se reanuda la sección crítica más reciente y se vuelven a adquirir sus " +"bloqueos. Esto significa que la API de la sección crítica ofrece garantías " +"más débiles que los bloqueos tradicionales; son útiles porque su " +"comportamiento es similar al de :term:`GIL`." #: ../Doc/c-api/init.rst:2223 msgid "" @@ -3574,6 +3681,11 @@ msgid "" "expansions. Note that the sizes and contents of the structures may change in " "future Python versions." msgstr "" +"Las funciones y estructuras que utilizan las macros se exponen para los " +"casos en los que las macros de C no están disponibles. Solo se deben " +"utilizar como en las expansiones de macros indicadas. Tenga en cuenta que " +"los tamaños y contenidos de las estructuras pueden cambiar en futuras " +"versiones de Python." #: ../Doc/c-api/init.rst:2230 msgid "" @@ -3583,10 +3695,15 @@ msgid "" "suspend the outer critical sections. This API does not provide a way to " "lock more than two objects at once." msgstr "" +"Las operaciones que necesitan bloquear dos objetos a la vez deben utilizar :" +"c:macro:`Py_BEGIN_CRITICAL_SECTION2`. *cannot* utiliza secciones críticas " +"anidadas para bloquear más de un objeto a la vez, ya que la sección crítica " +"interna puede suspender las secciones críticas externas. Esta API no " +"proporciona una manera de bloquear más de dos objetos a la vez." #: ../Doc/c-api/init.rst:2236 msgid "Example usage::" -msgstr "" +msgstr "Ejemplo de uso::" #: ../Doc/c-api/init.rst:2238 msgid "" @@ -3599,6 +3716,14 @@ msgid "" " Py_RETURN_NONE;\n" "}" msgstr "" +"static PyObject *\n" +"set_field(MyObject *self, PyObject *value)\n" +"{\n" +" Py_BEGIN_CRITICAL_SECTION(self);\n" +" Py_SETREF(self->field, Py_XNewRef(value));\n" +" Py_END_CRITICAL_SECTION();\n" +" Py_RETURN_NONE;\n" +"}" #: ../Doc/c-api/init.rst:2247 msgid "" @@ -3609,17 +3734,25 @@ msgid "" "if the code triggered by the finalizer blocks and calls :c:func:" "`PyEval_SaveThread`." msgstr "" +"En el ejemplo anterior, :c:macro:`Py_SETREF` llama a :c:macro:`Py_DECREF`, " +"que puede llamar a código arbitrario a través de la función de desasignación " +"de un objeto. La API de sección crítica evita posibles bloqueos debido a la " +"reentrada y al orden de bloqueo al permitir que el entorno de ejecución " +"suspenda temporalmente la sección crítica si el código activado por el " +"finalizador se bloquea y llama a :c:func:`PyEval_SaveThread`." #: ../Doc/c-api/init.rst:2255 msgid "" "Acquires the per-object lock for the object *op* and begins a critical " "section." msgstr "" +"Adquiere el bloqueo por objeto para el objeto *op* y comienza una sección " +"crítica." #: ../Doc/c-api/init.rst:2258 ../Doc/c-api/init.rst:2272 #: ../Doc/c-api/init.rst:2287 ../Doc/c-api/init.rst:2301 msgid "In the free-threaded build, this macro expands to::" -msgstr "" +msgstr "En la compilación de subprocesos libres, esta macro se expande a:" #: ../Doc/c-api/init.rst:2260 msgid "" @@ -3627,24 +3760,29 @@ msgid "" " PyCriticalSection _py_cs;\n" " PyCriticalSection_Begin(&_py_cs, (PyObject*)(op))" msgstr "" +"{\n" +" PyCriticalSection _py_cs;\n" +" PyCriticalSection_Begin(&_py_cs, (PyObject*)(op))" #: ../Doc/c-api/init.rst:2264 ../Doc/c-api/init.rst:2293 msgid "In the default build, this macro expands to ``{``." -msgstr "" +msgstr "En la compilación predeterminada, esta macro se expande a ``{``." #: ../Doc/c-api/init.rst:2270 msgid "Ends the critical section and releases the per-object lock." -msgstr "" +msgstr "Finaliza la sección crítica y libera el bloqueo por objeto." #: ../Doc/c-api/init.rst:2274 msgid "" " PyCriticalSection_End(&_py_cs);\n" "}" msgstr "" +" PyCriticalSection_End(&_py_cs);\n" +"}" #: ../Doc/c-api/init.rst:2277 ../Doc/c-api/init.rst:2306 msgid "In the default build, this macro expands to ``}``." -msgstr "" +msgstr "En la compilación predeterminada, esta macro se expande a ``}``." #: ../Doc/c-api/init.rst:2283 msgid "" @@ -3652,6 +3790,9 @@ msgid "" "critical section. The locks are acquired in a consistent order (lowest " "address first) to avoid lock ordering deadlocks." msgstr "" +"Adquiere los bloqueos por objeto para los objetos *a* y *b* y comienza una " +"sección crítica. Los bloqueos se adquieren en un orden coherente (la " +"dirección más baja primero) para evitar bloqueos en el orden de bloqueo." #: ../Doc/c-api/init.rst:2289 msgid "" @@ -3659,176 +3800,177 @@ msgid "" " PyCriticalSection2 _py_cs2;\n" " PyCriticalSection_Begin2(&_py_cs2, (PyObject*)(a), (PyObject*)(b))" msgstr "" +"{\n" +" PyCriticalSection2 _py_cs2;\n" +" PyCriticalSection_Begin2(&_py_cs2, (PyObject*)(a), (PyObject*)(b))" #: ../Doc/c-api/init.rst:2299 msgid "Ends the critical section and releases the per-object locks." -msgstr "" +msgstr "Finaliza la sección crítica y libera los bloqueos por objeto." #: ../Doc/c-api/init.rst:2303 msgid "" " PyCriticalSection_End2(&_py_cs2);\n" "}" msgstr "" +" PyCriticalSection_End2(&_py_cs2);\n" +"}" #: ../Doc/c-api/init.rst:335 msgid "PyEval_InitThreads()" -msgstr "" +msgstr "PyEval_InitThreads()" #: ../Doc/c-api/init.rst:335 msgid "modules (in module sys)" -msgstr "" +msgstr "módulos (en el módulo sys)" #: ../Doc/c-api/init.rst:335 ../Doc/c-api/init.rst:576 msgid "path (in module sys)" -msgstr "" +msgstr "path (en el módulo sys)" #: ../Doc/c-api/init.rst:335 ../Doc/c-api/init.rst:576 #: ../Doc/c-api/init.rst:1011 ../Doc/c-api/init.rst:1510 #: ../Doc/c-api/init.rst:1605 msgid "module" -msgstr "" +msgstr "modulo" #: ../Doc/c-api/init.rst:335 ../Doc/c-api/init.rst:1510 #: ../Doc/c-api/init.rst:1605 msgid "builtins" -msgstr "" +msgstr "elementos incorporados" #: ../Doc/c-api/init.rst:335 ../Doc/c-api/init.rst:1510 #: ../Doc/c-api/init.rst:1605 msgid "__main__" -msgstr "" +msgstr "__main__" #: ../Doc/c-api/init.rst:335 ../Doc/c-api/init.rst:1510 #: ../Doc/c-api/init.rst:1605 msgid "sys" -msgstr "" +msgstr "sys" #: ../Doc/c-api/init.rst:335 ../Doc/c-api/init.rst:576 msgid "search" -msgstr "" +msgstr "buscar" #: ../Doc/c-api/init.rst:335 ../Doc/c-api/init.rst:576 msgid "path" -msgstr "" +msgstr "path" #: ../Doc/c-api/init.rst:335 ../Doc/c-api/init.rst:1570 #: ../Doc/c-api/init.rst:1623 msgid "Py_FinalizeEx (C function)" -msgstr "" +msgstr "Py_FinalizeEx (C function)" #: ../Doc/c-api/init.rst:445 -#, fuzzy msgid "Py_Initialize()" -msgstr ":c:func:`Py_IsInitialized`" +msgstr "Py_Initialize()" #: ../Doc/c-api/init.rst:445 ../Doc/c-api/init.rst:674 msgid "main()" -msgstr "" +msgstr "main()" #: ../Doc/c-api/init.rst:445 msgid "Py_GetPath()" -msgstr "" +msgstr "Py_GetPath()" #: ../Doc/c-api/init.rst:555 msgid "executable (in module sys)" -msgstr "" +msgstr "ejecutable (en el módulo sys)" #: ../Doc/c-api/init.rst:609 ../Doc/c-api/init.rst:651 #: ../Doc/c-api/init.rst:665 msgid "version (in module sys)" -msgstr "" +msgstr "version (in module sys)" #: ../Doc/c-api/init.rst:621 msgid "platform (in module sys)" -msgstr "" +msgstr "platform (en el módulo sys)" #: ../Doc/c-api/init.rst:638 msgid "copyright (in module sys)" -msgstr "" +msgstr "derechos de autor (en el módulo sys)" #: ../Doc/c-api/init.rst:674 msgid "Py_FatalError()" -msgstr "" +msgstr "Py_FatalError()" #: ../Doc/c-api/init.rst:674 msgid "argv (in module sys)" -msgstr "" +msgstr "argv (en el módulo sys)" #: ../Doc/c-api/init.rst:794 -#, fuzzy msgid "global interpreter lock" -msgstr "Estado del hilo y el bloqueo global del intérprete" +msgstr "bloqueo global del intérprete" #: ../Doc/c-api/init.rst:794 -#, fuzzy msgid "interpreter lock" -msgstr "Soporte de subinterprete" +msgstr "bloqueo de intérprete" #: ../Doc/c-api/init.rst:794 msgid "lock, interpreter" -msgstr "" +msgstr "bloqueo, interprete" #: ../Doc/c-api/init.rst:807 msgid "setswitchinterval (in module sys)" -msgstr "" +msgstr "setswitchinterval (in module sys)" #: ../Doc/c-api/init.rst:816 msgid "PyThreadState (C type)" -msgstr "" +msgstr "PyThreadState (C type)" #: ../Doc/c-api/init.rst:842 msgid "Py_BEGIN_ALLOW_THREADS (C macro)" -msgstr "" +msgstr "Py_BEGIN_ALLOW_THREADS (C macro)" #: ../Doc/c-api/init.rst:842 msgid "Py_END_ALLOW_THREADS (C macro)" -msgstr "" +msgstr "Py_END_ALLOW_THREADS (C macro)" #: ../Doc/c-api/init.rst:858 msgid "PyEval_RestoreThread (C function)" -msgstr "" +msgstr "PyEval_RestoreThread (C function)" #: ../Doc/c-api/init.rst:858 msgid "PyEval_SaveThread (C function)" -msgstr "" +msgstr "PyEval_SaveThread (C function)" #: ../Doc/c-api/init.rst:989 msgid "PyEval_AcquireThread()" -msgstr "" +msgstr "PyEval_AcquireThread()" #: ../Doc/c-api/init.rst:989 msgid "PyEval_ReleaseThread()" -msgstr "" +msgstr "PyEval_ReleaseThread()" #: ../Doc/c-api/init.rst:989 msgid "PyEval_SaveThread()" -msgstr "" +msgstr "PyEval_SaveThread()" #: ../Doc/c-api/init.rst:989 msgid "PyEval_RestoreThread()" -msgstr "" +msgstr "PyEval_RestoreThread()" #: ../Doc/c-api/init.rst:1011 msgid "_thread" -msgstr "" +msgstr "_thread" #: ../Doc/c-api/init.rst:1510 ../Doc/c-api/init.rst:1605 msgid "stdout (in module sys)" -msgstr "" +msgstr "stdout (in module sys)" #: ../Doc/c-api/init.rst:1510 ../Doc/c-api/init.rst:1605 msgid "stderr (in module sys)" -msgstr "" +msgstr "stderr (in module sys)" #: ../Doc/c-api/init.rst:1510 ../Doc/c-api/init.rst:1605 msgid "stdin (in module sys)" -msgstr "" +msgstr "stdin (in module sys)" #: ../Doc/c-api/init.rst:1570 -#, fuzzy msgid "Py_Initialize (C function)" -msgstr ":c:func:`Py_IsInitialized`" +msgstr "Py_Initialize (C function)" #: ../Doc/c-api/init.rst:1600 msgid "close (in module os)" -msgstr "" +msgstr "cerrar (en el módulo os)" diff --git a/dictionaries/c-api_init.txt b/dictionaries/c-api_init.txt index 512f5c6fbe..86d469745a 100644 --- a/dictionaries/c-api_init.txt +++ b/dictionaries/c-api_init.txt @@ -1,3 +1,6 @@ -pthreads -deadlock Reanudelos +deadlock +monofásico +monofásicos +multifásico +pthreads pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy