From bb0211b8054a1fd4c7112d4e18073007f9aa1809 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Sat, 14 Jan 2023 18:13:14 +0100 Subject: [PATCH 01/14] Traducido library/asyncio-task Closes #1874 --- library/asyncio-task.po | 236 ++++++++++++++++++++++++++++++---------- 1 file changed, 177 insertions(+), 59 deletions(-) diff --git a/library/asyncio-task.po b/library/asyncio-task.po index 8488288536..17d19b3af4 100644 --- a/library/asyncio-task.po +++ b/library/asyncio-task.po @@ -13,12 +13,12 @@ msgstr "" "POT-Creation-Date: 2022-10-25 19:47+0200\n" "PO-Revision-Date: 2021-08-04 13:41+0200\n" "Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.10.3\n" #: ../Doc/library/asyncio-task.rst:6 @@ -38,7 +38,6 @@ msgid "Coroutines" msgstr "Corrutinas" #: ../Doc/library/asyncio-task.rst:21 -#, fuzzy msgid "" ":term:`Coroutines ` declared with the async/await syntax is the " "preferred way of writing asyncio applications. For example, the following " @@ -46,8 +45,8 @@ msgid "" msgstr "" ":term:`Coroutines ` declarado con la sintaxis async/await es la " "forma preferida de escribir aplicaciones asyncio. Por ejemplo, el siguiente " -"fragmento de código (requiere Python 3.7+) imprime \"hola\", espera 1 " -"segundo y, a continuación, imprime \"mundo\"::" +"fragmento de código imprime \"hola\", espera 1 segundo y luego imprime " +"\"mundo\"::" #: ../Doc/library/asyncio-task.rst:37 msgid "" @@ -57,11 +56,10 @@ msgstr "" "que se ejecute::" #: ../Doc/library/asyncio-task.rst:43 -#, fuzzy msgid "To actually run a coroutine, asyncio provides the following mechanisms:" msgstr "" -"Para ejecutar realmente una corrutina, asyncio proporciona tres mecanismos " -"principales:" +"Para ejecutar realmente una rutina, asyncio proporciona los siguientes " +"mecanismos:" #: ../Doc/library/asyncio-task.rst:45 msgid "" @@ -114,14 +112,17 @@ msgid "" "The :class:`asyncio.TaskGroup` class provides a more modern alternative to :" "func:`create_task`. Using this API, the last example becomes::" msgstr "" +"La clase :class:`asyncio.TaskGroup` proporciona una alternativa más moderna " +"a :func:`create_task`. Usando esta API, el último ejemplo se convierte en:" #: ../Doc/library/asyncio-task.rst:124 msgid "The timing and output should be the same as for the previous version." msgstr "" +"El tiempo y la salida deben ser los mismos que para la versión anterior." #: ../Doc/library/asyncio-task.rst:126 msgid ":class:`asyncio.TaskGroup`." -msgstr "" +msgstr ":class:`asyncio.TaskGroup`." #: ../Doc/library/asyncio-task.rst:133 msgid "Awaitables" @@ -267,6 +268,9 @@ msgid "" "class:`contextvars.Context` for the *coro* to run in. The current context " "copy is created when no *context* is provided." msgstr "" +"Un argumento *context* opcional de solo palabra clave permite especificar " +"un :class:`contextvars.Context` personalizado para que se ejecute el *coro*. " +"La copia de contexto actual se crea cuando no se proporciona *context*." #: ../Doc/library/asyncio-task.rst:245 msgid "" @@ -282,6 +286,8 @@ msgid "" ":meth:`asyncio.TaskGroup.create_task` is a newer alternative that allows for " "convenient waiting for a group of related tasks." msgstr "" +":meth:`asyncio.TaskGroup.create_task` es una alternativa más nueva que " +"permite una espera conveniente para un grupo de tareas relacionadas." #: ../Doc/library/asyncio-task.rst:256 msgid "" @@ -291,26 +297,34 @@ msgid "" "any time, even before it's done. For reliable \"fire-and-forget\" background " "tasks, gather them in a collection::" msgstr "" +"Guarde una referencia al resultado de esta función, para evitar que una " +"tarea desaparezca en medio de la ejecución. El bucle de eventos solo " +"mantiene referencias débiles a las tareas. Una tarea a la que no se hace " +"referencia en ningún otro lugar puede recibir recolección de elementos no " +"utilizados en cualquier momento, incluso antes de que se complete. Para " +"tareas en segundo plano confiables de \"disparar y olvidar\", reúnalas en " +"una colección:" #: ../Doc/library/asyncio-task.rst:278 ../Doc/library/asyncio-task.rst:1001 -#, fuzzy msgid "Added the *name* parameter." -msgstr "Se ha añadido el parámetro ``name``." +msgstr "Se ha añadido el parámetro *name*." #: ../Doc/library/asyncio-task.rst:281 -#, fuzzy msgid "Added the *context* parameter." -msgstr "Se ha añadido el parámetro ``name``." +msgstr "Se ha añadido el parámetro *context*." #: ../Doc/library/asyncio-task.rst:286 msgid "Task Cancellation" -msgstr "" +msgstr "Cancelación de tareas" #: ../Doc/library/asyncio-task.rst:288 msgid "" "Tasks can easily and safely be cancelled. When a task is cancelled, :exc:" "`asyncio.CancelledError` will be raised in the task at the next opportunity." msgstr "" +"Las tareas se pueden cancelar de forma fácil y segura. Cuando se cancela una " +"tarea, se generará :exc:`asyncio.CancelledError` en la tarea en la próxima " +"oportunidad." #: ../Doc/library/asyncio-task.rst:292 msgid "" @@ -319,6 +333,11 @@ msgid "" "caught, it should generally be propagated when clean-up is complete. Most " "code can safely ignore :exc:`asyncio.CancelledError`." msgstr "" +"Se recomienda que las rutinas utilicen bloques ``try/finally`` para realizar " +"una lógica de limpieza sólida. En caso de que :exc:`asyncio.CancelledError` " +"se detecte explícitamente, por lo general debería propagarse cuando se " +"complete la limpieza. La mayoría de los códigos pueden ignorar con " +"seguridad :exc:`asyncio.CancelledError`." #: ../Doc/library/asyncio-task.rst:297 msgid "" @@ -328,16 +347,24 @@ msgid "" "`asyncio.CancelledError`. Similarly, user code should not call :meth:" "`uncancel `." msgstr "" +"Los componentes asyncio que permiten la simultaneidad estructurada, como :" +"class:`asyncio.TaskGroup` y :func:`asyncio.timeout`, se implementan mediante " +"la cancelación interna y pueden comportarse mal si una corrutina se traga :" +"exc:`asyncio.CancelledError`. De manera similar, el código de usuario no " +"debe llamar a :meth:`uncancel `." #: ../Doc/library/asyncio-task.rst:306 msgid "Task Groups" -msgstr "" +msgstr "Grupos de tareas" #: ../Doc/library/asyncio-task.rst:308 msgid "" "Task groups combine a task creation API with a convenient and reliable way " "to wait for all tasks in the group to finish." msgstr "" +"Los grupos de tareas combinan una API de creación de tareas con una forma " +"conveniente y confiable de esperar a que finalicen todas las tareas del " +"grupo." #: ../Doc/library/asyncio-task.rst:313 msgid "" @@ -345,12 +372,18 @@ msgid "" "group of tasks. Tasks can be added to the group using :meth:`create_task`. " "All tasks are awaited when the context manager exits." msgstr "" +"Un :ref:`asynchronous context manager ` que contiene " +"un grupo de tareas. Las tareas se pueden agregar al grupo usando :meth:" +"`create_task`. Se esperan todas las tareas cuando sale el administrador de " +"contexto." #: ../Doc/library/asyncio-task.rst:322 msgid "" "Create a task in this task group. The signature matches that of :func:" "`asyncio.create_task`." msgstr "" +"Cree una tarea en este grupo de tareas. La firma coincide con la de :func:" +"`asyncio.create_task`." #: ../Doc/library/asyncio-task.rst:325 ../Doc/library/asyncio-task.rst:455 #: ../Doc/library/asyncio-task.rst:583 ../Doc/library/asyncio-task.rst:647 @@ -367,6 +400,11 @@ msgid "" "in that coroutine). Once the last task has finished and the ``async with`` " "block is exited, no new tasks may be added to the group." msgstr "" +"La instrucción ``async with`` esperará a que finalicen todas las tareas del " +"grupo. Mientras espera, aún se pueden agregar nuevas tareas al grupo (por " +"ejemplo, pasando ``tg`` a una de las corrutinas y llamando a ``tg." +"create_task()`` en esa corrutina). Una vez finalizada la última tarea y " +"salido del bloque ``async with``, no se podrán añadir nuevas tareas al grupo." #: ../Doc/library/asyncio-task.rst:340 msgid "" @@ -379,6 +417,14 @@ msgid "" "exc:`asyncio.CancelledError` will interrupt an ``await``, but it will not " "bubble out of the containing ``async with`` statement." msgstr "" +"La primera vez que alguna de las tareas pertenecientes al grupo falla con " +"una excepción que no sea :exc:`asyncio.CancelledError`, las tareas restantes " +"del grupo se cancelan. No se pueden añadir más tareas al grupo. En este " +"punto, si el cuerpo de la instrucción ``async with`` aún está activo (es " +"decir, aún no se ha llamado a :meth:`~object.__aexit__`), la tarea que " +"contiene directamente la instrucción ``async with`` también se cancela. El :" +"exc:`asyncio.CancelledError` resultante interrumpirá un ``await``, pero no " +"saldrá de la instrucción ``async with`` que lo contiene." #: ../Doc/library/asyncio-task.rst:350 msgid "" @@ -387,6 +433,10 @@ msgid "" "an :exc:`ExceptionGroup` or :exc:`BaseExceptionGroup` (as appropriate; see " "their documentation) which is then raised." msgstr "" +"Una vez que todas las tareas han finalizado, si alguna tarea ha fallado con " +"una excepción que no sea :exc:`asyncio.CancelledError`, esas excepciones se " +"combinan en un :exc:`ExceptionGroup` o :exc:`BaseExceptionGroup` (según " +"corresponda; consulte su documentación) que luego se genera." #: ../Doc/library/asyncio-task.rst:357 msgid "" @@ -396,6 +446,11 @@ msgid "" "`KeyboardInterrupt` or :exc:`SystemExit` is re-raised instead of :exc:" "`ExceptionGroup` or :exc:`BaseExceptionGroup`." msgstr "" +"Dos excepciones básicas se tratan de manera especial: si alguna tarea falla " +"con :exc:`KeyboardInterrupt` o :exc:`SystemExit`, el grupo de tareas aún " +"cancela las tareas restantes y las espera, pero luego se vuelve a generar " +"el :exc:`KeyboardInterrupt` o :exc:`SystemExit` inicial en lugar de :exc:" +"`ExceptionGroup` o :exc:`BaseExceptionGroup`." #: ../Doc/library/asyncio-task.rst:363 msgid "" @@ -408,6 +463,15 @@ msgid "" "the exception group. The same special case is made for :exc:" "`KeyboardInterrupt` and :exc:`SystemExit` as in the previous paragraph." msgstr "" +"Si el cuerpo de la instrucción ``async with`` finaliza con una excepción " +"(por lo que se llama a :meth:`~object.__aexit__` con un conjunto de " +"excepciones), esto se trata igual que si una de las tareas fallara: las " +"tareas restantes se cancelan y luego se esperan, y las excepciones de no " +"cancelación se agrupan en un grupo de excepción y se generan. La excepción " +"pasada a :meth:`~object.__aexit__`, a menos que sea :exc:`asyncio." +"CancelledError`, también se incluye en el grupo de excepciones. Se hace el " +"mismo caso especial para :exc:`KeyboardInterrupt` y :exc:`SystemExit` que en " +"el párrafo anterior." #: ../Doc/library/asyncio-task.rst:377 msgid "Sleeping" @@ -454,9 +518,8 @@ msgstr "" #: ../Doc/library/asyncio-task.rst:558 ../Doc/library/asyncio-task.rst:711 #: ../Doc/library/asyncio-task.rst:741 ../Doc/library/asyncio-task.rst:793 #: ../Doc/library/asyncio-task.rst:809 ../Doc/library/asyncio-task.rst:818 -#, fuzzy msgid "Removed the *loop* parameter." -msgstr "El parámetro *loop*." +msgstr "Se quitó el parámetro *loop*." #: ../Doc/library/asyncio-task.rst:418 msgid "Running Tasks Concurrently" @@ -533,6 +596,8 @@ msgid "" "A more modern way to create and run tasks concurrently and wait for their " "completion is :class:`asyncio.TaskGroup`." msgstr "" +"Una forma más moderna de crear y ejecutar tareas simultáneamente y esperar a " +"que se completen es :class:`asyncio.TaskGroup`." #: ../Doc/library/asyncio-task.rst:493 msgid "" @@ -630,6 +695,11 @@ msgid "" "tasks. A task that isn't referenced elsewhere may get garbage collected at " "any time, even before it's done." msgstr "" +"Guarde una referencia a las tareas pasadas a esta función, para evitar que " +"una tarea desaparezca a mitad de la ejecución. El bucle de eventos solo " +"mantiene referencias débiles a las tareas. Una tarea a la que no se hace " +"referencia en ningún otro lugar puede recibir recolección de elementos no " +"utilizados en cualquier momento, incluso antes de que se complete." #: ../Doc/library/asyncio-task.rst:561 msgid "" @@ -648,6 +718,8 @@ msgid "" "An :ref:`asynchronous context manager ` that can be " "used to limit the amount of time spent waiting on something." msgstr "" +"Un :ref:`asynchronous context manager ` que se puede " +"usar para limitar la cantidad de tiempo que se pasa esperando algo." #: ../Doc/library/asyncio-task.rst:575 msgid "" @@ -655,12 +727,18 @@ msgid "" "*delay* is ``None``, no time limit will be applied; this can be useful if " "the delay is unknown when the context manager is created." msgstr "" +"*delay* puede ser ``None`` o un número flotante/int de segundos de espera. " +"Si *delay* es ``None``, no se aplicará ningún límite de tiempo; esto puede " +"ser útil si se desconoce el retraso cuando se crea el administrador de " +"contexto." #: ../Doc/library/asyncio-task.rst:580 msgid "" "In either case, the context manager can be rescheduled after creation using :" "meth:`Timeout.reschedule`." msgstr "" +"En cualquier caso, el administrador de contexto se puede reprogramar después " +"de la creación mediante :meth:`Timeout.reschedule`." #: ../Doc/library/asyncio-task.rst:589 msgid "" @@ -669,6 +747,10 @@ msgid "" "CancelledError` internally, transforming it into an :exc:`asyncio." "TimeoutError` which can be caught and handled." msgstr "" +"Si ``long_running_task`` tarda más de 10 segundos en completarse, el " +"administrador de contexto cancelará la tarea actual y manejará internamente " +"el :exc:`asyncio.CancelledError` resultante, transformándolo en un :exc:" +"`asyncio.TimeoutError` que se puede capturar y manejar." #: ../Doc/library/asyncio-task.rst:596 msgid "" @@ -677,67 +759,89 @@ msgid "" "the :exc:`asyncio.TimeoutError` can only be caught *outside* of the context " "manager." msgstr "" +"El administrador de contexto :func:`asyncio.timeout` es lo que transforma " +"el :exc:`asyncio.CancelledError` en un :exc:`asyncio.TimeoutError`, lo que " +"significa que el :exc:`asyncio.TimeoutError` solo puede capturarse *outside* " +"del administrador de contexto." #: ../Doc/library/asyncio-task.rst:601 msgid "Example of catching :exc:`asyncio.TimeoutError`::" -msgstr "" +msgstr "Ejemplo de captura de :exc:`asyncio.TimeoutError`::" #: ../Doc/library/asyncio-task.rst:612 msgid "" "The context manager produced by :func:`asyncio.timeout` can be rescheduled " "to a different deadline and inspected." msgstr "" +"El administrador de contexto producido por :func:`asyncio.timeout` puede " +"reprogramarse para una fecha límite diferente e inspeccionarse." #: ../Doc/library/asyncio-task.rst:617 msgid "" "An :ref:`asynchronous context manager ` that limits " "time spent inside of it." msgstr "" +"Un :ref:`asynchronous context manager ` que limita " +"el tiempo que se pasa dentro de él." #: ../Doc/library/asyncio-task.rst:624 msgid "" "Return the current deadline, or ``None`` if the current deadline is not set." msgstr "" +"Devuelve la fecha límite actual o ``None`` si la fecha límite actual no está " +"establecida." #: ../Doc/library/asyncio-task.rst:627 msgid "" "The deadline is a float, consistent with the time returned by :meth:`loop." "time`." msgstr "" +"La fecha límite es flotante, consistente con la hora devuelta por :meth:" +"`loop.time`." #: ../Doc/library/asyncio-task.rst:632 msgid "Change the time the timeout will trigger." -msgstr "" +msgstr "Cambie el tiempo que se activará el tiempo de espera." #: ../Doc/library/asyncio-task.rst:634 msgid "" "If *when* is ``None``, any current deadline will be removed, and the context " "manager will wait indefinitely." msgstr "" +"Si *when* es ``None``, se eliminará cualquier fecha límite actual y el " +"administrador de contexto esperará indefinidamente." #: ../Doc/library/asyncio-task.rst:637 msgid "If *when* is a float, it is set as the new deadline." -msgstr "" +msgstr "Si *when* es flotante, se establece como la nueva fecha límite." #: ../Doc/library/asyncio-task.rst:639 msgid "" "if *when* is in the past, the timeout will trigger on the next iteration of " "the event loop." msgstr "" +"si *when* está en el pasado, el tiempo de espera se activará en la próxima " +"iteración del bucle de eventos." #: ../Doc/library/asyncio-task.rst:644 msgid "Return whether the context manager has exceeded its deadline (expired)." msgstr "" +"Devuelve si el administrador de contexto ha excedido su fecha límite " +"(caducada)." #: ../Doc/library/asyncio-task.rst:664 msgid "Timeout context managers can be safely nested." msgstr "" +"Los administradores de contexto de tiempo de espera se pueden anidar de " +"forma segura." #: ../Doc/library/asyncio-task.rst:670 msgid "" "Similar to :func:`asyncio.timeout`, except *when* is the absolute time to " "stop waiting, or ``None``." msgstr "" +"Similar a :func:`asyncio.timeout`, excepto que *when* es el tiempo absoluto " +"para dejar de esperar, o ``None``." #: ../Doc/library/asyncio-task.rst:690 msgid "" @@ -756,12 +860,11 @@ msgstr "" "a esperar. Si *timeout* es ``None``, se bloquea hasta que Future se completa." #: ../Doc/library/asyncio-task.rst:699 -#, fuzzy msgid "" "If a timeout occurs, it cancels the task and raises :exc:`TimeoutError`." msgstr "" -"Si se produce un agotamiento de tiempo, cancela la tarea y genera :exc:" -"`asyncio.TimeoutError`." +"Si se agota el tiempo de espera, cancela la tarea y genera :exc:" +"`TimeoutError`." #: ../Doc/library/asyncio-task.rst:702 msgid "" @@ -786,28 +889,27 @@ msgid "If the wait is cancelled, the future *aw* is also cancelled." msgstr "Si se cancela la espera, el Future *aw* también se cancela." #: ../Doc/library/asyncio-task.rst:736 -#, fuzzy msgid "" "When *aw* is cancelled due to a timeout, ``wait_for`` waits for *aw* to be " "cancelled. Previously, it raised :exc:`TimeoutError` immediately." msgstr "" -"Cuando *aw* se cancela debido a un agotamiento de tiempo, ``wait_for`` " -"espera a que se cancele *aw*. Anteriormente, se lanzó inmediatamente :exc:" -"`asyncio.TimeoutError`." +"Cuando se cancela *aw* debido a un tiempo de espera, ``wait_for`` espera a " +"que se cancele *aw*. Anteriormente, generaba :exc:`TimeoutError` " +"inmediatamente." #: ../Doc/library/asyncio-task.rst:746 msgid "Waiting Primitives" msgstr "Esperando primitivas" #: ../Doc/library/asyncio-task.rst:750 -#, fuzzy msgid "" "Run :class:`~asyncio.Future` and :class:`~asyncio.Task` instances in the " "*aws* iterable concurrently and block until the condition specified by " "*return_when*." msgstr "" -"Ejecuta :ref:`objetos en espera ` en el *aws* iterable " -"simultáneamente y bloquee hasta la condición especificada por *return_when*." +"Ejecute instancias :class:`~asyncio.Future` y :class:`~asyncio.Task` en el " +"iterable *aws* simultáneamente y bloquee hasta la condición especificada por " +"*return_when*." #: ../Doc/library/asyncio-task.rst:754 msgid "The *aws* iterable must not be empty." @@ -831,15 +933,14 @@ msgstr "" "retornar." #: ../Doc/library/asyncio-task.rst:765 -#, fuzzy msgid "" "Note that this function does not raise :exc:`TimeoutError`. Futures or Tasks " "that aren't done when the timeout occurs are simply returned in the second " "set." msgstr "" -"Tenga en cuenta que esta función no lanza :exc:`asyncio.TimeoutError`. Los " -"Futures o Tareas que no terminan cuando se agota el tiempo simplemente se " -"retornan en el segundo conjunto." +"Tenga en cuenta que esta función no genera :exc:`TimeoutError`. Los futuros " +"o las tareas que no se realizan cuando se agota el tiempo de espera " +"simplemente se devuelven en el segundo conjunto." #: ../Doc/library/asyncio-task.rst:769 msgid "" @@ -896,9 +997,8 @@ msgstr "" "cuando se produce un agotamiento de tiempo." #: ../Doc/library/asyncio-task.rst:796 -#, fuzzy msgid "Passing coroutine objects to ``wait()`` directly is forbidden." -msgstr "El paso de objetos corrutina a ``wait()`` directamente está en desuso." +msgstr "Está prohibido pasar objetos de rutina a ``wait()`` directamente." #: ../Doc/library/asyncio-task.rst:801 msgid "" @@ -913,12 +1013,11 @@ msgstr "" "iterable de los esperables restantes." #: ../Doc/library/asyncio-task.rst:806 -#, fuzzy msgid "" "Raises :exc:`TimeoutError` if the timeout occurs before all Futures are done." msgstr "" -"Lanza :exc:`asyncio.TimeoutError` si el agotamiento de tiempo ocurre antes " -"que todos los Futures terminen." +"Aumenta :exc:`TimeoutError` si el tiempo de espera se agota antes de que " +"finalicen todos los futuros." #: ../Doc/library/asyncio-task.rst:821 msgid "" @@ -957,42 +1056,40 @@ msgstr "" "de *func*." #: ../Doc/library/asyncio-task.rst:840 -#, fuzzy msgid "" "This coroutine function is primarily intended to be used for executing IO-" "bound functions/methods that would otherwise block the event loop if they " "were run in the main thread. For example::" msgstr "" -"Esta función de corrutina está destinada principalmente a ser utilizada para " -"ejecutar funciones/métodos vinculados a IO que de otro modo bloquearían el " -"bucle de eventos si se ejecutaran en el hilo principal. Por ejemplo::" +"Esta función de rutina está diseñada principalmente para ejecutar funciones/" +"métodos vinculados a IO que, de otro modo, bloquearían el bucle de eventos " +"si se ejecutaran en el subproceso principal. Por ejemplo::" #: ../Doc/library/asyncio-task.rst:870 -#, fuzzy msgid "" "Directly calling ``blocking_io()`` in any coroutine would block the event " "loop for its duration, resulting in an additional 1 second of run time. " "Instead, by using ``asyncio.to_thread()``, we can run it in a separate " "thread without blocking the event loop." msgstr "" -"Llamando directamente a `blocking_io()` en cualquier corrutina bloquearía el " -"bucle de eventos por su duración, lo que daría como resultado 1 segundo " -"adicional de tiempo de ejecución. En cambio, usando `asyncio.to_thread()`, " -"podemos ejecutarlo en un hilo separado sin bloquear el bucle de eventos." +"Llamar directamente a ``blocking_io()`` en cualquier rutina bloquearía el " +"bucle de eventos durante su duración, lo que daría como resultado 1 segundo " +"adicional de tiempo de ejecución. En cambio, al usar ``asyncio." +"to_thread()``, podemos ejecutarlo en un subproceso separado sin bloquear el " +"ciclo de eventos." #: ../Doc/library/asyncio-task.rst:877 -#, fuzzy msgid "" "Due to the :term:`GIL`, ``asyncio.to_thread()`` can typically only be used " "to make IO-bound functions non-blocking. However, for extension modules that " "release the GIL or alternative Python implementations that don't have one, " "``asyncio.to_thread()`` can also be used for CPU-bound functions." msgstr "" -"Debido al :term:`GIL`, `asyncio.to_thread()` normalmente solo se puede usar " -"para hacer que las funciones vinculadas a IO no bloqueen. Sin embargo, para " -"los módulos de extensión que lanzan GIL o implementaciones alternativas de " -"Python que no tienen una, `asyncio.to_thread()` también se puede usar para " -"funciones vinculadas a la CPU." +"Debido a :term:`GIL`, ``asyncio.to_thread()`` generalmente solo se puede " +"usar para hacer que las funciones vinculadas a IO no bloqueen. Sin embargo, " +"para los módulos de extensión que lanzan GIL o implementaciones alternativas " +"de Python que no tienen uno, ``asyncio.to_thread()`` también se puede usar " +"para funciones vinculadas a la CPU." #: ../Doc/library/asyncio-task.rst:886 msgid "Scheduling From Other Threads" @@ -1392,13 +1489,12 @@ msgstr "" "desalienta activamente." #: ../Doc/library/asyncio-task.rst:1137 -#, fuzzy msgid "Added the *msg* parameter." -msgstr "Se agregó el parámetro ``msg``." +msgstr "Se agregó el parámetro *msg*." #: ../Doc/library/asyncio-task.rst:1140 msgid "The ``msg`` parameter is propagated from cancelled task to its awaiter." -msgstr "" +msgstr "El parámetro ``msg`` se propaga desde la tarea cancelada a su espera." #: ../Doc/library/asyncio-task.rst:1145 msgid "" @@ -1424,17 +1520,19 @@ msgstr "" #: ../Doc/library/asyncio-task.rst:1192 msgid "Decrement the count of cancellation requests to this Task." -msgstr "" +msgstr "Disminuya el recuento de solicitudes de cancelación a esta tarea." #: ../Doc/library/asyncio-task.rst:1194 msgid "Returns the remaining number of cancellation requests." -msgstr "" +msgstr "Devuelve el número restante de solicitudes de cancelación." #: ../Doc/library/asyncio-task.rst:1196 msgid "" "Note that once execution of a cancelled task completed, further calls to :" "meth:`uncancel` are ineffective." msgstr "" +"Tenga en cuenta que una vez que se completa la ejecución de una tarea " +"cancelada, las llamadas posteriores a :meth:`uncancel` no son efectivas." #: ../Doc/library/asyncio-task.rst:1201 msgid "" @@ -1444,6 +1542,11 @@ msgid "" "func:`asyncio.timeout` to continue running, isolating cancellation to the " "respective structured block. For example::" msgstr "" +"Este método lo usan los componentes internos de asyncio y no se espera que " +"lo use el código del usuario final. En particular, si una Tarea se cancela " +"con éxito, esto permite que elementos de concurrencia estructurada como :ref:" +"`taskgroups` y :func:`asyncio.timeout` continúen ejecutándose, aislando la " +"cancelación al bloque estructurado respectivo. Por ejemplo::" #: ../Doc/library/asyncio-task.rst:1219 msgid "" @@ -1453,12 +1556,20 @@ msgid "" "`uncancel`. :class:`TaskGroup` context managers use :func:`uncancel` in a " "similar fashion." msgstr "" +"Si bien el bloque con ``make_request()`` y ``make_another_request()`` podría " +"cancelarse debido al tiempo de espera, ``unrelated_code()`` debería " +"continuar ejecutándose incluso en caso de que se agote el tiempo de espera. " +"Esto se implementa con :meth:`uncancel`. Los administradores de contexto :" +"class:`TaskGroup` usan :func:`uncancel` de manera similar." #: ../Doc/library/asyncio-task.rst:1227 msgid "" "Return the number of pending cancellation requests to this Task, i.e., the " "number of calls to :meth:`cancel` less the number of :meth:`uncancel` calls." msgstr "" +"Devuelve el número de solicitudes de cancelación pendientes a esta Tarea, es " +"decir, el número de llamadas a :meth:`cancel` menos el número de llamadas a :" +"meth:`uncancel`." #: ../Doc/library/asyncio-task.rst:1231 msgid "" @@ -1468,12 +1579,19 @@ msgid "" "the task not being cancelled after all if the cancellation requests go down " "to zero." msgstr "" +"Tenga en cuenta que si este número es mayor que cero pero la tarea aún se " +"está ejecutando, :meth:`cancelled` aún devolverá ``False``. Esto se debe a " +"que este número se puede reducir llamando a :meth:`uncancel`, lo que puede " +"provocar que la tarea no se cancele después de todo si las solicitudes de " +"cancelación se reducen a cero." #: ../Doc/library/asyncio-task.rst:1237 msgid "" "This method is used by asyncio's internals and isn't expected to be used by " "end-user code. See :meth:`uncancel` for more details." msgstr "" +"Este método lo usan los componentes internos de asyncio y no se espera que " +"lo use el código del usuario final. Ver :meth:`uncancel` para más detalles." #~ msgid "" #~ "asyncio also supports legacy :ref:`generator-based " From ddce90c53cdf8bc0580fbc33a401d1bb395c0cee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Mon, 16 Jan 2023 13:01:05 +0100 Subject: [PATCH 02/14] agrega palabra --- dictionaries/library_asyncio-task.txt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/dictionaries/library_asyncio-task.txt b/dictionaries/library_asyncio-task.txt index 69df8e2489..f5e3352f31 100644 --- a/dictionaries/library_asyncio-task.txt +++ b/dictionaries/library_asyncio-task.txt @@ -1,3 +1,6 @@ -threadpool gather kwargs +reprogramar +reprogramarse +reúnalas +threadpool From e40680aed67c65a5f45742bb3e6f80b2144a0128 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Tue, 9 May 2023 21:04:55 +0200 Subject: [PATCH 03/14] powrap --- library/asyncio-task.po | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/library/asyncio-task.po b/library/asyncio-task.po index 8a9677bc95..1ffed70373 100644 --- a/library/asyncio-task.po +++ b/library/asyncio-task.po @@ -788,7 +788,7 @@ msgstr "" msgid "" "Return the current deadline, or ``None`` if the current deadline is not set." msgstr "" -"Devuelve la fecha límite actual o ``None`` si la fecha límite actual no está " +"Retorna la fecha límite actual o ``None`` si la fecha límite actual no está " "establecida." #: ../Doc/library/asyncio-task.rst:627 @@ -796,7 +796,7 @@ msgid "" "The deadline is a float, consistent with the time returned by :meth:`loop." "time`." msgstr "" -"La fecha límite es flotante, consistente con la hora devuelta por :meth:" +"La fecha límite es flotante, consistente con la hora retornada por :meth:" "`loop.time`." #: ../Doc/library/asyncio-task.rst:632 @@ -826,7 +826,7 @@ msgstr "" #: ../Doc/library/asyncio-task.rst:644 msgid "Return whether the context manager has exceeded its deadline (expired)." msgstr "" -"Devuelve si el administrador de contexto ha excedido su fecha límite " +"Retorna si el administrador de contexto ha excedido su fecha límite " "(caducada)." #: ../Doc/library/asyncio-task.rst:664 @@ -940,7 +940,7 @@ msgid "" msgstr "" "Tenga en cuenta que esta función no genera :exc:`TimeoutError`. Los futuros " "o las tareas que no se realizan cuando se agota el tiempo de espera " -"simplemente se devuelven en el segundo conjunto." +"simplemente se retornan en el segundo conjunto." #: ../Doc/library/asyncio-task.rst:769 msgid "" @@ -1008,8 +1008,8 @@ msgid "" "remaining awaitables." msgstr "" "Ejecuta :ref:`objetos en espera ` en el *aws* iterable " -"al mismo tiempo. Devuelve un iterador de corrutinas. Se puede esperar a cada " -"corrutina devuelta para obtener el siguiente resultado más temprano del " +"al mismo tiempo. Retorna un iterador de corrutinas. Se puede esperar a cada " +"corrutina retornada para obtener el siguiente resultado más temprano del " "iterable de los esperables restantes." #: ../Doc/library/asyncio-task.rst:806 @@ -1238,7 +1238,7 @@ msgid "" "`CancelledError` exception and was actually cancelled." msgstr "" ":meth:`cancelled` se puede utilizar para comprobar si la Tarea fue " -"cancelada. El método devuelve ``True`` si la corrutina contenida no suprimió " +"cancelada. El método retorna ``True`` si la corrutina contenida no suprimió " "la excepción :exc:`CancelledError` y se canceló realmente." #: ../Doc/library/asyncio-task.rst:990 @@ -1292,7 +1292,7 @@ msgid "" "If the Task is *done*, the result of the wrapped coroutine is returned (or " "if the coroutine raised an exception, that exception is re-raised.)" msgstr "" -"Si la tarea está *terminada*, se devuelve el resultado de la corrutina " +"Si la tarea está *terminada*, se retorna el resultado de la corrutina " "contenida (o si la corrutina lanzó una excepción, esa excepción se vuelve a " "relanzar.)" @@ -1395,9 +1395,9 @@ msgid "" msgstr "" "El argumento opcional *limit* establece el número máximo de marcos que se " "retornarán; de forma predeterminada se retornan todos los marcos " -"disponibles. El orden de la lista devuelta varía en función de si se retorna " -"una pila o un *traceback*: se devuelven los marcos más recientes de una " -"pila, pero se devuelven los marcos más antiguos de un *traceback*. (Esto " +"disponibles. El orden de la lista retornada varía en función de si se " +"retorna una pila o un *traceback*: se retornan los marcos más recientes de " +"una pila, pero se retornan los marcos más antiguos de un *traceback*. (Esto " "coincide con el comportamiento del módulo traceback.)ss" #: ../Doc/library/asyncio-task.rst:1084 @@ -1524,7 +1524,7 @@ msgstr "Disminuya el recuento de solicitudes de cancelación a esta tarea." #: ../Doc/library/asyncio-task.rst:1194 msgid "Returns the remaining number of cancellation requests." -msgstr "Devuelve el número restante de solicitudes de cancelación." +msgstr "Retorna el número restante de solicitudes de cancelación." #: ../Doc/library/asyncio-task.rst:1196 msgid "" @@ -1567,7 +1567,7 @@ msgid "" "Return the number of pending cancellation requests to this Task, i.e., the " "number of calls to :meth:`cancel` less the number of :meth:`uncancel` calls." msgstr "" -"Devuelve el número de solicitudes de cancelación pendientes a esta Tarea, es " +"Retorna el número de solicitudes de cancelación pendientes a esta Tarea, es " "decir, el número de llamadas a :meth:`cancel` menos el número de llamadas a :" "meth:`uncancel`." @@ -1580,7 +1580,7 @@ msgid "" "to zero." msgstr "" "Tenga en cuenta que si este número es mayor que cero pero la tarea aún se " -"está ejecutando, :meth:`cancelled` aún devolverá ``False``. Esto se debe a " +"está ejecutando, :meth:`cancelled` aún retornará ``False``. Esto se debe a " "que este número se puede reducir llamando a :meth:`uncancel`, lo que puede " "provocar que la tarea no se cancele después de todo si las solicitudes de " "cancelación se reducen a cero." From 062081a099af3d240b670158039e18c68d0d0581 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Mon, 15 May 2023 17:55:17 +0200 Subject: [PATCH 04/14] Apply suggestions from code review Co-authored-by: Carlos A. Crespo --- library/asyncio-task.po | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/library/asyncio-task.po b/library/asyncio-task.po index 1ffed70373..ef06f4b16a 100644 --- a/library/asyncio-task.po +++ b/library/asyncio-task.po @@ -300,9 +300,9 @@ msgstr "" "Guarde una referencia al resultado de esta función, para evitar que una " "tarea desaparezca en medio de la ejecución. El bucle de eventos solo " "mantiene referencias débiles a las tareas. Una tarea a la que no se hace " -"referencia en ningún otro lugar puede recibir recolección de elementos no " -"utilizados en cualquier momento, incluso antes de que se complete. Para " -"tareas en segundo plano confiables de \"disparar y olvidar\", reúnalas en " +"referencia en ningún otro lugar puede ser recolectada por el recolector de basura " +"en cualquier momento, incluso antes de que se complete. Para " +"tareas confiables en segundo plano, de \"disparar y olvidar\", reúnalas en " "una colección:" #: ../Doc/library/asyncio-task.rst:278 ../Doc/library/asyncio-task.rst:1001 @@ -349,7 +349,7 @@ msgid "" msgstr "" "Los componentes asyncio que permiten la simultaneidad estructurada, como :" "class:`asyncio.TaskGroup` y :func:`asyncio.timeout`, se implementan mediante " -"la cancelación interna y pueden comportarse mal si una corrutina se traga :" +"la cancelación interna y pueden comportarse mal si una corrutina absorbe :" "exc:`asyncio.CancelledError`. De manera similar, el código de usuario no " "debe llamar a :meth:`uncancel `." @@ -698,8 +698,8 @@ msgstr "" "Guarde una referencia a las tareas pasadas a esta función, para evitar que " "una tarea desaparezca a mitad de la ejecución. El bucle de eventos solo " "mantiene referencias débiles a las tareas. Una tarea a la que no se hace " -"referencia en ningún otro lugar puede recibir recolección de elementos no " -"utilizados en cualquier momento, incluso antes de que se complete." +"referencia en ningún otro lugar puede ser recolectada por el recolector de basura" +"en cualquier momento, incluso antes de que se complete." #: ../Doc/library/asyncio-task.rst:561 msgid "" @@ -813,7 +813,7 @@ msgstr "" #: ../Doc/library/asyncio-task.rst:637 msgid "If *when* is a float, it is set as the new deadline." -msgstr "Si *when* es flotante, se establece como la nueva fecha límite." +msgstr "Si *when* es número de punto flotante, se establece como la nueva fecha límite." #: ../Doc/library/asyncio-task.rst:639 msgid "" From 045b5ab79fa596fc4d73c0be7a7c6933efe222be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Mon, 15 May 2023 17:55:45 +0200 Subject: [PATCH 05/14] powrap --- library/asyncio-task.po | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/library/asyncio-task.po b/library/asyncio-task.po index ef06f4b16a..ec48b1992c 100644 --- a/library/asyncio-task.po +++ b/library/asyncio-task.po @@ -300,10 +300,10 @@ msgstr "" "Guarde una referencia al resultado de esta función, para evitar que una " "tarea desaparezca en medio de la ejecución. El bucle de eventos solo " "mantiene referencias débiles a las tareas. Una tarea a la que no se hace " -"referencia en ningún otro lugar puede ser recolectada por el recolector de basura " -"en cualquier momento, incluso antes de que se complete. Para " -"tareas confiables en segundo plano, de \"disparar y olvidar\", reúnalas en " -"una colección:" +"referencia en ningún otro lugar puede ser recolectada por el recolector de " +"basura en cualquier momento, incluso antes de que se complete. Para tareas " +"confiables en segundo plano, de \"disparar y olvidar\", reúnalas en una " +"colección:" #: ../Doc/library/asyncio-task.rst:278 ../Doc/library/asyncio-task.rst:1001 msgid "Added the *name* parameter." @@ -698,8 +698,8 @@ msgstr "" "Guarde una referencia a las tareas pasadas a esta función, para evitar que " "una tarea desaparezca a mitad de la ejecución. El bucle de eventos solo " "mantiene referencias débiles a las tareas. Una tarea a la que no se hace " -"referencia en ningún otro lugar puede ser recolectada por el recolector de basura" -"en cualquier momento, incluso antes de que se complete." +"referencia en ningún otro lugar puede ser recolectada por el recolector de " +"basuraen cualquier momento, incluso antes de que se complete." #: ../Doc/library/asyncio-task.rst:561 msgid "" @@ -813,7 +813,9 @@ msgstr "" #: ../Doc/library/asyncio-task.rst:637 msgid "If *when* is a float, it is set as the new deadline." -msgstr "Si *when* es número de punto flotante, se establece como la nueva fecha límite." +msgstr "" +"Si *when* es número de punto flotante, se establece como la nueva fecha " +"límite." #: ../Doc/library/asyncio-task.rst:639 msgid "" From 3f383fc8b25ad9783a1d107e15c2b7141e5451d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Mon, 22 May 2023 17:09:06 +0200 Subject: [PATCH 06/14] Update library/asyncio-task.po --- library/asyncio-task.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/asyncio-task.po b/library/asyncio-task.po index ec48b1992c..0a4cb9d8c8 100644 --- a/library/asyncio-task.po +++ b/library/asyncio-task.po @@ -58,7 +58,7 @@ msgstr "" #: ../Doc/library/asyncio-task.rst:43 msgid "To actually run a coroutine, asyncio provides the following mechanisms:" msgstr "" -"Para ejecutar realmente una rutina, asyncio proporciona los siguientes " +"Para ejecutar realmente una corutina, asyncio proporciona los siguientes " "mecanismos:" #: ../Doc/library/asyncio-task.rst:45 From 9a5c207e0da2d8abf4931dccb257056362613cdb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Mon, 22 May 2023 17:17:04 +0200 Subject: [PATCH 07/14] Fix typo --- library/asyncio-task.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/asyncio-task.po b/library/asyncio-task.po index 0a4cb9d8c8..18b747787e 100644 --- a/library/asyncio-task.po +++ b/library/asyncio-task.po @@ -699,7 +699,7 @@ msgstr "" "una tarea desaparezca a mitad de la ejecución. El bucle de eventos solo " "mantiene referencias débiles a las tareas. Una tarea a la que no se hace " "referencia en ningún otro lugar puede ser recolectada por el recolector de " -"basuraen cualquier momento, incluso antes de que se complete." +"basura en cualquier momento, incluso antes de que se complete." #: ../Doc/library/asyncio-task.rst:561 msgid "" From cf5dd067749c84f15cfb98724858f285710bdf53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Mon, 9 Oct 2023 23:02:36 +0200 Subject: [PATCH 08/14] Apply suggestions from code review Co-authored-by: Andrea Alegre --- library/asyncio-task.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/asyncio-task.po b/library/asyncio-task.po index 18b747787e..57dab12ed1 100644 --- a/library/asyncio-task.po +++ b/library/asyncio-task.po @@ -302,7 +302,7 @@ msgstr "" "mantiene referencias débiles a las tareas. Una tarea a la que no se hace " "referencia en ningún otro lugar puede ser recolectada por el recolector de " "basura en cualquier momento, incluso antes de que se complete. Para tareas " -"confiables en segundo plano, de \"disparar y olvidar\", reúnalas en una " +"confiables en segundo plano, de tipo \"lanzar y olvidar\", reúnalas en una " "colección:" #: ../Doc/library/asyncio-task.rst:278 ../Doc/library/asyncio-task.rst:1001 From ea4f6b119399732ec1cdf34efcb2b7a86fca3d23 Mon Sep 17 00:00:00 2001 From: "Carlos A. Crespo" Date: Tue, 24 Oct 2023 11:09:25 -0300 Subject: [PATCH 09/14] powrap --- library/asyncio-task.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/library/asyncio-task.po b/library/asyncio-task.po index df5ede8ea8..4c223087ff 100644 --- a/library/asyncio-task.po +++ b/library/asyncio-task.po @@ -1723,4 +1723,4 @@ msgstr "" #~ msgstr "" #~ "Las tareas admiten el módulo :mod:`contextvars`. Cuando se crea una " #~ "Tarea, copia el contexto actual y, posteriormente, ejecuta su corrutina " -#~ "en el contexto copiado." \ No newline at end of file +#~ "en el contexto copiado." From 3e557bfe125205ccf7e33d1376137794dd01fe77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Wed, 1 Nov 2023 16:34:12 +0100 Subject: [PATCH 10/14] Traducidas entradas pendientes de 3.12 --- dictionaries/library_asyncio-task.txt | 1 + library/asyncio-task.po | 84 +++++++++++++++++++++------ 2 files changed, 68 insertions(+), 17 deletions(-) diff --git a/dictionaries/library_asyncio-task.txt b/dictionaries/library_asyncio-task.txt index f5e3352f31..551990c2da 100644 --- a/dictionaries/library_asyncio-task.txt +++ b/dictionaries/library_asyncio-task.txt @@ -3,4 +3,5 @@ kwargs reprogramar reprogramarse reúnalas +sincrónicamente threadpool diff --git a/library/asyncio-task.po b/library/asyncio-task.po index 4c223087ff..5667c87756 100644 --- a/library/asyncio-task.po +++ b/library/asyncio-task.po @@ -38,7 +38,7 @@ msgstr "Corrutinas" #: ../Doc/library/asyncio-task.rst:21 msgid "**Source code:** :source:`Lib/asyncio/coroutines.py`" -msgstr "" +msgstr "**Source code:** :source:`Lib/asyncio/coroutines.py`" #: ../Doc/library/asyncio-task.rst:25 #, fuzzy @@ -253,7 +253,7 @@ msgstr "Creando Tareas" #: ../Doc/library/asyncio-task.rst:237 msgid "**Source code:** :source:`Lib/asyncio/tasks.py`" -msgstr "" +msgstr "**Source code:** :source:`Lib/asyncio/tasks.py`" #: ../Doc/library/asyncio-task.rst:243 msgid "" @@ -346,11 +346,12 @@ msgid "" "`asyncio.CancelledError` directly subclasses :exc:`BaseException` so most " "code will not need to be aware of it." msgstr "" -"Se recomienda que las rutinas utilicen bloques ``try/finally`` para realizar " -"una lógica de limpieza sólida. En caso de que :exc:`asyncio.CancelledError` " -"se detecte explícitamente, por lo general debería propagarse cuando se " -"complete la limpieza. La mayoría de los códigos pueden ignorar con " -"seguridad :exc:`asyncio.CancelledError`." +"Se recomienda que las corrutinas utilicen bloques ``try/finally`` para " +"realizar de forma sólida la lógica de limpieza. En caso de que :exc:`asyncio." +"CancelledError` se detecte explícitamente, generalmente debería propagarse " +"cuando se complete la limpieza. :exc:`asyncio.CancelledError` subclasifica " +"directamente a :exc:`BaseException`, por lo que la mayor parte del código no " +"necesitará tenerlo en cuenta." #: ../Doc/library/asyncio-task.rst:307 msgid "" @@ -364,9 +365,12 @@ msgid "" msgstr "" "Los componentes asyncio que permiten la simultaneidad estructurada, como :" "class:`asyncio.TaskGroup` y :func:`asyncio.timeout`, se implementan mediante " -"la cancelación interna y pueden comportarse mal si una corrutina absorbe :" -"exc:`asyncio.CancelledError`. De manera similar, el código de usuario no " -"debe llamar a :meth:`uncancel `." +"cancelación internamente y podrían comportarse mal si una rutina traga :exc:" +"`asyncio.CancelledError`. De manera similar, el código de usuario " +"generalmente no debería llamar a :meth:`uncancel `. " +"Sin embargo, en los casos en los que realmente se desea suprimir :exc:" +"`asyncio.CancelledError`, es necesario llamar también a ``uncancel()`` para " +"eliminar completamente el estado de cancelación." #: ../Doc/library/asyncio-task.rst:319 msgid "Task Groups" @@ -654,11 +658,11 @@ msgstr "" #: ../Doc/library/asyncio-task.rst:533 msgid "Eager Task Factory" -msgstr "" +msgstr "Fábrica de tareas ansiosas" #: ../Doc/library/asyncio-task.rst:537 msgid "A task factory for eager task execution." -msgstr "" +msgstr "Una fábrica de tareas para una ejecución entusiasta de tareas." #: ../Doc/library/asyncio-task.rst:539 msgid "" @@ -669,12 +673,22 @@ msgid "" "overhead of loop scheduling is avoided for coroutines that complete " "synchronously." msgstr "" +"Cuando se utiliza esta fábrica (a través de :meth:`loop." +"set_task_factory(asyncio.eager_task_factory) `), las " +"corrutinas comienzan a ejecutarse sincrónicamente durante la construcción " +"de :class:`Task`. Las tareas sólo se programan en el bucle de eventos si se " +"bloquean. Esto puede suponer una mejora del rendimiento, ya que se evita la " +"sobrecarga de la programación del bucle para las corrutinas que se completan " +"sincrónicamente." #: ../Doc/library/asyncio-task.rst:545 msgid "" "A common example where this is beneficial is coroutines which employ caching " "or memoization to avoid actual I/O when possible." msgstr "" +"Un ejemplo común en el que esto resulta beneficioso son las rutinas que " +"emplean almacenamiento en caché o memorización para evitar E/S reales cuando " +"sea posible." #: ../Doc/library/asyncio-task.rst:550 msgid "" @@ -684,6 +698,12 @@ msgid "" "change may introduce behavior changes to existing applications. For example, " "the application's task execution order is likely to change." msgstr "" +"La ejecución inmediata de la corrutina es un cambio semántico. Si la rutina " +"regresa o se activa, la tarea nunca se programa en el bucle de eventos. Si " +"la ejecución de la rutina se bloquea, la tarea se programa en el bucle de " +"eventos. Este cambio puede introducir cambios de comportamiento en las " +"aplicaciones existentes. Por ejemplo, es probable que cambie el orden de " +"ejecución de las tareas de la aplicación." #: ../Doc/library/asyncio-task.rst:561 msgid "" @@ -691,6 +711,9 @@ msgid "" "the provided *custom_task_constructor* when creating a new task instead of " "the default :class:`Task`." msgstr "" +"Cree una fábrica de tareas entusiastas, similar a :func:" +"`eager_task_factory`, utilizando el *custom_task_constructor* proporcionado " +"al crear una nueva tarea en lugar del :class:`Task` predeterminado." #: ../Doc/library/asyncio-task.rst:565 msgid "" @@ -698,6 +721,9 @@ msgid "" "the signature of :class:`Task.__init__ `. The callable must return a :" "class:`asyncio.Task`-compatible object." msgstr "" +"*custom_task_constructor* debe ser un *callable* con la firma que coincida " +"con la firma de :class:`Task.__init__ `. El invocable debe devolver un " +"objeto compatible con :class:`asyncio.Task`." #: ../Doc/library/asyncio-task.rst:569 msgid "" @@ -705,6 +731,9 @@ msgid "" "an event loop via :meth:`loop.set_task_factory(factory) `)." msgstr "" +"Esta función devuelve un *callable* destinado a ser utilizado como fábrica " +"de tareas de un bucle de eventos a través de :meth:`loop." +"set_task_factory(factory) `)." #: ../Doc/library/asyncio-task.rst:576 msgid "Shielding From Cancellation" @@ -854,8 +883,8 @@ msgid "" "An :ref:`asynchronous context manager ` for " "cancelling overdue coroutines." msgstr "" -"Retorna la fecha límite actual o ``None`` si la fecha límite actual no está " -"establecida." +"Un :ref:`asynchronous context manager ` para " +"cancelar corrutinas vencidas." #: ../Doc/library/asyncio-task.rst:682 msgid "" @@ -867,7 +896,7 @@ msgstr "" #: ../Doc/library/asyncio-task.rst:685 msgid "If ``when`` is ``None``, the timeout will never trigger." -msgstr "" +msgstr "Si ``when`` es ``None``, el tiempo de espera nunca se activará." #: ../Doc/library/asyncio-task.rst:686 msgid "" @@ -1074,7 +1103,7 @@ msgstr "Está prohibido pasar objetos de rutina a ``wait()`` directamente." #: ../Doc/library/asyncio-task.rst:855 ../Doc/library/asyncio-task.rst:882 msgid "Added support for generators yielding tasks." -msgstr "" +msgstr "Se agregó soporte para generadores que generan tareas." #: ../Doc/library/asyncio-task.rst:861 msgid "" @@ -1341,6 +1370,10 @@ msgid "" "provided, the Task copies the current context and later runs its coroutine " "in the copied context." msgstr "" +"Un argumento *context* opcional de solo palabra clave permite especificar " +"un :class:`contextvars.Context` personalizado para que se ejecute *coro*. Si " +"no se proporciona ningún *context*, la tarea copia el contexto actual y " +"luego ejecuta su rutina en el contexto copiado." #: ../Doc/library/asyncio-task.rst:1066 msgid "" @@ -1351,6 +1384,13 @@ msgid "" "coroutine returns or raises without blocking, the task will be finished " "eagerly and will skip scheduling to the event loop." msgstr "" +"Un argumento *eager_start* opcional de solo palabra clave permite iniciar " +"con entusiasmo la ejecución de :class:`asyncio.Task` en el momento de la " +"creación de la tarea. Si se establece en ``True`` y el bucle de eventos se " +"está ejecutando, la tarea comenzará a ejecutar la corrutina inmediatamente, " +"hasta la primera vez que la corrutina se bloquee. Si la rutina regresa o se " +"activa sin bloquearse, la tarea finalizará con entusiasmo y saltará la " +"programación al bucle de eventos." #: ../Doc/library/asyncio-task.rst:1073 msgid "Added support for the :mod:`contextvars` module." @@ -1532,15 +1572,19 @@ msgid "" "This will return ``None`` for Tasks which have already completed eagerly. " "See the :ref:`Eager Task Factory `." msgstr "" +"Esto devolverá ``None`` para las tareas que ya se han completado con " +"entusiasmo. Consulte el :ref:`Eager Task Factory `." #: ../Doc/library/asyncio-task.rst:1188 msgid "Newly added eager task execution means result may be ``None``." msgstr "" +"La ejecución ansiosa de la tarea recientemente agregada significa que el " +"resultado puede ser ``None``." #: ../Doc/library/asyncio-task.rst:1192 msgid "" "Return the :class:`contextvars.Context` object associated with the task." -msgstr "" +msgstr "Devuelve el objeto :class:`contextvars.Context` asociado con la tarea." #: ../Doc/library/asyncio-task.rst:1199 msgid "Return the name of the Task." @@ -1686,6 +1730,9 @@ msgid "" "exc:`CancelledError`, it needs to call this method to remove the " "cancellation state." msgstr "" +"Si el código del usuario final, por algún motivo, suprime la cancelación al " +"detectar :exc:`CancelledError`, debe llamar a este método para eliminar el " +"estado de cancelación." #: ../Doc/library/asyncio-task.rst:1330 msgid "" @@ -1715,6 +1762,9 @@ msgid "" "This method is used by asyncio's internals and isn't expected to be used by " "end-user code. See :meth:`uncancel` for more details." msgstr "" +"Este método lo utilizan las partes internas de asyncio y no se espera que lo " +"utilice el código del usuario final. Consulte :meth:`uncancel` para obtener " +"más detalles." #~ msgid "" #~ "Tasks support the :mod:`contextvars` module. When a Task is created it " From ee0f8abc46b6c13d12ec5036be64859a34d585a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Fri, 5 Jan 2024 11:17:43 +0100 Subject: [PATCH 11/14] Fix wrong translation --- library/asyncio-task.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/library/asyncio-task.po b/library/asyncio-task.po index 5667c87756..83ccca6353 100644 --- a/library/asyncio-task.po +++ b/library/asyncio-task.po @@ -891,8 +891,8 @@ msgid "" "``when`` should be an absolute time at which the context should time out, as " "measured by the event loop's clock:" msgstr "" -"La fecha límite es flotante, consistente con la hora retornada por :meth:" -"`loop.time`." +"``when`` debe ser un tiempo absoluto en el que el contexto debe expirar, " +"según lo medido por el reloj del bucle de eventos:" #: ../Doc/library/asyncio-task.rst:685 msgid "If ``when`` is ``None``, the timeout will never trigger." From 661865d8e679c7b458bbb52bef06d1c6b8f4000d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Fri, 5 Jan 2024 11:25:23 +0100 Subject: [PATCH 12/14] Arreglando entradas fuzzy --- library/asyncio-task.po | 53 ++++++++++++++--------------------------- 1 file changed, 18 insertions(+), 35 deletions(-) diff --git a/library/asyncio-task.po b/library/asyncio-task.po index 83ccca6353..10b549769b 100644 --- a/library/asyncio-task.po +++ b/library/asyncio-task.po @@ -41,7 +41,6 @@ msgid "**Source code:** :source:`Lib/asyncio/coroutines.py`" msgstr "**Source code:** :source:`Lib/asyncio/coroutines.py`" #: ../Doc/library/asyncio-task.rst:25 -#, fuzzy msgid "" ":term:`Coroutines ` declared with the async/await syntax is the " "preferred way of writing asyncio applications. For example, the following " @@ -60,7 +59,6 @@ msgstr "" "que se ejecute::" #: ../Doc/library/asyncio-task.rst:47 -#, fuzzy msgid "To actually run a coroutine, asyncio provides the following mechanisms:" msgstr "" "Para ejecutar realmente una corutina, asyncio proporciona los siguientes " @@ -316,12 +314,10 @@ msgstr "" "colección:" #: ../Doc/library/asyncio-task.rst:287 ../Doc/library/asyncio-task.rst:1076 -#, fuzzy msgid "Added the *name* parameter." msgstr "Se ha añadido el parámetro *name*." #: ../Doc/library/asyncio-task.rst:290 ../Doc/library/asyncio-task.rst:1083 -#, fuzzy msgid "Added the *context* parameter." msgstr "Se ha añadido el parámetro *context*." @@ -537,7 +533,6 @@ msgstr "" #: ../Doc/library/asyncio-task.rst:620 ../Doc/library/asyncio-task.rst:767 #: ../Doc/library/asyncio-task.rst:797 ../Doc/library/asyncio-task.rst:849 #: ../Doc/library/asyncio-task.rst:875 -#, fuzzy msgid "Removed the *loop* parameter." msgstr "Se quitó el parámetro *loop*." @@ -956,11 +951,10 @@ msgstr "" "a esperar. Si *timeout* es ``None``, se bloquea hasta que Future se completa." #: ../Doc/library/asyncio-task.rst:755 -#, fuzzy msgid "" "If a timeout occurs, it cancels the task and raises :exc:`TimeoutError`." msgstr "" -"Si se agota el tiempo de espera, cancela la tarea y genera :exc:" +"Si se agota el tiempo de espera, cancela la tarea y lanza :exc:" "`TimeoutError`." #: ../Doc/library/asyncio-task.rst:758 @@ -986,13 +980,12 @@ msgid "If the wait is cancelled, the future *aw* is also cancelled." msgstr "Si se cancela la espera, el Future *aw* también se cancela." #: ../Doc/library/asyncio-task.rst:792 -#, fuzzy msgid "" "When *aw* is cancelled due to a timeout, ``wait_for`` waits for *aw* to be " "cancelled. Previously, it raised :exc:`TimeoutError` immediately." msgstr "" "Cuando se cancela *aw* debido a un tiempo de espera, ``wait_for`` espera a " -"que se cancele *aw*. Anteriormente, generaba :exc:`TimeoutError` " +"que se cancele *aw*. Anteriormente, lanzaba :exc:`TimeoutError` " "inmediatamente." #: ../Doc/library/asyncio-task.rst:802 @@ -1000,14 +993,13 @@ msgid "Waiting Primitives" msgstr "Esperando primitivas" #: ../Doc/library/asyncio-task.rst:806 -#, fuzzy msgid "" "Run :class:`~asyncio.Future` and :class:`~asyncio.Task` instances in the " "*aws* iterable concurrently and block until the condition specified by " "*return_when*." msgstr "" -"Ejecute instancias :class:`~asyncio.Future` y :class:`~asyncio.Task` en el " -"iterable *aws* simultáneamente y bloquee hasta la condición especificada por " +"Ejecuta instancias :class:`~asyncio.Future` y :class:`~asyncio.Task` en el " +"iterable *aws* simultáneamente y bloquea hasta la condición especificada por " "*return_when*." #: ../Doc/library/asyncio-task.rst:810 @@ -1032,14 +1024,13 @@ msgstr "" "retornar." #: ../Doc/library/asyncio-task.rst:821 -#, fuzzy msgid "" "Note that this function does not raise :exc:`TimeoutError`. Futures or Tasks " "that aren't done when the timeout occurs are simply returned in the second " "set." msgstr "" -"Tenga en cuenta que esta función no genera :exc:`TimeoutError`. Los futuros " -"o las tareas que no se realizan cuando se agota el tiempo de espera " +"Tenga en cuenta que esta función no lanza :exc:`TimeoutError`. Los futuros o " +"las tareas que no se realizan cuando se agota el tiempo de espera " "simplemente se retornan en el segundo conjunto." #: ../Doc/library/asyncio-task.rst:825 @@ -1097,7 +1088,6 @@ msgstr "" "cuando se produce un agotamiento de tiempo." #: ../Doc/library/asyncio-task.rst:852 -#, fuzzy msgid "Passing coroutine objects to ``wait()`` directly is forbidden." msgstr "Está prohibido pasar objetos de rutina a ``wait()`` directamente." @@ -1118,11 +1108,10 @@ msgstr "" "iterable de los esperables restantes." #: ../Doc/library/asyncio-task.rst:866 -#, fuzzy msgid "" "Raises :exc:`TimeoutError` if the timeout occurs before all Futures are done." msgstr "" -"Aumenta :exc:`TimeoutError` si el tiempo de espera se agota antes de que " +"Lanza :exc:`TimeoutError` si el tiempo de espera se agota antes de que " "finalicen todos los futuros." #: ../Doc/library/asyncio-task.rst:878 @@ -1162,7 +1151,6 @@ msgstr "" "de *func*." #: ../Doc/library/asyncio-task.rst:900 -#, fuzzy msgid "" "This coroutine function is primarily intended to be used for executing IO-" "bound functions/methods that would otherwise block the event loop if they " @@ -1173,7 +1161,6 @@ msgstr "" "si se ejecutaran en el subproceso principal. Por ejemplo::" #: ../Doc/library/asyncio-task.rst:930 -#, fuzzy msgid "" "Directly calling ``blocking_io()`` in any coroutine would block the event " "loop for its duration, resulting in an additional 1 second of run time. " @@ -1187,7 +1174,6 @@ msgstr "" "ciclo de eventos." #: ../Doc/library/asyncio-task.rst:937 -#, fuzzy msgid "" "Due to the :term:`GIL`, ``asyncio.to_thread()`` can typically only be used " "to make IO-bound functions non-blocking. However, for extension modules that " @@ -1284,9 +1270,8 @@ msgstr "" "bucle actual." #: ../Doc/library/asyncio-task.rst:1018 -#, fuzzy msgid "Return ``True`` if *obj* is a coroutine object." -msgstr "Retorna ``True`` si la Tarea está *finalizada*." +msgstr "Retorna ``True`` si *obj* es un objeto corutina." #: ../Doc/library/asyncio-task.rst:1024 msgid "Task Object" @@ -1405,9 +1390,8 @@ msgstr "" "hay un bucle de eventos en ejecución." #: ../Doc/library/asyncio-task.rst:1086 -#, fuzzy msgid "Added the *eager_start* parameter." -msgstr "Se ha añadido el parámetro ``name``." +msgstr "Se ha añadido el parámetro *eager_start*." #: ../Doc/library/asyncio-task.rst:1091 msgid "Return ``True`` if the Task is *done*." @@ -1555,13 +1539,12 @@ msgid "The *limit* argument is passed to :meth:`get_stack` directly." msgstr "El argumento *limit* se pasa directamente a :meth:`get_stack`." #: ../Doc/library/asyncio-task.rst:1172 -#, fuzzy msgid "" "The *file* argument is an I/O stream to which the output is written; by " "default output is written to :data:`sys.stdout`." msgstr "" "El argumento *file* es un flujo de E/S en el que se escribe la salida; por " -"defecto, la salida se escribe en :data:`sys.stderr`." +"defecto, la salida se escribe en :data:`sys.stdout`." #: ../Doc/library/asyncio-task.rst:1177 msgid "Return the coroutine object wrapped by the :class:`Task`." @@ -1631,7 +1614,6 @@ msgstr "" "contenida en el próximo ciclo del bucle de eventos." #: ../Doc/library/asyncio-task.rst:1226 -#, fuzzy msgid "" "The coroutine then has a chance to clean up or even deny the request by " "suppressing the exception with a :keyword:`try` ... ... ``except " @@ -1642,15 +1624,16 @@ msgid "" "suppress the cancellation, it needs to call :meth:`Task.uncancel` in " "addition to catching the exception." msgstr "" -"La corrutina entonces tiene la oportunidad de limpiar o incluso denegar la " -"solicitud suprimiendo la excepción con un bloque :keyword:`try` ... ..." -"``except CancelledError`` ... :keyword:`finally`. Por lo tanto, a diferencia " -"de :meth:`Future.cancel`, :meth:`Task.cancel` no garantiza que la tarea será " -"cancelada, aunque suprimir la cancelación por completo no es común y se " -"desalienta activamente." +"Luego, la corrutina tiene la oportunidad de limpiar o incluso denegar la " +"solicitud suprimiendo la excepción con un bloque :keyword:`try`... ... " +"``except CancelledError``... :keyword:`finally`. Por lo tanto, a diferencia " +"de :meth:`Future.cancel`, :meth:`Task.cancel` no garantiza que la tarea se " +"cancelará, aunque suprimir la cancelación por completo no es común y se " +"desaconseja activamente. Sin embargo, si la rutina decide suprimir la " +"cancelación, debe llamar a :meth:`Task.uncancel` además de detectar la " +"excepción." #: ../Doc/library/asyncio-task.rst:1236 -#, fuzzy msgid "Added the *msg* parameter." msgstr "Se agregó el parámetro *msg*." From 20097fc1076b8b3f76bb6814010857d619da6402 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Sun, 28 Jan 2024 19:08:48 +0100 Subject: [PATCH 13/14] Apply suggestions from code review Co-authored-by: Marcos Medrano <786907+mmmarcos@users.noreply.github.com> --- library/asyncio-task.po | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/library/asyncio-task.po b/library/asyncio-task.po index 10b549769b..c17ebfddd9 100644 --- a/library/asyncio-task.po +++ b/library/asyncio-task.po @@ -898,21 +898,20 @@ msgid "" "If ``when < loop.time()``, the timeout will trigger on the next iteration of " "the event loop." msgstr "" -"Si *when* es ``None``, se eliminará cualquier fecha límite actual y el " -"administrador de contexto esperará indefinidamente." +"Si ``when < loop.time()``, el tiempo de espera se activará en la próxima " +"iteración del bucle de eventos" #: ../Doc/library/asyncio-task.rst:691 msgid "" "Return the current deadline, or ``None`` if the current deadline is not set." msgstr "" -"Si *when* es número de punto flotante, se establece como la nueva fecha " -"límite." +"Retorna la fecha límite actual, o ``None``si la fecha límite actual no está " +"establecida." #: ../Doc/library/asyncio-task.rst:696 msgid "Reschedule the timeout." msgstr "" -"si *when* está en el pasado, el tiempo de espera se activará en la próxima " -"iteración del bucle de eventos." +"Reprogramar el tiempo de espera." #: ../Doc/library/asyncio-task.rst:700 msgid "Return whether the context manager has exceeded its deadline (expired)." @@ -1665,7 +1664,7 @@ msgstr "" #: ../Doc/library/asyncio-task.rst:1291 msgid "Decrement the count of cancellation requests to this Task." -msgstr "Disminuya el recuento de solicitudes de cancelación a esta tarea." +msgstr "Disminuye el recuento de solicitudes de cancelación a esta tarea." #: ../Doc/library/asyncio-task.rst:1293 msgid "Returns the remaining number of cancellation requests." From b2fd97685ac8f2ae73f8a835e6558e7b5d5442b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Sun, 28 Jan 2024 19:09:48 +0100 Subject: [PATCH 14/14] powrap --- library/asyncio-task.po | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/library/asyncio-task.po b/library/asyncio-task.po index c17ebfddd9..5168140893 100644 --- a/library/asyncio-task.po +++ b/library/asyncio-task.po @@ -905,13 +905,12 @@ msgstr "" msgid "" "Return the current deadline, or ``None`` if the current deadline is not set." msgstr "" -"Retorna la fecha límite actual, o ``None``si la fecha límite actual no está " +"Retorna la fecha límite actual, o ``None`` si la fecha límite actual no está " "establecida." #: ../Doc/library/asyncio-task.rst:696 msgid "Reschedule the timeout." -msgstr "" -"Reprogramar el tiempo de espera." +msgstr "Reprogramar el tiempo de espera." #: ../Doc/library/asyncio-task.rst:700 msgid "Return whether the context manager has exceeded its deadline (expired)." 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