diff --git a/dictionaries/library_asyncio_policy.txt b/dictionaries/library_asyncio_policy.txt new file mode 100644 index 0000000000..a1a0156e5b --- /dev/null +++ b/dictionaries/library_asyncio_policy.txt @@ -0,0 +1 @@ +monitorea \ No newline at end of file diff --git a/library/asyncio-policy.po b/library/asyncio-policy.po index 0aeb8e2036..563e393f84 100644 --- a/library/asyncio-policy.po +++ b/library/asyncio-policy.po @@ -6,23 +6,25 @@ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to # get the list of volunteers # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2020-10-06 19:01+0200\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language: es\n" +"X-Generator: Poedit 2.4.1\n" #: ../Doc/library/asyncio-policy.rst:8 msgid "Policies" -msgstr "" +msgstr "Políticas" #: ../Doc/library/asyncio-policy.rst:10 msgid "" @@ -30,12 +32,19 @@ msgid "" "management of the event loop. Each event loop has a default policy, which " "can be changed and customized using the policy API." msgstr "" +"Una política del bucle de eventos es un objeto por proceso que controla la " +"administración del bucle de eventos. Cada bucle de eventos tiene una " +"política por defecto, que puede ser cambiada y editada usando la política de " +"API." #: ../Doc/library/asyncio-policy.rst:14 msgid "" "A policy defines the notion of *context* and manages a separate event loop " "per context. The default policy defines *context* to be the current thread." msgstr "" +"Una política define la noción de *contexto* y administra un bucle de eventos " +"separado por contexto. La política por defecto define un *contexto* como el " +"estado actual." #: ../Doc/library/asyncio-policy.rst:18 msgid "" @@ -43,126 +52,149 @@ msgid "" "`get_event_loop`, :func:`set_event_loop`, and :func:`new_event_loop` " "functions can be customized." msgstr "" +"Usando una política de bucle de eventos personalizada, la conducta de las " +"funciones :func:`get_event_loop`, :func:`set_event_loop`, y :func:" +"`new_event_loop` puede ser personalizada." #: ../Doc/library/asyncio-policy.rst:22 msgid "" "Policy objects should implement the APIs defined in the :class:" "`AbstractEventLoopPolicy` abstract base class." msgstr "" +"Los objetos de política deberían implementar las APIs definidas en la clase " +"abstracta base :class:`AbstractEventLoopPolicy`." #: ../Doc/library/asyncio-policy.rst:27 msgid "Getting and Setting the Policy" -msgstr "" +msgstr "Obteniendo y Configurando la Política" #: ../Doc/library/asyncio-policy.rst:29 msgid "" "The following functions can be used to get and set the policy for the " "current process:" msgstr "" +"Las siguientes funciones pueden ser usadas para obtener y configurar la " +"política de los procesos actuales:" #: ../Doc/library/asyncio-policy.rst:34 msgid "Return the current process-wide policy." -msgstr "" +msgstr "Retorna la política actual en todo el proceso." #: ../Doc/library/asyncio-policy.rst:38 msgid "Set the current process-wide policy to *policy*." -msgstr "" +msgstr "Establece la política actual en todo el proceso a *policy*." #: ../Doc/library/asyncio-policy.rst:40 msgid "If *policy* is set to ``None``, the default policy is restored." msgstr "" +"Si *policy* está configurado a ``None``, la política por defecto se " +"reestablece." #: ../Doc/library/asyncio-policy.rst:44 msgid "Policy Objects" -msgstr "" +msgstr "Objetos de Política" #: ../Doc/library/asyncio-policy.rst:46 msgid "The abstract event loop policy base class is defined as follows:" msgstr "" +"La clase base de política de bucle de eventos abstractos se define de la " +"siguiente manera:" #: ../Doc/library/asyncio-policy.rst:50 msgid "An abstract base class for asyncio policies." -msgstr "" +msgstr "Una clase base abstracta para políticas asyncio." #: ../Doc/library/asyncio-policy.rst:54 msgid "Get the event loop for the current context." -msgstr "" +msgstr "Retorna el bucle de eventos para el contexto actual." #: ../Doc/library/asyncio-policy.rst:56 msgid "" "Return an event loop object implementing the :class:`AbstractEventLoop` " "interface." msgstr "" +"Retorna un objeto bucle de eventos implementando la interfaz :class:" +"`AbstractEventLoop`." #: ../Doc/library/asyncio-policy.rst:59 ../Doc/library/asyncio-policy.rst:71 msgid "This method should never return ``None``." -msgstr "" +msgstr "Este método nunca debería retornar ``None``." #: ../Doc/library/asyncio-policy.rst:65 msgid "Set the event loop for the current context to *loop*." -msgstr "" +msgstr "Establece el bucle de eventos para el contexto a *loop*." #: ../Doc/library/asyncio-policy.rst:69 msgid "Create and return a new event loop object." -msgstr "" +msgstr "Crea y retorna un nuevo objeto de bucle de eventos." #: ../Doc/library/asyncio-policy.rst:75 msgid "Get a child process watcher object." -msgstr "" +msgstr "Retorna un objeto observador de procesos secundarios." #: ../Doc/library/asyncio-policy.rst:77 msgid "" "Return a watcher object implementing the :class:`AbstractChildWatcher` " "interface." msgstr "" +"Retorna un objeto observador implementando la interfaz :class:" +"`AbstractChildWatcher`." #: ../Doc/library/asyncio-policy.rst:80 ../Doc/library/asyncio-policy.rst:86 msgid "This function is Unix specific." -msgstr "" +msgstr "Esta función es específica de Unix." #: ../Doc/library/asyncio-policy.rst:84 msgid "Set the current child process watcher to *watcher*." -msgstr "" +msgstr "Establece el observador de procesos secundarios actuales a *watcher*." #: ../Doc/library/asyncio-policy.rst:89 msgid "asyncio ships with the following built-in policies:" -msgstr "" +msgstr "asyncio se envía con las siguientes políticas integradas:" #: ../Doc/library/asyncio-policy.rst:94 msgid "" "The default asyncio policy. Uses :class:`SelectorEventLoop` on Unix and :" "class:`ProactorEventLoop` on Windows." msgstr "" +"La política por defecto asyncio. Usa :class:`SelectorEventLoop` en Unix y :" +"class:`ProactorEventLoop` en Windows." #: ../Doc/library/asyncio-policy.rst:97 msgid "" "There is no need to install the default policy manually. asyncio is " "configured to use the default policy automatically." msgstr "" +"No hay necesidad de instalar la política por defecto manualmente. asyncio " +"está configurado para usar la política por defecto automáticamente." #: ../Doc/library/asyncio-policy.rst:102 msgid "On Windows, :class:`ProactorEventLoop` is now used by default." -msgstr "" +msgstr "En Windows, :class:`ProactorEventLoop` ahora se usa por defecto." #: ../Doc/library/asyncio-policy.rst:107 msgid "" "An alternative event loop policy that uses the :class:`SelectorEventLoop` " "event loop implementation." msgstr "" +"Una política de bucle de eventos alternativa que usa la implementación de " +"bucle de eventos :class:`SelectorEventLoop`." #: ../Doc/library/asyncio-policy.rst:110 ../Doc/library/asyncio-policy.rst:118 msgid ":ref:`Availability `: Windows." -msgstr "" +msgstr ":ref:`Disponibilidad `: Windows." #: ../Doc/library/asyncio-policy.rst:115 msgid "" "An alternative event loop policy that uses the :class:`ProactorEventLoop` " "event loop implementation." msgstr "" +"Una política de bucle de eventos alternativa que usa la implementación de " +"bucle de eventos :class:`ProactorEventLoop`." #: ../Doc/library/asyncio-policy.rst:123 msgid "Process Watchers" -msgstr "" +msgstr "Observadores de procesos" #: ../Doc/library/asyncio-policy.rst:125 msgid "" @@ -170,12 +202,17 @@ msgid "" "processes on Unix. Specifically, the event loop needs to know when a child " "process has exited." msgstr "" +"Un observador de procesos permite personalizar cómo un bucle de eventos " +"monitorea procesos secundarios en Unix. Específicamente, un bucle de eventos " +"necesita saber cuándo un proceso secundario ha terminado." #: ../Doc/library/asyncio-policy.rst:129 msgid "" "In asyncio, child processes are created with :func:`create_subprocess_exec` " "and :meth:`loop.subprocess_exec` functions." msgstr "" +"En asyncio, los procesos secundarios son creados con las funciones :func:" +"`créate_subprocess_exec` y :meth:`loop.subprocess_exec`." #: ../Doc/library/asyncio-policy.rst:133 msgid "" @@ -185,22 +222,32 @@ msgid "" "`MultiLoopChildWatcher`, :class:`SafeChildWatcher`, and :class:" "`FastChildWatcher`." msgstr "" +"asyncio define la clase base abstracta :class:`AbstractChildWatcher`, qué " +"observadores de subprocesos deberían implementarse, y tiene cuatro " +"implementaciones diferentes: :class:`ThreadedChildWatcher` (configurado para " +"ser usado por defecto), :class:`MultiLoopChildWatcher`, :class:" +"`SaferChildWatcher`, y :class:`FastChildWatcher`." #: ../Doc/library/asyncio-policy.rst:139 msgid "" "See also the :ref:`Subprocess and Threads ` " "section." msgstr "" +"Mirar también la sección :ref:`Subprocesos e hilos `." #: ../Doc/library/asyncio-policy.rst:142 msgid "" "The following two functions can be used to customize the child process " "watcher implementation used by the asyncio event loop:" msgstr "" +"Las siguientes dos funciones pueden ser usadas para personalizar la " +"implementación de observadores de procesos secundarios usados por el bucle " +"de eventos de asyncio:" #: ../Doc/library/asyncio-policy.rst:147 msgid "Return the current child watcher for the current policy." -msgstr "" +msgstr "Retorna el observador de procesos secundarios para la política actual." #: ../Doc/library/asyncio-policy.rst:151 msgid "" @@ -208,6 +255,9 @@ msgid "" "*watcher* must implement methods defined in the :class:" "`AbstractChildWatcher` base class." msgstr "" +"Establece el observador de procesos secundarios actuales a *watcher* para la " +"política actual. *watcher* debe implementar métodos definidos en la clase " +"base :class:`AbstractChildWatcher`." #: ../Doc/library/asyncio-policy.rst:156 msgid "" @@ -215,10 +265,14 @@ msgid "" "watchers. For such event loops, using :func:`set_child_watcher` might be " "prohibited or have no effect." msgstr "" +"Implementaciones de bucles de eventos de terceras partes no deben dar " +"soporte a observadores de procesos secundarios personalizados. Para dichos " +"bucles de eventos, usando :func:`set_child_watcher` podría estar prohibido o " +"no tener efecto." #: ../Doc/library/asyncio-policy.rst:164 msgid "Register a new child handler." -msgstr "" +msgstr "Registra un nuevo gestor de proceso secundario." #: ../Doc/library/asyncio-policy.rst:166 msgid "" @@ -226,65 +280,80 @@ msgid "" "with PID equal to *pid* terminates. Specifying another callback for the " "same process replaces the previous handler." msgstr "" +"Arreglo para ``callback(pid, returncode, *args)`` a ser invocado cuando un " +"proceso con PID igual a *pid* termina. Especificando otro retrollamada para " +"el mismo proceso reemplaza el gestor previo." #: ../Doc/library/asyncio-policy.rst:171 msgid "The *callback* callable must be thread-safe." -msgstr "" +msgstr "El *callback* invocable debe ser seguro para hilos." #: ../Doc/library/asyncio-policy.rst:175 msgid "Removes the handler for process with PID equal to *pid*." -msgstr "" +msgstr "Remueve el gestor para el proceso con PID igual a *pid*." #: ../Doc/library/asyncio-policy.rst:177 msgid "" "The function returns ``True`` if the handler was successfully removed, " "``False`` if there was nothing to remove." msgstr "" +"La función retorna ``True`` si el gestor fue removido de forma exitosa, " +"``False`` si no hubo nada que remover." #: ../Doc/library/asyncio-policy.rst:182 msgid "Attach the watcher to an event loop." -msgstr "" +msgstr "Adjunta el observador a un bucle de eventos." #: ../Doc/library/asyncio-policy.rst:184 msgid "" "If the watcher was previously attached to an event loop, then it is first " "detached before attaching to the new loop." msgstr "" +"Si el observador estaba previamente adjuntado a un bucle de eventos, " +"entonces primero es separado antes de adjuntar el nuevo bucle." #: ../Doc/library/asyncio-policy.rst:187 msgid "Note: loop may be ``None``." -msgstr "" +msgstr "Nota: el bucle puede ser ``None``." #: ../Doc/library/asyncio-policy.rst:191 msgid "Return ``True`` if the watcher is ready to use." -msgstr "" +msgstr "Retorna ``True`` si el observador está listo para usarse." #: ../Doc/library/asyncio-policy.rst:193 msgid "" "Spawning a subprocess with *inactive* current child watcher raises :exc:" "`RuntimeError`." msgstr "" +"Generar un nuevo subproceso con observador de procesos secundarios actual " +"*inactive* lanza :exc:`RuntimeError`." #: ../Doc/library/asyncio-policy.rst:200 msgid "Close the watcher." -msgstr "" +msgstr "Cierra el observador." #: ../Doc/library/asyncio-policy.rst:202 msgid "" "This method has to be called to ensure that underlying resources are cleaned-" "up." msgstr "" +"Este método tiene que ser invocado para asegurar que los objetos subyacentes " +"están limpiados." #: ../Doc/library/asyncio-policy.rst:207 msgid "" "This implementation starts a new waiting thread for every subprocess spawn." msgstr "" +"Esta implementación inicia un nuevo hilo esperando para cada subproceso " +"generado." #: ../Doc/library/asyncio-policy.rst:209 msgid "" "It works reliably even when the asyncio event loop is run in a non-main OS " "thread." msgstr "" +"Trabaja de manera confiable incluso cuando el bucle de eventos asyncio se " +"ejecuta en un hilo de SO no principal." #: ../Doc/library/asyncio-policy.rst:211 msgid "" @@ -292,10 +361,13 @@ msgid "" "(*O(1)* each time a child terminates), but stating a thread per process " "requires extra memory." msgstr "" +"No hay sobrecarga notable cuando se gestiona un número grande de procesos " +"secundarios (*O(1)* cada vez que un proceso secundario termina), pero " +"indicar un hilo por proceso requiere memoria extra." #: ../Doc/library/asyncio-policy.rst:214 msgid "This watcher is used by default." -msgstr "" +msgstr "Este observador es usado por defecto." #: ../Doc/library/asyncio-policy.rst:220 msgid "" @@ -303,24 +375,34 @@ msgid "" "instantiation. That can break third-party code that installs a custom " "handler for `SIGCHLD`. signal)." msgstr "" +"Esta implementación registra un gestor de señal en instanciación :py:data:" +"`SIGCHLD`. Eso puede romper código de terceras partes que instalen un gestor " +"personalizado para la señal `SIGCHLD`." #: ../Doc/library/asyncio-policy.rst:224 ../Doc/library/asyncio-policy.rst:242 msgid "" "The watcher avoids disrupting other code spawning processes by polling every " "process explicitly on a :py:data:`SIGCHLD` signal." msgstr "" +"El observador evita interrumpir otro código generando procesos sondeando " +"cada proceso explícitamente en una señal :py:data:`SIGCHLD`." #: ../Doc/library/asyncio-policy.rst:227 msgid "" "There is no limitation for running subprocesses from different threads once " "the watcher is installed." msgstr "" +"No hay limitación para ejecutar subprocesos de diferentes hilos una vez el " +"observador es instalado." #: ../Doc/library/asyncio-policy.rst:230 msgid "" "The solution is safe but it has a significant overhead when handling a big " "number of processes (*O(n)* each time a :py:data:`SIGCHLD` is received)." msgstr "" +"La solución es segura pero tiene una sobrecarga significativa cuando se " +"gestiona un número grande de procesos (*O(n)* cada vez que un :py:data:" +"`SIGCHLD` es recibido)." #: ../Doc/library/asyncio-policy.rst:238 msgid "" @@ -328,6 +410,10 @@ msgid "" "py:data:`SIGCHLD` signal. If the main thread has no running event loop " "another thread cannot spawn a subprocess (:exc:`RuntimeError` is raised)." msgstr "" +"Esta implementación usa bucles de eventos activos del hilo principal para " +"gestionar la señal :py:data:`SIGCHLD`. Si el hilo principal no tiene bucles " +"de eventos en ejecución otro hilo no puede generar un subproceso (:exc:" +"`RuntimeError` es disparada)." #: ../Doc/library/asyncio-policy.rst:245 msgid "" @@ -335,6 +421,9 @@ msgid "" "*O(N)* complexity but requires a running event loop in the main thread to " "work." msgstr "" +"Esta solución es tan segura como :class:`MultiLoopChildWatcher` y tiene la " +"misma complejidad *O(n)* pero requiere de un bucle de eventos ejecutándose " +"en el hilo principal para trabajar." #: ../Doc/library/asyncio-policy.rst:250 msgid "" @@ -342,22 +431,29 @@ msgid "" "waitpid(-1)`` directly, possibly breaking other code spawning processes and " "waiting for their termination." msgstr "" +"Esta implementación cosecha cada proceso terminado llamando ``os." +"waitpad(-1)`` directamente, posiblemente rompiendo otro código generando " +"procesos y esperando por su terminación." #: ../Doc/library/asyncio-policy.rst:254 msgid "" "There is no noticeable overhead when handling a big number of children " "(*O(1)* each time a child terminates)." msgstr "" +"No hay sobrecarga notable cuando se gestiona un número grande de procesos " +"secundarios (*O(1)* cada vez que un proceso secundario termina)." #: ../Doc/library/asyncio-policy.rst:257 msgid "" "This solution requires a running event loop in the main thread to work, as :" "class:`SafeChildWatcher`." msgstr "" +"Esta solución requiere un bucle de eventos ejecutándose en el hilo principal " +"para trabajar, como :class:`SafeChildWatcher`." #: ../Doc/library/asyncio-policy.rst:262 msgid "Custom Policies" -msgstr "" +msgstr "Personalizar Políticas" #: ../Doc/library/asyncio-policy.rst:264 msgid "" @@ -365,3 +461,6 @@ msgid "" "`DefaultEventLoopPolicy` and override the methods for which custom behavior " "is wanted, e.g.::" msgstr "" +"Para implementar una nueva política de bucle de eventos, se recomienda " +"heredar :class:`DefaultEventLoopPolicy` y sobreescribir los métodos para los " +"cuales se desea una conducta personalizada, por ejemplo::"