diff --git a/TRANSLATORS b/TRANSLATORS index 5b6d02a546..5ccd285ab1 100644 --- a/TRANSLATORS +++ b/TRANSLATORS @@ -9,6 +9,7 @@ Héctor Canto (@hectorcanto) Carlos Crespo (@cacrespo) Raúl Cumplido (@raulcd) Javier Daza (@javierdaza) +Juan Diego Alfonso Ocampo (@halcolo) Sergio Delgado Quintero (@sdelquin) Nicolás Demarchi (@gilgamezh) Xavi Francisco (@srxavi) @@ -37,4 +38,4 @@ Leonardo Gomez (@gomezgleonardob) Luis Sánchez (@LuisAISanchez) José Miguel Hernández Cabrera (@miguelheca) Naryie Vásquez Martínez (@narvmtz) -Xavi Rambla Centellas (@xavirambla) \ No newline at end of file +Xavi Rambla Centellas (@xavirambla) diff --git a/dict b/dict index 0d6881eb00..f12dce589d 100644 --- a/dict +++ b/dict @@ -49,6 +49,7 @@ Awk B bidireccional Bare +banner Bones Brett BSD @@ -1059,3 +1060,4 @@ rastrearlo readquirir Dijkstra Edsger +asyncore diff --git a/library/asyncore.po b/library/asyncore.po index 9f758bbe23..500696a796 100644 --- a/library/asyncore.po +++ b/library/asyncore.po @@ -1,45 +1,51 @@ # 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. +# 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/PyCampES/python-docs-es/blob/3.8/TRANSLATORS to get the list of volunteers # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-05-06 11:59-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2020-07-18 19:18-0500\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"Last-Translator: Juan Diego Alfonso Ocampo \n" +"Language: es\n" +"X-Generator: Poedit 2.3.1\n" #: ../Doc/library/asyncore.rst:2 msgid ":mod:`asyncore` --- Asynchronous socket handler" -msgstr "" +msgstr ":mod:`asyncore` --- controlador de socket asincrónico" #: ../Doc/library/asyncore.rst:13 msgid "**Source code:** :source:`Lib/asyncore.py`" -msgstr "" +msgstr "**Código fuente:** :source:`Lib/asyncore.py`" #: ../Doc/library/asyncore.rst:15 msgid "Please use :mod:`asyncio` instead." -msgstr "" +msgstr "Por favor, utilice :mod:`asyncio` en su lugar." #: ../Doc/library/asyncore.rst:22 msgid "" "This module exists for backwards compatibility only. For new code we " "recommend using :mod:`asyncio`." msgstr "" +"Este módulo solo existe para compatibilidad con versiones anteriores. Para " +"el nuevo código recomendamos usar :mod:`asyncio`." #: ../Doc/library/asyncore.rst:25 msgid "" "This module provides the basic infrastructure for writing asynchronous " "socket service clients and servers." msgstr "" +"Este módulo proporciona la infraestructura básica para escribir servicio de " +"socket asincrónicos, clientes y servidores." #: ../Doc/library/asyncore.rst:28 msgid "" @@ -52,6 +58,15 @@ msgid "" "emptive scheduled threads are probably what you really need. Network " "servers are rarely processor bound, however." msgstr "" +"Sólo hay dos maneras de que un programa en un solo procesador haga \"más de " +"una cosa a la vez\". La programación multiproceso es la forma más sencilla y " +"popular de hacerlo, pero hay otra técnica muy diferente, que le permite " +"tener casi todas las ventajas de multiproceso, sin usar realmente varios " +"subprocesos. Es realmente sólo práctico si su programa está en gran parte " +"limitado por el I/O. Si el programa está limitado por el procesador, los " +"subprocesos programados preventivos son probablemente lo que realmente " +"necesita. Sin embargo, los servidores de red rara vez están limitado al " +"procesador." #: ../Doc/library/asyncore.rst:37 msgid "" @@ -66,6 +81,17 @@ msgid "" "\"conversational\" applications and protocols the companion :mod:`asynchat` " "module is invaluable." msgstr "" +"Si su sistema operativo es compatible con la llamada del sistema :c:func:" +"`select` en su biblioteca de I/O (y casi todos lo son), puede usarla para " +"hacer malabares con varios canales de comunicación a la vez; haciendo otro " +"trabajo mientras su I/O está teniendo lugar en el \"fondo\". Aunque esta " +"estrategia puede parecer extraña y compleja, especialmente al principio, es " +"en muchos sentidos más fácil de entender y controlar que la programación " +"multiproceso. El módulo :mod:`asyncore` resuelve muchos de los problemas " +"difíciles para usted, haciendo que la tarea de construir sofisticados " +"servidores de red de alto rendimiento y clientes sea fácil. Para " +"aplicaciones y protocolos \"conversacionales\", el módulo complementario :" +"mod:`asynchat` es invaluable." #: ../Doc/library/asyncore.rst:48 msgid "" @@ -75,6 +101,11 @@ msgid "" "used by the :func:`loop` function if you do not provide it with your own " "*map*." msgstr "" +"La idea básica detrás de ambos módulos es crear uno o más *canales* de red, " +"instancias de clase :class:`asyncore.dispatcher` y :class:`asynchat." +"async_chat`. La creación de los canales los agrega a un mapa global, " +"utilizado por la función :func:`loop` si no lo proporciona con su propio " +"*map*." #: ../Doc/library/asyncore.rst:54 msgid "" @@ -83,6 +114,10 @@ msgid "" "(including any that have been added to the map during asynchronous service) " "is closed." msgstr "" +"Una vez creados los canales iniciales, llamar a la función :func:`loop` " +"activa el servicio de canal, que continúa hasta que se cierra el último " +"canal (incluido el que se ha agregado al mapa durante el servicio " +"asincrónico)." #: ../Doc/library/asyncore.rst:61 msgid "" @@ -95,6 +130,16 @@ msgid "" "parameter, if true, indicates that :func:`~select.poll` should be used in " "preference to :func:`~select.select` (the default is ``False``)." msgstr "" +"Ingresa un bucle de sondeo que termina después de que se hayan cerrado los " +"pases de conteo o todos los canales abiertos. Todos los argumentos son " +"opcionales. El parámetro *count* tiene como valor predeterminado ``None``, " +"lo que da como resultado que el bucle termine solo cuando se hayan cerrado " +"todos los canales. El argumento *timeout* establece el parámetro de tiempo " +"de espera para la llamada adecuada a :func:`~select.select` o :func:`~select." +"poll`, medida en segundos; el valor predeterminado es 30 segundos. El " +"parámetro *use_poll*, si es true, indica que :func:`~select.poll` debe " +"utilizarse en lugar de :func:`~select.select` (el valor predeterminado es " +"``False``)." #: ../Doc/library/asyncore.rst:70 msgid "" @@ -104,6 +149,11 @@ msgid "" "dispatcher`, :class:`asynchat.async_chat` and subclasses thereof) can freely " "be mixed in the map." msgstr "" +"El parámetro *map* es un diccionario cuyos elementos son los canales a " +"observar. A medida que se cierran los canales, se eliminan del mapa. Si se " +"omite *map*, se utiliza un mapa global. Los canales (instancias de :class:" +"`asyncore.dispatcher`, :class:`asynchat.async_chat` y subclases de los " +"mismos) se pueden mezclar libremente en el mapa." #: ../Doc/library/asyncore.rst:79 msgid "" @@ -112,6 +162,10 @@ msgid "" "which are called from the asynchronous loop. Otherwise, it can be treated " "as a normal non-blocking socket object." msgstr "" +"La clase :class:`dispatcher` es un contenedor fino alrededor de un objeto de " +"socket de bajo nivel. Para hacerlo más útil, tiene algunos métodos para el " +"control de eventos que se llaman desde el bucle asincrónico. De lo " +"contrario, se puede tratar como un objeto de socket normal sin bloqueo." #: ../Doc/library/asyncore.rst:84 msgid "" @@ -123,38 +177,45 @@ msgid "" "write to it with the expectation of success). The implied higher-level " "events are:" msgstr "" +"La activación de eventos de bajo nivel en determinados momentos o en " +"determinados estados de conexión indica al bucle asincrónico que se han " +"producido ciertos eventos de nivel superior. Por ejemplo, si hemos pedido " +"un socket para conectarse a otro host, sabemos que la conexión se ha " +"realizado cuando el socket se vuelve *grabable* por primera vez (en este " +"punto sabe que puede escribir a él con la expectativa de éxito). Los " +"eventos de nivel superior implícitos son:" #: ../Doc/library/asyncore.rst:93 msgid "Event" -msgstr "" +msgstr "Evento" #: ../Doc/library/asyncore.rst:93 msgid "Description" -msgstr "" +msgstr "Descripción" #: ../Doc/library/asyncore.rst:95 msgid "``handle_connect()``" -msgstr "" +msgstr "``handle_connect()``" #: ../Doc/library/asyncore.rst:95 msgid "Implied by the first read or write event" -msgstr "" +msgstr "Implícito en el primer proceso de lectura o escritura" #: ../Doc/library/asyncore.rst:98 msgid "``handle_close()``" -msgstr "" +msgstr "``handle_close()``" #: ../Doc/library/asyncore.rst:98 msgid "Implied by a read event with no data available" -msgstr "" +msgstr "Implícito en un evento de lectura sin datos disponibles" #: ../Doc/library/asyncore.rst:101 msgid "``handle_accepted()``" -msgstr "" +msgstr "``handle_accepted()``" #: ../Doc/library/asyncore.rst:101 msgid "Implied by a read event on a listening socket" -msgstr "" +msgstr "Implícito en un evento de lectura en un socket de escucha" #: ../Doc/library/asyncore.rst:105 msgid "" @@ -163,18 +224,28 @@ msgid "" "should be added to the list of channels :c:func:`select`\\ ed or :c:func:" "`poll`\\ ed for read and write events." msgstr "" +"Durante el procesamiento asincrónico, se utilizan los métodos :meth:" +"`readable` y :meth:`writable` de cada canal asignado para determinar si el " +"socket del canal deberían ser agregados a la lista de canales :c:func:" +"`seleccionados