-
-
Notifications
You must be signed in to change notification settings - Fork 404
Expand file tree
/
Copy pathasyncio-dev.po
More file actions
355 lines (312 loc) · 14.7 KB
/
asyncio-dev.po
File metadata and controls
355 lines (312 loc) · 14.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
# Copyright (C) 2001-2020, Python Software Foundation
# This file is distributed under the same license as the Python package.
# Maintained by the python-doc-es workteam.
# docs-es@python.org /
# https://mail.python.org/mailman3/lists/docs-es.python.org/
# Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to
# get the list of volunteers
#
msgid ""
msgstr ""
"Project-Id-Version: Python 3.8\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-10-25 19:47+0200\n"
"PO-Revision-Date: 2021-08-04 13:56+0200\n"
"Last-Translator: Cristián Maureira-Fredes <cmaureirafredes@gmail.com>\n"
"Language: es\n"
"Language-Team: python-doc-es\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.10.3\n"
#: ../Doc/library/asyncio-dev.rst:7
msgid "Developing with asyncio"
msgstr "Desarrollando con asyncio"
#: ../Doc/library/asyncio-dev.rst:9
msgid ""
"Asynchronous programming is different from classic \"sequential\" "
"programming."
msgstr ""
"La programación asincrónica es diferente a la programación \"secuencial\" "
"clásica."
#: ../Doc/library/asyncio-dev.rst:12
msgid ""
"This page lists common mistakes and traps and explains how to avoid them."
msgstr ""
"Esta página enumera errores y trampas comunes y explica cómo evitarlos."
#: ../Doc/library/asyncio-dev.rst:19
msgid "Debug Mode"
msgstr "Modo Depuración"
#: ../Doc/library/asyncio-dev.rst:21
msgid ""
"By default asyncio runs in production mode. In order to ease the "
"development asyncio has a *debug mode*."
msgstr ""
"Por defecto asyncio se ejecuta en modo producción. Para facilitar el "
"desarrollo asyncio tiene un *modo depuración*."
#: ../Doc/library/asyncio-dev.rst:24
msgid "There are several ways to enable asyncio debug mode:"
msgstr "Hay varias maneras de habilitar el modo depuración de asyncio:"
#: ../Doc/library/asyncio-dev.rst:26
msgid "Setting the :envvar:`PYTHONASYNCIODEBUG` environment variable to ``1``."
msgstr ""
"Definiendo la variable de entorno :envvar:`PYTHONASYNCIODEBUG` a ``1``."
#: ../Doc/library/asyncio-dev.rst:28
msgid "Using the :ref:`Python Development Mode <devmode>`."
msgstr "Usando :ref:`Modo de Desarrollo de Python <devmode>`."
#: ../Doc/library/asyncio-dev.rst:30
msgid "Passing ``debug=True`` to :func:`asyncio.run`."
msgstr "Pasando ``debug=True`` a :func:`asyncio.run`."
#: ../Doc/library/asyncio-dev.rst:32
msgid "Calling :meth:`loop.set_debug`."
msgstr "Invocando :meth:`loop.set_debug`."
#: ../Doc/library/asyncio-dev.rst:34
msgid "In addition to enabling the debug mode, consider also:"
msgstr "Además de habilitar el modo depuración, considere también:"
#: ../Doc/library/asyncio-dev.rst:36
msgid ""
"setting the log level of the :ref:`asyncio logger <asyncio-logger>` to :py:"
"data:`logging.DEBUG`, for example the following snippet of code can be run "
"at startup of the application::"
msgstr ""
"definir el nivel de log del :ref:`asyncio logger <asyncio-logger>` a :py:"
"data:`logging.DEBUG`, por ejemplo el siguiente fragmento de código puede ser "
"ejecutado al inicio de la aplicación:"
#: ../Doc/library/asyncio-dev.rst:42
msgid ""
"configuring the :mod:`warnings` module to display :exc:`ResourceWarning` "
"warnings. One way of doing that is by using the :option:`-W` ``default`` "
"command line option."
msgstr ""
"configurando el módulo :mod:`warnings` para mostrar advertencias :exc:"
"`ResourceWarning`. Una forma de hacerlo es usando la opción :option:`-W` "
"``default`` de la línea de comandos."
#: ../Doc/library/asyncio-dev.rst:47
msgid "When the debug mode is enabled:"
msgstr "Cuando el modo depuración está habilitado:"
#: ../Doc/library/asyncio-dev.rst:49
msgid ""
"asyncio checks for :ref:`coroutines that were not awaited <asyncio-coroutine-"
"not-scheduled>` and logs them; this mitigates the \"forgotten await\" "
"pitfall."
msgstr ""
"asyncio comprueba las :ref:`corrutinas que no son esperadas <asyncio-"
"coroutine-not-scheduled>` y las registra; esto mitiga la dificultad de las "
"\"esperas olvidadas\"."
#: ../Doc/library/asyncio-dev.rst:53
msgid ""
"Many non-threadsafe asyncio APIs (such as :meth:`loop.call_soon` and :meth:"
"`loop.call_at` methods) raise an exception if they are called from a wrong "
"thread."
msgstr ""
"Muchas APIs asyncio que no son seguras para hilos (como los métodos :meth:"
"`loop.call_soon` y :meth:`loop.call_at`) generan una excepción si son "
"llamados desde un hilo equivocado."
#: ../Doc/library/asyncio-dev.rst:57
msgid ""
"The execution time of the I/O selector is logged if it takes too long to "
"perform an I/O operation."
msgstr ""
"El tiempo de ejecución del selector E/S es registrado si tarda demasiado "
"tiempo en realizar una operación E/S."
#: ../Doc/library/asyncio-dev.rst:60
#, fuzzy
msgid ""
"Callbacks taking longer than 100 milliseconds are logged. The :attr:`loop."
"slow_callback_duration` attribute can be used to set the minimum execution "
"duration in seconds that is considered \"slow\"."
msgstr ""
"Los callbacks que tardan más de 100ms son registrados. El atributo :attr:"
"`loop.slow_callback_duration` puede ser usado para definir la duración "
"mínima de ejecución en segundos considerada como \"lenta\"."
#: ../Doc/library/asyncio-dev.rst:68
msgid "Concurrency and Multithreading"
msgstr "Concurrencia y Multihilo"
#: ../Doc/library/asyncio-dev.rst:70
msgid ""
"An event loop runs in a thread (typically the main thread) and executes all "
"callbacks and Tasks in its thread. While a Task is running in the event "
"loop, no other Tasks can run in the same thread. When a Task executes an "
"``await`` expression, the running Task gets suspended, and the event loop "
"executes the next Task."
msgstr ""
"Un bucle de eventos se ejecuta en un hilo (generalmente el hilo principal) y "
"ejecuta todos los callbacks y las Tareas en su hilo. Mientras una Tarea está "
"ejecutándose en el bucle de eventos, ninguna otra Tarea puede ejecutarse en "
"el mismo hilo. Cuando una Tarea ejecuta una expresión ``await``, la Tarea en "
"ejecución se suspende y el bucle de eventos ejecuta la siguiente Tarea."
#: ../Doc/library/asyncio-dev.rst:76
msgid ""
"To schedule a :term:`callback` from another OS thread, the :meth:`loop."
"call_soon_threadsafe` method should be used. Example::"
msgstr ""
"Para programar un :term:`callback` desde otro hilo del SO, se debe usar el "
"método :meth:`loop.call_soon_threadsafe`. Ejemplo::"
#: ../Doc/library/asyncio-dev.rst:81
msgid ""
"Almost all asyncio objects are not thread safe, which is typically not a "
"problem unless there is code that works with them from outside of a Task or "
"a callback. If there's a need for such code to call a low-level asyncio "
"API, the :meth:`loop.call_soon_threadsafe` method should be used, e.g.::"
msgstr ""
"Casi ningún objeto asyncio es seguro entre hilos (*thread safe*), lo cual "
"generalmente no es un problema a no ser que haya código que trabaje con "
"ellos desde fuera de una Tarea o un callback. Si tal código necesita llamar "
"a la API de asyncio de bajo nivel, se debe usar el método :meth:`loop."
"call_soon_threadsafe`, por ejemplo::"
#: ../Doc/library/asyncio-dev.rst:89
msgid ""
"To schedule a coroutine object from a different OS thread, the :func:"
"`run_coroutine_threadsafe` function should be used. It returns a :class:"
"`concurrent.futures.Future` to access the result::"
msgstr ""
"Para programar un objeto de corrutina desde una hilo diferente del sistema "
"operativo se debe usar la función :func:`run_coroutine_threadsafe`. Esta "
"retorna un :class:`concurrent.futures.Future` para acceder al resultado::"
#: ../Doc/library/asyncio-dev.rst:102
msgid ""
"To handle signals and to execute subprocesses, the event loop must be run in "
"the main thread."
msgstr ""
"Para manejar señales y ejecutar subprocesos, el bucle de eventos debe ser "
"ejecutado en el hilo principal."
#: ../Doc/library/asyncio-dev.rst:105
msgid ""
"The :meth:`loop.run_in_executor` method can be used with a :class:"
"`concurrent.futures.ThreadPoolExecutor` to execute blocking code in a "
"different OS thread without blocking the OS thread that the event loop runs "
"in."
msgstr ""
"El método :meth:`loop.run_in_executor` puede ser usado con un :class:"
"`concurrent.futures.ThreadPoolExecutor` para ejecutar código bloqueante en "
"un hilo diferente del sistema operativo sin bloquear el hilo del sistema "
"operativo en el que el bucle de eventos está siendo ejecutado."
#: ../Doc/library/asyncio-dev.rst:110
msgid ""
"There is currently no way to schedule coroutines or callbacks directly from "
"a different process (such as one started with :mod:`multiprocessing`). The :"
"ref:`asyncio-event-loop-methods` section lists APIs that can read from pipes "
"and watch file descriptors without blocking the event loop. In addition, "
"asyncio's :ref:`Subprocess <asyncio-subprocess>` APIs provide a way to start "
"a process and communicate with it from the event loop. Lastly, the "
"aforementioned :meth:`loop.run_in_executor` method can also be used with a :"
"class:`concurrent.futures.ProcessPoolExecutor` to execute code in a "
"different process."
msgstr ""
#: ../Doc/library/asyncio-dev.rst:124
msgid "Running Blocking Code"
msgstr "Ejecutando Código Bloqueante"
#: ../Doc/library/asyncio-dev.rst:126
msgid ""
"Blocking (CPU-bound) code should not be called directly. For example, if a "
"function performs a CPU-intensive calculation for 1 second, all concurrent "
"asyncio Tasks and IO operations would be delayed by 1 second."
msgstr ""
"Código bloqueante (dependiente de la CPU) no debe ser ejecutado "
"directamente. Por ejemplo, si una función realiza un cálculo intensivo de "
"CPU durante 1 segundo, todas las Tareas y operaciones de Entrada/Salida (IO) "
"concurrentes se retrasarían 1 segundo."
#: ../Doc/library/asyncio-dev.rst:131
msgid ""
"An executor can be used to run a task in a different thread or even in a "
"different process to avoid blocking the OS thread with the event loop. See "
"the :meth:`loop.run_in_executor` method for more details."
msgstr ""
"Un ejecutor puede ser usado para ejecutar una tarea en un hilo diferente o "
"incluso en un proceso diferente para evitar bloquear el hilo del sistema "
"operativo con el bucle de eventos. Consulte el método :meth:`loop."
"run_in_executor` para más detalles."
#: ../Doc/library/asyncio-dev.rst:140
msgid "Logging"
msgstr "Logueando"
#: ../Doc/library/asyncio-dev.rst:142
msgid ""
"asyncio uses the :mod:`logging` module and all logging is performed via the "
"``\"asyncio\"`` logger."
msgstr ""
"asyncio usa el módulo :mod:`logging` y todo el logueo es realizado mediante "
"el logger ``\"asyncio\"``."
#: ../Doc/library/asyncio-dev.rst:145
msgid ""
"The default log level is :py:data:`logging.INFO`, which can be easily "
"adjusted::"
msgstr ""
"El nivel de log por defecto es :py:data:`logging.INFO`, el cual puede ser "
"fácilmente ajustado::"
#: ../Doc/library/asyncio-dev.rst:151
msgid ""
"Network logging can block the event loop. It is recommended to use a "
"separate thread for handling logs or use non-blocking IO. For example, see :"
"ref:`blocking-handlers`."
msgstr ""
#: ../Doc/library/asyncio-dev.rst:159
msgid "Detect never-awaited coroutines"
msgstr "Detectar corrutinas no esperadas"
#: ../Doc/library/asyncio-dev.rst:161
msgid ""
"When a coroutine function is called, but not awaited (e.g. ``coro()`` "
"instead of ``await coro()``) or the coroutine is not scheduled with :meth:"
"`asyncio.create_task`, asyncio will emit a :exc:`RuntimeWarning`::"
msgstr ""
"Cuando una función de corrutina es invocada, pero no esperada (por ejemplo "
"``coro()`` en lugar de ``await coro()``) o la corrutina no es programada "
"con :meth:`asyncio.create_task`, asyncio emitirá una :exc:`RuntimeWarning`::"
#: ../Doc/library/asyncio-dev.rst:176 ../Doc/library/asyncio-dev.rst:221
msgid "Output::"
msgstr "Salida::"
#: ../Doc/library/asyncio-dev.rst:181 ../Doc/library/asyncio-dev.rst:237
msgid "Output in debug mode::"
msgstr "Salida en modo depuración::"
#: ../Doc/library/asyncio-dev.rst:194
msgid ""
"The usual fix is to either await the coroutine or call the :meth:`asyncio."
"create_task` function::"
msgstr ""
"La solución habitual es esperar la corrutina o llamar a la función :meth:"
"`asyncio.create_task`::"
#: ../Doc/library/asyncio-dev.rst:202
msgid "Detect never-retrieved exceptions"
msgstr "Detectar excepciones nunca recuperadas"
#: ../Doc/library/asyncio-dev.rst:204
msgid ""
"If a :meth:`Future.set_exception` is called but the Future object is never "
"awaited on, the exception would never be propagated to the user code. In "
"this case, asyncio would emit a log message when the Future object is "
"garbage collected."
msgstr ""
"Si un :meth:`Future.set_exception` es invocado pero el objeto Futuro nunca "
"es esperado, la excepción nunca será propagada al código del usuario. En "
"este caso, asyncio emitiría un mensaje de registro cuando el objeto Futuro "
"fuera recolectado como basura."
#: ../Doc/library/asyncio-dev.rst:209
msgid "Example of an unhandled exception::"
msgstr "Ejemplo de una excepción no manejada::"
#: ../Doc/library/asyncio-dev.rst:232
msgid ""
":ref:`Enable the debug mode <asyncio-debug-mode>` to get the traceback where "
"the task was created::"
msgstr ""
":ref:`Habilita el modo depuración <asyncio-debug-mode>` para obtener el "
"seguimiento de pila (*traceback*) donde la tarea fue creada::"
#~ msgid ""
#~ "There is currently no way to schedule coroutines or callbacks directly "
#~ "from a different process (such as one started with :mod:"
#~ "`multiprocessing`). The :ref:`Event Loop Methods <asyncio-event-loop>` "
#~ "section lists APIs that can read from pipes and watch file descriptors "
#~ "without blocking the event loop. In addition, asyncio's :ref:`Subprocess "
#~ "<asyncio-subprocess>` APIs provide a way to start a process and "
#~ "communicate with it from the event loop. Lastly, the aforementioned :meth:"
#~ "`loop.run_in_executor` method can also be used with a :class:`concurrent."
#~ "futures.ProcessPoolExecutor` to execute code in a different process."
#~ msgstr ""
#~ "Actualmente no hay forma de programar corrutinas o devoluciones de "
#~ "llamada directamente desde un proceso diferente (como uno que comenzó "
#~ "con :mod:`multiprocessing`). La sección :ref:`Event Loop Methods <asyncio-"
#~ "event-loop>` enumera las APIs que pueden leer desde las tuberías y ver "
#~ "descriptores de archivos sin bloquear el bucle de eventos. Además, las "
#~ "APIs de asyncio :ref:`Subprocess <asyncio-subprocess>` proporcionan una "
#~ "forma de iniciar un proceso y comunicarse con él desde el bucle de "
#~ "eventos. Por último, el método :meth:`loop.run_in_executor` mencionado "
#~ "anteriormente también se puede usar con un :class:`concurrent.futures."
#~ "ProcessPoolExecutor` para ejecutar código en un proceso diferente."