diff --git a/dictionaries/whatsnew_2.7.txt b/dictionaries/whatsnew_2.7.txt index 54c06aa0a9..dab9202ed2 100644 --- a/dictionaries/whatsnew_2.7.txt +++ b/dictionaries/whatsnew_2.7.txt @@ -1,110 +1,105 @@ -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 +Anders +Beda +Belchenko +Bethard +Brändström Cazabon -reinicializa -Zsolt +Chambon +Chrigström +Clinton +Conti +Cournapeau Cserna -Giuca -Francois +Donald +Dyer Eldon -Ziegler -Nagle -renegociación -Beda +Francois +Frechet +Fürstenau +Genellina +George +Giuca +Hagen +Hatch +Horsen +Hugh +Inge +Jacques +Kaliszewski +Kindahl Kosata +Kuba +Kuchling +Leander +Lennart Lesher -Anders -Chrigström -ampersands +Lingard +Lovett +Löwis +Martin +Maru +Mats +Meador +Mouzo Muller -Kuba -Wieczorek -Genellina -sysconfig -reimplementan -Tile -Tck -Dyer +Nagle +Newby +Oliphant +Ożarowski +Pietraszek +Piotr +Regebro Roddy -etree -whatever -pyo -lekma -Horsen -Troya -Clinton Roy -Cournapeau -Genellina -Ziga +Sakkis +Secker 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 -syslogging +Tadek +Tck +Techtonik +Tile Travis -Hatch -Belchenko -George -Meador -Inge -Löwis -Martin +Troya +Walker +Wieczorek +Ziegler +Ziga +Zsolt amk -warnings -simplefilter -Bethard -values +ampersands +argparse +autotools +chr +devel +encapsulador +ensurepip +escaneos +etree +fragment +gzipped +invented items -Oliphant +lekma +multinúcleo +nirinA +pybsddb +pyo +raseliarison +rediseñadas +reimplementan +reinicializa reinsertándola +renegociación +scheme +simplefilter +structseq +subsistemas suncc -Sakkis -Lingard -Kaliszewski +sysconfig +syslogging +values +viewkeys +warnings +whatever diff --git a/whatsnew/2.7.po b/whatsnew/2.7.po index 56dfc3ce5b..5c80b3fb73 100644 --- a/whatsnew/2.7.po +++ b/whatsnew/2.7.po @@ -13,12 +13,12 @@ msgstr "" "POT-Creation-Date: 2024-11-21 16:38-0300\n" "PO-Revision-Date: 2021-10-19 15:09-0300\n" "Last-Translator: Claudia Millan \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/2.7.rst:3 @@ -392,12 +392,11 @@ msgid "Other new Python3-mode warnings include:" msgstr "Otras nuevas advertencias en modo Python3 incluyen:" #: ../Doc/whatsnew/2.7.rst:199 -#, fuzzy msgid "" ":func:`!operator.isCallable` and :func:`!operator.sequenceIncludes`, which " "are not supported in 3.x, now trigger warnings." msgstr "" -":func:`operator.isCallable` y :func:`operator.sequenceIncludes`, que no se " +":func:`!operator.isCallable` y :func:`!operator.sequenceIncludes`, que no se " "admiten en 3.x, ahora activan advertencias." #: ../Doc/whatsnew/2.7.rst:201 @@ -449,6 +448,12 @@ msgid "" ">>> d.items()\n" "[('first', 1), ('second', 2), ('third', 3)]" msgstr "" +">>> from collections import OrderedDict\n" +">>> d = OrderedDict([('first', 1),\n" +"... ('second', 2),\n" +"... ('third', 3)])\n" +">>> d.items()\n" +"[('first', 1), ('second', 2), ('third', 3)]" #: ../Doc/whatsnew/2.7.rst:233 msgid "" @@ -464,6 +469,9 @@ msgid "" ">>> d.items()\n" "[('first', 1), ('second', 4), ('third', 3)]" msgstr "" +">>> d['second'] = 4\n" +">>> d.items()\n" +"[('first', 1), ('second', 4), ('third', 3)]" #: ../Doc/whatsnew/2.7.rst:240 msgid "Deleting an entry and reinserting it will move it to the end::" @@ -477,6 +485,10 @@ msgid "" ">>> d.items()\n" "[('first', 1), ('third', 3), ('second', 5)]" msgstr "" +">>> del d['second']\n" +">>> d['second'] = 5\n" +">>> d.items()\n" +"[('first', 1), ('third', 3), ('second', 5)]" #: ../Doc/whatsnew/2.7.rst:247 msgid "" @@ -502,6 +514,15 @@ msgid "" ">>> od.popitem(last=False)\n" "(1, 0)" msgstr "" +">>> od = OrderedDict([(x,0) for x in range(20)])\n" +">>> od.popitem()\n" +"(19, 0)\n" +">>> od.popitem()\n" +"(18, 0)\n" +">>> od.popitem(last=False)\n" +"(0, 0)\n" +">>> od.popitem(last=False)\n" +"(1, 0)" #: ../Doc/whatsnew/2.7.rst:262 msgid "" @@ -526,6 +547,18 @@ msgid "" ">>> od1 == od2\n" "True" msgstr "" +">>> od1 = OrderedDict([('first', 1),\n" +"... ('second', 2),\n" +"... ('third', 3)])\n" +">>> od2 = OrderedDict([('third', 3),\n" +"... ('first', 1),\n" +"... ('second', 2)])\n" +">>> od1 == od2\n" +"False\n" +">>> # Move 'third' key to the end\n" +">>> del od2['third']; od2['third'] = 3\n" +">>> od1 == od2\n" +"True" #: ../Doc/whatsnew/2.7.rst:278 msgid "" @@ -536,7 +569,6 @@ msgstr "" "ignora el orden de inserción y simplemente compara las llaves y los valores." #: ../Doc/whatsnew/2.7.rst:281 -#, fuzzy msgid "" "How does the :class:`~collections.OrderedDict` work? It maintains a doubly " "linked list of keys, appending new keys to the list as they're inserted. A " @@ -544,11 +576,11 @@ msgid "" "doesn't have to traverse the entire linked list and therefore remains *O*\\ " "(1)." msgstr "" -"¿Cómo funciona el :class:`~collections.OrderedDict`? Mantiene una lista de " -"claves doblemente vinculada, agregando nuevas claves a la lista a medida que " -"se insertan. Un diccionario secundario asigna claves a su nodo de lista " -"correspondiente, por lo que la eliminación no tiene que atravesar toda la " -"lista vinculada y, por lo tanto, sigue siendo O(1)." +"¿Cómo funciona :class:`~collections.OrderedDict`? Mantiene una lista " +"doblemente enlazada de claves y añade nuevas claves a la lista a medida que " +"se insertan. Un diccionario secundario asigna las claves a su nodo de lista " +"correspondiente, por lo que la eliminación no tiene que recorrer toda la " +"lista enlazada y, por lo tanto, sigue siendo *O*\\ (1)." #: ../Doc/whatsnew/2.7.rst:287 msgid "" @@ -559,25 +591,23 @@ msgstr "" "varios módulos." #: ../Doc/whatsnew/2.7.rst:290 -#, fuzzy msgid "" "The :mod:`ConfigParser ` module uses them by default, meaning " "that configuration files can now be read, modified, and then written back in " "their original order." msgstr "" -"El módulo :mod:`ConfigParser` los utiliza de forma predeterminada, lo que " -"significa que los archivos de configuración ahora se pueden leer, modificar " -"y volver a escribir en su orden original." +"El módulo :mod:`ConfigParser ` los utiliza de forma " +"predeterminada, lo que significa que ahora los archivos de configuración se " +"pueden leer, modificar y luego volver a escribir en su orden original." #: ../Doc/whatsnew/2.7.rst:294 -#, fuzzy msgid "" "The :meth:`~collections.somenamedtuple._asdict` method for :func:" "`collections.namedtuple` now returns an ordered dictionary with the values " "appearing in the same order as the underlying tuple indices." msgstr "" -"El método :meth:`~collections.somenamedtuple._asdict()` para :func:" -"`collections.namedtuple` ahora retorna un diccionario ordenado con los " +"El método :meth:`~collections.somenamedtuple._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." #: ../Doc/whatsnew/2.7.rst:298 @@ -649,6 +679,8 @@ msgid "" ">>> '{:20,.2f}'.format(18446744073709551616.0)\n" "'18,446,744,073,709,551,616.00'" msgstr "" +">>> '{:20,.2f}'.format(18446744073709551616.0)\n" +"'18,446,744,073,709,551,616.00'" #: ../Doc/whatsnew/2.7.rst:333 msgid "When formatting an integer, include the comma after the width:" @@ -687,7 +719,6 @@ msgstr "" "agregó como un reemplazo más potente para el módulo :mod:`optparse`." #: ../Doc/whatsnew/2.7.rst:355 -#, fuzzy msgid "" "This means Python now supports three different modules for parsing command-" "line arguments: :mod:`getopt`, :mod:`optparse`, and :mod:`argparse`. The :" @@ -700,15 +731,15 @@ msgid "" "rejected as too messy and difficult.)" msgstr "" "Esto significa que Python ahora admite tres módulos diferentes para analizar " -"argumentos de línea de comandos: :mod:`getopt`, :mod:`optparse`, y :mod:" -"`argparse`. El módulo :mod:`getopt` se parece mucho a la función :c:func:" -"`getopt` de la biblioteca C, por lo que sigue siendo útil si estás " -"escribiendo un prototipo de Python que finalmente se reescribe en C. :mod:" -"`optparse` se vuelve redundante, pero no hay planes para eliminarlo porque " -"hay muchos scripts que todavía lo usan, y no hay una manera automatizada de " -"actualizar estos scripts. (Hacer que la API :mod:`argparse` sea coherente " -"con la interfaz de :mod:`optparse` fue discutido pero rechazado como " -"demasiado desordenado y difícil.)" +"argumentos de línea de comandos: :mod:`getopt`, :mod:`optparse` y :mod:" +"`argparse`. El módulo :mod:`getopt` se parece mucho a la función :c:func:`!" +"getopt` de la biblioteca C, por lo que sigue siendo útil si está escribiendo " +"un prototipo de Python que eventualmente se reescribirá en C. :mod:" +"`optparse` se vuelve redundante, pero no hay planes de eliminarlo porque hay " +"muchos scripts que aún lo usan y no hay una forma automatizada de actualizar " +"estos scripts. (Se discutió hacer que la API :mod:`argparse` sea consistente " +"con la interfaz de :mod:`optparse`, pero se rechazó por ser demasiado " +"desordenada y difícil)." #: ../Doc/whatsnew/2.7.rst:366 msgid "" @@ -747,6 +778,26 @@ msgid "" "args = parser.parse_args()\n" "print args.__dict__" msgstr "" +"import argparse\n" +"\n" +"parser = argparse.ArgumentParser(description='Command-line example.')\n" +"\n" +"# Add optional switches\n" +"parser.add_argument('-v', action='store_true', dest='is_verbose',\n" +" help='produce verbose output')\n" +"parser.add_argument('-o', action='store', dest='output',\n" +" metavar='FILE',\n" +" help='direct output to FILE instead of stdout')\n" +"parser.add_argument('-C', action='store', type=int, dest='context',\n" +" metavar='NUM', default=0,\n" +" help='display NUM lines of added context')\n" +"\n" +"# Allow any number of additional arguments.\n" +"parser.add_argument(nargs='*', action='store', dest='inputs',\n" +" help='input filenames (default is stdin)')\n" +"\n" +"args = parser.parse_args()\n" +"print args.__dict__" #: ../Doc/whatsnew/2.7.rst:393 msgid "" @@ -773,6 +824,20 @@ msgid "" " -o FILE direct output to FILE instead of stdout\n" " -C NUM display NUM lines of added context" msgstr "" +"-> ./python.exe argparse-example.py --help\n" +"usage: argparse-example.py [-h] [-v] [-o FILE] [-C NUM] [inputs " +"[inputs ...]]\n" +"\n" +"Command-line example.\n" +"\n" +"positional arguments:\n" +" inputs input filenames (default is stdin)\n" +"\n" +"optional arguments:\n" +" -h, --help show this help message and exit\n" +" -v produce verbose output\n" +" -o FILE direct output to FILE instead of stdout\n" +" -C NUM display NUM lines of added context" #: ../Doc/whatsnew/2.7.rst:410 msgid "" @@ -797,6 +862,17 @@ msgid "" " 'context': 4,\n" " 'inputs': ['file1', 'file2']}" msgstr "" +"-> ./python.exe argparse-example.py -v\n" +"{'output': None,\n" +" 'is_verbose': True,\n" +" 'context': 0,\n" +" 'inputs': []}\n" +"\n" +"-> ./python.exe argparse-example.py -v -o /tmp/output -C 4 file1 file2\n" +"{'output': '/tmp/output',\n" +" 'is_verbose': True,\n" +" 'context': 4,\n" +" 'inputs': ['file1', 'file2']}" #: ../Doc/whatsnew/2.7.rst:425 msgid "" @@ -864,7 +940,6 @@ msgstr "" "a un número variable de controladores." #: ../Doc/whatsnew/2.7.rst:455 -#, fuzzy msgid "" "All this flexibility can require a lot of configuration. You can write " "Python statements to create objects and set their properties, but a complex " @@ -873,15 +948,14 @@ msgid "" "format doesn't support configuring filters, and it's messier to generate " "programmatically." msgstr "" -"Toda esta flexibilidad puede requerir mucha configuración. Puede escribir " +"Toda esta flexibilidad puede requerir mucha configuración. Puedes escribir " "instrucciones Python para crear objetos y establecer sus propiedades, pero " -"una configuración compleja requiere código detallado pero aburrido. :mod:" -"`logging` también es compatible con una función :func:`~logging.fileConfig` " -"que analiza un archivo, pero el formato de archivo no admite la " -"configuración de filtros, y es más complicado generar mediante programación." +"una configuración compleja requiere un código extenso pero aburrido. :mod:" +"`logging` también admite una función :func:`~logging.config.fileConfig` que " +"analiza un archivo, pero el formato de archivo no admite la configuración de " +"filtros y es más complicado generarlo mediante programación." #: ../Doc/whatsnew/2.7.rst:462 -#, fuzzy msgid "" "Python 2.7 adds a :func:`~logging.config.dictConfig` function that uses a " "dictionary to configure logging. There are many ways to produce a " @@ -889,12 +963,12 @@ msgid "" "containing JSON; or use a YAML parsing library if one is installed. For " "more information see :ref:`logging-config-api`." msgstr "" -"Python 2.7 agrega una función :func:`~logging.dictConfig` que utiliza un " -"diccionario para configurar el registro. Hay muchas maneras de producir un " -"diccionario de diferentes fuentes: construir uno con código; analizar un " -"archivo que contenga JSON; o utilice una biblioteca de análisis YAML si hay " -"una instalada. Para obtener más información, consulte :ref:`logging-config-" -"api`." +"Python 2.7 agrega una función :func:`~logging.config.dictConfig` que utiliza " +"un diccionario para configurar el registro. Hay muchas maneras de producir " +"un diccionario a partir de diferentes fuentes: construir uno con código; " +"analizar un archivo que contenga JSON; o utilizar una biblioteca de análisis " +"de YAML si hay una instalada. Para obtener más información, consulte :ref:" +"`logging-config-api`." #: ../Doc/whatsnew/2.7.rst:468 msgid "" @@ -956,6 +1030,47 @@ msgid "" "netlogger = logging.getLogger('network')\n" "netlogger.error('Connection failed')" msgstr "" +"import logging\n" +"import logging.config\n" +"\n" +"configdict = {\n" +" 'version': 1, # Configuration schema in use; must be 1 for now\n" +" 'formatters': {\n" +" 'standard': {\n" +" 'format': ('%(asctime)s %(name)-15s '\n" +" '%(levelname)-8s %(message)s')}},\n" +"\n" +" 'handlers': {'netlog': {'backupCount': 10,\n" +" 'class': 'logging.handlers.RotatingFileHandler',\n" +" 'filename': '/logs/network.log',\n" +" 'formatter': 'standard',\n" +" 'level': 'INFO',\n" +" 'maxBytes': 1000000},\n" +" 'syslog': {'class': 'logging.handlers.SysLogHandler',\n" +" 'formatter': 'standard',\n" +" 'level': 'ERROR'}},\n" +"\n" +" # Specify all the subordinate loggers\n" +" 'loggers': {\n" +" 'network': {\n" +" 'handlers': ['netlog']\n" +" }\n" +" },\n" +" # Specify properties of the root logger\n" +" 'root': {\n" +" 'handlers': ['syslog']\n" +" },\n" +"}\n" +"\n" +"# Set up configuration\n" +"logging.config.dictConfig(configdict)\n" +"\n" +"# As an example, log two error messages\n" +"logger = logging.getLogger('/')\n" +"logger.error('Database not found')\n" +"\n" +"netlogger = logging.getLogger('network')\n" +"netlogger.error('Connection failed')" #: ../Doc/whatsnew/2.7.rst:518 msgid "" @@ -993,15 +1108,14 @@ msgstr "" "listen')`` es equivalente a ``getLogger('app.network.listen')``." #: ../Doc/whatsnew/2.7.rst:535 -#, fuzzy msgid "" "The :class:`~logging.LoggerAdapter` class gained an :meth:`~logging.Logger." "isEnabledFor` method that takes a *level* and returns whether 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 retorna si el registrador " -"subyacente procesará un mensaje de ese nivel de importancia." +"La clase :class:`~logging.LoggerAdapter` obtuvo un método :meth:`~logging." +"Logger.isEnabledFor` que toma un *level* y devuelve si el registrador " +"subyacente procesaría un mensaje de ese nivel de importancia." #: ../Doc/whatsnew/2.7.rst:544 msgid ":pep:`391` - Dictionary-Based Configuration For Logging" @@ -1026,18 +1140,16 @@ msgstr "" "llamado :dfn:`view` en lugar de una lista completamente materializada." #: ../Doc/whatsnew/2.7.rst:554 -#, fuzzy msgid "" "It's not possible to change the return values of :meth:`~dict.keys`, :meth:" "`~dict.values`, and :meth:`~dict.items` in Python 2.7 because too much code " "would break. Instead the 3.x versions were added under the new names :meth:" "`!viewkeys`, :meth:`!viewvalues`, and :meth:`!viewitems`." msgstr "" -"No es posible cambiar el retorno de valores de los métodos :meth:`~dict." -"keys`, :meth:`~dict.values` y :meth:`~dict.items` en Python 2.7 porque se " -"rompería demasiado código. En su lugar en las versiones 3.x se fueron " -"agregando bajo los nuevos nombres :meth:`~dict.viewkeys`, :meth:`~dict." -"viewvalues` y :meth:`~dict.viewitems`." +"No es posible cambiar los valores de retorno de :meth:`~dict.keys`, :meth:" +"`~dict.values` y :meth:`~dict.items` en Python 2.7 porque demasiado código " +"podría fallar. En su lugar, se agregaron las versiones 3.x con los nuevos " +"nombres :meth:`!viewkeys`, :meth:`!viewvalues` y :meth:`!viewitems`." #: ../Doc/whatsnew/2.7.rst:562 msgid "" @@ -1047,6 +1159,11 @@ msgid "" ">>> d.viewkeys()\n" "dict_keys([0, 130, 10, 140, 20, 150, 30, ..., 250])" msgstr "" +">>> d = dict((i*10, chr(65+i)) para i en rango(26))\n" +">>> d\n" +"{0: 'A', 130: 'N', 10: 'B', 140: 'O', 20: ..., 250: 'Z'}\n" +">>> d.viewkeys()\n" +"dict_keys([0, 130, 10, 140, 20, 150, 30, ..., 250])" #: ../Doc/whatsnew/2.7.rst:568 msgid "" @@ -1066,6 +1183,12 @@ msgid "" ">>> d1.viewkeys() | range(0, 30)\n" "set([0, 1, 130, 3, 4, 5, 6, ..., 120, 250])" msgstr "" +">>> d1 = dict((i*10, chr(65+i)) for i in range(26))\n" +">>> d2 = dict((i**.5, i) for i in range(1000))\n" +">>> d1.viewkeys() & d2.viewkeys()\n" +"set([0.0, 10.0, 20.0, 30.0])\n" +">>> d1.viewkeys() | range(0, 30)\n" +"set([0, 1, 130, 3, 4, 5, 6, ..., 120, 250])" #: ../Doc/whatsnew/2.7.rst:579 msgid "" @@ -1084,6 +1207,12 @@ msgid "" ">>> vk\n" "dict_keys([0, 130, 260, 10, ..., 250])" msgstr "" +">>> vk = d.viewkeys()\n" +">>> vk\n" +"dict_keys([0, 130, 10, ..., 250])\n" +">>> d[260] = '&'\n" +">>> vk\n" +"dict_keys([0, 130, 260, 10, ..., 250])" #: ../Doc/whatsnew/2.7.rst:589 msgid "" @@ -1102,6 +1231,12 @@ msgid "" " File \"\", line 1, in \n" "RuntimeError: dictionary changed size during iteration" msgstr "" +">>> for k in vk:\n" +"... d[k*2] = k\n" +"...\n" +"Traceback (most recent call last):\n" +" File \"\", line 1, in \n" +"RuntimeError: dictionary changed size during iteration" #: ../Doc/whatsnew/2.7.rst:599 msgid "" @@ -1151,6 +1286,17 @@ msgid "" ">>> m2\n" "" msgstr "" +">>> import string\n" +">>> m = memoryview(string.letters)\n" +">>> m\n" +"\n" +">>> len(m) # Returns length of underlying object\n" +"52\n" +">>> m[0], m[25], m[26] # Indexing returns one byte\n" +"('a', 'z', 'A')\n" +">>> m2 = m[0:26] # Slicing returns another memoryview\n" +">>> m2\n" +"" #: ../Doc/whatsnew/2.7.rst:631 msgid "" @@ -1168,6 +1314,11 @@ msgid "" "[97, 98, 99, 100, 101, 102, 103, ... 121, 122]\n" ">>>" msgstr "" +">>> m2.tobytes()\n" +"'abcdefghijklmnopqrstuvwxyz'\n" +">>> m2.tolist()\n" +"[97, 98, 99, 100, 101, 102, 103, ... 121, 122]\n" +">>>" #: ../Doc/whatsnew/2.7.rst:643 msgid "" @@ -1192,6 +1343,18 @@ msgid "" "bytearray(b'*bcde')\n" ">>>" msgstr "" +">>> m2[0] = 75\n" +"Traceback (most recent call last):\n" +" File \"\", line 1, in \n" +"TypeError: cannot modify read-only memory\n" +">>> b = bytearray(string.letters) # Creating a mutable object\n" +">>> b\n" +"bytearray(b'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ')\n" +">>> mb = memoryview(b)\n" +">>> mb[0] = '*' # Assign to view, changing the bytearray.\n" +">>> b[0:5] # The bytearray has been changed.\n" +"bytearray(b'*bcde')\n" +">>>" #: ../Doc/whatsnew/2.7.rst:666 msgid ":pep:`3137` - Immutable Bytes and Mutable Buffer" @@ -1238,6 +1401,12 @@ msgid "" ">>> {} # empty dict\n" "{}" msgstr "" +">>> {1, 2, 3, 4, 5}\n" +"set([1, 2, 3, 4, 5])\n" +">>> set() # empty set\n" +"set([])\n" +">>> {} # empty dict\n" +"{}" #: ../Doc/whatsnew/2.7.rst:693 msgid "Backported by Alexandre Vassalotti; :issue:`2335`." @@ -1260,6 +1429,10 @@ msgid "" ">>> {('a'*x) for x in range(6)}\n" "set(['', 'a', 'aa', 'aaa', 'aaaa', 'aaaaa'])" msgstr "" +">>> {x: x*x for x in range(6)}\n" +"{0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25}\n" +">>> {('a'*x) for x in range(6)}\n" +"set(['', 'a', 'aa', 'aaa', 'aaaa', 'aaaaa'])" #: ../Doc/whatsnew/2.7.rst:707 msgid "Backported by Alexandre Vassalotti; :issue:`2333`." @@ -1281,6 +1454,8 @@ msgid "" "with A() as a, B() as b:\n" " ... suite of statements ..." msgstr "" +"with A() as a, B() as b:\n" +" ... suite of statements ..." #: ../Doc/whatsnew/2.7.rst:717 msgid "is equivalent to::" @@ -1292,15 +1467,17 @@ msgid "" " with B() as b:\n" " ... suite of statements ..." msgstr "" +"with A() as a:\n" +" with B() as b:\n" +" ... suite of statements ..." #: ../Doc/whatsnew/2.7.rst:723 -#, fuzzy msgid "" "The :func:`!contextlib.nested` function provides a very similar function, so " "it's no longer necessary and has been deprecated." msgstr "" -"La función :func:`contextlib.nested` provee una función muy similar, por lo " -"que ya no es necesario y ha quedado obsoleto." +"La función :func:`!contextlib.nested` proporciona una función muy similar, " +"por lo que ya no es necesaria y ha quedado obsoleta." #: ../Doc/whatsnew/2.7.rst:726 msgid "" @@ -1391,6 +1568,11 @@ msgid "" ">>> n - long(float(n))\n" "65535L" msgstr "" +">>> n = 295147905179352891391\n" +">>> float(n)\n" +"2.9514790517935283e+20\n" +">>> n - long(float(n))\n" +"65535L" #: ../Doc/whatsnew/2.7.rst:773 msgid "" @@ -1408,6 +1590,11 @@ msgid "" ">>> n - long(float(n))\n" "-1L" msgstr "" +">>> n = 295147905179352891391\n" +">>> float(n)\n" +"2.9514790517935289e+20\n" +">>> n - long(float(n))\n" +"-1L" #: ../Doc/whatsnew/2.7.rst:782 msgid "(Implemented by Mark Dickinson; :issue:`3166`.)" @@ -1422,16 +1609,14 @@ msgstr "" "redondeo. (También implementado por Mark Dickinson; :issue:`1811`.)" #: ../Doc/whatsnew/2.7.rst:787 -#, fuzzy msgid "" "Implicit coercion for complex numbers has been removed; the interpreter will " "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 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`.)" +"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`)." #: ../Doc/whatsnew/2.7.rst:791 #, python-format @@ -1451,6 +1636,10 @@ msgid "" ">>> '{}:{}:{day}'.format(2009, 4, day='Sunday')\n" "'2009:4:Sunday'" msgstr "" +">>> '{}:{}:{}'.format(2009, 04, 'Sunday')\n" +"'2009:4:Sunday'\n" +">>> '{}:{}:{day}'.format(2009, 4, day='Sunday')\n" +"'2009:4:Sunday'" #: ../Doc/whatsnew/2.7.rst:800 msgid "" @@ -1495,7 +1684,6 @@ msgstr "" "(Contribución de Eric Smith; :issue:`3382`.)" #: ../Doc/whatsnew/2.7.rst:818 -#, fuzzy msgid "" "A low-level change: the :meth:`object.__format__` method now triggers a :exc:" "`PendingDeprecationWarning` if it's passed a format string, because the :" @@ -1506,25 +1694,24 @@ msgid "" "an alignment or precision, presumably you're expecting the formatting to be " "applied in some object-specific way. (Fixed by Eric Smith; :issue:`7994`.)" msgstr "" -"Un cambio de bajo nivel: el método :meth:`object.__format__` ahora " -"desencadena un :exc:`PendingDeprecationWarning` si se pasa una cadena de " -"formato, porque el método :meth:`__format__` para :class:`object` convierte " -"el objeto en una representación de cadena y da formato a eso. " -"Anteriormente, el método aplicaba silenciosamente la cadena de formato a la " -"representación de cadena, pero eso podía ocultar errores en el código de " -"Python. Si proporciona información de formato, como una alineación o una " -"precisión, presumiblemente espera que el formato se aplique de alguna manera " -"específica del objeto. (Arreglado por Eric Smith; :issue:`7994`.)" +"Un cambio de bajo nivel: el método :meth:`object.__format__` ahora activa " +"un :exc:`PendingDeprecationWarning` si se le pasa una cadena de formato, " +"porque el método :meth:`!__format__` para :class:`object` convierte el " +"objeto en una representación de cadena y la formatea. Anteriormente, el " +"método aplicaba silenciosamente la cadena de formato a la representación de " +"cadena, pero eso podía ocultar errores en el código Python. Si estás " +"proporcionando información de formato, como una alineación o precisión, " +"presumiblemente estás esperando que el formato se aplique de alguna manera " +"específica del objeto. (Corregido por Eric Smith; :issue:`7994`)." #: ../Doc/whatsnew/2.7.rst:828 -#, fuzzy 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` ganaron un método ``bit_length`` que " -"retorna el número de bits necesarios para representar su argumento en " -"binario::" +"Los tipos :func:`int` y :func:`!long` obtuvieron un método ``bit_length`` " +"que devuelve la cantidad de bits necesarios para representar su argumento en " +"binario:" #: ../Doc/whatsnew/2.7.rst:832 msgid "" @@ -1539,6 +1726,16 @@ msgid "" ">>> (n+1).bit_length()\n" "124" msgstr "" +">>> n = 37\n" +">>> bin(n)\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/2.7.rst:843 msgid "(Contributed by Fredrik Johansson and Victor Stinner; :issue:`3439`.)" @@ -1558,15 +1755,14 @@ msgstr "" "accidente. (Arreglado por Meador Inge; :issue:`7902`.)" #: ../Doc/whatsnew/2.7.rst:851 -#, fuzzy msgid "" "It's now possible for a subclass of the built-in :class:`!unicode` type to " "override the :meth:`!__unicode__` method. (Implemented by Victor Stinner; :" "issue:`1583863`.)" msgstr "" -"Ahora es posible que una subclase del tipo integrado :class:`unicode` " -"reemplace el método :meth:`__unicode__`. (Implementado por Victor Stinner; :" -"issue:`1583863`.)" +"Ahora es posible que una subclase del tipo :class:`!unicode` incorporado " +"anule el método :meth:`!__unicode__`. (Implementado por Victor Stinner; :" +"issue:`1583863`)." #: ../Doc/whatsnew/2.7.rst:855 msgid "" @@ -1579,7 +1775,6 @@ msgstr "" "`4759`.)" #: ../Doc/whatsnew/2.7.rst:861 -#, fuzzy msgid "" "When using :class:`@classmethod ` and :class:`@staticmethod " "` to wrap methods as class or static methods, the wrapper " @@ -1587,10 +1782,11 @@ msgid "" "attribute. (Contributed by Amaury Forgeot d'Arc, after a suggestion by " "George Sakkis; :issue:`5982`.)" 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 " -"decorada como su atributo :attr:`__func__`. (Contribuido por Amaury Forgeot " -"d'Arc, después de una sugerencia de George Sakkis; :issue:`5982`.)" +"Al utilizar :class:`@classmethod ` y :class:`@staticmethod " +"` para encapsular métodos como métodos de clase o estáticos, " +"el objeto encapsulador ahora expone la función encapsulada como su atributo :" +"attr:`~method.__func__`. (Contribuido por Amaury Forgeot d'Arc, a partir de " +"una sugerencia de George Sakkis; :issue:`5982`)." #: ../Doc/whatsnew/2.7.rst:869 ../Doc/whatsnew/2.7.rst:2466 msgid "" @@ -1617,7 +1813,6 @@ msgstr "" "en :issue:`8016`)" #: ../Doc/whatsnew/2.7.rst:879 -#, fuzzy msgid "" "The :class:`!file` object will now set the :attr:`!filename` attribute on " "the :exc:`IOError` exception when trying to open a directory on POSIX " @@ -1626,12 +1821,12 @@ msgid "" "the C library 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` 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`)." +"El objeto :class:`!file` ahora establecerá el atributo :attr:`!filename` en " +"la excepción :exc:`IOError` al intentar abrir un directorio en plataformas " +"POSIX (observado por Jan Kaliszewski; :issue:`4764`), y ahora verifica " +"explícitamente y prohíbe escribir en objetos de archivos de solo lectura en " +"lugar de confiar en la biblioteca C para detectar e informar el error " +"(corregido por Stefan Krah; :issue:`5677`)." #: ../Doc/whatsnew/2.7.rst:886 msgid "" @@ -1695,21 +1890,20 @@ msgstr "" "Curtin; :issue:`7301`.)" #: ../Doc/whatsnew/2.7.rst:917 -#, fuzzy msgid "" "For example, the following setting will print warnings every time they " "occur, but turn warnings from the :mod:`Cookie ` module into " "an error. (The exact syntax for setting an environment variable varies " "across operating systems and shells.)" msgstr "" -"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)" +"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 configurar una variable de " +"entorno varía según los sistemas operativos y los shells)." #: ../Doc/whatsnew/2.7.rst:924 msgid "export PYTHONWARNINGS=all,error:::Cookie:0" -msgstr "" +msgstr "exportar PYTHONWARNINGS=all,error:::Cookie:0" #: ../Doc/whatsnew/2.7.rst:930 msgid "Optimizations" @@ -1720,15 +1914,15 @@ msgid "Several performance enhancements have been added:" msgstr "Se han añadido varias mejoras de rendimiento:" #: ../Doc/whatsnew/2.7.rst:934 -#, fuzzy msgid "" "A new opcode was added to perform the initial setup for :keyword:`with` " "statements, looking up the :meth:`~object.__enter__` and :meth:`~object." "__exit__` methods. (Contributed by Benjamin Peterson.)" msgstr "" "Se agregó un nuevo código de operación para realizar la configuración " -"inicial de las instrucciones :keyword:`with`, buscando los métodos :meth:" -"`__enter__` y :meth:`__exit__`. (Contribución de Benjamin Peterson.)" +"inicial de las instrucciones :keyword:`with` y buscar los métodos :meth:" +"`~object.__enter__` y :meth:`~object.__exit__`. (Contribuido por Benjamin " +"Peterson)." #: ../Doc/whatsnew/2.7.rst:938 #, python-format @@ -1793,7 +1987,6 @@ msgstr "" "big-digits` que puede utilizarse para anular este valor por defecto." #: ../Doc/whatsnew/2.7.rst:967 -#, 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 " @@ -1802,10 +1995,10 @@ msgid "" "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 " +"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::" +"bytes del tipo C utilizado para almacenar cada dígito:" #: ../Doc/whatsnew/2.7.rst:974 msgid "" @@ -1813,6 +2006,9 @@ msgid "" ">>> sys.long_info\n" "sys.long_info(bits_per_digit=30, sizeof_digit=4)" msgstr "" +">>> importar sys\n" +">>> sys.long_info\n" +"sys.long_info(bits_por_dígito=30, tamaño_del_dígito=4)" #: ../Doc/whatsnew/2.7.rst:978 msgid "(Contributed by Mark Dickinson; :issue:`4258`.)" @@ -1882,7 +2078,6 @@ msgstr "" "Gawain Bolton; :issue:`6713`.)" #: ../Doc/whatsnew/2.7.rst:1008 -#, fuzzy msgid "" "The :meth:`!split`, :meth:`!replace`, :meth:`!rindex`, :meth:`!rpartition`, " "and :meth:`!rsplit` methods of string-like types (strings, Unicode strings, " @@ -1890,35 +2085,33 @@ msgid "" "instead 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`)" +"Los métodos :meth:`!split`, :meth:`!replace`, :meth:`!rindex`, :meth:`!" +"rpartition` y :meth:`!rsplit` de tipos similares a cadenas (cadenas, cadenas " +"Unicode y objetos :class:`bytearray`) ahora utilizan un algoritmo de " +"búsqueda inversa rápida en lugar de un escaneo carácter por carácter. Esto a " +"veces es diez veces más rápido. (Agregado por Florent Xicluna; :issue:`7462` " +"y :issue:`7622`)." #: ../Doc/whatsnew/2.7.rst:1015 -#, fuzzy msgid "" "The :mod:`pickle` and :mod:`!cPickle` modules now automatically intern the " "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`.)" +"Los módulos :mod:`pickle` y :mod:`!cPickle` ahora almacenan automáticamente " +"en caché las cadenas utilizadas para los nombres de atributos, lo que reduce " +"el uso de memoria de los objetos resultantes de la descompresión. " +"(Contribuido por Jake McGuire; :issue:`5084`)." #: ../Doc/whatsnew/2.7.rst:1020 -#, fuzzy 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`.)" +"El módulo :mod:`!cPickle` ahora crea casos especiales para los diccionarios, " +"reduciendo casi a la mitad el tiempo necesario para procesarlos. " +"(Contribución de Collin Winter; :issue:`5670`.)" #: ../Doc/whatsnew/2.7.rst:1027 msgid "New and Improved Modules" @@ -1966,7 +2159,6 @@ msgstr "" "similares. (Tomado de la 3.x por Florent Xicluna; :issue:`7703`.)" #: ../Doc/whatsnew/2.7.rst:1047 -#, fuzzy msgid "" "Updated module: the :mod:`!bsddb` module has been updated from 4.7.2devel9 " "to version 4.8.4 of `the pybsddb package `__. La nueva versión presenta una mejor compatibilidad con " -"Python 3.x, varias correcciones de errores y agrega varios indicadores y " -"métodos nuevos de BerkeleyDB. (Actualizado por Jesús Cea Avión; :issue:" -"`8156`. El registro de cambios de pybsddb se puede leer en https://hg.jcea." -"es/pybsddb/file/tip/ChangeLog.)" +"Módulo actualizado: el módulo :mod:`!bsddb` ha sido actualizado desde " +"4.7.2devel9 a la versión 4.8.4 de `the pybsddb package `__. La nueva versión incluye una mejor " +"compatibilidad con Python 3.x, varias correcciones de errores y añade varios " +"nuevos indicadores y métodos de BerkeleyDB. (Actualizado por Jesús Cea " +"Avión; :issue:`8156`. El registro de cambios de pybsddb se puede leer en " +"https://hg.jcea.es/pybsddb/file/tip/ChangeLog.)" #: ../Doc/whatsnew/2.7.rst:1055 msgid "" @@ -2055,6 +2247,18 @@ msgid "" ">>> c['e'] # Count is now lower\n" "-1" msgstr "" +">>> c.most_common(5)\n" +"[(' ', 6), ('e', 5), ('s', 3), ('a', 2), ('i', 2)]\n" +">>> c.elements() ->\n" +" 'a', 'a', ' ', ' ', ' ', ' ', ' ', ' ',\n" +" 'e', 'e', 'e', 'e', 'e', 'g', 'f', 'i', 'i',\n" +" 'h', 'h', 'm', 'l', 'l', 'o', 'n', 'p', 's',\n" +" 's', 's', 'r', 't', 't', 'x'\n" +">>> c['e']\n" +"5\n" +">>> c.subtract('very heavy on the letter e')\n" +">>> c['e'] # Count is now lower\n" +"-1" #: ../Doc/whatsnew/2.7.rst:1104 msgid "Contributed by Raymond Hettinger; :issue:`1696199`." @@ -2104,26 +2308,25 @@ msgid "(Added by Raymond Hettinger; :issue:`1818`.)" msgstr "(Añadido por Raymond Hettinger; :issue:`1818`.)" #: ../Doc/whatsnew/2.7.rst:1132 -#, fuzzy msgid "" "Finally, the :class:`~collections.abc.Mapping` abstract base class now " "returns :data:`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`.)" +"Por último, la clase base abstracta :class:`~collections.abc.Mapping` ahora " +"devuelve :data:`NotImplemented` si se compara una asignación con otro tipo " +"que no es :class:`Mapping`. (Corregido por Daniel Stutzbach; :issue:`8729`)." #: ../Doc/whatsnew/2.7.rst:1137 -#, fuzzy msgid "" "Constructors for the parsing classes in the :mod:`ConfigParser " "` module now 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::" +"Los constructores de las clases de análisis del módulo :mod:`ConfigParser " +"` ahora aceptan un parámetro *allow_no_value*, cuyo valor " +"predeterminado es falso; si es verdadero, se permitirán opciones sin " +"valores. Por ejemplo:" #: ../Doc/whatsnew/2.7.rst:1141 msgid "" @@ -2145,34 +2348,49 @@ msgid "" " ...\n" "NoOptionError: No option 'unknown' in section: 'mysqld'" msgstr "" +">>> import ConfigParser, StringIO\n" +">>> sample_config = \"\"\"\n" +"... [mysqld]\n" +"... user = mysql\n" +"... pid-file = /var/run/mysqld/mysqld.pid\n" +"... skip-bdb\n" +"... \"\"\"\n" +">>> config = ConfigParser.RawConfigParser(allow_no_value=True)\n" +">>> config.readfp(StringIO.StringIO(sample_config))\n" +">>> config.get('mysqld', 'user')\n" +"'mysql'\n" +">>> print config.get('mysqld', 'skip-bdb')\n" +"None\n" +">>> print config.get('mysqld', 'unknown')\n" +"Traceback (most recent call last):\n" +" ...\n" +"NoOptionError: No option 'unknown' in section: 'mysqld'" #: ../Doc/whatsnew/2.7.rst:1159 msgid "(Contributed by Mats Kindahl; :issue:`7005`.)" msgstr "(Contribución de Mats Kindahl; :issue:`7005`.)" #: ../Doc/whatsnew/2.7.rst:1161 -#, fuzzy msgid "" "Deprecated function: :func:`!contextlib.nested`, which allows handling more " "than one context manager with a single :keyword:`with` statement, has been " "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." +"Función obsoleta: :func:`!contextlib.nested`, que permite manejar más de un " +"administrador de contexto con una sola declaración :keyword:`with`, ha " +"quedado obsoleta, porque la declaración :keyword:`!with` ahora admite " +"múltiples administradores de contexto." #: ../Doc/whatsnew/2.7.rst:1166 -#, fuzzy msgid "" "The :mod:`cookielib ` module now ignores cookies that have " "an invalid version 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`.)" +"El módulo :mod:`cookielib ` ahora ignora las cookies que " +"tienen un campo de versión no válido, es decir, que no contiene un valor " +"entero. (Corregido por John J. Lee; :issue:`3924`)." #: ../Doc/whatsnew/2.7.rst:1170 msgid "" @@ -2211,7 +2429,6 @@ msgstr "" "Quinlan; :issue:`5788`.)" #: ../Doc/whatsnew/2.7.rst:1185 -#, fuzzy msgid "" "New method: the :class:`~decimal.Decimal` class gained a :meth:`~decimal." "Decimal.from_float` class method that performs an exact conversion of a " @@ -2222,18 +2439,17 @@ 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 :" +"Nuevo método: la clase :class:`~decimal.Decimal` obtuvo 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 " +"número de punto flotante a un :class:`!Decimal`. Esta conversión exacta " +"busca la aproximación decimal más cercana al valor de la representación de " +"punto flotante; por lo tanto, el valor decimal resultante seguirá incluyendo " +"la inexactitud, si la hubiera. Por ejemplo, ``Decimal.from_float(0.1)`` " +"devuelve " "``Decimal('0.1000000000000000055511151231257827021181583404541015625')``. " -"(Implementado por Raymond Hettinger; :issue:`4796`.)" +"(Implementado por Raymond Hettinger; :issue:`4796`)." #: ../Doc/whatsnew/2.7.rst:1196 -#, fuzzy msgid "" "Comparing instances of :class:`~decimal.Decimal` with floating-point numbers " "now produces sensible results based on the numeric values of the operands. " @@ -2245,13 +2461,13 @@ msgid "" "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`.)" +"punto flotante ahora produce resultados razonables basados ​​en los valores " +"numéricos de los operandos. Anteriormente, dichas comparaciones recurrían a " +"las reglas predeterminadas de Python para comparar objetos, que producían " +"resultados arbitrarios basados ​​en su tipo. Tenga en cuenta que aún 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`. (Corregido por Mark Dickinson; :issue:`2531`)." #: ../Doc/whatsnew/2.7.rst:1205 msgid "" @@ -2329,28 +2545,26 @@ msgstr "" "issue:`8688`.)" #: ../Doc/whatsnew/2.7.rst:1238 -#, fuzzy msgid "" "The :mod:`doctest` module's :const:`~doctest.IGNORE_EXCEPTION_DETAIL` flag " "will now 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`.)" +"El indicador :const:`~doctest.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:1242 -#, fuzzy msgid "" "The :mod:`email` module's :class:`~email.message.Message` class will now " "accept a Unicode-valued payload, automatically converting the payload to the " "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`.)" +"La clase :class:`~email.message.Message` del módulo :mod:`email` ahora " +"aceptará una carga útil con valor Unicode y convertirá automáticamente la " +"carga útil a la codificación especificada por :attr:`!output_charset`. " +"(Agregado por R. David Murray; :issue:`1368247`)." #: ../Doc/whatsnew/2.7.rst:1247 msgid "" @@ -2398,7 +2612,6 @@ msgstr "" "Mouzo; :issue:`6845`)" #: ../Doc/whatsnew/2.7.rst:1270 -#, fuzzy msgid "" "New class decorator: :func:`~functools.total_ordering` in the :mod:" "`functools` module takes a class that defines an :meth:`~object.__eq__` " @@ -2408,13 +2621,13 @@ msgid "" "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`.)" +"Nuevo decorador de clase: :func:`~functools.total_ordering` en el módulo :" +"mod:`functools` toma una clase que define un método :meth:`~object.__eq__` y " +"uno de :meth:`~object.__lt__`, :meth:`~object.__le__`, :meth:`~object." +"__gt__` o :meth:`~object.__ge__`, y genera los métodos de comparación " +"faltantes. Dado que el método :meth:`!__cmp__` está quedando obsoleto en " +"Python 3.x, este decorador facilita la definición de clases ordenadas. " +"(Agregado por Raymond Hettinger; :issue:`5479`)." #: ../Doc/whatsnew/2.7.rst:1278 msgid "" @@ -2474,57 +2687,53 @@ msgstr "" "Tadek Pietraszek y Brian Curtin; :issue:`2846`)" #: ../Doc/whatsnew/2.7.rst:1303 -#, fuzzy msgid "" "New attribute: the :mod:`hashlib` module now has an :attr:`!algorithms` " "attribute containing a tuple naming the supported algorithms. In 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`.)" +"Nuevo atributo: el módulo :mod:`hashlib` ahora tiene un atributo :attr:`!" +"algorithms` que contiene una tupla que nombra los algoritmos admitidos. En " +"Python 2.7, ``hashlib.algorithms`` contiene ``('md5', 'sha1', 'sha224', " +"'sha256', 'sha384', 'sha512')``. (Contribuido por Carl Chenet; :issue:" +"`7418`)." #: ../Doc/whatsnew/2.7.rst:1309 -#, fuzzy msgid "" "The default :class:`~http.client.HTTPResponse` class used by the :mod:" "`httplib ` 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`.)" +"La clase :class:`~http.client.HTTPResponse` predeterminada que utiliza el " +"módulo :mod:`httplib ` ahora admite el almacenamiento en búfer, lo que " +"permite 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:1313 -#, fuzzy msgid "" "The :class:`~http.client.HTTPConnection` and :class:`~http.client." "HTTPSConnection` classes now support a *source_address* parameter, a " "``(host, port)`` 2-tuple 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`.)" +"Las clases :class:`~http.client.HTTPConnection` y :class:`~http.client." +"HTTPSConnection` ahora admiten un parámetro *source_address*, una tupla de 2 " +"``(host, port)`` que proporciona la dirección de origen que se utilizará " +"para la conexión. (Contribuido por Eldon Ziegler; :issue:`3972`)." #: ../Doc/whatsnew/2.7.rst:1318 -#, fuzzy msgid "" "The :mod:`!ihooks` module now supports relative imports. Note that :mod:`!" "ihooks` is an older module for customizing imports, superseded by the :mod:`!" "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)" +"El módulo :mod:`!ihooks` ahora admite importaciones relativas. Tenga en " +"cuenta que :mod:`!ihooks` es un módulo más antiguo para personalizar " +"importaciones, reemplazado por el módulo :mod:`!imputil` agregado en Python " +"2.0. (Neil Schemenauer agregó compatibilidad con importaciones relativas)." #: ../Doc/whatsnew/2.7.rst:1325 msgid "" @@ -2562,37 +2771,47 @@ msgid "" "...\n" "TypeError: f() takes at least 1 argument (0 given)" msgstr "" +">>> from inspect import getcallargs\n" +">>> def f(a, b=1, *pos, **named):\n" +"... pass\n" +"...\n" +">>> getcallargs(f, 1, 2, 3)\n" +"{'a': 1, 'b': 2, 'pos': (3,), 'named': {}}\n" +">>> getcallargs(f, a=2, x=4)\n" +"{'a': 2, 'b': 1, 'pos': (), 'named': {'x': 4}}\n" +">>> getcallargs(f)\n" +"Traceback (most recent call last):\n" +"...\n" +"TypeError: f() takes at least 1 argument (0 given)" #: ../Doc/whatsnew/2.7.rst:1346 msgid "Contributed by George Sakkis; :issue:`3135`." msgstr "Contribución de George Sakkis; :issue:`3135`." #: ../Doc/whatsnew/2.7.rst:1348 -#, fuzzy msgid "" "Updated module: The :mod:`io` library has been upgraded to the version " "shipped with Python 3.1. For 3.1, the I/O library was entirely rewritten in " "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`." +"Módulo actualizado: La biblioteca :mod:`io` se ha actualizado a la versión " +"que viene con Python 3.1. Para la versión 3.1, la biblioteca de E/S se " +"reescribió completamente en C y es de 2 a 20 veces más rápida según la tarea " +"que se esté realizando. La versión original de Python se renombró como " +"módulo :mod:`!_pyio`." #: ../Doc/whatsnew/2.7.rst:1353 -#, fuzzy msgid "" "One minor resulting change: the :class:`io.TextIOBase` class now has an :" "attr:`~io.TextIOBase.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'``)." +"Un cambio resultante menor: la clase :class:`io.TextIOBase` ahora tiene un " +"atributo :attr:`~io.TextIOBase.errors` que proporciona la configuración de " +"error utilizada para codificar y decodificar errores (uno de ``'strict'``, " +"``'replace'``, ``'ignore'``)." #: ../Doc/whatsnew/2.7.rst:1358 msgid "" @@ -2623,6 +2842,8 @@ msgid "" "itertools.compress('ABCDEF', [1,0,1,0,1,1]) =>\n" " A, C, E, F" msgstr "" +"itertools.compress('ABCDEF', [1,0,1,0,1,1]) =>\n" +"A, C, E, F" #: ../Doc/whatsnew/2.7.rst:1373 msgid "" @@ -2642,6 +2863,9 @@ msgid "" " ('a', 'a'), ('a', 'b'), ('a', 'c'),\n" " ('b', 'b'), ('b', 'c'), ('c', 'c')" msgstr "" +"itertools.combinations_with_replacement('abc', 2) =>\n" +" ('a', 'a'), ('a', 'b'), ('a', 'c'),\n" +" ('b', 'b'), ('b', 'c'), ('c', 'c')" #: ../Doc/whatsnew/2.7.rst:1382 msgid "" @@ -2733,20 +2957,18 @@ msgstr "" "(Contribución de Mark Dickinson y nirinA raseliarison; :issue:`3366`.)" #: ../Doc/whatsnew/2.7.rst:1420 -#, fuzzy msgid "" "The :mod:`multiprocessing` module's :class:`!Manager*` classes can now be " "passed a callable that will be called whenever a subprocess is started, " "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`.)" +"A las clases :class:`!Manager*` del módulo :mod:`multiprocessing` ahora se " +"les puede pasar un elemento invocable que se llamará cada vez que se inicie " +"un subproceso, junto con un conjunto de argumentos que se le pasarán al " +"elemento invocable. (Contribuido por lekma; :issue:`5585`)." #: ../Doc/whatsnew/2.7.rst:1426 -#, fuzzy msgid "" "The :class:`~multiprocessing.pool.Pool` class, which controls a pool of " "worker processes, now has an optional *maxtasksperchild* parameter. Worker " @@ -2755,22 +2977,21 @@ msgid "" "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`.)" +"La clase :class:`~multiprocessing.pool.Pool`, que controla un grupo de " +"procesos de trabajo, ahora tiene un parámetro *maxtasksperchild* opcional. " +"Los procesos de trabajo realizarán la cantidad especificada de tareas y " +"luego saldrán, lo que hará que :class:`!Pool` inicie un nuevo proceso de " +"trabajo. Esto es útil si las tareas pueden perder memoria u otros recursos, " +"o si algunas tareas harán que el proceso de trabajo se vuelva muy grande. " +"(Contribuido por Charles Cazabon; :issue:`6963`)." #: ../Doc/whatsnew/2.7.rst:1434 -#, fuzzy 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`.)" +"El módulo :mod:`!nntplib` ahora admite direcciones IPv6. (Contribución de " +"Derek Morr; :issue:`1664`)." #: ../Doc/whatsnew/2.7.rst:1437 msgid "" @@ -2902,7 +3123,6 @@ msgstr "" "Natali; :issue:`8354`.)" #: ../Doc/whatsnew/2.7.rst:1495 -#, fuzzy msgid "" "New functions: in the :mod:`site` module, three new functions return various " "site- and user-specific paths. :func:`~site.getsitepackages` returns a list " @@ -2912,14 +3132,14 @@ msgid "" "USER_BASE` 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 " +"Nuevas funciones: en el módulo :mod:`site`, tres nuevas funciones devuelven " "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`.)" +"getsitepackages` devuelve una lista que contiene todos los directorios de " +"paquetes del sitio globales, :func:`~site.getusersitepackages` devuelve la " +"ruta del directorio de paquetes del sitio del usuario y :func:`~site." +"getuserbase` devuelve el valor de la variable de entorno :data:`~site." +"USER_BASE`, que proporciona la ruta a un directorio que se puede utilizar " +"para almacenar datos. (Contribuido por Tarek Ziadé; :issue:`6693`.)" #: ../Doc/whatsnew/2.7.rst:1506 msgid "" @@ -2957,7 +3177,6 @@ msgstr "" "(Implementado por Antoine Pitrou; :issue:`8104`.)" #: ../Doc/whatsnew/2.7.rst:1521 -#, fuzzy msgid "" "The :mod:`SocketServer ` module's :class:`~socketserver." "TCPServer` class now supports socket timeouts and disabling the Nagle " @@ -2971,19 +3190,18 @@ msgid "" "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`)" +"La clase :class:`~socketserver.TCPServer` del módulo :mod:`SocketServer " +"` ahora admite tiempos de espera de socket y la desactivación " +"del algoritmo Nagle. El atributo de clase :attr:`!disable_nagle_algorithm` " +"tiene como valor predeterminado ``False``; si se sobrescribe como verdadero, " +"las nuevas conexiones de solicitud tendrán la opción TCP_NODELAY configurada " +"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 " +"solicitud; si no se recibe ninguna solicitud dentro de ese tiempo, se " +"llamará a :meth:`~socketserver.BaseServer.handle_timeout` y :meth:" +"`~socketserver.BaseServer.handle_request` regresará. (Contribuido por " +"Kristján Valur Jónsson; :issue:`6192` y :issue:`6267`)." #: ../Doc/whatsnew/2.7.rst:1533 msgid "" @@ -3005,7 +3223,6 @@ msgstr "" "Gerhard Häring.)" #: ../Doc/whatsnew/2.7.rst:1540 -#, fuzzy msgid "" "The :mod:`ssl` module's :class:`~ssl.SSLSocket` objects now support the " "buffer API, which fixed a test suite failure (fix by Antoine Pitrou; :issue:" @@ -3013,15 +3230,14 @@ 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`)." +"Los objetos :class:`~ssl.SSLSocket` del módulo :mod:`ssl` ahora admiten la " +"API de búfer, que solucionó una falla del conjunto de pruebas (solución de " +"Antoine Pitrou; :issue:`7133`) y configuró automáticamente :c:macro:`!" +"SSL_MODE_AUTO_RETRY` de OpenSSL, lo que evitará que se devuelva un código de " +"error de las operaciones :meth:`recv` que activan una renegociación de SSL " +"(solución de Antoine Pitrou; :issue:`8222`)." #: ../Doc/whatsnew/2.7.rst:1547 -#, fuzzy msgid "" "The :func:`~ssl.SSLContext.wrap_socket` constructor function now takes a " "*ciphers* argument that's a string listing the encryption algorithms to be " @@ -3029,11 +3245,11 @@ msgid "" "`__. (Added by Antoine " "Pitrou; :issue:`8322`.)" msgstr "" -"La función constructora :func:`ssl.wrap_socket` ahora toma un argumento " -"*ciphers* que es una cadena que enumera los algoritmos de cifrado que se " -"permitirán; el formato de la cadena se describe `in the OpenSSL " -"documentation `__. " -"(Agregado por Antoine Pitrou; :issue:`8322`.)" +"La función constructora :func:`~ssl.SSLContext.wrap_socket` ahora acepta un " +"argumento *ciphers* que es una cadena que enumera los algoritmos de cifrado " +"que se permitirán; el formato de la cadena se describe en `in the OpenSSL " +"documentation `__. (Agregado " +"por Antoine Pitrou; :issue:`8322`)." #: ../Doc/whatsnew/2.7.rst:1554 msgid "" @@ -3049,20 +3265,18 @@ msgstr "" "issue:`8484`)" #: ../Doc/whatsnew/2.7.rst:1560 -#, fuzzy msgid "" "The version of OpenSSL being used is now available as the module attributes :" "const:`ssl.OPENSSL_VERSION` (a string), :const:`ssl.OPENSSL_VERSION_INFO` (a " "5-tuple), and :const:`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`.)" +"La versión de OpenSSL que se está utilizando ahora está disponible como " +"atributos de módulo :const:`ssl.OPENSSL_VERSION` (una cadena), :const:`ssl." +"OPENSSL_VERSION_INFO` (una tupla de 5) y :const:`ssl.OPENSSL_VERSION_NUMBER` " +"(un entero). (Agregado por Antoine Pitrou; :issue:`8321`)." #: ../Doc/whatsnew/2.7.rst:1566 -#, fuzzy msgid "" "The :mod:`struct` module will no longer silently ignore overflow errors when " "a value is too large for a particular integer format code (one of " @@ -3073,13 +3287,13 @@ msgid "" "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`.)" +"desbordamiento cuando un valor sea demasiado grande para un código de " +"formato de entero en particular (uno de ``bBhHiIlLqQ``); ahora siempre " +"genera una excepción :exc:`struct.error`. (Modificado por Mark Dickinson; :" +"issue:`1523`). La función :func:`~struct.pack` también intentará usar :meth:" +"`~object.__index__` para convertir y empaquetar números que no sean enteros " +"antes de intentar el método :meth:`~object.__int__` o informar un error. " +"(Modificado por Mark Dickinson; :issue:`8300`)." #: ../Doc/whatsnew/2.7.rst:1575 msgid "" @@ -3105,21 +3319,29 @@ msgid "" "subprocess.CalledProcessError: Command '['df', '-h', '/bogus']' returned non-" "zero exit status 1" msgstr "" +">>> subprocess.check_output(['df', '-h', '.'])\n" +"'Filesystem Size Used Avail Capacity Mounted on\\n\n" +"/dev/disk0s2 52G 49G 3.0G 94% /\\n'\n" +"\n" +">>> subprocess.check_output(['df', '-h', '/bogus'])\n" +" ...\n" +"subprocess.CalledProcessError: Command '['df', '-h', '/bogus']' returned non-" +"zero exit status 1" #: ../Doc/whatsnew/2.7.rst:1590 msgid "(Contributed by Gregory P. Smith.)" msgstr "(Contribución de Gregory P. Smith.)" #: ../Doc/whatsnew/2.7.rst:1592 -#, fuzzy msgid "" "The :mod:`subprocess` module will now retry its internal system calls on " "receiving an :const:`~errno.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`)" +"El módulo :mod:`subprocess` ahora volverá a intentar realizar llamadas " +"internas al sistema al recibir una señal :const:`~errno.EINTR`. (Varias " +"personas lo informaron; parche final de Gregory P. Smith en :issue:" +"`1068268`)." #: ../Doc/whatsnew/2.7.rst:1596 msgid "" @@ -3144,19 +3366,17 @@ msgstr "" "(Cambiado por Sean Reifschneider; :issue:`8451`.)" #: ../Doc/whatsnew/2.7.rst:1605 -#, fuzzy msgid "" "The :attr:`sys.version_info` value is now a named tuple, with attributes " "named :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`.)" +"El valor :attr:`sys.version_info` ahora es una tupla con nombre, con " +"atributos denominados :attr:`!major`, :attr:`!minor`, :attr:`!micro`, :attr:" +"`!releaselevel` y :attr:`!serial`. (Contribuido por Ross Light; :issue:" +"`4285`)." #: ../Doc/whatsnew/2.7.rst:1610 -#, fuzzy msgid "" ":func:`sys.getwindowsversion` also returns a named tuple, with attributes " "named :attr:`!major`, :attr:`!minor`, :attr:`!build`, :attr:`!platform`, :" @@ -3164,11 +3384,11 @@ msgid "" "service_pack_minor`, :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`.)" +":func:`sys.getwindowsversion` también devuelve una tupla con nombre, con " +"atributos denominados :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`. " +"(Contribuido por Brian Curtin; :issue:`7766`)." #: ../Doc/whatsnew/2.7.rst:1616 ../Doc/whatsnew/2.7.rst:2504 msgid "" @@ -3245,7 +3465,6 @@ msgstr "" "`8024`)." #: ../Doc/whatsnew/2.7.rst:1651 ../Doc/whatsnew/2.7.rst:2512 -#, fuzzy msgid "" "The :mod:`urlparse ` module's :func:`~urllib.parse.urlsplit` " "now handles unknown URL schemes in a fashion compliant with :rfc:`3986`: if " @@ -3254,12 +3473,13 @@ msgid "" "doesn't know 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:" +"El módulo :func:`~urllib.parse.urlsplit` del :mod:`urlparse ` " +"ahora maneja esquemas de URL desconocidos de una manera compatible con el :" +"rfc:`3986`: si la URL tiene el formato ``\"://...\"``, el texto " +"antes del ``://`` 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 comportamiento anterior. Por ejemplo, Python 2.6.4 o 2.5 " +"devolverá lo siguiente:" #: ../Doc/whatsnew/2.7.rst:1659 ../Doc/whatsnew/2.7.rst:2520 msgid "" @@ -3267,6 +3487,9 @@ msgid "" ">>> urlparse.urlsplit('invented://host/filename?query')\n" "('invented', '', '//host/filename?query', '', '')" msgstr "" +">>> import urlparse\n" +">>> urlparse.urlsplit('invented://host/nombre_archivo?consulta')\n" +"('invented', '', '//host/nombre_archivo?consulta', '', '')" #: ../Doc/whatsnew/2.7.rst:1666 ../Doc/whatsnew/2.7.rst:2527 msgid "Python 2.7 (and Python 2.6.5) will return:" @@ -3278,6 +3501,9 @@ msgid "" ">>> urlparse.urlsplit('invented://host/filename?query')\n" "('invented', 'host', '/filename?query', '', '')" msgstr "" +">>> import urlparse\n" +">>> urlparse.urlsplit('invented://host/filename?query')\n" +"('invented', 'host', '/filename?query', '', '')" #: ../Doc/whatsnew/2.7.rst:1675 ../Doc/whatsnew/2.7.rst:2536 msgid "" @@ -3288,14 +3514,14 @@ msgstr "" "retorna una tupla con nombre en lugar de una tupla estándar)" #: ../Doc/whatsnew/2.7.rst:1678 -#, fuzzy 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`)." +"El módulo :mod:`urlparse ` también admite direcciones " +"literales IPv6 según lo definido por :rfc:`2732` (contribuido por Senthil " +"Kumaran; :issue:`2987`)." #: ../Doc/whatsnew/2.7.rst:1681 msgid "" @@ -3303,6 +3529,9 @@ msgid "" "ParseResult(scheme='http', netloc='[1080::8:800:200C:417A]',\n" " path='/foo', params='', query='', fragment='')" msgstr "" +">>> urlparse.urlparse('http://[1080::8:800:200C:417A]/foo')\n" +"ParseResult(scheme='http', netloc='[1080::8:800:200C:417A]',\n" +"path='/foo', params='', query='', fragment='')" #: ../Doc/whatsnew/2.7.rst:1688 msgid "" @@ -3319,21 +3548,18 @@ msgstr "" "Portado a 2.7 por Michael Foord)" #: ../Doc/whatsnew/2.7.rst:1694 -#, fuzzy msgid "" "The :mod:`xml.etree.ElementTree` library, no longer escapes ampersands and " "angle brackets when outputting an XML processing instruction (which looks " "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`.)" +"La biblioteca :mod:`xml.etree.ElementTree` ya no omite los símbolos & ni los " +"corchetes angulares al generar 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:1700 -#, fuzzy msgid "" "The XML-RPC client and server, provided by the :mod:`xmlrpclib ` and :mod:`SimpleXMLRPCServer ` modules, have " @@ -3345,13 +3571,13 @@ msgid "" "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`.)" +"`xmlrpclib ` y :mod:`SimpleXMLRPCServer `, han " +"mejorado su rendimiento al admitir la función keep-alive de HTTP/1.1 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:`~xmlrpc.server.SimpleXMLRPCRequestHandler`, que " +"contiene un tamaño en bytes; las respuestas más grandes que este tamaño se " +"comprimirán. (Contribuido por Kristján Valur Jónsson; :issue:`6267`.)" #: ../Doc/whatsnew/2.7.rst:1709 msgid "" @@ -3364,7 +3590,6 @@ msgstr "" "ZipFile(...) como f:``. (Contribución de Brian Curtin; :issue:`5511`.)" #: ../Doc/whatsnew/2.7.rst:1713 -#, fuzzy msgid "" ":mod:`zipfile` now also supports archiving empty directories and extracts " "them correctly. (Fixed by Kuba Wieczorek; :issue:`4710`.) Reading files out " @@ -3372,11 +3597,11 @@ msgid "" "read>` and :meth:`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`.)" +":mod:`zipfile` ahora también permite archivar directorios vacíos y " +"extraerlos correctamente. (Corregido por Kuba Wieczorek; :issue:`4710`.) La " +"lectura de archivos de un archivo es más rápida y la intercalación de :meth:" +"`read() ` y :meth:`readline() ` " +"ahora funciona correctamente. (Contribuido por Nir Aides; :issue:`7610`.)" #: ../Doc/whatsnew/2.7.rst:1720 msgid "" @@ -3405,7 +3630,6 @@ msgid "New module: importlib" msgstr "Nuevo módulo: importlib" #: ../Doc/whatsnew/2.7.rst:1739 -#, fuzzy msgid "" "Python 3.1 includes the :mod:`importlib` package, a re-implementation of the " "logic underlying Python's :keyword:`import` statement. :mod:`importlib` is " @@ -3416,10 +3640,10 @@ msgid "" "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:" +"lógica subyacente a la declaració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:" +"los usuarios que desean 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`." @@ -3457,6 +3681,14 @@ msgid "" ">>> file_util\n" "" msgstr "" +">>> from importlib import import_module\n" +">>> anydbm = import_module('anydbm') # Standard absolute import\n" +">>> anydbm\n" +"\n" +">>> # Relative import\n" +">>> file_util = import_module('..file_util', 'distutils.command')\n" +">>> file_util\n" +"" #: ../Doc/whatsnew/2.7.rst:1767 msgid "" @@ -3562,7 +3794,6 @@ msgstr "" "(por \"Tk temático\") al ser añadido a la versión 8.5 de Tcl/Tck." #: ../Doc/whatsnew/2.7.rst:1811 -#, fuzzy msgid "" "To learn more, read the :mod:`~tkinter.ttk` module documentation. You may " "also wish to read the Tcl/Tk manual page describing the Ttk theme engine, " @@ -3570,14 +3801,14 @@ msgid "" "screenshots of the 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." +"Para obtener más información, lea la documentación del módulo :mod:`~tkinter." +"ttk`. También puede leer la página del manual de Tcl/Tk que describe el " +"motor de temas Ttk, disponible en https://www.tcl.tk/man/tcl8.5/TkCmd/" +"ttk_intro.html. Algunas capturas de pantalla del código Python/Ttk en uso se " +"encuentran en https://code.google.com/archive/p/python-ttk/wikis/Screenshots." +"wiki." #: ../Doc/whatsnew/2.7.rst:1818 -#, fuzzy msgid "" "The :mod:`tkinter.ttk` module was written by Guilherme Polo and added in :" "issue:`2983`. An alternate version called ``Tile.py``, written by Martin " @@ -3585,18 +3816,17 @@ msgid "" "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." +"El módulo :mod:`tkinter.ttk` fue escrito por Guilherme Polo y se agregó en :" +"issue:`2983`. Se propuso una versión alternativa llamada ``Tile.py``, " +"escrita por Martin Franklin y mantenida por Kevin Walzer, 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:1828 msgid "Updated module: unittest" msgstr "Módulo actualizado: unittest" #: ../Doc/whatsnew/2.7.rst:1830 -#, fuzzy msgid "" "The :mod:`unittest` module was greatly enhanced; many new features were " "added. Most of these features were implemented by Michael Foord, unless " @@ -3604,12 +3834,12 @@ msgid "" "separately for use with Python versions 2.4 to 2.6, packaged as the :mod:`!" "unittest2` package, from :pypi:`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." +"El módulo :mod:`unittest` se ha mejorado considerablemente y se han añadido " +"muchas funciones nuevas. La mayoría de estas funciones fueron implementadas " +"por Michael Foord, a menos que se indique lo contrario. La versión mejorada " +"del módulo se puede descargar por separado para su uso con las versiones 2.4 " +"a 2.6 de Python, empaquetada como el paquete :mod:`!unittest2`, desde :pypi:" +"`unittest2`." #: ../Doc/whatsnew/2.7.rst:1836 msgid "" @@ -3629,7 +3859,7 @@ msgstr "" #: ../Doc/whatsnew/2.7.rst:1843 msgid "python -m unittest discover -s test" -msgstr "" +msgstr "python -m unittest descubre -s prueba" #: ../Doc/whatsnew/2.7.rst:1845 msgid "" @@ -3750,6 +3980,8 @@ msgid "" "with self.assertRaises(KeyError):\n" " {}['foo']" msgstr "" +"with self.assertRaises(KeyError):\n" +" {}['foo']" #: ../Doc/whatsnew/2.7.rst:1895 msgid "(Implemented by Antoine Pitrou; :issue:`4444`.)" @@ -3859,29 +4091,28 @@ msgstr "" "cadenas Unicode se comparan con :meth:`~unittest.TestCase.assertEqual`." #: ../Doc/whatsnew/2.7.rst:1941 -#, fuzzy msgid "" ":meth:`assertRegexpMatches() ` and :meth:" "`assertNotRegexpMatches() ` checks whether " "the first argument is a string 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`)." +":meth:`assertRegexpMatches() ` y :meth:" +"`assertNotRegexpMatches() ` verifican 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:1946 -#, fuzzy msgid "" ":meth:`assertRaisesRegexp() ` checks " "whether a particular 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." +":meth:`assertRaisesRegexp() ` verifica " +"si se genera una excepción particular y luego también verifica que la " +"representación de cadena de la excepción coincida con la expresión regular " +"proporcionada." #: ../Doc/whatsnew/2.7.rst:1951 msgid "" @@ -3892,13 +4123,12 @@ msgstr "" "comprueban si *primero* está o no está en *segundo*." #: ../Doc/whatsnew/2.7.rst:1954 -#, fuzzy msgid "" ":meth:`assertItemsEqual() ` tests " "whether two provided sequences contain the same elements." msgstr "" -":meth:`~unittest.TestCase.assertItemsEqual` comprueba si dos secuencias " -"proporcionadas contienen los mismos elementos." +":meth:`assertItemsEqual() ` prueba si " +"dos secuencias proporcionadas contienen los mismos elementos." #: ../Doc/whatsnew/2.7.rst:1957 msgid "" @@ -3929,7 +4159,6 @@ msgstr "" "tipo determinado." #: ../Doc/whatsnew/2.7.rst:1968 -#, fuzzy msgid "" ":meth:`~unittest.TestCase.assertDictEqual` compares two dictionaries and " "reports the differences; it's now used by default when you compare two " @@ -3938,10 +4167,10 @@ msgid "" "*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*." +"informa las diferencias; ahora se utiliza de forma predeterminada cuando se " +"comparan dos diccionarios mediante :meth:`~unittest.TestCase.assertEqual`. :" +"meth:`!assertDictContainsSubset` comprueba si todos los pares clave/valor de " +"*first* se encuentran en *second*." #: ../Doc/whatsnew/2.7.rst:1973 msgid "" @@ -4068,20 +4297,21 @@ msgid "" "p = ET.XMLParser(encoding='utf-8')\n" "t = ET.XML(\"\"\"\"\"\", parser=p)" msgstr "" +"p = ET.XMLParser(codificación='utf-8')\n" +"t = ET.XML(\"\"\"\"\"\", analizador=p)" #: ../Doc/whatsnew/2.7.rst:2027 -#, fuzzy msgid "" "Errors in parsing XML now raise a :exc:`~xml.etree.ElementTree.ParseError` " "exception, whose 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." +"Los errores al analizar XML ahora generan una excepción :exc:`~xml.etree." +"ElementTree.ParseError`, cuyas instancias tienen un atributo :attr:`!" +"position` que contiene una tupla (*line*, *column*) que indica la ubicación " +"del problema." #: ../Doc/whatsnew/2.7.rst:2031 -#, fuzzy msgid "" "ElementTree's code for converting trees to a string has been significantly " "reworked, making it roughly twice as fast in many cases. The :meth:" @@ -4095,17 +4325,18 @@ msgid "" "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." +"El código de ElementTree para convertir árboles en cadenas ha sido " +"rediseñado significativamente, lo que lo hace aproximadamente el doble de " +"rápido en muchos casos. Los métodos :meth:`ElementTree.write() ` y :meth:`Element.write` ahora tienen un " +"parámetro *method* que puede ser \"xml\" (el valor predeterminado), \"html\" " +"o \"texto\". El modo HTML mostrará los elementos vacíos como ```` en lugar de ````, y el modo de texto omitirá los elementos " +"y solo mostrará los fragmentos de texto. Si establece el atributo :attr:" +"`~xml.etree.ElementTree.Element.tag` de un elemento en ``None`` pero deja " +"sus elementos secundarios en su lugar, el elemento se omitirá cuando se " +"escriba el árbol, por lo que no necesita realizar una reorganización más " +"extensa para eliminar un solo elemento." #: ../Doc/whatsnew/2.7.rst:2044 msgid "" @@ -4149,9 +4380,18 @@ msgid "" "# Outputs 1...\n" "print ET.tostring(new)" msgstr "" +"from xml.etree import ElementTree as ET\n" +"\n" +"t = ET.XML(\"\"\"\n" +" 1 2 3\n" +"\"\"\")\n" +"new = ET.XML('')\n" +"new.extend(t)\n" +"\n" +"# Outputs 1...\n" +"print ET.tostring(new)" #: ../Doc/whatsnew/2.7.rst:2069 -#, fuzzy msgid "" "New :class:`~xml.etree.ElementTree.Element` method: :meth:`~xml.etree." "ElementTree.Element.iter` yields the children of the element as a " @@ -4160,22 +4400,22 @@ msgid "" "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." +"Nuevo método :class:`~xml.etree.ElementTree.Element`: :meth:`~xml.etree." +"ElementTree.Element.iter` genera los elementos secundarios del elemento como " +"generador. También es posible escribir ``for child in elem:`` para recorrer " +"los elementos secundarios de un elemento. El método existente :meth:`!" +"getiterator` ya no se utiliza, al igual que :meth:`!getchildren`, que " +"construye y devuelve una lista de elementos secundarios." #: ../Doc/whatsnew/2.7.rst:2076 -#, fuzzy msgid "" "New :class:`~xml.etree.ElementTree.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::" +"Nuevo método :class:`~xml.etree.ElementTree.Element`: :meth:`~xml.etree." +"ElementTree.Element.itertext` genera todos los fragmentos de texto que son " +"descendientes del elemento. Por ejemplo:" #: ../Doc/whatsnew/2.7.rst:2080 msgid "" @@ -4186,6 +4426,12 @@ msgid "" "# Outputs ['\\n ', '1', ' ', '2', ' ', '3', '\\n']\n" "print list(t.itertext())" msgstr "" +"t = ET.XML(\"\"\"\n" +" 1 2 3\n" +"\"\"\")\n" +"\n" +"# Outputs ['\\n ', '1', ' ', '2', ' ', '3', '\\n']\n" +"print list(t.itertext())" #: ../Doc/whatsnew/2.7.rst:2087 msgid "" @@ -4228,7 +4474,6 @@ msgstr "" "incluyen:" #: ../Doc/whatsnew/2.7.rst:2109 -#, fuzzy msgid "" "The latest release of the GNU Debugger, GDB 7, can be `scripted using 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`.)" +"La última versión del depurador GNU, GDB 7, puede ser `scripted using 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 :file:`python-gdb.py` " +"que agrega una serie de comandos útiles para depurar Python en sí. Por " +"ejemplo, ``py-up`` y ``py-down`` suben o bajan un marco de pila de Python, " +"que generalmente 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. (Agregado como resultado de :issue:`8032`)." #: ../Doc/whatsnew/2.7.rst:2121 msgid "" @@ -4277,7 +4522,6 @@ msgstr "" "(Contribuido por Kristján Valur Jónsson; :issue:`4293`.)" #: ../Doc/whatsnew/2.7.rst:2131 -#, fuzzy msgid "" "New function: :c:func:`PyCode_NewEmpty` creates an empty code object; only " "the filename, function name, and first line number are required. This is " @@ -4286,11 +4530,11 @@ msgid "" "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)" +"solo se requieren el nombre del archivo, el nombre de la función y el número " +"de la primera línea. Esto resulta útil para los módulos de extensión que " +"intentan construir una pila de seguimiento más útil. Anteriormente, dichas " +"extensiones necesitaban llamar a :c:func:`!PyCode_New`, que tenía muchos más " +"argumentos. (Agregado por Jeffrey Yasskin)." #: ../Doc/whatsnew/2.7.rst:2138 msgid "" @@ -4334,33 +4578,30 @@ msgstr "" "`7528` y :issue:`7767`.)" #: ../Doc/whatsnew/2.7.rst:2157 -#, fuzzy msgid "" "New function: stemming from the rewrite of string-to-float conversion, a " "new :c:func:`PyOS_string_to_double` function was added. The old :c:func:`!" "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." +"Nueva función: a partir de la reescritura de la conversión de cadena a " +"flotante, se agregó una nueva función :c:func:`PyOS_string_to_double`. Las " +"antiguas funciones :c:func:`!PyOS_ascii_strtod` y :c:func:`!PyOS_ascii_atof` " +"ahora están obsoletas." #: ../Doc/whatsnew/2.7.rst:2162 -#, fuzzy msgid "" "New function: :c:func:`!PySys_SetArgvEx` sets the value of ``sys.argv`` and " "can optionally update ``sys.path`` to include the directory containing the " "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 " +"Nueva función: :c:func:`!PySys_SetArgvEx` establece el valor de ``sys.argv`` " +"y opcionalmente puede 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:2167 -#, fuzzy msgid "" "This function was added to close a security hole for applications that embed " "Python. The old function, :c:func:`!PySys_SetArgv`, would always update " @@ -4370,37 +4611,34 @@ 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." +"Esta función se agregó para cerrar un agujero de seguridad en las " +"aplicaciones que incorporan Python. La función anterior, :c:func:`!" +"PySys_SetArgv`, siempre actualizaba ``sys.path`` y, a veces, añadía el " +"directorio actual. Esto significaba que, si ejecutaba una aplicación que " +"incorporaba Python en un directorio controlado por otra persona, los " +"atacantes podían colocar un módulo troyano en el directorio (por ejemplo, un " +"archivo llamado :file:`os.py`) que su aplicación luego importaría y " +"ejecutaría." #: ../Doc/whatsnew/2.7.rst:2175 -#, fuzzy msgid "" "If you maintain a C/C++ application that embeds Python, check whether you're " "calling :c:func:`!PySys_SetArgv` and carefully consider whether the " "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." +"Si mantiene una aplicación C/C++ que incorpora Python, verifique si está " +"llamando a :c:func:`!PySys_SetArgv` y considere cuidadosamente si la " +"aplicación debería usar :c:func:`!PySys_SetArgvEx` con *updatepath* " +"establecido en falso." #: ../Doc/whatsnew/2.7.rst:2180 -#, fuzzy msgid "" "Security issue reported as :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." +"Problema de seguridad informado como :cve:`2008-5983`; discutido en :issue:" +"`5753` y solucionado por Antoine Pitrou." #: ../Doc/whatsnew/2.7.rst:2183 msgid "" @@ -4424,30 +4662,28 @@ msgstr "" "`5793`.)" #: ../Doc/whatsnew/2.7.rst:2201 -#, fuzzy msgid "" "Removed function: :c:func:`!PyEval_CallObject` is now only available as a " "macro. A function version was being kept around to preserve ABI linking " "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`.)" +"Función eliminada: :c:func:`!PyEval_CallObject` ahora solo está disponible " +"como macro. Se mantuvo una versión de función para preservar la " +"compatibilidad con enlaces ABI, pero eso fue en 1997; por lo tanto, ya se " +"puede eliminar. (Eliminada por Antoine Pitrou; :issue:`8276`)." #: ../Doc/whatsnew/2.7.rst:2206 -#, fuzzy msgid "" "New format codes: the :c:func:`!PyString_FromFormat`, :c:func:`!" "PyString_FromFormatV`, and :c:func:`PyErr_Format` functions now accept " "``%lld`` and ``%llu`` format codes for displaying C's :c:expr:`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` ahora aceptan códigos " -"de formato ``%lld`` y ``%llu`` para mostrar los tipos :c:expr:`long long` de " -"C. (Aportado por Mark Dickinson; :issue:`7228`.)" +"Nuevos códigos de formato: las funciones :c:func:`!PyString_FromFormat`, :c:" +"func:`!PyString_FromFormatV` y :c:func:`PyErr_Format` ahora aceptan los " +"códigos de formato ``%lld`` y ``%llu`` para mostrar los tipos :c:expr:`long " +"long` de C. (Contribuido por Mark Dickinson; :issue:`7228`.)" #: ../Doc/whatsnew/2.7.rst:2212 msgid "" @@ -4486,26 +4722,24 @@ msgid "(Fixed by Thomas Wouters; :issue:`1590864`.)" msgstr "(Corregido por Thomas Wouters; :issue:`1590864`.)" #: ../Doc/whatsnew/2.7.rst:2230 -#, fuzzy msgid "" "The :c:func:`Py_Finalize` function now calls the internal :func:`!threading." "_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`.)" +"La función :c:func:`Py_Finalize` ahora llama a la función interna :func:`!" +"threading._shutdown`; esto evita que se generen algunas excepciones cuando " +"se apaga un intérprete. (Parche de Adam Olsen; :issue:`1722344`)." #: ../Doc/whatsnew/2.7.rst:2235 -#, fuzzy msgid "" "When using the :c:type:`PyMemberDef` structure to define attributes of a " "type, Python will no longer let you try to delete or set a :c:macro:" "`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`." +"Al utilizar la estructura :c:type:`PyMemberDef` para definir atributos de un " +"tipo, Python ya no le permitirá intentar eliminar o establecer un atributo :" +"c:macro:`T_STRING_INPLACE`." #: ../Doc/whatsnew/2.7.rst:2241 msgid "" @@ -4517,17 +4751,16 @@ msgstr "" "`3102`.)" #: ../Doc/whatsnew/2.7.rst:2245 -#, fuzzy msgid "" "New configure option: the :option:`!--with-system-expat` switch allows " "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`.)" +"Nueva opción de configuración: el conmutador :option:`!--with-system-expat` " +"permite crear el módulo :mod:`pyexpat ` para utilizar la " +"biblioteca Expat del sistema. (Contribución de Arfrever Frehtes Taifersar " +"Arahesis; :issue:`7609`)." #: ../Doc/whatsnew/2.7.rst:2249 msgid "" @@ -4619,7 +4852,6 @@ msgstr "" "API del módulo." #: ../Doc/whatsnew/2.7.rst:2292 -#, fuzzy msgid "" "There is an existing data type already used for this, :c:type:`!PyCObject`, " "but it doesn't provide type safety. Evil code written in pure Python could " @@ -4628,12 +4860,12 @@ msgid "" "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:" +"Ya existe un tipo de datos que se utiliza para esto, :c:type:`!PyCObject`, " +"pero no proporciona seguridad de tipos. Un código malicioso escrito en " +"Python puro podría provocar un error de segmentación al tomar un :c:type:`!" +"PyCObject` del módulo A y sustituirlo de alguna manera por el :c:type:`!" +"PyCObject` del módulo B. Las cápsulas conocen su propio nombre y, para " +"obtener el puntero, es necesario proporcionar el nombre:" #: ../Doc/whatsnew/2.7.rst:2299 msgid "" @@ -4646,6 +4878,14 @@ msgid "" "\n" "vtable = PyCapsule_GetPointer(capsule, \"mymodule.CAPI\");" msgstr "" +"void *vtable;\n" +"\n" +"if (!PyCapsule_IsValid(capsule, \"mymodule.CAPI\") {\n" +" PyErr_SetString(PyExc_ValueError, \"argument type invalid\");\n" +" return NULL;\n" +"}\n" +"\n" +"vtable = PyCapsule_GetPointer(capsule, \"mymodule.CAPI\");" #: ../Doc/whatsnew/2.7.rst:2310 msgid "" @@ -4660,7 +4900,6 @@ msgstr "" "sobre el uso de estos objetos." #: ../Doc/whatsnew/2.7.rst:2315 -#, fuzzy msgid "" "Python 2.7 now uses capsules internally to provide various extension-module " "APIs, but the :c:func:`!PyCObject_AsVoidPtr` was modified to handle " @@ -4668,12 +4907,12 @@ msgid "" "PyCObject` interface. 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." +"Python 2.7 ahora utiliza cápsulas internamente para proporcionar varias API " +"de módulos de extensión, pero se modificó :c:func:`!PyCObject_AsVoidPtr` " +"para manejar cápsulas, lo que preserva la compatibilidad en tiempo de " +"compilación con la interfaz :c:type:`!PyCObject`. El uso de :c:func:`!" +"PyCObject_AsVoidPtr` indicará un :exc:`PendingDeprecationWarning`, que es " +"silencioso de manera predeterminada." #: ../Doc/whatsnew/2.7.rst:2322 msgid "" @@ -4688,7 +4927,6 @@ msgid "Port-Specific Changes: Windows" msgstr "Cambios específicos en los puertos: Windows" #: ../Doc/whatsnew/2.7.rst:2331 -#, fuzzy msgid "" "The :mod:`msvcrt` module now contains some constants from the :file:" "`crtassem.h` header file: :data:`~msvcrt.CRT_ASSEMBLY_VERSION`, :data:" @@ -4696,13 +4934,13 @@ msgid "" "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`.)" +"El módulo :mod:`msvcrt` ahora contiene algunas constantes del archivo de " +"encabezado :file:`crtassem.h`: :data:`~msvcrt.CRT_ASSEMBLY_VERSION`, :data:" +"`~msvcrt.VC_ASSEMBLY_PUBLICKEYTOKEN` y :data:`~msvcrt." +"LIBRARIES_ASSEMBLY_NAME_PREFIX`. (Contribuido por David Cournapeau; :issue:" +"`4365`)." #: ../Doc/whatsnew/2.7.rst:2338 -#, fuzzy msgid "" "The :mod:`_winreg ` module for accessing the registry now implements " "the :func:`~winreg.CreateKeyEx` and :func:`~winreg.DeleteKeyEx` functions, " @@ -4711,27 +4949,25 @@ 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 ahora implementa las " -"funciones :func:`~_winreg.CreateKeyEx` y :func:`~_winreg.DeleteKeyEx`, " +"El módulo :mod:`_winreg ` para acceder al registro ahora implementa " +"las funciones :func:`~winreg.CreateKeyEx` y :func:`~winreg.DeleteKeyEx`, " "versiones extendidas de funciones admitidas anteriormente que toman varios " -"argumentos adicionales. También se probaron y documentaron :func:`~_winreg." -"DisableReflectionKey`, :func:`~_winreg.EnableReflectionKey` y :func:" -"`~_winreg.QueryReflectionKey`. (Implementado por Brian Curtin: :issue:" -"`7347`.)" +"argumentos adicionales. También se probaron y documentaron las funciones :" +"func:`~winreg.DisableReflectionKey`, :func:`~winreg.EnableReflectionKey` y :" +"func:`~winreg.QueryReflectionKey`. (Implementado por Brian Curtin: :issue:" +"`7347`)." #: ../Doc/whatsnew/2.7.rst:2346 -#, fuzzy msgid "" "The new :c:func:`!_beginthreadex` API is used to start threads, and the " "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`.)" +"La nueva API :c:func:`!_beginthreadex` se utiliza para iniciar subprocesos y " +"ahora se utilizan las funciones nativas de almacenamiento local de " +"subprocesos. (Contribución de Kristján Valur Jónsson; :issue:`3582`)." #: ../Doc/whatsnew/2.7.rst:2350 -#, fuzzy msgid "" "The :func:`os.kill` function now works on Windows. The signal value can be " "the constants :const:`~signal.CTRL_C_EVENT`, :const:`~signal." @@ -4740,12 +4976,12 @@ msgid "" "other value will use 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`.)" +"La función :func:`os.kill` ahora funciona en Windows. El valor de la señal " +"puede ser las constantes :const:`~signal.CTRL_C_EVENT`, :const:`~signal." +"CTRL_BREAK_EVENT` o cualquier número entero. Las dos primeras constantes " +"enviarán 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:2357 msgid "" @@ -4756,13 +4992,12 @@ msgstr "" "vacía. (Corregido por Hirokazu Yamamoto; :issue:`5913`.)" #: ../Doc/whatsnew/2.7.rst:2360 -#, fuzzy msgid "" "The :mod:`mimetypes` 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`.)" +"El módulo :mod:`mimetypes` ahora leerá la base de datos MIME del registro de " +"Windows al inicializarse. (Parche de Gabriel Genellina; :issue:`4969`)." #: ../Doc/whatsnew/2.7.rst:2367 msgid "Port-Specific Changes: Mac OS X" @@ -4806,17 +5041,17 @@ msgid "Port-Specific Changes: FreeBSD" msgstr "Cambios específicos en los puertos: FreeBSD" #: ../Doc/whatsnew/2.7.rst:2389 -#, fuzzy msgid "" "FreeBSD 7.1's :const:`!SO_SETFIB` constant, used with the :func:`~socket." "socket` methods :func:`~socket.socket.getsockopt`/:func:`~socket.socket." "setsockopt` to select an alternate routing table, 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`.)" +"La constante :const:`!SO_SETFIB` de FreeBSD 7.1, utilizada con los métodos :" +"func:`~socket.socket.getsockopt`/:func:`~socket.socket.setsockopt` de :func:" +"`~socket.socket` para seleccionar una tabla de enrutamiento alternativa, " +"ahora está disponible en el módulo :mod:`socket`. (Agregado por Kyle " +"VanderBeek; :issue:`8235`.)" #: ../Doc/whatsnew/2.7.rst:2395 msgid "Other Changes and Fixes" @@ -4848,7 +5083,6 @@ msgstr "" "los archivos :file:`.po`. (Corregido por Martin von Löwis; :issue:`5464`.)" #: ../Doc/whatsnew/2.7.rst:2409 -#, fuzzy msgid "" "When importing a module from a :file:`.pyc` or :file:`.pyo` file with an " "existing :file:`.py` counterpart, the :attr:`~codeobject.co_filename` " @@ -4857,12 +5091,13 @@ msgid "" "or is 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`.)" +"Al importar un módulo desde un archivo :file:`.pyc` o :file:`.pyo` con un " +"equivalente :file:`.py` existente, los atributos :attr:`~codeobject." +"co_filename` de los objetos de código resultantes se sobrescriben cuando el " +"nombre de archivo original queda obsoleto. Esto puede suceder si el archivo " +"ha cambiado de nombre, se ha movido o se accede a él a través de rutas " +"diferentes. (Parche de Ziga Seilnacht y Jean-Paul Calderone; :issue:" +"`1180193`)." #: ../Doc/whatsnew/2.7.rst:2416 msgid "" @@ -4920,15 +5155,15 @@ msgstr "" "correcciones de errores que pueden requerir cambios en su código:" #: ../Doc/whatsnew/2.7.rst:2444 -#, fuzzy msgid "" "The :func:`range` function processes its arguments more consistently; it " "will now call :meth:`~object.__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`.)" +"La función :func:`range` procesa sus argumentos de manera más consistente; " +"ahora llamará a :meth:`~object.__int__` en los argumentos que no sean " +"números flotantes ni enteros que se le proporcionen. (Corregido por " +"Alexander Belopolsky; :issue:`1533`)." #: ../Doc/whatsnew/2.7.rst:2449 msgid "" @@ -4943,7 +5178,6 @@ msgstr "" "Eric Smith; :issue:`5920`.)" #: ../Doc/whatsnew/2.7.rst:2454 -#, fuzzy msgid "" "Because of an optimization for the :keyword:`with` statement, the special " "methods :meth:`~object.__enter__` and :meth:`~object.__exit__` must belong " @@ -4951,14 +5185,13 @@ msgid "" "instance. This 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`.)" +"Debido a una optimización de la declaración :keyword:`with`, los métodos " +"especiales :meth:`~object.__enter__` y :meth:`~object.__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:2460 -#, fuzzy msgid "" "Due to a bug in Python 2.6, the *exc_value* parameter to :meth:`~object." "__exit__` methods was often the string representation of the exception, not " @@ -4966,9 +5199,10 @@ msgid "" "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`.)" +"meth:`~object.__exit__` era a menudo la representación de cadena de la " +"excepción, no una instancia. Esto se solucionó en la versión 2.7, por lo que " +"*exc_value* será una instancia como se esperaba. (Solucionado por Florent " +"Xicluna; :issue:`7853`)." #: ../Doc/whatsnew/2.7.rst:2470 msgid "In the standard library:" @@ -5001,29 +5235,26 @@ msgstr "" "salida de sus programas. (Cambiado por Mark Dickinson; :issue:`6857`.)" #: ../Doc/whatsnew/2.7.rst:2490 -#, fuzzy msgid "" "The :mod:`xml.etree.ElementTree` library no longer escapes ampersands and " "angle brackets when outputting an XML processing instruction (which looks " "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`.)" +"La biblioteca :mod:`xml.etree.ElementTree` ya no omite los símbolos & y los " +"corchetes angulares al generar 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:2496 -#, fuzzy msgid "" "The :meth:`!readline` method of :class:`~io.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`)." +"El método :meth:`!readline` de los objetos :class:`~io.StringIO` ahora no " +"hace nada cuando se solicita una longitud negativa, como lo hacen otros " +"objetos similares a archivos. (:issue:`7348`)." #: ../Doc/whatsnew/2.7.rst:2539 msgid "For C extensions:" @@ -5040,22 +5271,20 @@ msgstr "" "en lugar de provocar un :exc:`DeprecationWarning` (:issue:`5080`)." #: ../Doc/whatsnew/2.7.rst:2545 -#, fuzzy msgid "" "Use the new :c:func:`PyOS_string_to_double` function instead of the old :c:" "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." +"antiguas funciones :c:func:`!PyOS_ascii_strtod` y :c:func:`!" +"PyOS_ascii_atof`, que ahora están obsoletas." #: ../Doc/whatsnew/2.7.rst:2549 msgid "For applications that embed Python:" msgstr "Para aplicaciones que incrustan Python:" #: ../Doc/whatsnew/2.7.rst:2551 -#, fuzzy msgid "" "The :c:func:`!PySys_SetArgvEx` function was added, letting applications " "close a security hole when the existing :c:func:`!PySys_SetArgv` function " @@ -5063,11 +5292,11 @@ msgid "" "carefully 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 " +"Se agregó 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." +"func:`!PySys_SetArgv` existente. Verifique si está llamando a :c:func:`!" +"PySys_SetArgv` y considere cuidadosamente si la aplicación debería usar :c:" +"func:`!PySys_SetArgvEx` con *updatepath* configurado como falso." #: ../Doc/whatsnew/2.7.rst:2564 msgid "New Features Added to Python 2.7 Maintenance Releases" @@ -5104,18 +5333,17 @@ msgid "Two new environment variables for debug mode" msgstr "Dos nuevas variables de entorno para el modo de depuración" #: ../Doc/whatsnew/2.7.rst:2580 -#, fuzzy msgid "" "In debug mode, the ``[xxx refs]`` statistic is not written by default, the :" "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`.)" +"En el modo de depuración, la estadística ``[xxx refs]`` no se escribe de " +"manera predeterminada; ahora también se debe configurar la variable de " +"entorno :envvar:`!PYTHONSHOWREFCOUNT`. (Contribución de Victor Stinner; :" +"issue:`31733`)." #: ../Doc/whatsnew/2.7.rst:2584 -#, fuzzy msgid "" "When Python is compiled with ``COUNT_ALLOC`` defined, allocation counts are " "no longer dumped by default anymore: the :envvar:`!PYTHONSHOWALLOCCOUNT` " @@ -5124,10 +5352,10 @@ msgid "" "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`.)" +"asignación ya no se vuelcan de forma predeterminada: ahora también se debe " +"configurar la variable de entorno :envvar:`!PYTHONSHOWALLOCCOUNT`. Además, " +"los recuentos de asignación ahora se vuelcan en stderr, en lugar de stdout. " +"(Contribuido por Victor Stinner; :issue:`31692`)." #: ../Doc/whatsnew/2.7.rst:2593 msgid "PEP 434: IDLE Enhancement Exception for All Branches" @@ -5206,15 +5434,14 @@ msgstr "" "Alex Gaynor; :issue:`21304`.)" #: ../Doc/whatsnew/2.7.rst:2626 -#, fuzzy 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)" +"OpenSSL 1.0.1h se actualizó para los instaladores oficiales de Windows " +"publicados en python.org. (Contribución de Zachary Ware en :issue:`21671` " +"para :cve:`2014-0224`.)" #: ../Doc/whatsnew/2.7.rst:2629 msgid ":pep:`466` related features added in Python 2.7.9:" @@ -5338,7 +5565,6 @@ msgstr "" "``py -m pip``." #: ../Doc/whatsnew/2.7.rst:2683 -#, fuzzy msgid "" "As :pep:`discussed in the PEP <0477#disabling-ensurepip-by-downstream-" "distributors>`, platform packagers may choose not to install these commands " @@ -5346,11 +5572,11 @@ msgid "" "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)." +"Como en :pep:`discussed in the PEP <0477#disabling-ensurepip-by-downstream-" +"distributors>`, los empaquetadores de plataformas pueden elegir no instalar " +"estos comandos de forma predeterminada, siempre que, cuando se invoquen, " +"proporcionen instrucciones claras y simples sobre cómo instalarlos en esa " +"plataforma (generalmente usando el administrador de paquetes del sistema)." #: ../Doc/whatsnew/2.7.rst:2690 msgid "Documentation Changes" @@ -5373,15 +5599,14 @@ msgstr "" "org>`__ y la documentación de los proyectos individuales." #: ../Doc/whatsnew/2.7.rst:2700 -#, fuzzy msgid "" "However, as this migration is currently still incomplete, the legacy " "versions of those guides remaining available as :ref:`install-index` and :" "ref:`setuptools-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`." +"Sin embargo, como esta migración aún no está completa, las versiones " +"anteriores de esas guías siguen estando disponibles como :ref:`install-" +"index` y :ref:`setuptools-index`." #: ../Doc/whatsnew/2.7.rst:2707 msgid ":pep:`453` -- Explicit bootstrapping of pip in Python installations" @@ -5403,7 +5628,6 @@ msgstr "" "clientes http stdlib" #: ../Doc/whatsnew/2.7.rst:2713 -#, fuzzy msgid "" ":pep:`476` updated :mod:`httplib ` and modules which use it, such as :" "mod:`urllib2 ` and :mod:`xmlrpclib `, to now " @@ -5412,13 +5636,13 @@ msgid "" "the hostname being requested by default, 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." +":pep:`476` actualizó :mod:`httplib ` y los módulos que lo utilizan, " +"como :mod:`urllib2 ` y :mod:`xmlrpclib `, " +"para verificar que el servidor presente un certificado firmado por una " +"autoridad de certificación en el almacén de confianza de la plataforma y " +"cuyo nombre de host coincida con el nombre de host que se solicita de manera " +"predeterminada, lo que mejora significativamente la seguridad para muchas " +"aplicaciones. Este cambio se realizó en la versión Python 2.7.9." #: ../Doc/whatsnew/2.7.rst:2721 msgid "" @@ -5442,6 +5666,17 @@ msgid "" "\n" "urllib2.urlopen(\"https://invalid-cert\", context=context)" msgstr "" +"import urllib2\n" +"import ssl\n" +"\n" +"# This disables all verification\n" +"context = ssl._create_unverified_context()\n" +"\n" +"# This allows using a specific certificate for the host, which doesn't need\n" +"# to be in the trust store\n" +"context = ssl.create_default_context(cafile=\"/path/to/file.crt\")\n" +"\n" +"urllib2.urlopen(\"https://invalid-cert\", context=context)" #: ../Doc/whatsnew/2.7.rst:2738 msgid "PEP 493: HTTPS verification migration tools for Python 2.7" @@ -5486,16 +5721,15 @@ msgstr "" "por defecto de Python 2.7.8 y anteriores." #: ../Doc/whatsnew/2.7.rst:2755 -#, fuzzy msgid "" "For cases where the connection establishment code can't be modified, but the " "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." +"Para los casos en los que no se puede modificar el código de establecimiento " +"de conexión, pero sí la aplicación general, se puede utilizar la nueva " +"función :func:`!ssl._https_verify_certificates` para ajustar el " +"comportamiento predeterminado en tiempo de ejecución." #: ../Doc/whatsnew/2.7.rst:2761 msgid "New ``make regen-all`` build target"