From b5444b5ee1560c55da54b063703fc93b3a1790bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Sun, 24 Nov 2024 11:52:57 +0100 Subject: [PATCH] Translate whatsnew/3.6 Closes #3188 --- whatsnew/3.6.po | 467 +++++++++++++++++++++++++++++++----------------- 1 file changed, 307 insertions(+), 160 deletions(-) diff --git a/whatsnew/3.6.po b/whatsnew/3.6.po index 8c57e5fada..554ebf2ac4 100644 --- a/whatsnew/3.6.po +++ b/whatsnew/3.6.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: 2022-10-31 19:48-0300\n" -"Last-Translator: Sofía Denner \n" -"Language: es\n" +"PO-Revision-Date: 2024-11-24 11:47+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\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.6.rst:3 msgid "What's New In Python 3.6" @@ -355,6 +356,14 @@ msgid "" ">>> f\"result: {value:{width}.{precision}}\" # nested fields\n" "'result: 12.35'" msgstr "" +">>> name = \"Fred\"\n" +">>> f\"He said his name is {name}.\"\n" +"'He said his name is Fred.'\n" +">>> width = 10\n" +">>> precision = 4\n" +">>> value = decimal.Decimal(\"12.34567\")\n" +">>> f\"result: {value:{width}.{precision}}\" # nested fields\n" +"'result: 12.35'" #: ../Doc/whatsnew/3.6.rst:204 msgid ":pep:`498` -- Literal String Interpolation." @@ -392,6 +401,12 @@ msgid "" "class Starship:\n" " stats: Dict[str, int] = {}" msgstr "" +"primes: List[int] = []\n" +"\n" +"captain: str # Note: no initial value!\n" +"\n" +"class Starship:\n" +" stats: Dict[str, int] = {}" #: ../Doc/whatsnew/3.6.rst:225 msgid "" @@ -429,12 +444,11 @@ msgstr "" "Guido van Rossum. Implementado por Ivan Levkivskyi." #: ../Doc/whatsnew/3.6.rst:240 -#, fuzzy msgid "" "Tools that use or will use the new syntax: `mypy `_, `pytype `_, PyCharm, etc." msgstr "" -"Herramientas que utilizan o utilizarán la nueva sintaxis: `mypy `_, `pytype `_, PyCharm, " "etc." @@ -457,6 +471,10 @@ msgid "" ">>> 0x_FF_FF_FF_FF\n" "4294967295" msgstr "" +">>> 1_000_000_000_000_000\n" +"1000000000000000\n" +">>> 0x_FF_FF_FF_FF\n" +"4294967295" #: ../Doc/whatsnew/3.6.rst:258 msgid "" @@ -468,7 +486,6 @@ msgstr "" "múltiples en una fila." #: ../Doc/whatsnew/3.6.rst:262 -#, fuzzy msgid "" "The :ref:`string formatting ` language also now has support for " "the ``'_'`` option to signal the use of an underscore for a thousands " @@ -476,12 +493,12 @@ msgid "" "type ``'d'``. For integer presentation types ``'b'``, ``'o'``, ``'x'``, and " "``'X'``, underscores will be inserted every 4 digits::" msgstr "" -"El lenguaje :ref:`string formatting ` ahora también tiene " -"soporte para la opción ``'_'`` para señalar el uso de un guión bajo para un " -"separador de miles para los tipos de presentación de punto flotante y para " -"el tipo de presentación de enteros ``'d'``. Para los tipos de presentación " -"de enteros ``'b'``, ``'o'``, ``'x'`` y ``'X'``, se insertarán guiones bajos " -"cada 4 dígitos:" +"El lenguaje :ref:`string formatting ` ahora también admite la " +"opción ``'_'`` para indicar el uso de un guión bajo como separador de miles " +"para los tipos de presentación de punto flotante y para el tipo de " +"presentación de enteros ``'d'``. Para los tipos de presentación de enteros " +"``'b'``, ``'o'``, ``'x'`` y ``'X'``, se insertarán guiones bajos cada 4 " +"dígitos:" #: ../Doc/whatsnew/3.6.rst:269 msgid "" @@ -490,6 +507,10 @@ msgid "" ">>> '{:_x}'.format(0xFFFFFFFF)\n" "'ffff_ffff'" msgstr "" +">>> '{:_}'.format(1000000)\n" +"'1_000_000'\n" +">>> '{:_x}'.format(0xFFFFFFFF)\n" +"'ffff_ffff'" #: ../Doc/whatsnew/3.6.rst:276 msgid ":pep:`515` -- Underscores in Numeric Literals" @@ -525,6 +546,11 @@ msgid "" " yield i\n" " await asyncio.sleep(delay)" msgstr "" +"async def ticker(delay, to):\n" +" \"\"\"Yield numbers from 0 to *to* every *delay* seconds.\"\"\"\n" +" for i in range(to):\n" +" yield i\n" +" await asyncio.sleep(delay)" #: ../Doc/whatsnew/3.6.rst:297 msgid "The new syntax allows for faster and more concise code." @@ -552,7 +578,7 @@ msgstr "" #: ../Doc/whatsnew/3.6.rst:313 msgid "result = [i async for i in aiter() if i % 2]" -msgstr "" +msgstr "result = [i async for i in aiter() if i % 2]" #: ../Doc/whatsnew/3.6.rst:315 msgid "" @@ -564,7 +590,7 @@ msgstr "" #: ../Doc/whatsnew/3.6.rst:318 msgid "result = [await fun() for fun in funcs if await condition()]" -msgstr "" +msgstr "result = [await fun() for fun in funcs if await condition()]" #: ../Doc/whatsnew/3.6.rst:322 msgid ":pep:`530` -- Asynchronous Comprehensions" @@ -599,6 +625,18 @@ msgid "" "class Plugin2(PluginBase):\n" " pass" msgstr "" +"class PluginBase:\n" +" subclasses = []\n" +"\n" +" def __init_subclass__(cls, **kwargs):\n" +" super().__init_subclass__(**kwargs)\n" +" cls.subclasses.append(cls)\n" +"\n" +"class Plugin1(PluginBase):\n" +" pass\n" +"\n" +"class Plugin2(PluginBase):\n" +" pass" #: ../Doc/whatsnew/3.6.rst:348 msgid "" @@ -665,6 +703,21 @@ msgid "" "class Model:\n" " int_field = IntField()" msgstr "" +"class IntField:\n" +" def __get__(self, instance, owner):\n" +" return instance.__dict__[self.name]\n" +"\n" +" def __set__(self, instance, value):\n" +" if not isinstance(value, int):\n" +" raise ValueError(f'expecting integer in {self.name}')\n" +" instance.__dict__[self.name] = value\n" +"\n" +" # this is the new initializer:\n" +" def __set_name__(self, owner, name):\n" +" self.name = name\n" +"\n" +"class Model:\n" +" int_field = IntField()" #: ../Doc/whatsnew/3.6.rst:396 msgid ":ref:`Feature documentation `" @@ -773,6 +826,18 @@ msgid "" ">>> os.fspath(pathlib.Path(\"some_file.txt\"))\n" "'some_file.txt'" msgstr "" +">>> import pathlib\n" +">>> with open(pathlib.Path(\"README\")) as f:\n" +"... contents = f.read()\n" +"...\n" +">>> import os.path\n" +">>> os.path.splitext(pathlib.Path(\"some_file.txt\"))\n" +"('some_file', '.txt')\n" +">>> os.path.join(\"/a/b\", pathlib.Path(\"c\"))\n" +"'/a/b/c'\n" +">>> import os\n" +">>> os.fspath(pathlib.Path(\"some_file.txt\"))\n" +"'some_file.txt'" #: ../Doc/whatsnew/3.6.rst:457 msgid "" @@ -832,6 +897,16 @@ msgid "" "06:00:00 UTC = 01:00:00 EST 1\n" "07:00:00 UTC = 02:00:00 EST 0" msgstr "" +">>> u0 = datetime(2016, 11, 6, 4, tzinfo=timezone.utc)\n" +">>> for i in range(4):\n" +"... u = u0 + i*HOUR\n" +"... t = u.astimezone(Eastern)\n" +"... print(u.time(), 'UTC =', t.time(), t.tzname(), t.fold)\n" +"...\n" +"04:00:00 UTC = 00:00:00 EDT 0\n" +"05:00:00 UTC = 01:00:00 EDT 0\n" +"06:00:00 UTC = 01:00:00 EST 1\n" +"07:00:00 UTC = 02:00:00 EST 0" #: ../Doc/whatsnew/3.6.rst:491 msgid "" @@ -871,21 +946,19 @@ msgstr "" "que el uso de bytes es suficiente y correcto." #: ../Doc/whatsnew/3.6.rst:511 -#, fuzzy msgid "" "Prior to Python 3.6, data loss could result when using bytes paths on " "Windows. With this change, using bytes to represent paths is now supported " "on Windows, provided those bytes are encoded with the encoding returned by :" "func:`sys.getfilesystemencoding`, which now defaults to ``'utf-8'``." msgstr "" -"Antes de Python 3.6, podía producirse una pérdida de datos al utilizar rutas " +"Antes de Python 3.6, se podían producir pérdidas de datos al utilizar rutas " "de bytes en Windows. Con este cambio, ahora se admite el uso de bytes para " "representar rutas en Windows, siempre que esos bytes estén codificados con " -"la codificación devuelta por :func:`sys.getfilesystemencoding()`, que ahora " +"la codificación devuelta por :func:`sys.getfilesystemencoding`, que ahora " "tiene como valor predeterminado ``'utf-8'``." #: ../Doc/whatsnew/3.6.rst:516 -#, fuzzy msgid "" "Applications that do not use str to represent paths should use :func:`os." "fsencode` and :func:`os.fsdecode` to ensure their bytes are correctly " @@ -893,8 +966,8 @@ msgid "" "`PYTHONLEGACYWINDOWSFSENCODING` or call :func:`sys." "_enablelegacywindowsfsencoding`." msgstr "" -"Las aplicaciones que no usan str para representar rutas deben usar :func:`os." -"fsencode()` y :func:`os.fsdecode()` para asegurarse de que sus bytes estén " +"Las aplicaciones que no utilizan str para representar rutas deben utilizar :" +"func:`os.fsencode` y :func:`os.fsdecode` para garantizar que sus bytes estén " "codificados correctamente. Para volver al comportamiento anterior, " "configure :envvar:`PYTHONLEGACYWINDOWSFSENCODING` o llame a :func:`sys." "_enablelegacywindowsfsencoding`." @@ -946,15 +1019,14 @@ msgid "PEP 520: Preserving Class Attribute Definition Order" msgstr "PEP 520: Conservación del orden de definición de atributos de clase" #: ../Doc/whatsnew/3.6.rst:550 -#, fuzzy msgid "" "Attributes in a class definition body have a natural ordering: the same " "order in which the names appear in the source. This order is now preserved " "in the new class's :attr:`~type.__dict__` attribute." msgstr "" -"Los atributos en el cuerpo de una definición de clase tienen un orden " -"natural: el mismo orden en el que aparecen los nombres en la fuente. Este " -"orden ahora se conserva en el atributo :attr:`~object.__dict__` de la nueva " +"Los atributos del cuerpo de una definición de clase tienen un orden natural: " +"el mismo orden en el que aparecen los nombres en el código fuente. Este " +"orden ahora se conserva en el atributo :attr:`~type.__dict__` de la nueva " "clase." #: ../Doc/whatsnew/3.6.rst:554 @@ -1147,17 +1219,16 @@ msgid "Detect writes after the end of a buffer (buffer overflows)" msgstr "Detectar escrituras después del final de un búfer (desbordes de búfer)" #: ../Doc/whatsnew/3.6.rst:652 -#, fuzzy msgid "" "Check that the :term:`GIL ` is held when allocator " "functions of :c:macro:`PYMEM_DOMAIN_OBJ` (ex: :c:func:`PyObject_Malloc`) " "and :c:macro:`PYMEM_DOMAIN_MEM` (ex: :c:func:`PyMem_Malloc`) domains are " "called." msgstr "" -"Verifique que el :term:`GIL ` se mantenga cuando se " -"invoquen las funciones de asignación de los dominios :c:data:" -"`PYMEM_DOMAIN_OBJ` (ej .: :c:func:`PyObject_Malloc`) y :c:data:" -"`PYMEM_DOMAIN_MEM` (ej .: :c:func:`PyMem_Malloc`)." +"Verifique que :term:`GIL ` se mantenga cuando se " +"llamen las funciones de asignador de los dominios :c:macro:" +"`PYMEM_DOMAIN_OBJ` (por ejemplo: :c:func:`PyObject_Malloc`) y :c:macro:" +"`PYMEM_DOMAIN_MEM` (por ejemplo: :c:func:`PyMem_Malloc`)." #: ../Doc/whatsnew/3.6.rst:656 msgid "Checking if the GIL is held is also a new feature of Python 3.6." @@ -1239,6 +1310,40 @@ msgid "" " File \"unittest/suite.py\", line 84 in __call__\n" " ..." msgstr "" +"Debug memory block at address p=0x7fbcd41666f8: API 'o'\n" +" 4 bytes originally requested\n" +" The 7 pad bytes at p-7 are FORBIDDENBYTE, as expected.\n" +" The 8 pad bytes at tail=0x7fbcd41666fc are not all FORBIDDENBYTE " +"(0xfb):\n" +" at tail+0: 0x02 *** OUCH\n" +" at tail+1: 0xfb\n" +" at tail+2: 0xfb\n" +" at tail+3: 0xfb\n" +" at tail+4: 0xfb\n" +" at tail+5: 0xfb\n" +" at tail+6: 0xfb\n" +" at tail+7: 0xfb\n" +" The block was made by call #1233329 to debug malloc/realloc.\n" +" Data at p: 1a 2b 30 00\n" +"\n" +"Memory block allocated at (most recent call first):\n" +" File \"test/test_bytes.py\", line 323\n" +" File \"unittest/case.py\", line 600\n" +" File \"unittest/case.py\", line 648\n" +" File \"unittest/suite.py\", line 122\n" +" File \"unittest/suite.py\", line 84\n" +"\n" +"Fatal Python error: bad trailing pad byte\n" +"\n" +"Current thread 0x00007fbcdbd32700 (most recent call first):\n" +" File \"test/test_bytes.py\", line 323 in test_hex\n" +" File \"unittest/case.py\", line 600 in run\n" +" File \"unittest/case.py\", line 648 in __call__\n" +" File \"unittest/suite.py\", line 122 in run\n" +" File \"unittest/suite.py\", line 84 in __call__\n" +" File \"unittest/suite.py\", line 122 in run\n" +" File \"unittest/suite.py\", line 84 in __call__\n" +" ..." #: ../Doc/whatsnew/3.6.rst:707 msgid "(Contributed by Victor Stinner in :issue:`26516` and :issue:`26564`.)" @@ -1386,16 +1491,14 @@ msgstr "" "autenticación de cuentas, tokens y similares." #: ../Doc/whatsnew/3.6.rst:781 -#, fuzzy msgid "" "Note that the pseudo-random generators in the :mod:`random` module should " "*NOT* be used for security purposes. Use :mod:`secrets` on Python 3.6+ and :" "func:`os.urandom` on Python 3.5 and earlier." msgstr "" -"Tenga en cuenta que los generadores pseudoaleatorios en el módulo :mod:" -"`random` deben utilizarse *NOT* por motivos de seguridad. Utilice :mod:" -"`secrets` en Python 3.6+ y :func:`os.urandom()` en Python 3.5 y versiones " -"anteriores." +"Tenga en cuenta que los generadores pseudoaleatorios del módulo :mod:" +"`random` deben usarse con fines de seguridad. Use :mod:`secrets` en Python " +"3.6+ y :func:`os.urandom` en Python 3.5 y versiones anteriores." #: ../Doc/whatsnew/3.6.rst:787 msgid ":pep:`506` -- Adding A Secrets Module To The Standard Library" @@ -1709,7 +1812,6 @@ msgstr "" "issue:`28720`.)" #: ../Doc/whatsnew/3.6.rst:935 -#, fuzzy msgid "" "The :func:`~collections.namedtuple` function now accepts an optional keyword " "argument *module*, which, when specified, is used for the :attr:`~type." @@ -1718,8 +1820,8 @@ msgid "" msgstr "" "La función :func:`~collections.namedtuple` ahora acepta un argumento de " "palabra clave opcional *module*, que, cuando se especifica, se utiliza para " -"el atributo ``__module__`` de la clase de tupla con nombre devuelto. " -"(Contribuido por Raymond Hettinger en :issue:`17941`.)" +"el atributo :attr:`~type.__module__` de la clase de tupla nombrada que se " +"devuelve. (Contribuido por Raymond Hettinger en :issue:`17941`)." #: ../Doc/whatsnew/3.6.rst:940 ../Doc/whatsnew/3.6.rst:2295 msgid "" @@ -1740,7 +1842,7 @@ msgstr "" #: ../Doc/whatsnew/3.6.rst:949 msgid "concurrent.futures" -msgstr "Futuros concurrentes" +msgstr "concurrent.futures" #: ../Doc/whatsnew/3.6.rst:951 msgid "" @@ -1850,6 +1952,8 @@ msgid "" ">>> Decimal('-3.14').as_integer_ratio()\n" "(-157, 50)" msgstr "" +">>> Decimal('-3.14').as_integer_ratio()\n" +"(-157, 50)" #: ../Doc/whatsnew/3.6.rst:1007 msgid "(Contributed by Stefan Krah amd Mark Dickinson in :issue:`25928`.)" @@ -1860,7 +1964,6 @@ msgid "distutils" msgstr "distutils" #: ../Doc/whatsnew/3.6.rst:1014 -#, fuzzy msgid "" "The ``default_format`` attribute has been removed from ``distutils.command." "sdist.sdist`` and the ``formats`` attribute defaults to ``['gztar']``. " @@ -1868,15 +1971,15 @@ msgid "" "``default_format`` may need to be adapted. See :issue:`27819` for more " "details." msgstr "" -"El atributo ``default_format`` se ha eliminado de :class:`distutils.command." -"sdist.sdist` y el atributo ``formats`` se establece por defecto en " -"``['gztar']``. Aunque no está previsto, es posible que sea necesario adaptar " +"El atributo ``default_format`` se ha eliminado de ``distutils.command.sdist." +"sdist`` y el atributo ``formats`` tiene como valor predeterminado " +"``['gztar']``. Aunque no se prevé, es posible que sea necesario adaptar " "cualquier código que dependa de la presencia de ``default_format``. " "Consulte :issue:`27819` para obtener más detalles." #: ../Doc/whatsnew/3.6.rst:1022 msgid "email" -msgstr "Email" +msgstr "email" #: ../Doc/whatsnew/3.6.rst:1024 msgid "" @@ -1982,6 +2085,14 @@ msgid "" ">>> list(Color)\n" "[, , ]" msgstr "" +">>> from enum import Enum, auto\n" +">>> class Color(Enum):\n" +"... red = auto()\n" +"... blue = auto()\n" +"... green = auto()\n" +"...\n" +">>> list(Color)\n" +"[, , ]" #: ../Doc/whatsnew/3.6.rst:1076 msgid "faulthandler" @@ -2341,7 +2452,7 @@ msgstr "" #: ../Doc/whatsnew/3.6.rst:1243 msgid "logging" -msgstr "Inicio sesión" +msgstr "logging" #: ../Doc/whatsnew/3.6.rst:1245 msgid "" @@ -2357,7 +2468,7 @@ msgstr "" #: ../Doc/whatsnew/3.6.rst:1252 msgid "math" -msgstr "Matemáticas" +msgstr "math" #: ../Doc/whatsnew/3.6.rst:1254 msgid "" @@ -2427,7 +2538,7 @@ msgstr "" #: ../Doc/whatsnew/3.6.rst:1292 msgid "pathlib" -msgstr "Pathlib" +msgstr "pathlib" #: ../Doc/whatsnew/3.6.rst:1294 msgid "" @@ -2477,18 +2588,17 @@ msgid "pickletools" msgstr "pepinillos" #: ../Doc/whatsnew/3.6.rst:1319 -#, fuzzy msgid "" ":func:`pickletools.dis` now outputs the implicit memo index for the " "``MEMOIZE`` opcode. (Contributed by Serhiy Storchaka in :issue:`25382`.)" msgstr "" -":func:`pickletools.dis()` ahora genera el índice de memo implícito para el " +":func:`pickletools.dis` ahora genera el índice de memo implícito para el " "código de operación ``MEMOIZE``. (Contribuido por Serhiy Storchaka en :issue:" -"`25382`.)" +"`25382`)." #: ../Doc/whatsnew/3.6.rst:1325 msgid "pydoc" -msgstr "Pydoc" +msgstr "pydoc" #: ../Doc/whatsnew/3.6.rst:1327 msgid "" @@ -2610,16 +2720,14 @@ msgid "site" msgstr "sitio" #: ../Doc/whatsnew/3.6.rst:1391 -#, fuzzy msgid "" "When specifying paths to add to :data:`sys.path` in a ``.pth`` file, you may " "now specify file paths on top of directories (e.g. zip files). (Contributed " "by Wolfgang Langner in :issue:`26587`)." msgstr "" -"Al especificar rutas para agregar a :attr:`sys.path` en un archivo ``.pth``, " -"ahora puede especificar rutas de archivo en la parte superior de los " -"directorios (por ejemplo, archivos zip). (Contribuido por Wolfgang Langner " -"en :issue:`26587`)." +"Al especificar rutas para agregar a :data:`sys.path` en un archivo ``.pth``, " +"ahora puede especificar rutas de archivos sobre directorios (por ejemplo, " +"archivos zip). (Contribuido por Wolfgang Langner en :issue:`26587`)." #: ../Doc/whatsnew/3.6.rst:1397 msgid "sqlite3" @@ -2638,15 +2746,14 @@ msgid "socket" msgstr "enchufe" #: ../Doc/whatsnew/3.6.rst:1406 -#, fuzzy msgid "" "The :func:`~socket.socket.ioctl` function now supports the :const:`~socket." "SIO_LOOPBACK_FAST_PATH` control code. (Contributed by Daniel Stokes in :" "issue:`26536`.)" msgstr "" "La función :func:`~socket.socket.ioctl` ahora admite el código de control :" -"data:`~socket.SIO_LOOPBACK_FAST_PATH`. (Contribuido por Daniel Stokes en :" -"issue:`26536`.)" +"const:`~socket.SIO_LOOPBACK_FAST_PATH`. (Contribución de Daniel Stokes en :" +"issue:`26536`)." #: ../Doc/whatsnew/3.6.rst:1410 msgid "" @@ -2669,18 +2776,17 @@ msgstr "" "Christian Heimes en :issue:`27744`.)" #: ../Doc/whatsnew/3.6.rst:1418 -#, fuzzy msgid "" "The socket module now supports the address family :const:`~socket.AF_ALG` to " "interface with Linux Kernel crypto API. ``ALG_*``, ``SOL_ALG`` and :meth:" "`~socket.socket.sendmsg_afalg` were added. (Contributed by Christian Heimes " "in :issue:`27744` with support from Victor Stinner.)" msgstr "" -"El módulo de socket ahora admite la familia de direcciones :data:`~socket." +"El módulo de socket ahora admite la familia de direcciones :const:`~socket." "AF_ALG` para interactuar con la API de cifrado del kernel de Linux. Se " "agregaron ``ALG_*``, ``SOL_ALG`` y :meth:`~socket.socket.sendmsg_afalg`. " -"(Contribuido por Christian Heimes en :issue:`27744` con el apoyo de Victor " -"Stinner.)" +"(Contribución de Christian Heimes en :issue:`27744` con el apoyo de Victor " +"Stinner)." #: ../Doc/whatsnew/3.6.rst:1424 msgid "" @@ -2795,6 +2901,10 @@ msgid "" "SSLSocket.verify_client_post_handshake` to initiate TLS 1.3 post-handshake " "authentication. (Contributed by Christian Heimes in :gh:`78851`.)" msgstr "" +"Se agregó :attr:`ssl.SSLContext.post_handshake_auth` para habilitar y :meth:" +"`ssl.SSLSocket.verify_client_post_handshake` para iniciar la autenticación " +"posterior al protocolo de enlace TLS 1.3. (Contribuido por Christian Heimes " +"en :gh:`78851`.)" #: ../Doc/whatsnew/3.6.rst:1481 msgid "statistics" @@ -2887,12 +2997,11 @@ msgid "telnetlib" msgstr "telnetlib" #: ../Doc/whatsnew/3.6.rst:1527 -#, fuzzy msgid "" ":class:`!telnetlib.Telnet` is now a context manager (contributed by Stéphane " "Wirtel in :issue:`25485`)." msgstr "" -":class:`~telnetlib.Telnet` es ahora un administrador de contexto " +":class:`!telnetlib.Telnet` es ahora un administrador de contexto " "(contribución de Stéphane Wirtel en :issue:`25485`)." #: ../Doc/whatsnew/3.6.rst:1532 @@ -2981,6 +3090,16 @@ msgid "" " [Previous line repeated 995 more times]\n" "RecursionError: maximum recursion depth exceeded" msgstr "" +">>> def f(): f()\n" +"...\n" +">>> f()\n" +"Traceback (most recent call last):\n" +" File \"\", line 1, in \n" +" File \"\", line 1, in f\n" +" File \"\", line 1, in f\n" +" File \"\", line 1, in f\n" +" [Previous line repeated 995 more times]\n" +"RecursionError: maximum recursion depth exceeded" #: ../Doc/whatsnew/3.6.rst:1584 msgid "(Contributed by Emanuel Barry in :issue:`26823`.)" @@ -3098,6 +3217,10 @@ msgid "" "UserId = NewType('UserId', int)\n" "some_id = UserId(524313)" msgstr "" +"from typing import NewType\n" +"\n" +"UserId = NewType('UserId', int)\n" +"some_id = UserId(524313)" #: ../Doc/whatsnew/3.6.rst:1642 msgid "" @@ -3238,6 +3361,13 @@ msgid "" "f = func()\n" "f = None" msgstr "" +"import warnings\n" +"\n" +"def func():\n" +" return open(__file__)\n" +"\n" +"f = func()\n" +"f = None" #: ../Doc/whatsnew/3.6.rst:1720 msgid "Output of the command ``python3.6 -Wd -X tracemalloc=5 example.py``::" @@ -3254,6 +3384,14 @@ msgid "" " File \"example.py\", lineno 6\n" " f = func()" msgstr "" +"example.py:7: ResourceWarning: unclosed file <_io.TextIOWrapper " +"name='example.py' mode='r' encoding='UTF-8'>\n" +" f = None\n" +"Object allocated at (most recent call first):\n" +" File \"example.py\", lineno 4\n" +" return open(__file__)\n" +" File \"example.py\", lineno 6\n" +" f = func()" #: ../Doc/whatsnew/3.6.rst:1730 msgid "" @@ -3466,7 +3604,6 @@ msgstr "" "hasta un 80% más rápido. (Contribuido por Josh Snider en :issue:`26574`)." #: ../Doc/whatsnew/3.6.rst:1828 -#, fuzzy msgid "" "Allocator functions of the :c:func:`PyMem_Malloc` domain (:c:macro:" "`PYMEM_DOMAIN_MEM`) now use the :ref:`pymalloc memory allocator ` " @@ -3475,12 +3612,13 @@ msgid "" "short lifetime, and use :c:func:`malloc` for larger memory blocks. " "(Contributed by Victor Stinner in :issue:`26249`)." msgstr "" -"Las funciones de asignación del dominio :c:func:`PyMem_Malloc` ( :c:data:" -"`PYMEM_DOMAIN_MEM`) ahora usan la función :ref:`pymalloc memory allocator " -"` en lugar de la función :c:func:`malloc` de la biblioteca C. El " -"asignador de pymalloc está optimizado para objetos menores o iguales a 512 " -"bytes con una vida útil corta y usa :c:func:`malloc` para bloques de memoria " -"más grandes. (Contribuido por Victor Stinner en :issue:`26249`)." +"Las funciones de asignación del dominio :c:func:`PyMem_Malloc` (:c:macro:" +"`PYMEM_DOMAIN_MEM`) ahora utilizan la función :ref:`pymalloc memory " +"allocator ` en lugar de la función :c:func:`malloc` de la " +"biblioteca C. El asignador pymalloc está optimizado para objetos más " +"pequeños o iguales a 512 bytes con una vida útil corta, y utiliza :c:func:" +"`malloc` para bloques de memoria más grandes. (Contribuido por Victor " +"Stinner en :issue:`26249`)." #: ../Doc/whatsnew/3.6.rst:1835 #, python-format @@ -3589,16 +3727,15 @@ msgstr "" "Alecsandru Patrascu de Intel en :issue:`26359`.)" #: ../Doc/whatsnew/3.6.rst:1880 -#, fuzzy msgid "" "The :term:`GIL ` must now be held when allocator " "functions of :c:macro:`PYMEM_DOMAIN_OBJ` (ex: :c:func:`PyObject_Malloc`) " "and :c:macro:`PYMEM_DOMAIN_MEM` (ex: :c:func:`PyMem_Malloc`) domains are " "called." msgstr "" -"El :term:`GIL ` ahora debe mantenerse cuando se " -"llaman las funciones de asignación de los dominios :c:data:" -"`PYMEM_DOMAIN_OBJ` (por ejemplo: :c:func:`PyObject_Malloc`) y: :c:data:" +"Ahora se debe mantener :term:`GIL ` cuando se " +"llaman las funciones de asignador de los dominios :c:macro:" +"`PYMEM_DOMAIN_OBJ` (por ejemplo: :c:func:`PyObject_Malloc`) y :c:macro:" "`PYMEM_DOMAIN_MEM` (por ejemplo: :c:func:`PyMem_Malloc`)." #: ../Doc/whatsnew/3.6.rst:1884 @@ -3687,6 +3824,9 @@ msgid "" "Python 3.6.0b4+ (3.6:223967b49e49+, Nov 21 2016, 20:55:04)\n" "[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)]" msgstr "" +"$ ./python -VV\n" +"Python 3.6.0b4+ (3.6:223967b49e49+, Nov 21 2016, 20:55:04)\n" +"[GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1)]" #: ../Doc/whatsnew/3.6.rst:1927 msgid "Deprecated" @@ -3770,12 +3910,11 @@ msgid "asynchat" msgstr "asynchat" #: ../Doc/whatsnew/3.6.rst:1968 -#, fuzzy msgid "" "The :mod:`!asynchat` has been deprecated in favor of :mod:`asyncio`. " "(Contributed by Mariatta in :issue:`25002`.)" msgstr "" -"El :mod:`asynchat` ha quedado obsoleto en favor del :mod:`asyncio`. " +"El :mod:`!asynchat` ha quedado obsoleto en favor del :mod:`asyncio`. " "(Contribuido por Mariatta en :issue:`25002`.)" #: ../Doc/whatsnew/3.6.rst:1973 @@ -3783,12 +3922,11 @@ msgid "asyncore" msgstr "asyncore" #: ../Doc/whatsnew/3.6.rst:1975 -#, fuzzy msgid "" "The :mod:`!asyncore` has been deprecated in favor of :mod:`asyncio`. " "(Contributed by Mariatta in :issue:`25002`.)" msgstr "" -"El :mod:`asyncore` ha quedado obsoleto en favor del :mod:`asyncio`. " +"El :mod:`!asyncore` ha quedado obsoleto en favor del :mod:`asyncio`. " "(Contribuido por Mariatta en :issue:`25002`.)" #: ../Doc/whatsnew/3.6.rst:1980 @@ -3809,18 +3947,16 @@ msgstr "" "`21708`.)" #: ../Doc/whatsnew/3.6.rst:1992 -#, fuzzy msgid "" "The undocumented ``extra_path`` argument to the ``distutils.Distribution`` " "constructor is now considered deprecated and will raise a warning if set. " "Support for this parameter will be removed in a future Python release. See :" "issue:`27919` for details." msgstr "" -"El argumento ``extra_path`` sin documentar para el constructor :class:" -"`~distutils.Distribution` ahora se considera obsoleto y lanzará una " -"advertencia si se establece. La compatibilidad con este parámetro se " -"eliminará en una futura versión de Python. Consulte :issue:`27919` para " -"obtener más detalles." +"El argumento ``extra_path`` no documentado para el constructor ``distutils." +"Distribution`` ahora se considera obsoleto y generará una advertencia si se " +"configura. La compatibilidad con este parámetro se eliminará en una futura " +"versión de Python. Consulte :issue:`27919` para obtener más detalles." #: ../Doc/whatsnew/3.6.rst:1999 msgid "grp" @@ -3851,16 +3987,15 @@ msgstr "" "exec_module`." #: ../Doc/whatsnew/3.6.rst:2016 -#, fuzzy msgid "" "The :class:`importlib.machinery.WindowsRegistryFinder` class is now " "deprecated. As of 3.6.0, it is still added to :data:`sys.meta_path` by " "default (on Windows), but this may change in future releases." msgstr "" -"La clase :class:`importlib.machinery.WindowsRegistryFinder` ahora está en " -"desuso. A partir de 3.6.0, todavía se agrega a :attr:`sys.meta_path` de " -"forma predeterminada (en Windows), pero esto puede cambiar en versiones " -"futuras." +"La clase :class:`importlib.machinery.WindowsRegistryFinder` ya no se " +"utiliza. A partir de la versión 3.6.0, todavía se agrega a :data:`sys." +"meta_path` de manera predeterminada (en Windows), pero esto puede cambiar en " +"futuras versiones." #: ../Doc/whatsnew/3.6.rst:2023 msgid "" @@ -3920,12 +4055,11 @@ msgstr "" "(Contribuido por Christian Heimes en :issue:`28022` y :issue:`26470`.)" #: ../Doc/whatsnew/3.6.rst:2056 -#, fuzzy msgid "" "The :mod:`!tkinter.tix` module is now deprecated. :mod:`tkinter` users " "should use :mod:`tkinter.ttk` instead." msgstr "" -"El módulo :mod:`tkinter.tix` ahora está en desuso. Los usuarios de :mod:" +"El módulo :mod:`!tkinter.tix` ahora está en desuso. Los usuarios de :mod:" "`tkinter` deberían utilizar :mod:`tkinter.ttk` en su lugar." #: ../Doc/whatsnew/3.6.rst:2064 @@ -3943,7 +4077,7 @@ msgstr "" #: ../Doc/whatsnew/3.6.rst:2071 msgid "xml" -msgstr "" +msgstr "xml" #: ../Doc/whatsnew/3.6.rst:2073 msgid "" @@ -3951,23 +4085,26 @@ msgid "" "minidom` and :mod:`xml.sax` modules no longer process external entities by " "default. (Contributed by Christian Heimes in :gh:`61441`.)" msgstr "" +"Como medida de mitigación frente a la recuperación de DTD y entidades " +"externas, los módulos :mod:`xml.dom.minidom` y :mod:`xml.sax` ya no procesan " +"entidades externas de forma predeterminada. (Contribuido por Christian " +"Heimes en :gh:`61441`.)" #: ../Doc/whatsnew/3.6.rst:2080 msgid "Deprecated functions and types of the C API" msgstr "Funciones y tipos obsoletos de la API de C" #: ../Doc/whatsnew/3.6.rst:2082 -#, fuzzy msgid "" "Undocumented functions :c:func:`!PyUnicode_AsEncodedObject`, :c:func:`!" "PyUnicode_AsDecodedObject`, :c:func:`!PyUnicode_AsEncodedUnicode` and :c:" "func:`!PyUnicode_AsDecodedUnicode` are deprecated now. Use the :ref:`generic " "codec based API ` instead." msgstr "" -"Las funciones no documentadas :c:func:`PyUnicode_AsEncodedObject`, :c:func:" -"`PyUnicode_AsDecodedObject`, :c:func:`PyUnicode_AsEncodedUnicode` y :c:func:" -"`PyUnicode_AsDecodedUnicode` ahora están en desuso. En su lugar, utilice el :" -"ref:`generic codec based API `." +"Las funciones no documentadas :c:func:`!PyUnicode_AsEncodedObject`, :c:func:" +"`!PyUnicode_AsDecodedObject`, :c:func:`!PyUnicode_AsEncodedUnicode` y :c:" +"func:`!PyUnicode_AsDecodedUnicode` ya no se utilizan. Utilice :ref:`generic " +"codec based API ` en su lugar." #: ../Doc/whatsnew/3.6.rst:2089 msgid "Deprecated Build Options" @@ -4157,7 +4294,6 @@ msgstr "" "``NULL``." #: ../Doc/whatsnew/3.6.rst:2176 -#, fuzzy msgid "" "The format of the :attr:`~codeobject.co_lnotab` attribute of code objects " "changed to support a negative line number delta. By default, Python does not " @@ -4169,17 +4305,17 @@ msgid "" "delta. See ``Objects/lnotab_notes.txt`` for the :attr:`!co_lnotab` format " "and how to decode it, and see the :pep:`511` for the rationale." msgstr "" -"El formato del atributo ``co_lnotab`` de los objetos de código cambió para " -"admitir un delta de número de línea negativo. De forma predeterminada, " -"Python no emite un código de bytes con un delta de número de línea negativo. " -"Las funciones que utilizan ``frame.f_lineno``, ``PyFrame_GetLineNumber()`` o " -"``PyCode_Addr2Line()`` no se ven afectadas. Las funciones que decodifican " -"directamente ``co_lnotab`` deben actualizarse para usar un tipo entero de 8 " -"bits con signo para el delta del número de línea, pero esto solo es " -"necesario para admitir aplicaciones que usan un delta del número de línea " -"negativo. Consulte ``Objects/lnotab_notes.txt`` para conocer el formato " -"``co_lnotab`` y cómo decodificarlo, y consulte :pep:`511` para conocer la " -"justificación." +"El formato del atributo :attr:`~codeobject.co_lnotab` de los objetos de " +"código cambió para admitir un delta de número de línea negativo. De manera " +"predeterminada, Python no emite código de bytes con un delta de número de " +"línea negativo. Las funciones que usan :attr:`frame.f_lineno`, " +"``PyFrame_GetLineNumber()`` o ``PyCode_Addr2Line()`` no se ven afectadas. " +"Las funciones que decodifican directamente :attr:`!co_lnotab` deben " +"actualizarse para usar un tipo entero de 8 bits con signo para el delta de " +"número de línea, pero esto solo es necesario para admitir aplicaciones que " +"usen un delta de número de línea negativo. Consulte ``Objects/lnotab_notes." +"txt`` para conocer el formato :attr:`!co_lnotab` y cómo decodificarlo, y " +"consulte :pep:`511` para conocer la justificación." #: ../Doc/whatsnew/3.6.rst:2187 msgid "" @@ -4207,16 +4343,14 @@ msgstr "" "devolver :const:`None`. Ver :issue:`20059`." #: ../Doc/whatsnew/3.6.rst:2197 -#, fuzzy msgid "" "The :mod:`!imp` module now raises a :exc:`DeprecationWarning` instead of :" "exc:`PendingDeprecationWarning`." msgstr "" -"El módulo :mod:`imp` ahora lanza un :exc:`DeprecationWarning` en lugar de :" +"El módulo :mod:`!imp` ahora lanza un :exc:`DeprecationWarning` en lugar de :" "exc:`PendingDeprecationWarning`." #: ../Doc/whatsnew/3.6.rst:2200 -#, fuzzy msgid "" "The following modules have had missing APIs added to their :attr:`__all__` " "attributes to match the documented APIs: :mod:`calendar`, :mod:`!cgi`, :mod:" @@ -4227,14 +4361,14 @@ msgid "" "new symbols when ``import *`` is used. (Contributed by Joel Taddei and Jacek " "Kołodziej in :issue:`23883`.)" msgstr "" -"Los siguientes módulos han tenido API faltantes agregadas a sus atributos :" -"attr:`__all__` para que coincidan con las API documentadas: :mod:" -"`calendar`, :mod:`cgi`, :mod:`csv`, :mod:`~xml.etree.ElementTree`, :mod:" +"A los siguientes módulos se les han añadido las API faltantes a sus " +"atributos :attr:`__all__` para que coincidan con las API documentadas: :mod:" +"`calendar`, :mod:`!cgi`, :mod:`csv`, :mod:`~xml.etree.ElementTree`, :mod:" "`enum`, :mod:`fileinput`, :mod:`ftplib`, :mod:`logging`, :mod:`mailbox`, :" -"mod:`mimetypes`, :mod:`optparse`, :mod:`plistlib`, :mod:`smtpd`, :mod:" +"mod:`mimetypes`, :mod:`optparse`, :mod:`plistlib`, :mod:`!smtpd`, :mod:" "`subprocess`, :mod:`tarfile`, :mod:`threading` y :mod:`wave`. Esto significa " -"que exportarán nuevos símbolos cuando se utilice ``import *``. (Contribuido " -"por Joel Taddei y Jacek Kołodziej en :issue:`23883`.)" +"que exportarán nuevos símbolos cuando se utilice ``import *``. (Contribución " +"de Joel Taddei y Jacek Kołodziej en :issue:`23883`)." #: ../Doc/whatsnew/3.6.rst:2211 msgid "" @@ -4276,13 +4410,12 @@ msgstr "" "`23430`.)" #: ../Doc/whatsnew/3.6.rst:2228 -#, fuzzy msgid "" ":func:`!spwd.getspnam` now raises a :exc:`PermissionError` instead of :exc:" "`KeyError` if the user doesn't have privileges." msgstr "" -":func:`spwd.getspnam` ahora lanza un :exc:`PermissionError` en lugar de :exc:" -"`KeyError` si el usuario no tiene privilegios." +":func:`!spwd.getspnam` ahora lanza un :exc:`PermissionError` en lugar de :" +"exc:`KeyError` si el usuario no tiene privilegios." #: ../Doc/whatsnew/3.6.rst:2231 msgid "" @@ -4295,7 +4428,6 @@ msgstr "" "(Contribuido por Martin Panter en :issue:`26685`.)" #: ../Doc/whatsnew/3.6.rst:2235 -#, fuzzy msgid "" "The *decode_data* argument for the :class:`!smtpd.SMTPChannel` and :class:`!" "smtpd.SMTPServer` constructors is now ``False`` by default. This means that " @@ -4304,12 +4436,13 @@ msgid "" "that has already been updated in accordance with the deprecation warning " "generated by 3.5 will not be affected." msgstr "" -"El argumento *decode_data* para los constructores :class:`smtpd.SMTPChannel` " -"y :class:`smtpd.SMTPServer` ahora es ``False`` por defecto. Esto significa " -"que el argumento pasado a :meth:`~smtpd.SMTPServer.process_message` ahora es " -"un objeto de bytes por defecto, y ``process_message()`` se pasarán " -"argumentos de palabra clave. El código que ya se haya actualizado de acuerdo " -"con la advertencia de obsolescencia generada por 3.5 no se verá afectado." +"El argumento *decode_data* para los constructores :class:`!smtpd." +"SMTPChannel` y :class:`!smtpd.SMTPServer` ahora es ``False`` de manera " +"predeterminada. Esto significa que el argumento que se pasa a :meth:`!" +"process_message` ahora es un objeto bytes de manera predeterminada y a :meth:" +"`!process_message` se le pasarán argumentos de palabras clave. El código que " +"ya se haya actualizado de acuerdo con la advertencia de obsolescencia " +"generada por la versión 3.5 no se verá afectado." #: ../Doc/whatsnew/3.6.rst:2243 msgid "" @@ -4356,7 +4489,6 @@ msgstr "" "consecuencia." #: ../Doc/whatsnew/3.6.rst:2262 -#, fuzzy msgid "" "In ``distutils.command.sdist.sdist``, the ``default_format`` attribute has " "been removed and is no longer honored. Instead, the gzipped tarfile format " @@ -4365,11 +4497,11 @@ msgid "" "distributions are required, configure the project with a ``setup.cfg`` file " "containing the following:" msgstr "" -"En :class:`distutils.command.sdist.sdist`, el atributo ``default_format`` se " -"ha eliminado y ya no se respeta. En cambio, el formato de archivo tar " -"comprimido con gzip es el predeterminado en todas las plataformas y no se " -"realiza ninguna selección específica de la plataforma. En entornos donde las " -"distribuciones se construyen en Windows y se requieren distribuciones zip, " +"En ``distutils.command.sdist.sdist``, se ha eliminado el atributo " +"``default_format`` y ya no se respeta. En su lugar, el formato de archivo " +"tar comprimido con gzip es el predeterminado en todas las plataformas y no " +"se realiza ninguna selección específica de la plataforma. En entornos donde " +"las distribuciones se crean en Windows y se requieren distribuciones zip, " "configure el proyecto con un archivo ``setup.cfg`` que contenga lo siguiente:" #: ../Doc/whatsnew/3.6.rst:2270 @@ -4377,6 +4509,8 @@ msgid "" "[sdist]\n" "formats=zip" msgstr "" +"[sdist]\n" +"formats=zip" #: ../Doc/whatsnew/3.6.rst:2275 msgid "" @@ -4413,13 +4547,12 @@ msgstr "" "`~collections.OrderedDict`. (Contribuido por Steve Holden en :issue:`27842`.)" #: ../Doc/whatsnew/3.6.rst:2291 -#, fuzzy msgid "" "The :const:`!crypt.METHOD_CRYPT` will no longer be added to ``crypt." "methods`` if unsupported by the platform. (Contributed by Victor Stinner in :" "issue:`25287`.)" msgstr "" -"El :const:`crypt.METHOD_CRYPT` ya no se agregará a ``crypt.methods`` si la " +"El :const:`!crypt.METHOD_CRYPT` ya no se agregará a ``crypt.methods`` si la " "plataforma no lo admite. (Contribuido por Victor Stinner en :issue:`25287`.)" #: ../Doc/whatsnew/3.6.rst:2299 @@ -4510,7 +4643,6 @@ msgstr "" "`RuntimeError` en Python 3.8." #: ../Doc/whatsnew/3.6.rst:2336 -#, fuzzy msgid "" "With the introduction of :exc:`ModuleNotFoundError`, import system consumers " "may start expecting import system replacements to raise that more specific " @@ -4524,15 +4656,16 @@ msgid "" msgstr "" "Con la introducción de :exc:`ModuleNotFoundError`, los consumidores del " "sistema de importación pueden comenzar a esperar que los reemplazos del " -"sistema de importación generen esa excepción más específica cuando " -"corresponda, en lugar de que el :exc:`ImportError`. Para proveer " -"compatibilidad futura con dichos consumidores, los implementadores de un " -"sistema alternativo de importación que completamente reemplacen :func:" -"`__import__` necesitarán actualizar su implementación para lanzar la nueva " -"subclase cundo un módulo no puede ser encontrado.. Los implementadores de " -"complementos compatibles con el sistema de importación predeterminado no " -"deberían necesitar realizar ningún cambio, ya que el sistema de importación " -"predeterminado lanzará la nueva subclase cuando sea apropiado." +"sistema de importación generen esa excepción más específica cuando sea " +"apropiado, en lugar de la excepción menos específica :exc:`ImportError`. " +"Para proporcionar compatibilidad futura con dichos consumidores, los " +"implementadores de sistemas de importación alternativos que reemplacen " +"completamente a :func:`__import__` deberán actualizar sus implementaciones " +"para generar la nueva subclase cuando no se pueda encontrar un módulo. Los " +"implementadores de complementos compatibles con el sistema de importación " +"predeterminado no deberían necesitar realizar ningún cambio, ya que el " +"sistema de importación predeterminado generará la nueva subclase cuando sea " +"apropiado." #: ../Doc/whatsnew/3.6.rst:2348 msgid "Changes in the C API" @@ -4738,6 +4871,8 @@ msgid "" ":mod:`xml.dom.minidom` and :mod:`xml.sax` modules no longer process external " "entities by default. See also :gh:`61441`." msgstr "" +"Los módulos :mod:`xml.dom.minidom` y :mod:`xml.sax` ya no procesan entidades " +"externas de forma predeterminada. Consulte también :gh:`61441`." #: ../Doc/whatsnew/3.6.rst:2453 msgid "" @@ -4776,7 +4911,6 @@ msgid "Notable changes in Python 3.6.13" msgstr "Cambios notables en Python 3.6.13" #: ../Doc/whatsnew/3.6.rst:2471 -#, fuzzy msgid "" "Earlier Python versions allowed using both ``;`` and ``&`` as query " "parameter separators in :func:`urllib.parse.parse_qs` and :func:`urllib." @@ -4787,20 +4921,19 @@ msgid "" "For more details, please see their respective documentation. (Contributed by " "Adam Goldschmidt, Senthil Kumaran and Ken Jin in :issue:`42967`.)" msgstr "" -"Las versiones anteriores de Python permitían el uso de ``;`` y ``&`` como " -"separadores de parámetros de consulta en :func:`urllib.parse.parse_qs` y :" -"func:`urllib.parse.parse_qsl`. Debido a problemas de seguridad y para " -"cumplir con las recomendaciones más recientes del W3C, esto se ha cambiado " -"para permitir solo una clave separadora, con ``&`` como predeterminado. Este " -"cambio también afecta a :func:`cgi.parse` y :func:`cgi.parse_multipart` ya " -"que utilizan las funciones afectadas internamente. Para obtener más " -"detalles, consulte su documentación respectiva. (Contribuido por Adam " -"Goldschmidt, Senthil Kumaran y Ken Jin en :issue:`42967`.)" +"Las versiones anteriores de Python permitían utilizar tanto ``;`` como ``&`` " +"como separadores de parámetros de consulta en :func:`urllib.parse.parse_qs` " +"y :func:`urllib.parse.parse_qsl`. Por cuestiones de seguridad y para cumplir " +"con las recomendaciones más recientes del W3C, esto se ha modificado para " +"permitir solo una clave separadora, con ``&`` como valor predeterminado. " +"Este cambio también afecta a :func:`!cgi.parse` y :func:`!cgi." +"parse_multipart`, ya que utilizan las funciones afectadas internamente. Para " +"obtener más detalles, consulte su documentación respectiva. (Contribuido por " +"Adam Goldschmidt, Senthil Kumaran y Ken Jin en :issue:`42967`)." #: ../Doc/whatsnew/3.6.rst:2482 -#, fuzzy msgid "Notable changes in Python 3.6.14" -msgstr "Cambios notables en Python 3.6.4" +msgstr "Cambios notables en Python 3.6.14" #: ../Doc/whatsnew/3.6.rst:2484 msgid "" @@ -4810,6 +4943,13 @@ msgid "" "old behavior, set a ``trust_server_pasv_ipv4_address`` attribute on your FTP " "instance to ``True``. (See :gh:`87451`)" msgstr "" +"Una corrección de seguridad modifica el comportamiento de :class:`ftplib." +"FTP` para que no confíe en la dirección IPv4 enviada desde el servidor " +"remoto al configurar un canal de datos pasivo. En su lugar, reutilizamos la " +"dirección IP del servidor FTP. Para el código inusual que requiere el " +"comportamiento anterior, configure un atributo " +"``trust_server_pasv_ipv4_address`` en su instancia FTP en ``True``. " +"(Consulte :gh:`87451`)" #: ../Doc/whatsnew/3.6.rst:2490 msgid "" @@ -4820,3 +4960,10 @@ msgid "" "removal characters are controlled by a new module level variable ``urllib." "parse._UNSAFE_URL_BYTES_TO_REMOVE``. (See :gh:`88048`)" msgstr "" +"La presencia de caracteres de nueva línea o de tabulación en partes de una " +"URL permite algunas formas de ataques. Siguiendo la especificación WHATWG " +"que actualiza RFC 3986, el analizador :func:`urllib.parse` elimina de la URL " +"los caracteres de nueva línea ASCII ``\\n``, ``\\r`` y de tabulación ``\\t`` " +"para evitar este tipo de ataques. Los caracteres eliminados se controlan " +"mediante una nueva variable de nivel de módulo ``urllib.parse." +"_UNSAFE_URL_BYTES_TO_REMOVE``. (Véase :gh:`88048`)" pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy