diff --git a/dictionaries/whatsnew_2.7.txt b/dictionaries/whatsnew_2.7.txt index 9a015e6b20..54c06aa0a9 100644 --- a/dictionaries/whatsnew_2.7.txt +++ b/dictionaries/whatsnew_2.7.txt @@ -1,3 +1,89 @@ +Brändström +structseq +Maru +Newby +devel +pybsddb +Hagen +Fürstenau +Mats +Kindahl +Conti +Anatoly +Techtonik +Lennart +Regebro +Mouzo +Hagen +Fürstenau +gzipped +Jacques +Frechet +Tadek +Pietraszek +Eldon +Ziegler +Chambon +escaneos +nirinA +raseliarison +lekma +Cazabon +reinicializa +Zsolt +Cserna +Giuca +Francois +Eldon +Ziegler +Nagle +renegociación +Beda +Kosata +Lesher +Anders +Chrigström +ampersands +Muller +Kuba +Wieczorek +Genellina +sysconfig +reimplementan +Tile +Tck +Dyer +Roddy +etree +whatever +pyo +lekma +Horsen +Troya +Clinton +Roy +Cournapeau +Genellina +Ziga +Seilnacht +multinúcleo +Piotr +Ożarowski +Leander +ampersands +Muller +ensurepip +ensurepip +rediseñadas +Donald +Stufft +Donald +Stufft +autotools +Lovett +Hugh +Secker +Walker argparse Kuchling subsistemas diff --git a/whatsnew/2.7.po b/whatsnew/2.7.po index 916954b59d..84df33960b 100644 --- a/whatsnew/2.7.po +++ b/whatsnew/2.7.po @@ -11,15 +11,19 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2021-10-16 21:42+0200\n" -"PO-Revision-Date: 2021-03-23 18:50-0300\n" +"PO-Revision-Date: 2021-10-19 15:09-0300\n" "Last-Translator: \n" "Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1)\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.9.1\n" +"Generated-By: Babel 2.8.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Last-Translator: Claudia Millan \n" +"Language: es\n" +"X-Generator: Poedit 2.4.2\n" #: ../Doc/whatsnew/2.7.rst:3 msgid "What's New in Python 2.7" @@ -94,7 +98,6 @@ msgid "The Future for Python 2.x" msgstr "El futuro de Python 2.x" #: ../Doc/whatsnew/2.7.rst:82 -#, fuzzy msgid "" "Python 2.7 is the last major release in the 2.x series, as the Python " "maintainers have shifted the focus of their new feature development efforts " @@ -366,7 +369,7 @@ msgstr "" "La :func:`repr` de un flotante ``x`` es más corto en muchos casos: ahora se " "basa en la cadena decimal más corta que se garantiza que redondea a ``x``. " "Como en versiones anteriores de Python, se garantiza que ``float(repr(x))`` " -"devuelva ``x``." +"retorne ``x``." #: ../Doc/whatsnew/2.7.rst:192 msgid "" @@ -519,7 +522,7 @@ msgid "" "appearing in the same order as the underlying tuple indices." msgstr "" "El método :meth:`~collections.somenamedtuple._asdict()` para :func:" -"`collections.namedtuple` ahora devuelve un diccionario ordenado con los " +"`collections.namedtuple` ahora retorna un diccionario ordenado con los " "valores que aparecen en el mismo orden que los índices de tupla subyacentes." #: ../Doc/whatsnew/2.7.rst:298 @@ -674,7 +677,7 @@ msgid "" "returned as an object with attributes named by the *dest* parameters::" msgstr "" "Al igual que con :mod:`optparse`, los modificadores y argumentos de línea de " -"comandos se devuelven como un objeto con atributos denominados por los " +"comandos se retornan como un objeto con atributos denominados por los " "parámetros *dest*:" #: ../Doc/whatsnew/2.7.rst:425 @@ -830,7 +833,7 @@ msgid "" "the underlying logger would process a message of that level of importance." msgstr "" "La clase :class:`~logging.LoggerAdapter` gano un método :meth:`~logging." -"LoggerAdapter.isEnabledFor` que toma un *nivel* y devuelve si el registrador " +"LoggerAdapter.isEnabledFor` que toma un *nivel* y retorna si el registrador " "subyacente procesará un mensaje de ese nivel de importancia." #: ../Doc/whatsnew/2.7.rst:544 @@ -1055,7 +1058,7 @@ msgid "" "Previously it gave a string based on rounding x to 17 decimal digits." msgstr "" "Relacionado con esto, el :func:`repr` de un número de punto flotante *x* " -"ahora devuelve un resultado basado en la cadena decimal más corta que se " +"ahora retorna un resultado basado en la cadena decimal más corta que se " "garantiza que se redondeará a *x* con el redondeo correcto (con el modo de " "redondeo *round-half-to-even*). Anteriormente, daba una cadena basada en " "redondear x a 17 dígitos decimales." @@ -1094,12 +1097,12 @@ msgid "" "2.7 now approximates more closely. For example, Python 2.6 computed the " "following::" msgstr "" -"Las conversiones de enteros largos y enteros normales a punto flotante ahora " -"redondean de forma diferente, devolviendo el número de punto flotante más " -"cercano al número. Esto no importa para los enteros pequeños que se pueden " -"convertir exactamente, pero para los números grandes que inevitablemente " -"perderán precisión, Python 2.7 ahora se aproxima más de cerca. Por ejemplo, " -"Python 2.6 calculó lo siguiente::" +"Las conversiones de enteros largos y enteros regulares a punto flotante " +"ahora redondean de forma diferente, retornando el número de punto flotante " +"más cercano al número. Esto no importa para los enteros pequeños que se " +"pueden convertir exactamente, pero para los números grandes que " +"inevitablemente perderán precisión, Python 2.7 ahora se aproxima más. Por " +"ejemplo, Python 2.6 calculaba lo siguiente::" #: ../Doc/whatsnew/2.7.rst:773 msgid "" @@ -1118,8 +1121,8 @@ msgid "" "Integer division is also more accurate in its rounding behaviours. (Also " "implemented by Mark Dickinson; :issue:`1811`.)" msgstr "" -"La división de enteros también es más precisa en sus comportamientos de " -"redondeo. (También implementado por Mark Dickinson; :issue:`1811`.)" +"La división de enteros también es más precisa en su comportamiento de " +"redondeo. (También implementado por Mark Dickinson; :issue:`1811`.)" #: ../Doc/whatsnew/2.7.rst:787 msgid "" @@ -1127,9 +1130,10 @@ msgid "" "no longer ever attempt to call a :meth:`__coerce__` method on complex " "objects. (Removed by Meador Inge and Mark Dickinson; :issue:`5211`.)" msgstr "" -"Se ha eliminado la coerción implícita para números complejos; el intérprete " -"ya no intentará llamar a un método :meth:`__coerce__` en objetos complejos. " -"(Eliminado por Meador Inge y Mark Dickinson; :issue:`5211`.)" +"Se ha eliminado la coerción implícita para los números complejos; el " +"intérprete ya no intentará nunca llamar a un método :meth:`__coerce__` en " +"objetos complejos. (Eliminado por Meador Inge y Mark Dickinson; :issue:" +"`5211`.)" #: ../Doc/whatsnew/2.7.rst:791 #, python-format @@ -1138,9 +1142,9 @@ msgid "" "replacement fields. This makes using :meth:`str.format` more closely " "resemble using ``%s`` formatting::" msgstr "" -"El método :meth:`str.format` ahora admite la numeración automática de los " -"campos de reemplazo. Esto hace que el uso de :meth:`str.format` se parezca " -"más al uso del formato ``%s``::" +"El método :meth:`str.format` soporta ahora la numeración automática de los " +"campos de sustitución. Esto hace que el uso de :meth:`str.format` se " +"asemeje más al uso del formateo ``%s``::" #: ../Doc/whatsnew/2.7.rst:800 msgid "" @@ -1152,12 +1156,12 @@ msgid "" "as in the second example above. (Contributed by Eric Smith; :issue:`5237`.)" msgstr "" "La numeración automática toma los campos de izquierda a derecha, por lo que " -"el primer especificador ``{...}`` usará el primer argumento a :meth:`str." -"format`, el siguiente especificador usará el siguiente argumento, y así " -"sucesivamente. No puede mezclar la numeración automática y la numeración " -"explícita -- o numeran todos los campos especificados o ninguno de ellos -- " -"pero puede mezclar la numeración automática y los campos con nombre, como en " -"el segundo ejemplo anterior. (Contribuido por Eric Smith; :issue:`5237`.)" +"el primer especificador ``{...}`` utilizará el primer argumento de :meth:" +"`str.format`, el siguiente especificador utilizará el siguiente argumento, y " +"así sucesivamente. No se puede mezclar la numeración automática con la " +"explícita - o se numeran todos los campos del especificador o ninguno - pero " +"se puede mezclar la numeración automática con los campos con nombre, como en " +"el segundo ejemplo anterior. (Contribución de Eric Smith; :issue:`5237`.)" #: ../Doc/whatsnew/2.7.rst:807 msgid "" @@ -1167,12 +1171,12 @@ msgid "" "width and alignment is applied to the whole of the resulting ``1.5+3j`` " "output. (Contributed by Eric Smith; :issue:`1588` and :issue:`7988`.)" msgstr "" -"Los números complejos ahora admiten correctamente el uso con :func:`format` " -"y, por defecto, están alineados a la derecha. Especificar una precisión o " -"separación de comas se aplica a las partes reales e imaginarias del número, " -"pero un ancho de campo y una alineación especificados se aplica a la " -"totalidad de la salida ''1.5+3j'' resultante. (Contribuido por Eric Smith; :" -"issue:`1588` y :issue:`7988`.)" +"Los números complejos ahora soportan correctamente el uso con :func:" +"`format`, y por defecto están alineados a la derecha. La especificación de " +"una precisión o separación por comas se aplica tanto a la parte real como a " +"la imaginaria del número, pero la anchura de campo y la alineación " +"especificadas se aplican a la totalidad de la salida resultante ``1,5+3j``. " +"(Contribución de Eric Smith; :issue:`1588` y :issue:`7988`)" #: ../Doc/whatsnew/2.7.rst:814 msgid "" @@ -1180,9 +1184,9 @@ msgid "" "characters, so it will now produce 'INF' and 'NAN'. (Contributed by Eric " "Smith; :issue:`3382`.)" msgstr "" -"El código de formato 'F' ahora siempre da formato a su salida utilizando " +"El código de formato 'F' ahora siempre formatea su salida utilizando " "caracteres en mayúsculas, por lo que ahora producirá 'INF' y 'NAN'. " -"(Contribuido por Eric Smith; :issue:`3382`.)" +"(Contribución de Eric Smith; :issue:`3382`.)" #: ../Doc/whatsnew/2.7.rst:818 msgid "" @@ -1210,13 +1214,13 @@ msgid "" "The :func:`int` and :func:`long` types gained a ``bit_length`` method that " "returns the number of bits necessary to represent its argument in binary::" msgstr "" -"Los tipos :func:`int` y :func:`long` obtuvieron un método ``bit_length`` que " -"devuelve el número de bits necesarios para representar su argumento en " +"Los tipos :func:`int` y :func:`long` ganaron un método ``bit_length`` que " +"retorna el número de bits necesarios para representar su argumento en " "binario::" #: ../Doc/whatsnew/2.7.rst:843 msgid "(Contributed by Fredrik Johansson and Victor Stinner; :issue:`3439`.)" -msgstr "(Contribuido por Fredrik Johansson y Victor Stinner; :issue:`3439`.)" +msgstr "(Contribución de Fredrik Johansson y Victor Stinner; :issue:`3439`.)" #: ../Doc/whatsnew/2.7.rst:845 msgid "" @@ -1248,8 +1252,8 @@ msgid "" "`4759`.)" msgstr "" "El método :meth:`~bytearray.translate` del tipo :class:`bytearray` ahora " -"acepta ``None`` como su primer argumento. (Arreglado por Georg Brandl; :" -"issue:`4759`.)" +"acepta ``None`` como primer argumento. (Corregido por Georg Brandl; :issue:" +"`4759`.)" #: ../Doc/whatsnew/2.7.rst:861 msgid "" @@ -1260,8 +1264,8 @@ msgid "" msgstr "" "Cuando se usa ``@classmethod`` y ``@staticmethod`` para envolver métodos " "como clase o métodos estáticos, el objeto decorador ahora expone la función " -"decoradora como su atributo :attr:`__func__`. (Contribuido por Amaury " -"Forgeot d'Arc, después de una sugerencia de George Sakkis; :issue:`5982`.)" +"decorada como su atributo :attr:`__func__`. (Contribuido por Amaury Forgeot " +"d'Arc, después de una sugerencia de George Sakkis; :issue:`5982`.)" #: ../Doc/whatsnew/2.7.rst:867 ../Doc/whatsnew/2.7.rst:2462 msgid "" @@ -1269,10 +1273,10 @@ msgid "" "an unset attribute would not raise :exc:`AttributeError` as you would " "expect. Fixed by Benjamin Peterson; :issue:`7604`.)" msgstr "" -"Cuando se estableció un conjunto restringido de atributos mediante " -"``__slots__``, eliminar un atributo desarmado no llamaría :exc:" +"Cuando se establecía un conjunto restringido de atributos utilizando " +"``__slots__``, la eliminación de un atributo no establecido no lanzaba :exc:" "`AttributeError` como cabría esperar. Corregido por Benjamin Peterson; :" -"issue:`7604`.)" +"issue:`7604`)" #: ../Doc/whatsnew/2.7.rst:871 msgid "" @@ -1281,11 +1285,11 @@ msgid "" "contributed by Alexander Belchenko and Amaury Forgeot d'Arc in :issue:" "`1616979`; CP858 contributed by Tim Hatch in :issue:`8016`.)" msgstr "" -"Ahora se admiten dos nuevas codificaciones: \"cp720\", que se utiliza " -"principalmente para texto árabe; y \"cp858\", una variante de CP 850 que " +"Ahora se admiten dos nuevas codificaciones: \"cp720\", utilizada " +"principalmente para el texto árabe; y \"cp858\", una variante de CP 850 que " "añade el símbolo del euro. (CP720 contribuido por Alexander Belchenko y " "Amaury Forgeot d'Arc en :issue:`1616979`; CP858 contribuido por Tim Hatch " -"en :issue:`8016`.)" +"en :issue:`8016`)" #: ../Doc/whatsnew/2.7.rst:877 msgid "" @@ -1296,11 +1300,11 @@ msgid "" "to catch and report the error (fixed by Stefan Krah; :issue:`5677`)." msgstr "" "El objeto :class:`file` ahora establecerá el atributo :attr:`filename` en la " -"excepción :exc:`IOError` al intentar abrir un directorio en plataformas " -"POSIX (señalada por Jan Kaliszewski; :issue:`4764`), y ahora comprueba " -"explícitamente y prohíbe escribir en objetos de archivo de solo lectura en " -"lugar de confiar en la biblioteca C para detectar e informar del error " -"(arreglado por Stefan Krah; :issue:`5677`)." +"excepción :exc:`IOError` cuando se intente abrir un directorio en " +"plataformas POSIX (anotado por Jan Kaliszewski; :issue:`4764`), y ahora " +"comprueba explícitamente y prohíbe la escritura en objetos de archivo de " +"sólo lectura en lugar de confiar en que la biblioteca C detecte e informe " +"del error (corregido por Stefan Krah; :issue:`5677`)." #: ../Doc/whatsnew/2.7.rst:884 msgid "" @@ -1309,10 +1313,10 @@ msgid "" "convention. Additionally, it no longer requires that the code end in a " "newline." msgstr "" -"El tokenizador de Python ahora traduce las terminaciones de línea por sí " -"mismo, por lo que la función integrada :func:`compile` ahora acepta código " -"mediante cualquier convención de fin de línea. Además, ya no requiere que " -"el código finalice en una nueva línea." +"El tokenizador de Python ahora traduce los finales de línea por sí mismo, " +"por lo que la función incorporada :func:`compile` ahora acepta código que " +"utilice cualquier convención de final de línea. Además, ya no requiere que " +"el código termine en una nueva línea." #: ../Doc/whatsnew/2.7.rst:889 msgid "" @@ -1370,10 +1374,10 @@ msgid "" "exact syntax for setting an environment variable varies across operating " "systems and shells.)" msgstr "" -"Por ejemplo, la siguiente configuración imprimirá advertencias cada vez que " -"se produzcan, pero convertirá las advertencias del módulo :mod:`Cookie` en " -"un error. (La sintaxis exacta para establecer una variable de entorno varía " -"entre sistemas operativos y vaciados.)" +"Por ejemplo, la siguiente configuración imprimirá las advertencias cada vez " +"que se produzcan, pero convertirá las advertencias del módulo :mod:`Cookie` " +"en un error. (La sintaxis exacta para establecer una variable de entorno " +"varía según los sistemas operativos y los shells)" #: ../Doc/whatsnew/2.7.rst:928 msgid "Optimizations" @@ -1406,16 +1410,15 @@ msgid "" "objects in the oldest generation. (Suggested by Martin von Löwis and " "implemented by Antoine Pitrou; :issue:`4074`.)" msgstr "" -"El recolector de elementos no utilizados ahora funciona mejor para un patrón " -"de uso común: cuando se asignan muchos objetos sin desasignar ninguno de " -"ellos. Esto anteriormente tomaría tiempo cuadrático para la recolección de " -"elementos no utilizados, pero ahora el número de colecciones de elementos no " -"utilizados completas se reduce a medida que crece el número de objetos en el " -"montón. La nueva lógica solo realiza un paso completo de recolección de " -"elementos no utilizados cuando la generación media se ha recopilado 10 veces " -"y cuando el número de objetos supervivientes de la generación media supera " -"el 10% del número de objetos de la generación más antigua. (Sugerido por " -"Martin von Löwis e implementado por Antoine Pitrou; :issue:`4074`.)" +"El recolector de basura ahora funciona mejor para un patrón de uso común: " +"cuando se asignan muchos objetos sin desasignar ninguno de ellos. Antes, la " +"recogida de basura tardaba un tiempo cuadrático, pero ahora el número de " +"recogidas de basura completas se reduce a medida que crece el número de " +"objetos en el montón. La nueva lógica sólo realiza una pasada completa de " +"recogida de basura cuando la generación intermedia ha sido recogida 10 veces " +"y cuando el número de objetos supervivientes de la generación intermedia " +"supera el 10% del número de objetos de la generación más antigua. (Sugerido " +"por Martin von Löwis e implementado por Antoine Pitrou; :issue:`4074`.)" #: ../Doc/whatsnew/2.7.rst:947 msgid "" @@ -1427,6 +1430,13 @@ msgid "" "be considered and traversed by the collector. (Contributed by Antoine " "Pitrou; :issue:`4688`.)" msgstr "" +"El recolector de basura intenta evitar el seguimiento de contenedores " +"simples que no pueden formar parte de un ciclo. En Python 2.7, esto es ahora " +"cierto para tuplas y diccionarios que contienen tipos atómicos (como " +"enteros, cadenas, etc.). Transitoriamente, un dict que contenga tuplas de " +"tipos atómicos tampoco será rastreado. Esto ayuda a reducir el coste de cada " +"recogida de basura al disminuir el número de objetos que debe considerar y " +"recorrer el recolector. (Contribución de Antoine Pitrou; :issue:`4688`.)" #: ../Doc/whatsnew/2.7.rst:956 msgid "" @@ -1439,6 +1449,15 @@ msgid "" "new configure option :option:`!--enable-big-digits` that can be used to " "override this default." msgstr "" +"Los enteros largos se almacenan ahora internamente en base 2**15 o en base " +"2**30, determinándose la base en el momento de la construcción. " +"Anteriormente, siempre se almacenaban en base 2**15. El uso de la base " +"2**30 proporciona mejoras significativas en el rendimiento de las máquinas " +"de 64 bits, pero los resultados de las pruebas comparativas en las máquinas " +"de 32 bits han sido contradictorios. Por lo tanto, el valor por defecto es " +"utilizar la base 2**30 en máquinas de 64 bits y la base 2**15 en máquinas de " +"32 bits; en Unix, hay una nueva opción de configuración :option:`!--enable-" +"big-digits` que puede utilizarse para anular este valor por defecto." #: ../Doc/whatsnew/2.7.rst:965 msgid "" @@ -1448,10 +1467,15 @@ msgid "" "internal format, giving the number of bits per digit and the size in bytes " "of the C type used to store each digit::" msgstr "" +"Aparte de las mejoras de rendimiento, este cambio debería ser invisible para " +"los usuarios finales, con una excepción: para fines de prueba y depuración " +"hay un nuevo structseq :data:`sys.long_info` que proporciona información " +"sobre el formato interno, dando el número de bits por dígito y el tamaño en " +"bytes del tipo C utilizado para almacenar cada dígito::" #: ../Doc/whatsnew/2.7.rst:976 msgid "(Contributed by Mark Dickinson; :issue:`4258`.)" -msgstr "" +msgstr "(Contribución de Mark Dickinson; :issue:`4258`.)" #: ../Doc/whatsnew/2.7.rst:978 msgid "" @@ -1459,6 +1483,9 @@ msgid "" "smaller on 32-bit systems and 6 bytes on 64-bit. (Contributed by Mark " "Dickinson; :issue:`5260`.)" msgstr "" +"Otro conjunto de cambios hizo que los objetos largos fueran unos pocos bytes " +"más pequeños: 2 bytes menos en sistemas de 32 bits y 6 bytes en los de 64 " +"bits. (Contribución de Mark Dickinson; :issue:`5260`.)" #: ../Doc/whatsnew/2.7.rst:982 #, python-format @@ -1470,6 +1497,14 @@ msgid "" "Mark Dickinson; :issue:`5512`.) Bitwise operations are also significantly " "faster (initial patch by Gregory Smith; :issue:`1087418`)." msgstr "" +"El algoritmo de división de enteros largos se ha hecho más rápido ajustando " +"el bucle interno, haciendo desplazamientos en lugar de multiplicaciones, y " +"arreglando una iteración extra innecesaria. Varias pruebas de referencia " +"muestran un aumento de velocidad de entre el 50% a y el 150% en las " +"divisiones de enteros largos y en las operaciones de módulo. (Contribución " +"de Mark Dickinson; :issue:`5512`). Las operaciones a nivel de bit también " +"son significativamente más rápidas (parche inicial de Gregory Smith; :issue:" +"`1087418`)." #: ../Doc/whatsnew/2.7.rst:991 msgid "" @@ -1478,6 +1513,11 @@ msgid "" "for applications that frequently use ``%`` with strings, such as templating " "libraries. (Implemented by Collin Winter; :issue:`5176`.)" msgstr "" +"La implementación de ``%`` comprueba si el operando de la izquierda es una " +"cadena de Python y lo convierte en un caso especial; esto resulta en un " +"aumento de rendimiento del 1--3% p para aplicaciones que utilizan " +"frecuentemente ``%`` con cadenas, como las bibliotecas de plantillas. " +"(Implementado por Collin Winter; :issue:`5176`.)" #: ../Doc/whatsnew/2.7.rst:997 msgid "" @@ -1485,6 +1525,9 @@ msgid "" "bytecode. (Patch by Antoine Pitrou, back-ported to 2.7 by Jeffrey Yasskin; :" "issue:`4715`.)" msgstr "" +"Las comprensiones de listas con una condición ``if`` se compilan en código " +"de bytes más rápido. (Parche de Antoine Pitrou, portado a la 2.7 por " +"Jeffrey Yasskin; :issue:`4715`)" #: ../Doc/whatsnew/2.7.rst:1001 msgid "" @@ -1492,6 +1535,10 @@ msgid "" "special-casing base 10 instead of using a generalized conversion function " "that supports arbitrary bases. (Patch by Gawain Bolton; :issue:`6713`.)" msgstr "" +"La conversión de un entero o un entero largo a una cadena decimal se ha " +"hecho más rápida mediante la conversión en base 10 en lugar de utilizar una " +"función de conversión generalizada que soporta bases arbitrarias. (Parche de " +"Gawain Bolton; :issue:`6713`.)" #: ../Doc/whatsnew/2.7.rst:1006 msgid "" @@ -1501,6 +1548,12 @@ msgid "" "of a character-by-character scan. This is sometimes faster by a factor of " "10. (Added by Florent Xicluna; :issue:`7462` and :issue:`7622`.)" msgstr "" +"Los métodos :meth:`split`, :meth:`replace`, :meth:`rindex`, :meth:" +"`rpartition` y :meth:`rsplit` de los tipos tipo cadena (cadenas, cadenas " +"Unicode y objetos :class:`bytearray`) utilizan ahora un algoritmo rápido de " +"búsqueda inversa en lugar de un escaneo carácter por carácter. Esto es a " +"veces más rápido por un factor de 10. (Añadido por Florent Xicluna; :issue:" +"`7462` y :issue:`7622`)" #: ../Doc/whatsnew/2.7.rst:1013 msgid "" @@ -1508,16 +1561,23 @@ msgid "" "strings used for attribute names, reducing memory usage of the objects " "resulting from unpickling. (Contributed by Jake McGuire; :issue:`5084`.)" msgstr "" +"Los módulos :mod:`pickle` y :mod:`cPickle` ahora internan automáticamente " +"las cadenas usadas para los nombres de los atributos, reduciendo el uso de " +"memoria de los objetos resultantes del desempaquetamiento. (Contribución de " +"Jake McGuire; :issue:`5084`.)" #: ../Doc/whatsnew/2.7.rst:1018 msgid "" "The :mod:`cPickle` module now special-cases dictionaries, nearly halving the " "time required to pickle them. (Contributed by Collin Winter; :issue:`5670`.)" msgstr "" +"El módulo :mod:`cPickle` ahora hace especial hincapié en los diccionarios, " +"reduciendo casi a la mitad el tiempo necesario para hacerlos. (Contribución " +"de Collin Winter; :issue:`5670`.)" #: ../Doc/whatsnew/2.7.rst:1025 msgid "New and Improved Modules" -msgstr "" +msgstr "Módulos nuevos y mejorados" #: ../Doc/whatsnew/2.7.rst:1027 msgid "" @@ -1527,6 +1587,12 @@ msgid "" "file in the source tree for a more complete list of changes, or look through " "the Subversion logs for all the details." msgstr "" +"Como en cada versión, la biblioteca estándar de Python ha recibido una serie " +"de mejoras y correcciones de errores. Aquí hay una lista parcial de los " +"cambios más notables, ordenados alfabéticamente por nombre de módulo. " +"Consulta el archivo :file:`Misc/NEWS` en el árbol de código fuente para una " +"lista más completa de cambios, o mira los registros de Subversion para todos " +"los detalles." #: ../Doc/whatsnew/2.7.rst:1033 msgid "" @@ -1537,6 +1603,12 @@ msgid "" "(Contributed by Maru Newby after a suggestion by Senthil Kumaran; :issue:" "`5142`.)" msgstr "" +"La clase base de depuración del módulo :mod:`bdb` :class:`~bdb.Bdb` obtuvo " +"una función para omitir módulos. El constructor ahora toma un iterable que " +"contiene patrones de estilo glob como ``django.*``; el depurador no entrará " +"en los marcos de pila de un módulo que coincida con uno de estos patrones. " +"(Aportado por Maru Newby tras una sugerencia de Senthil Kumaran; :issue:" +"`5142`.)" #: ../Doc/whatsnew/2.7.rst:1041 msgid "" @@ -1544,6 +1616,9 @@ msgid "" "with :class:`memoryview` instances and other similar buffer objects. " "(Backported from 3.x by Florent Xicluna; :issue:`7703`.)" msgstr "" +"El módulo :mod:`binascii` soporta ahora la API del buffer, por lo que puede " +"utilizarse con instancias de :class:`memoryview` y otros objetos de buffer " +"similares. (Tomado de la 3.x por Florent Xicluna; :issue:`7703`.)" #: ../Doc/whatsnew/2.7.rst:1045 msgid "" @@ -1554,6 +1629,13 @@ msgid "" "(Updated by Jesús Cea Avión; :issue:`8156`. The pybsddb changelog can be " "read at http://hg.jcea.es/pybsddb/file/tip/ChangeLog.)" msgstr "" +"Módulo actualizado: el módulo :mod:`bsddb` ha sido actualizado de la versión " +"4.7.2devel9 a la versión 4.8.4 del `paquete pybsddb `__. La nueva versión presenta una mejor " +"compatibilidad con Python 3.x, varias correcciones de errores y añade varias " +"banderas y métodos nuevos de BerkeleyDB. (Actualizado por Jesús Cea Avión; :" +"issue:`8156`. El registro de cambios de pybsddb puede leerse en http://hg." +"jcea.es/pybsddb/file/tip/ChangeLog.)" #: ../Doc/whatsnew/2.7.rst:1053 msgid "" @@ -1561,6 +1643,9 @@ msgid "" "management protocol, so you can write ``with bz2.BZ2File(...) as f:``. " "(Contributed by Hagen Fürstenau; :issue:`3860`.)" msgstr "" +"El módulo :mod:`bz2` de :class:`~bz2.BZ2File` ahora soporta el protocolo de " +"gestión de contexto, por lo que se puede escribir ``con bz2.BZ2File(...) " +"como f:``. (Contribución de Hagen Fürstenau; :issue:`3860`.)" #: ../Doc/whatsnew/2.7.rst:1057 msgid "" @@ -1569,6 +1654,10 @@ msgid "" "behave mostly like dictionaries but return zero for missing keys instead of " "raising a :exc:`KeyError`:" msgstr "" +"Nueva clase: la clase :class:`~collections.Counter` del módulo :mod:" +"`collections` es útil para el recuento de datos. Las instancias de :class:" +"`~collections.Counter` se comportan mayoritariamente como los diccionarios, " +"pero retornan cero si faltan claves en lugar de lanzar un :exc:`KeyError`:" #: ../Doc/whatsnew/2.7.rst:1079 msgid "" @@ -1580,16 +1669,25 @@ msgid "" "one for each element instead of adding; if the argument is a dictionary or " "another :class:`Counter`, the counts are subtracted. ::" msgstr "" +"Hay tres métodos adicionales de :class:`~collections.Counter`. :meth:" +"`~collections.Counter.most_common` retorna los N elementos más comunes y sus " +"recuentos. :meth:`~collections.Counter.elements` retorna un iterador sobre " +"los elementos contenidos, repitiendo cada elemento tantas veces como su " +"recuento. :meth:`~collections.Counter.subtract` toma un iterable y resta uno " +"por cada elemento en lugar de sumarlo; si el argumento es un diccionario u " +"otra :class:`Counter`, los recuentos se restan. ::" #: ../Doc/whatsnew/2.7.rst:1102 msgid "Contributed by Raymond Hettinger; :issue:`1696199`." -msgstr "" +msgstr "Contribución de Raymond Hettinger; :issue:`1696199`." #: ../Doc/whatsnew/2.7.rst:1106 msgid "" "New class: :class:`~collections.OrderedDict` is described in the earlier " "section :ref:`pep-0372`." msgstr "" +"Nueva clase: :class:`~collections.OrderedDict` se describe en la sección " +"anterior :ref:`pep-0372`." #: ../Doc/whatsnew/2.7.rst:1109 msgid "" @@ -1601,6 +1699,13 @@ msgid "" "`~collections.deque.maxlen` attribute. (Both features added by Raymond " "Hettinger.)" msgstr "" +"Nuevo método: El tipo de datos :class:`~collections.deque` tiene ahora un " +"método :meth:`~collections.deque.count` que retorna el número de elementos " +"contenidos igual al argumento suministrado *x*, y un método :meth:" +"`~collections.deque.reverse` que invierte los elementos del deque en su " +"lugar. :class:`~collections.deque` también expone su longitud máxima como el " +"atributo de sólo lectura :attr:`~collections.deque.maxlen`. (Ambas " +"características han sido añadidas por Raymond Hettinger)" #: ../Doc/whatsnew/2.7.rst:1117 msgid "" @@ -1609,10 +1714,15 @@ msgid "" "been repeated or aren't legal Python identifiers will be renamed to legal " "names that are derived from the field's position within the list of fields:" msgstr "" +"La clase :class:`~collections.namedtuple` tiene ahora un parámetro opcional " +"*rename*. Si *rename* es verdadero, los nombres de campo que no son válidos " +"porque se han repetido o no son identificadores legales de Python serán " +"renombrados a nombres legales que se derivan de la posición del campo dentro " +"de la lista de campos:" #: ../Doc/whatsnew/2.7.rst:1128 msgid "(Added by Raymond Hettinger; :issue:`1818`.)" -msgstr "" +msgstr "(Añadido por Raymond Hettinger; :issue:`1818`.)" #: ../Doc/whatsnew/2.7.rst:1130 msgid "" @@ -1620,6 +1730,9 @@ msgid "" "const:`NotImplemented` if a mapping is compared to another type that isn't " "a :class:`Mapping`. (Fixed by Daniel Stutzbach; :issue:`8729`.)" msgstr "" +"Por último, la clase base abstracta :class:`~collections.Mapping` ahora " +"retorna :const:`NotImplemented` si un mapeo se compara con otro tipo que no " +"es un :class:`Mapping`. (Corregido por Daniel Stutzbach; :issue:`8729`.)" #: ../Doc/whatsnew/2.7.rst:1135 msgid "" @@ -1627,10 +1740,13 @@ msgid "" "take an *allow_no_value* parameter, defaulting to false; if true, options " "without values will be allowed. For example::" msgstr "" +"Los constructores de las clases de análisis en el módulo :mod:`ConfigParser` " +"toman ahora un parámetro *allow_no_value*, por defecto falso; si es " +"verdadero, se permitirán las opciones sin valores. Por ejemplo::" #: ../Doc/whatsnew/2.7.rst:1157 msgid "(Contributed by Mats Kindahl; :issue:`7005`.)" -msgstr "" +msgstr "(Contribución de Mats Kindahl; :issue:`7005`.)" #: ../Doc/whatsnew/2.7.rst:1159 msgid "" @@ -1639,6 +1755,10 @@ msgid "" "deprecated, because the :keyword:`!with` statement now supports multiple " "context managers." msgstr "" +"Función obsoleta: :func:`contextlib.nested`, que permite manejar más de un " +"gestor de contexto con una sola expresión :keyword:`with`, ha sido " +"deprecada, porque la expresión :keyword:`!with` soporta ahora múltiples " +"gestores de contexto." #: ../Doc/whatsnew/2.7.rst:1164 msgid "" @@ -1646,12 +1766,18 @@ msgid "" "field, one that doesn't contain an integer value. (Fixed by John J. Lee; :" "issue:`3924`.)" msgstr "" +"El módulo :mod:`cookielib` ahora ignora las cookies que tienen un campo de " +"versión no válido, uno que no contiene un valor entero. (Corregido por John " +"J. Lee; :issue:`3924`.)" #: ../Doc/whatsnew/2.7.rst:1168 msgid "" "The :mod:`copy` module's :func:`~copy.deepcopy` function will now correctly " "copy bound instance methods. (Implemented by Robert Collins; :issue:`1515`.)" msgstr "" +"La función :func:`~copy.deepcopy` del módulo :mod:`copy` ahora copiará " +"correctamente los métodos de instancia vinculados. (Implementado por Robert " +"Collins; :issue:`1515`.)" #: ../Doc/whatsnew/2.7.rst:1172 msgid "" @@ -1661,6 +1787,12 @@ msgid "" "libffi/>`__ has been updated to version 3.0.9, containing various fixes for " "different platforms. (Updated by Matthias Klose; :issue:`8142`.)" msgstr "" +"El módulo :mod:`ctypes` ahora convierte siempre ``None`` a un puntero C " +"``NULL`` para los argumentos declarados como punteros. (Cambiado por Thomas " +"Heller; :issue:`4606`.) La biblioteca subyacente `libffi `__ ha sido actualizada a la versión 3.0.9, que contiene varias " +"correcciones para diferentes plataformas. (Actualizado por Matthias Klose; :" +"issue:`8142`.)" #: ../Doc/whatsnew/2.7.rst:1179 msgid "" @@ -1669,6 +1801,10 @@ msgid "" "number of seconds in the duration. (Contributed by Brian Quinlan; :issue:" "`5788`.)" msgstr "" +"Nuevo método: la clase :class:`~datetime.timedelta` del módulo :mod:" +"`datetime` ha ganado un método :meth:`~datetime.timedelta.total_seconds` que " +"retorna el número de segundos de la duración. (Contribución de Brian " +"Quinlan; :issue:`5788`.)" #: ../Doc/whatsnew/2.7.rst:1183 msgid "" @@ -1682,6 +1818,15 @@ msgid "" "``Decimal('0.1000000000000000055511151231257827021181583404541015625')``. " "(Implemented by Raymond Hettinger; :issue:`4796`.)" msgstr "" +"Nuevo método: la clase :class:`~decimal.Decimal` ganó un método de clase :" +"meth:`~decimal.Decimal.from_float` que realiza una conversión exacta de un " +"número de punto flotante a un :class:`~decimal.Decimal`. Esta conversión " +"exacta busca la aproximación decimal más cercana al valor de la " +"representación de punto flotante; el valor decimal resultante incluirá, por " +"tanto, la inexactitud, si la hubiera. Por ejemplo, ``Decimal." +"from_float(0.1)`` retorna " +"``Decimal('0.1000000000000000055511151231257827021181583404541015625')``. " +"(Implementado por Raymond Hettinger; :issue:`4796`.)" #: ../Doc/whatsnew/2.7.rst:1194 msgid "" @@ -1694,6 +1839,14 @@ msgid "" "how to convert between float and :class:`~decimal.Decimal`. (Fixed by Mark " "Dickinson; :issue:`2531`.)" msgstr "" +"La comparación de instancias de :class:`~decimal.Decimal` con números de " +"punto flotante produce ahora resultados sensibles basados en los valores " +"numéricos de los operandos. Anteriormente, estas comparaciones volvían a " +"las reglas por defecto de Python para comparar objetos, que producían " +"resultados arbitrarios basados en su tipo. Tenga en cuenta que todavía no " +"puede combinar :class:`Decimal` y punto flotante en otras operaciones como " +"la suma, ya que debe elegir explícitamente cómo convertir entre float y :" +"class:`~decimal.Decimal`. (Corregido por Mark Dickinson; :issue:`2531`.)" #: ../Doc/whatsnew/2.7.rst:1203 msgid "" @@ -1702,6 +1855,10 @@ msgid "" "characters such as Arabic-Indic digits (contributed by Mark Dickinson; :" "issue:`6595`)." msgstr "" +"El constructor de :class:`~decimal.Decimal` acepta ahora números en coma " +"flotante (añadido por Raymond Hettinger; :issue:`8257`) y caracteres Unicode " +"no europeos, como los dígitos arábigos-índicos (contribución de Mark " +"Dickinson; :issue:`6595`)." #: ../Doc/whatsnew/2.7.rst:1208 msgid "" @@ -1710,6 +1867,10 @@ msgid "" "are the :meth:`~decimal.Context.canonical` and :meth:`~decimal.Context." "is_canonical` methods. (Patch by Juan José Conti; :issue:`7633`.)" msgstr "" +"La mayoría de los métodos de la clase :class:`~decimal.Context` ahora " +"aceptan enteros así como instancias de :class:`~decimal.Decimal`; las únicas " +"excepciones son los métodos :meth:`~decimal.Context.canonical` y :meth:" +"`~decimal.Context.is_canonical`. (Parche de Juan José Conti; :issue:`7633`.)" #: ../Doc/whatsnew/2.7.rst:1213 msgid "" @@ -1718,6 +1879,10 @@ msgid "" "has been changed to right-alignment, which is more sensible for numeric " "types. (Changed by Mark Dickinson; :issue:`6857`.)" msgstr "" +"Cuando se utilizan instancias :class:`~decimal.Decimal` con el método :meth:" +"`~str.format` de una cadena, la alineación por defecto era antes la " +"izquierda. Esto se ha cambiado a la alineación derecha, que es más sensible " +"para los tipos numéricos. (Cambiado por Mark Dickinson; :issue:`6857`.)" #: ../Doc/whatsnew/2.7.rst:1218 msgid "" @@ -1726,6 +1891,11 @@ msgid "" "depending on the comparison operator. Quiet NaN values (or ``NaN``) are now " "hashable. (Fixed by Mark Dickinson; :issue:`7279`.)" msgstr "" +"Las comparaciones que implican un valor NaN de señalización (o ``sNAN``) " +"señalan ahora :const:`InvalidOperation` en lugar de retornar silenciosamente " +"un valor verdadero o falso dependiendo del operador de comparación. Los " +"valores NaN silenciosos (o ``NaN``) son ahora hashable. (Corregido por Mark " +"Dickinson; :issue:`7279`.)" #: ../Doc/whatsnew/2.7.rst:1224 msgid "" @@ -1734,6 +1904,11 @@ msgid "" "using a tab character instead of spaces as a separator in the header giving " "the filename. (Fixed by Anatoly Techtonik; :issue:`7585`.)" msgstr "" +"El módulo :mod:`difflib` produce ahora una salida más compatible con las " +"herramientas modernas :command:`diff`/:command:`patch` mediante un pequeño " +"cambio, utilizando un carácter de tabulación en lugar de espacios como " +"separador en la cabecera que da el nombre del fichero. (Corregido por " +"Anatoly Techtonik; :issue:`7585`.)" #: ../Doc/whatsnew/2.7.rst:1230 msgid "" @@ -1742,6 +1917,11 @@ msgid "" "haven't been modified, the user might have created some new files that " "should be included. (Fixed by Tarek Ziadé; :issue:`8688`.)" msgstr "" +"El comando Distutils ``sdist`` ahora siempre regenera el archivo :file:" +"`MANIFEST`, ya que aunque los archivos :file:`MANIFEST.in` o :file:`setup." +"py` no hayan sido modificados, el usuario podría haber creado algunos " +"archivos nuevos que deberían ser incluidos. (Corregido por Tarek Ziadé; :" +"issue:`8688`.)" #: ../Doc/whatsnew/2.7.rst:1236 msgid "" @@ -1749,6 +1929,9 @@ msgid "" "ignore the name of the module containing the exception being tested. (Patch " "by Lennart Regebro; :issue:`7490`.)" msgstr "" +"La bandera :const:`IGNORE_EXCEPTION_DETAIL` del módulo :mod:`doctest` ahora " +"ignorará el nombre del módulo que contiene la excepción que se está " +"probando. (Parche de Lennart Regebro; :issue:`7490`.)" #: ../Doc/whatsnew/2.7.rst:1240 msgid "" @@ -1757,6 +1940,10 @@ msgid "" "encoding specified by :attr:`output_charset`. (Added by R. David Murray; :" "issue:`1368247`.)" msgstr "" +"La clase :mod:`email` del módulo :class:`~email.message.Message` aceptará " +"ahora una carga útil con valor Unicode, convirtiendo automáticamente la " +"carga útil a la codificación especificada por :attr:`output_charset`. " +"(Añadido por R. David Murray; :issue:`1368247`.)" #: ../Doc/whatsnew/2.7.rst:1245 msgid "" @@ -1765,6 +1952,10 @@ msgid "" "constructor. (Implemented by Mark Dickinson; rationals added in :issue:" "`5812`, and float/decimal in :issue:`8294`.)" msgstr "" +"La clase :class:`~fractions.Fraction` acepta ahora una instancia de float o :" +"class:`~decimal.Decimal`, o dos números racionales, como argumentos para su " +"constructor. (Implementado por Mark Dickinson; los racionales se añadieron " +"en :issue:`5812`, y float/decimal en :issue:`8294`)" #: ../Doc/whatsnew/2.7.rst:1251 msgid "" @@ -1772,6 +1963,10 @@ msgid "" "complex numbers now raise a :exc:`TypeError`. This fixes an oversight, " "making the :class:`~fractions.Fraction` match the other numeric types." msgstr "" +"Las comparaciones de ordenación (``<``, ``<=``, ``>``, ``>=``) entre " +"fracciones y números complejos ahora lanzan un :exc:`TypeError`. Esto " +"corrige un descuido, haciendo que la :class:`~fractions.Fraction` coincida " +"con los otros tipos numéricos." #: ../Doc/whatsnew/2.7.rst:1258 msgid "" @@ -1780,6 +1975,10 @@ msgid "" "subsequent control and data transfers. (Contributed by Giampaolo Rodola; :" "issue:`2054`.)" msgstr "" +"Nueva clase: :class:`~ftplib.FTP_TLS` en el módulo :mod:`ftplib` proporciona " +"conexiones FTP seguras utilizando la encapsulación TLS de la autenticación, " +"así como las posteriores transferencias de control y datos. (Contribuido por " +"Giampaolo Rodola; :issue:`2054`.)" #: ../Doc/whatsnew/2.7.rst:1264 msgid "" @@ -1787,6 +1986,9 @@ msgid "" "uploads thanks to an added *rest* parameter (patch by Pablo Mouzo; :issue:" "`6845`.)" msgstr "" +"El método :meth:`~ftplib.FTP.storbinary` para subidas binarias puede ahora " +"reiniciar las subidas gracias a un parámetro *rest* añadido (parche de Pablo " +"Mouzo; :issue:`6845`)" #: ../Doc/whatsnew/2.7.rst:1268 msgid "" @@ -1797,6 +1999,13 @@ msgid "" "method is being deprecated in Python 3.x, this decorator makes it easier to " "define ordered classes. (Added by Raymond Hettinger; :issue:`5479`.)" msgstr "" +"Nuevo decorador de clases: :func:`~functools.total_ordering` en el módulo :" +"mod:`functools` toma una clase que define un método :meth:`__eq__` y uno de " +"los métodos :meth:`__lt__`, :meth:`__le__`, :meth:`__gt__`, o :meth:" +"`__ge__`, y genera los métodos de comparación que faltan. Dado que el " +"método :meth:`__cmp__` queda obsoleto en Python 3.x, este decorador facilita " +"la definición de clases ordenadas. (Añadido por Raymond Hettinger; :issue:" +"`5479`.)" #: ../Doc/whatsnew/2.7.rst:1276 msgid "" @@ -1807,6 +2016,12 @@ msgid "" "help with making code compatible with Python 3.x. (Added by Raymond " "Hettinger.)" msgstr "" +"Nueva función: :func:`~functools.cmp_to_key` tomará una función de " +"comparación de estilo antiguo que espera dos argumentos y retornará una " +"nueva llamada que puede usarse como parámetro *clave* para funciones como :" +"func:`sorted`, :func:`min` y :func:`max`, etc. El principal uso previsto es " +"ayudar a hacer el código compatible con Python 3.x. (Añadido por Raymond " +"Hettinger.)" #: ../Doc/whatsnew/2.7.rst:1283 msgid "" @@ -1814,6 +2029,9 @@ msgid "" "a given instance is tracked by the garbage collector, false otherwise. " "(Contributed by Antoine Pitrou; :issue:`4688`.)" msgstr "" +"Nueva función: la :func:`gc` del módulo :mod:`~gc.is_tracked` retorna true " +"si una instancia dada es rastreada por el recolector de basura, false en " +"caso contrario. (Contribución de Antoine Pitrou; :issue:`4688`.)" #: ../Doc/whatsnew/2.7.rst:1287 msgid "" @@ -1826,6 +2044,15 @@ msgid "" "in a gzipped file by providing an optional timestamp to the constructor. " "(Contributed by Jacques Frechet; :issue:`4272`.)" msgstr "" +"El módulo :mod:`gzip` :class:`~gzip.GzipFile` soporta ahora el protocolo de " +"gestión de contexto, por lo que se puede escribir ``con gzip.GzipFile(...) " +"como f:`` (contribución de Hagen Fürstenau; :issue:`3860`), y ahora " +"implementa el ABC de :class:`io.BufferedIOBase`, por lo que se puede " +"envolver con :class:`io.BufferedReader` para un procesamiento más rápido " +"(contribución de Nir Aides; :issue:`7471`). Ahora también es posible anular " +"la hora de modificación registrada en un archivo gzipped proporcionando una " +"marca de tiempo opcional al constructor. (Contribución de Jacques Frechet; :" +"issue:`4272`.)" #: ../Doc/whatsnew/2.7.rst:1297 msgid "" @@ -1833,6 +2060,9 @@ msgid "" "module will now consume these trailing bytes. (Fixed by Tadek Pietraszek " "and Brian Curtin; :issue:`2846`.)" msgstr "" +"Los archivos en formato gzip pueden ser rellenados con bytes cero al final; " +"el módulo :mod:`gzip` ahora consumirá estos bytes al final. (Corregido por " +"Tadek Pietraszek y Brian Curtin; :issue:`2846`)" #: ../Doc/whatsnew/2.7.rst:1301 msgid "" @@ -1841,6 +2071,11 @@ msgid "" "Python 2.7, ``hashlib.algorithms`` contains ``('md5', 'sha1', 'sha224', " "'sha256', 'sha384', 'sha512')``. (Contributed by Carl Chenet; :issue:`7418`.)" msgstr "" +"Nuevo atributo: el módulo :mod:`hashlib` tiene ahora un atributo :attr:" +"`~hashlib.hashlib.algorithms` que contiene una tupla que nombra los " +"algoritmos soportados. En Python 2.7, ``hashlib.algorithms`` contiene " +"``('md5', 'sha1', 'sha224', 'sha256', 'sha384', 'sha512')``. (Contribución " +"de Carl Chenet; :issue:`7418`.)" #: ../Doc/whatsnew/2.7.rst:1307 msgid "" @@ -1848,6 +2083,10 @@ msgid "" "module now supports buffering, resulting in much faster reading of HTTP " "responses. (Contributed by Kristján Valur Jónsson; :issue:`4879`.)" msgstr "" +"La clase :class:`~httplib.HTTPResponse` por defecto utilizada por el módulo :" +"mod:`httplib` ahora soporta el almacenamiento en búfer, lo que resulta en " +"una lectura mucho más rápida de las respuestas HTTP. (Contribuido por " +"Kristján Valur Jónsson; :issue:`4879`.)" #: ../Doc/whatsnew/2.7.rst:1311 msgid "" @@ -1856,6 +2095,10 @@ msgid "" "giving the source address that will be used for the connection. (Contributed " "by Eldon Ziegler; :issue:`3972`.)" msgstr "" +"Las clases :class:`~httplib.HTTPConnection` y :class:`~httplib." +"HTTPSConnection` soportan ahora un parámetro *dirección_de_origen*, una 2-" +"tupla ``(host, port)`` que da la dirección de origen que se utilizará para " +"la conexión. (Contribuido por Eldon Ziegler; :issue:`3972`.)" #: ../Doc/whatsnew/2.7.rst:1316 msgid "" @@ -1864,12 +2107,18 @@ msgid "" "`imputil` module added in Python 2.0. (Relative import support added by Neil " "Schemenauer.)" msgstr "" +"El módulo :mod:`ihooks` ahora soporta importaciones relativas. Tenga en " +"cuenta que :mod:`ihooks` es un módulo más antiguo para personalizar las " +"importaciones, sustituido por el módulo :mod:`imputil` añadido en Python " +"2.0. (El soporte de importaciones relativas fue añadido por Neil Schemenauer)" #: ../Doc/whatsnew/2.7.rst:1323 msgid "" "The :mod:`imaplib` module now supports IPv6 addresses. (Contributed by Derek " "Morr; :issue:`1655`.)" msgstr "" +"El módulo :mod:`imaplib` ahora soporta direcciones IPv6. (Contribución de " +"Derek Morr; :issue:`1655`.)" #: ../Doc/whatsnew/2.7.rst:1326 msgid "" @@ -1878,10 +2127,15 @@ msgid "" "of the callable's parameters will receive each argument, returning a " "dictionary mapping argument names to their values. For example::" msgstr "" +"Nueva función: la :func:`~inspect.getcallargs` del módulo :mod:`inspect` " +"toma una llamada y sus argumentos posicionales y de palabra clave, y calcula " +"qué parámetros de la llamada recibirán cada argumento, retornando un " +"diccionario que asigna los nombres de los argumentos a sus valores. Por " +"ejemplo::" #: ../Doc/whatsnew/2.7.rst:1343 msgid "Contributed by George Sakkis; :issue:`3135`." -msgstr "" +msgstr "Contribución de George Sakkis; :issue:`3135`." #: ../Doc/whatsnew/2.7.rst:1345 msgid "" @@ -1890,6 +2144,11 @@ msgid "" "C and is 2 to 20 times faster depending on the task being performed. The " "original Python version was renamed to the :mod:`_pyio` module." msgstr "" +"Módulo actualizado: La librería :mod:`io` ha sido actualizada a la versión " +"que viene con Python 3.1. Para la versión 3.1, la biblioteca de E/S fue " +"reescrita completamente en C y es de 2 a 20 veces más rápida dependiendo de " +"la tarea que se realice. La versión original de Python fue renombrada como " +"módulo :mod:`_pyio`." #: ../Doc/whatsnew/2.7.rst:1350 msgid "" @@ -1897,6 +2156,10 @@ msgid "" "attr:`errors` attribute giving the error setting used for encoding and " "decoding errors (one of ``'strict'``, ``'replace'``, ``'ignore'``)." msgstr "" +"Un pequeño cambio resultante: la clase :class:`io.TextIOBase` tiene ahora un " +"atributo :attr:`errors` que da la configuración de error utilizada para los " +"errores de codificación y decodificación (uno de ``’strict’``, " +"``’replace’``, ``'ignore'``)." #: ../Doc/whatsnew/2.7.rst:1355 msgid "" @@ -1906,6 +2169,11 @@ msgid "" "position; previously it would change the file position to the end of the new " "file. (Fixed by Pascal Chambon; :issue:`6939`.)" msgstr "" +"La clase :class:`io.FileIO` ahora lanza un :exc:`OSError` cuando se le pasa " +"un descriptor de fichero no válido. (Implementado por Benjamin Peterson; :" +"issue:`4991`.) El método :meth:`~io.IOBase.truncate` ahora preserva la " +"posición del archivo; antes cambiaba la posición del archivo al final del " +"nuevo archivo. (Corregido por Pascal Chambon; :issue:`6939`.)" #: ../Doc/whatsnew/2.7.rst:1361 msgid "" @@ -1913,6 +2181,9 @@ msgid "" "Elements of *data* are returned if the corresponding value in *selectors* is " "true::" msgstr "" +"Nueva función: ``itertools.compress(data, selectors)`` toma dos iteradores. " +"Los elementos de *datos* se retornan si el valor correspondiente en " +"*selectores* es verdadero::" #: ../Doc/whatsnew/2.7.rst:1370 msgid "" @@ -1921,12 +2192,18 @@ msgid "" "*iter*. Unlike :func:`~itertools.combinations`, individual elements can be " "repeated in the generated combinations::" msgstr "" +"Nueva función: ``itertools.combinations_with_replacement(iter, r)`` retorna " +"todas las posibles combinaciones de elementos de longitud *r* del iterable " +"*iter*. A diferencia de :func:`~itertools.combinations`, los elementos " +"individuales pueden repetirse en las combinaciones generadas::" #: ../Doc/whatsnew/2.7.rst:1379 msgid "" "Note that elements are treated as unique depending on their position in the " "input, not their actual values." msgstr "" +"Tenga en cuenta que los elementos se tratan como únicos en función de su " +"posición en la entrada, no de sus valores reales." #: ../Doc/whatsnew/2.7.rst:1382 msgid "" @@ -1936,6 +2213,11 @@ msgid "" "class:`~decimal.Decimal` instances. (Implemented by Raymond Hettinger; :" "issue:`5032`.)" msgstr "" +"La función :func:`itertools.count` tiene ahora un argumento *step* que " +"permite incrementar por valores distintos de 1. :func:`~itertools.count` " +"también permite ahora argumentos de palabra clave, y utilizar valores no " +"enteros como números de punto flotante o instancias de :class:`~decimal." +"Decimal`. (Implementado por Raymond Hettinger; :issue:`5032`.)" #: ../Doc/whatsnew/2.7.rst:1388 msgid "" @@ -1944,6 +2226,11 @@ msgid "" "This was deemed a specification error, so they now return an empty " "iterator. (Fixed by Raymond Hettinger; :issue:`4816`.)" msgstr "" +":func:`itertools.combinaciones` y :func:`itertools.producto` anteriormente " +"lanzaban :exc:`ValueError` para valores de *r* mayores que el iterable de " +"entrada. Esto se consideraba un error de especificación, por lo que ahora " +"retornan un iterador vacío. (Corregido por Raymond Hettinger; :issue:" +"`4816`.)" #: ../Doc/whatsnew/2.7.rst:1393 msgid "" @@ -1951,6 +2238,10 @@ msgid "" "simplejson package, which includes a C extension that makes encoding and " "decoding faster. (Contributed by Bob Ippolito; :issue:`4136`.)" msgstr "" +"Módulo actualizado: El módulo :mod:`json` ha sido actualizado a la versión " +"2.0.9 del paquete simplejson, que incluye una extensión en C que hace más " +"rápida la codificación y decodificación. (Contribuido por Bob Ippolito; :" +"issue:`4136`.)" #: ../Doc/whatsnew/2.7.rst:1398 msgid "" @@ -1959,6 +2250,10 @@ msgid "" "any object literal that decodes to a list of pairs. (Contributed by Raymond " "Hettinger; :issue:`5381`.)" msgstr "" +"Para soportar el nuevo tipo :class:`collections.OrderedDict`, :func:`json." +"load` tiene ahora un parámetro opcional *object_pairs_hook* que será llamado " +"con cualquier objeto literal que decodifique a una lista de pares. " +"(Contribución de Raymond Hettinger; :issue:`5381`.)" #: ../Doc/whatsnew/2.7.rst:1403 msgid "" @@ -1968,6 +2263,11 @@ msgid "" "avoiding unneeded directory scans. (Fixed by A.M. Kuchling and Antoine " "Pitrou; :issue:`1607951`, :issue:`6896`.)" msgstr "" +"La clase :mod:`mailbox` del módulo :class:`~mailbox.Maildir` ahora registra " +"la marca de tiempo de los directorios que lee, y sólo los relee si la hora " +"de modificación ha cambiado posteriormente. Esto mejora el rendimiento al " +"evitar escaneos innecesarios de directorios. (Corregido por A.M. Kuchling y " +"Antoine Pitrou; :issue:`1607951`, :issue:`6896`)" #: ../Doc/whatsnew/2.7.rst:1409 msgid "" @@ -1979,6 +2279,12 @@ msgid "" "function. (Contributed by Mark Dickinson and nirinA raseliarison; :issue:" "`3366`.)" msgstr "" +"Nuevas funciones: el módulo :mod:`math` ganó :func:`~math.erf` y :func:" +"`~math.erfc` para la función de error y la función de error complementaria, :" +"func:`~math.expm1` que calcula ``e**x - 1`` con más precisión que usando :" +"func:`~math.exp` y restando 1, :func:`~math.gamma` para la función Gamma, y :" +"func:`~math.lgamma` para el logaritmo natural de la función Gamma. " +"(Contribución de Mark Dickinson y nirinA raseliarison; :issue:`3366`.)" #: ../Doc/whatsnew/2.7.rst:1417 msgid "" @@ -1987,6 +2293,10 @@ msgid "" "along with a set of arguments that will be passed to the callable. " "(Contributed by lekma; :issue:`5585`.)" msgstr "" +"A las clases :mod:`multiprocessing` del módulo :class:`Manager*` se les " +"puede pasar ahora una llamada que se realizará cada vez que se inicie un " +"subproceso, junto con un conjunto de argumentos que se pasarán a la llamada. " +"(Contribuido por lekma; :issue:`5585`.)" #: ../Doc/whatsnew/2.7.rst:1423 msgid "" @@ -1997,12 +2307,21 @@ msgid "" "tasks may leak memory or other resources, or if some tasks will cause the " "worker to become very large. (Contributed by Charles Cazabon; :issue:`6963`.)" msgstr "" +"La clase :class:`~multiprocessing.Pool`, que controla un grupo de procesos " +"de trabajadores, tiene ahora un parámetro opcional *maxtasksperchild*. Los " +"procesos de trabajo realizarán el número especificado de tareas y luego " +"saldrán, haciendo que la clase :class:`~multiprocessing.Pool` inicie un " +"nuevo trabajador. Esto es útil si las tareas pueden perder memoria u otros " +"recursos, o si algunas tareas harán que el trabajador se vuelva muy grande. " +"(Contribuido por Charles Cazabon; :issue:`6963`.)" #: ../Doc/whatsnew/2.7.rst:1431 msgid "" "The :mod:`nntplib` module now supports IPv6 addresses. (Contributed by Derek " "Morr; :issue:`1664`.)" msgstr "" +"El módulo :mod:`nntplib` ahora soporta direcciones IPv6. (Contribución de " +"Derek Morr; :issue:`1664`.)" #: ../Doc/whatsnew/2.7.rst:1434 msgid "" @@ -2014,6 +2333,14 @@ msgid "" "the current process. (GID/UID functions contributed by Travis H.; :issue:" "`6508`. Support for initgroups added by Jean-Paul Calderone; :issue:`7333`.)" msgstr "" +"Nuevas funciones: el módulo :mod:`os` envuelve las siguientes llamadas al " +"sistema POSIX: :func:`~os.getresgid` y :func:`~os.getresuid`, que retornan " +"los GIDs y UIDs reales, efectivos y guardados; :func:`~os.setresgid` y :func:" +"`~os.setresuid`, que establecen los GIDs y UIDs reales, efectivos y " +"guardados a nuevos valores; :func:`~os.initgroups`, que inicializan la lista " +"de acceso a grupos para el proceso actual. (Funciones GID/UID contribuidas " +"por Travis H.; :issue:`6508`. Soporte para initgroups añadido por Jean-Paul " +"Calderone; :issue:`7333`)" #: ../Doc/whatsnew/2.7.rst:1444 msgid "" @@ -2021,6 +2348,9 @@ msgid "" "process; this fixes problems on Solaris when :func:`~os.fork` is called from " "a thread. (Fixed by Zsolt Cserna; :issue:`7242`.)" msgstr "" +"La función :func:`os.fork` ahora reinicializa el bloqueo de importación en " +"el proceso hijo; esto soluciona los problemas en Solaris cuando :func:`~os." +"fork` se llama desde un hilo. (Corregido por Zsolt Cserna; :issue:`7242`.)" #: ../Doc/whatsnew/2.7.rst:1448 msgid "" @@ -2030,6 +2360,11 @@ msgid "" "normpath` fixed by Matt Giuca in :issue:`5827`; :meth:`~os.path.abspath` " "fixed by Ezio Melotti in :issue:`3426`.)" msgstr "" +"En el módulo :mod:`os.path`, las funciones :func:`~os.path.normpath` y :func:" +"`~os.path.abspath` ahora preservan Unicode; si su ruta de entrada es una " +"cadena Unicode, el valor de retorno es también una cadena Unicode. (:meth:" +"`~os.path.normpath` arreglado por Matt Giuca en :issue:`5827`; :meth:`~os." +"path.abspath` arreglado por Ezio Melotti en :issue:`3426`)" #: ../Doc/whatsnew/2.7.rst:1454 msgid "" @@ -2037,6 +2372,9 @@ msgid "" "uses. You can now do ``help('<<')`` or ``help('@')``, for example. " "(Contributed by David Laban; :issue:`4739`.)" msgstr "" +"El módulo :mod:`pydoc` tiene ahora ayuda para los distintos símbolos que " +"utiliza Python. Ahora puedes hacer ``help('<<')`` o ``help('@')``, por " +"ejemplo. (Contribución de David Laban; :issue:`4739`.)" #: ../Doc/whatsnew/2.7.rst:1458 msgid "" @@ -2044,6 +2382,9 @@ msgid "" "subn` now accept an optional *flags* argument, for consistency with the " "other functions in the module. (Added by Gregory P. Smith.)" msgstr "" +"Las funciones :mod:`re` del módulo :func:`~re.split`, :func:`~re.sub` y :" +"func:`~re.subn` aceptan ahora un argumento opcional *flags*, por coherencia " +"con las demás funciones del módulo. (Añadido por Gregory P. Smith)" #: ../Doc/whatsnew/2.7.rst:1462 msgid "" @@ -2059,6 +2400,18 @@ msgid "" "available to scripts that want to mimic the way Python's command line " "processes an explicit path name. (Added by Nick Coghlan; :issue:`6816`.)" msgstr "" +"Nueva función: :func:`~runpy.run_path` en el módulo :mod:`runpy` ejecutará " +"el código en un argumento *ruta* proporcionado. *path* puede ser la ruta de " +"un fichero fuente de Python (:file:`ejemplo.py`), un fichero bytecode " +"compilado (:file:`ejemplo.pyc`), un directorio (:file:`./package/`), o un " +"archivo zip (:file:`ejemplo.zip`). Si se proporciona un directorio o una " +"ruta zip, se añadirá al frente de ``sys.path`` y se importará el módulo :mod:" +"`__main__`. Se espera que el directorio o zip contenga un :file:`__main__." +"py`; si no es así, algún otro :file:`__main__.py` podría ser importado desde " +"una ubicación posterior en ``sys.path``. Esto hace que más de la maquinaria " +"de :mod:`runpy` esté disponible para los scripts que quieran imitar la forma " +"en que la línea de comandos de Python procesa un nombre de ruta explícito. " +"(Añadido por Nick Coghlan; :issue:`6816`.)" #: ../Doc/whatsnew/2.7.rst:1476 msgid "" @@ -2067,6 +2420,10 @@ msgid "" "and creates an archive containing the directory's contents. (Added by Tarek " "Ziadé.)" msgstr "" +"Nueva función: en el módulo :mod:`shutil`, :func:`~shutil.make_archive` toma " +"un nombre de fichero, un tipo de archivo (formato zip o tar) y una ruta de " +"directorio, y crea un archivo con el contenido del directorio. (Añadido por " +"Tarek Ziadé.)" #: ../Doc/whatsnew/2.7.rst:1481 msgid "" @@ -2076,6 +2433,12 @@ msgid "" "regular file by opening them for reading, and this would block " "indefinitely. (Fixed by Antoine Pitrou; :issue:`3002`.)" msgstr "" +"Las funciones :mod:`shutil` :func:`~shutil.copyfile` y :func:`~shutil." +"copytree` ahora lanzan una excepción :exc:`~shutil.SpecialFileError` cuando " +"se les pide que copien una tubería con nombre. Anteriormente, el código " +"trataba las tuberías con nombre como un archivo normal, abriéndolas para su " +"lectura, lo que bloqueaba indefinidamente. (Corregido por Antoine Pitrou; :" +"issue:`3002`.)" #: ../Doc/whatsnew/2.7.rst:1487 msgid "" @@ -2084,6 +2447,10 @@ msgid "" "catch the EINTR signal robustly. (Fixed by Charles-Francois Natali; :issue:" "`8354`.)" msgstr "" +"El módulo :mod:`signal` ya no reinstala el manejador de señales a menos que " +"sea realmente necesario, lo que corrige un error que podía hacer imposible " +"atrapar la señal EINTR de forma robusta. (Corregido por Charles-Francois " +"Natali; :issue:`8354`.)" #: ../Doc/whatsnew/2.7.rst:1492 msgid "" @@ -2095,6 +2462,14 @@ msgid "" "environment variable, giving the path to a directory that can be used to " "store data. (Contributed by Tarek Ziadé; :issue:`6693`.)" msgstr "" +"Nuevas funciones: en el módulo :mod:`site`, tres nuevas funciones retornan " +"varias rutas específicas del sitio y del usuario. :func:`~site." +"getsitepackages` retorna una lista que contiene todos los directorios " +"globales de paquetes del sitio, :func:`~site.getusersitepackages` retorna la " +"ruta del directorio de paquetes del sitio del usuario, y :func:`~site." +"getuserbase` retorna el valor de la variable de entorno :envvar:`USER_BASE`, " +"dando la ruta a un directorio que puede ser utilizado para almacenar datos. " +"(Contribuido por Tarek Ziadé; :issue:`6693`.)" #: ../Doc/whatsnew/2.7.rst:1503 msgid "" @@ -2103,6 +2478,10 @@ msgid "" "the :exc:`KeyboardInterrupt` exception. (Fixed by Victor Stinner; :issue:" "`3137`.)" msgstr "" +"El módulo :mod:`site` ahora informa de las excepciones que se producen " +"cuando se importa el módulo :mod:`sitecustomize`, y ya no atrapará y tragará " +"la excepción :exc:`KeyboardInterrupt`. (Corregido por Victor Stinner; :" +"issue:`3137`.)" #: ../Doc/whatsnew/2.7.rst:1508 msgid "" @@ -2110,6 +2489,10 @@ msgid "" "parameter, a ``(host, port)`` 2-tuple giving the source address that will be " "used for the connection. (Contributed by Eldon Ziegler; :issue:`3972`.)" msgstr "" +"La función :func:`~socket.create_connection` ganó un parámetro " +"*dirección_de_origen*, una 2-tupla ``(host, port)`` que da la dirección de " +"origen que se utilizará para la conexión. (Contribuido por Eldon Ziegler; :" +"issue:`3972`.)" #: ../Doc/whatsnew/2.7.rst:1513 msgid "" @@ -2118,6 +2501,10 @@ msgid "" "API, most usefully the :class:`bytearray` and :class:`memoryview` objects. " "(Implemented by Antoine Pitrou; :issue:`8104`.)" msgstr "" +"Los métodos :meth:`~socket.socket.recv_into` y :meth:`~socket.socket." +"recvfrom_into` ahora escribirán en objetos que soporten la API de búfer, más " +"útilmente los objetos :class:`bytearray` y :class:`memoryview`. " +"(Implementado por Antoine Pitrou; :issue:`8104`.)" #: ../Doc/whatsnew/2.7.rst:1518 msgid "" @@ -2133,6 +2520,19 @@ msgid "" "BaseServer.handle_request` will return. (Contributed by Kristján Valur " "Jónsson; :issue:`6192` and :issue:`6267`.)" msgstr "" +"La clase :mod:`SocketServer` del módulo :class:`~SocketServer.TCPServer` " +"soporta ahora los tiempos de espera de los sockets y la desactivación del " +"algoritmo Nagle. El atributo de clase :attr:`~SocketServer.TCPServer." +"disable_nagle_algorithm` tiene por defecto el valor ``False``; si se anula " +"para que sea verdadero, las nuevas conexiones de solicitud tendrán la opción " +"TCP_NODELAY establecida para evitar el almacenamiento en búfer de muchos " +"envíos pequeños en un solo paquete TCP. El atributo de clase :attr:" +"`~SocketServer.BaseServer.timeout` puede contener un tiempo de espera en " +"segundos que se aplicará al socket de petición; si no se recibe ninguna " +"petición en ese tiempo, se llamará a :meth:`~SocketServer.BaseServer." +"handle_timeout` y se retornará :meth:`~SocketServer.BaseServer." +"handle_request`. (Contribución de Kristján Valur Jónsson; :issue:`6192` y :" +"issue:`6267`)" #: ../Doc/whatsnew/2.7.rst:1530 msgid "" @@ -2144,6 +2544,14 @@ msgid "" "load_extension` to load a particular shared library. (Updated by Gerhard " "Häring.)" msgstr "" +"Módulo actualizado: el módulo :mod:`sqlite3` ha sido actualizado a la " +"versión 2.6.0 del paquete `pysqlite `__. La versión 2.6.0 incluye una serie de correcciones de errores " +"y añade la posibilidad de cargar extensiones de SQLite desde bibliotecas " +"compartidas. Llame al método ``enable_load_extension(True)`` para habilitar " +"las extensiones, y luego llame a :meth:`~sqlite3.Connection.load_extension` " +"para cargar una biblioteca compartida en particular. (Actualizado por " +"Gerhard Häring.)" #: ../Doc/whatsnew/2.7.rst:1537 msgid "" @@ -2153,6 +2561,12 @@ msgid "" "which will prevent an error code being returned from :meth:`recv` operations " "that trigger an SSL renegotiation (fix by Antoine Pitrou; :issue:`8222`)." msgstr "" +"Los objetos :class:`~ssl.SSLSocket` del módulo :mod:`ssl` soportan ahora la " +"API del buffer, lo que soluciona un fallo del conjunto de pruebas (corregido " +"por Antoine Pitrou; :issue:`7133`) y establece automáticamente la :c:macro:" +"`SSL_MODE_AUTO_RETRY` de OpenSSL, lo que evitará que se retorne un código de " +"error de las operaciones :meth:`recv` que desencadenen una renegociación SSL " +"(corregido por Antoine Pitrou; :issue:`8222`)." #: ../Doc/whatsnew/2.7.rst:1544 msgid "" @@ -2162,6 +2576,11 @@ msgid "" "www.openssl.org/docs/manmaster/man1/ciphers.html#CIPHER-LIST-FORMAT>`__. " "(Added by Antoine Pitrou; :issue:`8322`.)" msgstr "" +"La función constructora :func:`ssl.wrap_socket` toma ahora un argumento " +"*ciphers* que es una cadena que enumera los algoritmos de encriptación " +"permitidos; el formato de la cadena se describe `en la documentación de " +"OpenSSL `__. (Añadido por Antoine Pitrou; :issue:`8322`.)" #: ../Doc/whatsnew/2.7.rst:1551 msgid "" @@ -2170,6 +2589,11 @@ msgid "" "verified, reporting an \"unknown algorithm\" error. (Reported by Beda " "Kosata, and fixed by Antoine Pitrou; :issue:`8484`.)" msgstr "" +"Otro cambio hace que la extensión cargue todos los cifrados y algoritmos de " +"compendio de OpenSSL para que estén todos disponibles. Algunos certificados " +"SSL no podían ser verificados, reportando un error de \"algoritmo desconocido" +"\". (Informado por Beda Kosata, y corregido por Antoine Pitrou; :issue:" +"`8484`)" #: ../Doc/whatsnew/2.7.rst:1557 msgid "" @@ -2178,6 +2602,10 @@ msgid "" "tuple), and :data:`ssl.OPENSSL_VERSION_NUMBER` (an integer). (Added by " "Antoine Pitrou; :issue:`8321`.)" msgstr "" +"La versión de OpenSSL que se está utilizando está ahora disponible como los " +"atributos del módulo :data:`ssl.OPENSSL_VERSION` (una cadena), :data:`ssl." +"OPENSSL_VERSION_INFO` (una 5-tupla), y :data:`ssl.OPENSSL_VERSION_NUMBER` " +"(un entero). (Añadido por Antoine Pitrou; :issue:`8321`.)" #: ../Doc/whatsnew/2.7.rst:1563 msgid "" @@ -2189,6 +2617,14 @@ msgid "" "integers before trying the :meth:`__int__` method or reporting an error. " "(Changed by Mark Dickinson; :issue:`8300`.)" msgstr "" +"El módulo :mod:`struct` ya no ignorará silenciosamente los errores de " +"desbordamiento cuando un valor es demasiado grande para un código de formato " +"entero particular (uno de ``bBhHiIlLqQ``); ahora siempre lanza una " +"excepción :exc:`struct.error`. (Cambiado por Mark Dickinson; :issue:" +"`1523`.) La función :func:`~struct.pack` también intentará utilizar :meth:" +"`__index__` para convertir y empaquetar los no enteros antes de intentar el " +"método :meth:`__int__` o informar de un error. (Cambiado por Mark " +"Dickinson; :issue:`8300`.)" #: ../Doc/whatsnew/2.7.rst:1572 msgid "" @@ -2197,10 +2633,15 @@ msgid "" "the command's output as a string when the command runs without error, or " "raises a :exc:`~subprocess.CalledProcessError` exception otherwise." msgstr "" +"Nueva función: la función :func:`~subprocess.check_output` del módulo :mod:" +"`subprocess` ejecuta un comando con un conjunto de argumentos especificado y " +"retorna la salida del comando como una cadena de texto cuando el comando se " +"ejecuta sin errores, o lanza una excepción :exc:`~subprocess." +"CalledProcessError` en caso contrario." #: ../Doc/whatsnew/2.7.rst:1587 msgid "(Contributed by Gregory P. Smith.)" -msgstr "" +msgstr "(Contribución de Gregory P. Smith.)" #: ../Doc/whatsnew/2.7.rst:1589 msgid "" @@ -2208,6 +2649,9 @@ msgid "" "receiving an :const:`EINTR` signal. (Reported by several people; final " "patch by Gregory P. Smith in :issue:`1068268`.)" msgstr "" +"El módulo :mod:`subprocess` ahora reintentará sus llamadas internas al " +"sistema al recibir una señal :const:`EINTR`. (Informado por varias " +"personas; parche final de Gregory P. Smith en :issue:`1068268`)" #: ../Doc/whatsnew/2.7.rst:1593 msgid "" @@ -2216,6 +2660,10 @@ msgid "" "be global, false for ones that are implicitly global. (Contributed by Jeremy " "Hylton.)" msgstr "" +"Nueva función: :func:`~symtable.Symbol.is_declared_global` en el módulo :mod:" +"`symtable` retorna true para las variables declaradas explícitamente como " +"globales, false para las que son implícitamente globales. (Contribución de " +"Jeremy Hylton)" #: ../Doc/whatsnew/2.7.rst:1598 ../Doc/whatsnew/2.7.rst:2496 msgid "" @@ -2223,6 +2671,9 @@ msgid "" "identifier instead of the previous default value of ``'python'``. (Changed " "by Sean Reifschneider; :issue:`8451`.)" msgstr "" +"El módulo :mod:`syslog` utilizará ahora el valor de ``sys.argv[0]`` como " +"identificador en lugar del anterior valor por defecto de ``'python``. " +"(Cambiado por Sean Reifschneider; :issue:`8451`.)" #: ../Doc/whatsnew/2.7.rst:1602 msgid "" @@ -2230,6 +2681,10 @@ msgid "" "attr:`major`, :attr:`minor`, :attr:`micro`, :attr:`releaselevel`, and :attr:" "`serial`. (Contributed by Ross Light; :issue:`4285`.)" msgstr "" +"El valor de ``sys.version_info`` es ahora una tupla con nombre, con " +"atributos llamados :attr:`major`, :attr:`minor`, :attr:`micro`, :attr:" +"`releaselevel`, y :attr:`serial`. (Contribución de Ross Light; :issue:" +"`4285`.)" #: ../Doc/whatsnew/2.7.rst:1607 msgid "" @@ -2239,6 +2694,11 @@ msgid "" "attr:`suite_mask`, and :attr:`product_type`. (Contributed by Brian Curtin; :" "issue:`7766`.)" msgstr "" +":func:`sys.getwindowsversion` también retorna una tupla con nombre, con " +"atributos llamados :attr:`major`, :attr:`minor`, :attr:`build`, :attr:" +"`platform`, :attr:`service_pack`, :attr:`service_pack_major`, :attr:" +"`service_pack_minor`, :attr:`suite_mask`, y :attr:`product_type`. " +"(Contribución de Brian Curtin; :issue:`7766`.)" #: ../Doc/whatsnew/2.7.rst:1613 ../Doc/whatsnew/2.7.rst:2500 msgid "" @@ -2249,6 +2709,13 @@ msgid "" "unnoticed. The default error level is now 1, which raises an exception if " "there's an error. (Changed by Lars Gustäbel; :issue:`7357`.)" msgstr "" +"El manejo de errores por defecto del módulo :mod:`tarfile` ha cambiado, para " +"no suprimir los errores fatales. El nivel de error por defecto era antes 0, " +"lo que significaba que los errores sólo daban lugar a que se escribiera un " +"mensaje en el registro de depuración, pero como el registro de depuración no " +"está activado por defecto, estos errores pasan desapercibidos. El nivel de " +"error por defecto es ahora 1, que lanza una excepción si hay un error. " +"(Cambiado por Lars Gustäbel; :issue:`7357`.)" #: ../Doc/whatsnew/2.7.rst:1621 msgid "" @@ -2263,6 +2730,16 @@ msgid "" "also now supports the context management protocol. (Added by Lars Gustäbel; :" "issue:`7232`.)" msgstr "" +":mod:`tarfile` ahora soporta el filtrado de los objetos :class:`~tarfile." +"TarInfo` que se añaden a un fichero tar. Cuando llame a :meth:`~tarfile." +"TarFile.add`, puede suministrar un argumento opcional *filtro* que es una " +"llamada. Al *filtro* se le pasará la clase :class:`~tarfile.TarInfo` de " +"cada fichero que se añada, y podrá modificarlo y retornarlo. Si la llamada " +"retorna ``Nada``, el fichero será excluido del archivo resultante. Esto es " +"más potente que el argumento *exclude* existente, que por lo tanto ha sido " +"obviado. (Añadido por Lars Gustäbel; :issue:`6856`.) La clase :class:" +"`~tarfile.TarFile` también soporta ahora el protocolo de gestión de " +"contexto. (Añadido por Lars Gustäbel; :issue:`7232`.)" #: ../Doc/whatsnew/2.7.rst:1633 msgid "" @@ -2273,6 +2750,12 @@ msgid "" "false if a timeout was provided and the operation timed out. (Contributed by " "Tim Lesher; :issue:`1674032`.)" msgstr "" +"El método :meth:`~threading.Event.wait` de la clase :class:`threading.Event` " +"ahora retorna la bandera interna al salir. Esto significa que el método " +"normalmente retornará true porque :meth:`~threading.Event.wait` se supone " +"que bloquea hasta que la bandera interna se convierte en true. El valor de " +"retorno sólo será falso si se proporcionó un tiempo de espera y la operación " +"expiró. (Contribuido por Tim Lesher; :issue:`1674032`.)" #: ../Doc/whatsnew/2.7.rst:1640 msgid "" @@ -2283,6 +2766,13 @@ msgid "" "d'Arc; :issue:`1571184`) and has been updated to version 5.2.0 (updated by " "Florent Xicluna; :issue:`8024`)." msgstr "" +"La base de datos Unicode proporcionada por el módulo :mod:`unicodedata` se " +"utiliza ahora internamente para determinar qué caracteres son numéricos, " +"espacios en blanco o representan saltos de línea. La base de datos también " +"incluye información del archivo de datos :file:`Unihan.txt` (parche de " +"Anders Chrigström y Amaury Forgeot d'Arc; :issue:`1571184`) y se ha " +"actualizado a la versión 5.2.0 (actualizado por Florent Xicluna; :issue:" +"`8024`)." #: ../Doc/whatsnew/2.7.rst:1648 ../Doc/whatsnew/2.7.rst:2508 msgid "" @@ -2293,22 +2783,32 @@ msgid "" "about. This change may break code that worked around the old behaviour. " "For example, Python 2.6.4 or 2.5 will return the following:" msgstr "" +"La :func:`~urlparse.urlsplit` del módulo :mod:`urlparse` maneja ahora los " +"esquemas de URL desconocidos de una manera que cumple con :rfc:`3986`: si la " +"URL es de la forma ``\"://...\"``, el texto que precede a ``://`` " +"se trata como el esquema, incluso si es un esquema inventado que el módulo " +"no conoce. Este cambio puede romper el código que funcionaba con el antiguo " +"comportamiento. Por ejemplo, Python 2.6.4 o 2.5 retornará lo siguiente:" #: ../Doc/whatsnew/2.7.rst:1663 ../Doc/whatsnew/2.7.rst:2523 msgid "Python 2.7 (and Python 2.6.5) will return:" -msgstr "" +msgstr "Python 2.7 (y Python 2.6.5) retornará:" #: ../Doc/whatsnew/2.7.rst:1672 ../Doc/whatsnew/2.7.rst:2532 msgid "" "(Python 2.7 actually produces slightly different output, since it returns a " "named tuple instead of a standard tuple.)" msgstr "" +"(Python 2.7 en realidad produce una salida ligeramente diferente, ya que " +"retorna una tupla con nombre en lugar de una tupla estándar)" #: ../Doc/whatsnew/2.7.rst:1675 msgid "" "The :mod:`urlparse` module also supports IPv6 literal addresses as defined " "by :rfc:`2732` (contributed by Senthil Kumaran; :issue:`2987`)." msgstr "" +"El módulo :mod:`urlparse` también soporta las direcciones literales IPv6 " +"definidas por :rfc:`2732` (contribuido por Senthil Kumaran; :issue:`2987`)." #: ../Doc/whatsnew/2.7.rst:1685 msgid "" @@ -2318,6 +2818,11 @@ msgid "" "implemented in Python 3.x by Raymond Hettinger, and backported to 2.7 by " "Michael Foord.)" msgstr "" +"Nueva clase: la clase :class:`~weakref.WeakSet` del módulo :mod:`weakref` es " +"un conjunto que sólo contiene referencias débiles a sus elementos; los " +"elementos serán eliminados una vez que no haya referencias que apunten a " +"ellos. (Implementado originalmente en Python 3.x por Raymond Hettinger, y " +"Portado a 2.7 por Michael Foord)" #: ../Doc/whatsnew/2.7.rst:1691 msgid "" @@ -2326,6 +2831,11 @@ msgid "" "like ````) or comment (which looks like " "````). (Patch by Neil Muller; :issue:`2746`.)" msgstr "" +"La biblioteca ElementTree, :mod:`xml.etree`, ya no escapa los ampersands y " +"los paréntesis angulares cuando se emite una instrucción de procesamiento " +"XML (que tiene el aspecto de ````) o un " +"comentario (que tiene el aspecto de ````). (Parche de Neil " +"Muller; :issue:`2746`.)" #: ../Doc/whatsnew/2.7.rst:1697 msgid "" @@ -2337,6 +2847,14 @@ msgid "" "contains a size in bytes; responses larger than this will be compressed. " "(Contributed by Kristján Valur Jónsson; :issue:`6267`.)" msgstr "" +"El cliente y el servidor XML-RPC, proporcionados por los módulos :mod:" +"`xmlrpclib` y :mod:`SimpleXMLRPCServer`, han mejorado su rendimiento al " +"soportar HTTP/1.1 keep-alive y al utilizar opcionalmente la codificación " +"gzip para comprimir el XML que se intercambia. La compresión gzip está " +"controlada por el atributo :attr:`encode_threshold` de :class:" +"`SimpleXMLRPCRestHandler`, que contiene un tamaño en bytes; las respuestas " +"más grandes que esto serán comprimidas. (Contribuido por Kristján Valur " +"Jónsson; :issue:`6267`.)" #: ../Doc/whatsnew/2.7.rst:1706 msgid "" @@ -2344,6 +2862,9 @@ msgid "" "context management protocol, so you can write ``with zipfile.ZipFile(...) as " "f:``. (Contributed by Brian Curtin; :issue:`5511`.)" msgstr "" +"El módulo :mod:`zipfile` de :class:`~zipfile.ZipFile` soporta ahora el " +"protocolo de gestión de contexto, por lo que se puede escribir ``con zipfile." +"ZipFile(...) como f:``. (Contribución de Brian Curtin; :issue:`5511`.)" #: ../Doc/whatsnew/2.7.rst:1710 msgid "" @@ -2353,6 +2874,11 @@ msgid "" "meth:`~zipfile.ZipFile.readline` now works correctly. (Contributed by Nir " "Aides; :issue:`7610`.)" msgstr "" +":mod:`zipfile` ahora también soporta el archivado de directorios vacíos y " +"los extrae correctamente. (Corregido por Kuba Wieczorek; :issue:`4710`.) La " +"lectura de ficheros de un archivo es más rápida, y la intercalación de :meth:" +"`~zipfile.ZipFile.read` y :meth:`~zipfile.ZipFile.readline` ahora funciona " +"correctamente. (Contribución de Nir Aides; :issue:`7610`.)" #: ../Doc/whatsnew/2.7.rst:1716 msgid "" @@ -2360,6 +2886,9 @@ msgid "" "addition to the path names accepted in earlier versions. (Contributed by " "Gabriel Genellina; :issue:`4756`.)" msgstr "" +"La función :func:`~zipfile.is_zipfile` acepta ahora un objeto archivo, " +"además de los nombres de ruta aceptados en versiones anteriores. " +"(Contribución de Gabriel Genellina; :issue:`4756`.)" #: ../Doc/whatsnew/2.7.rst:1720 msgid "" @@ -2368,10 +2897,14 @@ msgid "" "method specified in the :class:`~zipfile.ZipFile` constructor. (Contributed " "by Ronald Oussoren; :issue:`6003`.)" msgstr "" +"El método :meth:`~archivo.ZipFile.writestr` tiene ahora un parámetro " +"opcional *compress_type* que permite anular el método de compresión por " +"defecto especificado en el constructor :class:`~archivo.ZipFile`. " +"(Contribución de Ronald Oussoren; :issue:`6003`.)" #: ../Doc/whatsnew/2.7.rst:1733 msgid "New module: importlib" -msgstr "" +msgstr "Nuevo módulo: importlib" #: ../Doc/whatsnew/2.7.rst:1735 msgid "" @@ -2383,6 +2916,13 @@ msgid "" "tiny subset that contains a single function, :func:`~importlib." "import_module`." msgstr "" +"Python 3.1 incluye el paquete :mod:`importlib`, una reimplementación de la " +"lógica subyacente a la expresión :keyword:`import` de Python. :mod:" +"`importlib` es útil para los implementadores de intérpretes de Python y para " +"los usuarios que deseen escribir nuevos importadores que puedan participar " +"en el proceso de importación. Python 2.7 no contiene el paquete :mod:" +"`importlib` completo, sino que tiene un pequeño subconjunto que contiene una " +"única función, :func:`~importlib.import_module`." #: ../Doc/whatsnew/2.7.rst:1743 msgid "" @@ -2394,20 +2934,30 @@ msgid "" "the relative import. :func:`~importlib.import_module` both inserts the " "imported module into ``sys.modules`` and returns the module object." msgstr "" +"``import_module(name, package=None)`` importa un módulo. *name* es una " +"cadena que contiene el nombre del módulo o paquete. Es posible realizar " +"importaciones relativas proporcionando una cadena que comience con un " +"carácter ``.``, como ``..utils.errors``. Para las importaciones relativas, " +"el argumento *paquete* debe ser proporcionado y es el nombre del paquete que " +"se utilizará como ancla para la importación relativa. :func:`~importlib." +"import_module` inserta el módulo importado en ``sys.modules`` y retorna el " +"objeto módulo." #: ../Doc/whatsnew/2.7.rst:1752 msgid "Here are some examples::" -msgstr "" +msgstr "He aquí algunos ejemplos::" #: ../Doc/whatsnew/2.7.rst:1763 msgid "" ":mod:`importlib` was implemented by Brett Cannon and introduced in Python " "3.1." msgstr "" +":mod:`importlib` fue implementado por Brett Cannon e introducido en Python " +"3.1." #: ../Doc/whatsnew/2.7.rst:1768 msgid "New module: sysconfig" -msgstr "" +msgstr "Nuevo módulo: sysconfig" #: ../Doc/whatsnew/2.7.rst:1770 msgid "" @@ -2417,22 +2967,32 @@ msgid "" "switches, installation paths, the platform name, and whether Python is " "running from its source directory." msgstr "" +"El módulo :mod:`sysconfig` ha sido retirado del paquete Distutils, " +"convirtiéndose en un nuevo módulo de alto nivel por derecho propio. :mod:" +"`sysconfig` proporciona funciones para obtener información sobre el proceso " +"de construcción de Python: interruptores del compilador, rutas de " +"instalación, el nombre de la plataforma y si Python se está ejecutando desde " +"su directorio fuente." #: ../Doc/whatsnew/2.7.rst:1777 msgid "Some of the functions in the module are:" -msgstr "" +msgstr "Algunas de las funciones del módulo son:" #: ../Doc/whatsnew/2.7.rst:1779 msgid "" ":func:`~sysconfig.get_config_var` returns variables from Python's Makefile " "and the :file:`pyconfig.h` file." msgstr "" +":func:`~sysconfig.get_config_var` retorna variables del Makefile de Python y " +"del fichero :file:`pyconfig.h`." #: ../Doc/whatsnew/2.7.rst:1781 msgid "" ":func:`~sysconfig.get_config_vars` returns a dictionary containing all of " "the configuration variables." msgstr "" +":func:`~sysconfig.get_config_vars` retorna un diccionario que contiene todas " +"las variables de configuración." #: ../Doc/whatsnew/2.7.rst:1783 msgid "" @@ -2440,18 +3000,25 @@ msgid "" "type of module: the standard library, site-specific modules, platform-" "specific modules, etc." msgstr "" +":func:`~sysconfig.get_path` retorna la ruta configurada para un tipo de " +"módulo concreto: la biblioteca estándar, módulos específicos del sitio, " +"módulos específicos de la plataforma, etc." #: ../Doc/whatsnew/2.7.rst:1786 msgid "" ":func:`~sysconfig.is_python_build` returns true if you're running a binary " "from a Python source tree, and false otherwise." msgstr "" +":func:`~sysconfig.is_python_build` retorna true si está ejecutando un " +"binario desde un árbol de fuentes de Python, y false en caso contrario." #: ../Doc/whatsnew/2.7.rst:1789 msgid "" "Consult the :mod:`sysconfig` documentation for more details and for a " "complete list of functions." msgstr "" +"Consulte la documentación de :mod:`sysconfig` para más detalles y para una " +"lista completa de funciones." #: ../Doc/whatsnew/2.7.rst:1792 msgid "" @@ -2460,10 +3027,14 @@ msgid "" "https://hg.python.org/distutils2/) for developing a next-generation version " "of Distutils." msgstr "" +"El paquete Distutils y :mod:`sysconfig` son ahora mantenidos por Tarek " +"Ziadé, que también ha iniciado un paquete Distutils2 (repositorio de fuentes " +"en https://hg.python.org/distutils2/) para desarrollar una versión de " +"próxima generación de Distutils." #: ../Doc/whatsnew/2.7.rst:1799 msgid "ttk: Themed Widgets for Tk" -msgstr "" +msgstr "ttk: Widgets temáticos para Tk" #: ../Doc/whatsnew/2.7.rst:1801 msgid "" @@ -2473,6 +3044,11 @@ msgid "" "originally called Tile, but was renamed to Ttk (for \"themed Tk\") on being " "added to Tcl/Tck release 8.5." msgstr "" +"Tcl/Tk 8.5 incluye un conjunto de widgets temáticos que reimplementan los " +"widgets básicos de Tk pero tienen una apariencia más personalizable y, por " +"tanto, pueden parecerse más a los widgets de la plataforma nativa. Este " +"conjunto de widgets se llamaba originalmente Tile, pero fue renombrado a Ttk " +"(por \"Tk temático\") al ser añadido a la versión 8.5 de Tcl/Tck." #: ../Doc/whatsnew/2.7.rst:1807 msgid "" @@ -2482,6 +3058,11 @@ msgid "" "Python/Ttk code in use are at https://code.google.com/archive/p/python-ttk/" "wikis/Screenshots.wiki." msgstr "" +"Para saber más, lea la documentación del módulo :mod:`ttk`. También puedes " +"leer la página del manual Tcl/Tk que describe el motor de temas Ttk, " +"disponible en https://www.tcl.tk/man/tcl8.5/TkCmd/ttk_intro.htm. Algunas " +"capturas de pantalla del código Python/Ttk en uso están en https://code." +"google.com/archive/p/python-ttk/wikis/Screenshots.wiki." #: ../Doc/whatsnew/2.7.rst:1814 msgid "" @@ -2490,10 +3071,15 @@ msgid "" "and maintained by Kevin Walzer, was proposed for inclusion in :issue:`2618`, " "but the authors argued that Guilherme Polo's work was more comprehensive." msgstr "" +"El módulo :mod:`ttk` fue escrito por Guilherme Polo y añadido en :issue:" +"`2983`. Una versión alternativa llamada ``Tile.py``, escrita por Martin " +"Franklin y mantenida por Kevin Walzer, fue propuesta para su inclusión en :" +"issue:`2618`, pero los autores argumentaron que el trabajo de Guilherme Polo " +"era más completo." #: ../Doc/whatsnew/2.7.rst:1824 msgid "Updated module: unittest" -msgstr "" +msgstr "Módulo actualizado: unittest" #: ../Doc/whatsnew/2.7.rst:1826 msgid "" @@ -2503,6 +3089,12 @@ msgid "" "separately for use with Python versions 2.4 to 2.6, packaged as the :mod:" "`unittest2` package, from https://pypi.org/project/unittest2." msgstr "" +"El módulo :mod:`unittest` se ha mejorado mucho; se han añadido muchas " +"funciones nuevas. La mayoría de estas características fueron implementadas " +"por Michael Foord, a menos que se indique lo contrario. La versión mejorada " +"del módulo puede descargarse por separado para su uso con las versiones 2.4 " +"a 2.6 de Python, empaquetada como paquete :mod:`unittest2`, en https://pypi." +"org/project/unittest2." #: ../Doc/whatsnew/2.7.rst:1833 msgid "" @@ -2513,16 +3105,26 @@ msgid "" "command will search the :file:`test/` subdirectory for any importable test " "files named ``test*.py``::" msgstr "" +"Cuando se utiliza desde la línea de comandos, el módulo puede descubrir " +"automáticamente las pruebas. No es tan sofisticado como `py.test `__ o `nose `__, pero proporciona " +"una forma sencilla de ejecutar pruebas guardadas dentro de un conjunto de " +"directorios de paquetes. Por ejemplo, el siguiente comando buscará en el " +"subdirectorio :file:`test/` cualquier archivo de prueba importable llamado " +"``test*.py``::" #: ../Doc/whatsnew/2.7.rst:1842 msgid "" "Consult the :mod:`unittest` module documentation for more details. " "(Developed in :issue:`6001`.)" msgstr "" +"Consulte la documentación del módulo :mod:`unittest` para más detalles. " +"(Desarrollado en :issue:`6001`.)" #: ../Doc/whatsnew/2.7.rst:1845 msgid "The :func:`~unittest.main` function supports some other new options:" msgstr "" +"La función :func:`~unittest.main` soporta algunas otras opciones nuevas:" #: ../Doc/whatsnew/2.7.rst:1847 msgid "" @@ -2531,6 +3133,10 @@ msgid "" "resulting output will be discarded; on failure, the buffered output will be " "displayed." msgstr "" +":option:`-b ` o :option:`!--buffer` almacenará en búfer la " +"salida estándar y los flujos de error estándar durante cada prueba. Si la " +"prueba pasa, se descartará cualquier salida resultante; en caso de falla, se " +"mostrará la salida almacenada en búfer." #: ../Doc/whatsnew/2.7.rst:1852 msgid "" @@ -2540,6 +3146,12 @@ msgid "" "the partial results up to the interruption will be reported. If you're " "impatient, a second press of control-C will cause an immediate interruption." msgstr "" +":option:`-c ` o :option:`!--catch` hará que la interrupción de " +"control-C se maneje con más gracia. En lugar de interrumpir el proceso de " +"prueba inmediatamente, se completará la prueba que se esté ejecutando en ese " +"momento y luego se informará de los resultados parciales hasta la " +"interrupción. Si está impaciente, una segunda pulsación de control-C " +"provocará una interrupción inmediata." #: ../Doc/whatsnew/2.7.rst:1859 msgid "" @@ -2550,6 +3162,12 @@ msgid "" "that can be used to mark tests that should have the control-C handling " "disabled." msgstr "" +"Este manejador de control-C intenta evitar que se produzcan problemas cuando " +"el código que se está probando o las pruebas que se están ejecutando han " +"definido un manejador de señales propio, advirtiendo que ya se ha " +"establecido un manejador de señales y llamándolo. Si esto no te funciona, " +"hay un decorador :func:`~unittest.removeHandler` que puede utilizarse para " +"marcar las pruebas que deben tener el manejador de control-C desactivado." #: ../Doc/whatsnew/2.7.rst:1866 msgid "" @@ -2558,6 +3176,10 @@ msgid "" "tests. (Suggested by Cliff Dyer and implemented by Michael Foord; :issue:" "`8074`.)" msgstr "" +":option:`-f ` o :option:`!--failfast` hace que la ejecución de " +"la prueba se detenga inmediatamente cuando una prueba falla en lugar de " +"continuar ejecutando más pruebas. (Sugerido por Cliff Dyer e implementado " +"por Michael Foord; :issue:`8074`)" #: ../Doc/whatsnew/2.7.rst:1871 msgid "" @@ -2565,12 +3187,17 @@ msgid "" "unexpected successes when run in verbose mode. (Contributed by Benjamin " "Peterson.)" msgstr "" +"Los mensajes de progreso ahora muestran 'x' para los fallos esperados y 'u' " +"para los éxitos inesperados cuando se ejecuta en modo verboso. (Contribución " +"de Benjamin Peterson)" #: ../Doc/whatsnew/2.7.rst:1875 msgid "" "Test cases can raise the :exc:`~unittest.SkipTest` exception to skip a test " "(:issue:`1034053`)." msgstr "" +"Los casos de prueba pueden lanzar la excepción :exc:`~unittest.SkipTest` " +"para saltarse una prueba (:issue:`1034053`)." #: ../Doc/whatsnew/2.7.rst:1878 msgid "" @@ -2582,6 +3209,13 @@ msgid "" "provide will be printed for failures. (Added by Michael Foord; :issue:" "`5663`.)" msgstr "" +"Los mensajes de error para los fallos :meth:`~unittest.TestCase." +"assertEqual`, :meth:`~unittest.TestCase.assertTrue`, y :meth:`~unittest." +"TestCase.assertFalse` ahora proporcionan más información. Si estableces el " +"atributo :attr:`~unittest.TestCase.longMessage` de tus clases :class:" +"`~unittest.TestCase` a true, tanto el mensaje de error estándar como " +"cualquier mensaje adicional que proporciones se imprimirán para los fallos. " +"(Añadido por Michael Foord; :issue:`5663`.)" #: ../Doc/whatsnew/2.7.rst:1885 msgid "" @@ -2589,10 +3223,13 @@ msgid "" "handler when called without providing a callable object to run. For " "example, you can write this::" msgstr "" +"El método :meth:`~unittest.TestCase.assertRaises` ahora retorna un manejador " +"de contexto cuando se llama sin proporcionar un objeto invocable para " +"ejecutar. Por ejemplo, puede escribir esto::" #: ../Doc/whatsnew/2.7.rst:1892 msgid "(Implemented by Antoine Pitrou; :issue:`4444`.)" -msgstr "" +msgstr "(Implementado por Antoine Pitrou; :issue:`4444`.)" #: ../Doc/whatsnew/2.7.rst:1896 msgid "" @@ -2604,6 +3241,14 @@ msgid "" "functions and methods are invoked when the test runner switches to a test " "case in a different module or class." msgstr "" +"Ahora se soportan las funciones de configuración y desmontaje a nivel de " +"módulo y de clase. Los módulos pueden contener funciones :func:`~unittest." +"setUpModule` y :func:`~unittest.tearDownModule`. Las clases pueden tener " +"métodos :meth:`~unittest.TestCase.setUpClass` y :meth:`~unittest.TestCase." +"tearDownClass` que deben ser definidos como métodos de clase (usando " +"``@classmethod`` o equivalente). Estas funciones y métodos se invocan " +"cuando el ejecutor de pruebas cambia a un caso de prueba en un módulo o " +"clase diferente." #: ../Doc/whatsnew/2.7.rst:1904 msgid "" @@ -2614,6 +3259,13 @@ msgid "" "otherwise after :meth:`~unittest.TestCase.tearDown`). This allows for much " "simpler resource allocation and deallocation during tests (:issue:`5679`)." msgstr "" +"Se han añadido los métodos :meth:`~unittest.TestCase.addCleanup` y :meth:" +"`~unittest.TestCase.doCleanups`. :meth:`~unittest.TestCase.addCleanup` " +"permite añadir funciones de limpieza que serán llamadas incondicionalmente " +"(después de :meth:`~unittest.TestCase.setUp` si :meth:`~unittest.TestCase." +"setUp` falla, en caso contrario después de :meth:`~unittest.TestCase." +"tearDown`). Esto permite una asignación y desasignación de recursos mucho " +"más sencilla durante las pruebas (:issue:`5679`)." #: ../Doc/whatsnew/2.7.rst:1912 msgid "" @@ -2622,6 +3274,11 @@ msgid "" "suites; Gregory P. Smith, Michael Foord, and GvR worked on merging them into " "Python's version of :mod:`unittest`." msgstr "" +"Se añadieron varios métodos nuevos que proporcionan pruebas más " +"especializadas. Muchos de estos métodos fueron escritos por ingenieros de " +"Google para utilizarlos en sus conjuntos de pruebas; Gregory P. Smith, " +"Michael Foord y GvR trabajaron en la fusión de los mismos en la versión de " +"Python de :mod:`unittest`." #: ../Doc/whatsnew/2.7.rst:1917 msgid "" @@ -2629,6 +3286,9 @@ msgid "" "assertIsNotNone` take one expression and verify that the result is or is not " "``None``." msgstr "" +":meth:`~unittest.TestCase.assertIsNone` y :meth:`~unittest.TestCase." +"assertIsNotNone` toman una expresión y verifican que el resultado es o no es " +"``None``." #: ../Doc/whatsnew/2.7.rst:1920 msgid "" @@ -2636,6 +3296,9 @@ msgid "" "assertIsNot` take two values and check whether the two values evaluate to " "the same object or not. (Added by Michael Foord; :issue:`2578`.)" msgstr "" +":meth:`~unittest.TestCase.assertIs` y :meth:`~unittest.TestCase.assertIsNot` " +"toman dos valores y comprueban si los dos valores se evalúan al mismo objeto " +"o no. (Añadido por Michael Foord; :issue:`2578`.)" #: ../Doc/whatsnew/2.7.rst:1924 msgid "" @@ -2644,6 +3307,10 @@ msgid "" "particular class, or of one of a tuple of classes. (Added by Georg Brandl; :" "issue:`7031`.)" msgstr "" +":meth:`~unittest.TestCase.assertIsInstance` y :meth:`~unittest.TestCase." +"assertNotIsInstance` comprueban si el objeto resultante es una instancia de " +"una clase concreta, o de una tupla de clases. (Añadido por Georg Brandl; :" +"issue:`7031`.)" #: ../Doc/whatsnew/2.7.rst:1929 msgid "" @@ -2651,6 +3318,9 @@ msgid "" "assertGreaterEqual`, :meth:`~unittest.TestCase.assertLess`, and :meth:" "`~unittest.TestCase.assertLessEqual` compare two quantities." msgstr "" +":meth:`~unittest.TestCase.assertGreater`, :meth:`~unittest.TestCase." +"assertGreaterEqual`, :meth:`~unittest.TestCase.assertLess`, y :meth:" +"`~unittest.TestCase.assertLessEqual` comparan dos cantidades." #: ../Doc/whatsnew/2.7.rst:1933 msgid "" @@ -2659,6 +3329,10 @@ msgid "" "differences in the two strings. This comparison is now used by default when " "Unicode strings are compared with :meth:`~unittest.TestCase.assertEqual`." msgstr "" +":meth:`~unittest.TestCase.assertMultiLineEqual` compara dos cadenas, y si no " +"son iguales, muestra una comparación útil que resalta las diferencias en las " +"dos cadenas. Esta comparación se utiliza ahora por defecto cuando las " +"cadenas Unicode se comparan con :meth:`~unittest.TestCase.assertEqual`." #: ../Doc/whatsnew/2.7.rst:1938 msgid "" @@ -2667,6 +3341,10 @@ msgid "" "matching or not matching the regular expression provided as the second " "argument (:issue:`8038`)." msgstr "" +":meth:`~unittest.TestCase.assertRegexpMatches` y :meth:`~unittest.TestCase." +"assertNotRegexpMatches` comprueba si el primer argumento es una cadena que " +"coincide o no con la expresión regular proporcionada como segundo argumento " +"(:issue:`8038`)." #: ../Doc/whatsnew/2.7.rst:1943 msgid "" @@ -2674,24 +3352,34 @@ msgid "" "exception is raised, and then also checks that the string representation of " "the exception matches the provided regular expression." msgstr "" +":meth:`~unittest.TestCase.assertRaisesRegexp` comprueba si se produce una " +"excepción en particular, y luego también comprueba que la representación de " +"la cadena de la excepción coincide con la expresión regular proporcionada." #: ../Doc/whatsnew/2.7.rst:1947 msgid "" ":meth:`~unittest.TestCase.assertIn` and :meth:`~unittest.TestCase." "assertNotIn` tests whether *first* is or is not in *second*." msgstr "" +":meth:`~unittest.TestCase.assertIn` y :meth:`~unittest.TestCase.assertNotIn` " +"comprueban si *primero* está o no está en *segundo*." #: ../Doc/whatsnew/2.7.rst:1950 msgid "" ":meth:`~unittest.TestCase.assertItemsEqual` tests whether two provided " "sequences contain the same elements." msgstr "" +":meth:`~unittest.TestCase.assertItemsEqual` comprueba si dos secuencias " +"proporcionadas contienen los mismos elementos." #: ../Doc/whatsnew/2.7.rst:1953 msgid "" ":meth:`~unittest.TestCase.assertSetEqual` compares whether two sets are " "equal, and only reports the differences between the sets in case of error." msgstr "" +":meth:`~unittest.TestCase.assertSetEqual` compara si dos conjuntos son " +"iguales, y sólo informa de las diferencias entre los conjuntos en caso de " +"error." #: ../Doc/whatsnew/2.7.rst:1956 msgid "" @@ -2703,6 +3391,14 @@ msgid "" "assertSequenceEqual` compares two sequences and can optionally check whether " "both sequences are of a particular type." msgstr "" +"De forma similar, :meth:`~unittest.TestCase.assertListEqual` y :meth:" +"`~unittest.TestCase.assertTupleEqual` comparan los tipos especificados y " +"explican cualquier diferencia sin imprimir necesariamente sus valores " +"completos; estos métodos se utilizan ahora por defecto cuando se comparan " +"listas y tuplas utilizando :meth:`~unittest.TestCase.assertEqual`. De forma " +"más general, :meth:`~unittest.TestCase.assertSequenceEqual` compara dos " +"secuencias y puede comprobar opcionalmente si ambas secuencias son de un " +"tipo determinado." #: ../Doc/whatsnew/2.7.rst:1964 msgid "" @@ -2712,6 +3408,11 @@ msgid "" "TestCase.assertDictContainsSubset` checks whether all of the key/value pairs " "in *first* are found in *second*." msgstr "" +":meth:`~unittest.TestCase.assertDictEqual` compara dos diccionarios e " +"informa de las diferencias; ahora se utiliza por defecto cuando se comparan " +"dos diccionarios utilizando :meth:`~unittest.TestCase.assertEqual`. :meth:" +"`~unittest.TestCase.assertDictContainsSubset` comprueba si todos los pares " +"clave/valor de *primero* se encuentran en *segundo*." #: ../Doc/whatsnew/2.7.rst:1969 msgid "" @@ -2721,6 +3422,12 @@ msgid "" "specified number of *places* (the default is 7) and compare it to zero, or " "require the difference to be smaller than a supplied *delta* value." msgstr "" +":meth:`~unittest.TestCase.assertAlmostEqual` y :meth:`~unittest.TestCase." +"assertNotAlmostEqual` comprueban si *primero* y *segundo* son " +"aproximadamente iguales. Este método puede redondear su diferencia a un " +"número opcionalmente especificado de *lugares* (el valor por defecto es 7) y " +"compararlo con cero, o requerir que la diferencia sea menor que un valor " +"*delta* suministrado." #: ../Doc/whatsnew/2.7.rst:1975 msgid "" @@ -2728,6 +3435,9 @@ msgid "" "`~unittest.TestLoader.suiteClass` attribute of the :class:`~unittest." "TestLoader`. (Fixed by Mark Roddy; :issue:`6866`.)" msgstr "" +":meth:`~unittest.TestLoader.loadTestsFromName` respeta correctamente el " +"atributo :attr:`~unittest.TestLoader.suiteClass` de la :class:`~unittest." +"TestLoader`. (Corregido por Mark Roddy; :issue:`6866`.)" #: ../Doc/whatsnew/2.7.rst:1979 msgid "" @@ -2740,6 +3450,14 @@ msgid "" "information about why the two objects aren't matching, much as the new " "sequence comparison methods do." msgstr "" +"Un nuevo hook permite extender el método :meth:`~unittest.TestCase." +"assertEqual` para manejar nuevos tipos de datos. El método :meth:`~unittest." +"TestCase.addTypeEqualityFunc` toma un objeto de tipo y una función. La " +"función se utilizará cuando los dos objetos que se comparan sean del tipo " +"especificado. Esta función debe comparar los dos objetos y lanzar una " +"excepción si no coinciden; es una buena idea que la función proporcione " +"información adicional acerca de por qué los dos objetos no coinciden, al " +"igual que los nuevos métodos de comparación de secuencias." #: ../Doc/whatsnew/2.7.rst:1988 msgid "" @@ -2748,6 +3466,10 @@ msgid "" "`~unittest.main` to be used from the interactive interpreter. (Contributed " "by J. Pablo Fernández; :issue:`3379`.)" msgstr "" +":func:`unittest.main` ahora toma un argumento opcional ``exit``. Si es " +"falso, :func:`~unittest.main` no llama a :func:`sys.exit`, permitiendo que :" +"func:`~unittest.main` sea utilizado desde el intérprete interactivo. " +"(Contribuido por J. Pablo Fernández; :issue:`3379`.)" #: ../Doc/whatsnew/2.7.rst:1993 msgid "" @@ -2756,6 +3478,10 @@ msgid "" "called immediately before and after a test run. (Contributed by Robert " "Collins; :issue:`5728`.)" msgstr "" +":class:`~unittest.TestResult` tiene nuevos métodos :meth:`~unittest." +"TestResult.startTestRun` y :meth:`~unittest.TestResult.stopTestRun` que se " +"llaman inmediatamente antes y después de la ejecución de una prueba. " +"(Contribución de Robert Collins; :issue:`5728`.)" #: ../Doc/whatsnew/2.7.rst:1997 msgid "" @@ -2764,26 +3490,34 @@ msgid "" "several files (by Benjamin Peterson). This doesn't affect how the module is " "imported or used." msgstr "" +"Con todos estos cambios, el archivo :file:`unittest.py` se estaba volviendo " +"incómodamente grande, por lo que el módulo se convirtió en un paquete y el " +"código se dividió en varios archivos (por Benjamin Peterson). Esto no " +"afecta a la forma de importar o utilizar el módulo." #: ../Doc/whatsnew/2.7.rst:2005 msgid "http://www.voidspace.org.uk/python/articles/unittest2.shtml" -msgstr "" +msgstr "http://www.voidspace.org.uk/python/articles/unittest2.shtml" #: ../Doc/whatsnew/2.7.rst:2005 msgid "" "Describes the new features, how to use them, and the rationale for various " "design decisions. (By Michael Foord.)" msgstr "" +"Describe las nuevas funciones, cómo utilizarlas y la justificación de varias " +"decisiones de diseño. (Por Michael Foord.)" #: ../Doc/whatsnew/2.7.rst:2011 msgid "Updated module: ElementTree 1.3" -msgstr "" +msgstr "Módulo actualizado: ElementTree 1.3" #: ../Doc/whatsnew/2.7.rst:2013 msgid "" "The version of the ElementTree library included with Python was updated to " "version 1.3. Some of the new features are:" msgstr "" +"La versión de la biblioteca ElementTree incluida en Python se ha actualizado " +"a la versión 1.3. Algunas de las nuevas características son:" #: ../Doc/whatsnew/2.7.rst:2016 msgid "" @@ -2791,6 +3525,10 @@ msgid "" "an :class:`~xml.etree.ElementTree.XMLParser` instance that will be used. " "This makes it possible to override the file's internal encoding::" msgstr "" +"Las diversas funciones de análisis ahora toman un argumento de palabra clave " +"*parser* que da una instancia de :class:`~xml.etree.ElementTree.XMLParser` " +"que se utilizará. Esto hace posible anular la codificación interna del " +"archivo::" #: ../Doc/whatsnew/2.7.rst:2023 msgid "" @@ -2798,6 +3536,9 @@ msgid "" "instances have a :attr:`position` attribute containing a (*line*, *column*) " "tuple giving the location of the problem." msgstr "" +"Los errores en el análisis de XML ahora lanzan una excepción :exc:" +"`ParseError`, cuyas instancias tienen un atributo :attr:`position` que " +"contiene una tupla (*línea*, *columna*) que da la ubicación del problema." #: ../Doc/whatsnew/2.7.rst:2027 msgid "" @@ -2812,6 +3553,17 @@ msgid "" "the element will be omitted when the tree is written out, so you don't need " "to do more extensive rearrangement to remove a single element." msgstr "" +"El código de ElementTree para convertir árboles a una cadena ha sido " +"significativamente rediseñado, haciéndolo aproximadamente dos veces más " +"rápido en muchos casos. Los :meth:`ElementTree.write() ` y :meth:`Element.write` tienen ahora un " +"parámetro *method* que puede ser \"xml\" (el predeterminado), \"html\" o " +"\"text\". El modo HTML mostrará los elementos vacíos como ```` en lugar de ````, y el modo texto saltará los elementos y " +"sólo mostrará los trozos de texto. Si estableces el atributo :attr:`tag` de " +"un elemento como ``None`` pero dejas sus hijos en su sitio, el elemento será " +"omitido cuando el árbol sea escrito, por lo que no necesitarás hacer un " +"reordenamiento más extenso para eliminar un solo elemento." #: ../Doc/whatsnew/2.7.rst:2039 msgid "" @@ -2822,6 +3574,13 @@ msgid "" "meth:`~xml.etree.ElementTree.register_namespace`. In XML mode, you can use " "the true/false *xml_declaration* parameter to suppress the XML declaration." msgstr "" +"También se ha mejorado la gestión de los espacios de nombres. Ahora todas " +"las declaraciones``xmlns:`` se emiten en el elemento raíz, y no " +"dispersas en el XML resultante. Se puede establecer el espacio de nombres " +"por defecto para un árbol mediante el atributo :attr:`default_namespace` y " +"se pueden registrar nuevos prefijos con :meth:`~xml.etree.ElementTree." +"register_namespace`. En el modo XML, puede utilizar el parámetro true/false " +"*xml_declaration* para suprimir la declaración XML." #: ../Doc/whatsnew/2.7.rst:2047 msgid "" @@ -2830,6 +3589,10 @@ msgid "" "element's children. Elements themselves behave like sequences, so it's easy " "to move children from one element to another::" msgstr "" +"Nuevo método :class:`~xml.etree.ElementTree.Element`: :meth:`~xml.etree." +"ElementTree.Element.extend` añade los elementos de una secuencia a los hijos " +"del elemento. Los propios elementos se comportan como secuencias, por lo " +"que es fácil mover los hijos de un elemento a otro::" #: ../Doc/whatsnew/2.7.rst:2064 msgid "" @@ -2839,12 +3602,20 @@ msgid "" "existing method :meth:`getiterator` is now deprecated, as is :meth:" "`getchildren` which constructs and returns a list of children." msgstr "" +"Nuevo método :class:`Element`: :meth:`~xml.etree.ElementTree.Element.iter` " +"retorna los hijos del elemento como generador. También es posible escribir " +"``for child in elem:`` para hacer un bucle sobre los hijos de un elemento. " +"El método existente :meth:`getiterator` ha quedado obsoleto, al igual que :" +"meth:`getchildren` que construye y retorna una lista de hijos." #: ../Doc/whatsnew/2.7.rst:2071 msgid "" "New :class:`Element` method: :meth:`~xml.etree.ElementTree.Element.itertext` " "yields all chunks of text that are descendants of the element. For example::" msgstr "" +"Nuevo método :class:`Element`: :meth:`~xml.etree.ElementTree.Element." +"itertext` retorna todos los trozos de texto que son descendientes del " +"elemento. Por ejemplo::" #: ../Doc/whatsnew/2.7.rst:2082 msgid "" @@ -2855,6 +3626,12 @@ msgid "" "you should be explicit: write ``len(elem) != 0`` if you're interested in the " "number of children, or ``elem is not None``." msgstr "" +"Deprecado: el uso de un elemento como booleano (es decir, ``if elem:``) " +"retornaba true si el elemento tenía algún hijo, o false si no había ningún " +"hijo. Este comportamiento es confuso -- ``None`` es falso, pero también lo " +"es un elemento sin hijos? -- por lo que ahora provocará un :exc:" +"`FutureWarning`. En tu código, deberías ser explícito: escribe ``len(elem) !" +"= 0`` si te interesa el número de hijos, o ``elem no es None``." #: ../Doc/whatsnew/2.7.rst:2090 msgid "" @@ -2863,14 +3640,20 @@ msgid "" "intro.htm. Florent Xicluna updated the version included with Python, after " "discussions on python-dev and in :issue:`6472`.)" msgstr "" +"Fredrik Lundh desarrolla ElementTree y produjo la versión 1.3; puedes leer " +"su artículo describiendo la 1.3 en http://effbot.org/zone/elementtree-13-" +"intro.htm. Florent Xicluna actualizó la versión incluida con Python, tras " +"las discusiones en python-dev y en :issue:`6472`)" #: ../Doc/whatsnew/2.7.rst:2100 msgid "Build and C API Changes" -msgstr "" +msgstr "Cambios en la API de construcción y C" #: ../Doc/whatsnew/2.7.rst:2102 msgid "Changes to Python's build process and to the C API include:" msgstr "" +"Los cambios en el proceso de construcción de Python y en la API de C " +"incluyen:" #: ../Doc/whatsnew/2.7.rst:2104 msgid "" @@ -2884,6 +3667,16 @@ msgid "" "print`` prints the value of a Python variable, and ``py-bt`` prints the " "Python stack trace. (Added as a result of :issue:`8032`.)" msgstr "" +"La última versión del depurador de GNU, GDB 7, puede ser `scripted usando " +"Python `__. " +"Cuando comience a depurar un programa ejecutable P, GDB buscará un archivo " +"llamado ``P-gdb.py`` y lo leerá automáticamente. Dave Malcolm contribuyó " +"con un archivo :file:`python-gdb.py` que añade una serie de comandos útiles " +"cuando se depura el propio Python. Por ejemplo, ``py-up`` y ``py-down`` " +"suben o bajan un marco de pila de Python, que normalmente corresponde a " +"varios marcos de pila de C. ``py-print`` imprime el valor de una variable " +"de Python, y ``py-bt`` imprime el seguimiento de la pila de Python. " +"(Añadido como resultado de :issue:`8032`.)" #: ../Doc/whatsnew/2.7.rst:2116 msgid "" @@ -2892,6 +3685,10 @@ msgid "" "doesn't hold the GIL; the macro now acquires it before printing. " "(Contributed by Victor Stinner; :issue:`3632`.)" msgstr "" +"Si utiliza el archivo :file:`.gdbinit` proporcionado con Python, la macro " +"\"pyo\" en la versión 2.7 ahora funciona correctamente cuando el hilo que se " +"está depurando no tiene el GIL; la macro ahora lo adquiere antes de " +"imprimir. (Contribución de Victor Stinner; :issue:`3632`.)" #: ../Doc/whatsnew/2.7.rst:2121 msgid "" @@ -2900,6 +3697,10 @@ msgid "" "for asynchronous IO operations. (Contributed by Kristján Valur Jónsson; :" "issue:`4293`.)" msgstr "" +":c:func:`Py_AddPendingCall` ahora es seguro para los hilos, permitiendo que " +"cualquier hilo trabajador envíe notificaciones al hilo principal de Python. " +"Esto es particularmente útil para las operaciones asíncronas de IO. " +"(Contribuido por Kristján Valur Jónsson; :issue:`4293`.)" #: ../Doc/whatsnew/2.7.rst:2126 msgid "" @@ -2909,6 +3710,12 @@ msgid "" "traceback stack. Previously such extensions needed to call :c:func:" "`PyCode_New`, which had many more arguments. (Added by Jeffrey Yasskin.)" msgstr "" +"Nueva función: :c:func:`PyCode_NewEmpty` crea un objeto de código vacío; " +"sólo se requiere el nombre del archivo, el nombre de la función y el número " +"de la primera línea. Esto es útil para los módulos de extensión que intentan " +"construir una pila de rastreo más útil. Anteriormente tales extensiones " +"necesitaban llamar a :c:func:`PyCode_New`, que tenía muchos más argumentos. " +"(Añadido por Jeffrey Yasskin)" #: ../Doc/whatsnew/2.7.rst:2133 msgid "" @@ -2917,6 +3724,10 @@ msgid "" "extra ``char *`` argument containing the docstring for the new exception " "class. (Added by 'lekma' on the Python bug tracker; :issue:`7033`.)" msgstr "" +"Nueva función: :c:func:`PyErr_NewExceptionWithDoc` crea una nueva clase de " +"excepción, igual que la existente :c:func:`PyErr_NewException`, pero toma un " +"argumento extra ``char *`` que contiene el docstring de la nueva clase de " +"excepción. (Añadido por 'lekma' en el bug tracker de Python; :issue:`7033`)" #: ../Doc/whatsnew/2.7.rst:2139 msgid "" @@ -2926,6 +3737,11 @@ msgid "" "executing, and then look up the line number corresponding to that address. " "(Added by Jeffrey Yasskin.)" msgstr "" +"Nueva función: :c:func:`PyFrame_GetLineNumber` toma un objeto frame y " +"retorna el número de línea que el frame está ejecutando actualmente. " +"Anteriormente, el código tenía que obtener el índice de la instrucción de " +"código de bytes que se estaba ejecutando, y luego buscar el número de línea " +"correspondiente a esa dirección. (Añadido por Jeffrey Yasskin)" #: ../Doc/whatsnew/2.7.rst:2145 msgid "" @@ -2935,6 +3751,12 @@ msgid "" "the output type, an *overflow* flag is set and returned to the caller. " "(Contributed by Case Van Horsen; :issue:`7528` and :issue:`7767`.)" msgstr "" +"Nuevas funciones: :c:func:`PyLong_AsLongAndOverflow` y :c:func:" +"`PyLong_AsLongLongAndOverflow` aproximan un entero Python long como un C :c:" +"type:`long` o :c:type:`long long`. Si el número es demasiado grande para " +"caber en el tipo de salida, se establece una bandera *overflow* y se retorna " +"al invocador. (Contribución de Case Van Horsen; :issue:`7528` y :issue:" +"`7767`)" #: ../Doc/whatsnew/2.7.rst:2152 msgid "" @@ -2943,6 +3765,10 @@ msgid "" "`PyOS_ascii_strtod` and :c:func:`PyOS_ascii_atof` functions are now " "deprecated." msgstr "" +"Nueva función: a raíz de la reescritura de la conversión de cadena a " +"flotante, se ha añadido una nueva función :c:func:`PyOS_string_to_double`. " +"Las antiguas funciones :c:func:`PyOS_ascii_strtod` y :c:func:" +"`PyOS_ascii_atof` han quedado obsoletas." #: ../Doc/whatsnew/2.7.rst:2157 msgid "" @@ -2951,6 +3777,10 @@ msgid "" "script named by ``sys.argv[0]`` depending on the value of an *updatepath* " "parameter." msgstr "" +"Nueva función: :c:func:`PySys_SetArgvEx` establece el valor de ``sys.argv`` " +"y puede opcionalmente actualizar ``sys.path`` para incluir el directorio que " +"contiene el script nombrado por ``sys.argv[0]`` dependiendo del valor de un " +"parámetro *updatepath*." #: ../Doc/whatsnew/2.7.rst:2162 msgid "" @@ -2962,6 +3792,14 @@ msgid "" "(say, a file named :file:`os.py`) that your application would then import " "and run." msgstr "" +"Esta función se añadió para cerrar un agujero de seguridad para las " +"aplicaciones que incrustan Python. La antigua función, :c:func:" +"`PySys_SetArgv`, siempre actualizaba ``sys.path``, y a veces añadía el " +"directorio actual. Esto significaba que, si ejecutabas una aplicación que " +"incrustaba Python en un directorio controlado por otra persona, los " +"atacantes podían poner un módulo de caballo de Troya en el directorio " +"(digamos, un archivo llamado :file:`os.py`) que tu aplicación luego " +"importaría y ejecutaría." #: ../Doc/whatsnew/2.7.rst:2170 msgid "" @@ -2970,6 +3808,10 @@ msgid "" "application should be using :c:func:`PySys_SetArgvEx` with *updatepath* set " "to false." msgstr "" +"Si mantienes una aplicación C/C++ que incrusta Python, comprueba si estás " +"llamando a :c:func:`PySys_SetArgv` y considera cuidadosamente si la " +"aplicación debería estar usando :c:func:`PySys_SetArgvEx` con *updatepath* " +"establecido en false." #: ../Doc/whatsnew/2.7.rst:2175 msgid "" @@ -2977,6 +3819,9 @@ msgid "" "cvename.cgi?name=CVE-2008-5983>`_; discussed in :issue:`5753`, and fixed by " "Antoine Pitrou." msgstr "" +"Problema de seguridad reportado como `CVE-2008-5983 `_; discutido en :issue:`5753`, y " +"solucionado por Antoine Pitrou." #: ../Doc/whatsnew/2.7.rst:2179 msgid "" @@ -2989,6 +3834,15 @@ msgid "" "Python needs to analyze characters in a locale-independent way. (Added by " "Eric Smith; :issue:`5793`.)" msgstr "" +"Nuevas macros: los ficheros de cabecera de Python definen ahora las " +"siguientes macros: :c:macro:`Py_ISALNUM`, :c:macro:`Py_ISALPHA`, :c:macro:" +"`Py_ISDIGIT`, :c:macro:`Py_ISLOWER`, :c:macro:`Py_ISSPACE`, :c:macro:" +"`Py_ISUPPER`, :c:macro:`Py_ISXDIGIT`, :c:macro:`Py_TOLOWER` y :c:macro:" +"`Py_TOUPPER`. Todas estas funciones son análogas a las macros estándar de C " +"para clasificar caracteres, pero ignoran la configuración regional actual, " +"porque en varios lugares Python necesita analizar los caracteres de forma " +"independiente de la configuración regional. (Añadido por Eric Smith; :issue:" +"`5793`.)" #: ../Doc/whatsnew/2.7.rst:2197 msgid "" @@ -2997,6 +3851,10 @@ msgid "" "compatibility, but that was in 1997; it can certainly be deleted by now. " "(Removed by Antoine Pitrou; :issue:`8276`.)" msgstr "" +"Función eliminada: :c:macro:`PyEval_CallObject` ahora sólo está disponible " +"como macro. Se mantenía una versión de la función para preservar la " +"compatibilidad con el enlace ABI, pero eso fue en 1997; seguramente se puede " +"eliminar ahora. (Eliminado por Antoine Pitrou; :issue:`8276`.)" #: ../Doc/whatsnew/2.7.rst:2202 msgid "" @@ -3005,6 +3863,10 @@ msgid "" "%lld`` and ``%llu`` format codes for displaying C's :c:type:`long long` " "types. (Contributed by Mark Dickinson; :issue:`7228`.)" msgstr "" +"Nuevos códigos de formato: las funciones :c:func:`PyFormat_FromString`, :c:" +"func:`PyFormat_FromStringV` y :c:func:`PyErr_Format` aceptan ahora los " +"códigos de formato ``%lld`` y ``%llu`` para mostrar los tipos :c:type:`long " +"long` de C. (Contribución de Mark Dickinson; :issue:`7228`.)" #: ../Doc/whatsnew/2.7.rst:2208 msgid "" @@ -3017,6 +3879,14 @@ msgid "" "nothing would ever release the lock, since the other threads weren't " "replicated, and the child process would no longer be able to perform imports." msgstr "" +"Se ha cambiado la complicada interacción entre los hilos y la bifurcación de " +"procesos. Anteriormente, el proceso hijo creado por :func:`os.fork` podía " +"fallar porque el hijo se creaba con un solo hilo en ejecución, el hilo que " +"realizaba el :func:`os.fork`. Si otros hilos estuvieran manteniendo un " +"bloqueo, como el bloqueo de importación de Python, cuando se realizara el " +"fork, el bloqueo seguiría marcado como \"mantenido\" en el nuevo proceso. " +"Pero en el proceso hijo nada liberaría el bloqueo, ya que los otros hilos no " +"estaban replicados, y el proceso hijo ya no podría realizar importaciones." #: ../Doc/whatsnew/2.7.rst:2218 msgid "" @@ -3025,10 +3895,14 @@ msgid "" "C extension modules that have internal locks, or that call :c:func:`fork()` " "themselves, will not benefit from this clean-up." msgstr "" +"Python 2.7 adquiere el bloqueo de importación antes de realizar un :func:`os." +"fork`, y también limpiará cualquier bloqueo creado usando el módulo :mod:" +"`threading`. Los módulos de extensión C que tienen bloqueos internos, o que " +"llaman a :c:func:`fork()` ellos mismos, no se beneficiarán de esta limpieza." #: ../Doc/whatsnew/2.7.rst:2224 msgid "(Fixed by Thomas Wouters; :issue:`1590864`.)" -msgstr "" +msgstr "(Corregido por Thomas Wouters; :issue:`1590864`.)" #: ../Doc/whatsnew/2.7.rst:2226 msgid "" @@ -3036,6 +3910,9 @@ msgid "" "_shutdown` function; this prevents some exceptions from being raised when an " "interpreter shuts down. (Patch by Adam Olsen; :issue:`1722344`.)" msgstr "" +"La función :c:func:`Py_Finalize` ahora llama a la función interna :func:" +"`threading._shutdown`; esto evita que se produzcan algunas excepciones " +"cuando un intérprete se cierra. (Parche de Adam Olsen; :issue:`1722344`.)" #: ../Doc/whatsnew/2.7.rst:2231 msgid "" @@ -3043,12 +3920,18 @@ msgid "" "type, Python will no longer let you try to delete or set a :const:" "`T_STRING_INPLACE` attribute." msgstr "" +"Cuando se utiliza la estructura :c:type:`PyMemberDef` para definir los " +"atributos de un tipo, Python ya no permitirá que se intente borrar o " +"establecer un atributo :const:`T_STRING_INPLACE`." #: ../Doc/whatsnew/2.7.rst:2237 msgid "" "Global symbols defined by the :mod:`ctypes` module are now prefixed with " "``Py``, or with ``_ctypes``. (Implemented by Thomas Heller; :issue:`3102`.)" msgstr "" +"Los símbolos globales definidos por el módulo :mod:`ctypes` llevan ahora el " +"prefijo ``Py``, o bien ``_ctypes``. (Implementado por Thomas Heller; :issue:" +"`3102`.)" #: ../Doc/whatsnew/2.7.rst:2241 msgid "" @@ -3056,6 +3939,10 @@ msgid "" "building the :mod:`pyexpat` module to use the system Expat library. " "(Contributed by Arfrever Frehtes Taifersar Arahesis; :issue:`7609`.)" msgstr "" +"Nueva opción de configuración: la opción :option:`!--with-system-expat` " +"permite construir el módulo :mod:`pyexpat` para utilizar la biblioteca Expat " +"del sistema. (Contribuido por Arfrever Frehtes Taifersar Arahesis; :issue:" +"`7609`.)" #: ../Doc/whatsnew/2.7.rst:2245 msgid "" @@ -3065,6 +3952,11 @@ msgid "" "detecting memory leaks and overruns. (Contributed by James Henstridge; :" "issue:`2422`.)" msgstr "" +"Nueva opción de configuración: la opción :option:`!--with-valgrind` ahora " +"desactivará el asignador pymalloc, que es difícil de analizar correctamente " +"por el detector de errores de memoria de Valgrind. Por lo tanto, Valgrind " +"detectará mejor las fugas de memoria y los desbordamientos. (Contribución de " +"James Henstridge; :issue:`2422`.)" #: ../Doc/whatsnew/2.7.rst:2252 msgid "" @@ -3072,6 +3964,9 @@ msgid "" "dbmliborder=` in order to disable all of the various DBM modules. (Added by " "Arfrever Frehtes Taifersar Arahesis; :issue:`6491`.)" msgstr "" +"Nueva opción de configuración: ahora puede suministrar una cadena vacía a :" +"option:`!--with-dbmliborder=` para desactivar todos los módulos DBM. " +"(Añadido por Arfrever Frehtes Taifersar Arahesis; :issue:`6491`)" #: ../Doc/whatsnew/2.7.rst:2257 msgid "" @@ -3081,6 +3976,11 @@ msgid "" "available if anyone wishes to use it. (Added by Mark Dickinson; :issue:" "`2937`.)" msgstr "" +"El script :program:`configure` comprueba ahora los errores de redondeo en " +"coma flotante en ciertos chips Intel de 32 bits y define una definición del " +"preprocesador :c:macro:`X87_DOUBLE_ROUNDING`. Ningún código utiliza " +"actualmente esta definición, pero está disponible si alguien desea " +"utilizarla. (Añadido por Mark Dickinson; :issue:`2937`.)" #: ../Doc/whatsnew/2.7.rst:2263 msgid "" @@ -3088,22 +3988,29 @@ msgid "" "for supporting C++ linking. (Contributed by Arfrever Frehtes Taifersar " "Arahesis; :issue:`1222585`.)" msgstr "" +":program:`configure` ahora también establece una variable Makefile :envvar:" +"`LDCXXSHARED` para soportar el enlazado de C++. (Contribuido por Arfrever " +"Frehtes Taifersar Arahesis; :issue:`1222585`.)" #: ../Doc/whatsnew/2.7.rst:2267 msgid "" "The build process now creates the necessary files for pkg-config support. " "(Contributed by Clinton Roy; :issue:`3585`.)" msgstr "" +"El proceso de construcción ahora crea los archivos necesarios para el " +"soporte de pkg-config. (Contribución de Clinton Roy; :issue:`3585`.)" #: ../Doc/whatsnew/2.7.rst:2270 msgid "" "The build process now supports Subversion 1.7. (Contributed by Arfrever " "Frehtes Taifersar Arahesis; :issue:`6094`.)" msgstr "" +"El proceso de construcción ahora soporta Subversion 1.7. (Contribuido por " +"Arfrever Frehtes Taifersar Arahesis; :issue:`6094`.)" #: ../Doc/whatsnew/2.7.rst:2277 msgid "Capsules" -msgstr "" +msgstr "Cápsulas" #: ../Doc/whatsnew/2.7.rst:2279 msgid "" @@ -3116,6 +4023,15 @@ msgid "" "``void *`` pointer, which will usually point to an array of pointers to the " "module's various API functions." msgstr "" +"Python 3.1 añade un nuevo tipo de datos C, :c:type:`PyCapsule`, para " +"proporcionar una API C a un módulo de extensión. Una cápsula es " +"esencialmente el soporte de un puntero C ``void *``, y está disponible como " +"un atributo del módulo; por ejemplo, la API del módulo :mod:`socket` se " +"expone como ``socket.CAPI``, y :mod:`unicodedata` expone ``ucnhash_CAPI``. " +"Otras extensiones pueden importar el módulo, acceder a su diccionario para " +"obtener el objeto cápsula, y luego obtener el puntero ``void *``, que " +"normalmente apuntará a una matriz de punteros a las diversas funciones de la " +"API del módulo." #: ../Doc/whatsnew/2.7.rst:2288 msgid "" @@ -3125,6 +4041,12 @@ msgid "" "somehow substituting it for the :c:type:`PyCObject` in module B. Capsules " "know their own name, and getting the pointer requires providing the name:" msgstr "" +"Existe un tipo de datos ya utilizado para esto, :c:type:`PyCObject`, pero no " +"proporciona seguridad de tipo. Un código malvado escrito en Python puro " +"podría causar un fallo de segmentación tomando un :c:type:`PyCObject` del " +"módulo A y sustituyéndolo de alguna manera por el :c:type:`PyCObject` del " +"módulo B. Las cápsulas conocen su propio nombre, y obtener el puntero " +"requiere proporcionar el nombre:" #: ../Doc/whatsnew/2.7.rst:2306 msgid "" @@ -3133,6 +4055,10 @@ msgid "" "the mismatched name and return false. Refer to :ref:`using-capsules` for " "more information on using these objects." msgstr "" +"Se asegura que ``vtable`` apunta a lo que se espera. Si se pasara una " +"cápsula diferente, :c:func:`PyCapsule_IsValid` detectaría el nombre erróneo " +"y retornaría false. Consulta :ref:`using-capsules` para más información " +"sobre el uso de estos objetos." #: ../Doc/whatsnew/2.7.rst:2311 msgid "" @@ -3142,16 +4068,24 @@ msgid "" "Use of :c:func:`PyCObject_AsVoidPtr` will signal a :exc:" "`PendingDeprecationWarning`, which is silent by default." msgstr "" +"Python 2.7 ahora utiliza cápsulas internamente para proporcionar varias APIs " +"de módulos de extensión, pero el :c:func:`PyCObject_AsVoidPtr` fue " +"modificado para manejar cápsulas, preservando la compatibilidad en tiempo de " +"compilación con la interfaz :c:type:`CObject`. El uso de :c:func:" +"`PyCObject_AsVoidPtr` señalará un :exc:`PendingDeprecationWarning`, que es " +"silencioso por defecto." #: ../Doc/whatsnew/2.7.rst:2318 msgid "" "Implemented in Python 3.1 and backported to 2.7 by Larry Hastings; discussed " "in :issue:`5630`." msgstr "" +"Implementado en Python 3.1 y portado a 2.7 por Larry Hastings; discutido en :" +"issue:`5630`." #: ../Doc/whatsnew/2.7.rst:2325 msgid "Port-Specific Changes: Windows" -msgstr "" +msgstr "Cambios específicos en los puertos: Windows" #: ../Doc/whatsnew/2.7.rst:2327 msgid "" @@ -3160,6 +4094,10 @@ msgid "" "`VC_ASSEMBLY_PUBLICKEYTOKEN`, and :data:`LIBRARIES_ASSEMBLY_NAME_PREFIX`. " "(Contributed by David Cournapeau; :issue:`4365`.)" msgstr "" +"El módulo :mod:`msvcrt` contiene ahora algunas constantes del fichero de " +"cabecera :file:`crtassem.h`: :data:`CRT_ASSEMBLY_VERSION`, :data:" +"`VC_ASSEMBLY_PUBLICKEYTOKEN`, y :data:`LIBRARIES_ASSEMBLY_NAME_PREFIX`. " +"(Contribución de David Cournapeau; :issue:`4365`.)" #: ../Doc/whatsnew/2.7.rst:2334 msgid "" @@ -3170,6 +4108,13 @@ msgid "" "EnableReflectionKey`, and :func:`~_winreg.QueryReflectionKey` were also " "tested and documented. (Implemented by Brian Curtin: :issue:`7347`.)" msgstr "" +"El módulo :mod:`_winreg` para acceder al registro implementa ahora las " +"funciones :func:`~_winreg.CreateKeyEx` y :func:`~_winreg.DeleteKeyEx`, " +"versiones extendidas de las funciones soportadas anteriormente que toman " +"varios argumentos extra. También se han probado y documentado las " +"funciones :func:`~_winreg.DisableReflectionKey`, :func:`~_winreg." +"EnableReflectionKey` y :func:`~_winreg.QueryReflectionKey`. (Implementado " +"por Brian Curtin: :issue:`7347`.)" #: ../Doc/whatsnew/2.7.rst:2342 msgid "" @@ -3177,6 +4122,9 @@ msgid "" "native thread-local storage functions are now used. (Contributed by Kristján " "Valur Jónsson; :issue:`3582`.)" msgstr "" +"La nueva API :c:func:`_beginthreadex` se utiliza para iniciar hilos, y ahora " +"se utilizan las funciones nativas de almacenamiento local de hilos. " +"(Contribuido por Kristján Valur Jónsson; :issue:`3582`.)" #: ../Doc/whatsnew/2.7.rst:2346 msgid "" @@ -3187,22 +4135,32 @@ msgid "" "the :c:func:`TerminateProcess` API. (Contributed by Miki Tebeka; :issue:" "`1220212`.)" msgstr "" +"La función :func:`os.kill` ahora funciona en Windows. El valor de la señal " +"puede ser las constantes :const:`CTRL_C_EVENT`, :const:`CTRL_BREAK_EVENT`, o " +"cualquier número entero. Las dos primeras constantes enviarán los eventos " +"de pulsación de teclas :kbd:`Control-C` y :kbd:`Control-Break` a los " +"subprocesos; cualquier otro valor utilizará la API :c:func:" +"`TerminateProcess`. (Contribuido por Miki Tebeka; :issue:`1220212`.)" #: ../Doc/whatsnew/2.7.rst:2353 msgid "" "The :func:`os.listdir` function now correctly fails for an empty path. " "(Fixed by Hirokazu Yamamoto; :issue:`5913`.)" msgstr "" +"La función :func:`os.listdir` ahora falla correctamente si la ruta está " +"vacía. (Corregido por Hirokazu Yamamoto; :issue:`5913`.)" #: ../Doc/whatsnew/2.7.rst:2356 msgid "" "The :mod:`mimelib` module will now read the MIME database from the Windows " "registry when initializing. (Patch by Gabriel Genellina; :issue:`4969`.)" msgstr "" +"El módulo :mod:`mimelib` ahora leerá la base de datos MIME del registro de " +"Windows cuando se inicialice. (Parche de Gabriel Genellina; :issue:`4969`.)" #: ../Doc/whatsnew/2.7.rst:2363 msgid "Port-Specific Changes: Mac OS X" -msgstr "" +msgstr "Cambios específicos en los puertos: Mac OS X" #: ../Doc/whatsnew/2.7.rst:2365 msgid "" @@ -3211,6 +4169,10 @@ msgid "" "a user-installed copy of the same version. (Changed by Ronald Oussoren; :" "issue:`4865`.)" msgstr "" +"La ruta ``/Library/Python/2.7/site-packages`` se añade ahora a ``sys.path``, " +"para compartir los paquetes añadidos entre la instalación del sistema y una " +"copia de la misma versión instalada por el usuario. (Cambiado por Ronald " +"Oussoren; :issue:`4865`.)" #: ../Doc/whatsnew/2.7.rst:2372 msgid "" @@ -3223,10 +4185,19 @@ msgid "" "installed for the system Python will no longer be shared with user-installed " "Pythons. (:issue:`28440`)" msgstr "" +"A partir de la versión 2.7.13, se ha eliminado este cambio. ``/Library/" +"Python/2.7/site-packages``, el directorio site-packages utilizado por el " +"sistema Python 2.7 suministrado por Apple ya no se añade a ``sys.path`` para " +"los Python instalados por el usuario, como los instaladores de python.org. " +"A partir de macOS 10.12, Apple ha cambiado la configuración del directorio " +"site-packages del sistema, lo que puede hacer que falle la instalación de " +"componentes pip, como setuptools. Los paquetes instalados para el sistema " +"Python ya no se compartirán con los Python instalados por el usuario. (:" +"issue:`28440`)" #: ../Doc/whatsnew/2.7.rst:2383 msgid "Port-Specific Changes: FreeBSD" -msgstr "" +msgstr "Cambios específicos en los puertos: FreeBSD" #: ../Doc/whatsnew/2.7.rst:2385 msgid "" @@ -3235,10 +4206,14 @@ msgid "" "is now available in the :mod:`socket` module. (Added by Kyle VanderBeek; :" "issue:`8235`.)" msgstr "" +"La constante :const:`SO_SETFIB` de FreeBSD 7.1, utilizada con :func:`~socket." +"getsockopt`/:func:`~socket.setsockopt` para seleccionar una tabla de " +"enrutamiento alternativa, está ahora disponible en el módulo :mod:`socket`. " +"(Añadido por Kyle VanderBeek; :issue:`8235`.)" #: ../Doc/whatsnew/2.7.rst:2391 msgid "Other Changes and Fixes" -msgstr "" +msgstr "Otros cambios y correcciones" #: ../Doc/whatsnew/2.7.rst:2393 msgid "" @@ -3249,12 +4224,21 @@ msgid "" "measure computing throughput, thread switching latency, and IO processing " "bandwidth when performing several tasks using a varying number of threads." msgstr "" +"Dos scripts de evaluación, :file:`iobench` y :file:`ccbench`, han sido " +"añadidos al directorio :file:`Tools`. :file:`iobench` mide la velocidad de " +"los objetos de E/S de los archivos retornados por :func:`open` al realizar " +"varias operaciones, y :file:`ccbench` es una evaluación de concurrencia que " +"trata de medir el rendimiento de la computación, la latencia del cambio de " +"hilos y el ancho de banda del procesamiento de E/S al realizar varias tareas " +"utilizando un número variable de hilos." #: ../Doc/whatsnew/2.7.rst:2401 msgid "" "The :file:`Tools/i18n/msgfmt.py` script now understands plural forms in :" "file:`.po` files. (Fixed by Martin von Löwis; :issue:`5464`.)" msgstr "" +"El script :file:`Tools/i18n/msgfmt.py` ahora entiende las formas plurales en " +"los archivos :file:`.po`. (Corregido por Martin von Löwis; :issue:`5464`.)" #: ../Doc/whatsnew/2.7.rst:2405 msgid "" @@ -3265,6 +4249,12 @@ msgid "" "accessed through different paths. (Patch by Ziga Seilnacht and Jean-Paul " "Calderone; :issue:`1180193`.)" msgstr "" +"Cuando se importa un módulo desde un archivo :file:`.pyc` o :file:`.pyo` con " +"una contraparte :file:`.py` existente, los atributos :attr:`co_filename` de " +"los objetos de código resultantes se sobrescriben cuando el nombre de " +"archivo original es obsoleto. Esto puede ocurrir si el archivo ha sido " +"renombrado, movido, o se accede a él a través de diferentes rutas. (Parche " +"de Ziga Seilnacht y Jean-Paul Calderone; :issue:`1180193`.)" #: ../Doc/whatsnew/2.7.rst:2412 msgid "" @@ -3273,6 +4263,11 @@ msgid "" "`!-r` option that executes tests in random order. The :option:`!-r` option " "also reports the seed that was used (Added by Collin Winter.)" msgstr "" +"El script :file:`regrtest.py` ahora toma una opción :option:`!--randseed=` " +"que toma un entero que será usado como semilla aleatoria para la opción :" +"option:`!-r` que ejecuta las pruebas en orden aleatorio. La opción :option:" +"`!-r` también informa de la semilla que se ha utilizado (Añadido por Collin " +"Winter.)" #: ../Doc/whatsnew/2.7.rst:2418 msgid "" @@ -3284,6 +4279,14 @@ msgid "" "with a new :option:`!-F` switch that runs selected tests in a loop until " "they fail. (Added by Antoine Pitrou; :issue:`7312`.)" msgstr "" +"Otra opción :file:`regrtest.py` es :option:`!-j`, que toma un número entero " +"que especifica cuántas pruebas se ejecutan en paralelo. Esto permite reducir " +"el tiempo total de ejecución en máquinas multinúcleo. Esta opción es " +"compatible con varias otras opciones, incluyendo la opción :option:`!-R` que " +"es conocida por producir tiempos de ejecución largos. (Añadido por Antoine " +"Pitrou, :issue:`6152`.) También puede utilizarse con una nueva opción :" +"option:`!-F` que ejecuta las pruebas seleccionadas en un bucle hasta que " +"fallen. (Añadido por Antoine Pitrou; :issue:`7312`.)" #: ../Doc/whatsnew/2.7.rst:2427 msgid "" @@ -3291,16 +4294,22 @@ msgid "" "``'-'`` as an argument, which will read standard input for the list of " "filenames to be compiled. (Contributed by Piotr Ożarowski; :issue:`8233`.)" msgstr "" +"Cuando se ejecuta como un script, el módulo :file:`py_compile.py` ahora " +"acepta ``'-'`` como argumento, que leerá la entrada estándar para la lista " +"de nombres de archivos a compilar. (Contribuido por Piotr Ożarowski; :issue:" +"`8233`.)" #: ../Doc/whatsnew/2.7.rst:2435 msgid "Porting to Python 2.7" -msgstr "" +msgstr "Adaptación a Python 2.7" #: ../Doc/whatsnew/2.7.rst:2437 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 su código:" #: ../Doc/whatsnew/2.7.rst:2440 msgid "" @@ -3308,6 +4317,9 @@ msgid "" "will now call :meth:`__int__` on non-float, non-integer arguments that are " "supplied to it. (Fixed by Alexander Belopolsky; :issue:`1533`.)" msgstr "" +"La función :func:`range` procesa sus argumentos de forma más consistente; " +"ahora llamará a :meth:`__int__` en los argumentos no flotantes y no enteros " +"que se le suministren. (Corregido por Alexander Belopolsky; :issue:`1533`.)" #: ../Doc/whatsnew/2.7.rst:2445 msgid "" @@ -3316,6 +4328,10 @@ msgid "" "matches the precision used by :func:`str`. (Changed by Eric Smith; :issue:" "`5920`.)" msgstr "" +"El método string :meth:`format` ha cambiado la precisión por defecto " +"utilizada para los números de punto flotante y complejos de 6 decimales a " +"12, que coincide con la precisión utilizada por :func:`str`. (Cambiado por " +"Eric Smith; :issue:`5920`.)" #: ../Doc/whatsnew/2.7.rst:2450 msgid "" @@ -3325,6 +4341,11 @@ msgid "" "affects new-style classes (derived from :class:`object`) and C extension " "types. (:issue:`6101`.)" msgstr "" +"Debido a una optimización de la sentencia :keyword:`with`, los métodos " +"especiales :meth:`__enter__` y :meth:`__exit__` deben pertenecer al tipo del " +"objeto, y no pueden adjuntarse directamente a la instancia del objeto. Esto " +"afecta a las clases de nuevo estilo (derivadas de :class:`object`) y a los " +"tipos de extensión de C. (:issue:`6101`.)" #: ../Doc/whatsnew/2.7.rst:2456 msgid "" @@ -3333,10 +4354,14 @@ msgid "" "instance. This was fixed in 2.7, so *exc_value* will be an instance as " "expected. (Fixed by Florent Xicluna; :issue:`7853`.)" msgstr "" +"Debido a un error en Python 2.6, el parámetro *exc_value* de los métodos :" +"meth:`__exit__` era a menudo la representación en cadena de la excepción, no " +"una instancia. Esto fue corregido en 2.7, así que *exc_value* será una " +"instancia como se esperaba. (Corregido por Florent Xicluna; :issue:`7853`.)" #: ../Doc/whatsnew/2.7.rst:2466 msgid "In the standard library:" -msgstr "" +msgstr "En la biblioteca estándar:" #: ../Doc/whatsnew/2.7.rst:2468 msgid "" @@ -3346,6 +4371,11 @@ msgid "" "raise the exception. (Reported by Mark Leander, patch by Anand B. Pillai and " "Alexander Belopolsky; :issue:`7150`.)" msgstr "" +"Las operaciones con instancias :class:`~datetime.datetime` que daban como " +"resultado un año que caía fuera del rango soportado no siempre lanzaban :exc:" +"`OverflowError`. Estos errores se comprueban ahora con más cuidado y se " +"lanzará la excepción. (Informado por Mark Leander, parche de Anand B. Pillai " +"y Alexander Belopolsky; :issue:`7150`)" #: ../Doc/whatsnew/2.7.rst:2474 msgid "" @@ -3354,6 +4384,10 @@ msgid "" "has been changed to right-alignment, which might change the output of your " "programs. (Changed by Mark Dickinson; :issue:`6857`.)" msgstr "" +"Cuando se utilizan instancias :class:`~decimal.Decimal` con el método :meth:" +"`format` de una cadena, la alineación por defecto era antes la alineación a " +"la izquierda. Se ha cambiado a alineación derecha, lo que podría cambiar la " +"salida de sus programas. (Cambiado por Mark Dickinson; :issue:`6857`.)" #: ../Doc/whatsnew/2.7.rst:2480 msgid "" @@ -3362,6 +4396,11 @@ msgid "" "value depending on the comparison operator. Quiet NaN values (or ``NaN``) " "are now hashable. (Fixed by Mark Dickinson; :issue:`7279`.)" msgstr "" +"Las comparaciones que implican un valor NaN de señalización (o ``sNAN``) " +"señalan ahora :const:`~decimal.InvalidOperation` en lugar de retornar " +"silenciosamente un valor verdadero o falso dependiendo del operador de " +"comparación. Los valores NaN silenciosos (o ``NaN``) son ahora hashable. " +"(Corregido por Mark Dickinson; :issue:`7279`.)" #: ../Doc/whatsnew/2.7.rst:2486 msgid "" @@ -3370,6 +4409,10 @@ msgid "" "like ``) or comment (which looks like " "``). (Patch by Neil Muller; :issue:`2746`.)" msgstr "" +"La biblioteca ElementTree, :mod:`xml.etree`, ya no escapa los ampersands y " +"los paréntesis angulares cuando se emite una instrucción de procesamiento " +"XML (que se parece a ``) o un comentario " +"(que se parece a ``). (Parche de Neil Muller; :issue:`2746`.)" #: ../Doc/whatsnew/2.7.rst:2492 msgid "" @@ -3377,10 +4420,13 @@ msgid "" "StringIO` objects now does nothing when a negative length is requested, as " "other file-like objects do. (:issue:`7348`)." msgstr "" +"El método :meth:`~StringIO.StringIO.readline` de los objetos :class:" +"`~StringIO.StringIO` ahora no hace nada cuando se solicita una longitud " +"negativa, como hacen otros objetos tipo archivo. (:issue:`7348`)." #: ../Doc/whatsnew/2.7.rst:2535 msgid "For C extensions:" -msgstr "" +msgstr "Para las extensiones en C:" #: ../Doc/whatsnew/2.7.rst:2537 msgid "" @@ -3388,6 +4434,9 @@ msgid "" "of functions will now raise a :exc:`TypeError` exception instead of " "triggering a :exc:`DeprecationWarning` (:issue:`5080`)." msgstr "" +"Las extensiones de C que utilizan códigos de formato entero con la familia " +"de funciones ``PyArg_Parse*`` ahora lanzarán una excepción :exc:`TypeError` " +"en lugar de provocar un :exc:`DeprecationWarning` (:issue:`5080`)." #: ../Doc/whatsnew/2.7.rst:2541 msgid "" @@ -3395,10 +4444,13 @@ msgid "" "func:`PyOS_ascii_strtod` and :c:func:`PyOS_ascii_atof` functions, which are " "now deprecated." msgstr "" +"Utilice la nueva función :c:func:`PyOS_string_to_double` en lugar de las " +"antiguas funciones :c:func:`PyOS_ascii_strtod` y :c:func:`PyOS_ascii_atof`, " +"que ya están obsoletas." #: ../Doc/whatsnew/2.7.rst:2545 msgid "For applications that embed Python:" -msgstr "" +msgstr "Para aplicaciones que incrustan Python:" #: ../Doc/whatsnew/2.7.rst:2547 msgid "" @@ -3408,10 +4460,16 @@ msgid "" "consider whether the application should be using :c:func:`PySys_SetArgvEx` " "with *updatepath* set to false." msgstr "" +"Se ha añadido la función :c:func:`PySys_SetArgvEx`, que permite a las " +"aplicaciones cerrar un agujero de seguridad cuando se utiliza la función :c:" +"func:`PySys_SetArgv` existente. Compruebe si está llamando a :c:func:" +"`PySys_SetArgv` y considere cuidadosamente si la aplicación debería estar " +"usando :c:func:`PySys_SetArgvEx` con *updatepath* establecido en false." #: ../Doc/whatsnew/2.7.rst:2560 msgid "New Features Added to Python 2.7 Maintenance Releases" msgstr "" +"Nuevas funciones añadidas a las versiones de mantenimiento de Python 2.7" #: ../Doc/whatsnew/2.7.rst:2562 msgid "" @@ -3421,6 +4479,12 @@ msgid "" "can't be adequately addressed by either adding the new feature solely to " "Python 3, or else by publishing it on the Python Package Index." msgstr "" +"Se pueden añadir nuevas características a las versiones de mantenimiento de " +"Python 2.7 cuando la situación lo requiera realmente. Cualquier adición debe " +"pasar por el proceso de Propuesta de Mejora de Python, y hacer un caso " +"convincente de por qué no se puede abordar adecuadamente mediante la adición " +"de la nueva característica únicamente a Python 3, o bien mediante su " +"publicación en el Índice de Paquetes de Python." #: ../Doc/whatsnew/2.7.rst:2568 msgid "" @@ -3428,10 +4492,13 @@ msgid "" "exemption allowing new ``-3`` warnings to be added in any Python 2.7 " "maintenance release." msgstr "" +"Además de las propuestas específicas enumeradas a continuación, existe una " +"exención general que permite añadir nuevas advertencias ``-3`` en cualquier " +"versión de mantenimiento de Python 2.7." #: ../Doc/whatsnew/2.7.rst:2574 msgid "Two new environment variables for debug mode" -msgstr "" +msgstr "Dos nuevas variables de entorno para el modo de depuración" #: ../Doc/whatsnew/2.7.rst:2576 msgid "" @@ -3439,6 +4506,9 @@ msgid "" "envvar:`PYTHONSHOWREFCOUNT` environment variable now must also be set. " "(Contributed by Victor Stinner; :issue:`31733`.)" msgstr "" +"En el modo de depuración, la estadística ``[xxx refs]`` no se escribe por " +"defecto, la variable de entorno :envvar:`PYTHONSHOWREFCOUNT` ahora también " +"debe ser establecida. (Contribución de Victor Stinner; :issue:`31733`.)" #: ../Doc/whatsnew/2.7.rst:2580 msgid "" @@ -3448,10 +4518,15 @@ msgid "" "now dumped into stderr, rather than stdout. (Contributed by Victor Stinner; :" "issue:`31692`.)" msgstr "" +"Cuando Python se compila con ``COUNT_ALLOC`` definido, los recuentos de " +"asignaciones ya no se vuelcan por defecto: la variable de entorno :envvar:" +"`PYTHONSHOWALLOCCOUNT` ahora también debe ser establecida. Además, los " +"recuentos de asignación se vuelcan ahora en stderr, en lugar de en stdout. " +"(Contribución de Victor Stinner; :issue:`31692`.)" #: ../Doc/whatsnew/2.7.rst:2589 msgid "PEP 434: IDLE Enhancement Exception for All Branches" -msgstr "" +msgstr "PEP 434: Excepción de mejora de IDLE para todas las ramas" #: ../Doc/whatsnew/2.7.rst:2591 msgid "" @@ -3460,16 +4535,22 @@ msgid "" "possible for the IDLE developers to provide a more consistent user " "experience across all supported versions of Python 2 and 3." msgstr "" +":pep:`434` describe una exención general para los cambios realizados en el " +"entorno de desarrollo de IDLE que se envía junto con Python. Esta exención " +"hace posible que los desarrolladores de IDLE proporcionen una experiencia de " +"usuario más consistente en todas las versiones soportadas de Python 2 y 3." #: ../Doc/whatsnew/2.7.rst:2596 msgid "" "For details of any IDLE changes, refer to the NEWS file for the specific " "release." msgstr "" +"Para conocer los detalles de los cambios de IDLE, consulte el archivo NEWS " +"de la versión en cuestión." #: ../Doc/whatsnew/2.7.rst:2601 msgid "PEP 466: Network Security Enhancements for Python 2.7" -msgstr "" +msgstr "PEP 466: Mejoras en la seguridad de la red para Python 2.7" #: ../Doc/whatsnew/2.7.rst:2603 msgid "" @@ -3477,10 +4558,14 @@ msgid "" "have been approved for inclusion in Python 2.7 maintenance releases, with " "the first of those changes appearing in the Python 2.7.7 release." msgstr "" +":pep:`466` describe una serie de propuestas de mejora de la seguridad de la " +"red que han sido aprobadas para su inclusión en las versiones de " +"mantenimiento de Python 2.7, y el primero de esos cambios aparecerá en la " +"versión 2.7.7 de Python." #: ../Doc/whatsnew/2.7.rst:2607 msgid ":pep:`466` related features added in Python 2.7.7:" -msgstr "" +msgstr "Funciones relacionadas con `466` añadidas en Python 2.7.7:" #: ../Doc/whatsnew/2.7.rst:2609 msgid "" @@ -3488,16 +4573,21 @@ msgid "" "attack resistant comparison operation available to Python 2 applications. " "(Contributed by Alex Gaynor; :issue:`21306`.)" msgstr "" +":func:`hmac.compare_digest` fue portado desde Python 3 para hacer una " +"operación de comparación resistente a los ataques de tiempo disponible para " +"las aplicaciones de Python 2. (Contribuido por Alex Gaynor; :issue:`21306`.)" #: ../Doc/whatsnew/2.7.rst:2613 msgid "" "OpenSSL 1.0.1g was upgraded in the official Windows installers published on " "python.org. (Contributed by Zachary Ware; :issue:`21462`.)" msgstr "" +"OpenSSL 1.0.1g fue actualizado en los instaladores oficiales de Windows " +"publicados en python.org. (Contribuido por Zachary Ware; :issue:`21462`.)" #: ../Doc/whatsnew/2.7.rst:2616 msgid ":pep:`466` related features added in Python 2.7.8:" -msgstr "" +msgstr "Funciones relacionadas con `466` añadidas en Python 2.7.8:" #: ../Doc/whatsnew/2.7.rst:2618 msgid "" @@ -3505,16 +4595,23 @@ msgid "" "algorithm suitable for secure password storage broadly available to Python 2 " "applications. (Contributed by Alex Gaynor; :issue:`21304`.)" msgstr "" +":func:`hashlib.pbkdf2_hmac` fue portado desde Python 3 para hacer que un " +"algoritmo de hash adecuado para el almacenamiento seguro de contraseñas esté " +"ampliamente disponible para las aplicaciones de Python 2. (Contribuido por " +"Alex Gaynor; :issue:`21304`.)" #: ../Doc/whatsnew/2.7.rst:2622 msgid "" "OpenSSL 1.0.1h was upgraded for the official Windows installers published on " "python.org. (contributed by Zachary Ware in :issue:`21671` for CVE-2014-0224)" msgstr "" +"OpenSSL 1.0.1h fue actualizado para los instaladores oficiales de Windows " +"publicados en python.org. (contribuido por Zachary Ware en :issue:`21671` " +"para CVE-2014-0224)" #: ../Doc/whatsnew/2.7.rst:2625 msgid ":pep:`466` related features added in Python 2.7.9:" -msgstr "" +msgstr "Funciones relacionadas con `466` añadidas en Python 2.7.9:" #: ../Doc/whatsnew/2.7.rst:2627 msgid "" @@ -3523,12 +4620,19 @@ msgid "" "certificate store, the :class:`~ssl.SSLContext` class, and other features. " "(Contributed by Alex Gaynor and David Reid; :issue:`21308`.)" msgstr "" +"La mayor parte del módulo :mod:`ssl` de Python 3.4 ha sido portado a esta " +"versión. Esto significa que :mod:`ssl` ahora soporta la Indicación de Nombre " +"de Servidor, la configuración de TLS1.x, el acceso al almacén de " +"certificados de la plataforma, la clase :class:`~ssl.SSLContext`, y otras " +"características. (Contribución de Alex Gaynor y David Reid; :issue:`21308`.)" #: ../Doc/whatsnew/2.7.rst:2632 msgid "" "Refer to the \"Version added: 2.7.9\" notes in the module documentation for " "specific details." msgstr "" +"Consulte las notas \"Versión añadida: 2.7.9\" en la documentación del módulo " +"para obtener detalles específicos." #: ../Doc/whatsnew/2.7.rst:2635 msgid "" @@ -3536,6 +4640,9 @@ msgid "" "urandom`` instead of reopening ``/dev/urandom`` on every call. (Contributed " "by Alex Gaynor; :issue:`21305`.)" msgstr "" +":func:`os.urandom` ha sido modificado para almacenar en caché un descriptor " +"de fichero en ``/dev/urandom`` en lugar de reabrir ``/dev/urandom`` en cada " +"llamada. (Contribuido por Alex Gaynor; :issue:`21305`.)" #: ../Doc/whatsnew/2.7.rst:2639 msgid "" @@ -3544,10 +4651,14 @@ msgid "" "Python 2 applications to select the strongest available hash algorithm. " "(Contributed by Alex Gaynor in :issue:`21307`)" msgstr "" +":data:`hashlib.algorithms_guaranteed` y :data:`hashlib.algorithms_available` " +"han sido portados desde Python 3 para facilitar a las aplicaciones de Python " +"2 la selección del algoritmo hash más potente disponible. (Contribuido por " +"Alex Gaynor en :issue:`21307`)" #: ../Doc/whatsnew/2.7.rst:2646 msgid "PEP 477: Backport ensurepip (PEP 453) to Python 2.7" -msgstr "" +msgstr "PEP 477: Backport ensurepip (PEP 453) a Python 2.7" #: ../Doc/whatsnew/2.7.rst:2648 msgid "" @@ -3555,10 +4666,13 @@ msgid "" "improved documentation that was enabled by it in the Python 2.7 maintenance " "releases, appearing first in the Python 2.7.9 release." msgstr "" +":pep:`477` aprueba la inclusión del módulo :pep:`453` ensurepip y la " +"documentación mejorada que ha permitido en las versiones de mantenimiento de " +"Python 2.7, apareciendo primero en la versión 2.7.9 de Python." #: ../Doc/whatsnew/2.7.rst:2654 msgid "Bootstrapping pip By Default" -msgstr "" +msgstr "Puesta en marcha de pip por defecto" #: ../Doc/whatsnew/2.7.rst:2656 msgid "" @@ -3569,6 +4683,12 @@ msgid "" "to the latest version of ``pip`` that is available at the time of creating " "the release candidate." msgstr "" +"El nuevo módulo :mod:`ensurepip` (definido en :pep:`453`) proporciona un " +"mecanismo estándar multiplataforma para arrancar el instalador pip en las " +"instalaciones de Python. La versión de ``pip`` incluida con Python 2.7.9 es " +"``pip`` 1.5.6, y las futuras versiones de mantenimiento de 2.7.x " +"actualizarán la versión incluida a la última versión de ``pip`` que esté " +"disponible en el momento de crear la versión candidata." #: ../Doc/whatsnew/2.7.rst:2663 msgid "" @@ -3576,6 +4696,9 @@ msgid "" "on all platforms (where X.Y stands for the version of the Python " "installation), along with the ``pip`` Python package and its dependencies." msgstr "" +"Por defecto, los comandos ``pip``, ``pipX`` y ``pipX.Y`` se instalarán en " +"todas las plataformas (donde X.Y representa la versión de la instalación de " +"Python), junto con el paquete de Python ``pip`` y sus dependencias." #: ../Doc/whatsnew/2.7.rst:2667 msgid "" @@ -3584,6 +4707,11 @@ msgid "" "``pip`` by default. This behaviour can be controlled through configure " "options, and overridden through Makefile options." msgstr "" +"Para las construcciones de CPython :ref:`source en sistemas POSIX `, los comandos ``make install`` y ``make altinstall`` no " +"arrancan ``pip`` por defecto. Este comportamiento puede ser controlado a " +"través de las opciones de configuración, y anulado a través de las opciones " +"del Makefile." #: ../Doc/whatsnew/2.7.rst:2672 msgid "" @@ -3594,6 +4722,13 @@ msgid "" "default, otherwise it can still be accessed through the Python launcher for " "Windows as ``py -m pip``." msgstr "" +"En Windows y Mac OS X, los instaladores de CPython ahora instalan por " +"defecto ``pip`` junto con el propio CPython (los usuarios pueden optar por " +"no instalarlo durante el proceso de instalación). Los usuarios de Windows " +"tendrán que optar por las modificaciones automáticas del ``PATH`` para que " +"``pip`` esté disponible por defecto desde la línea de comandos, de lo " +"contrario se puede acceder a través del lanzador de Python para Windows como " +"``py -m pip``." #: ../Doc/whatsnew/2.7.rst:2679 msgid "" @@ -3602,10 +4737,15 @@ msgid "" "simple directions on how to install them on that platform (usually using the " "system package manager)." msgstr "" +"`Como se discute en el PEP`__, los empaquetadores de plataformas pueden " +"optar por no instalar estos comandos por defecto, siempre y cuando, cuando " +"se invoquen, proporcionen instrucciones claras y sencillas sobre cómo " +"instalarlos en esa plataforma (normalmente utilizando el gestor de paquetes " +"del sistema)." #: ../Doc/whatsnew/2.7.rst:2688 msgid "Documentation Changes" -msgstr "" +msgstr "Cambios en la documentación" #: ../Doc/whatsnew/2.7.rst:2690 msgid "" @@ -3616,6 +4756,13 @@ msgid "" "Packaging User Guide `__ and the documentation " "of the individual projects." msgstr "" +"Como parte de este cambio, las secciones :ref:`installing-index` y :ref:" +"`distributing-index` de la documentación han sido completamente rediseñadas " +"como breves documentos de inicio y preguntas frecuentes. La mayor parte de " +"la documentación de empaquetado se ha trasladado a la \"Guía del usuario de " +"empaquetado de Python\" mantenida por la Autoridad de Empaquetado de Python " +"`__ y a la documentación de los proyectos " +"individuales." #: ../Doc/whatsnew/2.7.rst:2698 msgid "" @@ -3623,21 +4770,28 @@ msgid "" "versions of those guides remaining available as :ref:`install-index` and :" "ref:`distutils-index`." msgstr "" +"Sin embargo, como esta migración está aún incompleta, las versiones " +"anteriores de esas guías siguen disponibles como :ref:`install-index` y :ref:" +"`distutils-index`." #: ../Doc/whatsnew/2.7.rst:2705 msgid ":pep:`453` -- Explicit bootstrapping of pip in Python installations" -msgstr "" +msgstr ":pep:`453` -- Arranque explícito de pip en instalaciones de Python" #: ../Doc/whatsnew/2.7.rst:2705 msgid "" "PEP written by Donald Stufft and Nick Coghlan, implemented by Donald Stufft, " "Nick Coghlan, Martin von Löwis and Ned Deily." msgstr "" +"PEP escrito por Donald Stufft y Nick Coghlan, implementado por Donald " +"Stufft, Nick Coghlan, Martin von Löwis y Ned Deily." #: ../Doc/whatsnew/2.7.rst:2709 msgid "" "PEP 476: Enabling certificate verification by default for stdlib http clients" msgstr "" +"PEP 476: Habilitar la verificación de certificados por defecto para los " +"clientes http stdlib" #: ../Doc/whatsnew/2.7.rst:2711 msgid "" @@ -3648,16 +4802,26 @@ msgid "" "significantly improving security for many applications. This change was made " "in the Python 2.7.9 release." msgstr "" +":pep:`476` ha actualizado :mod:`httplib` y los módulos que lo utilizan, " +"como :mod:`urllib2` y :mod:`xmlrpclib`, para que ahora verifiquen que el " +"servidor presenta un certificado que está firmado por una Autoridad de " +"Certificación en el almacén de confianza de la plataforma y cuyo nombre de " +"host coincide con el nombre de host que se solicita por defecto, mejorando " +"significativamente la seguridad de muchas aplicaciones. Este cambio se " +"realizó en la versión 2.7.9 de Python." #: ../Doc/whatsnew/2.7.rst:2718 msgid "" "For applications which require the old previous behavior, they can pass an " "alternate context::" msgstr "" +"Para las aplicaciones que requieren el antiguo comportamiento anterior, " +"pueden pasar un contexto alternativo::" #: ../Doc/whatsnew/2.7.rst:2735 msgid "PEP 493: HTTPS verification migration tools for Python 2.7" msgstr "" +"PEP 493: Herramientas de migración de verificación HTTPS para Python 2.7" #: ../Doc/whatsnew/2.7.rst:2737 msgid "" @@ -3667,6 +4831,12 @@ msgid "" "certificates when establishing client HTTPS connections. These additions " "were made in the Python 2.7.12 release." msgstr "" +":pep:`493` proporciona herramientas de migración adicionales para soportar " +"un proceso de actualización de la infraestructura más incremental para los " +"entornos que contienen aplicaciones y servicios que dependen del " +"procesamiento históricamente permisivo de los certificados de servidor " +"cuando se establecen conexiones HTTPS de cliente. Estas adiciones se " +"realizaron en la versión 2.7.12 de Python." #: ../Doc/whatsnew/2.7.rst:2743 msgid "" @@ -3674,6 +4844,9 @@ msgid "" "services can't be modified to explicitly pass a more permissive SSL context " "when establishing the connection." msgstr "" +"Estas herramientas están pensadas para su uso en casos en los que las " +"aplicaciones y servicios afectados no pueden modificarse para pasar " +"explícitamente un contexto SSL más permisivo al establecer la conexión." #: ../Doc/whatsnew/2.7.rst:2747 msgid "" @@ -3682,6 +4855,10 @@ msgid "" "entire Python process back to the default permissive behaviour of Python " "2.7.8 and earlier." msgstr "" +"Para las aplicaciones y servicios que no pueden ser modificados en absoluto, " +"la nueva variable de entorno ``PYTHONHTTPSVERIFY`` puede establecerse a " +"``0`` para revertir todo un proceso de Python al comportamiento permisivo " +"por defecto de Python 2.7.8 y anteriores." #: ../Doc/whatsnew/2.7.rst:2752 msgid "" @@ -3689,10 +4866,14 @@ msgid "" "overall application can be, the new :func:`ssl._https_verify_certificates` " "function can be used to adjust the default behaviour at runtime." msgstr "" +"Para los casos en los que el código de establecimiento de la conexión no " +"puede modificarse, pero sí la aplicación en general, la nueva función :func:" +"`ssl._https_verify_certificates` puede utilizarse para ajustar el " +"comportamiento por defecto en tiempo de ejecución." #: ../Doc/whatsnew/2.7.rst:2758 msgid "New ``make regen-all`` build target" -msgstr "" +msgstr "Nuevo objetivo de construcción ``make regen-all``" #: ../Doc/whatsnew/2.7.rst:2760 msgid "" @@ -3701,6 +4882,11 @@ msgid "" "available, the autotools-based build system no longer attempts to implicitly " "recompile generated files based on file modification times." msgstr "" +"Para simplificar la compilación cruzada, y para asegurar que CPython pueda " +"ser compilado de forma fiable sin requerir que una versión existente de " +"Python esté ya disponible, el sistema de construcción basado en autotools ya " +"no intenta recompilar implícitamente los archivos generados basándose en los " +"tiempos de modificación de los archivos." #: ../Doc/whatsnew/2.7.rst:2765 msgid "" @@ -3708,20 +4894,26 @@ msgid "" "regeneration of these files when desired (e.g. after an initial version of " "Python has already been built based on the pregenerated versions)." msgstr "" +"En su lugar, se ha añadido un nuevo comando ``make regen-all`` para forzar " +"la regeneración de estos archivos cuando se desee (por ejemplo, después de " +"que se haya construido una versión inicial de Python basada en las versiones " +"pregeneradas)." #: ../Doc/whatsnew/2.7.rst:2769 msgid "" "More selective regeneration targets are also defined - see :source:`Makefile." "pre.in` for details." msgstr "" +"También se definen objetivos de regeneración más selectivos - ver :source:" +"`Makefile.pre.in` para más detalles." #: ../Doc/whatsnew/2.7.rst:2772 ../Doc/whatsnew/2.7.rst:2785 msgid "(Contributed by Victor Stinner in :issue:`23404`.)" -msgstr "" +msgstr "(Contribución de Victor Stinner en :issue:`23404`.)" #: ../Doc/whatsnew/2.7.rst:2778 msgid "Removal of ``make touch`` build target" -msgstr "" +msgstr "Eliminación del objetivo de construcción ``make touch``" #: ../Doc/whatsnew/2.7.rst:2780 msgid "" @@ -3729,14 +4921,17 @@ msgid "" "regeneration of generated files by updating their modification times has " "been removed." msgstr "" +"Se ha eliminado el objetivo de compilación ``make touch`` que anteriormente " +"se utilizaba para solicitar la regeneración implícita de los archivos " +"generados mediante la actualización de sus tiempos de modificación." #: ../Doc/whatsnew/2.7.rst:2783 msgid "It has been replaced by the new ``make regen-all`` target." -msgstr "" +msgstr "Se ha sustituido por el nuevo objetivo ``make regen-all``." #: ../Doc/whatsnew/2.7.rst:2794 msgid "Acknowledgements" -msgstr "" +msgstr "Agradecimientos" #: ../Doc/whatsnew/2.7.rst:2796 msgid "" @@ -3745,3 +4940,6 @@ msgid "" "Nick Coghlan, Philip Jenvey, Ryan Lovett, R. David Murray, Hugh Secker-" "Walker." msgstr "" +"El autor desea agradecer a las siguientes personas sus sugerencias, " +"correcciones y ayuda en varios borradores de este artículo: Nick Coghlan, " +"Philip Jenvey, Ryan Lovett, R. David Murray y Hugh Secker-Walker."