diff --git a/dictionaries/whatsnew_3.1.txt b/dictionaries/whatsnew_3.1.txt index 416977a667..4afcdf27e5 100644 --- a/dictionaries/whatsnew_3.1.txt +++ b/dictionaries/whatsnew_3.1.txt @@ -8,6 +8,7 @@ Armin Belopolsky Bob Brandl +Camelot Chu Coghlan Dalcrin @@ -15,6 +16,7 @@ Derek Diederich Eby Forgeot +Gallahad Georg Guilherme Ippolito @@ -34,13 +36,36 @@ Roger Ronacher Ross Serwy +Sir TestResult Vajda Vassalotti +addHandler +banana +cbuiltins could +critical +dept +desc +execute for found +getLogger +gimzo +gizmo handlers icc +lp +mylog +nL +nRp +naL +natp +nestablecer +np pickler +region +rename +row +skipUnless ttk diff --git a/whatsnew/3.1.po b/whatsnew/3.1.po index be5dca7951..91a6faffe7 100644 --- a/whatsnew/3.1.po +++ b/whatsnew/3.1.po @@ -13,12 +13,12 @@ msgstr "" "POT-Creation-Date: 2024-11-21 16:38-0300\n" "PO-Revision-Date: 2020-10-22 15:48+0200\n" "Last-Translator: \n" -"Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.16.0\n" #: ../Doc/whatsnew/3.1.rst:3 @@ -47,16 +47,16 @@ msgstr "PEP 372: Diccionarios ordenados" #: ../Doc/whatsnew/3.1.rst:56 msgid "" -"Regular Python dictionaries iterate over key/value pairs in arbitrary order. " -"Over the years, a number of authors have written alternative implementations " -"that remember the order that the keys were originally inserted. Based on " -"the experiences from those implementations, a new :class:`collections." -"OrderedDict` class has been introduced." +"Regular Python dictionaries iterate over key/value pairs in arbitrary order." +" Over the years, a number of authors have written alternative " +"implementations that remember the order that the keys were originally " +"inserted. Based on the experiences from those implementations, a new " +":class:`collections.OrderedDict` class has been introduced." msgstr "" "Los diccionarios de Python normales iteran sobre los pares clave/valor en " "orden arbitrario. A través de los años, varios autores han escrito " -"implementaciones alternativas que recuerdan el orden en el que se insertaron " -"originalmente las claves. Basándose en las experiencias de esas " +"implementaciones alternativas que recuerdan el orden en el que se insertaron" +" originalmente las claves. Basándose en las experiencias de esas " "implementaciones, una nueva clase :class:`collections.OrderedDict` ha sido " "introducida." @@ -68,10 +68,10 @@ msgid "" "original insertion position is left unchanged. Deleting an entry and " "reinserting it will move it to the end." msgstr "" -"La API de OrderedDict es sustancialmente la misma que la de los diccionarios " -"normales, pero iterará sobre las claves y los valores en un orden " -"garantizado, dependiendo de cuándo se insertó una clave por primera vez. Si " -"una nueva entrada sobrescribe una entrada existente, la posición de " +"La API de OrderedDict es sustancialmente la misma que la de los diccionarios" +" normales, pero iterará sobre las claves y los valores en un orden " +"garantizado, dependiendo de cuándo se insertó una clave por primera vez. Si" +" una nueva entrada sobrescribe una entrada existente, la posición de " "inserción original se deja sin cambios. Eliminar una entrada y volver a " "insertarla la moverá hasta el final." @@ -89,13 +89,14 @@ msgid "" msgstr "" "La biblioteca estándar ahora admite el uso de diccionarios ordenados en " "varios módulos. El módulo :mod:`configparser` los usa por defecto. Esto " -"permite leer, modificar y volver a escribir los archivos de configuración en " -"su orden original. El método *_asdict()* para :func:`collections.namedtuple` " -"ahora devuelve un diccionario ordenado con los valores que aparecen en el " -"mismo orden que los índices de tupla subyacentes. El módulo :mod:`json` se " -"está construyendo con un *object_pairs_hook* para permitir que el " -"decodificador construya OrderedDicts. También se agregó soporte para " -"herramientas de terceros como `PyYAML `_." +"permite leer, modificar y volver a escribir los archivos de configuración en" +" su orden original. El método *_asdict()* para " +":func:`collections.namedtuple` ahora devuelve un diccionario ordenado con " +"los valores que aparecen en el mismo orden que los índices de tupla " +"subyacentes. El módulo :mod:`json` se está construyendo con un " +"*object_pairs_hook* para permitir que el decodificador construya " +"OrderedDicts. También se agregó soporte para herramientas de terceros como " +"`PyYAML `_." #: ../Doc/whatsnew/3.1.rst:80 msgid ":pep:`372` - Ordered Dictionaries" @@ -103,17 +104,19 @@ msgstr ":pep:`372` - Diccionarios ordenados" #: ../Doc/whatsnew/3.1.rst:80 msgid "" -"PEP written by Armin Ronacher and Raymond Hettinger. Implementation written " -"by Raymond Hettinger." +"PEP written by Armin Ronacher and Raymond Hettinger. Implementation written" +" by Raymond Hettinger." msgstr "" "PEP escrito por Armin Ronacher y Raymond Hettinger. Implementación escrita " "por Raymond Hettinger." #: ../Doc/whatsnew/3.1.rst:83 msgid "" -"Since an ordered dictionary remembers its insertion order, it can be used in " -"conjunction with sorting to make a sorted dictionary::" +"Since an ordered dictionary remembers its insertion order, it can be used in" +" conjunction with sorting to make a sorted dictionary::" msgstr "" +"Dado que un diccionario ordenado recuerda su orden de inserción, se puede " +"utilizar junto con la ordenación para crear un diccionario ordenado:" #: ../Doc/whatsnew/3.1.rst:86 msgid "" @@ -132,6 +135,20 @@ msgid "" ">>> OrderedDict(sorted(d.items(), key=lambda t: len(t[0])))\n" "OrderedDict([('pear', 1), ('apple', 4), ('orange', 2), ('banana', 3)])" msgstr "" +">>> # diccionario regular sin clasificar\n" +">>> d = {'banana': 3, 'manzana':4, 'pera': 1, 'naranja': 2}\n" +"\n" +">>> # diccionario ordenado por clave\n" +">>> OrderedDict(sorted(d.items(), key=lambda t: t[0]))\n" +"OrderedDict([('manzana', 4), ('banana', 3), ('naranja', 2), ('pera', 1)])\n" +"\n" +">>> # diccionario ordenado por valor\n" +">>> OrderedDict(sorted(d.items(), key=lambda t: t[1]))\n" +"OrderedDict([('pera', 1), ('naranja', 2), ('banana', 3), ('manzana', 4)])\n" +"\n" +">>> # diccionario ordenado por longitud de la clave cadena\n" +">>> OrderedDict(sorted(d.items(), key=lambda t: len(t[0])))\n" +"OrderedDict([('pera', 1), ('manzana', 4), ('naranja', 2), ('banana', 3)])" #: ../Doc/whatsnew/3.1.rst:101 msgid "" @@ -139,6 +156,9 @@ msgid "" "deleted. But when new keys are added, the keys are appended to the end and " "the sort is not maintained." msgstr "" +"Los nuevos diccionarios ordenados mantienen su orden de clasificación cuando" +" se eliminan entradas, pero cuando se agregan nuevas claves, estas se " +"agregan al final y no se mantiene el orden." #: ../Doc/whatsnew/3.1.rst:107 msgid "PEP 378: Format Specifier for Thousands Separator" @@ -146,14 +166,14 @@ msgstr "PEP 378: Especificador de formato para el separador de miles" #: ../Doc/whatsnew/3.1.rst:109 msgid "" -"The built-in :func:`format` function and the :meth:`str.format` method use a " -"mini-language that now includes a simple, non-locale aware way to format a " +"The built-in :func:`format` function and the :meth:`str.format` method use a" +" mini-language that now includes a simple, non-locale aware way to format a " "number with a thousands separator. That provides a way to humanize a " "program's output, improving its professional appearance and readability::" msgstr "" -"La función incorporada :func:`format` y el método :meth:`str.format` usan un " -"mini-lenguaje que ahora incluye una forma simple, que no tiene en cuenta la " -"configuración regional, de formatear un número con un separador de miles. " +"La función incorporada :func:`format` y el método :meth:`str.format` usan un" +" mini-lenguaje que ahora incluye una forma simple, que no tiene en cuenta la" +" configuración regional, de formatear un número con un separador de miles. " "Eso proporciona una manera de humanizar la salida de un programa, mejorando " "su apariencia profesional y legibilidad::" @@ -168,26 +188,34 @@ msgid "" ">>> format(Decimal('1234567.89'), ',f')\n" "'1,234,567.89'" msgstr "" +">>> formato(1234567, ',d')\n" +"'1,234,567'\n" +">>> formato(1234567.89, ',.2f')\n" +"'1,234,567.89'\n" +">>> formato(12345.6 + 8901234.12j, ',f')\n" +"'12,345.600000+8,901,234.120000j'\n" +">>> formato(Decimal('1234567.89'), ',f')\n" +"'1,234,567.89'" #: ../Doc/whatsnew/3.1.rst:123 msgid "" -"The supported types are :class:`int`, :class:`float`, :class:`complex` and :" -"class:`decimal.Decimal`." +"The supported types are :class:`int`, :class:`float`, :class:`complex` and " +":class:`decimal.Decimal`." msgstr "" -"Los tipos soportados son :class:`int`, :class:`float`, :class:`complex` y :" -"class:`decimal.Decimal`." +"Los tipos soportados son :class:`int`, :class:`float`, :class:`complex` y " +":class:`decimal.Decimal`." #: ../Doc/whatsnew/3.1.rst:126 msgid "" "Discussions are underway about how to specify alternative separators like " -"dots, spaces, apostrophes, or underscores. Locale-aware applications should " -"use the existing *n* format specifier which already has some support for " +"dots, spaces, apostrophes, or underscores. Locale-aware applications should" +" use the existing *n* format specifier which already has some support for " "thousands separators." msgstr "" "Se está discutiendo cómo especificar separadores alternativos como puntos, " "espacios, apóstrofos o guiones bajos. Las aplicaciones que reconocen la " -"configuración regional deben usar el especificador de formato *n* existente, " -"que ya es compatible con el separadores de miles." +"configuración regional deben usar el especificador de formato *n* existente," +" que ya es compatible con el separadores de miles." #: ../Doc/whatsnew/3.1.rst:134 msgid ":pep:`378` - Format Specifier for Thousands Separator" @@ -212,16 +240,16 @@ msgstr "Algunos cambios pequeños en el núcleo del lenguaje Python son:" #: ../Doc/whatsnew/3.1.rst:143 msgid "" "Directories and zip archives containing a :file:`__main__.py` file can now " -"be executed directly by passing their name to the interpreter. The directory/" -"zipfile is automatically inserted as the first entry in sys.path. " -"(Suggestion and initial patch by Andy Chu; revised patch by Phillip J. Eby " -"and Nick Coghlan; :issue:`1739468`.)" +"be executed directly by passing their name to the interpreter. The " +"directory/zipfile is automatically inserted as the first entry in sys.path." +" (Suggestion and initial patch by Andy Chu; revised patch by Phillip J. Eby" +" and Nick Coghlan; :issue:`1739468`.)" msgstr "" "Los directorios y archivos zip que contienen un archivo :file:`__main__.py` " -"pueden ahora ser ejecutados directamente pasando su nombre al intérprete. El " -"directorio/archivo zip es automáticamente insertado como la primera entrada " -"en sys.path. (Sugerencia y parche inicial por Andy Chu; parche revisado por " -"Phillip J. Eby y Nick Coghlan; :issue:`1739468`.)" +"pueden ahora ser ejecutados directamente pasando su nombre al intérprete. El" +" directorio/archivo zip es automáticamente insertado como la primera entrada" +" en sys.path. (Sugerencia y parche inicial por Andy Chu; parche revisado " +"por Phillip J. Eby y Nick Coghlan; :issue:`1739468`.)" #: ../Doc/whatsnew/3.1.rst:149 msgid "" @@ -244,14 +272,24 @@ msgid "" ">>> (n+1).bit_length()\n" "124" msgstr "" +">>> n = 37\n" +">>> bin(37)\n" +"'0b100101'\n" +">>> n.bit_length()\n" +"6\n" +">>> n = 2**123-1\n" +">>> n.bit_length()\n" +"123\n" +">>> (n+1).bit_length()\n" +"124" #: ../Doc/whatsnew/3.1.rst:163 msgid "" "(Contributed by Fredrik Johansson, Victor Stinner, Raymond Hettinger, and " "Mark Dickinson; :issue:`3439`.)" msgstr "" -"(Contribución de Fredrik Johansson, Victor Stinner, Raymond Hettinger y Mark " -"Dickinson; :issue:`3439`.)" +"(Contribución de Fredrik Johansson, Victor Stinner, Raymond Hettinger y Mark" +" Dickinson; :issue:`3439`.)" #: ../Doc/whatsnew/3.1.rst:166 msgid "" @@ -265,11 +303,13 @@ msgid "" ">>> 'Sir {} of {}'.format('Gallahad', 'Camelot')\n" "'Sir Gallahad of Camelot'" msgstr "" +">>> 'Señor {} de {}'.format('Gallahad', 'Camelot')\n" +"'Sir Gallahad de Camelot'" #: ../Doc/whatsnew/3.1.rst:172 msgid "" -"Formerly, the string would have required numbered fields such as: ``'Sir {0} " -"of {1}'``." +"Formerly, the string would have required numbered fields such as: ``'Sir {0}" +" of {1}'``." msgstr "" "Anteriormente, la cadena requería campos numerados como: ``'Sir {0} of " "{1}'``." @@ -279,21 +319,20 @@ msgid "(Contributed by Eric Smith; :issue:`5237`.)" msgstr "(Contribución de Eric Smith; :issue:`5237`.)" #: ../Doc/whatsnew/3.1.rst:177 -#, fuzzy msgid "" "The :func:`!string.maketrans` function is deprecated and is replaced by new " "static methods, :meth:`bytes.maketrans` and :meth:`bytearray.maketrans`. " -"This change solves the confusion around which types were supported by the :" -"mod:`string` module. Now, :class:`str`, :class:`bytes`, and :class:" -"`bytearray` each have their own **maketrans** and **translate** methods with " -"intermediate translation tables of the appropriate type." -msgstr "" -"La función :func:`string.maketrans` está en desuso y se reemplaza por nuevos " -"métodos estáticos, :meth:`bytes.maketrans` y :meth:`bytearray.maketrans`. " -"Este cambio resuelve la confusión en torno a los tipos que fueron soportados " -"por el módulo :mod:`string`. Ahora, :class:`str`, :class:`bytes` y :class:" -"`bytearray` tienen sus propios métodos **maketrans** y **translate** con " -"tablas de traducción intermedias del tipo adecuado." +"This change solves the confusion around which types were supported by the " +":mod:`string` module. Now, :class:`str`, :class:`bytes`, and " +":class:`bytearray` each have their own **maketrans** and **translate** " +"methods with intermediate translation tables of the appropriate type." +msgstr "" +"La función :func:`!string.maketrans` ha quedado obsoleta y se ha reemplazado" +" por nuevos métodos estáticos, :meth:`bytes.maketrans` y " +":meth:`bytearray.maketrans`. Este cambio resuelve la confusión sobre qué " +"tipos eran compatibles con el módulo :mod:`string`. Ahora, :class:`str`, " +":class:`bytes` y :class:`bytearray` tienen sus propios métodos **maketrans**" +" y **translate** con tablas de traducción intermedias del tipo adecuado." #: ../Doc/whatsnew/3.1.rst:184 msgid "(Contributed by Georg Brandl; :issue:`5675`.)" @@ -304,8 +343,8 @@ msgid "" "The syntax of the :keyword:`with` statement now allows multiple context " "managers in a single statement::" msgstr "" -"La sintaxis de la sentencia :keyword:`with` ahora permite múltiples gestores " -"de contexto en una sola declaración::" +"La sintaxis de la sentencia :keyword:`with` ahora permite múltiples gestores" +" de contexto en una sola declaración::" #: ../Doc/whatsnew/3.1.rst:189 msgid "" @@ -314,14 +353,17 @@ msgid "" "... if '' in line:\n" "... outfile.write(line)" msgstr "" +">>> con open('mylog.txt') como archivo de entrada, open('a.out', 'w') como archivo de salida:\n" +"... para línea en archivo de entrada:\n" +"... si '' está en línea:\n" +"... archivo de salida.write(línea)" #: ../Doc/whatsnew/3.1.rst:194 -#, fuzzy msgid "" "With the new syntax, the :func:`!contextlib.nested` function is no longer " "needed and is now deprecated." msgstr "" -"Con la nueva sintaxis, la función :func:`contextlib.nested` ya no es " +"Con la nueva sintaxis, la función :func:`!contextlib.nested` ya no es " "necesaria y ahora está obsoleta." #: ../Doc/whatsnew/3.1.rst:197 @@ -345,25 +387,25 @@ msgid "" ">>> round(1123, -2)\n" "1100" msgstr "" +">>> redondear(1123, -2)\n" +"1100" #: ../Doc/whatsnew/3.1.rst:206 msgid "(Contributed by Mark Dickinson; :issue:`4707`.)" msgstr "(Contribución de Mark Dickinson; :issue:`4707`.)" #: ../Doc/whatsnew/3.1.rst:208 -#, fuzzy msgid "" "Python now uses David Gay's algorithm for finding the shortest floating-" "point representation that doesn't change its value. This should help " "mitigate some of the confusion surrounding binary floating-point numbers." msgstr "" "Python ahora utiliza el algoritmo de David Gay para encontrar la " -"representación de coma flotante más corta que no cambia su valor. Esto " -"debería ayudar a mitigar parte de la confusión que rodea a los números de " -"coma flotante binarios." +"representación de punto flotante más corta que no cambia su valor. Esto " +"debería ayudar a mitigar parte de la confusión que rodea a los números " +"binarios de punto flotante." #: ../Doc/whatsnew/3.1.rst:213 -#, fuzzy msgid "" "The significance is easily seen with a number like ``1.1`` which does not " "have an exact equivalent in binary floating point. Since there is no exact " @@ -373,34 +415,33 @@ msgid "" "nearest value was and still is used in subsequent floating-point " "calculations." msgstr "" -"La importancia se ve fácilmente con un número como ``1.1``, que no tiene un " -"equivalente exacto en coma flotante binaria. Puesto que no hay un " +"La importancia se aprecia fácilmente con un número como ``1.1``, que no " +"tiene un equivalente exacto en coma flotante binaria. Como no hay un " "equivalente exacto, una expresión como ``float('1.1')`` se evalúa como el " "valor representable más cercano, que es ``0x1.199999999999ap+0`` en " "hexadecimal o ``1.100000000000000088817841970012523233890533447265625`` en " -"decimal. Ese valor más cercano fue y todavía es utilizado en los cálculos de " -"coma flotante posteriores." +"decimal. Ese valor más cercano se utilizó y todavía se utiliza en cálculos " +"de coma flotante posteriores." #: ../Doc/whatsnew/3.1.rst:221 -#, fuzzy msgid "" "What is new is how the number gets displayed. Formerly, Python used a " "simple approach. The value of ``repr(1.1)`` was computed as ``format(1.1, " "'.17g')`` which evaluated to ``'1.1000000000000001'``. The advantage of " "using 17 digits was that it relied on IEEE-754 guarantees to assure that " "``eval(repr(1.1))`` would round-trip exactly to its original value. The " -"disadvantage is that many people found the output to be confusing (mistaking " -"intrinsic limitations of binary floating-point representation as being a " +"disadvantage is that many people found the output to be confusing (mistaking" +" intrinsic limitations of binary floating-point representation as being a " "problem with Python itself)." msgstr "" -"La novedad es cómo se muestra el número. Anteriormente, Python usaba un " -"enfoque simple. El valor de ``repr(1.1)`` se calculaba como ``format(1.1, " -"'.17g')`` que era evaluado como ``'1.1000000000000001'``. La ventaja de " -"utilizar 17 dígitos era que se basaba en las garantías de IEEE-754 para " -"asegurar que ``eval(repr(1.1))`` se volviera a redondear exactamente a su " -"valor original. La desventaja es que muchas personas encontraban el " -"resultado confuso (confundiendo las limitaciones intrínsecas de la " -"representación de coma flotante binaria con un problema con Python en sí)." +"Lo nuevo es cómo se muestra el número. Anteriormente, Python utilizaba un " +"enfoque simple. El valor de ``repr(1.1)`` se calculaba como ``format(1.1, " +"'.17g')``, que se evaluaba como ``'1.1000000000000001'``. La ventaja de " +"utilizar 17 dígitos era que dependía de las garantías IEEE-754 para asegurar" +" que ``eval(repr(1.1))`` regresaría exactamente a su valor original. La " +"desventaja es que muchas personas encontraron que el resultado era confuso " +"(confundiendo las limitaciones intrínsecas de la representación binaria de " +"punto flotante con un problema del propio Python)." #: ../Doc/whatsnew/3.1.rst:230 msgid "" @@ -411,8 +452,8 @@ msgid "" msgstr "" "El nuevo algoritmo para ``repr(1.1)`` es más inteligente y retorna " "``'1.1'``. Efectivamente, busca todas las representaciones de cadenas " -"equivalentes (las que se almacenan con el mismo valor flotante subyacente) y " -"retorna la representación más corta." +"equivalentes (las que se almacenan con el mismo valor flotante subyacente) y" +" retorna la representación más corta." #: ../Doc/whatsnew/3.1.rst:235 msgid "" @@ -421,12 +462,11 @@ msgid "" "``1.1 + 2.2 != 3.3`` even though the representations may suggest otherwise." msgstr "" "El nuevo algoritmo tiende a emitir representaciones más limpias cuando es " -"posible, pero esto no cambia los valores subyacentes. Por lo tanto, todavía " -"se da el caso ``1.1 + 2.2 != 3.3``, aún cuando las representaciones puedan " +"posible, pero esto no cambia los valores subyacentes. Por lo tanto, todavía" +" se da el caso ``1.1 + 2.2 != 3.3``, aún cuando las representaciones puedan " "sugerir lo contrario." #: ../Doc/whatsnew/3.1.rst:239 -#, fuzzy msgid "" "The new algorithm depends on certain features in the underlying floating-" "point implementation. If the required features are not found, the old " @@ -434,10 +474,10 @@ msgid "" "cross-platform portability by using the old algorithm." msgstr "" "El nuevo algoritmo depende de ciertas características de la implementación " -"de coma flotante subyacente. Si no se encuentran las características " -"necesarias, el algoritmo antiguo seguirá utilizándose. Además, los " -"protocolos de pickle de texto aseguran la portabilidad multiplataforma " -"mediante el algoritmo antiguo." +"de punto flotante subyacente. Si no se encuentran las características " +"requeridas, se seguirá utilizando el algoritmo antiguo. Además, los " +"protocolos de pickle de texto garantizan la portabilidad entre plataformas " +"mediante el uso del algoritmo antiguo." #: ../Doc/whatsnew/3.1.rst:244 msgid "(Contributed by Eric Smith and Mark Dickinson; :issue:`1580`)" @@ -449,8 +489,8 @@ msgstr "Módulos nuevos, mejorados y obsoletos" #: ../Doc/whatsnew/3.1.rst:249 msgid "" -"Added a :class:`collections.Counter` class to support convenient counting of " -"unique items in a sequence or iterable::" +"Added a :class:`collections.Counter` class to support convenient counting of" +" unique items in a sequence or iterable::" msgstr "" "Se ha añadido una clase :class:`collections.Counter` para admitir el " "recuento conveniente de elementos únicos en una secuencia o una iteración::" @@ -460,6 +500,8 @@ msgid "" ">>> Counter(['red', 'blue', 'red', 'green', 'blue', 'blue'])\n" "Counter({'blue': 3, 'red': 2, 'green': 1})" msgstr "" +">>> Contador(['rojo', 'azul', 'rojo', 'verde', 'azul', 'azul'])\n" +"Contador({'azul': 3, 'rojo': 2, 'verde': 1})" #: ../Doc/whatsnew/3.1.rst:255 msgid "(Contributed by Raymond Hettinger; :issue:`1696199`.)" @@ -471,8 +513,8 @@ msgid "" "set. The basic idea of ttk is to separate, to the extent possible, the code " "implementing a widget's behavior from the code implementing its appearance." msgstr "" -"Se ha añadido un nuevo módulo :mod:`tkinter.ttk` para acceder al conjunto de " -"widgets temáticos de Tk. La idea básica de ttk es separar, dentro de lo " +"Se ha añadido un nuevo módulo :mod:`tkinter.ttk` para acceder al conjunto de" +" widgets temáticos de Tk. La idea básica de ttk es separar, dentro de lo " "posible, el código que implementa el comportamiento de un widget del código " "que implementa su apariencia." @@ -494,6 +536,9 @@ msgid "" ">>> with gzip.GzipFile(filename, \"wb\") as f:\n" "... f.write(b\"xxx\")" msgstr "" +">>> # Cerrar automáticamente el archivo después de escribir\n" +">>> con gzip.GzipFile(filename, \"wb\") como f:\n" +"... f.write(b\"xxx\")" #: ../Doc/whatsnew/3.1.rst:270 msgid "(Contributed by Antoine Pitrou.)" @@ -501,9 +546,9 @@ msgstr "(Contribución de Antoine Pitrou.)" #: ../Doc/whatsnew/3.1.rst:272 msgid "" -"The :mod:`decimal` module now supports methods for creating a decimal object " -"from a binary :class:`float`. The conversion is exact but can sometimes be " -"surprising::" +"The :mod:`decimal` module now supports methods for creating a decimal object" +" from a binary :class:`float`. The conversion is exact but can sometimes be" +" surprising::" msgstr "" "El módulo :mod:`decimal` ahora admite métodos para crear un objeto decimal " "de un :class:`float` binario. La conversión es exacta pero puede ser a " @@ -514,6 +559,8 @@ msgid "" ">>> Decimal.from_float(1.1)\n" "Decimal('1.100000000000000088817841970012523233890533447265625')" msgstr "" +">>> Decimal.from_float(1.1)\n" +"Decimal('1.100000000000000088817841970012523233890533447265625')" #: ../Doc/whatsnew/3.1.rst:279 msgid "" @@ -531,21 +578,21 @@ msgstr "(Contribución de Raymond Hettinger y Mark Dickinson.)" #: ../Doc/whatsnew/3.1.rst:285 msgid "" -"The :mod:`itertools` module grew two new functions. The :func:`itertools." -"combinations_with_replacement` function is one of four for generating " -"combinatorics including permutations and Cartesian products. The :func:" -"`itertools.compress` function mimics its namesake from APL. Also, the " -"existing :func:`itertools.count` function now has an optional *step* " -"argument and can accept any type of counting sequence including :class:" -"`fractions.Fraction` and :class:`decimal.Decimal`::" +"The :mod:`itertools` module grew two new functions. The " +":func:`itertools.combinations_with_replacement` function is one of four for " +"generating combinatorics including permutations and Cartesian products. The" +" :func:`itertools.compress` function mimics its namesake from APL. Also, " +"the existing :func:`itertools.count` function now has an optional *step* " +"argument and can accept any type of counting sequence including " +":class:`fractions.Fraction` and :class:`decimal.Decimal`::" msgstr "" -"El módulo :mod:`itertools` desarrolló dos nuevas funciones. La función :" -"func:`itertools.combinations_with_replacement` es una de las cuatro para " +"El módulo :mod:`itertools` desarrolló dos nuevas funciones. La función " +":func:`itertools.combinations_with_replacement` es una de las cuatro para " "generar combinatorias que incluyen permutaciones y productos cartesianos. " "La función :func:`itertools.compress` imita su homónimo de APL. Además, la " "función existente :func:`itertools.count` tiene ahora un argumento *step* " -"opcional y puede aceptar cualquier tipo de secuencia de conteo, incluyendo :" -"class:`fractions.Fraction` y :class:`decimal.Decimal`::" +"opcional y puede aceptar cualquier tipo de secuencia de conteo, incluyendo " +":class:`fractions.Fraction` y :class:`decimal.Decimal`::" #: ../Doc/whatsnew/3.1.rst:294 msgid "" @@ -559,6 +606,15 @@ msgid "" ">>> [next(c), next(c), next(c), next(c)]\n" "[Fraction(1, 2), Fraction(2, 3), Fraction(5, 6), Fraction(1, 1)]" msgstr "" +">>> [p+q para p,q en combinaciones_con_reemplazo('LOVE', 2)]\n" +"['LL', 'LO', 'LV', 'LE', 'OO', 'OV', 'OE', 'VV', 'VE', 'EE']\n" +"\n" +">>> lista(comprimir(datos=rango(10), selectores=[0,0,1,1,0,1,0,1,0,0]))\n" +"[2, 3, 5, 7]\n" +"\n" +">>> c = conteo(inicio=Fracción(1,2), paso=Fracción(1,6))\n" +">>> [siguiente(c), siguiente(c), siguiente(c), siguiente(c)]\n" +"[Fracción(1, 2), Fracción(2, 3), Fracción(5, 6), Fracción(1, 1)]" #: ../Doc/whatsnew/3.1.rst:304 msgid "(Contributed by Raymond Hettinger.)" @@ -567,15 +623,15 @@ msgstr "(Contribución de Raymond Hettinger.)" #: ../Doc/whatsnew/3.1.rst:306 msgid "" ":func:`collections.namedtuple` now supports a keyword argument *rename* " -"which lets invalid fieldnames be automatically converted to positional names " -"in the form _0, _1, etc. This is useful when the field names are being " +"which lets invalid fieldnames be automatically converted to positional names" +" in the form _0, _1, etc. This is useful when the field names are being " "created by an external source such as a CSV header, SQL field list, or user " "input::" msgstr "" ":func:`collections.namedtuple` ahora admite un argumento de palabra clave " "*rename* que permite que los campos de nombre inválidos se conviertan " -"automáticamente en nombres posicionados de la forma _0, _1, etc. Esto es de " -"utilidad cuando los nombres del campo están siendo creados por una fuente " +"automáticamente en nombres posicionados de la forma _0, _1, etc. Esto es de" +" utilidad cuando los nombres del campo están siendo creados por una fuente " "externa como un encabezado CSV, una lista de campos SQL, o la entrada del " "usuario::" @@ -592,6 +648,16 @@ msgid "" " UserQuery(region='North', dept='Accounting', _2=37),\n" " UserQuery(region='West', dept='Sales', _2=419)]" msgstr "" +">>> consulta = entrada()\n" +"SELECT región, departamento, count(*) FROM main GROUPBY region, dept\n" +"\n" +">>> cursor.execute(query)\n" +">>> query_fields = [desc[0] for desc in cursor.description]\n" +">>> UserQuery = namedtuple('UserQuery', query_fields, rename=True)\n" +">>> pprint.pprint([UserQuery(*row) para la fila en el cursor])\n" +"[UserQuery(región='Sur', departamento='Envíos', _2=185),\n" +"UserQuery(región='Norte', departamento='Contabilidad', _2=37),\n" +"UserQuery(región='Oeste', departamento='Ventas', _2=419)]" #: ../Doc/whatsnew/3.1.rst:323 msgid "(Contributed by Raymond Hettinger; :issue:`1818`.)" @@ -611,22 +677,25 @@ msgstr "(Contribución de Gregory Smith.)" #: ../Doc/whatsnew/3.1.rst:330 msgid "" -"The :mod:`logging` module now implements a simple :class:`logging." -"NullHandler` class for applications that are not using logging but are " -"calling library code that does. Setting-up a null handler will suppress " -"spurious warnings such as \"No handlers could be found for logger foo\"::" -msgstr "" -"El módulo :mod:`logging` ahora implementa una clase simple :class:`logging." -"NullHandler` para aplicaciones que no utilizan el registro pero llaman al " -"código de una biblioteca que si lo hace. La configuración de un controlador " -"nulo suprimirá las advertencias falsas como \"No handlers could be found for " +"The :mod:`logging` module now implements a simple " +":class:`logging.NullHandler` class for applications that are not using " +"logging but are calling library code that does. Setting-up a null handler " +"will suppress spurious warnings such as \"No handlers could be found for " "logger foo\"::" +msgstr "" +"El módulo :mod:`logging` ahora implementa una clase simple " +":class:`logging.NullHandler` para aplicaciones que no utilizan el registro " +"pero llaman al código de una biblioteca que si lo hace. La configuración de" +" un controlador nulo suprimirá las advertencias falsas como \"No handlers " +"could be found for logger foo\"::" #: ../Doc/whatsnew/3.1.rst:335 msgid "" ">>> h = logging.NullHandler()\n" ">>> logging.getLogger(\"foo\").addHandler(h)" msgstr "" +">>> h = registro.NullHandler()\n" +">>> registro.getLogger(\"foo\").addHandler(h)" #: ../Doc/whatsnew/3.1.rst:338 msgid "(Contributed by Vinay Sajip; :issue:`4384`)." @@ -648,11 +717,12 @@ msgstr "(Contribución de Andi Vajda; :issue:`4195`.)" #: ../Doc/whatsnew/3.1.rst:346 msgid "" -"The :mod:`pdb` module can now access and display source code loaded via :mod:" -"`zipimport` (or any other conformant :pep:`302` loader)." +"The :mod:`pdb` module can now access and display source code loaded via " +":mod:`zipimport` (or any other conformant :pep:`302` loader)." msgstr "" "El módulo :mod:`pdb` puede ahora acceder y mostrar el código fuente cargado " -"a través de :mod:`zipimport` (o cualquier otro cargador conforme :pep:`302`)." +"a través de :mod:`zipimport` (o cualquier otro cargador conforme " +":pep:`302`)." #: ../Doc/whatsnew/3.1.rst:349 msgid "(Contributed by Alexander Belopolsky; :issue:`4201`.)" @@ -686,13 +756,13 @@ msgstr "(Contribución de David Laban; :issue:`4739`.)" #: ../Doc/whatsnew/3.1.rst:361 msgid "" -"The :mod:`unittest` module now supports skipping individual tests or classes " -"of tests. And it supports marking a test as an expected failure, a test that " -"is known to be broken, but shouldn't be counted as a failure on a " +"The :mod:`unittest` module now supports skipping individual tests or classes" +" of tests. And it supports marking a test as an expected failure, a test " +"that is known to be broken, but shouldn't be counted as a failure on a " "TestResult::" msgstr "" -"El módulo :mod:`unittest` ahora admite saltear pruebas individuales o clases " -"de pruebas. Y admite marcar una prueba como una falla esperada, una prueba " +"El módulo :mod:`unittest` ahora admite saltear pruebas individuales o clases" +" de pruebas. Y admite marcar una prueba como una falla esperada, una prueba " "que se sabe que está rota, pero que no debe contarse como una falla en un " "TestResult::" @@ -700,8 +770,7 @@ msgstr "" msgid "" "class TestGizmo(unittest.TestCase):\n" "\n" -" @unittest.skipUnless(sys.platform.startswith(\"win\"), \"requires " -"Windows\")\n" +" @unittest.skipUnless(sys.platform.startswith(\"win\"), \"requires Windows\")\n" " def test_gizmo_on_windows(self):\n" " ...\n" "\n" @@ -709,6 +778,15 @@ msgid "" " def test_gimzo_without_required_library(self):\n" " ..." msgstr "" +"clase TestGizmo(unittest.TestCase):\n" +"\n" +"@unittest.skipUnless(sys.platform.startswith(\"win\"), \"requiere Windows\")\n" +"def test_gizmo_on_windows(self):\n" +"...\n" +"\n" +"@unittest.expectedFailure\n" +"def test_gimzo_without_required_library(self):\n" +"..." #: ../Doc/whatsnew/3.1.rst:376 msgid "" @@ -724,57 +802,67 @@ msgid "" " with self.assertRaises(ZeroDivisionError):\n" " x / 0" msgstr "" +"def test_division_by_zero(self):\n" +"con self.assertRaises(ZeroDivisionError):\n" +"x / 0" #: ../Doc/whatsnew/3.1.rst:383 -#, fuzzy -msgid "" -"In addition, several new assertion methods were added including :meth:" -"`~unittest.TestCase.assertSetEqual`, :meth:`~unittest.TestCase." -"assertDictEqual`, :meth:`!assertDictContainsSubset`, :meth:`~unittest." -"TestCase.assertListEqual`, :meth:`~unittest.TestCase.assertTupleEqual`, :" -"meth:`~unittest.TestCase.assertSequenceEqual`, :meth:`assertRaisesRegexp() " -"`, :meth:`~unittest.TestCase." -"assertIsNone`, and :meth:`~unittest.TestCase.assertIsNotNone`." -msgstr "" -"Además, se agregaron varios métodos de aserción nuevos, incluyendo :func:" -"`assertSetEqual`, :func:`assertDictEqual`, :func:" -"`assertDictContainsSubset`, :func:`assertListEqual`, :func:" -"`assertTupleEqual`, :func:`assertSequenceEqual`, :func:" -"`assertRaisesRegexp`, :func:`assertIsNone`, y :func:`assertIsNotNone`." +msgid "" +"In addition, several new assertion methods were added including " +":meth:`~unittest.TestCase.assertSetEqual`, " +":meth:`~unittest.TestCase.assertDictEqual`, " +":meth:`!assertDictContainsSubset`, " +":meth:`~unittest.TestCase.assertListEqual`, " +":meth:`~unittest.TestCase.assertTupleEqual`, " +":meth:`~unittest.TestCase.assertSequenceEqual`, :meth:`assertRaisesRegexp() " +"`, " +":meth:`~unittest.TestCase.assertIsNone`, and " +":meth:`~unittest.TestCase.assertIsNotNone`." +msgstr "" +"Además, se agregaron varios métodos de afirmación nuevos, incluidos " +":meth:`~unittest.TestCase.assertSetEqual`, " +":meth:`~unittest.TestCase.assertDictEqual`, " +":meth:`!assertDictContainsSubset`, " +":meth:`~unittest.TestCase.assertListEqual`, " +":meth:`~unittest.TestCase.assertTupleEqual`, " +":meth:`~unittest.TestCase.assertSequenceEqual`, :meth:`assertRaisesRegexp() " +"`, " +":meth:`~unittest.TestCase.assertIsNone` y " +":meth:`~unittest.TestCase.assertIsNotNone`." #: ../Doc/whatsnew/3.1.rst:394 msgid "(Contributed by Benjamin Peterson and Antoine Pitrou.)" msgstr "(Contribución de Benjamin Peterson y Antoine Pitrou.)" #: ../Doc/whatsnew/3.1.rst:396 -#, fuzzy msgid "" -"The :mod:`io` module has three new constants for the :meth:`~io.IOBase.seek` " -"method: :data:`~os.SEEK_SET`, :data:`~os.SEEK_CUR`, and :data:`~os.SEEK_END`." +"The :mod:`io` module has three new constants for the :meth:`~io.IOBase.seek`" +" method: :data:`~os.SEEK_SET`, :data:`~os.SEEK_CUR`, and " +":data:`~os.SEEK_END`." msgstr "" -"El módulo :mod:`io` tiene tres nuevas constantes para el método :meth:" -"`seek`: :data:`SEEK_SET`, :data:`SEEK_CUR` y :data:`SEEK_END`." +"El módulo :mod:`io` tiene tres nuevas constantes para el método " +":meth:`~io.IOBase.seek`: :data:`~os.SEEK_SET`, :data:`~os.SEEK_CUR` y " +":data:`~os.SEEK_END`." #: ../Doc/whatsnew/3.1.rst:399 -#, fuzzy msgid "The :data:`sys.version_info` tuple is now a named tuple::" -msgstr "La tupla :attr:`sys.version_info` es ahora una tupla nombrada::" +msgstr "La tupla :data:`sys.version_info` ahora es una tupla con nombre:" #: ../Doc/whatsnew/3.1.rst:401 msgid "" ">>> sys.version_info\n" "sys.version_info(major=3, minor=1, micro=0, releaselevel='alpha', serial=2)" msgstr "" +">>> sys.version_info\n" +"sys.version_info(mayor=3, menor=1, micro=0, nivel de versión='alfa', serial=2)" #: ../Doc/whatsnew/3.1.rst:404 msgid "(Contributed by Ross Light; :issue:`4285`.)" msgstr "(Contribución de Ross Light; :issue:`4285`.)" #: ../Doc/whatsnew/3.1.rst:406 -#, fuzzy msgid "The :mod:`!nntplib` and :mod:`imaplib` modules now support IPv6." -msgstr "" -"Los módulos :mod:`nntplib` y :mod:`imaplib` ahora tienen soporte de IPv6." +msgstr "Los módulos :mod:`!nntplib` y :mod:`imaplib` ahora admiten IPv6." #: ../Doc/whatsnew/3.1.rst:408 msgid "(Contributed by Derek Morr; :issue:`1655` and :issue:`1664`.)" @@ -789,16 +877,16 @@ msgid "" "Python 3. This change confounded efforts to share data between different " "versions of Python. But now when protocol 2 or lower is selected, the " "pickler will automatically use the old Python 2 names for both loading and " -"dumping. This remapping is turned-on by default but can be disabled with the " -"*fix_imports* option::" +"dumping. This remapping is turned-on by default but can be disabled with the" +" *fix_imports* option::" msgstr "" "El módulo :mod:`pickle` ha sido adaptado para una mejor interoperabilidad " -"con 2.x cuando es usado con un protocolo 2 o menor. La reorganización de la " -"biblioteca estándar cambió la referencia formal para varios objetos. Por " +"con 2.x cuando es usado con un protocolo 2 o menor. La reorganización de la" +" biblioteca estándar cambió la referencia formal para varios objetos. Por " "ejemplo, ``__builtin__.set`` en Python 2 es llamado ``builtins.set`` en " "Python 3. Este cambio confundió los esfuerzos de compartir datos entre " -"diferentes versiones de Python. Pero ahora cuando el protocolo 2 o menor es " -"seleccionado, el pickler va a usar automáticamente los nombres antiguos de " +"diferentes versiones de Python. Pero ahora cuando el protocolo 2 o menor es" +" seleccionado, el pickler va a usar automáticamente los nombres antiguos de " "Python 2 tanto para carga como para volcado. Esta reasignación es activada " "de manera predeterminada pero puede ser desactivada con la opción " "*fix_imports*::" @@ -811,14 +899,19 @@ msgid "" ">>> pickle.dumps(s, protocol=0, fix_imports=False)\n" "b'cbuiltins\\nset\\np0\\n((lp1\\nL1L\\naL2L\\naL3L\\natp2\\nRp3\\n.'" msgstr "" +">>> s = {1, 2, 3}\n" +">>> pickle.dumps(s, protocolo=0)\n" +"b'c__builtin__\\nestablecer\\np0\\n((lp1\\nL1L\\naL2L\\naL3L\\natp2\\nRp3\\n.'\n" +">>> pickle.dumps(s, protocolo=0, fix_imports=False)\n" +"b'cbuiltins\\nestablecer\\np0\\n((lp1\\nL1L\\naL2L\\naL3L\\natp2\\nRp3\\n.'" #: ../Doc/whatsnew/3.1.rst:426 msgid "" -"An unfortunate but unavoidable side-effect of this change is that protocol 2 " -"pickles produced by Python 3.1 won't be readable with Python 3.0. The latest " -"pickle protocol, protocol 3, should be used when migrating data between " -"Python 3.x implementations, as it doesn't attempt to remain compatible with " -"Python 2.x." +"An unfortunate but unavoidable side-effect of this change is that protocol 2" +" pickles produced by Python 3.1 won't be readable with Python 3.0. The " +"latest pickle protocol, protocol 3, should be used when migrating data " +"between Python 3.x implementations, as it doesn't attempt to remain " +"compatible with Python 2.x." msgstr "" "Un efecto secundario, desafortunado pero inevitable, de este cambio es que " "los pickles del protocolo 2 producidos con Python 3.1 no serán legibles con " @@ -834,17 +927,17 @@ msgstr "" #: ../Doc/whatsnew/3.1.rst:434 msgid "" -"A new module, :mod:`importlib` was added. It provides a complete, portable, " -"pure Python reference implementation of the :keyword:`import` statement and " -"its counterpart, the :func:`__import__` function. It represents a " +"A new module, :mod:`importlib` was added. It provides a complete, portable," +" pure Python reference implementation of the :keyword:`import` statement and" +" its counterpart, the :func:`__import__` function. It represents a " "substantial step forward in documenting and defining the actions that take " "place during imports." msgstr "" "Se agregó un nuevo módulo, :mod:`importlib`. Proporciona una implementación " -"de referencia de Python completa, portátil y pura de la instrucción :keyword:" -"`import` y su contraparte, la función :func:`__import__` . Representa un " -"avance sustancial en la documentación y definición de las acciones que " -"tienen lugar durante las importaciones." +"de referencia de Python completa, portátil y pura de la instrucción " +":keyword:`import` y su contraparte, la función :func:`__import__` . " +"Representa un avance sustancial en la documentación y definición de las " +"acciones que tienen lugar durante las importaciones." #: ../Doc/whatsnew/3.1.rst:440 msgid "(Contributed by Brett Cannon.)" @@ -860,8 +953,8 @@ msgstr "Se han agregado importantes mejoras de rendimiento:" #: ../Doc/whatsnew/3.1.rst:447 msgid "" -"The new I/O library (as defined in :pep:`3116`) was mostly written in Python " -"and quickly proved to be a problematic bottleneck in Python 3.0. In Python " +"The new I/O library (as defined in :pep:`3116`) was mostly written in Python" +" and quickly proved to be a problematic bottleneck in Python 3.0. In Python " "3.1, the I/O library has been entirely rewritten in C and is 2 to 20 times " "faster depending on the task at hand. The pure Python version is still " "available for experimentation purposes through the ``_pyio`` module." @@ -881,8 +974,8 @@ msgstr "(Contribución de Amaury Forgeot d'Arc y Antoine Pitrou.)" msgid "" "Added a heuristic so that tuples and dicts containing only untrackable " "objects are not tracked by the garbage collector. This can reduce the size " -"of collections and therefore the garbage collection overhead on long-running " -"programs, depending on their particular use of datatypes." +"of collections and therefore the garbage collection overhead on long-running" +" programs, depending on their particular use of datatypes." msgstr "" "Se ha añadido una heurística para que el recolector de basura no realice el " "seguimiento de tuplas y diccionarios que contengan solo objetos no " @@ -897,23 +990,23 @@ msgstr "(Contribución de Antoine Pitrou, :issue:`4688`.)" #: ../Doc/whatsnew/3.1.rst:463 msgid "" "Enabling a configure option named ``--with-computed-gotos`` on compilers " -"that support it (notably: gcc, SunPro, icc), the bytecode evaluation loop is " -"compiled with a new dispatch mechanism which gives speedups of up to 20%, " +"that support it (notably: gcc, SunPro, icc), the bytecode evaluation loop is" +" compiled with a new dispatch mechanism which gives speedups of up to 20%, " "depending on the system, the compiler, and the benchmark." msgstr "" -"Habilitando una opción de configuración llamada ``--with-computed-gotos`` en " -"compiladores que la admiten (en particular: gcc, SunPro, icc), el ciclo de " +"Habilitando una opción de configuración llamada ``--with-computed-gotos`` en" +" compiladores que la admiten (en particular: gcc, SunPro, icc), el ciclo de " "evaluación del bytecode se compila con un nuevo mecanismo de despacho que " "proporciona aceleraciones de hasta un 20% , dependiendo del sistema, del " "compilador y del punto de referencia." #: ../Doc/whatsnew/3.1.rst:469 msgid "" -"(Contributed by Antoine Pitrou along with a number of other participants, :" -"issue:`4753`)." +"(Contributed by Antoine Pitrou along with a number of other participants, " +":issue:`4753`)." msgstr "" -"(Contribución de Antoine Pitrou junto con varios otros participantes, :issue:" -"`4753`)." +"(Contribución de Antoine Pitrou junto con varios otros participantes, " +":issue:`4753`)." #: ../Doc/whatsnew/3.1.rst:472 msgid "" @@ -931,16 +1024,16 @@ msgstr "" #: ../Doc/whatsnew/3.1.rst:477 msgid "" "The :mod:`json` module now has a C extension to substantially improve its " -"performance. In addition, the API was modified so that json works only " -"with :class:`str`, not with :class:`bytes`. That change makes the module " -"closely match the `JSON specification `_ which is defined " -"in terms of Unicode." +"performance. In addition, the API was modified so that json works only with" +" :class:`str`, not with :class:`bytes`. That change makes the module " +"closely match the `JSON specification `_ which is defined" +" in terms of Unicode." msgstr "" "El módulo :mod:`json` ahora tiene una extensión C para mejorar " "sustancialmente su rendimiento. Además, se modificó la API para que json " "funcione solo con :class:`str`, no con :class:`bytes`. Ese cambio hace que " -"el módulo coincida estrechamente con el `JSON specification `_ que se define en términos de Unicode." +"el módulo coincida estrechamente con el `JSON specification " +"`_ que se define en términos de Unicode." #: ../Doc/whatsnew/3.1.rst:483 msgid "" @@ -955,8 +1048,8 @@ msgid "" "Unpickling now interns the attribute names of pickled objects. This saves " "memory and allows pickles to be smaller." msgstr "" -"La deserialización (*unpickling*) ahora interna los nombres de los atributos " -"de los objetos serializados (*pickled*). Esto ahorra memoria y permite que " +"La deserialización (*unpickling*) ahora interna los nombres de los atributos" +" de los objetos serializados (*pickled*). Esto ahorra memoria y permite que " "los pickles sean más pequeños." #: ../Doc/whatsnew/3.1.rst:489 @@ -993,24 +1086,23 @@ msgid "" "Integers are now stored internally either in base ``2**15`` or in base " "``2**30``, the base being determined at build time. Previously, they were " "always stored in base ``2**15``. Using base ``2**30`` gives significant " -"performance improvements on 64-bit machines, but benchmark results on 32-bit " -"machines have been mixed. Therefore, the default is to use base ``2**30`` " -"on 64-bit machines and base ``2**15`` on 32-bit machines; on Unix, there's a " -"new configure option ``--enable-big-digits`` that can be used to override " +"performance improvements on 64-bit machines, but benchmark results on 32-bit" +" machines have been mixed. Therefore, the default is to use base ``2**30`` " +"on 64-bit machines and base ``2**15`` on 32-bit machines; on Unix, there's a" +" new configure option ``--enable-big-digits`` that can be used to override " "this default." msgstr "" "Los enteros ahora se almacenan internamente en base 2**15 o en base 2**30, " "la base se determina en el momento de la construcción. Anteriormente, " "siempre se almacenaban en base 2**15. El uso de base 2**30 ofrece mejoras " -"significativas en el rendimiento en máquinas de 64 bits, pero los resultados " -"de las pruebas comparativas en máquinas de 32 bits han sido diversos. Por lo " -"tanto, el valor predeterminado es usar base 2**30 en máquinas de 64 bits y " -"base 2**15 en máquinas de 32 bits; en Unix, hay una nueva opción de " +"significativas en el rendimiento en máquinas de 64 bits, pero los resultados" +" de las pruebas comparativas en máquinas de 32 bits han sido diversos. Por " +"lo tanto, el valor predeterminado es usar base 2**30 en máquinas de 64 bits " +"y base 2**15 en máquinas de 32 bits; en Unix, hay una nueva opción de " "configuración ``--enable-big-digits`` que puede ser usada para sobre " "escribir este valor predeterminado." #: ../Doc/whatsnew/3.1.rst:513 -#, fuzzy msgid "" "Apart from the performance improvements this change should be invisible to " "end users, with one exception: for testing and debugging purposes there's a " @@ -1018,11 +1110,11 @@ msgid "" "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 propósitos de prueba y " -"depuración, hay un nuevo :attr:`sys.int_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::" +"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 :data:`sys.int_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/3.1.rst:519 msgid "" @@ -1030,6 +1122,9 @@ msgid "" ">>> sys.int_info\n" "sys.int_info(bits_per_digit=30, sizeof_digit=4)" msgstr "" +">>> import sys\n" +">>> sys.int_info\n" +"sys.int_info(bits_per_digit=30, sizeof_digit=4)" #: ../Doc/whatsnew/3.1.rst:523 msgid "(Contributed by Mark Dickinson; :issue:`4258`.)" @@ -1041,54 +1136,51 @@ msgid "" "*pylong* by raising :exc:`OverflowError` instead of :exc:`TypeError`." msgstr "" "La función :c:func:`PyLong_AsUnsignedLongLong()` es ahora capaz de manejar " -"un *pylong* negativo lanzando una excepción :exc:`OverflowError` en lugar " -"de :exc:`TypeError`." +"un *pylong* negativo lanzando una excepción :exc:`OverflowError` en lugar de" +" :exc:`TypeError`." #: ../Doc/whatsnew/3.1.rst:528 msgid "(Contributed by Mark Dickinson and Lisandro Dalcrin; :issue:`5175`.)" msgstr "(Contribución de Mark Dickinson y Lisandro Dalcrin; :issue:`5175`.)" #: ../Doc/whatsnew/3.1.rst:530 -#, fuzzy msgid "" "Deprecated :c:func:`!PyNumber_Int`. Use :c:func:`PyNumber_Long` instead." msgstr "" -":c:func:`PyNumber_Int` está ahora obsoleto. Utilice :c:func:`PyNumber_Long` " -"en su lugar." +":c:func:`!PyNumber_Int` está ahora obsoleto. Utilice " +":c:func:`PyNumber_Long` en su lugar." #: ../Doc/whatsnew/3.1.rst:532 msgid "(Contributed by Mark Dickinson; :issue:`4910`.)" msgstr "(Contribución de Mark Dickinson; :issue:`4910`.)" #: ../Doc/whatsnew/3.1.rst:534 -#, fuzzy msgid "" "Added a new :c:func:`PyOS_string_to_double` function to replace the " -"deprecated functions :c:func:`!PyOS_ascii_strtod` and :c:func:`!" -"PyOS_ascii_atof`." +"deprecated functions :c:func:`!PyOS_ascii_strtod` and " +":c:func:`!PyOS_ascii_atof`." msgstr "" -"Se agrega una nueva función :c:func:`PyOS_string_to_double` para reemplazar " -"las funciones obsoletas :c:func:`PyOS_ascii_strtod` y :c:func:" -"`PyOS_ascii_atof`." +"Se agregó una nueva función :c:func:`PyOS_string_to_double` para reemplazar " +"las funciones obsoletas :c:func:`!PyOS_ascii_strtod` y " +":c:func:`!PyOS_ascii_atof`." #: ../Doc/whatsnew/3.1.rst:537 msgid "(Contributed by Mark Dickinson; :issue:`5914`.)" msgstr "(Contribución de Mark Dickinson; :issue:`5914`.)" #: ../Doc/whatsnew/3.1.rst:539 -#, fuzzy msgid "" -"Added :c:type:`PyCapsule` as a replacement for the :c:type:`!PyCObject` API. " -"The principal difference is that the new type has a well defined interface " +"Added :c:type:`PyCapsule` as a replacement for the :c:type:`!PyCObject` API." +" The principal difference is that the new type has a well defined interface " "for passing typing safety information and a less complicated signature for " "calling a destructor. The old type had a problematic API and is now " "deprecated." msgstr "" -"Se agrega :c:type:`PyCapsule` como un reemplazo para la API :c:type:" -"`PyCObject`. La principal diferencia es que el nuevo tipo tiene una interfaz " -"bien definida para pasar información de seguridad de escritura y una firma " -"menos complicada para llamar a un destructor. El tipo anterior tenía una API " -"problemática y ahora está obsoleta." +"Se agregó :c:type:`PyCapsule` como reemplazo de la API :c:type:`!PyCObject`." +" La principal diferencia es que el nuevo tipo tiene una interfaz bien " +"definida para pasar información de seguridad de tipado y una firma menos " +"complicada para llamar a un destructor. El tipo anterior tenía una API " +"problemática y ahora está obsoleto." #: ../Doc/whatsnew/3.1.rst:545 msgid "(Contributed by Larry Hastings; :issue:`5630`.)" @@ -1107,13 +1199,12 @@ msgstr "" "correcciones de errores que pueden requerir cambios en su código:" #: ../Doc/whatsnew/3.1.rst:553 -#, fuzzy msgid "" "The new floating-point string representations can break existing doctests. " "For example::" msgstr "" -"Las nuevas representaciones de cadenas de coma flotante pueden romper las " -"pruebas de documentación existentes. Por ejemplo::" +"Las nuevas representaciones de cadenas de punto flotante pueden romper las " +"pruebas de documentación existentes. Por ejemplo:" #: ../Doc/whatsnew/3.1.rst:556 msgid "" @@ -1137,6 +1228,25 @@ msgid "" " 2.718281828459045\n" "**********************************************************************" msgstr "" +"def e():\n" +" '''Compute the base of natural logarithms.\n" +"\n" +" >>> e()\n" +" 2.7182818284590451\n" +"\n" +" '''\n" +" return sum(1/math.factorial(x) for x in reversed(range(30)))\n" +"\n" +"doctest.testmod()\n" +"\n" +"**********************************************************************\n" +"Failed example:\n" +" e()\n" +"Expected:\n" +" 2.7182818284590451\n" +"Got:\n" +" 2.718281828459045\n" +"**********************************************************************" #: ../Doc/whatsnew/3.1.rst:576 msgid ""