From 91b62625695cc5d62ef3935aa86f410be9232db6 Mon Sep 17 00:00:00 2001 From: "Carlos A. Crespo" Date: Sat, 13 Feb 2021 23:00:11 -0300 Subject: [PATCH 1/2] =?UTF-8?q?traducci=C3=B3n=20100%=20entradas=201=20a?= =?UTF-8?q?=20258?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- whatsnew/3.2.po | 846 +++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 768 insertions(+), 78 deletions(-) diff --git a/whatsnew/3.2.po b/whatsnew/3.2.po index dc07f5cc47..cae2b704a7 100644 --- a/whatsnew/3.2.po +++ b/whatsnew/3.2.po @@ -6,31 +6,33 @@ # Check https://github.com/python/python-docs-es/blob/3.8/TRANSLATORS to # get the list of volunteers # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2020-05-05 12:54+0200\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2021-02-13 22:51-0300\n" "Language-Team: python-doc-es\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: Babel 2.8.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: \n" +"Language: es\n" +"X-Generator: Poedit 2.4.2\n" #: ../Doc/whatsnew/3.2.rst:3 msgid "What's New In Python 3.2" -msgstr "" +msgstr "Qué hay de nuevo en Python 3.2" #: ../Doc/whatsnew/3.2.rst msgid "Author" -msgstr "" +msgstr "Autor" #: ../Doc/whatsnew/3.2.rst:5 msgid "Raymond Hettinger" -msgstr "" +msgstr "Raymond Hettinger" #: ../Doc/whatsnew/3.2.rst:51 msgid "" @@ -39,14 +41,19 @@ msgid "" "the `Misc/NEWS `_ file." msgstr "" +"Este artículo explica las nuevas características de Python 3.2 en " +"comparación con 3.1. Se centra en algunos aspectos destacados y ofrece " +"algunos ejemplos. Para obtener detalles completos, consulte el archivo `Misc/" +"NEWS `_ file." #: ../Doc/whatsnew/3.2.rst:59 msgid ":pep:`392` - Python 3.2 Release Schedule" -msgstr "" +msgstr ":pep:`392` - Calendario de Publicación Python 3.2" #: ../Doc/whatsnew/3.2.rst:63 msgid "PEP 384: Defining a Stable ABI" -msgstr "" +msgstr "PEP 384: Definición de un ABI estable" #: ../Doc/whatsnew/3.2.rst:65 msgid "" @@ -56,6 +63,12 @@ msgid "" "to use. This requirement was the result of the free access to Python " "interpreter internals that extension modules could use." msgstr "" +"En el pasado, los módulos de extensión creados para una versión de Python a " +"menudo no se podían usar con otras versiones de Python. Particularmente en " +"Windows, cada lanzamiento de funciones de Python requería reconstruir todos " +"los módulos de extensión que uno quería usar. Este requisito fue el " +"resultado del acceso gratuito a los componentes internos del intérprete de " +"Python que los módulos de extensión podían usar." #: ../Doc/whatsnew/3.2.rst:71 msgid "" @@ -68,18 +81,28 @@ msgid "" "memory structures can still be built, but will need to be recompiled for " "every feature release." msgstr "" +"Con Python 3.2, está disponible un enfoque alternativo: los módulos de " +"extensión que se restringen a una API limitada (al definir Py_LIMITED_API) " +"no pueden usar muchas de las funciones internas, pero están restringidos a " +"un conjunto de funciones API que se promete serán estables para varias " +"versiones. Como consecuencia, los módulos de extensión creados para 3.2 en " +"ese modo también funcionarán con 3.3, 3.4, etc. Los módulos de extensión que " +"hacen uso de los detalles de las estructuras de memoria aún se pueden " +"construir, pero deberán recompilarse para cada lanzamiento de funciones." #: ../Doc/whatsnew/3.2.rst:82 msgid ":pep:`384` - Defining a Stable ABI" -msgstr "" +msgstr ":pep:`384` - Definición de un ABI estable" #: ../Doc/whatsnew/3.2.rst:83 msgid "PEP written by Martin von Löwis." -msgstr "" +msgstr "PEP escrito por Martin von Löwis." #: ../Doc/whatsnew/3.2.rst:87 msgid "PEP 389: Argparse Command Line Parsing Module" msgstr "" +"PEP 389: Módulo de análisis sintáctico (*Parser*) de línea de comandos " +"Argparse" #: ../Doc/whatsnew/3.2.rst:89 msgid "" @@ -88,6 +111,11 @@ msgid "" "for positional arguments (not just options), subcommands, required options " "and other common patterns of specifying and validating options." msgstr "" +"Se introdujo un nuevo módulo para el análisis de la línea de comandos, :mod:" +"`argparse`, para superar las limitaciones de :mod:`optparse` que no brindaba " +"soporte para argumentos posicionales (no solo opciones), subcomandos, " +"opciones requeridas y otros patrones comunes para especificar y validar " +"opciones." #: ../Doc/whatsnew/3.2.rst:94 msgid "" @@ -97,6 +125,11 @@ msgid "" "The older module is still being kept available because of the substantial " "amount of legacy code that depends on it." msgstr "" +"Este módulo ya ha tenido un éxito generalizado en la comunidad como módulo " +"de terceros. Con más funciones que su predecesor, el módulo :mod:`argparse` " +"es ahora el módulo preferido para el procesamiento de la línea de comandos. " +"El módulo más antiguo todavía se mantiene disponible debido a la gran " +"cantidad de código heredado que depende de él." #: ../Doc/whatsnew/3.2.rst:100 msgid "" @@ -104,38 +137,48 @@ msgid "" "a set of choices, specifying a *metavar* in the help screen, validating that " "one or more positional arguments is present, and making a required option::" msgstr "" +"Aquí hay un analizador de ejemplo comentado que muestra características de " +"cómo limitar los resultados a un conjunto de opciones, especificar un " +"*metavar* en la pantalla de ayuda, validar que uno o más argumentos " +"posicionales están presentes y hacer una opción requerida:­:" #: ../Doc/whatsnew/3.2.rst:119 msgid "Example of calling the parser on a command string::" msgstr "" +"Ejemplo de llamada al analizador en una cadena de caracteres de comandos::" #: ../Doc/whatsnew/3.2.rst:130 msgid "Example of the parser's automatically generated help::" -msgstr "" +msgstr "Ejemplo de ayuda generada automáticamente por el analizador::" #: ../Doc/whatsnew/3.2.rst:149 msgid "" "An especially nice :mod:`argparse` feature is the ability to define " "subparsers, each with their own argument patterns and help displays::" msgstr "" +"Una característica especialmente agradable de :mod:`argparse` es la " +"capacidad de definir sub-analizadores (*subparsers*), cada uno con sus " +"propios patrones de argumentos y pantallas de ayuda::" #: ../Doc/whatsnew/3.2.rst:175 msgid ":pep:`389` - New Command Line Parsing Module" -msgstr "" +msgstr ":pep:`389` - Nuevo módulo de análisis de línea de comandos" #: ../Doc/whatsnew/3.2.rst:175 msgid "PEP written by Steven Bethard." -msgstr "" +msgstr "PEP escrito por Steven Bethard." #: ../Doc/whatsnew/3.2.rst:177 msgid "" ":ref:`upgrading-optparse-code` for details on the differences from :mod:" "`optparse`." msgstr "" +":ref:`upgrade-optparse-code` para obtener detalles sobre las diferencias " +"con :mod:`optparse`." #: ../Doc/whatsnew/3.2.rst:181 msgid "PEP 391: Dictionary Based Configuration for Logging" -msgstr "" +msgstr "PEP 391: Configuración basada en diccionario para Logging" #: ../Doc/whatsnew/3.2.rst:183 msgid "" @@ -146,6 +189,13 @@ msgid "" "they support incremental configuration, which is needed for specifying " "logger options from a command line." msgstr "" +"El módulo :mod:`logging` proporcionó dos tipos de configuración, un estilo " +"con llamadas de función para cada opción y otro estilo guiado por un archivo " +"externo guardado en formato :mod:`ConfigParser`. Esas opciones no " +"proporcionaron la flexibilidad para crear configuraciones a partir de " +"archivos JSON o YAML, ni admitieron la configuración incremental, que es " +"necesaria para especificar las opciones del logger desde una línea de " +"comandos." #: ../Doc/whatsnew/3.2.rst:190 msgid "" @@ -155,24 +205,31 @@ msgid "" "filters, and loggers. Here's a working example of a configuration " "dictionary::" msgstr "" +"Para permitir un estilo más flexible, el módulo ahora ofrece :func:`logging." +"config.dictConfig` para especificar la configuración de logging con " +"diccionarios simples de Python. Las opciones de configuración incluyen " +"formateadores, gestores, filtros y loggers. Aquí hay un ejemplo funcional de " +"un diccionario de configuración::" #: ../Doc/whatsnew/3.2.rst:214 msgid "" "If that dictionary is stored in a file called :file:`conf.json`, it can be " "loaded and called with code like this::" msgstr "" +"Si ese diccionario está almacenado en un archivo llamado :file:`conf.json`, " +"se puede cargar y llamar con un código como este::" #: ../Doc/whatsnew/3.2.rst:229 msgid ":pep:`391` - Dictionary Based Configuration for Logging" -msgstr "" +msgstr ":pep:`391` - Configuración basada en diccionario para Logging" #: ../Doc/whatsnew/3.2.rst:230 msgid "PEP written by Vinay Sajip." -msgstr "" +msgstr "PEP escrito por Vinay Sajip." #: ../Doc/whatsnew/3.2.rst:234 msgid "PEP 3148: The ``concurrent.futures`` module" -msgstr "" +msgstr "PEP 3148: El módulo ``concurrent.futures``" #: ../Doc/whatsnew/3.2.rst:236 msgid "" @@ -181,6 +238,10 @@ msgid "" "which provides a uniform high-level interface for managing threads and " "processes." msgstr "" +"El código para crear y administrar la concurrencia se está recopilando en un " +"nuevo espacio de nombres de nivel superior, *concurrent*. Su primer miembro " +"es un paquete *futures* que proporciona una interfaz uniforme de alto nivel " +"para administrar hilos y procesos." #: ../Doc/whatsnew/3.2.rst:240 msgid "" @@ -191,6 +252,13 @@ msgid "" "object supports status checks (running or done), timeouts, cancellations, " "adding callbacks, and access to results or exceptions." msgstr "" +"El diseño de: mod:`concurrent.futures` se inspiró en el paquete *java.util." +"concurrent*. En ese modelo, una llamada en ejecución y su resultado están " +"representados por un objeto :class:`~concurrent.futures.Future` que abstrae " +"características comunes a hilos, procesos y llamadas a procedimientos " +"remotos. Ese objeto admite verificaciones de estado (en ejecución o " +"terminadas), tiempos de espera, cancelaciones, agregar devoluciones de " +"llamada y acceso a resultados o excepciones." #: ../Doc/whatsnew/3.2.rst:247 msgid "" @@ -201,6 +269,13 @@ msgid "" "queue, add time-out handling, and limit the total number of threads, " "processes, or remote procedure calls." msgstr "" +"El agregado principal del nuevo módulo es un par de clases ejecutoras para " +"lanzar y administrar llamadas. El objetivo de los ejecutores es facilitar el " +"uso de las herramientas existentes para realizar llamadas en paralelo. " +"Ahorran el esfuerzo necesario para configurar un grupo de recursos, lanzar " +"las llamadas, crear una cola de resultados, agregar gestión de tiempo de " +"espera y limitar la cantidad total de hilos, procesos o llamadas a " +"procedimientos remotos." #: ../Doc/whatsnew/3.2.rst:254 msgid "" @@ -209,6 +284,11 @@ msgid "" "solves the design challenge that arises when each component has its own " "competing strategy for resource management." msgstr "" +"Idealmente, cada aplicación debería compartir un solo ejecutor en varios " +"componentes para que los límites de procesos e hilos se puedan administrar " +"de forma centralizada. Esto resuelve el desafío de diseño que surge cuando " +"cada componente tiene su propia estrategia competitiva para la gestión de " +"recursos." #: ../Doc/whatsnew/3.2.rst:259 msgid "" @@ -221,26 +301,39 @@ msgid "" "assure that resources are automatically released when currently pending " "futures are done executing." msgstr "" +"Ambas clases comparten una interfaz común con tres métodos: :meth:" +"`~concurrent.futures.Executor.submit` para programar un invocable y retornar " +"un objeto :class:`~concurrent.futures.Future`; :meth:`~concurrent.futures." +"Executor.map` para programar muchas llamadas asincrónicas a la vez, y :meth:" +"`~concurrent.futures.Executor.shutdown` para liberar recursos. La clase es " +"un :term:`context manager` y se puede usar en una declaración :keyword:" +"`with` para asegurar que los recursos se liberen automáticamente cuando los " +"futuros actualmente pendientes terminan de ejecutarse." #: ../Doc/whatsnew/3.2.rst:268 msgid "" "A simple of example of :class:`~concurrent.futures.ThreadPoolExecutor` is a " "launch of four parallel threads for copying files::" msgstr "" +"Un ejemplo simple de :class:`~concurrent.futures.ThreadPoolExecutor` es un " +"lanzamiento de cuatro hilos paralelos para copiar archivos::" #: ../Doc/whatsnew/3.2.rst:281 msgid ":pep:`3148` - Futures -- Execute Computations Asynchronously" -msgstr "" +msgstr ":pep:`3148` - Futuros -- Ejecutar Cómputos Asincrónicos" #: ../Doc/whatsnew/3.2.rst:281 msgid "PEP written by Brian Quinlan." -msgstr "" +msgstr "PEP escrito por Brian Quinlan." #: ../Doc/whatsnew/3.2.rst:283 msgid "" ":ref:`Code for Threaded Parallel URL reads`, an " "example using threads to fetch multiple web pages in parallel." msgstr "" +":ref:`Código para lecturas de URL en paralelo con grupos de " +"hilos`, un ejemplo que usa hilos para buscar " +"varias páginas web en paralelo." #: ../Doc/whatsnew/3.2.rst:286 msgid "" @@ -248,10 +341,13 @@ msgid "" "example>`, an example demonstrating :class:`~concurrent.futures." "ProcessPoolExecutor`." msgstr "" +":ref:`Código para calcular números primos en paralelo`, un ejemplo demostrando :class:`~concurrent.futures." +"ProcessPoolExecutor`." #: ../Doc/whatsnew/3.2.rst:292 msgid "PEP 3147: PYC Repository Directories" -msgstr "" +msgstr "PEP 3147: Directorios del repositorio de PYC" #: ../Doc/whatsnew/3.2.rst:294 msgid "" @@ -261,6 +357,11 @@ msgid "" "the source and overwrite the cached file, thus losing the benefits of " "caching." msgstr "" +"El esquema de Python para almacenar en caché bytecode en archivos *.pyc* no " +"funcionó bien en entornos con múltiples intérpretes de Python. Si un " +"intérprete encontrara un archivo en caché creado por otro intérprete, " +"volvería a compilar la fuente y sobrescribiría el archivo en caché, " +"perdiendo así los beneficios del almacenamiento en caché." #: ../Doc/whatsnew/3.2.rst:299 msgid "" @@ -269,6 +370,10 @@ msgid "" "Python. These conflicts also arise with CPython alternatives such as Unladen " "Swallow." msgstr "" +"El problema de las \"peleas de pyc\" se ha vuelto más pronunciado a medida " +"que se ha convertido en un lugar común para las distribuciones de Linux " +"enviadas con múltiples versiones de Python. Estos conflictos también surgen " +"con alternativas de CPython como *Unladen Swallow*." #: ../Doc/whatsnew/3.2.rst:303 msgid "" @@ -280,24 +385,38 @@ msgid "" "from cluttering source directories, the *pyc* files are now collected in a " "\"__pycache__\" directory stored under the package directory." msgstr "" +"Para resolver este problema, el mecanismo de importación de Python se ha " +"ampliado para utilizar nombres de archivo distintos para cada intérprete. En " +"lugar de que Python 3.2 y Python 3.3 y *Unladen Swallow* compitan por un " +"archivo llamado \"mymodule.pyc\", ahora buscarán \"mymodule.cpython-32.pyc" +"\", \"mymodule.cpython-33.pyc\" y \"mymodule .unladen10.pyc\". Y para evitar " +"que todos estos nuevos archivos abarroten los directorios de origen, los " +"archivos *pyc* ahora se recopilan en un directorio \"__pycache__\" " +"almacenado en el directorio del paquete." #: ../Doc/whatsnew/3.2.rst:311 msgid "" "Aside from the filenames and target directories, the new scheme has a few " "aspects that are visible to the programmer:" msgstr "" +"Aparte de los nombres de archivo y directorios de destino, el nuevo esquema " +"tiene algunos aspectos que son visibles para el programador:" #: ../Doc/whatsnew/3.2.rst:314 msgid "" "Imported modules now have a :attr:`__cached__` attribute which stores the " "name of the actual file that was imported:" msgstr "" +"Los módulos importados ahora tienen un atributo :attr:`__cached__` que " +"almacena el nombre del archivo real que se importó:" #: ../Doc/whatsnew/3.2.rst:321 msgid "" "The tag that is unique to each interpreter is accessible from the :mod:`imp` " "module:" msgstr "" +"La etiqueta que es única para cada intérprete es accesible desde el módulo :" +"mod:`imp`:" #: ../Doc/whatsnew/3.2.rst:328 msgid "" @@ -305,6 +424,10 @@ msgid "" "to be smarter. It is no longer sufficient to simply strip the \"c\" from a " "\".pyc\" filename. Instead, use the new functions in the :mod:`imp` module:" msgstr "" +"Los scripts que intentan deducir el nombre del archivo de origen del archivo " +"importado ahora deben ser más inteligentes. Ya no es suficiente simplemente " +"quitar la \"c\" final del nombre de archivo \".pyc\". En su lugar, use las " +"nuevas funciones del módulo :mod:`imp`:" #: ../Doc/whatsnew/3.2.rst:337 msgid "" @@ -314,6 +437,12 @@ msgid "" "files and directories to compile and ``-b`` which causes bytecode files to " "be written to their legacy location rather than *__pycache__*." msgstr "" +"Los módulos :mod:`py_compile` y :mod:`compileall` se han actualizado para " +"reflejar la nueva convención de nomenclatura y el directorio de destino. La " +"invocación por línea de comandos de *compileall* tiene nuevas opciones: ``-" +"i`` para especificar una lista de archivos y directorios para compilar y ``-" +"b`` que hace que los archivos bytecode se escriban en su ubicación heredada " +"en lugar de *__pycache__*." #: ../Doc/whatsnew/3.2.rst:344 msgid "" @@ -323,18 +452,24 @@ msgid "" "PyPycLoader`, have been deprecated (instructions on how to stay Python 3.1 " "compatible are included with the documentation)." msgstr "" +"El módulo :mod:`importlib.abc` se ha actualizado con una nueva :term:`clase " +"base abstracta ` para cargar archivos bytecode. Las ABC " +"(por sus siglas en inglés *abstract base class*) obsoletas, :class:" +"`~importlib.abc.PyLoader` y :class:`~ importlib.abc.PyPycLoader`, han sido " +"deprecadas (las instrucciones sobre cómo mantener la compatibilidad con " +"Python 3.1 se incluyen con la documentación)." #: ../Doc/whatsnew/3.2.rst:352 msgid ":pep:`3147` - PYC Repository Directories" -msgstr "" +msgstr ":pep:`3147` - Directorio del repositorio PYC" #: ../Doc/whatsnew/3.2.rst:353 ../Doc/whatsnew/3.2.rst:384 msgid "PEP written by Barry Warsaw." -msgstr "" +msgstr "PEP escrito por Barry Warsaw." #: ../Doc/whatsnew/3.2.rst:357 msgid "PEP 3149: ABI Version Tagged .so Files" -msgstr "" +msgstr "PEP 3149: Archivos .so con etiquetado de versión para ABI" #: ../Doc/whatsnew/3.2.rst:359 msgid "" @@ -342,6 +477,10 @@ msgid "" "located. This PEP implements a similar mechanism for shared object files by " "giving them a common directory and distinct names for each version." msgstr "" +"El directorio del repositorio PYC permite la ubicación conjunta de varios " +"archivos de cache bytecode. Este PEP implementa un mecanismo similar para " +"los archivos de objetos compartidos dándoles un directorio común y nombres " +"distintos para cada versión." #: ../Doc/whatsnew/3.2.rst:363 msgid "" @@ -352,20 +491,29 @@ msgid "" "package \"foo\", you may see these files when the distribution package is " "installed::" msgstr "" +"El directorio común es \"pyshared\" y los nombres de los archivos se " +"diferencian identificando la implementación de Python (como CPython, PyPy, " +"Jython, etc.), los números de versión principal y secundaria, y las banderas " +"de compilación opcionales (como \"d\" para debug, \"m\" para pymalloc, \"u\" " +"para ancho-unicode). Para un paquete arbitrario \"foo\", se verán estos " +"archivos cuando se instala el paquete de distribución::" #: ../Doc/whatsnew/3.2.rst:372 msgid "" "In Python itself, the tags are accessible from functions in the :mod:" "`sysconfig` module::" msgstr "" +"En Python mismo, las etiquetas son accesibles desde funciones en el módulo :" +"mod:`sysconfig`::" #: ../Doc/whatsnew/3.2.rst:383 msgid ":pep:`3149` - ABI Version Tagged .so Files" msgstr "" +":pep:`3149` - PEP 3149: Archivos .so con etiquetado de versión para ABI" #: ../Doc/whatsnew/3.2.rst:388 msgid "PEP 3333: Python Web Server Gateway Interface v1.0.1" -msgstr "" +msgstr "PEP 3333: Interfaz de puerta de enlace del servidor web Python v1.0.1" #: ../Doc/whatsnew/3.2.rst:390 msgid "" @@ -374,6 +522,10 @@ msgid "" "most conveniently handled with the :class:`str` type even though the HTTP " "protocol is itself bytes oriented." msgstr "" +"Este PEP informativo aclara cómo el protocolo WSGI debe gestionar los " +"problemas de bytes/texto. El desafío es que el manejo de cadenas de " +"caracteres en Python 3 se maneja de manera más conveniente con el tipo :" +"class:`str` aunque el protocolo HTTP está orientado a bytes." #: ../Doc/whatsnew/3.2.rst:395 msgid "" @@ -381,6 +533,10 @@ msgid "" "response headers and metadata versus *byte strings* which are used for the " "bodies of requests and responses." msgstr "" +"El PEP diferencia las llamadas *cadenas nativas* que se utilizan para los " +"encabezados y metadatos de solicitud/respuesta (*request/response*) frente a " +"las *cadenas de bytes* que se utilizan para los cuerpos de las solicitudes y " +"respuestas." #: ../Doc/whatsnew/3.2.rst:399 msgid "" @@ -392,17 +548,29 @@ msgid "" "respect to encoding. That is, they must either be *ISO-8859-1* characters or " "use :rfc:`2047` MIME encoding." msgstr "" +"Las *cadenas nativas* son siempre de tipo :class:`str` pero están " +"restringidas a puntos de código entre *U+0000 * hasta *U+00FF* que se pueden " +"traducir a bytes usando la codificación *Latin-1*. Estas cadenas de " +"caracteres se utilizan para las claves y valores en el diccionario de " +"entorno y para los encabezados y estados de respuesta en la función :func:" +"`start_response`. Deben seguir :rfc:`2616` con respecto a la codificación. " +"Es decir, deben tener caracteres *ISO-8859-1* o utilizar codificación MIME :" +"rfc:`2047`." #: ../Doc/whatsnew/3.2.rst:407 msgid "" "For developers porting WSGI applications from Python 2, here are the salient " "points:" msgstr "" +"Para los desarrolladores que portan aplicaciones WSGI desde Python 2, estos " +"son los puntos destacados:" #: ../Doc/whatsnew/3.2.rst:410 msgid "" "If the app already used strings for headers in Python 2, no change is needed." msgstr "" +"Si la aplicación ya usó cadenas para encabezados en Python 2, no es " +"necesario ningún cambio." #: ../Doc/whatsnew/3.2.rst:412 msgid "" @@ -411,6 +579,11 @@ msgid "" "header encoded in utf-8 was using ``h.encode('utf-8')`` now needs to convert " "from bytes to native strings using ``h.encode('utf-8').decode('latin-1')``." msgstr "" +"Si, en cambio, la aplicación codificó encabezados de salida o decodificó " +"encabezados de entrada, entonces los encabezados deberán volver a " +"codificarse en Latin-1. Por ejemplo, un encabezado de salida codificado en " +"utf-8 usaba ``h.encode('utf-8')``, ahora se necesita convertir de bytes a " +"cadenas nativas usando ``h.encode('utf-8').decode('latin-1')``." #: ../Doc/whatsnew/3.2.rst:417 msgid "" @@ -418,6 +591,9 @@ msgid "" "be byte strings. The :func:`start_response` function and environ must use " "native strings. The two cannot be mixed." msgstr "" +"Los valores proporcionados por una aplicación o enviados mediante el método :" +"meth:`write` deben ser cadenas de bytes. La función :func:`start_response` y " +"el entorno deben usar cadenas nativas. Los dos no se pueden mezclar." #: ../Doc/whatsnew/3.2.rst:421 msgid "" @@ -429,22 +605,31 @@ msgid "" "variables from :attr:`os.environ` into native strings and returning a new " "dictionary." msgstr "" +"Para los implementadores de servidores que escriben rutas de CGI a WSGI u " +"otros protocolos de estilo CGI, los usuarios deben poder acceder al entorno " +"utilizando cadenas nativas, aunque la plataforma subyacente pueda tener una " +"convención diferente. Para cerrar esta brecha, el módulo :mod:`wsgiref` " +"tiene una nueva función, :func:`wsgiref.handlers.read_environ` para " +"transcodificar variables CGI de :attr:`os.environ` en cadenas nativas y " +"retornar un nuevo diccionario." #: ../Doc/whatsnew/3.2.rst:430 msgid ":pep:`3333` - Python Web Server Gateway Interface v1.0.1" msgstr "" +":pep:`3333` - Interfaz de puerta de enlace del servidor web Python v1.0.1" #: ../Doc/whatsnew/3.2.rst:431 msgid "PEP written by Phillip Eby." -msgstr "" +msgstr "PEP escrito por Phillip Eby." #: ../Doc/whatsnew/3.2.rst:435 msgid "Other Language Changes" -msgstr "" +msgstr "Otros cambios de lenguaje" #: ../Doc/whatsnew/3.2.rst:437 msgid "Some smaller changes made to the core Python language are:" msgstr "" +"Algunos cambios más pequeños realizados en el lenguaje central de Python son:" #: ../Doc/whatsnew/3.2.rst:439 msgid "" @@ -455,11 +640,18 @@ msgid "" "and Decimal, causing the output to always have a decimal point even when no " "digits follow it." msgstr "" +"El formato de cadena de caracteres para :func:`format` y :meth:`str.format` " +"obtuvo nuevas capacidades para el carácter de formato **#**. Anteriormente, " +"para enteros en binario, octal o hexadecimal, hacía que la salida tuviera el " +"prefijo '0b', '0o' o '0x' respectivamente. Ahora también puede manejar " +"flotantes, complejos y decimales, lo que hace que la salida siempre tenga un " +"punto decimal, incluso cuando no le siguen dígitos." #: ../Doc/whatsnew/3.2.rst:451 msgid "" "(Suggested by Mark Dickinson and implemented by Eric Smith in :issue:`7094`.)" msgstr "" +"(Sugerido por Mark Dickinson e implementado por Eric Smith en :issue:`7094`.)" #: ../Doc/whatsnew/3.2.rst:453 msgid "" @@ -472,12 +664,23 @@ msgid "" "class:`dict` subclasses that normalize keys before look-up or that supply a :" "meth:`__missing__` method for unknown keys::" msgstr "" +"También hay un nuevo método :meth:`str.format_map` que amplía las " +"capacidades del método existente :meth:`str.format` al aceptar objetos " +"arbitrarios :term:`mapping`. Este nuevo método hace posible usar formato de " +"cadena de caracteres con cualquiera de los muchos objetos similares a " +"diccionarios de Python, como :class:`~collections.defaultdict`, :class:" +"`~shelve.Shelf`, :class:`~configparser.ConfigParser`, o :mod:`dbm`. También " +"es útil con subclases personalizadas :class:`dict` que normalizan claves " +"antes de la búsqueda o que proporcionan un método :meth:`__missing__` para " +"claves desconocidas::" #: ../Doc/whatsnew/3.2.rst:480 msgid "" "(Suggested by Raymond Hettinger and implemented by Eric Smith in :issue:" "`6081`.)" msgstr "" +"(Sugerido por Raymond Hettinger e implementado por Eric Smith en :issue:" +"`6081`.)" #: ../Doc/whatsnew/3.2.rst:483 msgid "" @@ -486,10 +689,14 @@ msgid "" "interactive mode. The option can be introspected using the :attr:`sys." "flags` attribute:" msgstr "" +"El intérprete ahora puede iniciarse con una opción silenciosa, ``-q``, para " +"evitar que la información de copyright y versión se muestre en el modo " +"interactivo. La opción se puede introspectar usando el atributo :attr:`sys." +"flags`:" #: ../Doc/whatsnew/3.2.rst:495 msgid "(Contributed by Marcin Wojdyr in :issue:`1772833`)." -msgstr "" +msgstr "(Contribución de Marcin Wojdyr en :issue:`1772833`)." #: ../Doc/whatsnew/3.2.rst:497 msgid "" @@ -501,11 +708,20 @@ msgid "" "has been tightened to only catch :exc:`AttributeError` and let other " "exceptions pass through::" msgstr "" +"La función :func:`hasattr` funciona llamando a :func:`getattr` y detectando " +"si se genera una excepción. Esta técnica le permite detectar métodos creados " +"dinámicamente por :meth:`__getattr__` o :meth:`__getattribute__` que de otra " +"manera estarían ausentes en el diccionario de la clase. Anteriormente, " +"*hasattr* detectaba cualquier excepción, posiblemente enmascarando errores " +"genuinos. Ahora, *hasattr* se ha ajustado para capturar solo :exc:" +"`AttributeError` y dejar que otras excepciones pasen::" #: ../Doc/whatsnew/3.2.rst:516 msgid "" "(Discovered by Yury Selivanov and fixed by Benjamin Peterson; :issue:`9666`.)" msgstr "" +"(Descubierto por Yury Selivanov y arreglado por Benjamin Peterson; :issue:" +"`9666`.)" #: ../Doc/whatsnew/3.2.rst:518 msgid "" @@ -514,10 +730,14 @@ msgid "" "confusion and is no longer needed now that the shortest possible :func:" "`repr` is displayed by default:" msgstr "" +"La :func:`str` de un número flotante o complejo ahora es el mismo que su :" +"func:`repr`. Anteriormente, el formulario :func:`str` era más corto, pero " +"eso solo causaba confusión y ya no es necesario ahora que el más corto " +"posible :func:`repr` se muestra por defecto:" #: ../Doc/whatsnew/3.2.rst:529 msgid "(Proposed and implemented by Mark Dickinson; :issue:`9337`.)" -msgstr "" +msgstr "(Propuesto e implementado por Mark Dickinson; :issue:`9337`.)" #: ../Doc/whatsnew/3.2.rst:531 msgid "" @@ -526,16 +746,22 @@ msgid "" "timely release of any resources that were acquired when requesting a buffer " "from the original object." msgstr "" +"Los objetos :class:`memoryview` ahora tienen un método :meth:`~memoryview." +"release()` y ahora también admiten el protocolo de gestión de contexto. Esto " +"permite la liberación oportuna de los recursos adquiridos al solicitar un " +"búfer del objeto original." #: ../Doc/whatsnew/3.2.rst:540 msgid "(Added by Antoine Pitrou; :issue:`9757`.)" -msgstr "" +msgstr "(Añadido por Antoine Pitrou; :issue:`9757`.)" #: ../Doc/whatsnew/3.2.rst:542 msgid "" "Previously it was illegal to delete a name from the local namespace if it " "occurs as a free variable in a nested block::" msgstr "" +"Anteriormente, era ilegal eliminar un nombre del espacio de nombres local si " +"aparece como una variable libre en un bloque anidado::" #: ../Doc/whatsnew/3.2.rst:551 msgid "" @@ -543,10 +769,14 @@ msgid "" "clause is cleared, so this code which used to work with Python 2.6, raised " "a :exc:`SyntaxError` with Python 3.1 and now works again::" msgstr "" +"Esto ahora está permitido. Recuerde que el objetivo de una cláusula :keyword:" +"`except` se borra, por lo que este código que solía funcionar con Python " +"2.6, genera un :exc: SyntaxError` con Python 3.1 y ahora funciona " +"nuevamente::" #: ../Doc/whatsnew/3.2.rst:564 msgid "(See :issue:`4617`.)" -msgstr "" +msgstr "(Ver :issue:`4617`.)" #: ../Doc/whatsnew/3.2.rst:566 msgid "" @@ -557,24 +787,37 @@ msgid "" "argument. This is a big step forward in making the C structures as flexible " "as their pure Python counterparts:" msgstr "" +"La herramienta interna :c:type:`structsequence` ahora crea subclases de " +"tupla. Esto significa que las estructuras C como las retornadas por :func:" +"`os.stat`, :func:`time.gmtime`, y :attr:`sys.version_info` ahora funcionan " +"como :term:`named tuple` y ahora trabaja con funciones y métodos que esperan " +"una tupla como argumento. Este es un gran paso adelante para hacer que las " +"estructuras de C sean tan flexibles como sus contrapartes de Python puro:" #: ../Doc/whatsnew/3.2.rst:579 msgid "" "(Suggested by Arfrever Frehtes Taifersar Arahesis and implemented by " "Benjamin Peterson in :issue:`8413`.)" msgstr "" +"(Sugerido por Arfrever Frehtes Taifersar Arahesis e implementado por " +"Benjamin Peterson en :issue:`8413`.)" #: ../Doc/whatsnew/3.2.rst:582 msgid "" "Warnings are now easier to control using the :envvar:`PYTHONWARNINGS` " "environment variable as an alternative to using ``-W`` at the command line:" msgstr "" +"Las *Warnings* ahora son más fáciles de controlar usando la variable de " +"entorno :envvar:`PYTHONWARNINGS` como alternativa al uso de ``-W`` en la " +"línea de comando:" #: ../Doc/whatsnew/3.2.rst:589 msgid "" "(Suggested by Barry Warsaw and implemented by Philip Jenvey in :issue:" "`7301`.)" msgstr "" +"(Sugerido por Barry Warsaw e implementado por Philip Jenvey en :issue:" +"`7301`.)" #: ../Doc/whatsnew/3.2.rst:591 msgid "" @@ -584,6 +827,11 @@ msgid "" "enabled through the means provided by the :mod:`warnings` module, or on the " "command line." msgstr "" +"Se ha agregado una nueva categoría de advertencia, :exc:`ResourceWarning`. " +"Se emite cuando se detectan problemas potenciales con el consumo de recursos " +"o la limpieza. Está silenciado de forma predeterminada en las versiones de " +"lanzamiento normales, pero se puede habilitar a través de los medios " +"proporcionados por el módulo :mod:`warnings` o en la línea de comandos." #: ../Doc/whatsnew/3.2.rst:597 msgid "" @@ -592,6 +840,11 @@ msgid "" "uncollectable objects are printed. This is meant to make the programmer " "aware that their code contains object finalization issues." msgstr "" +"Un :exc:`ResourceWarning` se emite en el cierre del intérprete si la lista :" +"data:`gc.garbage` no está vacía, y si :attr:`gc.DEBUG_UNCOLLECTABLE` está " +"configurado, se imprimen todos los objetos no recolectados. Esto tiene como " +"objetivo informar al programador de que su código contiene problemas de " +"finalización de objetos." #: ../Doc/whatsnew/3.2.rst:602 msgid "" @@ -602,12 +855,21 @@ msgid "" "produce various issues, especially under Windows. Here is an example of " "enabling the warning from the command line:" msgstr "" +"Un :exc:`ResourceWarning` también se emite cuando un :term:`file object` se " +"destruye sin haber sido cerrado explícitamente. Si bien el desasignador de " +"dicho objeto asegura que cierra el recurso del sistema operativo subyacente " +"(generalmente, un descriptor de archivo), la demora en desasignar el objeto " +"podría producir varios problemas, especialmente en Windows. A continuación, " +"se muestra un ejemplo de cómo habilitar la advertencia desde la línea de " +"comando:" #: ../Doc/whatsnew/3.2.rst:616 msgid "" "(Added by Antoine Pitrou and Georg Brandl in :issue:`10093` and :issue:" "`477863`.)" msgstr "" +"(Agregado por Antoine Pitrou y Georg Brandl en :issue:`10093` y :issue:" +"`477863`.)" #: ../Doc/whatsnew/3.2.rst:618 msgid "" @@ -618,12 +880,21 @@ msgid "" "and negative indices, even with values larger than :attr:`sys.maxsize`. " "This makes *range* more interoperable with lists::" msgstr "" +"Los objetos :class:`range` ahora admiten los métodos *index* y *count*. Esto " +"es parte de un esfuerzo para hacer que más objetos implementen completamente " +"la :term:`abstract base class` :class:`collections.Sequence`. Como " +"resultado, el lenguaje tendrá una API más uniforme. Además, los objetos :" +"class:`range` ahora admiten índices negativos y de corte, incluso con " +"valores mayores que :attr:`sys.maxsize`. Esto hace que *range* sea más " +"interoperable con listas::" #: ../Doc/whatsnew/3.2.rst:634 msgid "" "(Contributed by Daniel Stutzbach in :issue:`9213`, by Alexander Belopolsky " "in :issue:`2690`, and by Nick Coghlan in :issue:`10889`.)" msgstr "" +"(Contribuido por Daniel Stutzbach en :issue:`9213`, por Alexander Belopolsky " +"en :issue:`2690`, y por Nick Coghlan en :issue:`10889`.)" #: ../Doc/whatsnew/3.2.rst:637 msgid "" @@ -631,10 +902,13 @@ msgid "" "provides a concise, readable alternative to using an :term:`abstract base " "class` in an expression like ``isinstance(x, collections.Callable)``:" msgstr "" +"Se resucitó la función incorporada :func:`callable` de Py2.x. Proporciona " +"una alternativa concisa y legible al uso de una :term:`abstract base class` " +"en una expresión como ``isinstance(x, collections.Callable)``:" #: ../Doc/whatsnew/3.2.rst:646 msgid "(See :issue:`10518`.)" -msgstr "" +msgstr "(Ver :issue:`10518`.)" #: ../Doc/whatsnew/3.2.rst:648 msgid "" @@ -642,20 +916,26 @@ msgid "" "non-ASCII characters in the path name. This solved an aggravating problem " "with home directories for users with non-ASCII characters in their usernames." msgstr "" +"El mecanismo de importación de Python ahora puede cargar módulos instalados " +"en directorios con caracteres no ASCII en el nombre de la ruta. Esto " +"resolvió un problema agravante con los directorios de inicio para los " +"usuarios con caracteres no ASCII en sus nombres de usuario." #: ../Doc/whatsnew/3.2.rst:652 msgid "(Required extensive work by Victor Stinner in :issue:`9425`.)" -msgstr "" +msgstr "(Trabajo extenso requerido por Victor Stinner en :issue:`9425`.)" #: ../Doc/whatsnew/3.2.rst:656 msgid "New, Improved, and Deprecated Modules" -msgstr "" +msgstr "Módulos nuevos, mejorados y obsoletos" #: ../Doc/whatsnew/3.2.rst:658 msgid "" "Python's standard library has undergone significant maintenance efforts and " "quality improvements." msgstr "" +"La biblioteca estándar de Python ha sido objeto de importantes esfuerzos de " +"mantenimiento y mejoras de calidad." #: ../Doc/whatsnew/3.2.rst:661 msgid "" @@ -664,6 +944,10 @@ msgid "" "bytes/text model in Python 3. For the first time, there is correct handling " "of messages with mixed encodings." msgstr "" +"La mayor novedad para Python 3.2 es que el paquete :mod:`email`, el módulo :" +"mod:`mailbox` y los módulos :mod:`nntplib` ahora funcionan correctamente con " +"el modelo de bytes/texto en Python 3. Por primera vez , existe un manejo " +"correcto de mensajes con codificaciones mixtas." #: ../Doc/whatsnew/3.2.rst:666 msgid "" @@ -672,22 +956,32 @@ msgid "" "the operating system are now better able to exchange non-ASCII data using " "the Windows MBCS encoding, locale-aware encodings, or UTF-8." msgstr "" +"En toda la biblioteca estándar, se ha prestado más atención a las " +"codificaciones y los problemas de texto frente a bytes. En particular, las " +"interacciones con el sistema operativo ahora son más capaces de intercambiar " +"datos que no son ASCII mediante la codificación MBCS de Windows, " +"codificaciones con reconocimiento de configuración regional o UTF-8." #: ../Doc/whatsnew/3.2.rst:671 msgid "" "Another significant win is the addition of substantially better support for " "*SSL* connections and security certificates." msgstr "" +"Otro logro importante es la adición de un soporte sustancialmente mejor para " +"conexiones *SSL* y certificados de seguridad." #: ../Doc/whatsnew/3.2.rst:674 msgid "" "In addition, more classes now implement a :term:`context manager` to support " "convenient and reliable resource clean-up using a :keyword:`with` statement." msgstr "" +"Además, más clases ahora implementan :term:`context manager` para soportar " +"una conveniente y confiable limpieza de recursos usando una declaración :" +"keyword:`with`." #: ../Doc/whatsnew/3.2.rst:678 msgid "email" -msgstr "" +msgstr "email" #: ../Doc/whatsnew/3.2.rst:680 msgid "" @@ -698,14 +992,26 @@ msgid "" "email. So, the email package had to be extended to parse and generate email " "messages in bytes format." msgstr "" +"La usabilidad del paquete :mod:`email` en Python 3 se ha solucionado " +"principalmente gracias a los amplios esfuerzos de R. David Murray. El " +"problema era que los correos electrónicos generalmente se leen y almacenan " +"en forma de :class:`bytes` en lugar de texto :class:`str`, y pueden contener " +"múltiples codificaciones dentro de un solo correo electrónico. Por lo tanto, " +"el paquete email tuvo que ampliarse para analizar y generar mensajes de " +"correo electrónico en formato de bytes." #: ../Doc/whatsnew/3.2.rst:687 +#, fuzzy msgid "" "New functions :func:`~email.message_from_bytes` and :func:`~email." "message_from_binary_file`, and new classes :class:`~email.parser." "BytesFeedParser` and :class:`~email.parser.BytesParser` allow binary message " "data to be parsed into model objects." msgstr "" +"Nuevas funciones :func:`~email.message_from_bytes` y :func:`~email." +"message_from_binary_file`, y nuevas clases :class:`~email.parser." +"BytesFeedParser` y :class:`~email.parser.BytesParser` permiten mensajes de " +"datos en binario ser analizados (*parsed*) en objetos modelados." #: ../Doc/whatsnew/3.2.rst:692 msgid "" @@ -714,6 +1020,11 @@ msgid "" "Transfer-Encoding` of *8bit* using the charset specified in the MIME headers " "and return the resulting string." msgstr "" +"Dada la entrada de bytes al modelo, :meth:`~email.message.Message." +"get_payload` decodificará por defecto un cuerpo de mensaje que tiene un :" +"mailheader:`Content-Transfer-Encoding` de *8bit* usando el juego de " +"caracteres especificado en el encabezados MIME y retorna la cadena de " +"caracteres resultante." #: ../Doc/whatsnew/3.2.rst:697 msgid "" @@ -721,12 +1032,18 @@ msgid "" "convert message bodies that have a :mailheader:`Content-Transfer-Encoding` " "of *8bit* to instead have a *7bit* :mailheader:`Content-Transfer-Encoding`." msgstr "" +"Dada la entrada de bytes al modelo, :class:`~email.generator.Generator` " +"convertirá los cuerpos de los mensajes que tengan un :mailheader:`Content-" +"Transfer-Encoding` de *8bit* para tener en su lugar un *7bit*:mailheader:" +"`Content-Transfer-Encoding`." #: ../Doc/whatsnew/3.2.rst:701 msgid "" "Headers with unencoded non-ASCII bytes are deemed to be :rfc:`2047`\\ -" "encoded using the *unknown-8bit* character set." msgstr "" +"Los encabezados con bytes no codificados que no sean ASCII se consideran :" +"rfc:`2047`\\ -codificados utilizando el juego de caracteres *unknown-8bit*." #: ../Doc/whatsnew/3.2.rst:704 msgid "" @@ -735,6 +1052,11 @@ msgid "" "input used to build the model, including message bodies with a :mailheader:" "`Content-Transfer-Encoding` of *8bit*." msgstr "" +"Una nueva clase :class:`~email.generator.BytesGenerator` produce bytes como " +"salida, conservando cualquier dato no ASCII sin cambios que estuviera " +"presente en la entrada utilizada para construir el modelo, incluidos los " +"cuerpos de los mensajes con un :mailheader:`Content-Transfer-Encoding` de " +"*8bit*." #: ../Doc/whatsnew/3.2.rst:709 msgid "" @@ -744,99 +1066,127 @@ msgid "" "message.Message` object and can optionally obtain the *from_addr* and " "*to_addrs* addresses directly from the object." msgstr "" +"La clase :mod:`smtplib`:class:`~smtplib.SMTP` ahora acepta una cadena de " +"bytes para el argumento *msg* para el método :meth:`~smtplib.SMTP.sendmail`, " +"y un nuevo método, :meth:`~smtplib.SMTP.send_message` acepta un objeto :" +"class:`~email.message.Message` y opcionalmente puede obtener las direcciones " +"*from_addr* y *to_addrs* directamente del objeto." #: ../Doc/whatsnew/3.2.rst:715 msgid "" "(Proposed and implemented by R. David Murray, :issue:`4661` and :issue:" "`10321`.)" msgstr "" +"(Propuesto e implementado por R. David Murray, :issue:`4661` y :issue:" +"`10321`.)" #: ../Doc/whatsnew/3.2.rst:718 msgid "elementtree" -msgstr "" +msgstr "elementtree" #: ../Doc/whatsnew/3.2.rst:720 msgid "" "The :mod:`xml.etree.ElementTree` package and its :mod:`xml.etree." "cElementTree` counterpart have been updated to version 1.3." msgstr "" +"El paquete :mod:`xml.etree.ElementTree` y su contraparte :mod:`xml.etree." +"cElementTree` se han actualizado a la versión 1.3." #: ../Doc/whatsnew/3.2.rst:723 msgid "Several new and useful functions and methods have been added:" -msgstr "" +msgstr "Se han agregado varias nuevas y útiles funciones y métodos:" #: ../Doc/whatsnew/3.2.rst:725 msgid "" ":func:`xml.etree.ElementTree.fromstringlist` which builds an XML document " "from a sequence of fragments" msgstr "" +":func:`xml.etree.ElementTree.fromstringlist` que crea un documento XML a " +"partir de una secuencia de fragmentos" #: ../Doc/whatsnew/3.2.rst:727 msgid "" ":func:`xml.etree.ElementTree.register_namespace` for registering a global " "namespace prefix" msgstr "" +":func:`xml.etree.ElementTree.register_namespace` para registrar un prefijo " +"de espacio de nombres global" #: ../Doc/whatsnew/3.2.rst:729 msgid "" ":func:`xml.etree.ElementTree.tostringlist` for string representation " "including all sublists" msgstr "" +":func:`xml.etree.ElementTree.tostringlist` para la representación de cadenas " +"de caracteres, incluidas todas las sublistas" #: ../Doc/whatsnew/3.2.rst:731 msgid "" ":meth:`xml.etree.ElementTree.Element.extend` for appending a sequence of " "zero or more elements" msgstr "" +":meth:`xml.etree.ElementTree.Element.extend` para agregar una secuencia de " +"cero o más elementos" #: ../Doc/whatsnew/3.2.rst:733 msgid "" ":meth:`xml.etree.ElementTree.Element.iterfind` searches an element and " "subelements" msgstr "" +":meth:`xml.etree.ElementTree.Element.iterfind` busca un elemento y " +"subelementos" #: ../Doc/whatsnew/3.2.rst:735 msgid "" ":meth:`xml.etree.ElementTree.Element.itertext` creates a text iterator over " "an element and its subelements" msgstr "" +":meth:`xml.etree.ElementTree.Element.itertext` crea un iterador de texto " +"sobre un elemento y sus subelementos" #: ../Doc/whatsnew/3.2.rst:737 msgid "" ":meth:`xml.etree.ElementTree.TreeBuilder.end` closes the current element" msgstr "" +":meth:`xml.etree.ElementTree.TreeBuilder.end` cierra el elemento actual" #: ../Doc/whatsnew/3.2.rst:738 msgid "" ":meth:`xml.etree.ElementTree.TreeBuilder.doctype` handles a doctype " "declaration" msgstr "" +":meth:`xml.etree.ElementTree.TreeBuilder.doctype` gestiona la declaración " +"*doctype*" #: ../Doc/whatsnew/3.2.rst:741 msgid "Two methods have been deprecated:" -msgstr "" +msgstr "Dos métodos que han sido deprecados:" #: ../Doc/whatsnew/3.2.rst:743 msgid ":meth:`xml.etree.ElementTree.getchildren` use ``list(elem)`` instead." msgstr "" +":meth:`xml.etree.ElementTree.getchildren` usar ``list(elem)`` en su lugar." #: ../Doc/whatsnew/3.2.rst:744 msgid ":meth:`xml.etree.ElementTree.getiterator` use ``Element.iter`` instead." msgstr "" +":meth:`xml.etree.ElementTree.getiterator` usar ``Element.iter`` en su lugar." #: ../Doc/whatsnew/3.2.rst:746 msgid "" "For details of the update, see `Introducing ElementTree `_ on Fredrik Lundh's website." msgstr "" +"Para los detalles de la actualización, veer `Introducing ElementTree `_ en el sitio web de Fredrik Lundh." #: ../Doc/whatsnew/3.2.rst:749 msgid "(Contributed by Florent Xicluna and Fredrik Lundh, :issue:`6472`.)" -msgstr "" +msgstr "(Contribución de Florent Xicluna y Fredrik Lundh, :issue:`6472`.)" #: ../Doc/whatsnew/3.2.rst:752 msgid "functools" -msgstr "" +msgstr "functools" #: ../Doc/whatsnew/3.2.rst:754 msgid "" @@ -844,24 +1194,35 @@ msgid "" "calls. :func:`functools.lru_cache` can save repeated queries to an external " "resource whenever the results are expected to be the same." msgstr "" +"El módulo :mod:`functools` incluye un nuevo decorador para almacenar en " +"caché las llamadas a funciones. :func:`functools.lru_cache` puede guardar " +"consultas repetidas en un recurso externo siempre que se espere que los " +"resultados sean los mismos." #: ../Doc/whatsnew/3.2.rst:758 msgid "" "For example, adding a caching decorator to a database query function can " "save database accesses for popular searches:" msgstr "" +"Por ejemplo, agregar un decorador de almacenamiento en caché a una función " +"de consulta de base de datos puede ahorrar accesos a la base de datos para " +"búsquedas populares:" #: ../Doc/whatsnew/3.2.rst:771 msgid "" "To help with choosing an effective cache size, the wrapped function is " "instrumented for tracking cache statistics:" msgstr "" +"Para ayudar a elegir un tamaño de caché efectivo, la función encapsulada " +"está instrumentada para rastrear estadísticas de caché:" #: ../Doc/whatsnew/3.2.rst:777 msgid "" "If the phonelist table gets updated, the outdated contents of the cache can " "be cleared with:" msgstr "" +"Si la tabla *phonelist* se actualiza, el contenido desactualizado de la " +"caché se puede borrar con:" #: ../Doc/whatsnew/3.2.rst:782 msgid "" @@ -870,6 +1231,10 @@ msgid "" "activestate.com/recipes/498245>`_\\, `recipe 577479 `_\\, :issue:`10586`, and :issue:`10593`.)" msgstr "" +"(Contribución de Raymond Hettinger e incorporando ideas de diseño de Jim " +"Baker, Miki Tebeka, y Nick Coghlan; ver `recipe 498245 `_\\, `recipe 577479 `_\\, :issue:`10586`, y :issue:`10593`.)" #: ../Doc/whatsnew/3.2.rst:788 msgid "" @@ -879,18 +1244,28 @@ msgid "" "defined. And now it also gracefully skips over missing attributes such as :" "attr:`__doc__` which might not be defined for the wrapped callable." msgstr "" +"El decorador :func:`functools.wraps` ahora agrega un atributo :attr:" +"`__wrapped__` que apunta a la función invocable original. Esto permite la " +"introspección de funciones envueltas (*wrapped*). También copia :attr:" +"`__annotations__` si está definido. Y ahora también omite elegantemente los " +"atributos faltantes como :attr:`__doc__` que podrían no estar definidos para " +"el invocable envuelto." #: ../Doc/whatsnew/3.2.rst:794 msgid "" "In the above example, the cache can be removed by recovering the original " "function:" msgstr "" +"En el ejemplo anterior, la caché se puede eliminar recuperando la función " +"original:" #: ../Doc/whatsnew/3.2.rst:799 msgid "" "(By Nick Coghlan and Terrence Cole; :issue:`9567`, :issue:`3445`, and :issue:" "`8814`.)" msgstr "" +"(Por Nick Coghlan y Terrence Cole; :issue:`9567`, :issue:`3445`, y :issue:" +"`8814`.)" #: ../Doc/whatsnew/3.2.rst:802 msgid "" @@ -898,25 +1273,32 @@ msgid "" "`functools.total_ordering` will use existing equality and inequality methods " "to fill in the remaining methods." msgstr "" +"Para ayudar a escribir clases con métodos de comparación enriquecidos, un " +"nuevo decorador :func:`functools.total_ordering` usará métodos de igualdad y " +"desigualdad existentes para completar los métodos restantes." #: ../Doc/whatsnew/3.2.rst:806 msgid "" "For example, supplying *__eq__* and *__lt__* will enable :func:`~functools." "total_ordering` to fill-in *__le__*, *__gt__* and *__ge__*::" msgstr "" +"Por ejemplo, suministrar *__eq__* y *__lt__* permitirá que :func:`~functools." +"total_ordering` complete *__le__*, *__gt__* and *__ge__*::" #: ../Doc/whatsnew/3.2.rst:819 msgid "" "With the *total_ordering* decorator, the remaining comparison methods are " "filled in automatically." msgstr "" +"Con el decorador *total_ordering*, los métodos de comparación restantes se " +"completan automáticamente." #: ../Doc/whatsnew/3.2.rst:822 ../Doc/whatsnew/3.2.rst:834 #: ../Doc/whatsnew/3.2.rst:878 ../Doc/whatsnew/3.2.rst:899 #: ../Doc/whatsnew/3.2.rst:913 ../Doc/whatsnew/3.2.rst:1783 #: ../Doc/whatsnew/3.2.rst:1828 msgid "(Contributed by Raymond Hettinger.)" -msgstr "" +msgstr "(Contribución por Raymond Hettinger.)" #: ../Doc/whatsnew/3.2.rst:824 msgid "" @@ -924,38 +1306,50 @@ msgid "" "function converts an old-style comparison function to modern :term:`key " "function`:" msgstr "" +"Para ayudar en la migración de programas desde Python 2, la función :func:" +"`functools.cmp_to_key` convierte una función de comparación de estilo " +"antiguo en la nueva :term:`key function`:" #: ../Doc/whatsnew/3.2.rst:831 msgid "" "For sorting examples and a brief sorting tutorial, see the `Sorting HowTo " "`_ tutorial." msgstr "" +"Para obtener ejemplos de ordenación y un breve tutorial, consulte el " +"tutorial `Sorting HowTo `_." #: ../Doc/whatsnew/3.2.rst:837 msgid "itertools" -msgstr "" +msgstr "itertools" #: ../Doc/whatsnew/3.2.rst:839 msgid "" "The :mod:`itertools` module has a new :func:`~itertools.accumulate` function " "modeled on APL's *scan* operator and Numpy's *accumulate* function:" msgstr "" +"El módulo :mod:`itertools` tiene una nueva función :func:`~itertools." +"accumulate` modelada en el operador *scan* de APL y la función *accumulate* " +"de Numpy:" #: ../Doc/whatsnew/3.2.rst:850 msgid "" "For an example using :func:`~itertools.accumulate`, see the :ref:`examples " "for the random module `." msgstr "" +"Para un ejemplo usando :func:`~itertools.accumulate`, vea los :ref:`ejemplos " +"para el módulo aleatorio `." #: ../Doc/whatsnew/3.2.rst:853 msgid "" "(Contributed by Raymond Hettinger and incorporating design suggestions from " "Mark Dickinson.)" msgstr "" +"(Contribución de Raymond Hettinger e incorporando sugerencias de diseño de " +"Mark Dickinson.)" #: ../Doc/whatsnew/3.2.rst:857 msgid "collections" -msgstr "" +msgstr "collections" #: ../Doc/whatsnew/3.2.rst:859 msgid "" @@ -967,6 +1361,13 @@ msgid "" "only have positive counts, and the latter is more suitable for use cases " "that allow negative counts:" msgstr "" +"La clase :class:`collections.Counter` ahora tiene dos formas de resta in " +"situ, el operador existente *-=* para `saturación de resta `_ y el nuevo método :" +"meth:`~collections.Counter.subtract` para la resta regular. El primero es " +"adecuado para `muticonjunto `_ " +"que solo tienen recuentos positivos, y el último es más adecuado para casos " +"de uso que permiten recuentos negativos:" #: ../Doc/whatsnew/3.2.rst:880 msgid "" @@ -974,12 +1375,17 @@ msgid "" "`~collections.OrderedDict.move_to_end` which takes an existing key and moves " "it to either the first or last position in the ordered sequence." msgstr "" +"La clase :class:`collections.OrderedDict` tiene un nuevo método :meth:" +"`~collections.OrderedDict.move_to_end` que toma una clave existente y mueve " +"a la primera o última posición de la secuencia ordenada." #: ../Doc/whatsnew/3.2.rst:884 msgid "" "The default is to move an item to the last position. This is equivalent of " "renewing an entry with ``od[k] = od.pop(k)``." msgstr "" +"El valor predeterminado es mover un elemento a la última posición. Esto es " +"equivalente a renovar una entrada con ``od[k] = od.pop(k)``." #: ../Doc/whatsnew/3.2.rst:887 msgid "" @@ -987,6 +1393,10 @@ msgid "" "example, an ordered dictionary can be used to track order of access by aging " "entries from the oldest to the most recently accessed." msgstr "" +"Una operación de mover al final rápida es útil para volver a secuenciar " +"entradas. Por ejemplo, se puede usar un diccionario ordenado para rastrear " +"el orden de acceso a las entradas por antigüedad desde la más antigua hasta " +"la más reciente." #: ../Doc/whatsnew/3.2.rst:901 msgid "" @@ -994,10 +1404,13 @@ msgid "" "`~collections.deque.count` and :meth:`~collections.deque.reverse` that make " "them more substitutable for :class:`list` objects:" msgstr "" +"La clase :class:`collections.deque` desarrolló dos métodos nuevos :meth:" +"`~collections.deque.count` y :meth:`~collections.deque.reverse` que los " +"hacen más intercambiables con los objetos :class:`list` :" #: ../Doc/whatsnew/3.2.rst:916 msgid "threading" -msgstr "" +msgstr "threading" #: ../Doc/whatsnew/3.2.rst:918 msgid "" @@ -1007,13 +1420,22 @@ msgid "" "that a task with multiple preconditions does not run until all of the " "predecessor tasks are complete." msgstr "" +"El módulo :mod:`threading` tiene una nueva clase :class:`~threading.Barrier` " +"de sincronización para hacer que varios hilos esperen hasta que todos hayan " +"alcanzado un punto de barrera común. Las barreras son útiles para asegurarse " +"de que una tarea con múltiples condiciones previas no se ejecute hasta que " +"se completen todas las tareas predecesoras." +# https://en.wikipedia.org/wiki/Synchronous_rendezvous redirije a https://en.wikipedia.org/wiki/Barrier_(computer_science) #: ../Doc/whatsnew/3.2.rst:924 msgid "" "Barriers can work with an arbitrary number of threads. This is a " "generalization of a `Rendezvous `_ which is defined for only two threads." msgstr "" +"Las barreras pueden trabajar con un número arbitrario de hilos. Esto es una " +"generalización de `barrera informática `_que se define solo para dos hilos." #: ../Doc/whatsnew/3.2.rst:928 msgid "" @@ -1023,10 +1445,15 @@ msgid "" "one of them can loop back and re-enter the barrier. The barrier fully " "resets after each cycle." msgstr "" +"Implementado como una barrera cíclica de dos fases, los objetos :class:" +"`~threading.Barrier` son adecuados para su uso en bucles. Las fases " +"separadas de *llenado* y *drenaje* aseguran que todos los hilos se liberen " +"(drenan) antes de que cualquiera de ellos pueda retornar y volver a entrar " +"en la barrera. La barrera se restablece completamente después de cada ciclo." #: ../Doc/whatsnew/3.2.rst:933 msgid "Example of using barriers::" -msgstr "" +msgstr "Ejemplo de uso de barreras::" #: ../Doc/whatsnew/3.2.rst:947 msgid "" @@ -1036,6 +1463,12 @@ msgid "" "threads stay alive and continue to do work (summarizing ballots) after the " "barrier point is crossed." msgstr "" +"En este ejemplo, la barrera impone una regla de que los votos no se pueden " +"contar en ningún lugar de votación hasta que se cierren todas las urnas. " +"Observe cómo una solución con una barrera es similar a una con :meth:" +"`threading.Thread.join`, pero los hilos se mantienen vivos y continúan " +"trabajando (resumiendo las papeletas) después de que se cruza el punto de la " +"barrera." #: ../Doc/whatsnew/3.2.rst:953 msgid "" @@ -1045,6 +1478,11 @@ msgid "" "waiting threads are released and a :exc:`~threading.BrokenBarrierError` " "exception is raised::" msgstr "" +"Si alguna de las tareas predecesoras puede bloquearse o retrasarse, se puede " +"crear una barrera con un parámetro opcional *timeout*. Luego, si el período " +"de tiempo de espera transcurre antes de que todas las tareas predecesoras " +"alcancen el punto de barrera, se liberan todos los hilos en espera y se " +"genera una excepción :exc:`~threading.BrokenBarrierError`::" #: ../Doc/whatsnew/3.2.rst:969 msgid "" @@ -1052,6 +1490,9 @@ msgid "" "sites do not finish before midnight, the barrier times-out and the ballots " "are sealed and deposited in a queue for later handling." msgstr "" +"En este ejemplo, la barrera impone una regla más sólida. Si algunos sitios " +"electorales no terminan antes de la medianoche, la barrera expira y las " +"boletas se sellan y se depositan en una cola para su posterior manejo." #: ../Doc/whatsnew/3.2.rst:973 msgid "" @@ -1062,16 +1503,24 @@ msgid "" "`_, " "*section 3.6*." msgstr "" +"Consulte `Patrones de sincronización de barreras ` _ para ver " +"más ejemplos de cómo se pueden utilizar las barreras en computación " +"paralela. Además, hay una explicación simple pero completa de las barreras " +"en `The Little Book of Semaphores `_, *sección 3.6*." #: ../Doc/whatsnew/3.2.rst:979 msgid "" "(Contributed by Kristján Valur Jónsson with an API review by Jeffrey Yasskin " "in :issue:`8777`.)" msgstr "" +"(Contribución de Kristján Valur Jónsson con una revisión de API de Jeffrey " +"Yasskin en :issue:`8777`.)" #: ../Doc/whatsnew/3.2.rst:983 msgid "datetime and time" -msgstr "" +msgstr "datetime and time" #: ../Doc/whatsnew/3.2.rst:985 msgid "" @@ -1080,6 +1529,11 @@ msgid "" "offset and timezone name. This makes it easier to create timezone-aware " "datetime objects::" msgstr "" +"El módulo :mod:`datetime` tiene un nuevo tipo :class:`~datetime.timezone` " +"que implementa la interfaz :class:`~datetime.tzinfo` retornando un " +"desplazamiento fijo desde UTC y un nombre de zona horaria. Esto hace que sea " +"más fácil crear objetos de fecha y hora que tengan en cuenta la zona " +"horaria::" #: ../Doc/whatsnew/3.2.rst:998 msgid "" @@ -1087,12 +1541,19 @@ msgid "" "`float` and divided by :class:`float` and :class:`int` objects. And :class:" "`~datetime.timedelta` objects can now divide one another." msgstr "" +"Además, los objetos :class:`~datetime.timedelta` ahora pueden ser " +"multiplicados por objetos :class:`float` y divididos por objetos :class:" +"`float` e :class:`int`. Y los objetos :class:`~datetime.timedelta` ahora se " +"pueden dividir entre sí." #: ../Doc/whatsnew/3.2.rst:1002 msgid "" "The :meth:`datetime.date.strftime` method is no longer restricted to years " "after 1900. The new supported year range is from 1000 to 9999 inclusive." msgstr "" +"El método :meth:`datetime.date.strftime` ya no está restringido a años " +"posteriores a 1900. El nuevo rango de años admitido es de 1000 a 9999 " +"inclusive." #: ../Doc/whatsnew/3.2.rst:1005 msgid "" @@ -1101,6 +1562,11 @@ msgid "" "means that for a two-digit year, the century is guessed according to the " "POSIX rules governing the ``%y`` strptime format." msgstr "" +"Siempre que se utiliza un año de dos dígitos en una tupla de tiempo, la " +"interpretación se rige por :attr:`time.accept2dyear`. El valor " +"predeterminado es ``True``, lo que significa que para un año de dos dígitos, " +"el siglo se calcula de acuerdo con las reglas POSIX que rigen el formato " +"strptime ``%y``." #: ../Doc/whatsnew/3.2.rst:1010 msgid "" @@ -1109,6 +1575,10 @@ msgid "" "accept2dyear` be set to ``False`` so that large date ranges can be used " "without guesswork::" msgstr "" +"A partir de Py3.2, el uso de la heurística de adivinación del siglo emitirá " +"un :exc:`DeprecationWarning`. En su lugar, se recomienda que :attr:`time." +"accept2dyear` se establezca en ``False`` para que se puedan usar rangos de " +"fechas grandes sin suposiciones::" #: ../Doc/whatsnew/3.2.rst:1029 msgid "" @@ -1118,6 +1588,11 @@ msgid "" "strftime` functions will accept the full range supported by the " "corresponding operating system functions." msgstr "" +"Varias funciones ahora tienen rangos de fechas significativamente ampliados. " +"Cuando :attr:`time.accept2dyear` es falso, la función :func:`time.asctime` " +"aceptará cualquier año que quepa en un entero C, mientras que las funciones :" +"func:`time.mktime` y :func:`time.strftime` aceptarán la gama completa " +"admitida por las funciones correspondientes del sistema operativo." #: ../Doc/whatsnew/3.2.rst:1035 msgid "" @@ -1125,16 +1600,21 @@ msgid "" "`1289118`, :issue:`5094`, :issue:`6641`, :issue:`2706`, :issue:`1777412`, :" "issue:`8013`, and :issue:`10827`.)" msgstr "" +"(Contribución de Alexander Belopolsky y Victor Stinner en :issue:`1289118`, :" +"issue:`5094`, :issue:`6641`, :issue:`2706`, :issue:`1777412`, :issue:`8013`, " +"y :issue:`10827`.)" #: ../Doc/whatsnew/3.2.rst:1042 msgid "math" -msgstr "" +msgstr "math" #: ../Doc/whatsnew/3.2.rst:1044 msgid "" "The :mod:`math` module has been updated with six new functions inspired by " "the C99 standard." msgstr "" +"El módulo :mod:`math` se ha actualizado con seis nuevas funciones inspiradas " +"en el estándar C99." #: ../Doc/whatsnew/3.2.rst:1047 msgid "" @@ -1142,6 +1622,9 @@ msgid "" "detect special values. It returns ``True`` for regular numbers and " "``False`` for *Nan* or *Infinity*:" msgstr "" +"La función :func:`~math.isfinite` proporciona una forma rápida y fiable de " +"detectar valores especiales. Retorna ``True`` para números regulares y " +"``False`` para *Nan* o *Infinity*:" #: ../Doc/whatsnew/3.2.rst:1055 msgid "" @@ -1149,6 +1632,9 @@ msgid "" "without incurring the loss of precision that usually accompanies the " "subtraction of nearly equal quantities:" msgstr "" +"La función :func:`~math.expm1` calcula ``e**x-1`` para valores pequeños de " +"*x* sin incurrir en la pérdida de precisión que generalmente acompaña a la " +"resta de cantidades casi iguales:" #: ../Doc/whatsnew/3.2.rst:1063 msgid "" @@ -1156,6 +1642,9 @@ msgid "" "error function `_. The " "complementary error function, :func:`~math.erfc`, is ``1 - erf(x)``:" msgstr "" +"La función :func:`~math.erf` calcula una integral de probabilidad o `función " +"de error gaussiano `_. La " +"función de error complementaria, :func:`~math.erfc`, es ``1 - erf(x)``:" #: ../Doc/whatsnew/3.2.rst:1078 msgid "" @@ -1165,20 +1654,28 @@ msgid "" "values of *x*, so there is also a :func:`~math.lgamma` function for " "computing the natural logarithm of the gamma function:" msgstr "" +"La función :func:`~math.gamma` es una extensión continua de la función " +"factorial. Consulte https://es.wikipedia.org/wiki/Funci%C3%B3n_gamma para " +"obtener más detalles. Debido a que la función está relacionada con " +"factoriales, crece incluso para valores pequeños de *x*, por lo que también " +"hay una función :func:`~math.lgamma` para calcular el logaritmo natural de " +"la función gamma:" #: ../Doc/whatsnew/3.2.rst:1090 msgid "(Contributed by Mark Dickinson.)" -msgstr "" +msgstr "(Contribución de Mark Dickinson.)" #: ../Doc/whatsnew/3.2.rst:1093 msgid "abc" -msgstr "" +msgstr "abc" #: ../Doc/whatsnew/3.2.rst:1095 msgid "" "The :mod:`abc` module now supports :func:`~abc.abstractclassmethod` and :" "func:`~abc.abstractstaticmethod`." msgstr "" +"El módulo :mod:`abc` ahora admite :func:`~abc.abstractclassmethod` y :func:" +"`~abc.abstractstaticmethod`." #: ../Doc/whatsnew/3.2.rst:1098 msgid "" @@ -1186,14 +1683,17 @@ msgid "" "requires a particular :func:`classmethod` or :func:`staticmethod` to be " "implemented::" msgstr "" +"Estas herramientas permiten definir una :term:`abstract base class` que " +"requiere un func:`classmethod` o :func:`staticmethod` particular para ser " +"implementado::" #: ../Doc/whatsnew/3.2.rst:1110 msgid "(Patch submitted by Daniel Urban; :issue:`5867`.)" -msgstr "" +msgstr "(Parche enviado por Daniel Urban; :issue:`5867`.)" #: ../Doc/whatsnew/3.2.rst:1113 msgid "io" -msgstr "" +msgstr "io" #: ../Doc/whatsnew/3.2.rst:1115 msgid "" @@ -1202,14 +1702,19 @@ msgid "" "editable view of the data without making a copy. The buffer's random access " "and support for slice notation are well-suited to in-place editing::" msgstr "" +"La clase :class:`io.BytesIO` tiene un nuevo método, :meth:`~io.BytesIO." +"getbuffer`, que proporciona una funcionalidad similar a :func:`memoryview`. " +"Crea una vista editable de los datos sin hacer una copia. El acceso " +"aleatorio del búfer y la compatibilidad con la notación de sectores son " +"adecuados para la edición in situ::" #: ../Doc/whatsnew/3.2.rst:1141 msgid "(Contributed by Antoine Pitrou in :issue:`5506`.)" -msgstr "" +msgstr "(Contribución de Antoine Pitrou en :issue:`5506`.)" #: ../Doc/whatsnew/3.2.rst:1144 msgid "reprlib" -msgstr "" +msgstr "reprlib" #: ../Doc/whatsnew/3.2.rst:1146 msgid "" @@ -1219,6 +1724,11 @@ msgid "" "handle self-reference by displaying \"...\" in the recursive part of the " "representation string." msgstr "" +"Al escribir un método :meth:`__repr__` para un contenedor personalizado, es " +"fácil olvidarse de gestionar el caso en el que un miembro hace referencia al " +"contenedor en sí. Los objetos incorporados de Python como :class:`list` y :" +"class:` set` manejan la autorreferencia mostrando \"...\" en la parte " +"recursiva de la cadena de representación." #: ../Doc/whatsnew/3.2.rst:1152 msgid "" @@ -1226,20 +1736,26 @@ msgid "" "new decorator, :func:`~reprlib.recursive_repr`, for detecting recursive " "calls to :meth:`__repr__` and substituting a placeholder string instead::" msgstr "" +"Para ayudar a escribir tales métodos :meth:`__repr__`, el módulo :mod:" +"`reprlib` tiene un nuevo decorador, :func:`~reprlib.recursive_repr`, para " +"detectar llamadas recursivas a :meth:`__repr__` y sustituir una cadena " +"marcadora de posición en su lugar::" #: ../Doc/whatsnew/3.2.rst:1167 msgid "(Contributed by Raymond Hettinger in :issue:`9826` and :issue:`9840`.)" -msgstr "" +msgstr "(Contribución de Raymond Hettinger en :issue:`9826` y :issue:`9840`.)" #: ../Doc/whatsnew/3.2.rst:1170 msgid "logging" -msgstr "" +msgstr "logging" #: ../Doc/whatsnew/3.2.rst:1172 msgid "" "In addition to dictionary-based configuration described above, the :mod:" "`logging` package has many other improvements." msgstr "" +"Además de la configuración basada en diccionario descrita anteriormente, el " +"paquete :mod:`logging` tiene muchas otras mejoras." #: ../Doc/whatsnew/3.2.rst:1175 msgid "" @@ -1248,6 +1764,10 @@ msgid "" "tutorial>`\\, and a :ref:`cookbook ` of logging recipes. " "These documents are the fastest way to learn about logging." msgstr "" +"La documentación de logging se ha aumentado con un :ref:`tutorial básico " +"`\\, un :ref:`tutorial avanzado `\\, y un :ref:`libro de recetas `. Estos " +"documentos son la forma más rápida de aprender sobre logging." #: ../Doc/whatsnew/3.2.rst:1180 #, python-format @@ -1259,6 +1779,13 @@ msgid "" "provided by :class:`string.Template`. The following three configurations " "are equivalent::" msgstr "" +"La función de configuración :func:`logging.basicConfig` adquirió un " +"argumento *style* para admitir tres tipos diferentes de formato de cadena de " +"caracteres. Su valor predeterminado es \"%\" para el formato % tradicional, " +"se puede establecer en \"{\" para el nuevo estilo :meth:`str.format`, o se " +"puede establecer en \"$\" para el formato de estilo shell proporcionado por :" +"class:`string.Template`. Las siguientes tres configuraciones son " +"equivalentes::" #: ../Doc/whatsnew/3.2.rst:1191 msgid "" @@ -1270,6 +1797,13 @@ msgid "" "`logging.raiseExceptions`. The new default handler is stored in :attr:" "`logging.lastResort`." msgstr "" +"Si no se establece ninguna configuración antes de que ocurra un evento de " +"logging, ahora hay una configuración predeterminada que usa una :class:" +"`~logging.StreamHandler` dirigido a :attr:`sys.stderr` para eventos de nivel " +"``WARNING`` o mayor. Anteriormente, un evento que ocurría antes de que se " +"establezca una configuración generaba una excepción o eliminaba " +"silenciosamente el evento según el valor de :attr:`logging.raiseExceptions`. " +"El nuevo gestor predeterminado se almacena en :attr:`logging.lastResort`." #: ../Doc/whatsnew/3.2.rst:1199 msgid "" @@ -1277,6 +1811,9 @@ msgid "" "`~logging.Filter` object, the predicate can be any Python callable that " "returns ``True`` or ``False``." msgstr "" +"El uso de filtros ha sido simplificado. En lugar de crear un objeto :class:" +"`~logging.Filter`, la declaración puede ser cualquier invocable Python que " +"devuelva ``True`` o ``False``." #: ../Doc/whatsnew/3.2.rst:1203 msgid "" @@ -1284,10 +1821,13 @@ msgid "" "configuration. See the module documentation for a full listing of changes " "in Python 3.2." msgstr "" +"Hubo una serie de otras mejoras que agregan flexibilidad y simplifican la " +"configuración. Consulte la documentación del módulo para obtener una lista " +"completa de los cambios en Python 3.2." #: ../Doc/whatsnew/3.2.rst:1208 msgid "csv" -msgstr "" +msgstr "csv" #: ../Doc/whatsnew/3.2.rst:1210 msgid "" @@ -1296,22 +1836,31 @@ msgid "" "style with ``'\\n'`` as the line terminator. The registered dialect name is " "``unix``." msgstr "" +"El módulo :mod:`csv` ahora admite un nuevo dialecto, :class:`~csv." +"unix_dialect`, que aplica comillas para todos los campos y un estilo Unix " +"tradicional con ``'\\n'`` como terminador de línea. El nombre del dialecto " +"registrado es ``unix``." #: ../Doc/whatsnew/3.2.rst:1214 msgid "" "The :class:`csv.DictWriter` has a new method, :meth:`~csv.DictWriter." "writeheader` for writing-out an initial row to document the field names::" msgstr "" +"La clase :class:`csv.DictWriter` tiene un nuevo método, :meth:`~csv." +"DictWriter.writeheader` para escribir una fila inicial para documentar los " +"nombres de los campos::" #: ../Doc/whatsnew/3.2.rst:1228 msgid "" "(New dialect suggested by Jay Talbot in :issue:`5975`, and the new method " "suggested by Ed Abraham in :issue:`1537721`.)" msgstr "" +"(Nuevo dialecto sugerido por Jay Talbot en :issue:`5975`, y el nuevo método " +"sugerido por Ed Abraham en :issue:`1537721`.)" #: ../Doc/whatsnew/3.2.rst:1232 msgid "contextlib" -msgstr "" +msgstr "contextlib" #: ../Doc/whatsnew/3.2.rst:1234 msgid "" @@ -1319,12 +1868,18 @@ msgid "" "ContextDecorator` that is helpful for creating a :term:`context manager` " "that does double duty as a function decorator." msgstr "" +"Hay una nueva y ligeramente alucinante herramienta :class:`~contextlib." +"ContextDecorator` que es útil para crear un :term:`context manager` que " +"cumple una doble función como decorador de funciones." #: ../Doc/whatsnew/3.2.rst:1238 msgid "" "As a convenience, this new functionality is used by :func:`~contextlib." "contextmanager` so that no extra effort is needed to support both roles." msgstr "" +"Para su comodidad, esta nueva funcionalidad es utilizada por :func:" +"`~contextlib.contextmanager` de modo que no se necesita ningún esfuerzo " +"adicional para admitir ambos roles." #: ../Doc/whatsnew/3.2.rst:1242 msgid "" @@ -1335,6 +1890,13 @@ msgid "" "is a need to write a pre-action or post-action wrapper that can be used in " "either role." msgstr "" +"La idea básica es que tanto los gestores de contexto como los decoradores de " +"funciones se pueden usar para envoltorios (*wrappers*) previos y posteriores " +"a la acción. Los gestores de contexto envuelven un grupo de declaraciones " +"usando la declaración :keyword:`with` y los decoradores de funciones " +"envuelven un grupo de declaraciones encerradas en una función. Por lo tanto, " +"ocasionalmente es necesario escribir un envoltorio de acción previa o " +"posterior que se pueda usar en cualquiera de los roles." #: ../Doc/whatsnew/3.2.rst:1248 msgid "" @@ -1344,14 +1906,19 @@ msgid "" "task, the :func:`~contextlib.contextmanager` provides both capabilities in a " "single definition::" msgstr "" +"Por ejemplo, a veces es útil envolver funciones o grupos de declaraciones " +"con un logger que pueda rastrear el tiempo de entrada y el tiempo de salida. " +"En lugar de escribir tanto un decorador de funciones como un gestor de " +"contexto para la tarea, :func:`~contextlib.contextmanager` proporciona ambas " +"capacidades en una sola definición::" #: ../Doc/whatsnew/3.2.rst:1265 msgid "Formerly, this would have only been usable as a context manager::" -msgstr "" +msgstr "Anteriormente, esto solo se podía usar como gestor de contexto::" #: ../Doc/whatsnew/3.2.rst:1271 msgid "Now, it can be used as a decorator as well::" -msgstr "" +msgstr "Ahora, también se puede usar como decorador::" #: ../Doc/whatsnew/3.2.rst:1278 msgid "" @@ -1360,6 +1927,10 @@ msgid "" "argument usable by a :keyword:`with` statement, but there is no parallel for " "function decorators." msgstr "" +"Tratar de cumplir dos roles a la vez impone algunas limitaciones a la " +"técnica. Los gestores de contexto normalmente tienen la flexibilidad de " +"retornar un argumento utilizable por una instrucción :keyword:`with`, pero " +"no hay paralelo para los decoradores de funciones." #: ../Doc/whatsnew/3.2.rst:1282 msgid "" @@ -1367,14 +1938,17 @@ msgid "" "*track_entry_and_exit* context manager to return a logging instance for use " "in the body of enclosed statements." msgstr "" +"En el ejemplo anterior, no hay una forma limpia para que el gestor de " +"contexto *track_entry_and_exit* retorne una instancia de logging para usar " +"en el cuerpo de las declaraciones adjuntas." #: ../Doc/whatsnew/3.2.rst:1286 msgid "(Contributed by Michael Foord in :issue:`9110`.)" -msgstr "" +msgstr "(Contribución de Michael Foord en :issue:`9110`.)" #: ../Doc/whatsnew/3.2.rst:1289 msgid "decimal and fractions" -msgstr "" +msgstr "decimal and fractions" #: ../Doc/whatsnew/3.2.rst:1291 msgid "" @@ -1382,6 +1956,9 @@ msgid "" "different numeric datatypes will have the same hash value whenever their " "actual values are equal (:issue:`8188`)::" msgstr "" +"Mark Dickinson diseñó un esquema elegante y eficiente para asegurar que " +"diferentes tipos de datos numéricos tendrán el mismo valor hash siempre que " +"sus valores reales sean iguales (:issue:`8188`)::" #: ../Doc/whatsnew/3.2.rst:1298 msgid "" @@ -1390,6 +1967,10 @@ msgid "" "modulus, the hash values for *infinity* and *nan*, and the multiplier used " "for the imaginary part of a number:" msgstr "" +"Algunos de los detalles de hash se exponen a través de un nuevo atributo, :" +"attr:`sys.hash_info`, que describe el ancho de bits del valor hash, el " +"módulo principal, los valores hash para *infinity* y *nan*, y el " +"multiplicador utilizado para la parte imaginaria de un número:" #: ../Doc/whatsnew/3.2.rst:1306 msgid "" @@ -1402,6 +1983,14 @@ msgid "" "it makes sense to add them to the constructor and to support mixed-type " "comparisons." msgstr "" +"Se ha atenuado una decisión temprana para limitar la interoperabilidad de " +"varios tipos numéricos. Todavía no se admite (y es desaconsejable) tener una " +"mezcla implícita en expresiones aritméticas como ``Decimal('1.1') + " +"float('1.1')`` porque este último pierde información en el proceso de " +"construcción del float binario. Sin embargo, dado que el valor de punto " +"flotante existente se puede convertir sin pérdidas a una representación " +"decimal o racional, tiene sentido agregarlos al constructor y admitir " +"comparaciones de tipo mixto." #: ../Doc/whatsnew/3.2.rst:1314 msgid "" @@ -1409,6 +1998,9 @@ msgid "" "directly so there in no longer a need to use the :meth:`~decimal.Decimal." "from_float` method (:issue:`8257`)." msgstr "" +"El constructor :class:`decimal.Decimal` ahora acepta objetos :class:`float` " +"directamente, por lo que ya no es necesario utilizar el método :meth:" +"`~decimal.Decimal.from_float` (:issue:`8257`)." #: ../Doc/whatsnew/3.2.rst:1318 msgid "" @@ -1416,6 +2008,10 @@ msgid "" "Decimal` objects can be directly compared with :class:`float` and :class:" "`fractions.Fraction` (:issue:`2531` and :issue:`8188`)." msgstr "" +"Las comparaciones de tipos mixto ahora son totalmente compatibles, de modo " +"que los objetos :class:`~decimal.Decimal` se pueden comparar directamente " +"con :class:`float` y :class:`fractions.Fraction` (:issue:`2531` y :issue:" +"`8188`)." #: ../Doc/whatsnew/3.2.rst:1322 msgid "" @@ -1423,6 +2019,9 @@ msgid "" "`~fractions.Fraction.from_float()` and :meth:`~fractions.Fraction." "from_decimal` methods are no longer needed (:issue:`8294`):" msgstr "" +"Cambios similares se hicieron en :class:`fractions.Fraction` por lo que los " +"métodos :meth:`~fractions.Fraction.from_float()` y :meth:`~fractions." +"Fraction.from_decimal` ya no son necesarios (:issue:`8294`):" #: ../Doc/whatsnew/3.2.rst:1333 msgid "" @@ -1431,14 +2030,18 @@ msgid "" "contexts that correspond to the decimal interchange formats specified in " "IEEE 754 (see :issue:`8540`)." msgstr "" +"Otro cambio útil para el módulo :mod:`decimal` es que el atributo :attr:" +"`Context.clamp` ahora es público. Esto es útil para crear contextos que se " +"correspondan con los formatos de intercambio decimal especificados en IEEE " +"754 (ver :`8540`)." #: ../Doc/whatsnew/3.2.rst:1338 msgid "(Contributed by Mark Dickinson and Raymond Hettinger.)" -msgstr "" +msgstr "(Contribución de Mark Dickinson y Raymond Hettinger.)" #: ../Doc/whatsnew/3.2.rst:1341 msgid "ftp" -msgstr "" +msgstr "ftp" #: ../Doc/whatsnew/3.2.rst:1343 msgid "" @@ -1446,18 +2049,26 @@ msgid "" "to unconditionally consume :exc:`socket.error` exceptions and to close the " "FTP connection when done::" msgstr "" +"La clase :class:`ftplib.FTP` ahora admite el protocolo de gestor de contexto " +"para consumir incondicionalmente las excepciones :exc:`socket.error` y " +"cerrar la conexión FTP cuando haya terminado::" #: ../Doc/whatsnew/3.2.rst:1358 msgid "" "Other file-like objects such as :class:`mmap.mmap` and :func:`fileinput." "input` also grew auto-closing context managers::" msgstr "" +"Otros objetos similares a archivos como :class:`mmap.mmap` y :func:" +"`fileinput.input` también adquirieron gestores de contexto de cierre " +"automático::" #: ../Doc/whatsnew/3.2.rst:1365 msgid "" "(Contributed by Tarek Ziadé and Giampaolo Rodolà in :issue:`4972`, and by " "Georg Brandl in :issue:`8046` and :issue:`1286`.)" msgstr "" +"(Contribución de Tarek Ziadé y Giampaolo Rodolà en :issue:`4972`, y por " +"Georg Brandl en :issue:`8046` y :issue:`1286`.)" #: ../Doc/whatsnew/3.2.rst:1368 msgid "" @@ -1466,30 +2077,39 @@ msgid "" "options, certificates and private keys into a single (potentially long-" "lived) structure." msgstr "" +"La clase :class:`~ftplib.FTP_TLS` ahora acepta un parámetro *context*, que " +"es un objeto :class:`ssl.SSLContext` que permite agrupar opciones de " +"configuración SSL, certificados y claves privadas en una sola (y " +"potencialmente de larga duración) estructura." #: ../Doc/whatsnew/3.2.rst:1372 msgid "(Contributed by Giampaolo Rodolà; :issue:`8806`.)" -msgstr "" +msgstr "(Contribución de Giampaolo Rodolà; :issue:`8806`.)" #: ../Doc/whatsnew/3.2.rst:1375 msgid "popen" -msgstr "" +msgstr "popen" #: ../Doc/whatsnew/3.2.rst:1377 msgid "" "The :func:`os.popen` and :func:`subprocess.Popen` functions now support :" "keyword:`with` statements for auto-closing of the file descriptors." msgstr "" +"Las funciones :func:`os.popen` y :func:`subprocess.Popen` ahora admiten " +"declaraciones :keyword:`with` para el cierre automático de los descriptores " +"de archivo." #: ../Doc/whatsnew/3.2.rst:1380 msgid "" "(Contributed by Antoine Pitrou and Brian Curtin in :issue:`7461` and :issue:" "`10554`.)" msgstr "" +"(Contribución de Antoine Pitrou y Brian Curtin en :issue:`7461` y :issue:" +"`10554`.)" #: ../Doc/whatsnew/3.2.rst:1384 msgid "select" -msgstr "" +msgstr "select" #: ../Doc/whatsnew/3.2.rst:1386 msgid "" @@ -1498,14 +2118,19 @@ msgid "" "guaranteed not to block when :func:`select.select` says a pipe is ready for " "writing." msgstr "" +"El módulo :mod:`select` ahora presenta un nuevo atributo constante, :attr:" +"`~select.PIPE_BUF`, que da el número mínimo de bytes que están garantizados " +"para no bloquearse cuando :func:`select.select` dice que una tubería está " +"lista para escribir." #: ../Doc/whatsnew/3.2.rst:1395 msgid "(Available on Unix systems. Patch by Sébastien Sablé in :issue:`9862`)" msgstr "" +"(Disponbile en sitemas Unix. Parche de Sébastien Sablé en :issue:`9862`)" #: ../Doc/whatsnew/3.2.rst:1398 msgid "gzip and zipfile" -msgstr "" +msgstr "gzip y zipfile" #: ../Doc/whatsnew/3.2.rst:1400 msgid "" @@ -1514,6 +2139,10 @@ msgid "" "`~gzip.GzipFile.peek` method and supports unseekable as well as zero-padded " "file objects." msgstr "" +":class:`gzip.GzipFile` ahora implementa :class:`io.BufferedIOBase` :term:" +"`clase base abstracta` (excepto para ``truncate()``). También tiene un " +"método :meth:`~gzip.GzipFile.peek` y admite objetos de archivo con rellenos " +"de ceros y que no se pueden buscar." #: ../Doc/whatsnew/3.2.rst:1405 msgid "" @@ -1522,6 +2151,10 @@ msgid "" "decompression. Keep in mind that text needs to be encoded as :class:`bytes` " "before compressing and decompressing:" msgstr "" +"El módulo :mod:`gzip` también obtiene las funciones :func:`~gzip.compress` " +"y :func:`~gzip.decompress` para facilitar la compresión y descompresión en " +"memoria. Tenga en cuenta que el texto debe codificarse como :class:`bytes` " +"antes de comprimir y descomprimir::" #: ../Doc/whatsnew/3.2.rst:1422 msgid "" @@ -1529,6 +2162,9 @@ msgid "" "Aides and Brian Curtin in :issue:`9962`, :issue:`1675951`, :issue:`7471` " "and :issue:`2846`.)" msgstr "" +"(Contribución de Anand B. Pillai en :issue:`3488`; y de Antoine Pitrou, Nir " +"Aides y Brian Curtin en :issue:`9962`, :issue:`1675951`, :issue:`7471` y :" +"issue:`2846`.)" #: ../Doc/whatsnew/3.2.rst:1426 msgid "" @@ -1538,14 +2174,20 @@ msgid "" "object for more speedups. It also solves an issue where interleaved calls " "to *read* and *readline* gave the wrong results." msgstr "" +"Además, la clase :class:`zipfile.ZipExtFile` se modificó internamente para " +"representar archivos almacenados dentro de un archivo. La nueva " +"implementación es significativamente más rápida y se puede incluir en un " +"objeto :class:`io.BufferedReader` para obtener más aceleraciones. También " +"resuelve un problema en el que las llamadas intercaladas a *read* y " +"*readline* daban resultados incorrectos." #: ../Doc/whatsnew/3.2.rst:1432 msgid "(Patch submitted by Nir Aides in :issue:`7610`.)" -msgstr "" +msgstr "(Parche enviado por Nir Aides en :issue:`7610`.)" #: ../Doc/whatsnew/3.2.rst:1435 msgid "tarfile" -msgstr "" +msgstr "tarfile" #: ../Doc/whatsnew/3.2.rst:1437 msgid "" @@ -1554,6 +2196,10 @@ msgid "" "*filter*, that controls which files are added to the archive and allows the " "file metadata to be edited." msgstr "" +"La clase :class:`~tarfile.TarFile` ahora se puede usar como gestor de " +"contexto. Además, su método :meth:`~tarfile.TarFile.add` tiene una nueva " +"opción, *filter*, que controla qué archivos se agregan y permite editar los " +"metadatos del archivo." #: ../Doc/whatsnew/3.2.rst:1442 msgid "" @@ -1564,15 +2210,23 @@ msgid "" "class:`~tarfile.TarInfo` object, or if it wants the file to be excluded, the " "function can return ``None``::" msgstr "" +"La nueva opción *filter* reemplaza el parámetro anterior y menos flexible " +"*exclude* que ahora está deprecado. Si se especifica, el parámetro opcional " +"*filter* debe ser un :term:`keyword argument`. La función *filter* " +"proporcionada por el usuario acepta un objeto :class:`~tarfile.TarInfo` y " +"retorna un objeto :class:`~tarfile.TarInfo` actualizado, o si desea que el " +"archivo sea excluido, la función puede retornar ``None``::" #: ../Doc/whatsnew/3.2.rst:1466 msgid "" "(Proposed by Tarek Ziadé and implemented by Lars Gustäbel in :issue:`6856`.)" msgstr "" +"(Propuesto por Tarek Ziadé e implementado por Lars Gustäbel en :issue:" +"`6856`.)" #: ../Doc/whatsnew/3.2.rst:1469 msgid "hashlib" -msgstr "" +msgstr "hashlib" #: ../Doc/whatsnew/3.2.rst:1471 msgid "" @@ -1580,14 +2234,17 @@ msgid "" "hashing algorithms guaranteed to be present in all implementations and those " "available on the current implementation::" msgstr "" +"El módulo :mod:`hashlib` tiene dos nuevos atributos constantes que enumeran " +"los algoritmos hash garantizados para estar presentes en todas las " +"implementaciones y los disponibles en la implementación actual::" #: ../Doc/whatsnew/3.2.rst:1486 msgid "(Suggested by Carl Chenet in :issue:`7418`.)" -msgstr "" +msgstr "(Sugerido por Carl Chenet en :issue:`7418`.)" #: ../Doc/whatsnew/3.2.rst:1489 msgid "ast" -msgstr "" +msgstr "ast" #: ../Doc/whatsnew/3.2.rst:1491 msgid "" @@ -1598,14 +2255,21 @@ msgid "" "and :class:`set` literals to the list of supported types: strings, bytes, " "numbers, tuples, lists, dicts, sets, booleans, and ``None``." msgstr "" +"El módulo :mod:`ast` tiene una maravillosa herramienta de propósito general " +"para evaluar cadenas de expresión de forma segura utilizando la sintaxis " +"literal de Python. La función :func:`ast.literal_eval` sirve como una " +"alternativa segura a la función incorporada :func:`eval` la cual se abusa " +"fácilmente. Python 3.2 agrega :class:`bytes` y :class:`set` literales a la " +"lista de tipos admitidos: cadenas de caracteres, bytes, números, tuplas, " +"listas, diccionarios, sets, valores booleanos y ``None``." #: ../Doc/whatsnew/3.2.rst:1512 msgid "(Implemented by Benjamin Peterson and Georg Brandl.)" -msgstr "" +msgstr "(Implementado por Benjamin Peterson y Georg Brandl.)" #: ../Doc/whatsnew/3.2.rst:1515 msgid "os" -msgstr "" +msgstr "os" #: ../Doc/whatsnew/3.2.rst:1517 msgid "" @@ -1614,6 +2278,10 @@ msgid "" "func:`~os.fsencode` and :func:`~os.fsdecode`, for encoding and decoding " "filenames:" msgstr "" +"Los diferentes sistemas operativos utilizan varias codificaciones para los " +"nombres de archivo y las variables de entorno. El módulo :mod:`os` " +"proporciona dos funciones nuevas, :func:`~os.fsencode` y :func:`~os." +"fsdecode`, para codificar y decodificar nombres de archivo:" #: ../Doc/whatsnew/3.2.rst:1527 msgid "" @@ -1621,6 +2289,9 @@ msgid "" "environment. If so, the :attr:`os.supports_bytes_environ` constant will be " "true." msgstr "" +"Algunos sistemas operativos permiten el acceso directo a bytes codificados " +"en el entorno. Si es así, la constante :attr:`os.supports_bytes_environ` " +"será verdadera." #: ../Doc/whatsnew/3.2.rst:1531 msgid "" @@ -1628,18 +2299,21 @@ msgid "" "new :func:`os.getenvb` function or use :data:`os.environb` which is a bytes " "version of :data:`os.environ`." msgstr "" +"Para acceder directamente a las variables de entorno codificadas (si está " +"disponible), utilice la nueva función :func:`os.getenvb` o utilice :data:`os." +"environb`, que es una versión en bytes de :data:`os.environ`." #: ../Doc/whatsnew/3.2.rst:1535 msgid "(Contributed by Victor Stinner.)" -msgstr "" +msgstr "(Contribución de Victor Stinner.)" #: ../Doc/whatsnew/3.2.rst:1538 msgid "shutil" -msgstr "" +msgstr "shutil" #: ../Doc/whatsnew/3.2.rst:1540 msgid "The :func:`shutil.copytree` function has two new options:" -msgstr "" +msgstr "La función :func:`shutil.copytree` tiene dos nuevas opciones:" #: ../Doc/whatsnew/3.2.rst:1542 msgid "" @@ -1647,16 +2321,21 @@ msgid "" "copies a file pointed to by a symlink, not the symlink itself. This option " "will silence the error raised if the file doesn't exist." msgstr "" +"*ignore_dangling_symlinks*: cuando ``symlinks=False`` para que la función " +"copie un archivo apuntado por un enlace simbólico, no el enlace simbólico en " +"sí. Esta opción silenciará el error generado si el archivo no existe." #: ../Doc/whatsnew/3.2.rst:1546 msgid "" "*copy_function*: is a callable that will be used to copy files. :func:" "`shutil.copy2` is used by default." msgstr "" +"*copy_function*: es un invocable que se utilizará para copiar archivos. :" +"func:`shutil.copy2` se usa por defecto." #: ../Doc/whatsnew/3.2.rst:1549 ../Doc/whatsnew/3.2.rst:1587 msgid "(Contributed by Tarek Ziadé.)" -msgstr "" +msgstr "(Contribución de Tarek Ziadé.)" #: ../Doc/whatsnew/3.2.rst:1551 msgid "" @@ -1666,6 +2345,11 @@ msgid "" "registering additional archiving file formats (such as xz compressed " "tarfiles or custom formats)." msgstr "" +"Además, el módulo :mod:`shutil` ahora admite :ref:`operaciones de archivado " +" `para archivos zip, archivos tar sin comprimir, " +"archivos tar comprimidos con gzip y archivos tar bzip. Y hay funciones para " +"registrar formatos de archivado de archivo adicionales (como archivos tar " +"comprimidos xz o formatos personalizados)." #: ../Doc/whatsnew/3.2.rst:1556 msgid "" @@ -1675,6 +2359,12 @@ msgid "" "filename needs to be specified with a full pathname. The archiving step is " "non-destructive (the original files are left unchanged)." msgstr "" +"Las funciones principales son :func:`~shutil.make_archive` y :func:`~shutil." +"unpack_archive`. Por defecto, ambas operan en el directorio actual (que " +"puede ser configurado por :func:`os.chdir`) y en cualquier subdirectorio. El " +"nombre del archivo de almacenamiento debe especificarse con una ruta " +"completa. El paso de archivado no es destructivo (los archivos originales no " +"se modifican)." #: ../Doc/whatsnew/3.2.rst:1590 msgid "sqlite3" From a9463de7a6522c4018ec2ade0dce74e389c0b0da Mon Sep 17 00:00:00 2001 From: Cristian Maureira-Fredes Date: Sat, 20 Mar 2021 19:04:32 +0100 Subject: [PATCH 2/2] Arreglando palabras pospell y powrap --- dictionaries/whatsnew_3.2.txt | 31 +++++++++++++++++++++++++++++++ whatsnew/3.2.po | 31 +++++++++++++++---------------- 2 files changed, 46 insertions(+), 16 deletions(-) create mode 100644 dictionaries/whatsnew_3.2.txt diff --git a/dictionaries/whatsnew_3.2.txt b/dictionaries/whatsnew_3.2.txt new file mode 100644 index 0000000000..9f7f2c4fb3 --- /dev/null +++ b/dictionaries/whatsnew_3.2.txt @@ -0,0 +1,31 @@ +transcodificar +introspectar +sublistas +subelementos +autorreferencia +Marcin +Wojdyr +Arahesis +Arfrever +Frehtes +Taifersar +Jenvey +Philip +Stutzbach +Florent +Xicluna +Miki +Terrence +Jónsson +Kristján +Valur +Yasskin +Abraham +Talbot +Foord +Tarek +Ziadé +Sablé +Anand +Pillai +Chenet diff --git a/whatsnew/3.2.po b/whatsnew/3.2.po index 40dfa72e45..4210fdee06 100644 --- a/whatsnew/3.2.po +++ b/whatsnew/3.2.po @@ -173,7 +173,7 @@ msgid "" ":ref:`upgrading-optparse-code` for details on the differences from :mod:" "`optparse`." msgstr "" -":ref:`upgrade-optparse-code` para obtener detalles sobre las diferencias " +":ref:`upgrading-optparse-code` para obtener detalles sobre las diferencias " "con :mod:`optparse`." #: ../Doc/whatsnew/3.2.rst:181 @@ -252,7 +252,7 @@ msgid "" "object supports status checks (running or done), timeouts, cancellations, " "adding callbacks, and access to results or exceptions." msgstr "" -"El diseño de: mod:`concurrent.futures` se inspiró en el paquete *java.util." +"El diseño de :mod:`concurrent.futures` se inspiró en el paquete *java.util." "concurrent*. En ese modelo, una llamada en ejecución y su resultado están " "representados por un objeto :class:`~concurrent.futures.Future` que abstrae " "características comunes a hilos, procesos y llamadas a procedimientos " @@ -303,7 +303,7 @@ msgid "" msgstr "" "Ambas clases comparten una interfaz común con tres métodos: :meth:" "`~concurrent.futures.Executor.submit` para programar un invocable y retornar " -"un objeto :class:`~concurrent.futures.Future`; :meth:`~concurrent.futures." +"un objeto :class:`~concurrent.futures.Future` :meth:`~concurrent.futures." "Executor.map` para programar muchas llamadas asincrónicas a la vez, y :meth:" "`~concurrent.futures.Executor.shutdown` para liberar recursos. La clase es " "un :term:`context manager` y se puede usar en una declaración :keyword:" @@ -709,7 +709,7 @@ msgid "" "exceptions pass through::" msgstr "" "La función :func:`hasattr` funciona llamando a :func:`getattr` y detectando " -"si se genera una excepción. Esta técnica le permite detectar métodos creados " +"si se lanza una excepción. Esta técnica le permite detectar métodos creados " "dinámicamente por :meth:`__getattr__` o :meth:`__getattribute__` que de otra " "manera estarían ausentes en el diccionario de la clase. Anteriormente, " "*hasattr* detectaba cualquier excepción, posiblemente enmascarando errores " @@ -771,8 +771,7 @@ msgid "" msgstr "" "Esto ahora está permitido. Recuerde que el objetivo de una cláusula :keyword:" "`except` se borra, por lo que este código que solía funcionar con Python " -"2.6, genera un :exc: SyntaxError` con Python 3.1 y ahora funciona " -"nuevamente::" +"2.6, lanza un :exc:`SyntaxError` con Python 3.1 y ahora funciona nuevamente::" #: ../Doc/whatsnew/3.2.rst:564 msgid "(See :issue:`4617`.)" @@ -1363,7 +1362,7 @@ msgid "" msgstr "" "La clase :class:`collections.Counter` ahora tiene dos formas de resta in " "situ, el operador existente *-=* para `saturación de resta `_ y el nuevo método :" +"wikipedia.org/wiki/Aritm%C3%A9tica_de_saturaci%C3%B3n>`_ y el nuevo método :" "meth:`~collections.Counter.subtract` para la resta regular. El primero es " "adecuado para `muticonjunto `_ " "que solo tienen recuentos positivos, y el último es más adecuado para casos " @@ -1435,7 +1434,7 @@ msgid "" msgstr "" "Las barreras pueden trabajar con un número arbitrario de hilos. Esto es una " "generalización de `barrera informática `_que se define solo para dos hilos." +"Barrera_(inform%C3%A1tica)>`_ que se define solo para dos hilos." #: ../Doc/whatsnew/3.2.rst:928 msgid "" @@ -1482,7 +1481,7 @@ msgstr "" "crear una barrera con un parámetro opcional *timeout*. Luego, si el período " "de tiempo de espera transcurre antes de que todas las tareas predecesoras " "alcancen el punto de barrera, se liberan todos los hilos en espera y se " -"genera una excepción :exc:`~threading.BrokenBarrierError`::" +"lanza una excepción :exc:`~threading.BrokenBarrierError`::" #: ../Doc/whatsnew/3.2.rst:969 msgid "" @@ -1684,7 +1683,7 @@ msgid "" "implemented::" msgstr "" "Estas herramientas permiten definir una :term:`abstract base class` que " -"requiere un func:`classmethod` o :func:`staticmethod` particular para ser " +"requiere un :func:`classmethod` o :func:`staticmethod` particular para ser " "implementado::" #: ../Doc/whatsnew/3.2.rst:1110 @@ -1727,7 +1726,7 @@ msgstr "" "Al escribir un método :meth:`__repr__` para un contenedor personalizado, es " "fácil olvidarse de gestionar el caso en el que un miembro hace referencia al " "contenedor en sí. Los objetos incorporados de Python como :class:`list` y :" -"class:` set` manejan la autorreferencia mostrando \"...\" en la parte " +"class:`set` manejan la autorreferencia mostrando \"...\" en la parte " "recursiva de la cadena de representación." #: ../Doc/whatsnew/3.2.rst:1152 @@ -1801,7 +1800,7 @@ msgstr "" "logging, ahora hay una configuración predeterminada que usa una :class:" "`~logging.StreamHandler` dirigido a :attr:`sys.stderr` para eventos de nivel " "``WARNING`` o mayor. Anteriormente, un evento que ocurría antes de que se " -"establezca una configuración generaba una excepción o eliminaba " +"establezca una configuración lanzaba una excepción o eliminaba " "silenciosamente el evento según el valor de :attr:`logging.raiseExceptions`. " "El nuevo gestor predeterminado se almacena en :attr:`logging.lastResort`." @@ -1813,7 +1812,7 @@ msgid "" msgstr "" "El uso de filtros ha sido simplificado. En lugar de crear un objeto :class:" "`~logging.Filter`, la declaración puede ser cualquier invocable Python que " -"devuelva ``True`` o ``False``." +"retorna ``True`` o ``False``." #: ../Doc/whatsnew/3.2.rst:1203 msgid "" @@ -2126,7 +2125,7 @@ msgstr "" #: ../Doc/whatsnew/3.2.rst:1395 msgid "(Available on Unix systems. Patch by Sébastien Sablé in :issue:`9862`)" msgstr "" -"(Disponbile en sitemas Unix. Parche de Sébastien Sablé en :issue:`9862`)" +"(Disponbile en sistemas Unix. Parche de Sébastien Sablé en :issue:`9862`)" #: ../Doc/whatsnew/3.2.rst:1398 msgid "gzip and zipfile" @@ -2323,7 +2322,7 @@ msgid "" msgstr "" "*ignore_dangling_symlinks*: cuando ``symlinks=False`` para que la función " "copie un archivo apuntado por un enlace simbólico, no el enlace simbólico en " -"sí. Esta opción silenciará el error generado si el archivo no existe." +"sí. Esta opción silenciará el error lanzado si el archivo no existe." #: ../Doc/whatsnew/3.2.rst:1546 msgid "" @@ -2346,7 +2345,7 @@ msgid "" "tarfiles or custom formats)." msgstr "" "Además, el módulo :mod:`shutil` ahora admite :ref:`operaciones de archivado " -" `para archivos zip, archivos tar sin comprimir, " +"` para archivos zip, archivos tar sin comprimir, " "archivos tar comprimidos con gzip y archivos tar bzip. Y hay funciones para " "registrar formatos de archivado de archivo adicionales (como archivos tar " "comprimidos xz o formatos personalizados)."