diff --git a/dictionaries/whatsnew_3.8.txt b/dictionaries/whatsnew_3.8.txt new file mode 100644 index 0000000000..40f32a34c1 --- /dev/null +++ b/dictionaries/whatsnew_3.8.txt @@ -0,0 +1,187 @@ +ambassador +autodocumentadas +collections +coprimos +cuartiles +Customized +deciles +doctype +dunder +emoji +equiprobables +Eyeballs +Happy +inline +Jupyter +lanzables +libpython +mitigación +missing +multimodales +percentiles +pgen +pickle +pkg +points +program +pycore +pystate +reparse +Settings +subclasifican +twisteroid +unittest +Update +V +wheel +yield +Aggarwal +Ammar +Andrew +Antoine +Aprano +Araujo +Askar +Aviv +Barkhau +Barry +Batuhan +Bayles +Behnel +Belanger +Benjamin +Berker +Bo +Bolsterlee +Bronson +Bussonnier +Cannon +Carl +Cédric +Chapman +Cheryl +Christian +Ci +Coombs +Cuthbert +Davin +Demeyer +Dickinson +Dong +Dower +Eddie +Einat +Elizondo +Elvis +Emily +Éric +Eric +Ethan +Eunice +Euresti +Felt +Filip +Franz +Fuchs +Galindo +Ganssle +Gerlach +Giampaolo +Glaser +Glasner +Gregory +Grisel +Grönholm +Guo +Hastings +Heblikar +hee +Heimes +Heissler +Hettinger +Inada +Ivan +Jake +Janzen +Jason +Jeroen +Jevnik +Joannah +Joe +Jon +Jordan +Jörn +Josh +Juliette +Keller +Krier +Kyle +Lapeyre +Larry +Levkivskyi +Mark +Matveev +Max +Meily +Meyer +Michael +Michele +Monsel +Morehouse +Na +Nanjekye +Naoki +Neil +Olivier +Orrù +Palivoda +Peksag +Peterson +Petter +Pitrou +Potts +Pranskevichus +Price +Raymond +Reedy +Rémi +Roach +Rodola +Rodolà +Sabella +Saimadhav +Sajip +Sanderson +Schemenauer +Scott +Selik +Selivanov +Serhiy +Shannon +Smith +Snow +Sottile +Spytz +Stanley +Stefan +Steve +Steven +Stinner +Storchaka +Strandmark +Svetlov +Taskaya +Teo +Terry +Tesler +Victor +Vinay +Vladimir +Warsaw +Weipeng +Wouter +Xiang +Yash +Yury +Zackery +Zhang diff --git a/whatsnew/3.8.po b/whatsnew/3.8.po index 52dccc7535..09e13ba42e 100644 --- a/whatsnew/3.8.po +++ b/whatsnew/3.8.po @@ -4,53 +4,58 @@ # package. # FIRST AUTHOR , 2020. # -#, fuzzy msgid "" msgstr "" "Project-Id-Version: Python en Español 3.7\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" -"Language-Team: LANGUAGE \n" +"PO-Revision-Date: 2020-10-16 21:15+0200\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: Francisco Jesús Sevilla García \n" +"Language-Team: \n" +"Language: es_ES\n" +"X-Generator: Poedit 2.4.1\n" #: ../Doc/whatsnew/3.8.rst:3 msgid "What's New In Python 3.8" -msgstr "" +msgstr "Qué hay de nuevo en Python 3.8" #: ../Doc/whatsnew/3.8.rst msgid "Editor" -msgstr "" +msgstr "Editor" #: ../Doc/whatsnew/3.8.rst:45 msgid "Raymond Hettinger" -msgstr "" +msgstr "Raymond Hettinger" #: ../Doc/whatsnew/3.8.rst:47 msgid "" "This article explains the new features in Python 3.8, compared to 3.7. For " "full details, see the :ref:`changelog `." msgstr "" +"Este artículo explica las nuevas características de Python 3.8, en " +"comparación con 3.7. Para obtener los detalles completos, consultar el :ref:" +"`registro de cambios `." #: ../Doc/whatsnew/3.8.rst:50 msgid "Python 3.8 was released on October 14th, 2019." -msgstr "" +msgstr "Python 3.8 fue lanzado el 14 de octubre de 2019." #: ../Doc/whatsnew/3.8.rst:62 msgid "Summary -- Release highlights" -msgstr "" +msgstr "Resumen -- Aspectos destacados de la versión" #: ../Doc/whatsnew/3.8.rst:73 msgid "New Features" -msgstr "" +msgstr "Nuevas características" #: ../Doc/whatsnew/3.8.rst:76 msgid "Assignment expressions" -msgstr "" +msgstr "Expresiones de asignación" #: ../Doc/whatsnew/3.8.rst:78 msgid "" @@ -59,12 +64,19 @@ msgid "" "to its resemblance to `the eyes and tusks of a walrus `_." msgstr "" +"La nueva sintaxis ``:=`` asigna valores a variables como parte de una " +"expresión más grande. Se le conoce cariñosamente como \"el operador morsa\" " +"debido a su parecido con `los ojos y colmillos de una morsa `_." #: ../Doc/whatsnew/3.8.rst:83 msgid "" "In this example, the assignment expression helps avoid calling :func:`len` " "twice::" msgstr "" +"En el siguiente ejemplo, la expresión de asignación ayuda evitando que se " +"tenga que llamar a :func:`len` dos veces::" #: ../Doc/whatsnew/3.8.rst:89 msgid "" @@ -72,6 +84,10 @@ msgid "" "objects are needed twice, once to test whether a match occurred and another " "to extract a subgroup::" msgstr "" +"Un beneficio similar surge durante la búsqueda de coincidencias mediante " +"expresiones regulares donde los objetos de coincidencias se necesitan dos " +"veces, una para comprobar si se produjo una coincidencia y otra para extraer " +"un subgrupo::" #: ../Doc/whatsnew/3.8.rst:97 msgid "" @@ -79,30 +95,38 @@ msgid "" "loop termination and then need that same value again in the body of the " "loop::" msgstr "" +"El operador también es útil en bucles while que calculan un valor para " +"comprobar la terminación del bucle y posteriormente necesitan nuevamente ese " +"mismo valor en el cuerpo del bucle::" #: ../Doc/whatsnew/3.8.rst:105 msgid "" "Another motivating use case arises in list comprehensions where a value " "computed in a filtering condition is also needed in the expression body::" msgstr "" +"Otra motivación de uso surge en las listas por comprensión en las que un " +"valor calculado en una condición de filtrado también se necesita en el " +"cuerpo de la expresión::" #: ../Doc/whatsnew/3.8.rst:112 msgid "" "Try to limit use of the walrus operator to clean cases that reduce " "complexity and improve readability." msgstr "" +"Intenta limitar el uso del \"operador morsa\" a aquellos casos en los que " +"reduce la complejidad y mejora la legibilidad del código." #: ../Doc/whatsnew/3.8.rst:115 msgid "See :pep:`572` for a full description." -msgstr "" +msgstr "Consultar :pep:`572` para obtener una descripción completa." #: ../Doc/whatsnew/3.8.rst:117 msgid "(Contributed by Emily Morehouse in :issue:`35224`.)" -msgstr "" +msgstr "(Contribución de Emily Morehouse en :issue:`35224`.)" #: ../Doc/whatsnew/3.8.rst:121 msgid "Positional-only parameters" -msgstr "" +msgstr "Parámetros solo posicionales" #: ../Doc/whatsnew/3.8.rst:123 msgid "" @@ -112,6 +136,12 @@ msgid "" "functions annotated with Larry Hastings' `Argument Clinic `_ tool." msgstr "" +"Hay una nueva sintaxis para establecer parámetro de función, ``/``, para " +"indicar que algunos parámetros de función deben especificarse solo " +"posicionalmente y no pueden usarse como argumentos por palabra clave. Esta " +"es la misma notación que muestra ``help()`` para las funciones de C anotadas " +"con la herramienta `Argument Clinic `_ de Larry Hastings." #: ../Doc/whatsnew/3.8.rst:129 msgid "" @@ -119,14 +149,17 @@ msgid "" "*c* or *d* can be positional or keyword, and *e* or *f* are required to be " "keywords::" msgstr "" +"En el siguiente ejemplo, los parámetros *a* y *b* son solo posicionales, " +"mientras que *c* o *d* pueden ser posicionales o por palabra clave y *e* o " +"*f* deben proporcionarse por palabra clave exclusivamente::" #: ../Doc/whatsnew/3.8.rst:136 msgid "The following is a valid call::" -msgstr "" +msgstr "La siguiente es una invocación válida::" #: ../Doc/whatsnew/3.8.rst:140 msgid "However, these are invalid calls::" -msgstr "" +msgstr "Sin embargo, estas son invocaciones inválidas::" #: ../Doc/whatsnew/3.8.rst:145 msgid "" @@ -134,6 +167,10 @@ msgid "" "fully emulate behaviors of existing C coded functions. For example, the " "built-in :func:`divmod` function does not accept keyword arguments::" msgstr "" +"Un caso de uso de esta notación es permitir que las funciones puras de " +"Python emulen completamente los comportamientos de las funciones codificadas " +"en C existentes. Por ejemplo, la función incorporada :func:`divmod` no " +"acepta argumentos por palabra clave::" #: ../Doc/whatsnew/3.8.rst:153 msgid "" @@ -141,6 +178,10 @@ msgid "" "not helpful. For example, the builtin :func:`len` function has the " "signature ``len(obj, /)``. This precludes awkward calls such as::" msgstr "" +"Otro caso de uso es excluir los argumentos por palabra clave cuando el " +"nombre del parámetro no es útil. Por ejemplo, la función incorporada :func:" +"`len` tiene la firma ``len(obj, /)``. Esto excluye llamadas inoportunas " +"como::" #: ../Doc/whatsnew/3.8.rst:159 msgid "" @@ -150,12 +191,20 @@ msgid "" "parameter name *dist* may be changed in the future. This was made possible " "with the following function specification::" msgstr "" +"Un beneficio adicional de marcar un parámetro como solo posicional es que " +"permite cambiar el nombre del parámetro en el futuro sin riesgo de romper el " +"código del cliente. Por ejemplo, en el módulo :mod:`statistics`, el nombre " +"del parámetro *dist* puede cambiarse en el futuro. Esto es posible gracias a " +"la siguiente especificación de función::" #: ../Doc/whatsnew/3.8.rst:168 msgid "" "Since the parameters to the left of ``/`` are not exposed as possible " "keywords, the parameters names remain available for use in ``**kwargs``::" msgstr "" +"Dado que los parámetros a la izquierda de ``/`` no se exponen como posibles " +"palabras clave, los nombres de los parámetros permanecen disponibles para su " +"uso en ``**kwargs``::" #: ../Doc/whatsnew/3.8.rst:177 msgid "" @@ -163,18 +212,22 @@ msgid "" "need to accept arbitrary keyword arguments. For example, here is an excerpt " "from code in the :mod:`collections` module::" msgstr "" +"Esto simplifica enormemente la implementación de funciones y métodos que " +"necesitan aceptar argumentos por palabra clave arbitrarios. Por ejemplo, " +"aquí hay un extracto del código del módulo :mod:`collections`::" #: ../Doc/whatsnew/3.8.rst:186 msgid "See :pep:`570` for a full description." -msgstr "" +msgstr "Consultar :pep:`570` para obtener una descripción completa." #: ../Doc/whatsnew/3.8.rst:188 msgid "(Contributed by Pablo Galindo in :issue:`36540`.)" -msgstr "" +msgstr "(Contribución de Pablo Galindo en :issue:`36540`.)" #: ../Doc/whatsnew/3.8.rst:194 msgid "Parallel filesystem cache for compiled bytecode files" msgstr "" +"Caché del sistema de archivos paralelo para archivos de bytecode compilados" #: ../Doc/whatsnew/3.8.rst:196 msgid "" @@ -183,20 +236,30 @@ msgid "" "separate parallel filesystem tree, rather than the default ``__pycache__`` " "subdirectories within each source directory." msgstr "" +"La nueva configuración :envvar:`PYTHONPYCACHEPREFIX` (también disponible " +"mediante la opción :option:`-X` ``pycache_prefix``) configura la caché " +"implícita de bytecode para que use un árbol del sistema de archivos paralelo " +"separado, en lugar de los subdirectorios ``__pycache__`` predeterminados " +"dentro cada directorio de origen." #: ../Doc/whatsnew/3.8.rst:202 msgid "" "The location of the cache is reported in :data:`sys.pycache_prefix` (:const:" "`None` indicates the default location in ``__pycache__`` subdirectories)." msgstr "" +"La ubicación de la caché se define en :data:`sys.pycache_prefix` (:const:" +"`None` indica la ubicación predeterminada en los subdirectorios " +"``__pycache__``)." #: ../Doc/whatsnew/3.8.rst:206 msgid "(Contributed by Carl Meyer in :issue:`33499`.)" -msgstr "" +msgstr "(Contribución de Carl Meyer en :issue:`33499`.)" #: ../Doc/whatsnew/3.8.rst:210 msgid "Debug build uses the same ABI as release build" msgstr "" +"La compilación de depuración usa la misma ABI que la compilación de " +"lanzamiento" #: ../Doc/whatsnew/3.8.rst:212 msgid "" @@ -204,6 +267,10 @@ msgid "" "Unix, when Python is built in debug mode, it is now possible to load C " "extensions built in release mode and C extensions built using the stable ABI." msgstr "" +"Python ahora usa la misma ABI, independientemente de que esté compilado en " +"modo de lanzamiento o de depuración. En Unix, cuando Python se compila en " +"modo de depuración, ahora es posible cargar extensiones C compiladas en modo " +"de lanzamiento y extensiones C compiladas usando la ABI estable." #: ../Doc/whatsnew/3.8.rst:216 msgid "" @@ -214,6 +281,13 @@ msgid "" "environment variable, can be set using the new ``./configure --with-trace-" "refs`` build option. (Contributed by Victor Stinner in :issue:`36465`.)" msgstr "" +"Las versiones de lanzamiento y las versiones de depuración ahora son ABI " +"compatibles: definir la macro ``Py_DEBUG`` ya no implica la macro " +"``Py_TRACE_REFS``, que introducía la única incompatibilidad de la ABI. La " +"macro ``Py_TRACE_REFS``, que agrega la función :func:`sys.getobjects` y la " +"variable de entorno :envvar:`PYTHONDUMPREFS`, se puede establecer usando la " +"nueva opción de compilación ``./configure --with-trace-refs``. (Contribución " +"de Victor Stinner en :issue:`36465`.)" #: ../Doc/whatsnew/3.8.rst:224 msgid "" @@ -222,6 +296,10 @@ msgid "" "extension built using a shared library Python. (Contributed by Victor " "Stinner in :issue:`21536`.)" msgstr "" +"En Unix, las extensiones en C ya no están enlazadas a libpython, excepto en " +"Android y Cygwin. Ahora es posible que un intérprete Python enlazado " +"estáticamente cargue una extensión de C creada con una biblioteca dinámica " +"de Python. (Contribución de Victor Stinner en :issue:`21536`.)" #: ../Doc/whatsnew/3.8.rst:231 msgid "" @@ -229,6 +307,10 @@ msgid "" "extensions compiled in release mode and for C extensions compiled with the " "stable ABI. (Contributed by Victor Stinner in :issue:`36722`.)" msgstr "" +"En Unix, cuando Python se compila en modo de depuración, la importación " +"ahora también busca extensiones C compiladas en modo de lanzamiento y " +"extensiones C compiladas con la ABI estable. (Contribución de Victor Stinner " +"en :issue:`36722`.)" #: ../Doc/whatsnew/3.8.rst:236 msgid "" @@ -238,6 +320,12 @@ msgid "" "config --libs --embed`` first and fallback to ``python3-config --libs`` " "(without ``--embed``) if the previous command fails." msgstr "" +"Para integrar Python en una aplicación, se debe pasar una nueva opción ``--" +"embed`` a ``python3-config --libs --embed`` para obtener ``-lpython3.8`` " +"(enlaza la aplicación a libpython ). Para ser compatible con 3.8 y versiones " +"anteriores, prueba primero con ``python3-config --libs --embed`` y vuelve a " +"usar ``python3-config --libs`` (sin ``--embed``) si falla el comando " +"anterior." #: ../Doc/whatsnew/3.8.rst:242 msgid "" @@ -248,6 +336,12 @@ msgid "" "(without ``--embed``) if the previous command fails (replace ``X.Y`` with " "the Python version)." msgstr "" +"Agrega un módulo pkg-config ``python-3.8-embed`` para integrar Python en una " +"aplicación: ``pkg-config python-3.8-embed --libs`` incluye ``-lpython3.8``. " +"Para que sea compatible con 3.8 y versiones anteriores, primero intenta usar " +"``pkg-config python-X.Y-embed --libs`` y vuelve a ``pkg-config python-X.Y --" +"libs`` (sin ``--embed``) si el comando anterior falla (reemplaza ``XY`` con " +"la versión de Python)." #: ../Doc/whatsnew/3.8.rst:248 msgid "" @@ -257,10 +351,16 @@ msgid "" "backward incompatible on purpose. (Contributed by Victor Stinner in :issue:" "`36721`.)" msgstr "" +"Por otro lado, ``pkg-config python3.8 --libs`` ya no contiene ``-" +"lpython3.8``. Las extensiones en C no deben estar enlazadas a libpython " +"(excepto en Android y Cygwin, cuyos casos son manejados por el script); este " +"cambio no es retrocompatible a propósito. (Contribución de Victor Stinner " +"en :issue:`36721`.)" #: ../Doc/whatsnew/3.8.rst:256 msgid "f-strings support ``=`` for self-documenting expressions and debugging" msgstr "" +"Los f-strings soportan ``=`` para expresiones autodocumentadas y depuración" #: ../Doc/whatsnew/3.8.rst:258 msgid "" @@ -268,26 +368,34 @@ msgid "" "``f'{expr=}'`` will expand to the text of the expression, an equal sign, " "then the representation of the evaluated expression. For example:" msgstr "" +"Se ha agregado un especificador ``=`` a los :term:`f-string`\\s. Un f-string " +"como ``f'{expr=}'`` se expandirá al texto de la expresión, seguido de un " +"signo igual y luego la representación de la expresión evaluada. Por ejemplo:" #: ../Doc/whatsnew/3.8.rst:267 msgid "" "The usual :ref:`f-string format specifiers ` allow more control " "over how the result of the expression is displayed::" msgstr "" +"Los :ref:`especificadores de formato de los f-string ` usuales " +"permiten un mayor control sobre como se muestra el resultado de la " +"expresión::" #: ../Doc/whatsnew/3.8.rst:274 msgid "" "The ``=`` specifier will display the whole expression so that calculations " "can be shown::" msgstr "" +"El especificador ``=`` mostrará la expresión completa para que se puedan " +"mostrar los cálculos:" #: ../Doc/whatsnew/3.8.rst:280 msgid "(Contributed by Eric V. Smith and Larry Hastings in :issue:`36817`.)" -msgstr "" +msgstr "(Contribución de Eric V. Smith y Larry Hastings en :issue:`36817`.)" #: ../Doc/whatsnew/3.8.rst:284 msgid "PEP 578: Python Runtime Audit Hooks" -msgstr "" +msgstr "PEP 578: Ganchos de auditoría en tiempo de ejecución de Python" #: ../Doc/whatsnew/3.8.rst:286 msgid "" @@ -297,14 +405,20 @@ msgid "" "embedders or system administrators to deploy builds of Python where auditing " "is always enabled." msgstr "" +"Este PEP agrega un gancho de auditoría y un gancho abierto verificado. Ambos " +"están disponibles desde Python y desde el código nativo, lo que permite que " +"las aplicaciones y los frameworks escritos en código Python puro aprovechen " +"las notificaciones adicionales, al tiempo que permiten a los integradores o " +"administradores de sistemas implementar compilaciones de Python donde la " +"auditoría siempre está habilitada." #: ../Doc/whatsnew/3.8.rst:292 msgid "See :pep:`578` for full details." -msgstr "" +msgstr "Consultar :pep:`578` para obtener más detalles." #: ../Doc/whatsnew/3.8.rst:296 msgid "PEP 587: Python Initialization Configuration" -msgstr "" +msgstr "PEP 587: Configuración de inicialización de Python" #: ../Doc/whatsnew/3.8.rst:298 msgid "" @@ -312,134 +426,137 @@ msgid "" "providing finer control on the whole configuration and better error " "reporting." msgstr "" +"El :pep:`587` agrega una nueva API de C para configurar la inicialización de " +"Python, proporcionando un control más preciso de toda la configuración y " +"mejores informes de errores." #: ../Doc/whatsnew/3.8.rst:301 msgid "New structures:" -msgstr "" +msgstr "Nuevas estructuras:" #: ../Doc/whatsnew/3.8.rst:303 msgid ":c:type:`PyConfig`" -msgstr "" +msgstr ":c:type:`PyConfig`" #: ../Doc/whatsnew/3.8.rst:304 msgid ":c:type:`PyPreConfig`" -msgstr "" +msgstr ":c:type:`PyPreConfig`" #: ../Doc/whatsnew/3.8.rst:305 msgid ":c:type:`PyStatus`" -msgstr "" +msgstr ":c:type:`PyStatus`" #: ../Doc/whatsnew/3.8.rst:306 msgid ":c:type:`PyWideStringList`" -msgstr "" +msgstr ":c:type:`PyWideStringList`" #: ../Doc/whatsnew/3.8.rst:308 msgid "New functions:" -msgstr "" +msgstr "Nuevas funciones:" #: ../Doc/whatsnew/3.8.rst:310 msgid ":c:func:`PyConfig_Clear`" -msgstr "" +msgstr ":c:func:`PyConfig_Clear`" #: ../Doc/whatsnew/3.8.rst:311 msgid ":c:func:`PyConfig_InitIsolatedConfig`" -msgstr "" +msgstr ":c:func:`PyConfig_InitIsolatedConfig`" #: ../Doc/whatsnew/3.8.rst:312 msgid ":c:func:`PyConfig_InitPythonConfig`" -msgstr "" +msgstr ":c:func:`PyConfig_InitPythonConfig`" #: ../Doc/whatsnew/3.8.rst:313 msgid ":c:func:`PyConfig_Read`" -msgstr "" +msgstr ":c:func:`PyConfig_Read`" #: ../Doc/whatsnew/3.8.rst:314 msgid ":c:func:`PyConfig_SetArgv`" -msgstr "" +msgstr ":c:func:`PyConfig_SetArgv`" #: ../Doc/whatsnew/3.8.rst:315 msgid ":c:func:`PyConfig_SetBytesArgv`" -msgstr "" +msgstr ":c:func:`PyConfig_SetBytesArgv`" #: ../Doc/whatsnew/3.8.rst:316 msgid ":c:func:`PyConfig_SetBytesString`" -msgstr "" +msgstr ":c:func:`PyConfig_SetBytesString`" #: ../Doc/whatsnew/3.8.rst:317 msgid ":c:func:`PyConfig_SetString`" -msgstr "" +msgstr ":c:func:`PyConfig_SetString`" #: ../Doc/whatsnew/3.8.rst:318 msgid ":c:func:`PyPreConfig_InitIsolatedConfig`" -msgstr "" +msgstr ":c:func:`PyPreConfig_InitIsolatedConfig`" #: ../Doc/whatsnew/3.8.rst:319 msgid ":c:func:`PyPreConfig_InitPythonConfig`" -msgstr "" +msgstr ":c:func:`PyPreConfig_InitPythonConfig`" #: ../Doc/whatsnew/3.8.rst:320 msgid ":c:func:`PyStatus_Error`" -msgstr "" +msgstr ":c:func:`PyStatus_Error`" #: ../Doc/whatsnew/3.8.rst:321 msgid ":c:func:`PyStatus_Exception`" -msgstr "" +msgstr ":c:func:`PyStatus_Exception`" #: ../Doc/whatsnew/3.8.rst:322 msgid ":c:func:`PyStatus_Exit`" -msgstr "" +msgstr ":c:func:`PyStatus_Exit`" #: ../Doc/whatsnew/3.8.rst:323 msgid ":c:func:`PyStatus_IsError`" -msgstr "" +msgstr ":c:func:`PyStatus_IsError`" #: ../Doc/whatsnew/3.8.rst:324 msgid ":c:func:`PyStatus_IsExit`" -msgstr "" +msgstr ":c:func:`PyStatus_IsExit`" #: ../Doc/whatsnew/3.8.rst:325 msgid ":c:func:`PyStatus_NoMemory`" -msgstr "" +msgstr ":c:func:`PyStatus_NoMemory`" #: ../Doc/whatsnew/3.8.rst:326 msgid ":c:func:`PyStatus_Ok`" -msgstr "" +msgstr ":c:func:`PyStatus_Ok`" #: ../Doc/whatsnew/3.8.rst:327 msgid ":c:func:`PyWideStringList_Append`" -msgstr "" +msgstr ":c:func:`PyWideStringList_Append`" #: ../Doc/whatsnew/3.8.rst:328 msgid ":c:func:`PyWideStringList_Insert`" -msgstr "" +msgstr ":c:func:`PyWideStringList_Insert`" #: ../Doc/whatsnew/3.8.rst:329 msgid ":c:func:`Py_BytesMain`" -msgstr "" +msgstr ":c:func:`Py_BytesMain`" #: ../Doc/whatsnew/3.8.rst:330 msgid ":c:func:`Py_ExitStatusException`" -msgstr "" +msgstr ":c:func:`Py_ExitStatusException`" #: ../Doc/whatsnew/3.8.rst:331 msgid ":c:func:`Py_InitializeFromConfig`" -msgstr "" +msgstr ":c:func:`Py_InitializeFromConfig`" #: ../Doc/whatsnew/3.8.rst:332 msgid ":c:func:`Py_PreInitialize`" -msgstr "" +msgstr ":c:func:`Py_PreInitialize`" #: ../Doc/whatsnew/3.8.rst:333 msgid ":c:func:`Py_PreInitializeFromArgs`" -msgstr "" +msgstr ":c:func:`Py_PreInitializeFromArgs`" #: ../Doc/whatsnew/3.8.rst:334 msgid ":c:func:`Py_PreInitializeFromBytesArgs`" -msgstr "" +msgstr ":c:func:`Py_PreInitializeFromBytesArgs`" #: ../Doc/whatsnew/3.8.rst:335 msgid ":c:func:`Py_RunMain`" -msgstr "" +msgstr ":c:func:`Py_RunMain`" #: ../Doc/whatsnew/3.8.rst:337 msgid "" @@ -449,24 +566,31 @@ msgid "" "reference configuration, replacing global configuration variables and other " "private variables." msgstr "" +"Este PEP también agrega los campos ``_PyRuntimeState.preconfig`` (tipo :c:" +"type:`PyPreConfig`) y ``PyInterpreterState.config`` (tipo :c:type:" +"`PyConfig`) a estas estructuras internas. ``PyInterpreterState.config`` se " +"convierte en la nueva configuración de referencia, reemplazando las " +"variables de configuración globales y otras variables privadas." #: ../Doc/whatsnew/3.8.rst:343 msgid "" "See :ref:`Python Initialization Configuration ` for the " "documentation." msgstr "" +"Consultar :ref:`Configuración de inicialización de Python ` " +"para la documentación." #: ../Doc/whatsnew/3.8.rst:346 msgid "See :pep:`587` for a full description." -msgstr "" +msgstr "Consultar :pep:`587` para obtener una descripción completa." #: ../Doc/whatsnew/3.8.rst:348 msgid "(Contributed by Victor Stinner in :issue:`36763`.)" -msgstr "" +msgstr "(Contribución de Victor Stinner en :issue:`36763`.)" #: ../Doc/whatsnew/3.8.rst:352 msgid "Vectorcall: a fast calling protocol for CPython" -msgstr "" +msgstr "Vectorcall: un protocolo de invocación rápida para CPython" #: ../Doc/whatsnew/3.8.rst:354 msgid "" @@ -474,24 +598,30 @@ msgid "" "formalize existing optimizations which were already done for various " "classes. Any extension type implementing a callable can use this protocol." msgstr "" +"El protocolo \"vectorcall\" se ha agregado a la API de Python/C. Tiene como " +"objetivo formalizar las optimizaciones existentes que ya se realizaron para " +"varias clases. Cualquier tipo de extensión que implemente un invocable puede " +"utilizar este protocolo." #: ../Doc/whatsnew/3.8.rst:359 msgid "" "This is currently provisional. The aim is to make it fully public in Python " "3.9." msgstr "" +"Actualmente es provisional. El objetivo es hacerlo completamente público en " +"Python 3.9." #: ../Doc/whatsnew/3.8.rst:362 msgid "See :pep:`590` for a full description." -msgstr "" +msgstr "Consultar :pep:`590` para obtener una descripción completa." #: ../Doc/whatsnew/3.8.rst:364 msgid "(Contributed by Jeroen Demeyer and Mark Shannon in :issue:`36974`.)" -msgstr "" +msgstr "(Contribución de Jeroen Demeyer y Mark Shannon en :issue:`36974`.)" #: ../Doc/whatsnew/3.8.rst:368 msgid "Pickle protocol 5 with out-of-band data buffers" -msgstr "" +msgstr "Protocolo 5 de Pickle con búferes de datos fuera de banda" #: ../Doc/whatsnew/3.8.rst:370 msgid "" @@ -500,6 +630,11 @@ msgid "" "important to optimize the transfer by reducing memory copies, and possibly " "by applying custom techniques such as data-dependent compression." msgstr "" +"Cuando :mod:`pickle` se usa para transferir grandes cantidades de datos " +"entre procesos de Python, con la finalidad de aprovechar el procesamiento de " +"múltiples núcleos o máquinas, es importante optimizar la transferencia " +"reduciendo las copias en memoria y posiblemente aplicando técnicas " +"personalizadas, como la compresión dependiente de datos." #: ../Doc/whatsnew/3.8.rst:375 msgid "" @@ -507,18 +642,22 @@ msgid "" "where :pep:`3118`-compatible data can be transmitted separately from the " "main pickle stream, at the discretion of the communication layer." msgstr "" +"El protocolo 5 de :mod:`pickle` introduce soporte para búferes fuera de " +"banda, donde los datos compatibles con :pep:`3118` se pueden transmitir " +"separados del flujo principal de pickle, a discreción de la capa de " +"comunicación." #: ../Doc/whatsnew/3.8.rst:379 msgid "See :pep:`574` for a full description." -msgstr "" +msgstr "Consultar :pep:`574` para obtener una descripción completa." #: ../Doc/whatsnew/3.8.rst:381 msgid "(Contributed by Antoine Pitrou in :issue:`36785`.)" -msgstr "" +msgstr "(Contribución de Antoine Pitrou en :issue:`36785`.)" #: ../Doc/whatsnew/3.8.rst:385 msgid "Other Language Changes" -msgstr "" +msgstr "Otros cambios en el lenguaje" #: ../Doc/whatsnew/3.8.rst:387 msgid "" @@ -526,6 +665,10 @@ msgid "" "due to a problem with the implementation. In Python 3.8 this restriction " "was lifted. (Contributed by Serhiy Storchaka in :issue:`32489`.)" msgstr "" +"La declaración :keyword:`continue` era ilegal en la cláusula :keyword:" +"`finally` debido a un problema con la implementación. En Python 3.8 se ha " +"eliminado esta restricción. (Contribución de Serhiy Storchaka en :issue:" +"`32489`.)" #: ../Doc/whatsnew/3.8.rst:392 msgid "" @@ -536,6 +679,12 @@ msgid "" "it work across multiple numeric types. (Contributed by Lisa Roach in :issue:" "`33073` and Raymond Hettinger in :issue:`37819`.)" msgstr "" +"Los tipos :class:`bool`, :class:`int` y :class:`fractions.Fraction` ahora " +"tienen un método :meth:`~int.as_integer_ratio` como el que se encuentra en :" +"class:`float` y :class:`decimal.Decimal`. Esta extensión menor de la API " +"hace posible escribir ``numerator, denominator = x.as_integer_ratio()`` y " +"hacer que funcione con múltiples tipos numéricos. (Contribución de Lisa " +"Roach en :issue:`33073` y de Raymond Hettinger en :issue:`37819`.)" #: ../Doc/whatsnew/3.8.rst:400 msgid "" @@ -545,22 +694,33 @@ msgid "" "meth:`~object.__complex__` is not available. (Contributed by Serhiy " "Storchaka in :issue:`20092`.)" msgstr "" +"Los constructores de :class:`int`, :class:`float` y :class:`complex` ahora " +"usarán el método especial :meth:`~object .__index__`, si está disponible y " +"el método correspondiente :meth:`~object.__int__`, :meth:`~object.__float__` " +"o :meth:`~object.__complex__` no está disponible. (Contribución de Serhiy " +"Storchaka en :issue:`20092`.)" #: ../Doc/whatsnew/3.8.rst:406 msgid "" "Added support of ``\\N{name}`` escapes in :mod:`regular expressions `::" msgstr "" +"Agregado soporte para escapes ``\\N{name}`` en :mod:`expresiones regulares " +"`::" #: ../Doc/whatsnew/3.8.rst:413 msgid "" "(Contributed by Jonathan Eunice and Serhiy Storchaka in :issue:`30688`.)" msgstr "" +"(Contribución de Jonathan Eunice y Serhiy Storchaka in :issue:`30688`.)" #: ../Doc/whatsnew/3.8.rst:415 msgid "" "Dict and dictviews are now iterable in reversed insertion order using :func:" "`reversed`. (Contributed by Rémi Lapeyre in :issue:`33462`.)" msgstr "" +"Los diccionarios y sus vistas ahora se pueden iterar en orden inverso de " +"inserción usando :func:`reversed`. (Contribución de Rémi Lapeyre en :issue:" +"`33462`.)" #: ../Doc/whatsnew/3.8.rst:418 msgid "" @@ -570,6 +730,11 @@ msgid "" "keyword argument assignment term. (Contributed by Benjamin Peterson in :" "issue:`34641`.)" msgstr "" +"La sintaxis permitida para los nombres por palabra clave en las llamadas a " +"funciones se ha restringido aún más. En particular, ``f((keyword)=arg)`` ya " +"no está permitido. Nunca se tuvo intención de permitir algo más que un " +"simple nombre en el lado izquierdo de un término de asignación de argumento " +"por palabra clave. (Contribución de Benjamin Peterson en :issue:`34641`.)" #: ../Doc/whatsnew/3.8.rst:424 msgid "" @@ -577,10 +742,14 @@ msgid "" "statements no longer requires enclosing parentheses. This brings the *yield* " "and *return* syntax into better agreement with normal assignment syntax::" msgstr "" +"El desempaquetado de iterables generalizado en declaraciones :keyword:" +"`yield` y :keyword:`return` ya no requiere ser encerrado entre paréntesis. " +"Esto hace que la sintaxis de *yield* y *return* se asemeje más a la sintaxis " +"normal de asignación::" #: ../Doc/whatsnew/3.8.rst:436 msgid "(Contributed by David Cuthbert and Jordan Chapman in :issue:`32117`.)" -msgstr "" +msgstr "(Contribución de David Cuthbert y Jordan Chapman en :issue:`32117`.)" #: ../Doc/whatsnew/3.8.rst:438 msgid "" @@ -589,6 +758,11 @@ msgid "" "just having a :exc:`TypeError` indicating that the first tuple was not " "callable. (Contributed by Serhiy Storchaka in :issue:`15248`.)" msgstr "" +"Cuando falta una coma en el código, como en ``[(10, 20) (30, 40)]``, el " +"compilador muestra un :exc:`SyntaxWarning` con una sugerencia útil. Esto " +"representa una mejora con respecto a la implementación previa en la que solo " +"se mostraba un :exc:`TypeError` indicando que la primera tupla no era " +"invocable. (Contribución de Serhiy Storchaka en :issue:`15248`.)" #: ../Doc/whatsnew/3.8.rst:444 msgid "" @@ -599,6 +773,13 @@ msgid "" "uses :class:`datetime.timedelta` arithmetic, such as :meth:`~datetime." "datetime.astimezone`. (Contributed by Paul Ganssle in :issue:`32417`.)" msgstr "" +"Las operaciones aritméticas entre subclases de :class:`datetime.date` o :" +"class:`datetime.datetime` y :class:`datetime.timedelta` ahora retornan una " +"instancia de la subclase, en lugar de la clase base. Esto también afecta al " +"tipo de retorno de las operaciones cuya implementación (directa o " +"indirectamente) usa la aritmética de :class:`datetime.timedelta`, como :meth:" +"`~datetime.datetime.astimezone`. (Contribución de Paul Ganssle en :issue:" +"`32417`.)" #: ../Doc/whatsnew/3.8.rst:452 msgid "" @@ -609,6 +790,14 @@ msgid "" "POSIX and Windows use this to properly terminate scripts in interactive " "sessions. (Contributed by Google via Gregory P. Smith in :issue:`1054041`.)" msgstr "" +"Cuando el intérprete de Python es interrumpido por Ctrl-C (SIGINT) y la " +"excepción :exc:`KeyboardInterrupt` resultante no se detecta, el proceso de " +"Python ahora termina su ejecución a través de una señal SIGINT o con el " +"código de salida correcto, de modo que el proceso que lo invocó puede " +"detectar que murió debido a Ctrl-C. Los shells en POSIX y Windows usan esto " +"para terminar la ejecución de los scripts en sesiones interactivas de forma " +"correcta. (Contribución de Google a través de Gregory P. Smith en :issue:" +"`1054041`.)" #: ../Doc/whatsnew/3.8.rst:459 msgid "" @@ -619,16 +808,24 @@ msgid "" "the new ``replace()`` method makes it possible to create a clone with a few " "altered parameters." msgstr "" +"Algunos estilos de programación avanzados requieren actualizar el objeto :" +"class:`types.CodeType` para una función ya existente. Dado que los objetos " +"de código son inmutables, es necesario crear un nuevo objeto de código, que " +"sea modelado a partir del objeto de código existente. Con 19 parámetros, " +"esto era algo tedioso. Ahora, el nuevo método ``replace()`` hace posible " +"crear un clon con algunos parámetros alterados." #: ../Doc/whatsnew/3.8.rst:466 msgid "" "Here's an example that alters the :func:`statistics.mean` function to " "prevent the *data* parameter from being used as a keyword argument::" msgstr "" +"Aquí hay un ejemplo que modifica la función :func:`statistics.mean` para " +"evitar que el parámetro *data* se use como un argumento por palabra clave::" #: ../Doc/whatsnew/3.8.rst:478 msgid "(Contributed by Victor Stinner in :issue:`37032`.)" -msgstr "" +msgstr "(Contribución de Victor Stinner en :issue:`37032`.)" #: ../Doc/whatsnew/3.8.rst:480 msgid "" @@ -640,6 +837,13 @@ msgid "" "inverse `_ of " "38 modulo 137, write::" msgstr "" +"Para enteros, la forma de tres argumentos de la función :func:`pow` ahora " +"permite que el exponente sea negativo en el caso de que la base y el módulo " +"sean primos relativos (coprimos). Luego calcula un inverso modular a la base " +"cuando el exponente es ``-1`` y una potencia adecuada de ese inverso en el " +"caso de otros exponentes negativos. Por ejemplo, para calcular el `inverso " +"multiplicativo `_ de 38 módulo 137, escribe::" #: ../Doc/whatsnew/3.8.rst:494 msgid "" @@ -648,16 +852,22 @@ msgid "" "integer solutions for ``4258𝑥 + 147𝑦 = 369``, first rewrite as ``4258𝑥 ≡ 369 " "(mod 147)`` then solve:" msgstr "" +"Los inversos modulares surgen de la solución de `ecuaciones diofánticas " +"lineales `_. " +"Por ejemplo, para encontrar soluciones enteras para ``4258𝑥 + 147𝑦 = 369``, " +"primero debes reescribirla como ``4258𝑥 ≡ 369 (mod 147)`` y luego resolver:" #: ../Doc/whatsnew/3.8.rst:504 msgid "(Contributed by Mark Dickinson in :issue:`36027`.)" -msgstr "" +msgstr "(Contribución de Mark Dickinson en :issue:`36027`.)" #: ../Doc/whatsnew/3.8.rst:506 msgid "" "Dict comprehensions have been synced-up with dict literals so that the key " "is computed first and the value second::" msgstr "" +"Las compresiones de diccionarios se han sincronizado con los literales de " +"diccionario para que primero se calcule la clave y posteriormente el valor::" #: ../Doc/whatsnew/3.8.rst:521 msgid "" @@ -665,10 +875,13 @@ msgid "" "because variables assigned in the key expression will be available in the " "value expression::" msgstr "" +"Este orden de ejecución garantizado es especialmente útil en las expresiones " +"de asignación porque las variables asignadas en la expresión de la clave " +"estarán disponibles en la expresión del valor::" #: ../Doc/whatsnew/3.8.rst:531 msgid "(Contributed by Jörn Heissler in :issue:`35224`.)" -msgstr "" +msgstr "(Contribución de Jörn Heissler en :issue:`35224`.)" #: ../Doc/whatsnew/3.8.rst:533 msgid "" @@ -680,10 +893,17 @@ msgid "" "`~__setstate__` method. (Contributed by Pierre Glaser and Olivier Grisel in :" "issue:`35900`.)" msgstr "" +"El método :meth:`object.__reduce__` ahora puede retornar una tupla con una " +"longitud que va desde los dos a los seis elementos. Anteriormente, el límite " +"era cinco. El nuevo sexto elemento opcional es un invocable con una firma " +"``(obj, state)``. Esto permite el control directo sobre el comportamiento de " +"actualización de estado de un objeto específico. Si no es *None*, este " +"invocable tendrá prioridad sobre el método :meth:`~__setstate__` del objeto. " +"(Contribución de Pierre Glaser y Olivier Grisel en :issue:`35900`.)" #: ../Doc/whatsnew/3.8.rst:542 msgid "New Modules" -msgstr "" +msgstr "Nuevos módulos" #: ../Doc/whatsnew/3.8.rst:544 msgid "" @@ -691,18 +911,22 @@ msgid "" "reading metadata from third-party packages. For example, it can extract an " "installed package's version number, list of entry points, and more::" msgstr "" +"El nuevo módulo :mod:`importlib.metadata` proporciona soporte (provisional) " +"para leer metadatos de paquetes de terceros. Por ejemplo, puede extraer el " +"número de versión de un paquete instalado, la lista de puntos de entrada y " +"más::" #: ../Doc/whatsnew/3.8.rst:563 msgid "(Contributed by Barry Warsaw and Jason R. Coombs in :issue:`34632`.)" -msgstr "" +msgstr "(Contribución de Barry Warsaw y Jason R. Coombs en :issue:`34632`.)" #: ../Doc/whatsnew/3.8.rst:567 msgid "Improved Modules" -msgstr "" +msgstr "Módulos mejorados" #: ../Doc/whatsnew/3.8.rst:570 msgid "ast" -msgstr "" +msgstr "ast" #: ../Doc/whatsnew/3.8.rst:572 msgid "" @@ -710,32 +934,44 @@ msgid "" "give the precise location of the end of the node. (This only applies to " "nodes that have ``lineno`` and ``col_offset`` attributes.)" msgstr "" +"Los nodos de AST ahora disponen de los atributos ``end_lineno`` y " +"``end_col_offset``, que proporcionan la localización precisa del final del " +"nodo. (Esto solo se aplica a los nodos que tienen los atributos ``lineno`` y " +"``col_offset``.)" #: ../Doc/whatsnew/3.8.rst:576 msgid "" "New function :func:`ast.get_source_segment` returns the source code for a " "specific AST node." msgstr "" +"La nueva función :func:`ast.get_source_segment` retorna el código fuente de " +"un nodo AST específico." #: ../Doc/whatsnew/3.8.rst:579 msgid "(Contributed by Ivan Levkivskyi in :issue:`33416`.)" -msgstr "" +msgstr "(Contribución de Ivan Levkivskyi en :issue:`33416`.)" #: ../Doc/whatsnew/3.8.rst:581 msgid "The :func:`ast.parse` function has some new flags:" -msgstr "" +msgstr "La función :func:`ast.parse` tiene algunos flags nuevos:" #: ../Doc/whatsnew/3.8.rst:583 msgid "" "``type_comments=True`` causes it to return the text of :pep:`484` and :pep:" "`526` type comments associated with certain AST nodes;" msgstr "" +"``type_comments=True`` causa que la función retorne el texto de los " +"comentarios de tipo especificados en :pep:`484` y :pep:`526` asociados con " +"ciertos nodos AST;" #: ../Doc/whatsnew/3.8.rst:586 msgid "" "``mode='func_type'`` can be used to parse :pep:`484` \"signature type " "comments\" (returned for function definition AST nodes);" msgstr "" +"``mode='func_type'`` puede usarse para realizar un análisis sintáctico de " +"los \"comentarios de tipo de firma\" de :pep:`484` (retornados por los nodos " +"AST de definición de funciones);" #: ../Doc/whatsnew/3.8.rst:589 msgid "" @@ -743,14 +979,17 @@ msgid "" "For example, ``feature_version=(3, 4)`` will treat :keyword:`async` and :" "keyword:`await` as non-reserved words." msgstr "" +"``feature_version=(3, N)`` permite especificar una versión de Python 3 " +"previa. Por ejemplo, ``feature_version=(3, 4)`` hará que se trate a :keyword:" +"`async` y :keyword:`await` como palabras no reservadas." #: ../Doc/whatsnew/3.8.rst:593 msgid "(Contributed by Guido van Rossum in :issue:`35766`.)" -msgstr "" +msgstr "(Contribución de Guido van Rossum en :issue:`35766`.)" #: ../Doc/whatsnew/3.8.rst:597 msgid "asyncio" -msgstr "" +msgstr "asyncio" #: ../Doc/whatsnew/3.8.rst:599 msgid "" @@ -758,20 +997,27 @@ msgid "" "function can be used to execute a :term:`coroutine` and return the result " "while automatically managing the event loop. For example::" msgstr "" +":func:`asyncio.run` ha pasado de la API provisional a la estable. Esta " +"función se puede utilizar para ejecutar una :term:`coroutine` y retornar el " +"resultado mientras se gestiona automáticamente el bucle de eventos. Por " +"ejemplo::" #: ../Doc/whatsnew/3.8.rst:611 msgid "This is *roughly* equivalent to::" -msgstr "" +msgstr "Esto es *aproximadamente* equivalente a::" #: ../Doc/whatsnew/3.8.rst:628 msgid "" "The actual implementation is significantly more complex. Thus, :func:" "`asyncio.run` should be the preferred way of running asyncio programs." msgstr "" +"La implementación real es significativamente más compleja. Por lo tanto, :" +"func:`asyncio.run` debería ser la forma preferida de ejecutar programas " +"asyncio." #: ../Doc/whatsnew/3.8.rst:631 msgid "(Contributed by Yury Selivanov in :issue:`32314`.)" -msgstr "" +msgstr "(Contribución de Yury Selivanov en :issue:`32314`.)" #: ../Doc/whatsnew/3.8.rst:633 msgid "" @@ -780,10 +1026,15 @@ msgid "" "There is no longer a need to directly call ``asyncio.run()`` which would " "spawn a new event loop on every invocation:" msgstr "" +"La ejecución de ``python -m asyncio`` lanza un REPL asincrónico de forma " +"nativa. Esto permite una rápida experimentación con código que tiene un " +"nivel :keyword:`await` superior. Ya no es necesario llamar directamente a " +"``asyncio.run()``, lo que generaría un nuevo ciclo de eventos en cada " +"invocación:" #: ../Doc/whatsnew/3.8.rst:648 msgid "(Contributed by Yury Selivanov in :issue:`37028`.)" -msgstr "" +msgstr "(Contribución de Yury Selivanov en :issue:`37028`.)" #: ../Doc/whatsnew/3.8.rst:650 ../Doc/whatsnew/3.8.rst:1955 msgid "" @@ -791,18 +1042,25 @@ msgid "" "`BaseException` rather than :class:`Exception`. (Contributed by Yury " "Selivanov in :issue:`32528`.)" msgstr "" +"La excepción :class:`asyncio.CancelledError` ahora hereda de :class:" +"`BaseException` en vez de :class:`Exception`. (Contribución de Yury " +"Selivanov en :issue:`32528`.)" #: ../Doc/whatsnew/3.8.rst:654 msgid "" "On Windows, the default event loop is now :class:`~asyncio." "ProactorEventLoop`. (Contributed by Victor Stinner in :issue:`34687`.)" msgstr "" +"En Windows, el ciclo de eventos predeterminado ahora es :class:`~asyncio." +"ProactorEventLoop`. (Contribución de Victor Stinner en :issue:`34687`.)" #: ../Doc/whatsnew/3.8.rst:657 msgid "" ":class:`~asyncio.ProactorEventLoop` now also supports UDP. (Contributed by " "Adam Meily and Andrew Svetlov in :issue:`29883`.)" msgstr "" +":class:`~asyncio.ProactorEventLoop` ahora también es compatible con UDP. " +"(Contribución de Adam Meily y Andrew Svetlov en :issue:`29883`.)" #: ../Doc/whatsnew/3.8.rst:660 msgid "" @@ -810,12 +1068,18 @@ msgid "" "`KeyboardInterrupt` (\"CTRL+C\"). (Contributed by Vladimir Matveev in :issue:" "`23057`.)" msgstr "" +":class:`~asyncio.ProactorEventLoop` ahora puede ser interrumpido por :exc:" +"`KeyboardInterrupt` (\"CTRL+C\"). (Contribución de Vladimir Matveev en :" +"issue:`23057`.)" #: ../Doc/whatsnew/3.8.rst:664 msgid "" "Added :meth:`asyncio.Task.get_coro` for getting the wrapped coroutine within " "an :class:`asyncio.Task`. (Contributed by Alex Grönholm in :issue:`36999`.)" msgstr "" +"Se ha agregado :meth:`asyncio.Task.get_coro` para obtener la corrutina " +"envuelta dentro de :class:`asyncio.Task`. (Contribución de Alex Grönholm en :" +"issue:`36999`.)" #: ../Doc/whatsnew/3.8.rst:668 msgid "" @@ -827,6 +1091,13 @@ msgid "" "the :meth:`~asyncio.Task.get_name` method. (Contributed by Alex Grönholm in :" "issue:`34270`.)" msgstr "" +"Las tareas de Asyncio ahora se pueden nombrar, ya sea pasando el argumento " +"por palabra clave ``name`` a :func:`asyncio.create_task` o al método :meth:" +"`~asyncio.loop.create_task` del bucle de eventos, o invocando al método :" +"meth:`~asyncio.Task.set_name` en el objeto de tarea. El nombre de la tarea " +"es visible en la salida de ``repr()`` de :class:`asyncio.Task` y también se " +"puede recuperar usando el método :meth:`~asyncio.Task.get_name`. " +"(Contribución de Alex Grönholm en :issue:`34270`.)" #: ../Doc/whatsnew/3.8.rst:676 msgid "" @@ -837,10 +1108,17 @@ msgid "" "applications that support IPv4 and IPv6 by attempting to simultaneously " "connect using both. (Contributed by twisteroid ambassador in :issue:`33530`.)" msgstr "" +"Se agregó soporte para `Happy Eyeballs `_ a :func:`asyncio.loop.create_connection`. Para especificar " +"el comportamiento, se han agregado dos nuevos parámetros: " +"*happy_eyeballs_delay* e *interleave*. El algoritmo Happy Eyeballs mejora la " +"capacidad de respuesta en aplicaciones que admiten IPv4 e IPv6 al intentar " +"conectarse simultáneamente utilizando ambos. (Contribución de twisteroid " +"ambassador en :issue:`33530`.)" #: ../Doc/whatsnew/3.8.rst:686 msgid "builtins" -msgstr "" +msgstr "builtins" #: ../Doc/whatsnew/3.8.rst:688 msgid "" @@ -851,10 +1129,16 @@ msgid "" "object marked with the ``CO_COROUTINE`` flag may then be returned. " "(Contributed by Matthias Bussonnier in :issue:`34616`)" msgstr "" +"La función incorporada :func:`compile` se ha mejorado para que acepte el " +"flag ``ast.PyCF_ALLOW_TOP_LEVEL_AWAIT``. Si se pasa este nuevo flag, :func:" +"`compile` permitirá construcciones de nivel superior ``await``, ``async " +"for`` y ``async with``, que normalmente se consideran sintaxis inválida. El " +"objeto de código asíncrono marcado con el flag ``CO_COROUTINE`` puede ser " +"retornado. (Contribución de Matthias Bussonnier en :issue:`34616`.)" #: ../Doc/whatsnew/3.8.rst:697 msgid "collections" -msgstr "" +msgstr "collections" #: ../Doc/whatsnew/3.8.rst:699 msgid "" @@ -866,24 +1150,34 @@ msgid "" "type: ``OrderedDict(nt._asdict())``. (Contributed by Raymond Hettinger in :" "issue:`35864`.)" msgstr "" +"El método :meth:`~collections.somenamedtuple._asdict` para :func:" +"`collections.namedtuple` ahora retorna una instancia de :class:`dict` en " +"lugar de una de :class:`collections.OrderedDict`. Esto funciona porque se " +"garantiza que los diccionarios regulares mantienen el orden de inserción " +"desde Python 3.7. Si se requieren las características adicionales de :class:" +"`OrderedDict`, la solución sugerida es realizar una conversión del resultado " +"al tipo deseado: ``OrderedDict(nt._asdict())``. (Contribución de Raymond " +"Hettinger en :issue:`35864`.)" #: ../Doc/whatsnew/3.8.rst:709 msgid "cProfile" -msgstr "" +msgstr "cProfile" #: ../Doc/whatsnew/3.8.rst:711 msgid "" "The :class:`cProfile.Profile ` class can now be used as a " "context manager. Profile a block of code by running::" msgstr "" +"La clase :class:`cProfile.Profile ` ahora puede usarse como " +"gestor de contexto. Ahora se puede perfilar un bloque de código ejecutando::" #: ../Doc/whatsnew/3.8.rst:720 msgid "(Contributed by Scott Sanderson in :issue:`29235`.)" -msgstr "" +msgstr "(Contribución de Scott Sanderson en :issue:`29235`.)" #: ../Doc/whatsnew/3.8.rst:724 msgid "csv" -msgstr "" +msgstr "csv" #: ../Doc/whatsnew/3.8.rst:726 msgid "" @@ -892,10 +1186,14 @@ msgid "" "memory while still preserving the field order. (Contributed by Michael Selik " "in :issue:`34003`.)" msgstr "" +":class:`csv.DictReader` ahora retorna instancias de :class:`dict` en lugar " +"de :class:`collections.OrderedDict`. La herramienta ahora es más rápida y " +"usa menos memoria, mientras conserva el orden de los campos. (Contribución " +"de Michael Selik en :issue:`34003`.)" #: ../Doc/whatsnew/3.8.rst:733 msgid "curses" -msgstr "" +msgstr "curses" #: ../Doc/whatsnew/3.8.rst:735 msgid "" @@ -903,10 +1201,13 @@ msgid "" "underlying ncurses library: :data:`~curses.ncurses_version`. (Contributed by " "Serhiy Storchaka in :issue:`31680`.)" msgstr "" +"Se agregó una nueva variable que contiene información de versión " +"estructurada para la biblioteca ncurses subyacente: :data:`~curses." +"ncurses_version`. (Contribución de Serhiy Storchaka en :issue:`31680`.)" #: ../Doc/whatsnew/3.8.rst:741 msgid "ctypes" -msgstr "" +msgstr "ctypes" #: ../Doc/whatsnew/3.8.rst:743 msgid "" @@ -917,10 +1218,17 @@ msgid "" "used to load the initial DLL) and paths added by :func:`~os." "add_dll_directory`. (Contributed by Steve Dower in :issue:`36085`.)" msgstr "" +"En Windows, :class:`~ctypes.CDLL` y sus subclases ahora aceptan un parámetro " +"*winmode* para especificar flags para la invocación subyacente de " +"``LoadLibraryEx``. Los flags predeterminados están establecidos para cargar " +"solo las dependencias de DLL desde ubicaciones confiables, incluida la ruta " +"donde se almacena la DLL (si se usa una ruta completa o parcial para cargar " +"la DLL inicial) y las rutas agregadas por :func:`~os.add_dll_directory` . " +"(Contribución de Steve Dower en :issue:`36085`.)" #: ../Doc/whatsnew/3.8.rst:752 msgid "datetime" -msgstr "" +msgstr "datetime" #: ../Doc/whatsnew/3.8.rst:754 msgid "" @@ -930,10 +1238,16 @@ msgid "" "weekday; these are the inverse of each class's ``isocalendar`` method. " "(Contributed by Paul Ganssle in :issue:`36004`.)" msgstr "" +"Se agregaron nuevos constructores alternativos :meth:`datetime.date." +"fromisocalendar` y :meth:`datetime.datetime.fromisocalendar`, que construyen " +"objetos :class:`date` y :class:`datetime` respectivamente con el año, número " +"de semana y día de la semana de la fecha del calendario ISO. Estos son el " +"inverso del método ``isocalendar`` de cada clase. (Contribución de Paul " +"Ganssle en :issue:`36004`.)" #: ../Doc/whatsnew/3.8.rst:762 msgid "functools" -msgstr "" +msgstr "functools" #: ../Doc/whatsnew/3.8.rst:764 msgid "" @@ -941,20 +1255,26 @@ msgid "" "than as a function returning a decorator. So both of these are now " "supported::" msgstr "" +":func:`functools.lru_cache` ahora se puede usar como un decorador directo en " +"lugar de como una función que retorna un decorador. De forma que ambos son " +"compatibles ahora::" #: ../Doc/whatsnew/3.8.rst:775 msgid "(Contributed by Raymond Hettinger in :issue:`36772`.)" -msgstr "" +msgstr "(Contribución de Raymond Hettinger en :issue:`36772`.)" #: ../Doc/whatsnew/3.8.rst:777 msgid "" "Added a new :func:`functools.cached_property` decorator, for computed " "properties cached for the life of the instance. ::" msgstr "" +"Se ha agregado un nuevo decorador :func:`functools.cached_property`, para " +"propiedades calculadas almacenadas en caché durante toda la vida útil de la " +"instancia. ::" #: ../Doc/whatsnew/3.8.rst:791 msgid "(Contributed by Carl Meyer in :issue:`21145`)" -msgstr "" +msgstr "(Contribución de Carl Meyer en :issue:`21145`.)" #: ../Doc/whatsnew/3.8.rst:794 msgid "" @@ -962,14 +1282,17 @@ msgid "" "methods into :term:`generic functions ` using :term:" "`single dispatch`::" msgstr "" +"Se ha agregado un nuevo decorador :func:`functools.singledispatchmethod` que " +"convierte métodos en :term:`funciones genéricas ` usando :" +"term:`single dispatch`::" #: ../Doc/whatsnew/3.8.rst:816 msgid "(Contributed by Ethan Smith in :issue:`32380`)" -msgstr "" +msgstr "(Contribución de Ethan Smith en :issue:`32380`)" #: ../Doc/whatsnew/3.8.rst:819 msgid "gc" -msgstr "" +msgstr "gc" #: ../Doc/whatsnew/3.8.rst:821 msgid "" @@ -977,26 +1300,33 @@ msgid "" "indicating a generation to get objects from. (Contributed by Pablo Galindo " "in :issue:`36016`.)" msgstr "" +":func:`~gc.get_objects` ahora puede recibir un parámetro opcional " +"*generation* que indica la generación de la que recolectar objetos. " +"(Contribución de Pablo Galindo en :issue:`36016`.)" #: ../Doc/whatsnew/3.8.rst:827 msgid "gettext" -msgstr "" +msgstr "gettext" #: ../Doc/whatsnew/3.8.rst:829 msgid "" "Added :func:`~gettext.pgettext` and its variants. (Contributed by Franz " "Glasner, Éric Araujo, and Cheryl Sabella in :issue:`2504`.)" msgstr "" +"Agregado :func:`~gettext.pgettext` y sus variantes. (Contribución de Franz " +"Glasner, Éric Araujo y Cheryl Sabella en :issue:`2504`.)" #: ../Doc/whatsnew/3.8.rst:834 msgid "gzip" -msgstr "" +msgstr "gzip" #: ../Doc/whatsnew/3.8.rst:836 msgid "" "Added the *mtime* parameter to :func:`gzip.compress` for reproducible " "output. (Contributed by Guo Ci Teo in :issue:`34898`.)" msgstr "" +"Se ha agregó el parámetro *mtime* a :func:`gzip.compress` para una salida " +"reproducible. (Contribución de Guo Ci Teo en :issue:`34898`.)" #: ../Doc/whatsnew/3.8.rst:839 msgid "" @@ -1004,10 +1334,14 @@ msgid "" "for certain types of invalid or corrupt gzip files. (Contributed by Filip " "Gruszczyński, Michele Orrù, and Zackery Spytz in :issue:`6584`.)" msgstr "" +"Una excepción :exc:`~gzip.BadGzipFile` es lanzada ahora, en lugar de :exc:" +"`OSError`, para ciertos tipos de archivos gzip no válidos o corruptos. " +"(Contribución de Filip Gruszczyński, Michele Orrù y Zackery Spytz en :issue:" +"`6584`.)" #: ../Doc/whatsnew/3.8.rst:846 msgid "IDLE and idlelib" -msgstr "" +msgstr "IDLE e idlelib" #: ../Doc/whatsnew/3.8.rst:848 msgid "" @@ -1018,6 +1352,13 @@ msgid "" "button or into the clipboard or a separate window by right-clicking the " "button. (Contributed by Tal Einat in :issue:`1529353`.)" msgstr "" +"Las salidas superiores a N líneas (50 por defecto) se pliegan en un botón. N " +"se puede cambiar en la sección PyShell de la página General del cuadro de " +"diálogo Settings. Se pueden plegar menos líneas, pero posiblemente más " +"largas, haciendo clic derecho en la salida. La salida plegada se puede " +"expandir en su lugar haciendo doble clic en el botón o en el portapapeles o " +"en una ventana separada haciendo clic derecho en el botón. (Contribución de " +"Tal Einat en :issue:`1529353`.)" #: ../Doc/whatsnew/3.8.rst:855 msgid "" @@ -1027,6 +1368,12 @@ msgid "" "suppress the normal Shell main module restart. (Contributed by Cheryl " "Sabella, Terry Jan Reedy, and others in :issue:`5680` and :issue:`37627`.)" msgstr "" +"Se ha agregado \"Run Customized\" al menú Run para ejecutar un módulo con " +"configuraciones personalizadas. Cualquier argumento de la línea de comandos " +"ingresado se agrega a sys.argv. Además, vuelven a aparecer en el cuadro para " +"la próxima ejecución personalizada. También se puede suprimir el reinicio " +"normal del módulo principal de la Shell. (Contribución de Cheryl Sabella, " +"Terry Jan Reedy y otros en :issue:`5680` y :issue:`37627`.)" #: ../Doc/whatsnew/3.8.rst:861 msgid "" @@ -1036,6 +1383,11 @@ msgid "" "Options menu. (Contributed by Tal Einat and Saimadhav Heblikar in :issue:" "`17535`.)" msgstr "" +"Se agregaron números de línea opcionales para las ventanas del editor IDLE. " +"Las ventanas se abren sin números de línea, a menos que se establezca lo " +"contrario en la pestaña General del cuadro de diálogo de configuración. Los " +"números de línea de una ventana existente se muestran y ocultan en el menú " +"Options. (Contribución de Tal Einat y Saimadhav Heblikar en :issue:`17535`.)" #: ../Doc/whatsnew/3.8.rst:867 msgid "" @@ -1046,14 +1398,23 @@ msgid "" "(Many people worked on this for eight years but the problem was finally " "solved by Serhiy Storchaka in :issue:`13153`.)" msgstr "" +"La codificación nativa del sistema operativo ahora se usa para convertir " +"entre cadenas de Python y objetos Tcl. Esto permite que el IDLE funcione con " +"emoji y otros caracteres que no son BMP. Estos caracteres se pueden mostrar " +"o copiar y pegar en ,o desde, el portapapeles. Convertir cadenas de Tcl a " +"Python y viceversa ahora nunca falla. (Mucha gente trabajó en esto durante " +"ocho años, pero el problema finalmente lo resolvió Serhiy Storchaka en :" +"issue:`13153`.)" #: ../Doc/whatsnew/3.8.rst:874 msgid "The changes above have been backported to 3.7 maintenance releases." msgstr "" +"Los cambios anteriores se han portado a las versiones de mantenimiento de " +"Python 3.7." #: ../Doc/whatsnew/3.8.rst:878 msgid "inspect" -msgstr "" +msgstr "inspect" #: ../Doc/whatsnew/3.8.rst:880 msgid "" @@ -1062,14 +1423,19 @@ msgid "" "docstrings. This provides documentation options similar to what we already " "have for :func:`property`, :func:`classmethod`, and :func:`staticmethod`::" msgstr "" +"La función :func:`inspect.getdoc` puede ahora encontrar cadenas de " +"documentación para ``__slots__`` si el este atributo es un :class:`dict` " +"cuyos valores son las cadenas de documentación. Esto proporciona opciones de " +"documentación similares a las que ya tenemos para :func:`property`, :func:" +"`classmethod` y :func:`staticmethod`::" #: ../Doc/whatsnew/3.8.rst:892 msgid "(Contributed by Raymond Hettinger in :issue:`36326`.)" -msgstr "" +msgstr "(Contribución de Raymond Hettinger en :issue:`36326`.)" #: ../Doc/whatsnew/3.8.rst:896 msgid "io" -msgstr "" +msgstr "io" #: ../Doc/whatsnew/3.8.rst:898 msgid "" @@ -1078,34 +1444,45 @@ msgid "" "fails. The exception is ignored silently by default in release build. " "(Contributed by Victor Stinner in :issue:`18748`.)" msgstr "" +"En el modo de desarrollo (:option:`-X` ``env``) y en la compilación de " +"depuración, el finalizador :class:`io.IOBase` ahora registra la excepción si " +"falla el método ``close()``. La excepción se ignora silenciosamente de forma " +"predeterminada en la compilación de lanzamiento. (Contribución de Victor " +"Stinner en :issue:`18748`.)" #: ../Doc/whatsnew/3.8.rst:905 msgid "itertools" -msgstr "" +msgstr "itertools" #: ../Doc/whatsnew/3.8.rst:907 msgid "" "The :func:`itertools.accumulate` function added an option *initial* keyword " "argument to specify an initial value::" msgstr "" +"Se ha agregado un argumento por palabra clave opcional *initial* a la " +"función :func:`itertools.accumulate` para permitir especificar un valor " +"inicial::" #: ../Doc/whatsnew/3.8.rst:914 msgid "(Contributed by Lisa Roach in :issue:`34659`.)" -msgstr "" +msgstr "(Contribución de Lisa Roach en :issue:`34659`.)" #: ../Doc/whatsnew/3.8.rst:918 msgid "json.tool" -msgstr "" +msgstr "json.tool" #: ../Doc/whatsnew/3.8.rst:920 msgid "" "Add option ``--json-lines`` to parse every input line as a separate JSON " "object. (Contributed by Weipeng Hong in :issue:`31553`.)" msgstr "" +"Agregadas las opciones ``--json-lines`` para analizar sintácticamente cada " +"línea de entrada como un objeto JSON separado. (Contribución de Weipeng Hong " +"en :issue:`31553`.)" #: ../Doc/whatsnew/3.8.rst:925 msgid "logging" -msgstr "" +msgstr "logging" #: ../Doc/whatsnew/3.8.rst:927 msgid "" @@ -1114,6 +1491,10 @@ msgid "" "closed before carrying out the configuration specified by the other " "arguments." msgstr "" +"Agregado un argumento por palabra clave *force* a la función :func:`logging." +"basicConfig()`. Cuando se establece en verdadero, cualquier controlador " +"existente adjunto al registrador (logger) raíz se elimina y se cierra antes " +"de realizar la configuración especificada por los otros argumentos." #: ../Doc/whatsnew/3.8.rst:932 msgid "" @@ -1122,22 +1503,33 @@ msgid "" "made it difficult to update, experiment with, or teach the various logging " "configuration options using the interactive prompt or a Jupyter notebook." msgstr "" +"Esto resuelve un problema de larga data. Una vez que se había invocado a un " +"registrador o a *basicConfig()*, las invocaciones posteriores a " +"*basicConfig()* se ignoraban en silencio. Esto dificultaba la actualización, " +"la experimentación o la instrucción de las diversas opciones de " +"configuración de registro mediante el interprete interactivo o el bloc de " +"notas de Jupyter." #: ../Doc/whatsnew/3.8.rst:938 msgid "" "(Suggested by Raymond Hettinger, implemented by Dong-hee Na, and reviewed by " "Vinay Sajip in :issue:`33897`.)" msgstr "" +"(Sugerencia de Raymond Hettinger, implementación de Dong-hee Na y revisión " +"de Vinay Sajip en :issue:`33897`.)" #: ../Doc/whatsnew/3.8.rst:943 msgid "math" -msgstr "" +msgstr "math" #: ../Doc/whatsnew/3.8.rst:945 msgid "" "Added new function :func:`math.dist` for computing Euclidean distance " "between two points. (Contributed by Raymond Hettinger in :issue:`33089`.)" msgstr "" +"Se ha agregado la nueva función :func:`math.dist` para calcular la distancia " +"euclidiana entre dos puntos. (Contribución de Raymond Hettinger en :issue:" +"`33089`.)" #: ../Doc/whatsnew/3.8.rst:948 msgid "" @@ -1145,6 +1537,9 @@ msgid "" "Formerly, it only supported the 2-D case. (Contributed by Raymond Hettinger " "in :issue:`33089`.)" msgstr "" +"Se ha expandido la función :func:`math.hypot` para manejar múltiples " +"dimensiones. Anteriormente, solo admitía dos dimensiones. (Contribución de " +"Raymond Hettinger en :issue:`33089`.)" #: ../Doc/whatsnew/3.8.rst:952 msgid "" @@ -1152,22 +1547,29 @@ msgid "" "that returns the product of a 'start' value (default: 1) times an iterable " "of numbers::" msgstr "" +"Agregada una nueva función, :func:`math.prod`, como función análoga a :func:" +"`sum`, que retorna el producto de todos los elementos de un iterable de " +"números partiendo de un valor de inicio (*start*) (por defecto: 1)::" #: ../Doc/whatsnew/3.8.rst:961 msgid "(Contributed by Pablo Galindo in :issue:`35606`.)" -msgstr "" +msgstr "(Contribución de Pablo Galindo en :issue:`35606`.)" #: ../Doc/whatsnew/3.8.rst:963 msgid "" "Added two new combinatoric functions :func:`math.perm` and :func:`math." "comb`::" msgstr "" +"Agregadas dos nuevas funciones combinatorias, :func:`math.perm` y :func:" +"`math.comb`::" #: ../Doc/whatsnew/3.8.rst:970 msgid "" "(Contributed by Yash Aggarwal, Keller Fuchs, Serhiy Storchaka, and Raymond " "Hettinger in :issue:`37128`, :issue:`37178`, and :issue:`35431`.)" msgstr "" +"(Contribución de Yash Aggarwal, Keller Fuchs, Serhiy Storchaka y Raymond " +"Hettinger en :issue:`37128`, :issue:`37178` y :issue:`35431`.)" #: ../Doc/whatsnew/3.8.rst:973 msgid "" @@ -1176,20 +1578,26 @@ msgid "" "supports arbitrarily large integers. It is faster than ``floor(sqrt(n))`` " "but slower than :func:`math.sqrt`::" msgstr "" +"Se ha agregada una nueva función :func:`math.isqrt` para calcular raíces " +"cuadradas enteras precisas sin conversión a coma flotante. La nueva función " +"admite números enteros arbitrariamente grandes. Es más rápida que " +"``floor(sqrt(n))`` pero más lenta que :func:`math.sqrt`::" #: ../Doc/whatsnew/3.8.rst:985 msgid "(Contributed by Mark Dickinson in :issue:`36887`.)" -msgstr "" +msgstr "(Contribución de Mark Dickinson en :issue:`36887`.)" #: ../Doc/whatsnew/3.8.rst:987 msgid "" "The function :func:`math.factorial` no longer accepts arguments that are not " "int-like. (Contributed by Pablo Galindo in :issue:`33083`.)" msgstr "" +"La función :func:`math.factorial` ya no acepta argumentos que no sean " +"similares a enteros. (Contribución de Pablo Galindo en :issue:`33083`.)" #: ../Doc/whatsnew/3.8.rst:992 msgid "mmap" -msgstr "" +msgstr "mmap" #: ../Doc/whatsnew/3.8.rst:994 msgid "" @@ -1197,26 +1605,33 @@ msgid "" "access the ``madvise()`` system call. (Contributed by Zackery Spytz in :" "issue:`32941`.)" msgstr "" +"La clase :class:`mmap.mmap` ahora tiene un método :meth:`~mmap.mmap.madvise` " +"para acceder a la llamada al sistema ``madvise()``. (Contribución de Zackery " +"Spytz en :issue:`32941`.)" #: ../Doc/whatsnew/3.8.rst:1000 msgid "multiprocessing" -msgstr "" +msgstr "multiprocessing" #: ../Doc/whatsnew/3.8.rst:1002 msgid "" "Added new :mod:`multiprocessing.shared_memory` module. (Contributed by Davin " "Potts in :issue:`35813`.)" msgstr "" +"Agregado el nuevo módulo :mod:`multiprocessing.shared_memory`. (Contribución " +"de Davin Potts en :issue:`35813`.)" #: ../Doc/whatsnew/3.8.rst:1005 msgid "" "On macOS, the *spawn* start method is now used by default. (Contributed by " "Victor Stinner in :issue:`33725`.)" msgstr "" +"En macOS, el método de inicio *spawn* se usa ahora por defecto. " +"(Contribución de Victor Stinner en :issue:`33725`.)" #: ../Doc/whatsnew/3.8.rst:1010 msgid "os" -msgstr "" +msgstr "os" #: ../Doc/whatsnew/3.8.rst:1012 msgid "" @@ -1225,6 +1640,10 @@ msgid "" "modules or loading DLLs using :mod:`ctypes`. (Contributed by Steve Dower in :" "issue:`36085`.)" msgstr "" +"Se agregó una nueva función :func:`~os.add_dll_directory` en Windows para " +"proporcionar rutas de búsqueda adicionales para las dependencias nativas al " +"importar módulos de extensión o al cargar archivos DLL utilizando :mod:" +"`ctypes`. (Contribución de Steve Dower en :issue:`36085`.)" #: ../Doc/whatsnew/3.8.rst:1017 msgid "" @@ -1232,6 +1651,9 @@ msgid "" "``memfd_create()`` syscall. (Contributed by Zackery Spytz and Christian " "Heimes in :issue:`26836`.)" msgstr "" +"Se agregó una nueva función :func:`os.memfd_create` para envolver la llamada " +"al sistema ``memfd_create()``. (Contribución de Zackery Spytz y Christian " +"Heimes en :issue:`26836`.)" #: ../Doc/whatsnew/3.8.rst:1021 msgid "" @@ -1245,6 +1667,17 @@ msgid "" "identify other kinds of reparse point, check the new :attr:`stat_result." "st_reparse_tag` attribute." msgstr "" +"En Windows, gran parte de la lógica manual para manejar los puntos de " +"reinterpretación (incluidos los enlaces simbólicos y las uniones de " +"directorios) se ha delegado al sistema operativo. Específicamente, :func:`os." +"stat` ahora se encargará de todo lo que sea compatible con el sistema " +"operativo, mientras que :func:`os.lstat` solo abrirá puntos de " +"reinterpretación que se identifican como \"sustitutos de nombre\" y el resto " +"se abrirán mediante :func:`os.stat`. En todos los casos, :attr:`stat_result." +"st_mode` solo tendrá establecido ``S_IFLNK`` para enlaces simbólicos y no " +"para otros tipos de puntos de reinterpretación. Para identificar otros tipos " +"de puntos de reinterpretación, verifica el nuevo atributo :attr:`stat_result." +"st_reparse_tag`." #: ../Doc/whatsnew/3.8.rst:1030 msgid "" @@ -1254,14 +1687,20 @@ msgid "" "junctions as directories, while code that handles errors from :func:`os." "readlink` may now treat junctions as links." msgstr "" +"En Windows, :func:`os.readlink` ahora puede leer uniones de directorio. Ten " +"en cuenta que :func:`~os.path.islink` retornará ``False`` para las uniones " +"de directorios, por lo que el código que comprueba en primer lugar " +"``islink`` continuará tratando las uniones como directorios, mientras que el " +"código que maneja los errores de :func:`os.readlink` ahora puede tratar las " +"uniones como enlaces." #: ../Doc/whatsnew/3.8.rst:1036 ../Doc/whatsnew/3.8.rst:1061 msgid "(Contributed by Steve Dower in :issue:`37834`.)" -msgstr "" +msgstr "(Contribución de Steve Dower en :issue:`37834`.)" #: ../Doc/whatsnew/3.8.rst:1040 msgid "os.path" -msgstr "" +msgstr "os.path" #: ../Doc/whatsnew/3.8.rst:1042 msgid "" @@ -1273,6 +1712,13 @@ msgid "" "characters or bytes unrepresentable at the OS level. (Contributed by Serhiy " "Storchaka in :issue:`33721`.)" msgstr "" +"Las funciones de :mod:`os.path` que retornan un resultado booleano como :" +"func:`~os.path.exists`, :func:`~os.path.lexists`, :func:`~os.path.isdir`, :" +"func:`~os.path.isfile`, :func:`~os.path.islink` e :func:`~os.path.ismount` " +"ahora retornan ``False`` en lugar de lanzar una excepción :exc:`ValueError`, " +"o sus subclases :exc:`UnicodeEncodeError` y :exc:`UnicodeDecodeError`, para " +"rutas que contienen caracteres o bytes irrepresentables a nivel del sistema " +"operativo. (Contribución de Serhiy Storchaka en :issue:`33721`.)" #: ../Doc/whatsnew/3.8.rst:1050 ../Doc/whatsnew/3.8.rst:1950 msgid "" @@ -1281,22 +1727,31 @@ msgid "" "set for regular user accounts. (Contributed by Anthony Sottile in :issue:" "`36264`.)" msgstr "" +":func:`~os.path.expanduser` en Windows ahora usa preferentemente la variable " +"de entorno :envvar:`USERPROFILE` y no usa :envvar:`HOME`, que normalmente no " +"está establecido para cuentas de usuario normales. (Contribución de Anthony " +"Sottile en :issue:`36264`.)" #: ../Doc/whatsnew/3.8.rst:1055 msgid "" ":func:`~os.path.isdir` on Windows no longer returns ``True`` for a link to a " "non-existent directory." msgstr "" +":func:`~os.path.isdir` en Windows ya no retorna ``True`` para un enlace a un " +"directorio no existente." #: ../Doc/whatsnew/3.8.rst:1058 msgid "" ":func:`~os.path.realpath` on Windows now resolves reparse points, including " "symlinks and directory junctions." msgstr "" +":func:`~os.path.realpath` en Windows ahora resuelve puntos de " +"reinterpretación (reparse points), incluidos enlaces simbólicos y uniones de " +"directorio." #: ../Doc/whatsnew/3.8.rst:1065 msgid "pathlib" -msgstr "" +msgstr "pathlib" #: ../Doc/whatsnew/3.8.rst:1067 msgid "" @@ -1310,16 +1765,28 @@ msgid "" "unrepresentable at the OS level. (Contributed by Serhiy Storchaka in :issue:" "`33721`.)" msgstr "" +"Los métodos del módulo :mod:`pathlib.Path` que retornan un resultado " +"booleano, como :meth:`~pathlib.Path.exists()`, :meth:`~pathlib.Path." +"is_dir()`, :meth:`~pathlib.Path.is_file()`, :meth:`~pathlib.Path." +"is_mount()`, :meth:`~pathlib.Path.is_symlink()`, :meth:`~pathlib.Path." +"is_block_device()`, :meth:`~pathlib.Path.is_char_device()`, :meth:`~pathlib." +"Path.is_fifo()` o :meth:`~pathlib.Path.is_socket()`, ahora retornan " +"``False`` en vez de lanzar una excepción :exc:`ValueError` o su subclase :" +"exc:`UnicodeEncodeError` para rutas que contienen caracteres no " +"representables a nivel del sistema operativo. (Contribución de Serhiy " +"Storchaka en :issue:`33721`.)" #: ../Doc/whatsnew/3.8.rst:1077 msgid "" "Added :meth:`pathlib.Path.link_to()` which creates a hard link pointing to a " "path. (Contributed by Joannah Nanjekye in :issue:`26978`)" msgstr "" +"Agregado :meth:`pathlib.Path.link_to()` que crea un enlace duro apuntando a " +"una ruta. (Contribución de Joannah Nanjekye en :issue:`26978`)" #: ../Doc/whatsnew/3.8.rst:1083 msgid "pickle" -msgstr "" +msgstr "pickle" #: ../Doc/whatsnew/3.8.rst:1085 msgid "" @@ -1328,10 +1795,15 @@ msgid "" "defining the special :meth:`~pickle.Pickler.reducer_override` method. " "(Contributed by Pierre Glaser and Olivier Grisel in :issue:`35900`.)" msgstr "" +"Las extensiones de :mod:`pickle` que subclasifican la clase optimizada de C :" +"class:`~pickle.Pickler` ahora pueden anular la lógica de pickling de " +"funciones y clases definiendo el método especial :meth:`~pickle.Pickler." +"reducer_override`. (Contribución de Pierre Glaser y Olivier Grisel en :issue:" +"`35900`.)" #: ../Doc/whatsnew/3.8.rst:1092 msgid "plistlib" -msgstr "" +msgstr "plistlib" #: ../Doc/whatsnew/3.8.rst:1094 msgid "" @@ -1339,10 +1811,13 @@ msgid "" "NSKeyedArchiver-encoded binary plists. (Contributed by Jon Janzen in :issue:" "`26707`.)" msgstr "" +"Se ha agregado la nueva clase :class:`plistlib.UID` y se ha habilitado el " +"soporte para leer y escribir plists binarios codificados por " +"NSKeyedArchiver. (Contribución de Jon Janzen en :issue:`26707`.)" #: ../Doc/whatsnew/3.8.rst:1100 msgid "pprint" -msgstr "" +msgstr "pprint" #: ../Doc/whatsnew/3.8.rst:1102 msgid "" @@ -1352,46 +1827,61 @@ msgid "" "dictionaries retain the order that keys were inserted. This can be useful " "for comparison to JSON inputs during debugging." msgstr "" +"Se ha agregado el parámetro *sort_dicts* a varias funciones del módulo :mod:" +"`pprint`. De forma predeterminada, esas funciones continúan ordenando los " +"diccionarios antes de procesarlos o imprimirlos. Sin embargo, si " +"*sort_dicts* se establece en falso, los diccionarios conservan el orden en " +"que se insertaron las claves. Esto puede resultar útil para la comparación " +"con entradas JSON durante la depuración." #: ../Doc/whatsnew/3.8.rst:1108 msgid "" "In addition, there is a convenience new function, :func:`pprint.pp` that is " "like :func:`pprint.pprint` but with *sort_dicts* defaulting to ``False``::" msgstr "" +"Además, hay una nueva función de conveniencia, :func:`pprint.pp`, que es " +"igual que :func:`pprint.pprint` pero con *sort_dicts* establecido en " +"``False`` por defecto::" #: ../Doc/whatsnew/3.8.rst:1122 msgid "(Contributed by Rémi Lapeyre in :issue:`30670`.)" -msgstr "" +msgstr "(Contribución de Rémi Lapeyre en :issue:`30670`.)" #: ../Doc/whatsnew/3.8.rst:1126 msgid "py_compile" -msgstr "" +msgstr "py_compile" #: ../Doc/whatsnew/3.8.rst:1128 msgid "" ":func:`py_compile.compile` now supports silent mode. (Contributed by Joannah " "Nanjekye in :issue:`22640`.)" msgstr "" +":func:`py_compile.compile` ahora admite el modo silencioso. (Contribución de " +"Joannah Nanjekye en :issue:`22640`.)" #: ../Doc/whatsnew/3.8.rst:1133 msgid "shlex" -msgstr "" +msgstr "shlex" #: ../Doc/whatsnew/3.8.rst:1135 msgid "" "The new :func:`shlex.join` function acts as the inverse of :func:`shlex." "split`. (Contributed by Bo Bayles in :issue:`32102`.)" msgstr "" +"La nueva función :func:`shlex.join` actúa a la inversa de :func:`shlex." +"split`. (Contribución de Bo Bayles en :issue:`32102`.)" #: ../Doc/whatsnew/3.8.rst:1140 msgid "shutil" -msgstr "" +msgstr "shutil" #: ../Doc/whatsnew/3.8.rst:1142 msgid "" ":func:`shutil.copytree` now accepts a new ``dirs_exist_ok`` keyword " "argument. (Contributed by Josh Bronson in :issue:`20849`.)" msgstr "" +":func:`shutil.copytree` ahora acepta el nuevo argumento por palabra clave " +"``dirs_exist_ok``. (Contribución de Josh Bronson en :issue:`20849`.)" #: ../Doc/whatsnew/3.8.rst:1145 msgid "" @@ -1400,6 +1890,10 @@ msgid "" "inherited from the corresponding change to the :mod:`tarfile` module. " "(Contributed by C.A.M. Gerlach in :issue:`30661`.)" msgstr "" +":func:`shutil.make_archive` ahora usa por defecto el formato pax moderno " +"(POSIX.1-2001) para nuevos archivos para mejorar la portabilidad y la " +"conformidad con los estándares, heredado el cambio correspondiente del " +"módulo :mod:`tarfile`. (Contribución de C.A.M. Gerlach en :issue:`30661`.)" #: ../Doc/whatsnew/3.8.rst:1150 msgid "" @@ -1407,10 +1901,13 @@ msgid "" "recursively removing their contents first. (Contributed by Steve Dower in :" "issue:`37834`.)" msgstr "" +":func:`shutil.rmtree` en Windows ahora elimina las uniones de directorio sin " +"eliminar recursivamente su contenido primero. (Contribución de Steve Dower " +"en :issue:`37834`.)" #: ../Doc/whatsnew/3.8.rst:1156 msgid "socket" -msgstr "" +msgstr "socket" #: ../Doc/whatsnew/3.8.rst:1158 msgid "" @@ -1420,6 +1917,11 @@ msgid "" "IPv4 and IPv6 connections on the same socket. (Contributed by Giampaolo " "Rodolà in :issue:`17561`.)" msgstr "" +"Se han agregado las funciones de conveniencia :meth:`~ socket." +"create_server()` y :meth:`~socket.has_dualstack_ipv6()` para automatizar las " +"tareas necesarias involucradas al crear un socket servidor, incluida la " +"aceptación de conexiones IPv4 e IPv6 en el mismo socket . (Contribución de " +"Giampaolo Rodolà en :issue:`17561`.)" #: ../Doc/whatsnew/3.8.rst:1163 msgid "" @@ -1427,10 +1929,13 @@ msgid "" "func:`socket.if_indextoname()` functions have been implemented on Windows. " "(Contributed by Zackery Spytz in :issue:`37007`.)" msgstr "" +"Las funciones :func:`socket.if_nameindex()`, :func:`socket.if_nametoindex()` " +"y :func:`socket.if_indextoname()` se han implementado en Windows. " +"(Contribución de Zackery Spytz en :issue:`37007`.)" #: ../Doc/whatsnew/3.8.rst:1169 msgid "ssl" -msgstr "" +msgstr "ssl" #: ../Doc/whatsnew/3.8.rst:1171 msgid "" @@ -1438,10 +1943,14 @@ msgid "" "SSLSocket.verify_client_post_handshake` to initiate TLS 1.3 post-handshake " "authentication. (Contributed by Christian Heimes in :issue:`34670`.)" msgstr "" +"Se ha agregado :attr:`~ssl.SSLContext.post_handshake_auth` para habilitar y :" +"meth:`~ssl.SSLSocket.verify_client_post_handshake` para iniciar la " +"autenticación tras el establecimiento de la comunicación en TLS 1.3. " +"(Contribución de Christian Heimes en :issue:`34670`.)" #: ../Doc/whatsnew/3.8.rst:1178 msgid "statistics" -msgstr "" +msgstr "statistics" #: ../Doc/whatsnew/3.8.rst:1180 msgid "" @@ -1449,18 +1958,25 @@ msgid "" "`statistics.mean()`. (Contributed by Raymond Hettinger and Steven D'Aprano " "in :issue:`35904`.)" msgstr "" +"Se ha agregado :func:`statistics.fmean` como una variante de punto flotante " +"más rápida de :func:`statistics.mean()`. (Contribución de Raymond Hettinger " +"y Steven D'Aprano en :issue:`35904`.)" #: ../Doc/whatsnew/3.8.rst:1184 msgid "" "Added :func:`statistics.geometric_mean()` (Contributed by Raymond Hettinger " "in :issue:`27181`.)" msgstr "" +"Se ha agregado :func:`statistics.geometric_mean()` (Contribución de Raymond " +"Hettinger en :issue:`27181`.)" #: ../Doc/whatsnew/3.8.rst:1187 msgid "" "Added :func:`statistics.multimode` that returns a list of the most common " "values. (Contributed by Raymond Hettinger in :issue:`35892`.)" msgstr "" +"Se ha agregado :func:`statistics.multimode` que retorna una lista con los " +"valores más comunes. (Contribución de Raymond Hettinger en :issue:`35892`.)" #: ../Doc/whatsnew/3.8.rst:1190 msgid "" @@ -1468,6 +1984,9 @@ msgid "" "equiprobable intervals (e.g. quartiles, deciles, or percentiles). " "(Contributed by Raymond Hettinger in :issue:`36546`.)" msgstr "" +"Se ha agregado :func:`statistics.quantiles` que divide datos o una " +"distribución en intervalos equiprobables (por ejemplo, cuartiles, deciles o " +"percentiles). (Contribución de Raymond Hettinger en :issue:`36546`.)" #: ../Doc/whatsnew/3.8.rst:1194 msgid "" @@ -1475,10 +1994,13 @@ msgid "" "normal distributions of a random variable. (Contributed by Raymond Hettinger " "in :issue:`36018`.)" msgstr "" +"Se ha agregado :class:`statistics.NormalDist`, una herramienta para crear y " +"manipular distribuciones normales de una variable aleatoria. (Contribución " +"de Raymond Hettinger en :issue:`36018`.)" #: ../Doc/whatsnew/3.8.rst:1224 msgid "sys" -msgstr "" +msgstr "sys" #: ../Doc/whatsnew/3.8.rst:1226 msgid "" @@ -1488,10 +2010,16 @@ msgid "" "example, when a destructor raises an exception or during garbage collection " "(:func:`gc.collect`). (Contributed by Victor Stinner in :issue:`36829`.)" msgstr "" +"Se ha agregado la nueva función :func:`sys.unraisablehook` que se puede " +"anular para controlar cómo se manejan las \"excepciones no lanzables\". Se " +"llama cuando se ha producido una excepción, pero Python no tiene forma de " +"manejarla. Por ejemplo, cuando un destructor genera una excepción o durante " +"la recolección de basura (:func:`gc.collect`). (Contribución de Victor " +"Stinner en :issue:`36829`.)" #: ../Doc/whatsnew/3.8.rst:1235 msgid "tarfile" -msgstr "" +msgstr "tarfile" #: ../Doc/whatsnew/3.8.rst:1237 msgid "" @@ -1501,10 +2029,15 @@ msgid "" "standardized and extensible format, and offers several other benefits. " "(Contributed by C.A.M. Gerlach in :issue:`36268`.)" msgstr "" +"El módulo :mod:`tarfile` ahora tiene por defecto el formato pax moderno " +"(POSIX.1-2001) para nuevos archivos, en lugar del anterior específico de " +"GNU. Esto mejora la portabilidad multiplataforma con una codificación " +"consistente (UTF-8) en un formato estandarizado y extensible, y ofrece otros " +"varios beneficios. (Contribución de C.A.M. Gerlach en :issue:`36268`.)" #: ../Doc/whatsnew/3.8.rst:1245 msgid "threading" -msgstr "" +msgstr "threading" #: ../Doc/whatsnew/3.8.rst:1247 msgid "" @@ -1513,6 +2046,10 @@ msgid "" "uncaught :meth:`threading.Thread.run` exceptions are handled. (Contributed " "by Victor Stinner in :issue:`1230540`.)" msgstr "" +"Se ha agregado una nueva función :func:`threading.excepthook` que maneja las " +"excepciones :meth:`threading.Thread.run` no capturadas. Se puede anular para " +"controlar cómo se manejan las excepciones :meth:`threading.Thread.run` no " +"capturadas. (Contribución de Victor Stinner en :issue:`1230540`.)" #: ../Doc/whatsnew/3.8.rst:1252 msgid "" @@ -1523,10 +2060,16 @@ msgid "" "`get_native_id ` for more information. (Contributed " "by Jake Tesler in :issue:`36084`.)" msgstr "" +"Se han agregado una nueva función :func:`threading.get_native_id` y un " +"atributo :data:`~threading.Thread.native_id` a la clase :class:`threading." +"Thread`. Estos retornan el Thread ID nativo integral del hilo actual " +"asignado por el kernel. Esta función solo está disponible en determinadas " +"plataformas, consulta :func:`get_native_id ` para " +"obtener más información. (Contribución de Jake Tesler en :issue:`36084`.)" #: ../Doc/whatsnew/3.8.rst:1262 msgid "tokenize" -msgstr "" +msgstr "tokenize" #: ../Doc/whatsnew/3.8.rst:1264 msgid "" @@ -1535,10 +2078,14 @@ msgid "" "now matches what the C tokenizer does internally. (Contributed by Ammar " "Askar in :issue:`33899`.)" msgstr "" +"El módulo :mod:`tokenize` ahora emite implícitamente un token ``NEWLINE`` " +"cuando se le proporciona una entrada sin una nueva línea al final. Este " +"comportamiento ahora coincide con lo que hace internamente el tokenizador de " +"C. (Contribución de Ammar Askar en :issue:`33899`.)" #: ../Doc/whatsnew/3.8.rst:1271 msgid "tkinter" -msgstr "" +msgstr "tkinter" #: ../Doc/whatsnew/3.8.rst:1273 msgid "" @@ -1547,12 +2094,18 @@ msgid "" "meth:`~tkinter.Spinbox.selection_to` in the :class:`tkinter.Spinbox` class. " "(Contributed by Juliette Monsel in :issue:`34829`.)" msgstr "" +"Se han agregado los métodos :meth:`~tkinter.Spinbox.selection_from`, :meth:" +"`~tkinter.Spinbox.selection_present`, :meth:`~tkinter.Spinbox." +"selection_range` y :meth:`~tkinter.Spinbox.selection_to` a la clase :class:" +"`tkinter.Spinbox`. (Contribución de Juliette Monsel en :issue:`34829`.)" #: ../Doc/whatsnew/3.8.rst:1280 msgid "" "Added method :meth:`~tkinter.Canvas.moveto` in the :class:`tkinter.Canvas` " "class. (Contributed by Juliette Monsel in :issue:`23831`.)" msgstr "" +"Se ha agregado el método :meth:`~tkinter.Canvas.moveto` a la clase :class:" +"`tkinter.Canvas`. (Contribución de Juliette Monsel en :issue:`23831`.)" #: ../Doc/whatsnew/3.8.rst:1284 msgid "" @@ -1560,24 +2113,29 @@ msgid "" "transparency_get` and :meth:`~tkinter.PhotoImage.transparency_set` methods. " "(Contributed by Zackery Spytz in :issue:`25451`.)" msgstr "" +"La clase :class:`tkinter.PhotoImage` ahora dispone de los métodos :meth:" +"`~tkinter.PhotoImage.transparency_get` y :meth:`~tkinter.PhotoImage." +"transparency_set`. (Contribución de Zackery Spytz en :issue:`25451`.)" #: ../Doc/whatsnew/3.8.rst:1291 msgid "time" -msgstr "" +msgstr "time" #: ../Doc/whatsnew/3.8.rst:1293 msgid "" "Added new clock :data:`~time.CLOCK_UPTIME_RAW` for macOS 10.12. (Contributed " "by Joannah Nanjekye in :issue:`35702`.)" msgstr "" +"Se ha agregado el nuevo reloj :data:`~time.CLOCK_UPTIME_RAW` para macOS " +"10.12. (Contribución de Joannah Nanjekye en :issue:`35702`.)" #: ../Doc/whatsnew/3.8.rst:1298 msgid "typing" -msgstr "" +msgstr "typing" #: ../Doc/whatsnew/3.8.rst:1300 msgid "The :mod:`typing` module incorporates several new features:" -msgstr "" +msgstr "Se han incorporado varias características al módulo :mod:`typing`:" #: ../Doc/whatsnew/3.8.rst:1302 msgid "" @@ -1586,6 +2144,11 @@ msgid "" "required to be present. Specify \"total=False\" to allow keys to be " "optional::" msgstr "" +"Un tipo de diccionario con tipos para cada clave. Consultar :pep:`589` y :" +"class:`typing.TypedDict`. TypedDict usa solo claves de cadenas de " +"caracteres. De forma predeterminada, se requiere que todas las claves estén " +"presentes. Especifica \"total=False\" para permitir que las claves sean " +"opcionales::" #: ../Doc/whatsnew/3.8.rst:1312 msgid "" @@ -1593,6 +2156,9 @@ msgid "" "indicate that a parameter or return value is constrained to one or more " "specific literal values::" msgstr "" +"Tipos literales. Consultar :pep:`586` y :class:`typing.Literal`. Los tipos " +"literales indican que un parámetro o valor de retorno está restringido a uno " +"o más valores literales específicos::" #: ../Doc/whatsnew/3.8.rst:1319 msgid "" @@ -1600,6 +2166,10 @@ msgid "" "`typing.Final` and :func:`typing.final`. The final qualifier instructs a " "static type checker to restrict subclassing, overriding, or reassignment::" msgstr "" +"Variables, funciones, métodos y clases \"finales\". Consultar :pep:`591`, :" +"class:`typing.Final` y :func:`typing.final`. El clasificador final instruye " +"a un validador estático de tipos para restringir la subclasificación, " +"anulación o reasignación::" #: ../Doc/whatsnew/3.8.rst:1326 msgid "" @@ -1607,24 +2177,29 @@ msgid "" "`typing.runtime_checkable`. Simple ABCs like :class:`typing.SupportsInt` " "are now ``Protocol`` subclasses." msgstr "" +"Definiciones de protocolo. Consultar :pep:`544`, :class:`typing.Protocol` y :" +"func:`typing.runtime_checkable`. ABCs simples como :class:`typing." +"SupportsInt` ahora son subclases de ``Protocol`` ." #: ../Doc/whatsnew/3.8.rst:1330 msgid "New protocol class :class:`typing.SupportsIndex`." -msgstr "" +msgstr "Nueva clase protocolo :class:`typing.SupportsIndex`." #: ../Doc/whatsnew/3.8.rst:1332 msgid "New functions :func:`typing.get_origin` and :func:`typing.get_args`." -msgstr "" +msgstr "Nuevas funciones :func:`typing.get_origin` y :func:`typing.get_args`." #: ../Doc/whatsnew/3.8.rst:1336 msgid "unicodedata" -msgstr "" +msgstr "unicodedata" #: ../Doc/whatsnew/3.8.rst:1338 msgid "" "The :mod:`unicodedata` module has been upgraded to use the `Unicode 12.1.0 " "`_ release." msgstr "" +"El módulo :mod:`unicodedata` ha sido actualizado para usar `Unicode 12.1.0 " +"`_." #: ../Doc/whatsnew/3.8.rst:1341 msgid "" @@ -1633,10 +2208,14 @@ msgid "" "normalizing the string. (Contributed by Max Belanger, David Euresti, and " "Greg Price in :issue:`32285` and :issue:`37966`)." msgstr "" +"La nueva función :func:`~unicodedata.is_normalized` puede usarse para " +"verificar que una cadena está en una forma normal específica, lo que es a " +"menudo mucho más rápido que normalizar la cadena. (Contribución de Max " +"Belanger, David Euresti y Greg Price en :issue:`32285` y :issue:`37966`)." #: ../Doc/whatsnew/3.8.rst:1348 msgid "unittest" -msgstr "" +msgstr "unittest" #: ../Doc/whatsnew/3.8.rst:1350 msgid "" @@ -1645,6 +2224,10 @@ msgid "" "testing have been added as well. (Contributed by Lisa Roach in :issue:" "`26467`)." msgstr "" +"Se ha agregado :class:`~unittest.mock.AsyncMock` para admitir una versión " +"asincrónica de :class:`~unittest.mock.Mock`. También se han agregado nuevas " +"funciones de aserción apropiadas para las pruebas. (Contribución de Lisa " +"Roach en :issue:`26467`)." #: ../Doc/whatsnew/3.8.rst:1355 msgid "" @@ -1653,12 +2236,19 @@ msgid "" "setUpModule()` and :meth:`~unittest.TestCase.setUpClass()`. (Contributed by " "Lisa Roach in :issue:`24412`.)" msgstr "" +"Se ha agregado :func:`~unittest.addModuleCleanup()` y :meth:`~unittest." +"TestCase.addClassCleanup()` a unittest para admitir limpiezas para :func:" +"`~unittest.setUpModule()` y :meth:`~unittest .TestCase.setUpClass()`. " +"(Contribución de Lisa Roach en :issue:`24412`.)" #: ../Doc/whatsnew/3.8.rst:1361 msgid "" "Several mock assert functions now also print a list of actual calls upon " "failure. (Contributed by Petter Strandmark in :issue:`35047`.)" msgstr "" +"Varias funciones de aserción simulada ahora también imprimen una lista de " +"llamadas reales en caso de fallo. (Contribución de Petter Strandmark en :" +"issue:`35047`.)" #: ../Doc/whatsnew/3.8.rst:1364 msgid "" @@ -1666,14 +2256,17 @@ msgid "" "cases with :class:`unittest.IsolatedAsyncioTestCase`. (Contributed by Andrew " "Svetlov in :issue:`32972`.)" msgstr "" +"El módulo :mod:`unittest` ha obtenido soporte para corrutinas que se " +"utilizarán como casos de prueba con :class:`unittest." +"IsolatedAsyncioTestCase`. (Contribución de Andrew Svetlov en :issue:`32972`.)" #: ../Doc/whatsnew/3.8.rst:1368 msgid "Example::" -msgstr "" +msgstr "Ejemplo::" #: ../Doc/whatsnew/3.8.rst:1391 msgid "venv" -msgstr "" +msgstr "venv" #: ../Doc/whatsnew/3.8.rst:1393 msgid "" @@ -1681,10 +2274,13 @@ msgid "" "activating virtual environments under PowerShell Core 6.1. (Contributed by " "Brett Cannon in :issue:`32718`.)" msgstr "" +":mod:`venv` ahora incluye un script ``Activate.ps1`` en todas las " +"plataformas para activar entornos virtuales en PowerShell Core 6.1. " +"(Contribución de Brett Cannon en :issue:`32718`.)" #: ../Doc/whatsnew/3.8.rst:1399 msgid "weakref" -msgstr "" +msgstr "weakref" #: ../Doc/whatsnew/3.8.rst:1401 msgid "" @@ -1692,10 +2288,13 @@ msgid "" "multiplication operators ``@`` and ``@=`` in addition to the other numeric " "operators. (Contributed by Mark Dickinson in :issue:`36669`.)" msgstr "" +"Los objetos proxy retornados por :func:`debilref.proxy` ahora admiten los " +"operadores de multiplicación de matrices ``@`` y ``@=``, además de los otros " +"operadores numéricos. (Contribución de Mark Dickinson en :issue:`36669`.)" #: ../Doc/whatsnew/3.8.rst:1407 msgid "xml" -msgstr "" +msgstr "xml" #: ../Doc/whatsnew/3.8.rst:1409 msgid "" @@ -1703,6 +2302,10 @@ msgid "" "minidom` and :mod:`xml.sax` modules no longer process external entities by " "default. (Contributed by Christian Heimes in :issue:`17239`.)" msgstr "" +"Como mitigación contra DTD y recuperación de entidades externas, los " +"módulos :mod:`xml.dom.minidom` y :mod:`xml.sax` ya no procesan entidades " +"externas de forma predeterminada. (Contribución de Christian Heimes en :" +"issue:`17239`.)" #: ../Doc/whatsnew/3.8.rst:1414 msgid "" @@ -1711,6 +2314,10 @@ msgid "" "``{namespace}*`` which returns all tags in the given namespace. (Contributed " "by Stefan Behnel in :issue:`28238`.)" msgstr "" +"Los métodos ``.find*()`` del módulo :mod:`xml.etree.ElementTree` admiten " +"búsquedas con comodines, como ``{*}tag``, que ignora el espacio de nombres, " +"y ``{namespace}*``, que retorna todas las etiquetas en el espacio de nombres " +"dado. (Contribución de Stefan Behnel en :issue:`28238`.)" #: ../Doc/whatsnew/3.8.rst:1419 msgid "" @@ -1718,6 +2325,9 @@ msgid "" "etree.ElementTree.canonicalize()` that implements C14N 2.0. (Contributed by " "Stefan Behnel in :issue:`13611`.)" msgstr "" +"El módulo :mod:`xml.etree.ElementTree` proporciona una nueva función :func:`–" +"xml.etree.ElementTree.canonicalize()` que implementa C14N 2.0. (Contribución " +"de Stefan Behnel en :issue:`13611`.)" #: ../Doc/whatsnew/3.8.rst:1423 msgid "" @@ -1728,10 +2338,17 @@ msgid "" "processing instructions to include them in the generated tree. (Contributed " "by Stefan Behnel in :issue:`36676` and :issue:`36673`.)" msgstr "" +"El objeto de destino de :class:`xml.etree.ElementTree.XMLParser` puede " +"recibir eventos de declaración de espacio de nombres a través de los nuevos " +"métodos de retrollamada ``start_ns()`` y ``end_ns()``. Además, el destino :" +"class:`xml.etree.ElementTree.TreeBuilder` se puede configurar para procesar " +"eventos sobre comentarios e instrucciones de procesamiento para incluirlos " +"en el árbol generado. (Contribución de Stefan Behnel en :issue:`36676` y :" +"issue:`36673`.)" #: ../Doc/whatsnew/3.8.rst:1433 msgid "xmlrpc" -msgstr "" +msgstr "xmlrpc" #: ../Doc/whatsnew/3.8.rst:1435 msgid "" @@ -1741,10 +2358,15 @@ msgid "" "basic authentication to faster session authentication. (Contributed by " "Cédric Krier in :issue:`35153`.)" msgstr "" +":class:`xmlrpc.client.ServerProxy` ahora admite un argumento por palabra " +"clave *headers* opcional para una secuencia de encabezados HTTP que se " +"enviarán con cada solicitud. Entre otras cosas, esto permite actualizar " +"desde la autenticación básica predeterminada a una autenticación de sesión " +"más rápida. (Contribución de Cédric Krier en :issue:`35153`.)" #: ../Doc/whatsnew/3.8.rst:1443 msgid "Optimizations" -msgstr "" +msgstr "Optimizaciones" #: ../Doc/whatsnew/3.8.rst:1445 msgid "" @@ -1752,24 +2374,30 @@ msgid "" "in some cases for better performance. Currently, it is only used on macOS " "and Linux (using glibc 2.24 or newer) if all these conditions are met:" msgstr "" +"El módulo :mod:`subprocess` ahora puede usar en ciertos casos la función :" +"func:`os.posix_spawn` para mejorar el rendimiento. Actualmente, solo se usa " +"en macOS y Linux (usando glibc 2.24 o una versión más reciente) y siempre " +"que se cumplan todas estas condiciones:" #: ../Doc/whatsnew/3.8.rst:1449 msgid "*close_fds* is false;" -msgstr "" +msgstr "*close_fds* es falso;" #: ../Doc/whatsnew/3.8.rst:1450 msgid "" "*preexec_fn*, *pass_fds*, *cwd* and *start_new_session* parameters are not " "set;" msgstr "" +"los parámetros *preexec_fn*, *pass_fds*, *cwd* y *start_new_session* no " +"están establecidos;" #: ../Doc/whatsnew/3.8.rst:1452 msgid "the *executable* path contains a directory." -msgstr "" +msgstr "la ruta *executable* contiene un directorio." #: ../Doc/whatsnew/3.8.rst:1454 msgid "(Contributed by Joannah Nanjekye and Victor Stinner in :issue:`35537`.)" -msgstr "" +msgstr "(Contribución de Joannah Nanjekye y Victor Stinner en :issue:`35537`.)" #: ../Doc/whatsnew/3.8.rst:1456 #, python-format @@ -1787,6 +2415,20 @@ msgid "" "dependent-efficient-copy-operations` section. (Contributed by Giampaolo " "Rodolà in :issue:`33671`.)" msgstr "" +":func:`shutil.copyfile`, :func:`shutil.copy`, :func:`shutil.copy2`, :func:" +"`shutil.copytree` y :func:`shutil.move` usan llamadas al sistema de \"copia-" +"rápida\" específicas de la plataforma en Linux y macOS, con la finalidad de " +"copiar ficheros más eficientemente. \"copia-rápida\" significa que la " +"operación de copiado tiene lugar en el propio kernel, evitando que Python " +"haga uso de búferes en el espacio de usuario como \"``outfd.write(infd." +"read())``\". En Windows, :func:`shutil.copyfile` usa un tamaño de búfer " +"predeterminado más grande (1 MiB en lugar de 16 KiB) y se usa una variante " +"de :func:`shutil.copyfileobj` basada en :func:`memoryview`. La aceleración " +"al copiar un archivo de 512 MiB dentro de la misma partición es de " +"aproximadamente +26% en Linux, +50% en macOS y +40% en Windows. Además, se " +"consumen muchos menos ciclos de CPU. Consultar la sección :ref:`shutil-" +"platform-dependent-efficient-copy-operations`. (Contribución de Giampaolo " +"Rodolà en :issue:`33671`.)" #: ../Doc/whatsnew/3.8.rst:1472 #, python-format @@ -1798,6 +2440,14 @@ msgid "" "syscalls is reduced by 38% making :func:`shutil.copytree` especially faster " "on network filesystems. (Contributed by Giampaolo Rodolà in :issue:`33695`.)" msgstr "" +"Ahora :func:`shutil.copytree` usa la función :func:`os.scandir` y todas las " +"funciones de copia que dependen de ella usan el valor en caché de :func:`os." +"stat`. Al copiar un directorio con 8000 archivos, la mejora de velocidad es " +"de +9% en Linux, +20% en Windows y +30% en recursos compartidos de Windows " +"SMB. Además, el número de llamadas al sistema de :func:`os.stat` se reduce " +"en un 38%, lo que hace que :func:`shutil.copytree` sea más rápida " +"especialmente en sistemas de archivos de red. (Contribución de Giampaolo " +"Rodolà en :issue:`33695`.)" #: ../Doc/whatsnew/3.8.rst:1479 msgid "" @@ -1805,6 +2455,9 @@ msgid "" "introduced in Python 3.4. It offers better performance and smaller size " "compared to Protocol 3 available since Python 3.0." msgstr "" +"El protocolo por defecto del módulo :mod:`pickle` es ahora el Protocolo 4, " +"introducido por primera vez en Python 3.4. Ofrece un mejor desempeño y un " +"menor tamaño, en comparación con el Protocolo 3 disponible desde Python 3.0." #: ../Doc/whatsnew/3.8.rst:1483 msgid "" @@ -1812,12 +2465,18 @@ msgid "" "objects (e.g. tuple, list, dict) size is reduced 4 or 8 bytes. (Contributed " "by Inada Naoki in :issue:`33597`.)" msgstr "" +"Eliminado un miembro ``Py_ssize_t`` de ``PyGC_Head``. El tamaño de todos los " +"objetos seguidos por el GC (por ejemplo tuple, list y dict) se ha reducido 4 " +"u 8 bytes. (Contribución de Inada Naoki en :issue:`33597`.)" #: ../Doc/whatsnew/3.8.rst:1487 msgid "" ":class:`uuid.UUID` now uses ``__slots__`` to reduce its memory footprint. " "(Contributed by Wouter Bolsterlee and Tal Einat in :issue:`30977`)" msgstr "" +"La clase :class:`uuid.UUID` ahora usa ``__slots__`` para reducir su impacto " +"en la memoria. (Contribución de Wouter Bolsterlee y Tal Einat en :issue:" +"`30977`.)" #: ../Doc/whatsnew/3.8.rst:1490 msgid "" @@ -1826,6 +2485,11 @@ msgid "" "negative integer index into a tuple (which is the typical use case in the " "standard library). (Contributed by Raymond Hettinger in :issue:`35664`.)" msgstr "" +"Mejorado el rendimiento de :func:`operator.itemgetter` en un 33%. Se ha " +"optimizado el manejo de argumentos y se ha agregado una ruta rápida al caso " +"común de índices enteros no negativos únicos en tuplas (que constituye un " +"caso de uso común en la biblioteca estándar). (Contribución de Raymond " +"Hettinger en :issue:`35664`.)" #: ../Doc/whatsnew/3.8.rst:1496 msgid "" @@ -1834,6 +2498,11 @@ msgid "" "lookup in Python. (Contributed by Raymond Hettinger, Pablo Galindo, and Joe " "Jevnik, Serhiy Storchaka in :issue:`32492`.)" msgstr "" +"Se han acelerado las búsquedas de campos en :func:`collections.namedtuple`. " +"Ahora son más del doble de rápidas, lo que las convierte en la forma más " +"rápida de búsqueda de variables de instancia en Python. (Contribución de " +"Raymond Hettinger, Pablo Galindo, Joe Jevnik y Serhiy Storchaka en :issue:" +"`32492`.)" #: ../Doc/whatsnew/3.8.rst:1501 #, python-format @@ -1843,6 +2512,11 @@ msgid "" "This makes the created list 12% smaller on average. (Contributed by Raymond " "Hettinger and Pablo Galindo in :issue:`33234`.)" msgstr "" +"El constructor de :class:`list` no sobre-asignará el búfer del elemento " +"interno si se conoce la longitud de la entrada iterable (es decir, si la " +"entrada implementa ``__len__``). Esto hace que la lista generada sea, en " +"promedio, un 12% más pequeña. (Contribución de Raymond Hettinger y Pablo " +"Galindo en :issue:`33234`.)" #: ../Doc/whatsnew/3.8.rst:1506 msgid "" @@ -1851,6 +2525,11 @@ msgid "" "Stefan Behnel, Pablo Galindo Salgado, Raymond Hettinger, Neil Schemenauer, " "and Serhiy Storchaka in :issue:`36012`.)" msgstr "" +"De ha duplicado la velocidad de escritura de variables de clase. Antes, " +"cuando se actualizaba un atributo non-dunder, había una llamada innecesaria " +"para actualizar slots. (Contribución de Stefan Behnel, Pablo Galindo " +"Salgado, Raymond Hettinger, Neil Schemenauer y Serhiy Storchaka en :issue:" +"`36012`.)" #: ../Doc/whatsnew/3.8.rst:1511 msgid "" @@ -1859,6 +2538,10 @@ msgid "" "up to 20--50%. (Contributed by Serhiy Storchaka in :issue:`23867`, :issue:" "`35582` and :issue:`36127`.)" msgstr "" +"Se ha reducido la sobrecarga de conversión de argumentos pasados a muchas " +"funciones y métodos integrados. Esto acelera la llamada a algunas funciones " +"y métodos incorporados simples hasta un 20-50%. (Contribución de Serhiy " +"Storchaka en :issue:`23867`, :issue:`35582` y :issue:`36127`.)" #: ../Doc/whatsnew/3.8.rst:1516 #, python-format @@ -1867,10 +2550,13 @@ msgid "" "is about 40% faster now. (Contributed by Yury Selivanov and Inada Naoki in :" "issue:`26219`.)" msgstr "" +"La instrucción ``LOAD_GLOBAL`` ahora utiliza el nuevo mecanismo \"per opcode " +"cache\". Ahora es aproximadamente un 40% más rápida. (Contribución de Yury " +"Selivanov e Inada Naoki en :issue:`26219`.)" #: ../Doc/whatsnew/3.8.rst:1522 msgid "Build and C API Changes" -msgstr "" +msgstr "Cambios en la compilación y la API de C" #: ../Doc/whatsnew/3.8.rst:1524 msgid "" @@ -1879,21 +2565,29 @@ msgid "" "compatible) and so has been removed. (Contributed by Victor Stinner in :" "issue:`36707`.)" msgstr "" +"El valor predeterminado para :data:`sys.abiflags` es ahora una cadena vacía: " +"el flag ``m`` para pymalloc se ha vuelto innecesario (las compilaciones con " +"y sin pymalloc son ABI compatibles) y por lo tanto se ha eliminado. " +"(Contribución de Victor Stinner en :issue:`36707`.)" #: ../Doc/whatsnew/3.8.rst:1528 msgid "Example of changes:" -msgstr "" +msgstr "Ejemplos del cambio:" #: ../Doc/whatsnew/3.8.rst:1530 msgid "" "Only ``python3.8`` program is installed, ``python3.8m`` program is gone." msgstr "" +"Solo el programa ``python3.8`` es instalado, el programa ``python3.8m`` se " +"ha eliminado." #: ../Doc/whatsnew/3.8.rst:1531 msgid "" "Only ``python3.8-config`` script is installed, ``python3.8m-config`` script " "is gone." msgstr "" +"Solo el script ``python3.8-config`` es instalado, el script ``python3.8m-" +"config`` se ha eliminado." #: ../Doc/whatsnew/3.8.rst:1533 msgid "" @@ -1903,22 +2597,33 @@ msgid "" "PyPI. On Linux, for example, the Python 3.7 suffix ``.cpython-37m-x86_64-" "linux-gnu.so`` became ``.cpython-38-x86_64-linux-gnu.so`` in Python 3.8." msgstr "" +"El flag ``m`` se ha eliminado del sufijo de los nombres de archivo de las " +"bibliotecas dinámicas: los módulos de extensión de la biblioteca estándar, " +"así como los producidos e instalados por paquetes de terceros, como los " +"descargados desde PyPI. En Linux, por ejemplo, el sufijo ``.cpython-37m-" +"x86_64-linux-gnu.so`` en Python 3.7 se ha convertido en ``.cpython-38-x86_64-" +"linux-gnu.so`` en Python 3.8." #: ../Doc/whatsnew/3.8.rst:1540 msgid "" "The header files have been reorganized to better separate the different " "kinds of APIs:" msgstr "" +"Los archivos de cabeceras se han reorganizado para separar mejor los " +"diferentes tipos de APIs:" #: ../Doc/whatsnew/3.8.rst:1543 msgid "``Include/*.h`` should be the portable public stable C API." -msgstr "" +msgstr "``Include/*.h`` debe ser la API de C portable, pública y estable." #: ../Doc/whatsnew/3.8.rst:1544 msgid "" "``Include/cpython/*.h`` should be the unstable C API specific to CPython; " "public API, with some private API prefixed by ``_Py`` or ``_PY``." msgstr "" +"``Include/cpython/*.h`` debe ser la API de C inestable específica de " +"CPython. Una API pública, con alguna API privada marcada con los prefijos " +"``_Py`` o ``_PY``." #: ../Doc/whatsnew/3.8.rst:1546 msgid "" @@ -1928,12 +2633,21 @@ msgid "" "debuggers and profiles which has to access to CPython internals without " "calling functions. This API is now installed by ``make install``." msgstr "" +"``Include/internal/*.h`` es la API de C interna privada, muy específica de " +"CPython. Esta API no tiene retro-compatibilidad garantizada con versiones " +"anteriores y no debe ser usada fuera de CPython. Solo está expuesta para " +"cubrir necesidades muy específicas, como es el caso de depuradores y " +"perfiladores, que necesitan acceder a los componentes internos de CPython " +"sin llamar directamente a las funciones. Esta API es ahora instalada por " +"``make install``." #: ../Doc/whatsnew/3.8.rst:1552 msgid "" "(Contributed by Victor Stinner in :issue:`35134` and :issue:`35081`, work " "initiated by Eric Snow in Python 3.7.)" msgstr "" +"(Contribución de Victor Stinner en :issue:`35134` y :issue:`35081`, trabajo " +"iniciado por Eric Snow en Python 3.7.)" #: ../Doc/whatsnew/3.8.rst:1555 msgid "" @@ -1941,28 +2655,34 @@ msgid "" "and return type are well defined, they don't have issues specific to macros, " "variables have a local scopes. Examples:" msgstr "" +"Algunas macros se han convertido a funciones inline estáticas: los tipos de " +"los parámetros y el tipo de retorno están bien definidos, no entrañan " +"cuestiones que precisen el uso específico de macros y las variables tienen " +"ámbito local. Algunos ejemplos:" #: ../Doc/whatsnew/3.8.rst:1559 msgid ":c:func:`Py_INCREF`, :c:func:`Py_DECREF`" -msgstr "" +msgstr ":c:func:`Py_INCREF`, :c:func:`Py_DECREF`" #: ../Doc/whatsnew/3.8.rst:1560 msgid ":c:func:`Py_XINCREF`, :c:func:`Py_XDECREF`" -msgstr "" +msgstr ":c:func:`Py_XINCREF`, :c:func:`Py_XDECREF`" #: ../Doc/whatsnew/3.8.rst:1561 msgid ":c:func:`PyObject_INIT`, :c:func:`PyObject_INIT_VAR`" -msgstr "" +msgstr ":c:func:`PyObject_INIT`, :c:func:`PyObject_INIT_VAR`" #: ../Doc/whatsnew/3.8.rst:1562 msgid "" "Private functions: :c:func:`_PyObject_GC_TRACK`, :c:func:" "`_PyObject_GC_UNTRACK`, :c:func:`_Py_Dealloc`" msgstr "" +"Funciones privadas: :c:func:`_PyObject_GC_TRACK`, :c:func:" +"`_PyObject_GC_UNTRACK`, :c:func:`_Py_Dealloc`" #: ../Doc/whatsnew/3.8.rst:1565 msgid "(Contributed by Victor Stinner in :issue:`35059`.)" -msgstr "" +msgstr "(Contribución de Victor Stinner en :issue:`35059`.)" #: ../Doc/whatsnew/3.8.rst:1567 msgid "" @@ -1971,6 +2691,10 @@ msgid "" "excluded from the limited API (stable ABI), and were not documented. " "(Contributed by Victor Stinner in :issue:`35713`.)" msgstr "" +"Las funciones :c:func:`PyByteArray_Init` y :c:func:`PyByteArray_Fini` se han " +"eliminado. No eran de utilidad desde Python 2.7.4 y Python 3.2.0, cuando " +"fueron excluidas de la API limitada (ABI estable) y dejaron de estar " +"documentadas. (Contribución de Victor Stinner en :issue:`35713`.)" #: ../Doc/whatsnew/3.8.rst:1572 msgid "" @@ -1978,6 +2702,9 @@ msgid "" "*`` rather of ``char *``. (Contributed by Serhiy Storchaka in :issue:" "`33818`.)" msgstr "" +"El resultado de :c:func:`PyExceptionClass_Name` es ahora de tipo ``const " +"char *`` en vez de ``char *``. (Contribución de Serhiy Storchaka en :issue:" +"`33818`.)" #: ../Doc/whatsnew/3.8.rst:1576 msgid "" @@ -1989,6 +2716,14 @@ msgid "" "annoyance to developers following CPython development, as forgetting to copy " "the file could produce build failures." msgstr "" +"La dualidad conformada por ``Modules/Setup.dist`` y ``Modules/Setup`` ha " +"sido eliminada. Anteriormente, al actualizar el árbol de fuentes de CPython, " +"se tenía que copiar manualmente ``Modules/Setup.dist`` (dentro del árbol de " +"fuentes) a ``Modules/Setup`` (dentro del árbol de compilación) para reflejar " +"cualquier cambio en sentido ascendente. Esto suponía un pequeño beneficio " +"para los empaquetadores, a expensas de una frecuente molestia para los " +"desarrolladores de CPython, ya que olvidarse de copiar el archivo podía " +"ocasionar fallos de compilación." #: ../Doc/whatsnew/3.8.rst:1584 msgid "" @@ -1997,10 +2732,15 @@ msgid "" "their changes in a git fork of CPython or as patch files, as they would do " "for any other change to the source tree." msgstr "" +"Ahora el sistema de compilación siempre lee desde ``Modules/Setup`` dentro " +"del árbol de fuentes. Se recomienda a las personas que deseen personalizar " +"este archivo que mantengan sus cambios en un fork de git de CPython o como " +"archivos de parche, como harían con cualquier otro cambio en el árbol de " +"fuentes." #: ../Doc/whatsnew/3.8.rst:1589 msgid "(Contributed by Antoine Pitrou in :issue:`32430`.)" -msgstr "" +msgstr "(Contribución de Antoine Pitrou en :issue:`32430`.)" #: ../Doc/whatsnew/3.8.rst:1591 msgid "" @@ -2017,6 +2757,18 @@ msgid "" "available. (Contributed by Serhiy Storchaka in :issue:`36048` and :issue:" "`20092`.)" msgstr "" +"Las funciones que convierten un número de Python a un entero de C, como :c:" +"func:`PyLong_AsLong`, y las funciones de análisis de argumentos como :c:func:" +"`PyArg_ParseTuple` con unidades de formato de conversión de enteros como " +"``'i'``, ahora usarán el método especial :meth:`~object.__index__` si está " +"disponible, en lugar de :meth:`~object.__int__`. Una advertencia de " +"deprecación se emitirá para aquellos objetos que tengan el método " +"``__int__()`` pero no el método ``__index__()`` (como :class:`~decimal." +"Decimal` y :class:`~fractions.Fraction`). :c:func:`PyNumber_Check` ahora " +"retornará ``1`` para los objetos que implementen ``__index__()``. :c:func:" +"`PyNumber_Long`, :c:func:`PyNumber_Float` y :c:func:`PyFloat_AsDouble` ahora " +"también usan el método ``__index__()`` si está disponible. (Contribución de " +"Serhiy Storchaka en :issue:`36048` y :issue:`20092`.)" #: ../Doc/whatsnew/3.8.rst:1605 msgid "" @@ -2026,6 +2778,11 @@ msgid "" "deallocation may need to be adjusted. (Contributed by Eddie Elizondo in :" "issue:`35810`.)" msgstr "" +"Los objetos de tipo asignados al montículo ahora aumentarán su recuento de " +"referencias en :c:func:`PyObject_Init` (y en su macro paralela " +"``PyObject_INIT``) en lugar de en :c:func:`PyType_GenericAlloc`. Es posible " +"que deban ajustarse los tipos que modifican la asignación o desasignación de " +"instancias. (Contribución de Eddie Elizondo en :issue:`35810`.)" #: ../Doc/whatsnew/3.8.rst:1611 msgid "" @@ -2034,6 +2791,10 @@ msgid "" "parameter for indicating the number of positional-only arguments. " "(Contributed by Pablo Galindo in :issue:`37221`.)" msgstr "" +"La nueva función :c:func:`PyCode_NewWithPosOnlyArgs` permite crear objetos " +"de código, al igual que :c:func:`PyCode_New`, pero con un parámetro " +"*posonlyargcount* extra, que permite indicar el número de argumentos solo " +"posicionales." #: ../Doc/whatsnew/3.8.rst:1616 msgid "" @@ -2041,10 +2802,14 @@ msgid "" "path (:c:func:`Py_GetProgramFullPath`) rather than to the program name (:c:" "func:`Py_GetProgramName`). (Contributed by Victor Stinner in :issue:`38234`.)" msgstr "" +":c:func:`Py_SetPath` ahora establece :data:`sys.executable` en la ruta " +"completa del programa (:c:func:`Py_GetProgramFullPath`), en vez de en el " +"nombre del programa (:c:func:`Py_GetProgramName`). (Contribución de Victor " +"Stinner en :issue:`38234`.)" #: ../Doc/whatsnew/3.8.rst:1623 msgid "Deprecated" -msgstr "" +msgstr "Obsoleto" #: ../Doc/whatsnew/3.8.rst:1625 msgid "" @@ -2052,6 +2817,9 @@ msgid "" "``bdist_wheel`` (wheel packages) instead. (Contributed by Victor Stinner in :" "issue:`37481`.)" msgstr "" +"El comando ``bdist_wininst`` de distutils está ahora obsoleto, usar " +"``bdist_wheel`` (paquetes wheel) en su lugar. (Contribución de Victor " +"Stinner en :issue:`37481`.)" #: ../Doc/whatsnew/3.8.rst:1629 msgid "" @@ -2060,6 +2828,10 @@ msgid "" "exc:`PendingDeprecationWarning`. They will be removed in Python 3.9. " "(Contributed by Serhiy Storchaka in :issue:`29209`.)" msgstr "" +"Los métodos ``getchildren()`` y ``getiterator()`` del módulo :mod:`~xml." +"etree.ElementTree` ahora emiten una advertencia :exc:`DeprecationWarning`, " +"en lugar de :exc:`PendingDeprecationWarning`. Serán eliminados en Python " +"3.9. (Contribución de Serhiy Storchaka en :issue:`29209`.)" #: ../Doc/whatsnew/3.8.rst:1635 msgid "" @@ -2068,6 +2840,10 @@ msgid "" "set_default_executor>` is deprecated and will be prohibited in Python 3.9. " "(Contributed by Elvis Pranskevichus in :issue:`34075`.)" msgstr "" +"Pasar un objeto a :meth:`loop.set_default_executor() ` que no sea una instancia de :class:`concurrent." +"futures.ThreadPoolExecutor` está obsoleto y será prohibido en Python 3.9. " +"(Contribución de Elvis Pranskevichus en :issue:`34075`.)" #: ../Doc/whatsnew/3.8.rst:1641 msgid "" @@ -2075,6 +2851,9 @@ msgid "" "class:`wsgiref.util.FileWrapper` and :class:`fileinput.FileInput` have been " "deprecated." msgstr "" +"Los métodos :meth:`__getitem__` pertenecientes a las clases :class:`xml.dom." +"pulldom.DOMEventStream`, :class:`wsgiref.util.FileWrapper` y :class:" +"`fileinput.FileInput` están obsoletos a partir de ahora." #: ../Doc/whatsnew/3.8.rst:1645 msgid "" @@ -2082,6 +2861,9 @@ msgid "" "and returning the next item instead. (Contributed by Berker Peksag in :issue:" "`9372`.)" msgstr "" +"Las implementaciones de estos métodos han estado ignorando su parámetro " +"*index* y retornando el siguiente item en su lugar. (Contribución de Berker " +"Peksag en :issue:`9372`.)" #: ../Doc/whatsnew/3.8.rst:1649 msgid "" @@ -2089,6 +2871,9 @@ msgid "" "attribute in favor of the ``__annotations__`` attribute which has the same " "information. (Contributed by Raymond Hettinger in :issue:`36320`.)" msgstr "" +"El atributo ``_field_types`` de la clase :class:`typing.NamedTuple` está " +"ahora obsoleto en favor del atributo ``__annotations__``, que contiene la " +"misma información. (Contribución de Raymond Hettinger en :issue:`36320`.)" #: ../Doc/whatsnew/3.8.rst:1653 msgid "" @@ -2097,6 +2882,10 @@ msgid "" "versions. :class:`~ast.Constant` should be used instead. (Contributed by " "Serhiy Storchaka in :issue:`32892`.)" msgstr "" +"Las clases ``Num``, ``Str``, ``Bytes``, ``NameConstant`` y ``Ellipsis`` del " +"módulo :mod:`ast` están consideradas obsoletas y serán eliminadas en " +"versiones futuras de Python. La clase :class:`~ast.Constant` debe ser usada " +"en su lugar. (Contribución de Serhiy Storchaka en :issue:`32892`.)" #: ../Doc/whatsnew/3.8.rst:1658 msgid "" @@ -2106,6 +2895,12 @@ msgid "" "meth:`~ast.NodeVisitor.visit_Constant` method to handle all constant nodes. " "(Contributed by Serhiy Storchaka in :issue:`36917`.)" msgstr "" +"Los métodos ``visit_Num()``, ``visit_Str()``, ``visit_Bytes()``, " +"``visit_NameConstant()`` y ``visit_Ellipsis()`` de la clase :class:`ast." +"NodeVisitor` están obsoletos ahora y serán invocados en versiones futuras de " +"Python. Agregar el método :meth:`~ast.NodeVisitor.visit_Constant` para " +"manejar todos los nodos constantes. (Contribución de Serhiy Storchaka en :" +"issue:`36917`.)" #: ../Doc/whatsnew/3.8.rst:1665 msgid "" @@ -2113,6 +2908,9 @@ msgid "" "removed in version 3.10. Instead of ``@asyncio.coroutine``, use :keyword:" "`async def` instead. (Contributed by Andrew Svetlov in :issue:`36921`.)" msgstr "" +"El :term:`decorator` :func:`asyncio.coroutine` está obsoleto y será " +"eliminado en Python 3.10. En lugar de ``@asyncio.coroutine``, se debe usar :" +"keyword:`async def`. (Contribución de Andrew Svetlov en :issue:`36921`.)" #: ../Doc/whatsnew/3.8.rst:1670 msgid "" @@ -2125,6 +2923,14 @@ msgid "" "BoundedSemaphore`, :class:`asyncio.Queue`, :func:`asyncio." "create_subprocess_exec`, and :func:`asyncio.create_subprocess_shell`." msgstr "" +"En :mod:`asyncio`, pasar un argumento *loop* de forma explícita está ahora " +"obsoleto y será eliminado en Python 3.10 para las siguientes funciones y " +"constructores: :func:`asyncio.sleep`, :func:`asyncio.gather`, :func:`asyncio." +"shield`, :func:`asyncio.wait_for`, :func:`asyncio.wait`, :func:`asyncio." +"as_completed`, :class:`asyncio.Task`, :class:`asyncio.Lock`, :class:`asyncio." +"Event`, :class:`asyncio.Condition`, :class:`asyncio.Semaphore`, :class:" +"`asyncio.BoundedSemaphore`, :class:`asyncio.Queue`, :func:`asyncio." +"create_subprocess_exec` y :func:`asyncio.create_subprocess_shell`." #: ../Doc/whatsnew/3.8.rst:1680 msgid "" @@ -2132,6 +2938,9 @@ msgid "" "deprecated and will be removed in version 3.11. (Contributed by Yury " "Selivanov in :issue:`34790`.)" msgstr "" +"El paso explícito de objetos corrutina a :func:`asyncio.wait` está ahora " +"obsoleto y será eliminado en Python 3.11. (Contribución de Yury Selivanov " +"en :issue:`34790`.)" #: ../Doc/whatsnew/3.8.rst:1684 msgid "" @@ -2143,6 +2952,13 @@ msgid "" "much better to use alternatives which return Unicode strings in Python 3. " "These functions have been broken for a long time." msgstr "" +"Las siguientes funciones y métodos del módulo :mod:`gettext` están obsoletos " +"para: :func:`~gettext.lgettext`, :func:`~gettext.ldgettext`, :func:`~gettext." +"lngettext` y :func:`~gettext.ldngettext`. Retornan bytes codificados y es " +"posible obtener excepciones inesperadas relacionadas con Unicode si hay " +"problemas de codificación con las cadenas traducidas. En Python 3 es mucho " +"mejor usar alternativas que retornen cadenas Unicode. Estas funciones han " +"estado rotas durante mucho tiempo." #: ../Doc/whatsnew/3.8.rst:1692 msgid "" @@ -2153,12 +2969,20 @@ msgid "" "since they are only used for for the ``l*gettext()`` functions. (Contributed " "by Serhiy Storchaka in :issue:`33710`.)" msgstr "" +"La función :func:`~gettext.bind_textdomain_codeset`, los métodos :meth:" +"`~gettext.NullTranslations.output_charset` y :meth:`~gettext." +"NullTranslations.set_output_charset` y el parámetro *codeset* de las " +"funciones :func:`~gettext.translation` y :func:`~gettext.install` están " +"también obsoletos, dado que solo son usados para las funciones " +"``l*gettext()``. (Contribución de Serhiy Storchaka en :issue:`33710`.)" #: ../Doc/whatsnew/3.8.rst:1700 msgid "" "The :meth:`~threading.Thread.isAlive()` method of :class:`threading.Thread` " "has been deprecated. (Contributed by Dong-hee Na in :issue:`35283`.)" msgstr "" +"El método :meth:`~threading.Thread.isAlive()` de la clase :class:`threading." +"Thread` está ahora obsoleto. (Contribución de Dong-hee Na en :issue:`35283`.)" #: ../Doc/whatsnew/3.8.rst:1704 msgid "" @@ -2169,10 +2993,19 @@ msgid "" "but do not have the :meth:`~object.__index__` method). In future version " "they will be errors. (Contributed by Serhiy Storchaka in :issue:`36048`.)" msgstr "" +"Muchas funciones incorporadas y de extensión que toman argumentos enteros " +"ahora emitirán una advertencia de deprecación para :class:`~decimal.Decimal`" +"\\ s, :class:`~fractions.Fraction`\\ s y cualquier otro objeto que se pueda " +"convertir a enteros solamente con pérdida (por ejemplo, aquellos que tienen " +"el método :meth:`~object .__int__` pero no el método :meth:`~object ." +"__index__`). En una versión futura, esto constituirá un error. (Contribución " +"de Serhiy Storchaka en :issue:`36048`.)" #: ../Doc/whatsnew/3.8.rst:1712 msgid "Deprecated passing the following arguments as keyword arguments:" msgstr "" +"El paso de los siguientes argumentos como argumentos por palabra clave está " +"ahora obsoleto:" #: ../Doc/whatsnew/3.8.rst:1714 msgid "" @@ -2180,10 +3013,13 @@ msgid "" "`profile.Profile.runcall`, :meth:`cProfile.Profile.runcall`, :meth:`bdb.Bdb." "runcall`, :meth:`trace.Trace.runfunc` and :func:`curses.wrapper`." msgstr "" +"*func* en :func:`functools.partialmethod`, :func:`weakref.finalize`, :meth:" +"`profile.Profile.runcall`, :meth:`cProfile.Profile.runcall`, :meth:`bdb.Bdb." +"runcall`, :meth:`trace.Trace.runfunc` y :func:`curses.wrapper`." #: ../Doc/whatsnew/3.8.rst:1718 msgid "*function* in :meth:`unittest.TestCase.addCleanup`." -msgstr "" +msgstr "*function* en :meth:`unittest.TestCase.addCleanup`." #: ../Doc/whatsnew/3.8.rst:1719 msgid "" @@ -2191,6 +3027,9 @@ msgid "" "`concurrent.futures.ThreadPoolExecutor` and :class:`concurrent.futures." "ProcessPoolExecutor`." msgstr "" +"*fn* en el método :meth:`~concurrent.futures.Executor.submit` de las clases :" +"class:`concurrent.futures.ThreadPoolExecutor` y :class:`concurrent.futures." +"ProcessPoolExecutor`." #: ../Doc/whatsnew/3.8.rst:1722 msgid "" @@ -2198,6 +3037,9 @@ msgid "" "AsyncExitStack.callback` and :meth:`contextlib.AsyncExitStack." "push_async_callback`." msgstr "" +"*callback* en :meth:`contextlib.ExitStack.callback`, :meth:`contextlib." +"AsyncExitStack.callback` y :meth:`contextlib.AsyncExitStack." +"push_async_callback`." #: ../Doc/whatsnew/3.8.rst:1725 msgid "" @@ -2205,24 +3047,30 @@ msgid "" "method of :class:`multiprocessing.managers.Server` and :class:" "`multiprocessing.managers.SharedMemoryServer`." msgstr "" +"*c* y *typeid* en el método :meth:`~multiprocessing.managers.Server.create` " +"de las clases :class:`multiprocessing.managers.Server` y :class:" +"`multiprocessing.managers.SharedMemoryServer`." #: ../Doc/whatsnew/3.8.rst:1728 msgid "*obj* in :func:`weakref.finalize`." -msgstr "" +msgstr "*obj* en :func:`weakref.finalize`." #: ../Doc/whatsnew/3.8.rst:1730 msgid "" "In future releases of Python, they will be :ref:`positional-only `. (Contributed by Serhiy Storchaka in :issue:`36492`.)" msgstr "" +"En futuros lanzamientos de Python, todos ellos serán :ref:`argumentos solo " +"posicionales `. (Contribución de Serhiy Storchaka " +"en :issue:`36492`.)" #: ../Doc/whatsnew/3.8.rst:1736 msgid "API and Feature Removals" -msgstr "" +msgstr "APIs y características eliminadas" #: ../Doc/whatsnew/3.8.rst:1738 msgid "The following features and APIs have been removed from Python 3.8:" -msgstr "" +msgstr "Las siguientes características y APIs se han eliminado de Python 3.8:" #: ../Doc/whatsnew/3.8.rst:1740 msgid "" @@ -2231,12 +3079,19 @@ msgid "" "able to import from collections was marked for removal in 3.8, but has been " "delayed to 3.9. (See :issue:`36952`.)" msgstr "" +"A partir de Python 3.3, la importación de ABC desde el módulo :mod:" +"`collections` quedó obsoleta y la importación debe realizarse desde el " +"módulo :mod:`collections.abc`. La posibilidad de importar desde collections " +"se marcó para su eliminación en Python 3.8, pero se ha retrasado a Python " +"3.9. (Consultar :issue:`36952`.)" #: ../Doc/whatsnew/3.8.rst:1745 msgid "" "The :mod:`macpath` module, deprecated in Python 3.7, has been removed. " "(Contributed by Victor Stinner in :issue:`35471`.)" msgstr "" +"El módulo :mod:`macpath`, obsoleto desde Python 3.7, ha sido eliminado. " +"(Contribución de Victor Stinner en :issue:`35471`.)" #: ../Doc/whatsnew/3.8.rst:1748 ../Doc/whatsnew/3.8.rst:1867 msgid "" @@ -2244,6 +3099,9 @@ msgid "" "deprecated since Python 3.3: use :func:`os.popen` instead. (Contributed by " "Victor Stinner in :issue:`35345`.)" msgstr "" +"La función :func:`platform.popen` ha sido eliminada, después de haber estado " +"obsoleta desde Python 3.3: usa :func:`os.popen` en su lugar. (Contribución " +"de Victor Stinner en :issue:`35345`.)" #: ../Doc/whatsnew/3.8.rst:1752 msgid "" @@ -2252,6 +3110,11 @@ msgid "" "process_time` instead, depending on your requirements, to have well-defined " "behavior. (Contributed by Matthias Bussonnier in :issue:`36895`.)" msgstr "" +"La función :func:`time.clock` ha sido eliminada, después de haber quedado " +"obsoleta desde Python 3.3: usa :func:`time.perf_counter` o :func:`time." +"process_time` en su lugar, dependiendo de tus requisitos, para tener un " +"comportamiento bien definido. (Contribución de Matthias Bussonnier en :issue:" +"`36895`.)" #: ../Doc/whatsnew/3.8.rst:1758 msgid "" @@ -2259,6 +3122,10 @@ msgid "" "help eliminate confusion as to what Python interpreter the ``pyvenv`` script " "is tied to. (Contributed by Brett Cannon in :issue:`25427`.)" msgstr "" +"El script ``pyvenv`` se ha eliminado, en favor de ``python3.8 -m venv``, " +"para ayudar a eliminar la confusión sobre a qué intérprete de Python está " +"vinculado el script ``pyvenv``. (Contribución de Brett Cannon en :issue:" +"`25427`.)" #: ../Doc/whatsnew/3.8.rst:1762 msgid "" @@ -2266,12 +3133,18 @@ msgid "" "module. They are deprecated in Python 3.2 or older. They should be imported " "from the ``urllib.parse`` and ``html`` modules instead." msgstr "" +"Las funciones ``parse_qs``, ``parse_qsl`` y ``escape`` se han eliminado del " +"módulo :mod:`cgi`. Estaban obsoletas desde Python 3.2 o versiones " +"anteriores. En su lugar, deberían ser importadas desde los módulos ``urllib." +"parse`` y ``html``." #: ../Doc/whatsnew/3.8.rst:1766 msgid "" "``filemode`` function is removed from the :mod:`tarfile` module. It is not " "documented and deprecated since Python 3.3." msgstr "" +"La función ``filemode`` se ha eliminado del módulo :mod:`tarfile`. Estaba " +"indocumentada y obsoleta desde Python 3.3." #: ../Doc/whatsnew/3.8.rst:1769 msgid "" @@ -2280,24 +3153,35 @@ msgid "" "3.4. All other parameters are now :ref:`keyword-only `. (Contributed by Serhiy Storchaka in :issue:`29209`.)" msgstr "" +"El constructor de :class:`~xml.etree.ElementTree.XMLParser` ya no acepta el " +"argumento *html*. Nunca tuvo efecto y quedó obsoleto en Python 3.4. Todos " +"los demás parámetros son ahora :ref:`parámetros solo nombrados `. (Contribución de Serhiy Storchaka en :issue:`29209`.)" #: ../Doc/whatsnew/3.8.rst:1774 msgid "" "Removed the ``doctype()`` method of :class:`~xml.etree.ElementTree." "XMLParser`. (Contributed by Serhiy Storchaka in :issue:`29209`.)" msgstr "" +"Se ha eliminado el método ``doctype()`` de :class:`~xml.etree.ElementTree." +"XMLParser`. (Contribución de Serhiy Storchaka en :issue:`29209`.)" #: ../Doc/whatsnew/3.8.rst:1777 msgid "" "\"unicode_internal\" codec is removed. (Contributed by Inada Naoki in :issue:" "`36297`.)" msgstr "" +"Se ha elimina el códec \"unicode_internal\". (Contribución de Inada Naoki " +"en :issue:`36297`.)" #: ../Doc/whatsnew/3.8.rst:1780 msgid "" "The ``Cache`` and ``Statement`` objects of the :mod:`sqlite3` module are not " "exposed to the user. (Contributed by Aviv Palivoda in :issue:`30262`.)" msgstr "" +"Los objetos ``Cache`` y ``Statement`` del módulo :mod:`sqlite3` no estarán " +"expuestos al usuario a partir de ahora. (Contribución de Aviv Palivoda en :" +"issue:`30262`.)" #: ../Doc/whatsnew/3.8.rst:1784 msgid "" @@ -2305,6 +3189,9 @@ msgid "" "`fileinput.FileInput` which was ignored and deprecated since Python 3.6 has " "been removed. :issue:`36952` (Contributed by Matthias Bussonnier.)" msgstr "" +"El argumento por palabra clave ``bufsize`` de :func:`fileinput.input` y :" +"func:`fileinput.FileInput`, marcado como obsoleto e ignorado desde Python " +"3.6, ha sido eliminado. :issue:`36952` (Contribución de Matthias Bussonnier.)" #: ../Doc/whatsnew/3.8.rst:1788 msgid "" @@ -2312,20 +3199,25 @@ msgid "" "get_coroutine_wrapper` deprecated in Python 3.7 have been removed; :issue:" "`36933` (Contributed by Matthias Bussonnier.)" msgstr "" +"Las funciones :func:`sys.set_coroutine_wrapper` y :func:`sys." +"get_coroutine_wrapper`, obsoletas desde Python 3.7, han sido eliminadas; :" +"issue:`36933` (Contribución de Matthias Bussonnier.)" #: ../Doc/whatsnew/3.8.rst:1794 msgid "Porting to Python 3.8" -msgstr "" +msgstr "Portando a Python 3.8" #: ../Doc/whatsnew/3.8.rst:1796 msgid "" "This section lists previously described changes and other bugfixes that may " "require changes to your code." msgstr "" +"Esta sección enumera los cambios descritos anteriormente y otras " +"correcciones de errores que pueden requerir cambios en tu código." #: ../Doc/whatsnew/3.8.rst:1801 msgid "Changes in Python behavior" -msgstr "" +msgstr "Cambios en el comportamiento de Python" #: ../Doc/whatsnew/3.8.rst:1803 msgid "" @@ -2334,6 +3226,10 @@ msgid "" "iterable expression in the leftmost :keyword:`!for` clause). (Contributed by " "Serhiy Storchaka in :issue:`10544`.)" msgstr "" +"Las expresiones yield (tanto la cláusula ``yield`` como la cláusula ``yield " +"from``) ahora no están permitidas en comprensiones y expresiones generadoras " +"(excepto en la expresión iterable en la cláusula :keyword:`!for` situada más " +"a la izquierda). (Contribución de Serhiy Storchaka en :issue:`10544`.)" #: ../Doc/whatsnew/3.8.rst:1808 msgid "" @@ -2344,6 +3240,13 @@ msgid "" "tests (``==`` and ``!=``) instead. (Contributed by Serhiy Storchaka in :" "issue:`34850`.)" msgstr "" +"El compilador ahora produce una advertencia :exc:`SyntaxWarning` cuando se " +"utilizan comprobaciones de identidad (``is`` e ``is not``) con ciertos tipos " +"de literales (por ejemplo, cadenas, números). A menudo, estas pueden " +"funcionar accidentalmente en CPython, pero no está garantizado por las " +"especificaciones del lenguaje. La advertencia advierte a los usuarios que " +"utilicen pruebas de igualdad (``==`` y ``!=``) en su lugar. (Contribución de " +"Serhiy Storchaka en :issue:`34850`.)" #: ../Doc/whatsnew/3.8.rst:1815 msgid "" @@ -2352,6 +3255,11 @@ msgid "" "when getting the attribute from the type dictionary are no longer ignored. " "(Contributed by Serhiy Storchaka in :issue:`35459`.)" msgstr "" +"El intérprete de CPython puede tolerar excepciones en algunas " +"circunstancias. En Python 3.8 esto sucederá con menos frecuencia. En " +"particular, las excepciones que se generan al obtener atributos del " +"diccionario de tipos ya no son ignoradas. (Contribución de Serhiy Storchaka " +"en :issue:`35459`.)" #: ../Doc/whatsnew/3.8.rst:1820 msgid "" @@ -2362,6 +3270,13 @@ msgid "" "affect their string representation. (Contributed by Serhiy Storchaka in :" "issue:`36793`.)" msgstr "" +"Se ha eliminado las implementaciones de ``__str__`` para los tipos " +"incorporados :class:`bool`, :class:`int`, :class:`float`, :class:`complex` y " +"algunas clases de la biblioteca estándar. Ahora heredan el método " +"``__str__()`` de :class:`object`. Como resultado, definir el método " +"``__repr__()`` en una subclase de estas clases afectará a su representación " +"como cadena de caracteres. (Contribución de Serhiy Storchaka en :issue:" +"`36793`.)" #: ../Doc/whatsnew/3.8.rst:1827 msgid "" @@ -2371,6 +3286,11 @@ msgid "" "use ``sys.platform.startswith('aix')``. (Contributed by M. Felt in :issue:" "`36588`.)" msgstr "" +"En AIX, el atributo :attr:`sys.platform` ya no contiene la versión " +"principal. Es decir, siempre es ``'aix'``, en lugar de ``'aix3'`` .. " +"``'aix7'``. Dado que las versiones anteriores de Python incluyen el número " +"de versión, se recomienda usar siempre ``sys.platform.startswith('aix')``. " +"(Contribución de M. Felt en :issue:`36588`.)" #: ../Doc/whatsnew/3.8.rst:1833 msgid "" @@ -2382,10 +3302,17 @@ msgid "" "func:`sys.is_finalizing`. (Contributed by Joannah Nanjekye in :issue:" "`36475`.)" msgstr "" +":c:func:`PyEval_AcquireLock` y :c:func:`PyEval_AcquireThread` ahora terminan " +"el hilo actual si se llaman mientras el intérprete está finalizando, " +"haciéndolos consistentes con :c:func:`PyEval_RestoreThread`, :c:func:" +"`Py_END_ALLOW_THREADS` y :c:func:`PyGILState_Ensure`. Si no se desea este " +"comportamiento, se tiene que proteger la invocación comprobando :c:func:" +"`_Py_IsFinalizing` o :c:func:`sys.is_finalizing`. (Contribución de Joannah " +"Nanjekye en :issue:`36475`.)" #: ../Doc/whatsnew/3.8.rst:1843 msgid "Changes in the Python API" -msgstr "" +msgstr "Cambios en la API de Python" #: ../Doc/whatsnew/3.8.rst:1845 msgid "" @@ -2394,6 +3321,10 @@ msgid "" "function is no longer deprecated on Windows. (Contributed by Victor Stinner " "in :issue:`37412`.)" msgstr "" +"La función :func:`os.getcwdb` ahora usa la codificación UTF-8 en Windows, en " +"lugar de la página de códigos ANSI: consultar :pep:`529` para el fundamento. " +"La función ya no está obsoleta en Windows. (Contribución de Victor Stinner " +"en :issue:`37412`.)" #: ../Doc/whatsnew/3.8.rst:1850 msgid "" @@ -2404,6 +3335,13 @@ msgid "" "child process fails with a non-zero :attr:`~Popen.returncode`. (Contributed " "by Joannah Nanjekye and Victor Stinner in :issue:`35537`.)" msgstr "" +":class:`subprocess.Popen` ahora puede usar :func:`os.posix_spawn` en algunos " +"casos para un mejor rendimiento. En el Subsistema de Windows para Linux y en " +"la Emulación de usuario QEMU, el constructor :class:`Popen` que usa :func:" +"`os.posix_spawn` ya no genera una excepción como \"missing program\" ante " +"errores. En cambio, el proceso hijo falla con un valor :attr:`~Popen." +"returncode` distinto de cero. (Contribución de Joannah Nanjekye y Victor " +"Stinner en :issue:`35537`.)" #: ../Doc/whatsnew/3.8.rst:1857 msgid "" @@ -2412,12 +3350,18 @@ msgid "" "subinterpreter now raises :exc:`RuntimeError`. (Contributed by Eric Snow in :" "issue:`34651`, modified by Christian Heimes in :issue:`37951`.)" msgstr "" +"El argumento *preexec_fn* de :class:`subprocess.Popen` ya no es compatible " +"con subintérpretes. El uso del parámetro en un subintérprete ahora lanza una " +"excepción :exc:`RuntimeError`. (Contribución de Eric Snow en :issue:`34651`, " +"modificado por Christian Heimes en :issue:`37951`.)" #: ../Doc/whatsnew/3.8.rst:1863 msgid "" "The :meth:`imap.IMAP4.logout` method no longer silently ignores arbitrary " "exceptions. (Contributed by Victor Stinner in :issue:`36348`.)" msgstr "" +"El método :meth:`imap.IMAP4.logout` ya no ignora silenciosamente excepciones " +"arbitrarias. (Contribución de Victor Stinner en :issue:`36348`.)" #: ../Doc/whatsnew/3.8.rst:1871 msgid "" @@ -2425,6 +3369,10 @@ msgid "" "given multimodal data. Instead, it returns the first mode encountered in " "the input data. (Contributed by Raymond Hettinger in :issue:`35892`.)" msgstr "" +"La función :func:`statistics.mode` ya no lanza una excepción cuando se " +"proporcionan datos multimodales. Ahora, en cambio, retorna la primera moda " +"encontrada en los datos de entrada. (Contribución de Raymond Hettinger en :" +"issue:`35892`.)" #: ../Doc/whatsnew/3.8.rst:1876 msgid "" @@ -2434,6 +3382,11 @@ msgid "" "methods like :meth:`~tkinter.ttk.Treeview.selection_set` for changing the " "selection. (Contributed by Serhiy Storchaka in :issue:`31508`.)" msgstr "" +"El método :meth:`~tkinter.ttk.Treeview.selection` de la clase :class:" +"`tkinter.ttk.Treeview` ya no acepta argumentos. Usarlo con argumentos para " +"cambiar la selección quedó obsoleto en Python 3.6. Utiliza métodos " +"especializados, como :meth:`~tkinter.ttk.Treeview.selection_set`, para " +"cambiar la selección. (Contribución de Serhiy Storchaka en :issue:`31508`.)" #: ../Doc/whatsnew/3.8.rst:1882 msgid "" @@ -2442,6 +3395,10 @@ msgid "" "preserve the attribute order specified by the user. (Contributed by Diego " "Rojas and Raymond Hettinger in :issue:`34160`.)" msgstr "" +"Los métodos :meth:`writexml`, :meth:`toxml` y :meth:`toprettyxml` de :mod:" +"`xml.dom.minidom` y el método :meth:`write` de :mod:`xml.etree`, ahora " +"conservan el orden de los atributos especificado por el usuario. " +"(Contribución de Diego Rojas y Raymond Hettinger en :issue:`34160`.)" #: ../Doc/whatsnew/3.8.rst:1887 msgid "" @@ -2449,6 +3406,10 @@ msgid "" "`dbm.dumb.open` with flags ``'r'`` and ``'w'`` no longer creates a database " "if it does not exist. (Contributed by Serhiy Storchaka in :issue:`32749`.)" msgstr "" +"Una base de datos :mod:`dbm.dumb` abierta con el flag ``'r'`` ahora es de " +"solo lectura. :func:`dbm.dumb.open` con los flags ``'r'`` y ``'w'`` ya no " +"crea una base de datos si no existe. (Contribución de Serhiy Storchaka en :" +"issue:`32749`.)" #: ../Doc/whatsnew/3.8.rst:1892 msgid "" @@ -2459,6 +3420,12 @@ msgid "" "for handling an XML doctype declaration. (Contributed by Serhiy Storchaka " "in :issue:`29209`.)" msgstr "" +"El método ``doctype()`` definido en una subclase de :class:`~xml.etree." +"ElementTree.XMLParser` ya no será invocado y emitirá una advertencia :exc:" +"`RuntimeWarning` en lugar de :exc:`DeprecationWarning`. Define el método :" +"meth:`doctype() ` en un objetivo " +"para manejar una declaración doctype de XML. (Contribución de Serhiy " +"Storchaka en :issue:`29209`.)" #: ../Doc/whatsnew/3.8.rst:1899 msgid "" @@ -2467,12 +3434,19 @@ msgid "" "__new__``. A :exc:`DeprecationWarning` was emitted in Python 3.6--3.7. " "(Contributed by Serhiy Storchaka in :issue:`23722`.)" msgstr "" +"Ahora se lanza una excepción :exc:`RuntimeError` cuando la metaclase " +"personalizada no proporciona la entrada ``__classcell__`` en el espacio de " +"nombres pasado a ``type.__new__``. En Python 3.6--3.7. se emitía una " +"advertencia :exc:`DeprecationWarning` (Contribución de Serhiy Storchaka en :" +"issue:`23722`.)" #: ../Doc/whatsnew/3.8.rst:1904 msgid "" "The :class:`cProfile.Profile` class can now be used as a context manager. " "(Contributed by Scott Sanderson in :issue:`29235`.)" msgstr "" +"La clase :class:`cProfile.Profile` ahora se puede usar como gestor de " +"contexto. (Contribución de Scott Sanderson en :issue:`29235`.)" #: ../Doc/whatsnew/3.8.rst:1907 msgid "" @@ -2481,18 +3455,27 @@ msgid "" "\" syscalls (see :ref:`shutil-platform-dependent-efficient-copy-operations` " "section)." msgstr "" +":func:`shutil.copyfile`, :func:`shutil.copy`, :func:`shutil.copy2`, :func:" +"`shutil.copytree` y :func:`shutil.move` usan llamadas al sistema de \"copia-" +"rápida\" específicas de la plataforma. (Consultar la sección :ref:`shutil-" +"platform-dependent-efficient-copy-operations`)." #: ../Doc/whatsnew/3.8.rst:1912 msgid "" ":func:`shutil.copyfile` default buffer size on Windows was changed from 16 " "KiB to 1 MiB." msgstr "" +"El tamaño predeterminado del búfer de :func:`shutil.copyfile` en Windows se " +"ha cambiado de 16 KiB a 1 MiB." #: ../Doc/whatsnew/3.8.rst:1915 msgid "" "The ``PyGC_Head`` struct has changed completely. All code that touched the " "struct member should be rewritten. (See :issue:`33597`.)" msgstr "" +"La estructura ``PyGC_Head`` ha cambiado por completo. Todo código que haga " +"uso de algún miembro de la estructura debe reescribirse. (Consultar :issue:" +"`33597`.)" #: ../Doc/whatsnew/3.8.rst:1918 msgid "" @@ -2505,6 +3488,15 @@ msgid "" "issue. We'll work on helping you adjust (possibly including adding accessor " "functions to the public API). (See :issue:`35886`.)" msgstr "" +"La estructura :c:type:`PyInterpreterState` se ha movido a los archivos de " +"cabeceras \"internos\" (específicamente a Include/internal/pycore_pystate." +"h). Un ``PyInterpreterState`` opaco todavía está disponible como parte de la " +"API pública (y ABI estable). La documentación indica que ninguno de los " +"campos de la estructura es público, por lo que esperamos que nadie los haya " +"estado usando. Sin embargo, si utilizas uno o más de esos campos privados y " +"no tienes otra alternativa, abre una issue BPO. Trabajaremos para ayudarte a " +"adaptarlo (posiblemente incluyendo funciones de acceso a la API pública). " +"(Consultar :issue:`35886`.)" #: ../Doc/whatsnew/3.8.rst:1928 msgid "" @@ -2515,12 +3507,22 @@ msgid "" "returned on success; an exception was raised on error under Unix. " "(Contributed by Berker Peksag in :issue:`2122`.)" msgstr "" +"El método :meth:`mmap.flush() ` ahora retorna ``None`` en " +"caso de éxito y lanza una excepción en caso de error, en todas las " +"plataformas. Anteriormente, su comportamiento dependía de la plataforma: en " +"Windows retornaba un valor distinto de cero en caso de éxito y cero ante un " +"error. En Unix se retornaba un valor de cero en caso de éxito y se lanzaba " +"una excepción ante un error. (Contribución de Berker Peksag en :issue:" +"`2122`.)" #: ../Doc/whatsnew/3.8.rst:1935 msgid "" ":mod:`xml.dom.minidom` and :mod:`xml.sax` modules no longer process external " "entities by default. (Contributed by Christian Heimes in :issue:`17239`.)" msgstr "" +"Los módulos :mod:`xml.dom.minidom` y :mod:`xml.sax` ya no procesan entidades " +"externas de forma predeterminada. (Contribución de Christian Heimes en :" +"issue:`17239`.)" #: ../Doc/whatsnew/3.8.rst:1939 msgid "" @@ -2529,6 +3531,11 @@ msgid "" "exc:`dbm.gnu.error` or :exc:`dbm.ndbm.error`) instead of :exc:`KeyError`. " "(Contributed by Xiang Zhang in :issue:`33106`.)" msgstr "" +"Eliminar una clave de una base de datos :mod:`dbm` de solo lectura (:mod:" +"`dbm.dumb`, :mod:`dbm.gnu` o :mod:`dbm.ndbm`) lanza una excepción :attr:" +"`error` (:exc:`dbm.dumb.error`, :exc:`dbm.gnu.error` o :exc:`dbm.ndbm." +"error`) en lugar de :exc:`KeyError`. (Contribución de Xiang Zhang en :issue:" +"`33106`.)" #: ../Doc/whatsnew/3.8.rst:1944 msgid "" @@ -2537,6 +3544,11 @@ msgid "" "``Bytes``, ``NameConstant`` and ``Ellipsis`` will return an instance of " "``Constant``. (Contributed by Serhiy Storchaka in :issue:`32892`.)" msgstr "" +"AST simplificado para literales. Todas las constantes se representarán como " +"instancias de :class:`ast.Constant`. La instanciación de las antiguas clases " +"``Num``, ``Str``, ``Bytes``, ``NameConstant`` y ``Ellipsis`` retornará ahora " +"una instancia de ``Constant``. (Contribución de Serhiy Storchaka en :issue:" +"`32892`.)" #: ../Doc/whatsnew/3.8.rst:1959 msgid "" @@ -2545,6 +3557,10 @@ msgid "" "*timeout*, it was cancelled and immediately returned. (Contributed by Elvis " "Pranskevichus in :issue:`32751`.)" msgstr "" +"La función :func:`asyncio.wait_for` ahora espera correctamente la " +"cancelación cuando se usa una instancia de :class:`asyncio.Task`. " +"Anteriormente, al alcanzar *timeout*, se cancelaba y retornaba de inmediato. " +"(Contribución de Elvis Pranskevichus en :issue:`32751`.)" #: ../Doc/whatsnew/3.8.rst:1964 msgid "" @@ -2552,10 +3568,14 @@ msgid "" "to use socket object when 'socket' is passed to the *name* parameter. " "(Contributed by Yury Selivanov in :issue:`37027`.)" msgstr "" +"La función :func:`asyncio.BaseTransport.get_extra_info` ahora retorna un " +"objeto socket seguro cuando se pasa 'socket' al parámetro *name*. " +"(Contribución de Yury Selivanov en :issue:`37027`.)" #: ../Doc/whatsnew/3.8.rst:1968 msgid ":class:`asyncio.BufferedProtocol` has graduated to the stable API." msgstr "" +":class:`asyncio.BufferedProtocol` ha pasado a formar parte de la API estable." #: ../Doc/whatsnew/3.8.rst:1972 msgid "" @@ -2571,6 +3591,19 @@ msgid "" "ensure that Windows Update KB2533623 has been installed (this is also " "verified by the installer). (Contributed by Steve Dower in :issue:`36085`.)" msgstr "" +"Las dependencias de DLLs para módulos de extensión y DLLs cargadas con :mod:" +"`ctypes` en Windows ahora se resuelven de forma más segura. Solo las rutas " +"del sistema, el directorio que contiene el archivo DLL o PYD y los " +"directorios agregados mediante :func:`~os.add_dll_directory` se buscan para " +"las dependencias en tiempo de carga. Específicamente, :envvar:`PATH` y el " +"directorio de trabajo actual ya no se utilizan, y las modificaciones de " +"estos ya no tendrán ningún efecto en la resolución normal de la DLL. Si tu " +"aplicación se basa en estos mecanismos, debes buscar :func:`~os." +"add_dll_directory` y, si existe, utilizarlo para agregar tu directorio DLL " +"mientras carga tu biblioteca. Ten en cuenta que los usuarios de Windows 7 " +"deberán asegurarse de que se haya instalado Windows Update KB2533623 (esto " +"también lo verifica el instalador). (Contribución de Steve Dower en :issue:" +"`36085`.)" #: ../Doc/whatsnew/3.8.rst:1985 msgid "" @@ -2578,6 +3611,9 @@ msgid "" "replacement by a pure Python implementation. (Contributed by Pablo Galindo " "in :issue:`36623`.)" msgstr "" +"Los archivos de cabeceras y las funciones relacionadas con pgen se han " +"eliminado después de su reemplazo por una implementación pura de Python. " +"(Contribución de Pablo Galindo en :issue:`36623`.)" #: ../Doc/whatsnew/3.8.rst:1989 msgid "" @@ -2588,10 +3624,16 @@ msgid "" "new ``replace()`` method of :class:`types.CodeType` can be used to make the " "code future-proof." msgstr "" +":class:`types.CodeType` tiene un nuevo parámetro en la segunda posición del " +"constructor (*posonlyargcount*) para admitir argumentos solo posicionales, " +"definidos en :pep:`570`. El primer argumento (*argcount*) ahora representa " +"el número total de argumentos posicionales (incluidos los argumentos solo " +"posicionales). El nuevo método ``replace()`` de :class:`types.CodeType` se " +"puede utilizar para hacer que el código esté preparado para el futuro." #: ../Doc/whatsnew/3.8.rst:1998 msgid "Changes in the C API" -msgstr "" +msgstr "Cambios en la API de C" #: ../Doc/whatsnew/3.8.rst:2000 msgid "" @@ -2600,6 +3642,11 @@ msgid "" "ignored by default, and is used if and only if ``PyCF_ONLY_AST`` flag is set " "in *cf_flags*. (Contributed by Guido van Rossum in :issue:`35766`.)" msgstr "" +"La estructura :c:type:`PyCompilerFlags` tiene un nuevo campo " +"*cf_feature_version*. Debe inicializarse en ``PY_MINOR_VERSION``. El campo " +"se ignora de forma predeterminada y se usa, si y solo si, el flag " +"``PyCF_ONLY_AST`` está establecido en *cf_flags*. (Contribución de Guido van " +"Rossum en :issue:`35766`.)" #: ../Doc/whatsnew/3.8.rst:2006 msgid "" @@ -2607,6 +3654,9 @@ msgid "" "It should not be called explicitly: use :c:func:`PyOS_AfterFork_Child` " "instead. (Contributed by Victor Stinner in :issue:`36728`.)" msgstr "" +"La función :c:func:`PyEval_ReInitThreads` se ha eliminado de la API de C. No " +"debe llamarse explícitamente: usa :c:func:`PyOS_AfterFork_Child` en su " +"lugar. (Contribución de Victor Stinner en :issue:`36728`.)" #: ../Doc/whatsnew/3.8.rst:2011 msgid "" @@ -2618,6 +3668,13 @@ msgid "" "by the ``*shared*`` section of ``Modules/Setup``. (Contributed by Victor " "Stinner in :issue:`21536`.)" msgstr "" +"En Unix, las extensiones de C ya no están vinculadas a libpython, excepto en " +"Android y Cygwin. Cuando Python está integrado, ``libpython`` no debe " +"cargarse con ``RTLD_LOCAL``, sino con ``RTLD_GLOBAL`` en su lugar. " +"Anteriormente, no era posible usar ``RTLD_LOCAL`` para cargar extensiones de " +"C que no estuvieran vinculadas a ``libpython``, como las extensiones de C de " +"la biblioteca estándar construida por la sección ``*shared*`` de ``Modules/" +"Setup``. (Contribución de Victor Stinner en :issue:`21536`.)" #: ../Doc/whatsnew/3.8.rst:2019 msgid "" @@ -2627,6 +3684,12 @@ msgid "" "``DeprecationWarning`` now. It will be removed in 3.10 or 4.0. Read :ref:" "`arg-parsing` for detail. (Contributed by Inada Naoki in :issue:`36381`.)" msgstr "" +"El uso de variantes de formato ``#`` en el análisis o la construcción de " +"valores (por ejemplo: :c:func:`PyArg_ParseTuple`, :c:func:`Py_BuildValue`, :" +"c:func:`PyObject_CallFunction`, etc.) sin ``PY_SSIZE_T_CLEAN`` definido " +"ahora lanza una advertencia ``DeprecationWarning``. Se eliminará en Python " +"3.10 ó 4.0. Consultar :ref:`arg-parsing` para más detalles. (Contribución de " +"Inada Naoki en :issue:`36381`.)" #: ../Doc/whatsnew/3.8.rst:2025 msgid "" @@ -2637,10 +3700,17 @@ msgid "" "`PyObject_Init` and :c:func:`PyObject_INIT`. This makes types created " "through :c:func:`PyType_FromSpec` behave like other classes in managed code." msgstr "" +"Las instancias de tipos asignados al montón (como los creados con :c:func:" +"`PyType_FromSpec`) contienen una referencia a su objeto de tipo. El aumento " +"del recuento de referencias de estos objetos de tipo se ha movido de :c:func:" +"`PyType_GenericAlloc` a las funciones de más bajo nivel, :c:func:" +"`PyObject_Init` y :c:func:`PyObject_INIT`. Esto hace que los tipos creados " +"mediante :c:func:`PyType_FromSpec` se comporten como otras clases en el " +"código gestionado." #: ../Doc/whatsnew/3.8.rst:2033 msgid "Statically allocated types are not affected." -msgstr "" +msgstr "Los tipos asignados estáticamente no se ven afectados." #: ../Doc/whatsnew/3.8.rst:2035 msgid "" @@ -2650,11 +3720,18 @@ msgid "" "this, these classes need to call Py_DECREF on the type object during " "instance deallocation." msgstr "" +"Para la gran mayoría de casos, no debería haber efectos secundarios. Sin " +"embargo, los tipos que aumentan manualmente el recuento de referencias " +"después de asignar una instancia (quizás para evitar el error) ahora pueden " +"volverse inmortales. Para evitar esto, estas clases deben llamar a Py_DECREF " +"en el objeto de tipo durante la desasignación de la instancia." #: ../Doc/whatsnew/3.8.rst:2041 msgid "" "To correctly port these types into 3.8, please apply the following changes:" msgstr "" +"Para portar correctamente estos tipos a Python 3.8, aplica los siguientes " +"cambios:" #: ../Doc/whatsnew/3.8.rst:2044 msgid "" @@ -2664,31 +3741,40 @@ msgid "" "or any other custom allocator that uses :c:func:`PyObject_Init` or :c:func:" "`PyObject_INIT`." msgstr "" +"Elimina :c:macro:`Py_INCREF` en el objeto de tipo después de asignar una " +"instancia, si la hubiera. Esto puede suceder después de invocar a :c:func:" +"`PyObject_New`, :c:func:`PyObject_NewVar`, :c:func:`PyObject_GC_New`, :c:" +"func:`PyObject_GC_NewVar`, o cualquier otro asignador personalizado que use :" +"c:func:`PyObject_Init` o :c:func:`PyObject_INIT`." #: ../Doc/whatsnew/3.8.rst:2051 ../Doc/whatsnew/3.8.rst:2070 #: ../Doc/whatsnew/3.8.rst:2089 msgid "Example:" -msgstr "" +msgstr "Ejemplo:" #: ../Doc/whatsnew/3.8.rst:2067 msgid "" "Ensure that all custom ``tp_dealloc`` functions of heap-allocated types " "decrease the type's reference count." msgstr "" +"Asegúrate de que todas las funciones personalizadas ``tp_dealloc`` de los " +"tipos asignados al montón disminuyan el recuento de referencias del tipo." #: ../Doc/whatsnew/3.8.rst:2084 msgid "(Contributed by Eddie Elizondo in :issue:`35810`.)" -msgstr "" +msgstr "(Contribución de Eddie Elizondo en :issue:`35810`.)" #: ../Doc/whatsnew/3.8.rst:2086 msgid "" "The :c:macro:`Py_DEPRECATED()` macro has been implemented for MSVC. The " "macro now must be placed before the symbol name." msgstr "" +"La macro :c:macro:`Py_DEPRECATED()` ha sido implementada para MSVC. La macro " +"ahora debe ser colocada antes del nombre del símbolo." #: ../Doc/whatsnew/3.8.rst:2095 msgid "(Contributed by Zackery Spytz in :issue:`33407`.)" -msgstr "" +msgstr "(Contribución de Zackery Spytz en :issue:`33407`.)" #: ../Doc/whatsnew/3.8.rst:2097 msgid "" @@ -2699,10 +3785,17 @@ msgid "" "tp_finalize` (:const:`Py_TPFLAGS_HAVE_FINALIZE` is not checked anymore " "before reading :c:member:`~PyTypeObject.tp_finalize`)." msgstr "" +"El intérprete ya no pretende dar suporte nunca más a la compatibilidad " +"binaria de tipos de extensión entre versiones de características. Un :c:type:" +"`PyTypeObject` exportado por un módulo de extensión de terceros se supone " +"que tiene todas las ranuras esperadas por la versión actual de Python, " +"incluyendo :c:member:`~PyTypeObject.tp_finalize` (:const:" +"`Py_TPFLAGS_HAVE_FINALIZE` ya no se verifica antes de leer :c:member:" +"`~PyTypeObject.tp_finalize`)." #: ../Doc/whatsnew/3.8.rst:2104 msgid "(Contributed by Antoine Pitrou in :issue:`32388`.)" -msgstr "" +msgstr "(Contribución de Antoine Pitrou en :issue:`32388`.)" #: ../Doc/whatsnew/3.8.rst:2106 msgid "" @@ -2710,12 +3803,17 @@ msgid "" "(*posonlyargcount*) to support :pep:`570`, indicating the number of " "positional-only arguments." msgstr "" +":c:func:`PyCode_New` tiene un nuevo parámetro en la segunda posición " +"(*posonlyargcount*) para dar soporte a :pep:`570`, que indica el número de " +"argumentos solo posicionales." #: ../Doc/whatsnew/3.8.rst:2109 msgid "" "The functions :c:func:`PyNode_AddChild` and :c:func:`PyParser_AddToken` now " "accept two additional ``int`` arguments *end_lineno* and *end_col_offset*." msgstr "" +"Las funciones :c:func:`PyNode_AddChild` y :c:func:`PyParser_AddToken` ahora " +"aceptan dos argumentos ``int`` adicionales, *end_lineno* y *end_col_offset*." #: ../Doc/whatsnew/3.8.rst:2112 msgid "" @@ -2725,6 +3823,10 @@ msgid "" "``gendef`` and ``dlltool`` tools, which are part of the MinGW binutils " "package:" msgstr "" +"El archivo :file:`libpython38.a` ya no se incluye en la distribución normal " +"de Windows. Si se necesita este archivo, se puede generar con las " +"herramientas ``gendef`` y ``dlltool``, que son parte del paquete binutils de " +"MinGW:" #: ../Doc/whatsnew/3.8.rst:2122 msgid "" @@ -2734,14 +3836,19 @@ msgid "" "placed in the same directory as :file:`pythonXY.lib`, which is generally " "the :file:`libs` directory under your Python installation." msgstr "" +"La ubicación de un archivo :file:`pythonXY.dll` instalado dependerá de las " +"opciones de instalación y de la versión y el idioma de Windows. Consultar :" +"ref:`using-on-windows` para obtener más información. La biblioteca " +"resultante debe colocarse en el mismo directorio que :file:`pythonXY.lib`, " +"que generalmente es el directorio :file:`libs` en tu instalación de Python." #: ../Doc/whatsnew/3.8.rst:2128 msgid "(Contributed by Steve Dower in :issue:`37351`.)" -msgstr "" +msgstr "(Contribución de Steve Dower en :issue:`37351`.)" #: ../Doc/whatsnew/3.8.rst:2132 msgid "CPython bytecode changes" -msgstr "" +msgstr "Cambios en el bytecode de CPython" #: ../Doc/whatsnew/3.8.rst:2134 msgid "" @@ -2750,6 +3857,10 @@ msgid "" "instructions for adjusting the stack of values and calling the cleaning-up " "code for :keyword:`break`, :keyword:`continue` and :keyword:`return`." msgstr "" +"El bucle del intérprete se ha simplificado moviendo al compilador la lógica " +"para el desenredo de la pila de bloques. El compilador ahora emite " +"instrucciones explícitas para ajustar la pila de valores y llamar al código " +"de limpieza para :keyword:`break`, :keyword:`continue` y :keyword:`return`." #: ../Doc/whatsnew/3.8.rst:2140 msgid "" @@ -2759,12 +3870,20 @@ msgid "" "`POP_FINALLY`. Changed the behavior of :opcode:`END_FINALLY` and :opcode:" "`WITH_CLEANUP_START`." msgstr "" +"Eliminados los códigos de operación :opcode:`BREAK_LOOP`, :opcode:" +"`CONTINUE_LOOP`, :opcode:`SETUP_LOOP` y :opcode:`SETUP_EXCEPT`. Agregados " +"los nuevos códigos de operación :opcode:`ROT_FOUR`, :opcode:" +"`BEGIN_FINALLY`, :opcode:`CALL_FINALLY` y :opcode:`POP_FINALLY`. Modificados " +"los códigos de operación :opcode:`END_FINALLY` y :opcode:" +"`WITH_CLEANUP_START`." #: ../Doc/whatsnew/3.8.rst:2146 msgid "" "(Contributed by Mark Shannon, Antoine Pitrou and Serhiy Storchaka in :issue:" "`17611`.)" msgstr "" +"(Contribución de Mark Shannon, Antoine Pitrou y Serhiy Storchaka en :issue:" +"`17611`.)" #: ../Doc/whatsnew/3.8.rst:2149 msgid "" @@ -2772,6 +3891,9 @@ msgid "" "awaiting a next item in an :keyword:`async for` loop. (Contributed by Serhiy " "Storchaka in :issue:`33041`.)" msgstr "" +"Agregado el código de operación :opcode:`END_ASYNC_FOR` para manejar " +"excepciones lanzadas mientras se espera al siguiente elemento en un ciclo :" +"keyword:`async for`. (Contribución de Serhiy Storchaka en :issue:`33041`.)" #: ../Doc/whatsnew/3.8.rst:2153 msgid "" @@ -2780,10 +3902,15 @@ msgid "" "always evaluated before the value in dictionary comprehensions, as proposed " "by :pep:`572`. (Contributed by Jörn Heissler in :issue:`35224`.)" msgstr "" +"El código de operación :opcode:`MAP_ADD` ahora espera el valor como primer " +"elemento de la pila y la clave como segundo elemento. Este cambio se realizó " +"para que la clave siempre se evalúe antes que el valor en los diccionarios " +"por compresión, como se propone en :pep:`572`. (Contribución de Jörn " +"Heissler en :issue:`35224`.)" #: ../Doc/whatsnew/3.8.rst:2160 msgid "Demos and Tools" -msgstr "" +msgstr "Demos y herramientas" #: ../Doc/whatsnew/3.8.rst:2162 msgid "" @@ -2791,10 +3918,15 @@ msgid "" "``Tools/scripts/var_access_benchmark.py``. (Contributed by Raymond Hettinger " "in :issue:`35884`.)" msgstr "" +"Se ha añadido un script de evaluación de rendimiento para cronometrar varias " +"formas de acceder a variables: ``Tools/scripts/var_access_benchmark.py``. " +"(Contribución de Raymond Hettinger en :issue:`35884`.)" #: ../Doc/whatsnew/3.8.rst:2166 msgid "Here's a summary of performance improvements since Python 3.3:" msgstr "" +"A continuación, se muestra un resumen de las mejoras de rendimiento desde " +"Python 3.3:" #: ../Doc/whatsnew/3.8.rst:2213 msgid "" @@ -2804,10 +3936,16 @@ msgid "" "builds found at `python.org `_. " "The benchmark script displays timings in nanoseconds." msgstr "" +"Las evaluaciones de rendimiento se realizaron en un `procesador Intel® Core™ " +"i7-4960HQ `_ ejecutando las " +"compilaciones de 64-bits para macOS disponibles en `python.org `_. El script de evaluación de rendimiento " +"muestra los tiempos en nanosegundos." #: ../Doc/whatsnew/3.8.rst:2222 msgid "Notable changes in Python 3.8.1" -msgstr "" +msgstr "Cambios notables en Python 3.8.1" #: ../Doc/whatsnew/3.8.rst:2224 msgid "" @@ -2818,10 +3956,16 @@ msgid "" "(Contributed by Kyle Stanley, Antoine Pitrou, and Yury Selivanov in :issue:" "`37228`.)" msgstr "" +"Debido a importantes preocupaciones de seguridad, el parámetro " +"*reuse_address* de :meth:`asyncio.loop.create_datagram_endpoint` ya no está " +"soportado. Esto se debe al comportamiento de la opción ``SO_REUSEADDR`` del " +"socket en UDP. Para obtener más detalles, consulta la documentación de " +"``loop.create_datagram_endpoint()``. (Contribución de Kyle Stanley, Antoine " +"Pitrou y Yury Selivanov en :issue:`37228`.)" #: ../Doc/whatsnew/3.8.rst:2232 msgid "Notable changes in Python 3.8.2" -msgstr "" +msgstr "Cambios notables en Python 3.8.2" #: ../Doc/whatsnew/3.8.rst:2234 msgid "" @@ -2829,10 +3973,14 @@ msgid "" "The argument types are now str and List[str] again. (Contributed by Manuel " "Barkhau and Giampaolo Rodola in :issue:`39390`.)" msgstr "" +"Se ha corregido una regresión con la retrollamada ``ignore`` de :func:" +"`shutil.copytree`. Los tipos de los argumentos ahora son str y List[str] " +"nuevamente. (Contribución de Manuel Barkhau y Giampaolo Rodola en :issue:" +"`39390`.)" #: ../Doc/whatsnew/3.8.rst:2239 msgid "Notable changes in Python 3.8.3" -msgstr "" +msgstr "Cambios notables en Python 3.8.3" #: ../Doc/whatsnew/3.8.rst:2241 msgid "" @@ -2841,3 +3989,7 @@ msgid "" "``PyCF_ALLOW_TOP_LEVEL_AWAIT`` was clashing with ``CO_FUTURE_DIVISION``. " "(Contributed by Batuhan Taskaya in :issue:`39562`)" msgstr "" +"Se han actualizado los valores constantes de los flags futuros del módulo :" +"mod:`__future__` para evitar colisiones con los flags del compilador. " +"Anteriormente, ``PyCF_ALLOW_TOP_LEVEL_AWAIT`` estaba en conflicto con " +"``CO_FUTURE_DIVISION``. (Contribución de Batuhan Taskaya en :issue:`39562`.)"