Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit a9a1b4d

Browse files
committed
Add 50% of translations
1 parent f871545 commit a9a1b4d

File tree

1 file changed

+88
-10
lines changed

1 file changed

+88
-10
lines changed

faq/library.po

Lines changed: 88 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ msgstr ""
99
"Project-Id-Version: Python 3.8\n"
1010
"Report-Msgid-Bugs-To: \n"
1111
"POT-Creation-Date: 2019-05-06 11:59-0400\n"
12-
"PO-Revision-Date: 2020-05-10 11:01+0100\n"
12+
"PO-Revision-Date: 2020-05-10 12:31+0100\n"
1313
"Language-Team: python-doc-es\n"
1414
"MIME-Version: 1.0\n"
1515
"Content-Type: text/plain; charset=UTF-8\n"
@@ -361,54 +361,72 @@ msgid ""
361361
"For Unix variants there are several solutions. It's straightforward to do "
362362
"this using curses, but curses is a fairly large module to learn."
363363
msgstr ""
364+
"Para variantes Unix hay varias soluciones. Lo más directo es hacerlo usando "
365+
"cursores, pero curses es un módulo bastante amplio para aprenderlo."
364366

365367
#: ../Doc/faq/library.rst:237
366368
msgid "Threads"
367-
msgstr ""
369+
msgstr "Hilos"
368370

369371
#: ../Doc/faq/library.rst:240
370372
msgid "How do I program using threads?"
371-
msgstr ""
373+
msgstr "¿Cómo programo usando hilos?"
372374

373375
#: ../Doc/faq/library.rst:242
374376
msgid ""
375377
"Be sure to use the :mod:`threading` module and not the :mod:`_thread` "
376378
"module. The :mod:`threading` module builds convenient abstractions on top of "
377379
"the low-level primitives provided by the :mod:`_thread` module."
378380
msgstr ""
381+
"Asegúrese de usar el módulo :mod:`threading` y no el módulo :mod:`_thread`. "
382+
"El módulo :mod:`threading` construye abstracciones convenientes sobre las "
383+
"primitivas de bajo nivel proporcionadas por el módulo :mod:`_thread`."
379384

380385
#: ../Doc/faq/library.rst:246
381386
msgid ""
382387
"Aahz has a set of slides from his threading tutorial that are helpful; see "
383388
"http://www.pythoncraft.com/OSCON2001/."
384389
msgstr ""
390+
"Aahz tiene un conjunto de transparencias sobre su tutoría de hilos que es "
391+
"útil: vea http://www.pythoncraft.com/OSCON2001/."
385392

386393
#: ../Doc/faq/library.rst:251
387394
msgid "None of my threads seem to run: why?"
388-
msgstr ""
395+
msgstr "Ninguno de mis hilos parece funcionar: ¿por qué?"
389396

390397
#: ../Doc/faq/library.rst:253
391398
msgid ""
392399
"As soon as the main thread exits, all threads are killed. Your main thread "
393400
"is running too quickly, giving the threads no time to do any work."
394401
msgstr ""
402+
"Tan pronto como el hilo principal termine, se matan todos los hilos. Su hilo "
403+
"principal está corriendo demasiado rápido, sin dar tiempo a los hilos para "
404+
"hacer algún trabajo."
395405

396406
#: ../Doc/faq/library.rst:256
397407
msgid ""
398408
"A simple fix is to add a sleep to the end of the program that's long enough "
399409
"for all the threads to finish::"
400410
msgstr ""
411+
"Una solución sencilla es añadir un *sleep* al final del programa que sea "
412+
"suficientemente largo para que todos los hilos terminen::"
401413

402414
#: ../Doc/faq/library.rst:271
403415
msgid ""
404416
"But now (on many platforms) the threads don't run in parallel, but appear to "
405417
"run sequentially, one at a time! The reason is that the OS thread scheduler "
406418
"doesn't start a new thread until the previous thread is blocked."
407419
msgstr ""
420+
"Por ahora (en muchas plataformas) los hilos no corren en paralelo, pero "
421+
"parece que corren secuencialmente, ¡uno a la vez! La razón es que el "
422+
"planificador de hilos del sistema operativo no inicia un nuevo hilo hasta "
423+
"que el hilo anterior está bloqueado."
408424

409425
#: ../Doc/faq/library.rst:275
410426
msgid "A simple fix is to add a tiny sleep to the start of the run function::"
411427
msgstr ""
428+
"Una solución sencilla es añadir un pequeño *sleep* al comienzo de la función "
429+
"run::"
412430

413431
#: ../Doc/faq/library.rst:288
414432
msgid ""
@@ -418,16 +436,23 @@ msgid ""
418436
"the queue when it finishes, and let the main thread read as many tokens from "
419437
"the queue as there are threads."
420438
msgstr ""
439+
"En vez de intentar adivinar un valor de retardo adecuado para :func:`time."
440+
"sleep`, es mejor usar algún tipo de mecanismo de semáforo. Una idea es usar "
441+
"el módulo :mod:`queue` para crear un objeto cola, permitiendo que cada hilo "
442+
"añada un *token* a la cola cuando termine, y permitiendo al hilo principal "
443+
"leer tantos tokens de la cola como hilos haya."
421444

422445
#: ../Doc/faq/library.rst:296
423446
msgid "How do I parcel out work among a bunch of worker threads?"
424-
msgstr ""
447+
msgstr "¿Cómo puedo dividir trabajo entre un grupo de hilos?"
425448

426449
#: ../Doc/faq/library.rst:298
427450
msgid ""
428451
"The easiest way is to use the new :mod:`concurrent.futures` module, "
429452
"especially the :mod:`~concurrent.futures.ThreadPoolExecutor` class."
430453
msgstr ""
454+
"La manera más fácil es usar el nuevo módulo :mod:`concurrent.futures`, "
455+
"especialmente la clase :mod:`~concurrent.futures.ThreadPoolExecutor`."
431456

432457
#: ../Doc/faq/library.rst:301
433458
msgid ""
@@ -438,24 +463,33 @@ msgid ""
438463
"``.get()`` method to return them. The class will take care of the locking "
439464
"necessary to ensure that each job is handed out exactly once."
440465
msgstr ""
466+
"O, si quiere tener un control más preciso sobre el algoritmo de despacho, "
467+
"puede escribir su propia lógica manualmente. Use el módulo :mod:`queue` para "
468+
"crear una cola que contenga una lista de trabajos. La clase :class:`~queue."
469+
"Queue` mantiene una lista de objetos y tiene un método ``.put(obj)`` que "
470+
"añade elementos a la cola y un método ``.get()`` que los devuelve. Esta "
471+
"clase se encargará de los bloqueos necesarios para asegurar que cada trabajo "
472+
"se reparte exactamente una vez."
441473

442474
#: ../Doc/faq/library.rst:308
443475
msgid "Here's a trivial example::"
444-
msgstr ""
476+
msgstr "Aquí hay un ejemplo trivial::"
445477

446478
#: ../Doc/faq/library.rst:346
447479
msgid "When run, this will produce the following output:"
448-
msgstr ""
480+
msgstr "Cuando se ejecute, esto producirá la siguiente salida:"
449481

450482
#: ../Doc/faq/library.rst:364
451483
msgid ""
452484
"Consult the module's documentation for more details; the :class:`~queue."
453485
"Queue` class provides a featureful interface."
454486
msgstr ""
487+
"Consulte la documentación del módulo para más detalles; la clase :class:"
488+
"`~queue.Queue` proporciona una interfaz llena de características."
455489

456490
#: ../Doc/faq/library.rst:369
457491
msgid "What kinds of global value mutation are thread-safe?"
458-
msgstr ""
492+
msgstr "¿Qué tipos de mutación de valores globales son *thread-safe*?"
459493

460494
#: ../Doc/faq/library.rst:371
461495
msgid ""
@@ -466,6 +500,13 @@ msgid ""
466500
"instruction and therefore all the C implementation code reached from each "
467501
"instruction is therefore atomic from the point of view of a Python program."
468502
msgstr ""
503+
"Un :term:`global interpreter lock` (GIL) se usa internamente para asegurar "
504+
"que sólo un hilo correo a la vez en la VM de Python. En general, Python "
505+
"ofrece cambiar entre hilos sólo en instrucciones bytecode; la frecuencia con "
506+
"la que cambia se puede fijar vía :func:`sys.setswitchinterval`. Cada "
507+
"instrucción bytecode y por lo tanto toda la implementación de código C "
508+
"alcanzada por cada instrucción es atómica desde el punto de vista de un "
509+
"programa Python."
469510

470511
#: ../Doc/faq/library.rst:378
471512
msgid ""
@@ -474,16 +515,23 @@ msgid ""
474515
"shared variables of built-in data types (ints, lists, dicts, etc) that "
475516
"\"look atomic\" really are."
476517
msgstr ""
518+
"En teoría, esto significa que una cuenta exacta requiere de un conocimiento "
519+
"exacto de la implementación en bytecode de la PVM. En la práctica, esto "
520+
"significa que las operaciones entre variables compartidas de tipos de datos "
521+
"*built-in* (enteros, listas, diccionarios, etc.) que “parecen atómicas” "
522+
"realmente lo son."
477523

478524
#: ../Doc/faq/library.rst:383
479525
msgid ""
480526
"For example, the following operations are all atomic (L, L1, L2 are lists, "
481527
"D, D1, D2 are dicts, x, y are objects, i, j are ints)::"
482528
msgstr ""
529+
"Por ejemplo, las siguientes operaciones son todas atómicas (L, L1, L2 son "
530+
"listas, D, D1, D2 son diccionarios, x, y son objetos, i, j son enteros)::"
483531

484532
#: ../Doc/faq/library.rst:398
485533
msgid "These aren't::"
486-
msgstr ""
534+
msgstr "Estas no lo son::"
487535

488536
#: ../Doc/faq/library.rst:405
489537
msgid ""
@@ -492,10 +540,15 @@ msgid ""
492540
"affect things. This is especially true for the mass updates to dictionaries "
493541
"and lists. When in doubt, use a mutex!"
494542
msgstr ""
543+
"Las operaciones que reemplazan otros objetos pueden invocar el método :meth:"
544+
"`__del__` de esos otros objetos cuando su número de referencias alcance "
545+
"cero, y eso puede afectar a otras cosas. Esto es especialmente cierto para "
546+
"las actualizaciones en masa de diccionarios y listas. Cuando se esté en "
547+
"duda, ¡use un mutex!"
495548

496549
#: ../Doc/faq/library.rst:412
497550
msgid "Can't we get rid of the Global Interpreter Lock?"
498-
msgstr ""
551+
msgstr "¿Podemos deshacernos del *Global Interpreter Lock*?"
499552

500553
#: ../Doc/faq/library.rst:416
501554
msgid ""
@@ -504,6 +557,11 @@ msgid ""
504557
"multi-threaded Python program effectively only uses one CPU, due to the "
505558
"insistence that (almost) all Python code can only run while the GIL is held."
506559
msgstr ""
560+
"El :term:`global interpreter lock` (GIL) se percibe a menudo como un "
561+
"obstáculo en el desarrollo de Python sobre máquinas servidoras finales de "
562+
"múltiples procesadores, porque un programa Python multihilo efectivamente "
563+
"sólo usa una CPU, debido a la exigencia de que (casi) todo el código Python "
564+
"sólo puede correr mientras el GIL esté activado."
507565

508566
#: ../Doc/faq/library.rst:421
509567
msgid ""
@@ -516,6 +574,14 @@ msgid ""
516574
"due to the amount of fine-grained locking necessary to compensate for the "
517575
"removal of the GIL."
518576
msgstr ""
577+
"En los días de Python 1.5, Greg Stein implementó de hecho un conjunto amplio "
578+
"de parches (los parches “libres de hilo”) que eliminaba el GIL y lo "
579+
"reemplazaba con un bloqueo de grano fino. Adam Olsen hizo recientemente un "
580+
"experimento similar con su proyecto `python-safethread <https://code.google."
581+
"com/archive/p/python-safethread>`_. Desafortunadamente, ambos experimentos "
582+
"exhibieron una aguda caída en el rendimiento (al menos del 30% o más baja), "
583+
"debido a la cantidad de bloqueos de grano fino necesarios para compensar la "
584+
"eliminación del GIL."
519585

520586
#: ../Doc/faq/library.rst:429
521587
msgid ""
@@ -527,6 +593,13 @@ msgid ""
527593
"module provides a lower-level API in case you want more control over "
528594
"dispatching of tasks."
529595
msgstr ""
596+
"¡Esto no significa que no pueda hacer buen uso de Python en máquinas de "
597+
"múltiples CPU! Usted sólo tiene que ser creativo a la hora de dividir el "
598+
"trabajo entre múltiples *procesos* en vez de entre múltiples *hilos*. La "
599+
"clase :class:`~concurrent.futures.ProcessPoolExecutor` del nuevo módulo :mod:"
600+
"`concurrent.futures` proporciona una manera sencilla de hacer esto; el "
601+
"módulo :mod:`multiprocessing` proporciona una API de bajo nivel en caso de "
602+
"que se quiera tener un mayor control sobre el despacho de las tareas."
530603

531604
#: ../Doc/faq/library.rst:437
532605
msgid ""
@@ -536,6 +609,11 @@ msgid ""
536609
"work done. Some standard library modules such as :mod:`zlib` and :mod:"
537610
"`hashlib` already do this."
538611
msgstr ""
612+
"El uso sensato de extensiones C también ayudará; si usa una extensión C para "
613+
"ejecutar una tarea que consume mucho tiempo, la extensión puede liberar al "
614+
"GIL mientras el hilo de ejecución esté en el código C y permite a otros "
615+
"hilos hacer algún trabajo. Algunos módulos de la librería estándar tales "
616+
"como :mod:`zlib` y :mod:`hashlib` ya lo hacen."
539617

540618
#: ../Doc/faq/library.rst:443
541619
msgid ""

0 commit comments

Comments
 (0)