diff --git a/whatsnew/3.5.po b/whatsnew/3.5.po index 79ddd7da1d..4a015342d5 100644 --- a/whatsnew/3.5.po +++ b/whatsnew/3.5.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-11-21 16:38-0300\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: José Luis Salgado Banda\n" -"Language: es_MX\n" +"PO-Revision-Date: 2024-11-24 11:41+0100\n" +"Last-Translator: Cristián Maureira-Fredes \n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es_MX\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" +"X-Generator: Poedit 3.4.2\n" #: ../Doc/whatsnew/3.5.rst:3 msgid "What's New In Python 3.5" @@ -321,6 +322,8 @@ msgid "" ">>> async def coro():\n" "... return 'spam'" msgstr "" +">>> async def coro():\n" +"... return 'spam'" #: ../Doc/whatsnew/3.5.rst:181 msgid "" @@ -374,6 +377,28 @@ msgid "" "finally:\n" " loop.close()" msgstr "" +"import asyncio\n" +"\n" +"async def http_get(domain):\n" +" reader, writer = await asyncio.open_connection(domain, 80)\n" +"\n" +" writer.write(b'\\r\\n'.join([\n" +" b'GET / HTTP/1.1',\n" +" b'Host: %b' % domain.encode('latin-1'),\n" +" b'Connection: close',\n" +" b'', b''\n" +" ]))\n" +"\n" +" async for line in reader:\n" +" print('>>>', line)\n" +"\n" +" writer.close()\n" +"\n" +"loop = asyncio.get_event_loop()\n" +"try:\n" +" loop.run_until_complete(http_get('example.com'))\n" +"finally:\n" +" loop.close()" #: ../Doc/whatsnew/3.5.rst:215 msgid "" @@ -402,6 +427,22 @@ msgid "" "finally:\n" " loop.close()" msgstr "" +"import asyncio\n" +"\n" +"async def coro(name, lock):\n" +" print('coro {}: waiting for lock'.format(name))\n" +" async with lock:\n" +" print('coro {}: holding the lock'.format(name))\n" +" await asyncio.sleep(1)\n" +" print('coro {}: releasing the lock'.format(name))\n" +"\n" +"loop = asyncio.get_event_loop()\n" +"lock = asyncio.Lock()\n" +"coros = asyncio.gather(coro(1, lock), coro(2, lock))\n" +"try:\n" +" loop.run_until_complete(coros)\n" +"finally:\n" +" loop.close()" #: ../Doc/whatsnew/3.5.rst:235 msgid "will output::" @@ -416,6 +457,12 @@ msgid "" "coro 1: holding the lock\n" "coro 1: releasing the lock" msgstr "" +"coro 2: waiting for lock\n" +"coro 2: holding the lock\n" +"coro 1: waiting for lock\n" +"coro 2: releasing the lock\n" +"coro 1: holding the lock\n" +"coro 1: releasing the lock" #: ../Doc/whatsnew/3.5.rst:244 msgid "" @@ -492,7 +539,7 @@ msgstr "" #: ../Doc/whatsnew/3.5.rst:285 msgid "S = (H @ beta - r).T @ inv(H @ V @ H.T) @ (H @ beta - r)" -msgstr "" +msgstr "S = (H @ beta - r).T @ inv(H @ V @ H.T) @ (H @ beta - r)" #: ../Doc/whatsnew/3.5.rst:287 msgid "instead of::" @@ -503,6 +550,8 @@ msgid "" "S = dot((dot(H, beta) - r).T,\n" " dot(inv(dot(dot(H, V), H.T)), dot(H, beta) - r))" msgstr "" +"S = dot((dot(H, beta) - r).T,\n" +" dot(inv(dot(dot(H, V), H.T)), dot(H, beta) - r))" #: ../Doc/whatsnew/3.5.rst:292 msgid "NumPy 1.10 has support for the new operator::" @@ -525,6 +574,20 @@ msgid "" ">>> x @ m\n" "array([ 1., 1., 1.])" msgstr "" +">>> import numpy\n" +"\n" +">>> x = numpy.ones(3)\n" +">>> x\n" +"array([ 1., 1., 1.])\n" +"\n" +">>> m = numpy.eye(3)\n" +">>> m\n" +"array([[ 1., 0., 0.],\n" +" [ 0., 1., 0.],\n" +" [ 0., 0., 1.]])\n" +"\n" +">>> x @ m\n" +"array([ 1., 1., 1.])" #: ../Doc/whatsnew/3.5.rst:312 msgid ":pep:`465` -- A dedicated infix operator for matrix multiplication" @@ -563,6 +626,15 @@ msgid "" ">>> fn(**{'a': 1, 'c': 3}, **{'b': 2, 'd': 4})\n" "1 2 3 4" msgstr "" +">>> print(*[1], *[2], 3, *[4, 5])\n" +"1 2 3 4 5\n" +"\n" +">>> def fn(a, b, c, d):\n" +"... print(a, b, c, d)\n" +"...\n" +"\n" +">>> fn(**{'a': 1, 'c': 3}, **{'b': 2, 'd': 4})\n" +"1 2 3 4" #: ../Doc/whatsnew/3.5.rst:335 msgid "" @@ -587,6 +659,17 @@ msgid "" ">>> {'x': 1, **{'y': 2}}\n" "{'x': 1, 'y': 2}" msgstr "" +">>> *range(4), 4\n" +"(0, 1, 2, 3, 4)\n" +"\n" +">>> [*range(4), 4]\n" +"[0, 1, 2, 3, 4]\n" +"\n" +">>> {*range(4), 4, *(5, 6, 7)}\n" +"{0, 1, 2, 3, 4, 5, 6, 7}\n" +"\n" +">>> {'x': 1, **{'y': 2}}\n" +"{'x': 1, 'y': 2}" #: ../Doc/whatsnew/3.5.rst:353 msgid ":pep:`448` -- Additional Unpacking Generalizations" @@ -642,6 +725,11 @@ msgid "" ">>> b'x=%i y=%f' % (1, 2.5)\n" "b'x=1 y=2.500000'" msgstr "" +">>> b'Hello %b!' % b'World'\n" +"b'Hello World!'\n" +"\n" +">>> b'x=%i y=%f' % (1, 2.5)\n" +"b'x=1 y=2.500000'" #: ../Doc/whatsnew/3.5.rst:381 msgid "" @@ -662,6 +750,14 @@ msgid "" ">>> b'price: %a' % '10€'\n" "b\"price: '10\\\\u20ac'\"" msgstr "" +">>> b'Hello %b!' % 'World'\n" +"Traceback (most recent call last):\n" +" File \"\", line 1, in \n" +"TypeError: %b requires bytes, or an object that implements __bytes__, not " +"'str'\n" +"\n" +">>> b'price: %a' % '10€'\n" +"b\"price: '10\\\\u20ac'\"" #: ../Doc/whatsnew/3.5.rst:392 #, python-format @@ -735,9 +831,10 @@ msgid "" "def greeting(name: str) -> str:\n" " return 'Hello ' + name" msgstr "" +"def greeting(name: str) -> str:\n" +" return 'Hello ' + name" #: ../Doc/whatsnew/3.5.rst:425 -#, fuzzy msgid "" "While these annotations are available at runtime through the usual :attr:" "`__annotations__` attribute, *no automatic type checking happens at " @@ -746,11 +843,10 @@ msgid "" "analysis." msgstr "" "Si bien estas anotaciones están disponibles en tiempo de ejecución a través " -"del atributo habitual :attr:`__annotations__`, *no se realiza ninguna " -"verificación de tipos automática en tiempo de ejecución*. En su lugar, se " -"asume que se utilizará un verificador de tipos fuera de línea independiente " -"(p. ej. `mypy `_) para el análisis de código fuente " -"bajo demanda." +"del atributo :attr:`__annotations__` habitual, *no automatic type checking " +"happens at runtime*, se supone que se utilizará un verificador de tipos " +"fuera de línea independiente (por ejemplo, `mypy `_) " +"para el análisis del código fuente a pedido." #: ../Doc/whatsnew/3.5.rst:431 msgid "" @@ -837,6 +933,9 @@ msgid "" " if not entry.name.startswith('.') and entry.is_file():\n" " print(entry.name)" msgstr "" +"for entry in os.scandir(path):\n" +" if not entry.name.startswith('.') and entry.is_file():\n" +" print(entry.name)" #: ../Doc/whatsnew/3.5.rst:472 msgid "" @@ -856,18 +955,17 @@ msgid "PEP 475: Retry system calls failing with EINTR" msgstr "PEP 475: Reintentar las llamadas al sistema que fallan con EINTR" #: ../Doc/whatsnew/3.5.rst:481 -#, fuzzy msgid "" "An :py:const:`errno.EINTR` error code is returned whenever a system call, " "that is waiting for I/O, is interrupted by a signal. Previously, Python " "would raise :exc:`InterruptedError` in such cases. This meant that, when " "writing a Python application, the developer had two choices:" msgstr "" -"Se retorna un código de error :py:data:`errno.EINTR` siempre que una llamada " -"al sistema, que está esperando E/S, es interrumpida por una señal. " -"Anteriormente, Python generaría :exc:`InterruptedError` en tales casos. Esto " -"significaba que, al escribir una aplicación en Python, el desarrollador " -"tenía dos opciones:" +"Se devuelve un código de error :py:const:`errno.EINTR` cada vez que una " +"llamada del sistema, que está esperando una operación de E/S, se interrumpe " +"por una señal. Anteriormente, Python generaba :exc:`InterruptedError` en " +"esos casos. Esto significaba que, al escribir una aplicación Python, el " +"desarrollador tenía dos opciones:" #: ../Doc/whatsnew/3.5.rst:486 msgid "Ignore the ``InterruptedError``." @@ -893,7 +991,7 @@ msgstr "" #: ../Doc/whatsnew/3.5.rst:494 msgid "print(\"Hello World\")" -msgstr "" +msgstr "print(\"Hello World\")" #: ../Doc/whatsnew/3.5.rst:496 msgid "and::" @@ -908,6 +1006,12 @@ msgid "" " except InterruptedError:\n" " continue" msgstr "" +"while True:\n" +" try:\n" +" print(\"Hello World\")\n" +" break\n" +" except InterruptedError:\n" +" continue" #: ../Doc/whatsnew/3.5.rst:505 msgid "" @@ -961,15 +1065,14 @@ msgstr "" "`~os.write`, :func:`~os.writev`;" #: ../Doc/whatsnew/3.5.rst:529 -#, fuzzy msgid "" "special cases: :func:`os.close` and :func:`os.dup2` now ignore :py:const:" "`~errno.EINTR` errors; the syscall is not retried (see the PEP for the " "rationale);" msgstr "" -"casos especiales: ahora :func:`os.close` y :func:`os.dup2` ignoran errores :" -"py:data:`~errno.EINTR`; no se reintenta la llamada al sistema (consultar la " -"PEP para la justificación);" +"casos especiales: :func:`os.close` y :func:`os.dup2` ahora ignoran los " +"errores :py:const:`~errno.EINTR`; la llamada al sistema no se vuelve a " +"intentar (consulte el PEP para conocer la justificación);" #: ../Doc/whatsnew/3.5.rst:533 msgid "" @@ -1080,6 +1183,22 @@ msgid "" " File \"\", line 1, in \n" "RuntimeError: generator raised StopIteration" msgstr "" +">>> from __future__ import generator_stop\n" +"\n" +">>> def gen():\n" +"... next(iter([]))\n" +"... yield\n" +"...\n" +">>> next(gen())\n" +"Traceback (most recent call last):\n" +" File \"\", line 2, in gen\n" +"StopIteration\n" +"\n" +"The above exception was the direct cause of the following exception:\n" +"\n" +"Traceback (most recent call last):\n" +" File \"\", line 1, in \n" +"RuntimeError: generator raised StopIteration" #: ../Doc/whatsnew/3.5.rst:595 msgid "" @@ -1133,6 +1252,13 @@ msgid "" ">>> math.isclose(a, b, rel_tol=1e-6)\n" "False" msgstr "" +">>> import math\n" +">>> a = 5.0\n" +">>> b = 4.99998\n" +">>> math.isclose(a, b, rel_tol=1e-5)\n" +"True\n" +">>> math.isclose(a, b, rel_tol=1e-6)\n" +"False" #: ../Doc/whatsnew/3.5.rst:625 msgid "" @@ -1152,6 +1278,13 @@ msgid "" ">>> math.isclose(a, b, abs_tol=0.00001)\n" "False" msgstr "" +">>> import math\n" +">>> a = 5.0\n" +">>> b = 4.99998\n" +">>> math.isclose(a, b, abs_tol=0.00003)\n" +"True\n" +">>> math.isclose(a, b, abs_tol=0.00001)\n" +"False" #: ../Doc/whatsnew/3.5.rst:639 msgid ":pep:`485` -- A function for testing approximate equality" @@ -1372,6 +1505,8 @@ msgid "" "$ python -m zipapp myapp\n" "$ python myapp.pyz" msgstr "" +"$ python -m zipapp myapp\n" +"$ python myapp.pyz" #: ../Doc/whatsnew/3.5.rst:752 msgid "" @@ -1637,12 +1772,11 @@ msgid "cgi" msgstr "cgi" #: ../Doc/whatsnew/3.5.rst:881 -#, fuzzy msgid "" "The :class:`!FieldStorage` class now supports the :term:`context manager` " "protocol. (Contributed by Berker Peksag in :issue:`20289`.)" msgstr "" -"Ahora la clase :class:`~cgi.FieldStorage` admite el protocolo :term:`context " +"Ahora la clase :class:`!FieldStorage` admite el protocolo :term:`context " "manager`. (Contribución de Berker Peksag en :issue:`20289`.)" #: ../Doc/whatsnew/3.5.rst:886 @@ -1730,6 +1864,10 @@ msgid "" "Point.x.__doc__ = 'abscissa'\n" "Point.y.__doc__ = 'ordinate'" msgstr "" +"Point = namedtuple('Point', ['x', 'y'])\n" +"Point.__doc__ += ': Cartesian coordinate'\n" +"Point.x.__doc__ = 'abscissa'\n" +"Point.y.__doc__ = 'ordinate'" #: ../Doc/whatsnew/3.5.rst:928 msgid "(Contributed by Berker Peksag in :issue:`24064`.)" @@ -1786,14 +1924,12 @@ msgstr "" "issue:`24184`.)" #: ../Doc/whatsnew/3.5.rst:953 -#, fuzzy msgid "" "For earlier Python versions, a backport of the new ABCs is available in an " "external :pypi:`PyPI package `." msgstr "" -"Para versiones anteriores de Python, un backport del nuevo ABC está " -"disponible en un `paquete PyPI `_ " -"externo." +"Para versiones anteriores de Python, hay disponible un backport de los " +"nuevos ABC en un paquete PyPI externo ." #: ../Doc/whatsnew/3.5.rst:958 msgid "compileall" @@ -1902,6 +2038,21 @@ msgid "" ">>> section.getlist('list')\n" "['a', 'b', 'c', 'd', 'e', 'f', 'g']" msgstr "" +">>> import configparser\n" +">>> conv = {}\n" +">>> conv['list'] = lambda v: [e.strip() for e in v.split() if e.strip()]\n" +">>> cfg = configparser.ConfigParser(converters=conv)\n" +">>> cfg.read_string(\"\"\"\n" +"... [s]\n" +"... list = a b c d e f g\n" +"... \"\"\")\n" +">>> cfg.get('s', 'list')\n" +"'a b c d e f g'\n" +">>> cfg.getlist('s', 'list')\n" +"['a', 'b', 'c', 'd', 'e', 'f', 'g']\n" +">>> section = cfg['s']\n" +">>> section.getlist('list')\n" +"['a', 'b', 'c', 'd', 'e', 'f', 'g']" #: ../Doc/whatsnew/3.5.rst:1016 msgid "(Contributed by Łukasz Langa in :issue:`18159`.)" @@ -1933,6 +2084,13 @@ msgid "" ">>> f.getvalue()\n" "'WARNING:root:warning\\n'" msgstr "" +">>> import contextlib, io, logging\n" +">>> f = io.StringIO()\n" +">>> with contextlib.redirect_stderr(f):\n" +"... logging.warning('warning')\n" +"...\n" +">>> f.getvalue()\n" +"'WARNING:root:warning\\n'" #: ../Doc/whatsnew/3.5.rst:1035 msgid "(Contributed by Berker Peksag in :issue:`22389`.)" @@ -1956,16 +2114,15 @@ msgid "curses" msgstr "curses" #: ../Doc/whatsnew/3.5.rst:1048 -#, fuzzy msgid "" "The new :func:`~curses.update_lines_cols` function updates the :data:`LINES` " "and :data:`COLS` module variables. This is useful for detecting manual " "screen resizing. (Contributed by Arnon Yaari in :issue:`4254`.)" msgstr "" "La nueva función :func:`~curses.update_lines_cols` actualiza las variables " -"de entorno :envvar:`LINES` y :envvar:`COLS`. Esto es útil para detectar el " -"cambio de tamaño manual de la pantalla. (Contribución de Arnon Yaari en :" -"issue:`4254`.)" +"de módulo :data:`LINES` y :data:`COLS`. Esto resulta útil para detectar el " +"cambio de tamaño de pantalla manual. (Contribución de Arnon Yaari en :issue:" +"`4254`)." #: ../Doc/whatsnew/3.5.rst:1054 msgid "dbm" @@ -2024,15 +2181,14 @@ msgstr "" "Antoine Pitrou en :issue:`5309`.)" #: ../Doc/whatsnew/3.5.rst:1082 -#, fuzzy msgid "" "The ``distutils`` module now supports ``xz`` compression, and can be enabled " "by passing ``xztar`` as an argument to ``bdist --format``. (Contributed by " "Serhiy Storchaka in :issue:`16314`.)" msgstr "" -"Ahora el módulo :mod:`distutils` admite la compresión ``xz`` y se puede " -"habilitar pasando ``xztar`` como un argumento a ``bdist --format``. " -"(Contribución de Serhiy Storchaka en :issue:`16314`.)" +"El módulo ``distutils`` ahora admite la compresión ``xz`` y se puede " +"habilitar pasando ``xztar`` como argumento a ``bdist --format``. " +"(Contribuido por Serhiy Storchaka en :issue:`16314`)." #: ../Doc/whatsnew/3.5.rst:1088 msgid "doctest" @@ -2127,6 +2283,11 @@ msgid "" ">>> Animal.dog\n" "" msgstr "" +">>> Animal = enum.Enum('Animal', 'cat dog', start=10)\n" +">>> Animal.cat\n" +"\n" +">>> Animal.dog\n" +"" #: ../Doc/whatsnew/3.5.rst:1134 msgid "(Contributed by Ethan Furman in :issue:`21706`.)" @@ -2216,6 +2377,13 @@ msgid "" ">>> list(heapq.merge(reversed(a), reversed(b), key=len, reverse=True))\n" "['55555', '6666', '777', '88', '9']" msgstr "" +">>> import heapq\n" +">>> a = ['9', '777', '55555']\n" +">>> b = ['88', '6666']\n" +">>> list(heapq.merge(a, b, key=len))\n" +"['9', '88', '777', '6666', '55555']\n" +">>> list(heapq.merge(reversed(a), reversed(b), key=len, reverse=True))\n" +"['55555', '6666', '777', '88', '9']" #: ../Doc/whatsnew/3.5.rst:1189 msgid "(Contributed by Raymond Hettinger in :issue:`13742`.)" @@ -2266,6 +2434,14 @@ msgid "" " except http.client.RemoteDisconnected:\n" " pass" msgstr "" +"import http.client\n" +"conn = http.client.HTTPConnection('www.python.org')\n" +"for retries in range(3):\n" +" try:\n" +" conn.request('GET', '/')\n" +" resp = conn.getresponse()\n" +" except http.client.RemoteDisconnected:\n" +" pass" #: ../Doc/whatsnew/3.5.rst:1219 msgid "(Contributed by Martin Panter in :issue:`3566`.)" @@ -2337,17 +2513,16 @@ msgid "imghdr" msgstr "imghdr" #: ../Doc/whatsnew/3.5.rst:1255 -#, fuzzy msgid "" "The :func:`!what` function now recognizes the `OpenEXR `_ format (contributed by Martin Vignali and Claudiu Popa in :issue:" "`20295`), and the `WebP `_ format " "(contributed by Fabrice Aneche and Claudiu Popa in :issue:`20197`.)" msgstr "" -"La función :func:`~imghdr.what` ahora reconoce el formato `OpenEXR `_ (aportado por Martin Vignali y Claudiu Popa en :issue:" -"`20295`) y el formato `WebP `_ (aportado " -"por Fabrice Aneche y Claudiu Popa en :issue:`20197`)." +"La función :func:`!what` ahora reconoce el formato `OpenEXR `_ (contribuido por Martin Vignali y Claudiu Popa en :issue:" +"`20295`) y el formato `WebP `_ " +"(contribuido por Fabrice Aneche y Claudiu Popa en :issue:`20197`)." #: ../Doc/whatsnew/3.5.rst:1263 msgid "importlib" @@ -2424,6 +2599,11 @@ msgid "" ">>> ba.arguments\n" "OrderedDict([('a', 'spam'), ('b', 'ham'), ('args', ())])" msgstr "" +">>> def foo(a, b='ham', *args): pass\n" +">>> ba = inspect.signature(foo).bind('spam')\n" +">>> ba.apply_defaults()\n" +">>> ba.arguments\n" +"OrderedDict([('a', 'spam'), ('b', 'ham'), ('args', ())])" #: ../Doc/whatsnew/3.5.rst:1299 msgid "(Contributed by Yury Selivanov in :issue:`24190`.)" @@ -2518,6 +2698,11 @@ msgid "" ">>> ipaddress.IPv4Network(('127.0.0.0', '255.0.0.0'))\n" "IPv4Network('127.0.0.0/8')" msgstr "" +">>> import ipaddress\n" +">>> ipaddress.IPv4Network(('127.0.0.0', 8))\n" +"IPv4Network('127.0.0.0/8')\n" +">>> ipaddress.IPv4Network(('127.0.0.0', '255.0.0.0'))\n" +"IPv4Network('127.0.0.0/8')" #: ../Doc/whatsnew/3.5.rst:1348 msgid "(Contributed by Peter Moody and Antoine Pitrou in :issue:`16531`.)" @@ -2543,6 +2728,13 @@ msgid "" ">>> addr6.reverse_pointer\n" "'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa'" msgstr "" +">>> import ipaddress\n" +">>> addr = ipaddress.IPv4Address('127.0.0.1')\n" +">>> addr.reverse_pointer\n" +"'1.0.0.127.in-addr.arpa'\n" +">>> addr6 = ipaddress.IPv6Address('::1')\n" +">>> addr6.reverse_pointer\n" +"'1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa'" #: ../Doc/whatsnew/3.5.rst:1362 msgid "(Contributed by Leon Weber in :issue:`20480`.)" @@ -2619,6 +2811,15 @@ msgid "" ">>> locale.delocalize('1,234.56')\n" "'1234.56'" msgstr "" +">>> import locale\n" +">>> locale.setlocale(locale.LC_NUMERIC, 'de_DE.UTF-8')\n" +"'de_DE.UTF-8'\n" +">>> locale.delocalize('1.234,56')\n" +"'1234.56'\n" +">>> locale.setlocale(locale.LC_NUMERIC, 'en_US.UTF-8')\n" +"'en_US.UTF-8'\n" +">>> locale.delocalize('1,234.56')\n" +"'1234.56'" #: ../Doc/whatsnew/3.5.rst:1404 msgid "(Contributed by Cédric Krier in :issue:`13918`.)" @@ -2650,6 +2851,12 @@ msgid "" "... logging.error('exception', exc_info=ex)\n" "ERROR:root:exception" msgstr "" +">>> import logging\n" +">>> try:\n" +"... 1/0\n" +"... except ZeroDivisionError as ex:\n" +"... logging.error('exception', exc_info=ex)\n" +"ERROR:root:exception" #: ../Doc/whatsnew/3.5.rst:1423 msgid "(Contributed by Yury Selivanov in :issue:`20537`.)" @@ -2814,15 +3021,15 @@ msgstr "" "`22181`.)" #: ../Doc/whatsnew/3.5.rst:1500 -#, fuzzy msgid "" "New :func:`~os.get_blocking` and :func:`~os.set_blocking` functions allow " "getting and setting a file descriptor's blocking mode (:const:`~os." "O_NONBLOCK`.) (Contributed by Victor Stinner in :issue:`22054`.)" msgstr "" "Las nuevas funciones :func:`~os.get_blocking` y :func:`~os.set_blocking` " -"permiten obtener y establecer un modo de bloqueo del descriptor (:data:`~os." -"O_NONBLOCK`.) (Contribución de Victor Stinner en :issue:`22054`.)" +"permiten obtener y configurar el modo de bloqueo de un descriptor de archivo " +"(:const:`~os.O_NONBLOCK`). (Contribuido por Victor Stinner en :issue:" +"`22054`)." #: ../Doc/whatsnew/3.5.rst:1504 msgid "" @@ -2850,6 +3057,11 @@ msgid "" ">>> os.path.commonpath(['/usr/lib', '/usr/local/lib'])\n" "'/usr'" msgstr "" +">>> os.path.commonprefix(['/usr/lib', '/usr/local/lib'])\n" +"'/usr/l'\n" +"\n" +">>> os.path.commonpath(['/usr/lib', '/usr/local/lib'])\n" +"'/usr'" #: ../Doc/whatsnew/3.5.rst:1518 msgid "(Contributed by Rafik Draoui and Serhiy Storchaka in :issue:`10395`.)" @@ -2878,6 +3090,11 @@ msgid "" ">>> p1.samefile(p2)\n" "True" msgstr "" +">>> import pathlib\n" +">>> p1 = pathlib.Path('/etc/hosts')\n" +">>> p2 = pathlib.Path('/etc/../etc/hosts')\n" +">>> p1.samefile(p2)\n" +"True" #: ../Doc/whatsnew/3.5.rst:1534 msgid "(Contributed by Vajrasky Kok and Antoine Pitrou in :issue:`19775`.)" @@ -2944,6 +3161,10 @@ msgid "" ">>> p.expanduser().write_text('ham')\n" "3" msgstr "" +">>> import pathlib\n" +">>> p = pathlib.Path('~/spam42')\n" +">>> p.expanduser().write_text('ham')\n" +"3" #: ../Doc/whatsnew/3.5.rst:1563 msgid "(Contributed by Christopher Welborn in :issue:`20218`.)" @@ -3001,6 +3222,12 @@ msgid "" ">>> pat.match('bbc')\n" "<_sre.SRE_Match object; span=(0, 3), match='bbc'>" msgstr "" +">>> import re\n" +">>> pat = re.compile(r'(a|b).(?<=\\1)c')\n" +">>> pat.match('aac')\n" +"<_sre.SRE_Match object; span=(0, 3), match='aac'>\n" +">>> pat.match('bbc')\n" +"<_sre.SRE_Match object; span=(0, 3), match='bbc'>" #: ../Doc/whatsnew/3.5.rst:1596 msgid "(Contributed by Serhiy Storchaka in :issue:`9179`.)" @@ -3046,6 +3273,13 @@ msgid "" " ...\n" "sre_constants.error: multiple repeat at position 16 (line 3, column 7)" msgstr "" +">>> re.compile(\"\"\"\n" +"... (?x)\n" +"... .++\n" +"... \"\"\")\n" +"Traceback (most recent call last):\n" +" ...\n" +"sre_constants.error: multiple repeat at position 16 (line 3, column 7)" #: ../Doc/whatsnew/3.5.rst:1619 msgid "(Contributed by Serhiy Storchaka in :issue:`22578`.)" @@ -3133,7 +3367,6 @@ msgid "smtpd" msgstr "smtpd" #: ../Doc/whatsnew/3.5.rst:1666 -#, fuzzy msgid "" "Both the :class:`!SMTPServer` and :class:`!SMTPChannel` classes now accept a " "*decode_data* keyword argument to determine if the ``DATA`` portion of the " @@ -3144,19 +3377,18 @@ msgid "" "``False``, the ``process_message`` method must be prepared to accept keyword " "arguments. (Contributed by Maciej Szulik in :issue:`19662`.)" msgstr "" -"Ahora las clases :class:`~smtpd.SMTPServer` y :class:`~smtpd.SMTPChannel` " -"aceptan un argumento de palabra clave *decode_data* para determinar si la " -"porción ``DATA`` de la transacción SMTP se decodifica usando el códec " -"``\"utf-8\"`` o en su lugar se proporciona al método :meth:`SMTPServer." -"process_message() ` como un byte de cadena " -"de caracteres. El valor predeterminado es ``True`` por razones de " -"compatibilidad con versiones anteriores, pero se cambiará a ``False`` en " -"Python 3.6. Si *decode_data* se establece en ``False``, el método " -"``process_message`` se debe preparar para aceptar argumentos de palabra " -"clave. (Contribución de Maciej Szulik en :issue:`19662`.)" +"Tanto la clase :class:`!SMTPServer` como la clase :class:`!SMTPChannel` " +"aceptan ahora un argumento de palabra clave *decode_data* para determinar si " +"la parte ``DATA`` de la transacción SMTP se decodifica utilizando el códec " +"``\"utf-8\"`` o si, en cambio, se proporciona al método :meth:`!SMTPServer." +"process_message` como una cadena de bytes. El valor predeterminado es " +"``True`` por razones de compatibilidad con versiones anteriores, pero " +"cambiará a ``False`` en Python 3.6. Si *decode_data* se establece en " +"``False``, el método ``process_message`` debe estar preparado para aceptar " +"argumentos de palabra clave. (Contribuido por Maciej Szulik en :issue:" +"`19662`)." #: ../Doc/whatsnew/3.5.rst:1677 -#, fuzzy msgid "" "The :class:`!SMTPServer` class now advertises the ``8BITMIME`` extension (:" "rfc:`6152`) if *decode_data* has been set ``True``. If the client specifies " @@ -3164,15 +3396,13 @@ msgid "" "SMTPServer.process_message` via the *mail_options* keyword. (Contributed by " "Milan Oberkirch and R. David Murray in :issue:`21795`.)" msgstr "" -"Ahora la clase :class:`~smtpd.SMTPServer` anuncia la extensión ``8BITMIME`` " -"(:rfc:`6152`) si *decode_data* se establece como ``True``. Si el cliente " -"especifica ``BODY=8BITMIME`` en el comando ``MAIL``, se pasa al método :meth:" -"`SMTPServer.process_message() ` a través " -"de la palabra clave *mail_options*. (Contribución de Milan Oberkirch y R. " -"David Murray en :issue:`21795`.)" +"La clase :class:`!SMTPServer` ahora anuncia la extensión ``8BITMIME`` (:rfc:" +"`6152`) si *decode_data* se ha establecido en ``True``. Si el cliente " +"especifica ``BODY=8BITMIME`` en el comando ``MAIL``, se pasa a :meth:`!" +"SMTPServer.process_message` a través de la palabra clave *mail_options*. " +"(Contribuido por Milan Oberkirch y R. David Murray en :issue:`21795`)." #: ../Doc/whatsnew/3.5.rst:1684 -#, fuzzy msgid "" "The :class:`!SMTPServer` class now also supports the ``SMTPUTF8`` extension " "(:rfc:`6531`: Internationalized Email). If the client specified ``SMTPUTF8 " @@ -3181,25 +3411,22 @@ msgid "" "responsibility of the ``process_message`` method to correctly handle the " "``SMTPUTF8`` data. (Contributed by Milan Oberkirch in :issue:`21725`.)" msgstr "" -"Ahora la clase :class:`~smtpd.SMTPServer` también admite la extensión " -"``SMTPUTF8`` (:rfc:`6531`: correo electrónico internacionalizado). Si el " -"cliente especificó ``SMTPUTF8 BODY=8BITMIME`` en el comando ``MAIL``, se " -"pasan al método :meth:`SMTPServer.process_message() ` a través de la palabra clave *mail_options*. Es " -"responsabilidad del método ``process_message`` manejar correctamente los " -"datos ``SMTPUTF8``. (Contribución de Milan Oberkirch en :issue:`21725`.)" +"La clase :class:`!SMTPServer` ahora también admite la extensión ``SMTPUTF8`` " +"(:rfc:`6531`: correo electrónico internacionalizado). Si el cliente " +"especificó ``SMTPUTF8 BODY=8BITMIME`` en el comando ``MAIL``, se pasan a :" +"meth:`!SMTPServer.process_message` mediante la palabra clave *mail_options*. " +"Es responsabilidad del método ``process_message`` manejar correctamente los " +"datos ``SMTPUTF8``. (Contribuido por Milan Oberkirch en :issue:`21725`)." #: ../Doc/whatsnew/3.5.rst:1692 -#, fuzzy msgid "" "It is now possible to provide, directly or via name resolution, IPv6 " "addresses in the :class:`!SMTPServer` constructor, and have it successfully " "connect. (Contributed by Milan Oberkirch in :issue:`14758`.)" msgstr "" -"Ahora es posible proporcionar, directamente o mediante resolución de " -"nombres, direcciones IPv6 en el constructor :class:`~smtpd.SMTPServer`, y " -"hacer que se conecte correctamente. (Contribución de Milan Oberkirch en :" -"issue:`14758`.)" +"Ahora es posible proporcionar, directamente o a través de la resolución de " +"nombres, direcciones IPv6 en el constructor :class:`!SMTPServer` y lograr " +"una conexión exitosa. (Contribución de Milan Oberkirch en :issue:`14758`)." #: ../Doc/whatsnew/3.5.rst:1698 msgid "smtplib" @@ -3244,14 +3471,12 @@ msgid "sndhdr" msgstr "sndhdr" #: ../Doc/whatsnew/3.5.rst:1717 -#, fuzzy msgid "" "The :func:`!what` and :func:`!whathdr` functions now return a :func:" "`~collections.namedtuple`. (Contributed by Claudiu Popa in :issue:`18615`.)" msgstr "" -"Ahora las funciones :func:`~sndhdr.what` y :func:`~sndhdr.whathdr` retornan " -"una :func:`~collections.namedtuple`. (Contribución de Claudiu Popa en :issue:" -"`18615`.)" +"Las funciones :func:`!what` y :func:`!whathdr` ahora devuelven un :func:" +"`~collections.namedtuple`. (Contribuido por Claudiu Popa en :issue:`18615`)." #: ../Doc/whatsnew/3.5.rst:1723 msgid "socket" @@ -3380,17 +3605,16 @@ msgstr "" "anunciar un socket durante el protocolo de enlace TLS." #: ../Doc/whatsnew/3.5.rst:1783 -#, fuzzy msgid "" "The new :meth:`SSLSocket.selected_alpn_protocol() ` returns the protocol that was selected during the " "TLS handshake. The :const:`~ssl.HAS_ALPN` flag indicates whether ALPN " "support is present." msgstr "" -"El nuevo método :meth:`SSLSocket.selected_alpn_protocol() ` retorna el protocolo que se seleccionó durante el " -"protocolo de enlace TLS. La bandera :data:`~ssl.HAS_ALPN` indica si el " -"soporte ALPN está presente." +"El nuevo :meth:`SSLSocket.selected_alpn_protocol() ` devuelve el protocolo que se seleccionó durante el " +"protocolo de enlace TLS. El indicador :const:`~ssl.HAS_ALPN` indica si " +"existe compatibilidad con ALPN." #: ../Doc/whatsnew/3.5.rst:1790 msgid "Other Changes" @@ -3529,6 +3753,18 @@ msgid "" "CompletedProcess(args=['ls', '-l', '/dev/null'], returncode=0,\n" "stdout=b'crw-rw-rw- 1 root root 1, 3 Jan 23 16:23 /dev/null\\n')" msgstr "" +">>> subprocess.run([\"ls\", \"-l\"]) # doesn't capture output\n" +"CompletedProcess(args=['ls', '-l'], returncode=0)\n" +"\n" +">>> subprocess.run(\"exit 1\", shell=True, check=True)\n" +"Traceback (most recent call last):\n" +" ...\n" +"subprocess.CalledProcessError: Command 'exit 1' returned non-zero exit " +"status 1\n" +"\n" +">>> subprocess.run([\"ls\", \"-l\", \"/dev/null\"], stdout=subprocess.PIPE)\n" +"CompletedProcess(args=['ls', '-l', '/dev/null'], returncode=0,\n" +"stdout=b'crw-rw-rw- 1 root root 1, 3 Jan 23 16:23 /dev/null\\n')" #: ../Doc/whatsnew/3.5.rst:1864 msgid "sys" @@ -3677,32 +3913,30 @@ msgid "tkinter" msgstr "tkinter" #: ../Doc/whatsnew/3.5.rst:1938 -#, fuzzy msgid "" "The :mod:`!tkinter._fix` module used for setting up the Tcl/Tk environment " "on Windows has been replaced by a private function in the :mod:`!_tkinter` " "module which makes no permanent changes to environment variables. " "(Contributed by Zachary Ware in :issue:`20035`.)" msgstr "" -"El módulo :mod:`tkinter._fix` que se usaba para configurar el entorno Tcl/Tk " -"en Windows se reemplazó por una función privada en el módulo :mod:`_tkinter` " -"que no hace cambios permanentes en las variables de entorno. (Contribución " -"de Zachary Ware en :issue:`20035`.)" +"El módulo :mod:`!tkinter._fix` utilizado para configurar el entorno Tcl/Tk " +"en Windows ha sido reemplazado por una función privada en el módulo :mod:`!" +"_tkinter` que no realiza cambios permanentes en las variables del entorno. " +"(Contribuido por Zachary Ware en :issue:`20035`)." #: ../Doc/whatsnew/3.5.rst:1947 msgid "traceback" msgstr "traceback" #: ../Doc/whatsnew/3.5.rst:1949 -#, fuzzy msgid "" "New :func:`~traceback.walk_stack` and :func:`~traceback.walk_tb` functions " "to conveniently traverse frame and :ref:`traceback objects `. (Contributed by Robert Collins in :issue:`17911`.)" msgstr "" -"Las nuevas funciones :func:`~traceback.walk_stack` y :func:`~traceback." -"walk_tb` atraviesan convenientemente objetos de marco y rastreo. " -"(Contribución de Robert Collins en :issue:`17911`.)" +"Nuevas funciones :func:`~traceback.walk_stack` y :func:`~traceback.walk_tb` " +"para recorrer cómodamente el marco y :ref:`traceback objects `. (Contribución de Robert Collins en :issue:`17911`)." #: ../Doc/whatsnew/3.5.rst:1954 msgid "" @@ -3996,17 +4230,16 @@ msgid "Other module-level changes" msgstr "Otros cambios a nivel de módulo" #: ../Doc/whatsnew/3.5.rst:2099 -#, fuzzy msgid "" "Many functions in the :mod:`mmap`, :mod:`!ossaudiodev`, :mod:`socket`, :mod:" "`ssl`, and :mod:`codecs` modules now accept writable :term:`bytes-like " "objects `. (Contributed by Serhiy Storchaka in :issue:" "`23001`.)" msgstr "" -"Ahora muchas funciones en los módulos :mod:`mmap`, :mod:`ossaudiodev`, :mod:" -"`socket`, :mod:`ssl` y :mod:`codecs` aceptan :term:`objetos de tipo bytes " -"` que se pueden escribir. (Contribución de Serhiy " -"Storchaka en :issue:`23001`.)" +"Muchas funciones de los módulos :mod:`mmap`, :mod:`!ossaudiodev`, :mod:" +"`socket`, :mod:`ssl` y :mod:`codecs` ahora aceptan la escritura en :term:" +"`bytes-like objects `. (Contribuido por Serhiy Storchaka " +"en :issue:`23001`)." #: ../Doc/whatsnew/3.5.rst:2106 msgid "Optimizations" @@ -4227,15 +4460,14 @@ msgstr "" "Serhiy Storchaka en :issue:`19676`.)" #: ../Doc/whatsnew/3.5.rst:2195 -#, fuzzy msgid "" "A new :c:func:`PyErr_FormatV` function similar to :c:func:`PyErr_Format`, " "but accepts a :c:type:`va_list` argument. (Contributed by Antoine Pitrou in :" "issue:`18711`.)" msgstr "" "Una nueva función :c:func:`PyErr_FormatV` similar a :c:func:`PyErr_Format`, " -"pero acepta un argumento ``va_list``. (Contribución de Antoine Pitrou en :" -"issue:`18711`.)" +"pero que acepta un argumento :c:type:`va_list`. (Contribuido por Antoine " +"Pitrou en :issue:`18711`.)" #: ../Doc/whatsnew/3.5.rst:2199 msgid "" @@ -4277,15 +4509,15 @@ msgstr "" "estable." #: ../Doc/whatsnew/3.5.rst:2215 -#, fuzzy msgid "" "Windows builds now require Microsoft Visual C++ 14.0, which is available as " "part of `Visual Studio 2015 `_." msgstr "" -"Ahora las compilaciones de Windows requieren Microsoft Visual C++ 14.0, que " -"está disponible como parte de `Visual Studio 2015 `_." +"Las compilaciones de Windows ahora requieren Microsoft Visual C++ 14.0, que " +"está disponible como parte de `Visual Studio 2015 `_." #: ../Doc/whatsnew/3.5.rst:2218 msgid "" @@ -4454,7 +4686,6 @@ msgstr "" "ensure_future`." #: ../Doc/whatsnew/3.5.rst:2299 -#, fuzzy msgid "" "The :mod:`!smtpd` module has in the past always decoded the DATA portion of " "email messages using the ``utf-8`` codec. This can now be controlled by the " @@ -4462,12 +4693,12 @@ msgid "" "``True``, but this default is deprecated. Specify the *decode_data* keyword " "with an appropriate value to avoid the deprecation warning." msgstr "" -"En el pasado, el módulo :mod:`smtpd` siempre ha decodificado la porción DATA " -"de los mensajes de correo electrónico usando el códec ``utf-8``. Ahora esto " -"se puede controlar con la nueva palabra clave *decode_data* en :class:" -"`~smtpd.SMTPServer`. El valor predeterminado es ``True``, pero éste está " -"obsoleto. Especificar la palabra clave *decode_data* con un valor apropiado " -"para evitar la advertencia de deprecación." +"En el pasado, el módulo :mod:`!smtpd` siempre decodificaba la parte DATA de " +"los mensajes de correo electrónico mediante el códec ``utf-8``. Ahora, esto " +"se puede controlar con la nueva palabra clave *decode_data* a :class:`!" +"SMTPServer`. El valor predeterminado es ``True``, pero este valor " +"predeterminado está en desuso. Especifique la palabra clave *decode_data* " +"con un valor adecuado para evitar la advertencia de desuso." #: ../Doc/whatsnew/3.5.rst:2305 msgid "" @@ -4661,6 +4892,8 @@ msgid "" "f(1 for x in [1], *args)\n" "f(1 for x in [1], **kwargs)" msgstr "" +"f(1 for x in [1], *args)\n" +"f(1 for x in [1], **kwargs)" #: ../Doc/whatsnew/3.5.rst:2392 msgid "" @@ -4698,17 +4931,16 @@ msgstr "" "`13936` para más detalles." #: ../Doc/whatsnew/3.5.rst:2408 -#, fuzzy msgid "" "The :meth:`ssl.SSLSocket.send` method now raises either :exc:`ssl." "SSLWantReadError` or :exc:`ssl.SSLWantWriteError` on a non-blocking socket " "if the operation would block. Previously, it would return ``0``. " "(Contributed by Nikolaus Rath in :issue:`20951`.)" msgstr "" -"Ahora el método :meth:`ssl.SSLSocket.send()` lanza ya sea :exc:`ssl." -"SSLWantReadError` o :exc:`ssl.SSLWantWriteError` en un socket sin bloqueo si " -"la operación se bloqueara. Anteriormente, retornaría ``0``. (Contribución de " -"Nikolaus Rath en :issue:`20951`.)" +"El método :meth:`ssl.SSLSocket.send` ahora genera :exc:`ssl." +"SSLWantReadError` o :exc:`ssl.SSLWantWriteError` en un socket no bloqueante " +"si la operación se bloquea. Anteriormente, devolvía ``0``. (Contribuido por " +"Nikolaus Rath en :issue:`20951`)." #: ../Doc/whatsnew/3.5.rst:2413 msgid "" @@ -4726,7 +4958,6 @@ msgstr "" "(``repr(gen)``). (Contribución de Victor Stinner en :issue:`21205`.)" #: ../Doc/whatsnew/3.5.rst:2420 -#, fuzzy msgid "" "The deprecated \"strict\" mode and argument of :class:`~html.parser." "HTMLParser`, :meth:`!HTMLParser.error`, and the :exc:`!HTMLParserError` " @@ -4735,12 +4966,12 @@ msgid "" "HTMLParser` is now ``True`` by default. (Contributed by Berker Peksag in :" "issue:`21047`.)" msgstr "" -"Se eliminaron el argumento y modo obsoleto \"strict\" de :class:`~html." -"parser.HTMLParser`, :meth:`HTMLParser.error` y la excepción :exc:" -"`HTMLParserError`. (Contribución de Ezio Melotti en :issue:`15114`.) Ahora " -"el argumento *convert_charrefs* de :class:`~html.parser.HTMLParser` es " -"``True`` como valor predeterminado. (Contribución de Berker Peksag en :issue:" -"`21047`.)" +"Se han eliminado el modo \"estricto\" obsoleto y el argumento de :class:" +"`~html.parser.HTMLParser`, :meth:`!HTMLParser.error` y la excepción :exc:`!" +"HTMLParserError`. (Contribuido por Ezio Melotti en :issue:`15114`). El " +"argumento *convert_charrefs* de :class:`~html.parser.HTMLParser` ahora es " +"``True`` de manera predeterminada. (Contribuido por Berker Peksag en :issue:" +"`21047`)." #: ../Doc/whatsnew/3.5.rst:2426 msgid "" @@ -4868,13 +5099,12 @@ msgstr "" "independientemente de este PEP." #: ../Doc/whatsnew/3.5.rst:2480 -#, fuzzy msgid "" "The :mod:`socket` module now exports the :const:`~socket.CAN_RAW_FD_FRAMES` " "constant on linux 3.6 and greater." msgstr "" -"Ahora el módulo :mod:`socket` exporta la constante :data:`~socket." -"CAN_RAW_FD_FRAMES` en Linux 3.6 y versiones superiores." +"El módulo :mod:`socket` ahora exporta la constante :const:`~socket." +"CAN_RAW_FD_FRAMES` en Linux 3.6 y versiones posteriores." #: ../Doc/whatsnew/3.5.rst:2483 msgid "" @@ -4954,16 +5184,15 @@ msgid "Changes in the C API" msgstr "Cambios en la API de C" #: ../Doc/whatsnew/3.5.rst:2516 -#, fuzzy msgid "" "The undocumented :c:member:`!format` member of the (non-public) :c:type:" "`PyMemoryViewObject` structure has been removed. All extensions relying on " "the relevant parts in ``memoryobject.h`` must be rebuilt." msgstr "" -"Se eliminó el miembro no documentado :c:member:`~PyMemoryViewObject.format` " -"de la estructura (no pública) :c:type:`PyMemoryViewObject`. Todas las " -"extensiones que se basan en las partes relevantes en ``memoryobject.h`` se " -"debe recompilar." +"Se ha eliminado el miembro :c:member:`!format` no documentado de la " +"estructura :c:type:`PyMemoryViewObject` (no pública). Se deben reconstruir " +"todas las extensiones que dependen de las partes relevantes de " +"``memoryobject.h``." #: ../Doc/whatsnew/3.5.rst:2521 msgid "" @@ -4974,20 +5203,18 @@ msgstr "" "`PyMemAllocatorEx` y se agregó un nuevo campo ``calloc``." #: ../Doc/whatsnew/3.5.rst:2524 -#, fuzzy msgid "" "Removed non-documented macro :c:macro:`!PyObject_REPR()` which leaked " "references. Use format character ``%R`` in :c:func:`PyUnicode_FromFormat`-" "like functions to format the :func:`repr` of the object. (Contributed by " "Serhiy Storchaka in :issue:`22453`.)" msgstr "" -"Se eliminó la macro no documentada :c:macro:`PyObject_REPR` que filtró " -"referencias. Usar el carácter de formato ``%R`` en funciones similares a :c:" -"func:`PyUnicode_FromFormat` para formatear :func:`repr` del objeto. " -"(Contribución de Serhiy Storchaka en :issue:`22453`.)" +"Se eliminó la macro no documentada :c:macro:`!PyObject_REPR()` que filtraba " +"referencias. Utilice el carácter de formato ``%R`` en funciones similares a :" +"c:func:`PyUnicode_FromFormat` para formatear el :func:`repr` del objeto. " +"(Contribución de Serhiy Storchaka en :issue:`22453`)." #: ../Doc/whatsnew/3.5.rst:2529 -#, fuzzy msgid "" "Because the lack of the :attr:`~type.__module__` attribute breaks pickling " "and introspection, a deprecation warning is now raised for builtin types " @@ -4995,23 +5222,23 @@ msgid "" "`AttributeError` in the future. (Contributed by Serhiy Storchaka in :issue:" "`20204`.)" msgstr "" -"Debido a que la falta del atributo :attr:`__module__` rompe pickling y la " -"introspección, ahora se lanza una advertencia de deprecación para los tipos " -"integrados sin el atributo :attr:`__module__`. Este sería un AttributeError " -"en el futuro. (Contribución de Serhiy Storchaka en :issue:`20204`.)" +"Debido a que la falta del atributo :attr:`~type.__module__` interrumpe la " +"serialización (pickle) y la introspección, ahora se genera una advertencia " +"de desuso para los tipos integrados sin el atributo :attr:`~type." +"__module__`. En el futuro, se convertirá en :exc:`AttributeError`. " +"(Contribuido por Serhiy Storchaka en :issue:`20204`)." #: ../Doc/whatsnew/3.5.rst:2535 -#, fuzzy msgid "" "As part of the :pep:`492` implementation, the ``tp_reserved`` slot of :c:" "type:`PyTypeObject` was replaced with a :c:member:`~PyTypeObject." "tp_as_async` slot. Refer to :ref:`coro-objects` for new types, structures " "and functions." msgstr "" -"Como parte de la implementación de :pep:`492`, el espacio ``tp_reserved`` " -"de :c:type:`PyTypeObject` se reemplazó con un espacio :c:member:" -"`tp_as_async`. Consultar :ref:`coro-objects` para nuevos tipos, estructuras " -"y funciones." +"Como parte de la implementación de :pep:`492`, la ranura ``tp_reserved`` de :" +"c:type:`PyTypeObject` se reemplazó por una ranura :c:member:`~PyTypeObject." +"tp_as_async`. Consulte :ref:`coro-objects` para conocer los nuevos tipos, " +"estructuras y funciones." #: ../Doc/whatsnew/3.5.rst:2542 msgid "Notable changes in Python 3.5.4"