From f0126186d6df3eab3ad3a70adf3d8fe20d0e0257 Mon Sep 17 00:00:00 2001 From: Marcos Ferreto Estrada Date: Wed, 11 Dec 2024 19:27:47 -0600 Subject: [PATCH 01/41] Traducido archivo c-api/contextvars (#3348) closes #3281 --- TRANSLATORS | 1 + c-api/contextvars.po | 12 +++++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/TRANSLATORS b/TRANSLATORS index fe9b569dff..107807d0bb 100644 --- a/TRANSLATORS +++ b/TRANSLATORS @@ -172,6 +172,7 @@ Manuel Ramos (@manuelramos) Marcelo Elizeche Landó (@melizeche) Marco Moresi (@mrcmoresi) Marco Richetta (@marcorichetta) +Marcos Ferreto (@FerretoDev) Marcos Medrano (@mmmarcos) Marcos Moreno (@marcosmamg) Marcos Sánchez Provencio (@rapto) diff --git a/c-api/contextvars.po b/c-api/contextvars.po index 8d58c31077..1d02d39fd8 100644 --- a/c-api/contextvars.po +++ b/c-api/contextvars.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: 2021-12-09 10:23+0800\n" +"PO-Revision-Date: 2024-12-10 21:07-0600\n" "Last-Translator: Rodrigo Tobar \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" +"X-Generator: Poedit 3.5\n" #: ../Doc/c-api/contextvars.rst:6 msgid "Context Variables Objects" @@ -44,6 +45,11 @@ msgid "" "// in 3.7.1+:\n" "PyObject *PyContext_New(void);" msgstr "" +"// en 3.7.0:\n" +"PyContext *PyContext_New(void);\n" +"\n" +"// en 3.7.1+:\n" +"PyObject *PyContext_New(void);" #: ../Doc/c-api/contextvars.rst:26 msgid "See :issue:`34762` for more details." From c93821ad823ac44e3bf7ac37a59fe937f0f22971 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sof=C3=ADa=20Denner?= Date: Thu, 12 Dec 2024 04:15:42 -0300 Subject: [PATCH 02/41] translate pending removal in 3.13 (#3347) closes #3297 --------- Co-authored-by: Marcos Medrano <786907+mmmarcos@users.noreply.github.com> --- deprecations/pending-removal-in-3.13.po | 94 +++++++++++++------------ 1 file changed, 49 insertions(+), 45 deletions(-) diff --git a/deprecations/pending-removal-in-3.13.po b/deprecations/pending-removal-in-3.13.po index 0341c82931..4ec72bc1f0 100644 --- a/deprecations/pending-removal-in-3.13.po +++ b/deprecations/pending-removal-in-3.13.po @@ -10,179 +10,180 @@ msgstr "" "Project-Id-Version: Python en Español 3.13\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: FULL NAME \n" -"Language: es\n" +"PO-Revision-Date: 2024-12-09 20:45-0300\n" +"Last-Translator: Sofía Denner\n" "Language-Team: 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.5\n" #: ../Doc/deprecations/pending-removal-in-3.13.rst:2 msgid "Pending Removal in Python 3.13" -msgstr "" +msgstr "Pendiente de eliminación en Python 3.13" #: ../Doc/deprecations/pending-removal-in-3.13.rst:4 msgid "Modules (see :pep:`594`):" -msgstr "" +msgstr "Módulos (ver :pep:`594`):" #: ../Doc/deprecations/pending-removal-in-3.13.rst:6 msgid ":mod:`!aifc`" -msgstr "" +msgstr ":mod:`!aifc`" #: ../Doc/deprecations/pending-removal-in-3.13.rst:7 msgid ":mod:`!audioop`" -msgstr "" +msgstr ":mod:`!audioop`" #: ../Doc/deprecations/pending-removal-in-3.13.rst:8 msgid ":mod:`!cgi`" -msgstr "" +msgstr ":mod:`!cgi`" #: ../Doc/deprecations/pending-removal-in-3.13.rst:9 msgid ":mod:`!cgitb`" -msgstr "" +msgstr ":mod:`!cgitb`" #: ../Doc/deprecations/pending-removal-in-3.13.rst:10 msgid ":mod:`!chunk`" -msgstr "" +msgstr ":mod:`!chunk`" #: ../Doc/deprecations/pending-removal-in-3.13.rst:11 msgid ":mod:`!crypt`" -msgstr "" +msgstr ":mod:`!crypt`" #: ../Doc/deprecations/pending-removal-in-3.13.rst:12 msgid ":mod:`!imghdr`" -msgstr "" +msgstr ":mod:`!imghdr`" #: ../Doc/deprecations/pending-removal-in-3.13.rst:13 msgid ":mod:`!mailcap`" -msgstr "" +msgstr ":mod:`!mailcap`" #: ../Doc/deprecations/pending-removal-in-3.13.rst:14 msgid ":mod:`!msilib`" -msgstr "" +msgstr ":mod:`!msilib`" #: ../Doc/deprecations/pending-removal-in-3.13.rst:15 msgid ":mod:`!nis`" -msgstr "" +msgstr ":mod:`!nis`" #: ../Doc/deprecations/pending-removal-in-3.13.rst:16 msgid ":mod:`!nntplib`" -msgstr "" +msgstr ":mod:`!nntplib`" #: ../Doc/deprecations/pending-removal-in-3.13.rst:17 msgid ":mod:`!ossaudiodev`" -msgstr "" +msgstr ":mod:`!ossaudiodev`" #: ../Doc/deprecations/pending-removal-in-3.13.rst:18 msgid ":mod:`!pipes`" -msgstr "" +msgstr ":mod:`!pipes`" #: ../Doc/deprecations/pending-removal-in-3.13.rst:19 msgid ":mod:`!sndhdr`" -msgstr "" +msgstr ":mod:`!sndhdr`" #: ../Doc/deprecations/pending-removal-in-3.13.rst:20 msgid ":mod:`!spwd`" -msgstr "" +msgstr ":mod:`!spwd`" #: ../Doc/deprecations/pending-removal-in-3.13.rst:21 msgid ":mod:`!sunau`" -msgstr "" +msgstr ":mod:`!sunau`" #: ../Doc/deprecations/pending-removal-in-3.13.rst:22 msgid ":mod:`!telnetlib`" -msgstr "" +msgstr ":mod:`!telnetlib`" #: ../Doc/deprecations/pending-removal-in-3.13.rst:23 msgid ":mod:`!uu`" -msgstr "" +msgstr ":mod:`!uu`" #: ../Doc/deprecations/pending-removal-in-3.13.rst:24 msgid ":mod:`!xdrlib`" -msgstr "" +msgstr ":mod:`!xdrlib`" #: ../Doc/deprecations/pending-removal-in-3.13.rst:26 msgid "Other modules:" -msgstr "" +msgstr "Otros módulos:" #: ../Doc/deprecations/pending-removal-in-3.13.rst:28 msgid ":mod:`!lib2to3`, and the :program:`2to3` program (:gh:`84540`)" -msgstr "" +msgstr ":mod:`!lib2to3`, y el programa :program:`2to3` (:gh:`84540`)" #: ../Doc/deprecations/pending-removal-in-3.13.rst:30 msgid "APIs:" -msgstr "" +msgstr "APIs:" #: ../Doc/deprecations/pending-removal-in-3.13.rst:32 msgid ":class:`!configparser.LegacyInterpolation` (:gh:`90765`)" -msgstr "" +msgstr ":class:`!configparser.LegacyInterpolation` (:gh:`90765`)" #: ../Doc/deprecations/pending-removal-in-3.13.rst:33 msgid "``locale.resetlocale()`` (:gh:`90817`)" -msgstr "" +msgstr "``locale.resetlocale()`` (:gh:`90817`)" #: ../Doc/deprecations/pending-removal-in-3.13.rst:34 msgid ":meth:`!turtle.RawTurtle.settiltangle` (:gh:`50096`)" -msgstr "" +msgstr ":meth:`!turtle.RawTurtle.settiltangle` (:gh:`50096`)" #: ../Doc/deprecations/pending-removal-in-3.13.rst:35 msgid ":func:`!unittest.findTestCases` (:gh:`50096`)" -msgstr "" +msgstr ":func:`!unittest.findTestCases` (:gh:`50096`)" #: ../Doc/deprecations/pending-removal-in-3.13.rst:36 msgid ":func:`!unittest.getTestCaseNames` (:gh:`50096`)" -msgstr "" +msgstr ":func:`!unittest.getTestCaseNames` (:gh:`50096`)" #: ../Doc/deprecations/pending-removal-in-3.13.rst:37 msgid ":func:`!unittest.makeSuite` (:gh:`50096`)" -msgstr "" +msgstr ":func:`!unittest.makeSuite` (:gh:`50096`)" #: ../Doc/deprecations/pending-removal-in-3.13.rst:38 msgid ":meth:`!unittest.TestProgram.usageExit` (:gh:`67048`)" -msgstr "" +msgstr ":meth:`!unittest.TestProgram.usageExit` (:gh:`67048`)" #: ../Doc/deprecations/pending-removal-in-3.13.rst:39 msgid ":class:`!webbrowser.MacOSX` (:gh:`86421`)" -msgstr "" +msgstr ":class:`!webbrowser.MacOSX` (:gh:`86421`)" #: ../Doc/deprecations/pending-removal-in-3.13.rst:40 msgid ":class:`classmethod` descriptor chaining (:gh:`89519`)" -msgstr "" +msgstr "Encadenamiento de descriptores :class:`classmethod` (:gh:`89519`)" #: ../Doc/deprecations/pending-removal-in-3.13.rst:41 msgid ":mod:`importlib.resources` deprecated methods:" -msgstr "" +msgstr "métodos obsoletos de :mod:`importlib.resources`:" #: ../Doc/deprecations/pending-removal-in-3.13.rst:43 msgid "``contents()``" -msgstr "" +msgstr "``contents()``" #: ../Doc/deprecations/pending-removal-in-3.13.rst:44 msgid "``is_resource()``" -msgstr "" +msgstr "``contents()``" #: ../Doc/deprecations/pending-removal-in-3.13.rst:45 msgid "``open_binary()``" -msgstr "" +msgstr "``open_binary()``" #: ../Doc/deprecations/pending-removal-in-3.13.rst:46 msgid "``open_text()``" -msgstr "" +msgstr "``open_text()``" #: ../Doc/deprecations/pending-removal-in-3.13.rst:47 msgid "``path()``" -msgstr "" +msgstr "``path()``" #: ../Doc/deprecations/pending-removal-in-3.13.rst:48 msgid "``read_binary()``" -msgstr "" +msgstr "``read_binary()``" #: ../Doc/deprecations/pending-removal-in-3.13.rst:49 msgid "``read_text()``" -msgstr "" +msgstr "``read_text()``" #: ../Doc/deprecations/pending-removal-in-3.13.rst:51 msgid "" @@ -190,3 +191,6 @@ msgid "" "resources: Migrating from Legacy `_ (:gh:`106531`)" msgstr "" +"Usar en su lugar :func:`importlib.resources.files`. Consultar `importlib-" +"resources: Migrating from Legacy `_ (:gh:`106531`)" From e7c0a34bd76cb406320c0be9fe9e4331b41298c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Sat, 21 Dec 2024 23:58:13 +0100 Subject: [PATCH 03/41] Translate whatsnew/3.3 (#3318) Closes #3184 --- dictionaries/whatsnew_3.3.txt | 6 + whatsnew/3.3.po | 2754 ++++++++++++++++++--------------- 2 files changed, 1483 insertions(+), 1277 deletions(-) diff --git a/dictionaries/whatsnew_3.3.txt b/dictionaries/whatsnew_3.3.txt index a52ad37f41..31a8bdfc1d 100644 --- a/dictionaries/whatsnew_3.3.txt +++ b/dictionaries/whatsnew_3.3.txt @@ -89,13 +89,17 @@ Winston Wundram Yamamoto Zbigniew +acc cast +committers decode desreferencian directory division +document editables encode +err factorizar filemode fopen @@ -126,6 +130,8 @@ subgeneradores subindices subiteradores symlink +tallies +tally tarfile target timezone diff --git a/whatsnew/3.3.po b/whatsnew/3.3.po index 12a3a2d1a2..01850ece9b 100644 --- a/whatsnew/3.3.po +++ b/whatsnew/3.3.po @@ -13,12 +13,12 @@ msgstr "" "POT-Creation-Date: 2024-11-21 16:38-0300\n" "PO-Revision-Date: 2021-10-29 22:00-0500\n" "Last-Translator: Pedro Aarón \n" -"Language: es\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.16.0\n" #: ../Doc/whatsnew/3.3.rst:3 @@ -33,8 +33,8 @@ msgid "" msgstr "" "Éste artículo explica las nuevas características en python 3.3, en " "comparación con la versión 3.2. Python 3.3 se lanzó el 29 de septiembre de " -"2012. Para más detalles, ver el log de cambios en la dirección ." +"2012. Para más detalles, ver el log de cambios en la dirección " +"." #: ../Doc/whatsnew/3.3.rst:51 msgid ":pep:`398` - Python 3.3 Release Schedule" @@ -89,8 +89,8 @@ msgstr "" #: ../Doc/whatsnew/3.3.rst:71 msgid "" -":mod:`venv` (Python :ref:`virtual environments `, as in the popular " -"``virtualenv`` package)" +":mod:`venv` (Python :ref:`virtual environments `, as in the popular" +" ``virtualenv`` package)" msgstr "" ":mod:`venv` (Python :ref:`entornos virtuales `, como en el paquete " "original Virtualenv)" @@ -111,8 +111,8 @@ msgstr "Mejoras de implementación:" msgid "" "Rewritten :ref:`import machinery ` based on :mod:`importlib`." msgstr "" -"Se reescribe :ref:`Maquinaria de importación ` con base en :mod:" -"`importlib`." +"Se reescribe :ref:`Maquinaria de importación ` con base en " +":mod:`importlib`." #: ../Doc/whatsnew/3.3.rst:81 msgid "More compact :ref:`unicode strings `." @@ -132,11 +132,11 @@ msgstr "Acelerador de C para el módulo :ref:`decimal ` ." #: ../Doc/whatsnew/3.3.rst:87 msgid "" -"Better unicode handling in the :ref:`email ` module (:term:" -"`provisional `)." +"Better unicode handling in the :ref:`email ` module " +"(:term:`provisional `)." msgstr "" -"Mejor gestión de *unicode* en el módulo :ref:`email ` (:term:" -"`provisional `)." +"Mejor gestión de *unicode* en el módulo :ref:`email ` " +"(:term:`provisional `)." #: ../Doc/whatsnew/3.3.rst:90 msgid "Security improvements:" @@ -149,8 +149,8 @@ msgstr "La aleatoriedad en los hash está habilitada de forma predeterminada." #: ../Doc/whatsnew/3.3.rst:94 msgid "Please read on for a comprehensive list of user-facing changes." msgstr "" -"Por favor continúa leyendo para obtener una lista completa de los cambios de " -"cara al usuario." +"Por favor continúa leyendo para obtener una lista completa de los cambios de" +" cara al usuario." #: ../Doc/whatsnew/3.3.rst:100 msgid "PEP 405: Virtual Environments" @@ -170,8 +170,8 @@ msgstr "" "mientras comparten una instalación base en todo el sistema, para facilitar " "el mantenimiento. Los entornos virtuales tienen su propio conjunto de " "paquetes de sitios privados (es decir, bibliotecas instaladas localmente) y " -"están opcionalmente segregados de los paquetes de sitios de todo el sistema. " -"Su concepto e implementación están inspirados en el popular paquete de " +"están opcionalmente segregados de los paquetes de sitios de todo el sistema." +" Su concepto e implementación están inspirados en el popular paquete de " "terceros ``virtualenv``, pero se benefician de una integración más estrecha " "con el núcleo del intérprete." @@ -193,7 +193,8 @@ msgid ":pep:`405` - Python Virtual Environments" msgstr ":pep:`405` - Entornos virtuales en python" #: ../Doc/whatsnew/3.3.rst:119 -msgid "PEP written by Carl Meyer; implementation by Carl Meyer and Vinay Sajip" +msgid "" +"PEP written by Carl Meyer; implementation by Carl Meyer and Vinay Sajip" msgstr "" "PEP escrito por Carl Meyer; implementación por Carl Meyer y Vinay Sajip" @@ -205,8 +206,8 @@ msgstr "PEP 420: Paquetes para espacios de nombres implícitos" msgid "" "Native support for package directories that don't require ``__init__.py`` " "marker files and can automatically span multiple path segments (inspired by " -"various third party approaches to namespace packages, as described in :pep:" -"`420`)" +"various third party approaches to namespace packages, as described in " +":pep:`420`)" msgstr "" "Soporte nativo para directorios de paquetes que no requieran el archivo " "``__init.py__`` y puedan abarcar automáticamente múltiples segmentos de " @@ -229,8 +230,8 @@ msgstr "" msgid "" "PEP 3118: New memoryview implementation and buffer protocol documentation" msgstr "" -"PEP 3118: Nueva implementación de vista de memoria y en la documentación del " -"protocolo del buffer" +"PEP 3118: Nueva implementación de vista de memoria y en la documentación del" +" protocolo del buffer" #: ../Doc/whatsnew/3.3.rst:142 msgid "The implementation of :pep:`3118` has been significantly improved." @@ -239,14 +240,14 @@ msgstr "La implementación del :pep:`3118` ha tenido mejoras significativas." #: ../Doc/whatsnew/3.3.rst:144 msgid "" "The new memoryview implementation comprehensively fixes all ownership and " -"lifetime issues of dynamically allocated fields in the Py_buffer struct that " -"led to multiple crash reports. Additionally, several functions that crashed " -"or returned incorrect results for non-contiguous or multi-dimensional input " -"have been fixed." -msgstr "" -"La nueva implementación de la vista de memoria corrige exhaustivamente todos " -"los problemas de propiedad y duración de los campos asignados dinámicamente " -"en la estructura de Py_buffer que ha dado lugar a varios informes de " +"lifetime issues of dynamically allocated fields in the Py_buffer struct that" +" led to multiple crash reports. Additionally, several functions that crashed" +" or returned incorrect results for non-contiguous or multi-dimensional input" +" have been fixed." +msgstr "" +"La nueva implementación de la vista de memoria corrige exhaustivamente todos" +" los problemas de propiedad y duración de los campos asignados dinámicamente" +" en la estructura de Py_buffer que ha dado lugar a varios informes de " "bloqueo. Además, se han corregido varias funciones que se bloquearon o " "retornaron resultados incorrectos para entradas no contigua o " "multidimensional." @@ -319,14 +320,13 @@ msgstr "" "`13411`.)" #: ../Doc/whatsnew/3.3.rst:176 -#, fuzzy msgid "" "Arbitrary slicing of any 1-D arrays type is supported. For example, it is " "now possible to reverse a memoryview in *O*\\ (1) by using a negative step." msgstr "" -"Se admite el corte arbitrario de cualquier tipo de array unidimensional. Por " -"ejemplo, ahora es posible revertir una vista de memoria en O(1) utilizando " -"un valor negativo para el índice STEP." +"Se admite la segmentación arbitraria de cualquier tipo de matriz 1-D. Por " +"ejemplo, ahora es posible invertir una vista de memoria en *O*\\ (1) " +"mediante un paso negativo." #: ../Doc/whatsnew/3.3.rst:180 ../Doc/whatsnew/3.3.rst:1135 msgid "API changes" @@ -341,8 +341,8 @@ msgid "" "The representation of empty shape, strides and suboffsets is now an empty " "tuple instead of ``None``." msgstr "" -"Las formas vacías, pasos, y subíndices ahora son representados por una tupla " -"vacía, en vez de ``None``." +"Las formas vacías, pasos, y subíndices ahora son representados por una tupla" +" vacía, en vez de ``None``." #: ../Doc/whatsnew/3.3.rst:187 msgid "" @@ -362,12 +362,12 @@ msgid "" "syntax are supported. Views with unrecognised format strings are still " "permitted, but will always compare as unequal, regardless of view contents." msgstr "" -"las comparaciones de la vista de memoria ahora utilizan la estructura lógica " -"de los operandos y comparan todos los elementos de array por valor. Se " +"las comparaciones de la vista de memoria ahora utilizan la estructura lógica" +" de los operandos y comparan todos los elementos de array por valor. Se " "admiten todos los formatos strings en la sintaxis del módulo de estructura. " "Aún se admiten las vistas con strings que tengan un formato no reconocido, " -"pero siempre se compararan como desiguales, independientemente del contenido " -"de la vista." +"pero siempre se compararan como desiguales, independientemente del contenido" +" de la vista." #: ../Doc/whatsnew/3.3.rst:197 msgid "" @@ -391,11 +391,11 @@ msgstr "PEP 393: Representación flexible de cadenas de caracteres" #: ../Doc/whatsnew/3.3.rst:211 msgid "" "The Unicode string type is changed to support multiple internal " -"representations, depending on the character with the largest Unicode ordinal " -"(1, 2, or 4 bytes) in the represented string. This allows a space-efficient " -"representation in common cases, but gives access to full UCS-4 on all " -"systems. For compatibility with existing APIs, several representations may " -"exist in parallel; over time, this compatibility should be phased out." +"representations, depending on the character with the largest Unicode ordinal" +" (1, 2, or 4 bytes) in the represented string. This allows a space-" +"efficient representation in common cases, but gives access to full UCS-4 on " +"all systems. For compatibility with existing APIs, several representations " +"may exist in parallel; over time, this compatibility should be phased out." msgstr "" "El tipo de cadena *Unicode* es modificado para admitir múltiples " "representaciones internas, dependiendo del caracter con el ordinal Unicode " @@ -420,9 +420,9 @@ msgstr "" "Por parte de la API de C, :pep:`393` es totalmente compatible con versiones " "anteriores. La API antigua debería quedar disponible al menos por cinco " "años. Las aplicaciones que usan la API antigua no saldrán beneficiadas por " -"la reducción de memoria, o -peor- podrían usar un bit más de memoria, debido " -"a que python necesitaría mantener dos versiones de cada cadena de caracteres " -"(en el formato antiguo y en el nuevo almacenamiento)" +"la reducción de memoria, o -peor- podrían usar un bit más de memoria, debido" +" a que python necesitaría mantener dos versiones de cada cadena de " +"caracteres (en el formato antiguo y en el nuevo almacenamiento)" #: ../Doc/whatsnew/3.3.rst:227 msgid "Functionality" @@ -432,7 +432,6 @@ msgstr "Funcionalidad" msgid "Changes introduced by :pep:`393` are the following:" msgstr "Los cambios introducidos en el :pep:`393` son los siguientes:" -# Poner en cursiva la palabra UNICODE, verdad? #: ../Doc/whatsnew/3.3.rst:231 msgid "" "Python now always supports the full range of Unicode code points, including " @@ -440,15 +439,15 @@ msgid "" "between narrow and wide builds no longer exists and Python now behaves like " "a wide build, even under Windows." msgstr "" -"Ahora python admite siempre el rango completo de códigos *Unicode*, " -"incluyendo los que no son BMP (es decir, ``U+0000`` to ``U+10FFFF``). La " -"distinción entre ancho y angosto ya no existe, y python se comporta ahora " -"como una compilación amplia, incluso en sistemas windows." +"Ahora python admite siempre el rango completo de códigos Unicode, incluyendo" +" los que no son BMP (es decir, ``U+0000`` to ``U+10FFFF``). La distinción " +"entre ancho y angosto ya no existe, y python se comporta ahora como una " +"compilación amplia, incluso en sistemas windows." #: ../Doc/whatsnew/3.3.rst:236 msgid "" -"With the death of narrow builds, the problems specific to narrow builds have " -"also been fixed, for example:" +"With the death of narrow builds, the problems specific to narrow builds have" +" also been fixed, for example:" msgstr "" "Con la eliminación de las construcciones estrechas, han sido solucionados " "también los problemas específicos referentes a este tipo de construcciones, " @@ -464,8 +463,8 @@ msgstr "" #: ../Doc/whatsnew/3.3.rst:242 msgid "" -"surrogate pairs are not recombined in string literals, so " -"``'\\uDBFF\\uDFFF' != '\\U0010FFFF'``;" +"surrogate pairs are not recombined in string literals, so ``'\\uDBFF\\uDFFF'" +" != '\\U0010FFFF'``;" msgstr "" "los pares sustitutos no se recombinan en cadenas literales, de modo que " "``'\\uDBFF\\uDFFF' != '\\U0010FFFF'``;" @@ -476,8 +475,8 @@ msgid "" "``'\\U0010FFFF'[0]`` now returns ``'\\U0010FFFF'`` and not ``'\\uDBFF'``;" msgstr "" "la indexación o el corte de caracteres que no son BMP, retorna el valor " -"esperado, de modo que ``'\\U0010FFFF'[0]`` ahora retorna ``'\\U0010FFFF'`` y " -"no ``'\\uDBFF'``;" +"esperado, de modo que ``'\\U0010FFFF'[0]`` ahora retorna ``'\\U0010FFFF'`` y" +" no ``'\\uDBFF'``;" #: ../Doc/whatsnew/3.3.rst:248 msgid "" @@ -497,14 +496,13 @@ msgstr "" "El valor de :data:`sys.maxunicode` ahora es siempre ``1114111`` " "(``0x10FFFF`` en hexadecimal). La función :c:func:`!PyUnicode_GetMax` aún " "devuelve ``0xFFFF`` o ``0x10FFFF`` por compatibilidad con versiones " -"anteriores y no debe usarse con la nueva API Unicode (consulte :issue:" -"`13054`)." +"anteriores y no debe usarse con la nueva API Unicode (consulte " +":issue:`13054`)." -# COMO TRADUCIR FLAG #: ../Doc/whatsnew/3.3.rst:256 msgid "The :file:`./configure` flag ``--with-wide-unicode`` has been removed." msgstr "" -"Se ha eliminado el indicador :file:`./configure` ``--with-wide-unicode``." +"Se ha eliminado la bandera :file:`./configure` ``--with-wide-unicode``." #: ../Doc/whatsnew/3.3.rst:259 msgid "Performance and resource usage" @@ -515,8 +513,8 @@ msgid "" "The storage of Unicode strings now depends on the highest code point in the " "string:" msgstr "" -"El almacenamiento de las cadenas *Unicode* ahora depende del punto de código " -"más alto en la cadena:" +"El almacenamiento de las cadenas *Unicode* ahora depende del punto de código" +" más alto en la cadena:" #: ../Doc/whatsnew/3.3.rst:263 msgid "" @@ -539,26 +537,26 @@ msgstr "" #: ../Doc/whatsnew/3.3.rst:269 msgid "" -"The net effect is that for most applications, memory usage of string storage " -"should decrease significantly - especially compared to former wide unicode " -"builds - as, in many cases, strings will be pure ASCII even in international " -"contexts (because many strings store non-human language data, such as XML " +"The net effect is that for most applications, memory usage of string storage" +" should decrease significantly - especially compared to former wide unicode " +"builds - as, in many cases, strings will be pure ASCII even in international" +" contexts (because many strings store non-human language data, such as XML " "fragments, HTTP headers, JSON-encoded data, etc.). We also hope that it " "will, for the same reasons, increase CPU cache efficiency on non-trivial " "applications. The memory usage of Python 3.3 is two to three times smaller " "than Python 3.2, and a little bit better than Python 2.7, on a Django " "benchmark (see the PEP for details)." msgstr "" -"El efecto neto es que para la mayoría de las aplicaciones, el uso de memoria " -"del almacenamiento de cadenas de caracteres debería disminuir " +"El efecto neto es que para la mayoría de las aplicaciones, el uso de memoria" +" del almacenamiento de cadenas de caracteres debería disminuir " "significativamente, especialmente en comparación con las construcciones " "*unicode* anchas, ya que, en muchos casos, las cadenas serán ASCII puro " "incluso en contextos internacionales (porque muchas cadenas almacenan datos " "en lenguaje no humano, tal como fragmentos XML, encabezados HTTP, datos " "codificados en JSON, etc.). También esperamos que, por las mismas razones, " -"aumente la eficiencia de la caché de la CPU en aplicaciones no triviales. El " -"uso de memoria de Python 3.3 es dos o tres veces más pequeño que Python 3.2, " -"y un poco mejor que Python 2.7, en un punto de referencia de Django " +"aumente la eficiencia de la caché de la CPU en aplicaciones no triviales. El" +" uso de memoria de Python 3.3 es dos o tres veces más pequeño que Python " +"3.2, y un poco mejor que Python 2.7, en un punto de referencia de Django " "(consulte el PEP para obtener más detalles)." #: ../Doc/whatsnew/3.3.rst:283 @@ -567,8 +565,8 @@ msgstr ":pep:`393` - Representación flexible de cadenas de caracteres" #: ../Doc/whatsnew/3.3.rst:283 msgid "" -"PEP written by Martin von Löwis; implementation by Torsten Becker and Martin " -"von Löwis." +"PEP written by Martin von Löwis; implementation by Torsten Becker and Martin" +" von Löwis." msgstr "" "PEP escrito por Martin von Lowis; implementado por Torsten Becker y Martin " "von Lowis." @@ -591,38 +589,38 @@ msgstr "" msgid "" "This launcher is invoked implicitly when double-clicking ``*.py`` files. If " "only a single Python version is installed on the system, that version will " -"be used to run the file. If multiple versions are installed, the most recent " -"version is used by default, but this can be overridden by including a Unix-" +"be used to run the file. If multiple versions are installed, the most recent" +" version is used by default, but this can be overridden by including a Unix-" "style \"shebang line\" in the Python script." msgstr "" "Este lanzador se invoca de forma implícita cuando haces doble click en " "archivos ``*.py``. Si el sistema tiene instalada una única versión de " "python, ésta versión será usada para ejecutar el archivo. Si hay múltiples " "versiones instaladas en el sistema, se utilizara por defecto la versión más " -"reciente pero ésto puede ser anulado incluyendo una \"línea shebang\" estilo " -"Unix en el *script* de Python." +"reciente pero ésto puede ser anulado incluyendo una \"línea shebang\" estilo" +" Unix en el *script* de Python." #: ../Doc/whatsnew/3.3.rst:302 msgid "" -"The launcher can also be used explicitly from the command line as the ``py`` " -"application. Running ``py`` follows the same version selection rules as " -"implicitly launching scripts, but a more specific version can be selected by " -"passing appropriate arguments (such as ``-3`` to request Python 3 when " +"The launcher can also be used explicitly from the command line as the ``py``" +" application. Running ``py`` follows the same version selection rules as " +"implicitly launching scripts, but a more specific version can be selected by" +" passing appropriate arguments (such as ``-3`` to request Python 3 when " "Python 2 is also installed, or ``-2.6`` to specifically request an earlier " "Python version when a more recent version is installed)." msgstr "" "El lanzador también se puede usar explícitamente desde la línea de comando " -"como la aplicación ``py``. La ejecución de ``py`` sigue las mismas reglas de " -"selección de versión que la ejecución implícita de scripts, pero se puede " +"como la aplicación ``py``. La ejecución de ``py`` sigue las mismas reglas de" +" selección de versión que la ejecución implícita de scripts, pero se puede " "seleccionar una versión más específica pasando los argumentos apropiados " -"(como ``-3`` para solicitar Python 3 cuando Python 2 también está instalado, " -"o ``-2.6`` para solicitar específicamente una versión anterior de Python " +"(como ``-3`` para solicitar Python 3 cuando Python 2 también está instalado," +" o ``-2.6`` para solicitar específicamente una versión anterior de Python " "cuando se instala una versión más reciente)." #: ../Doc/whatsnew/3.3.rst:309 msgid "" -"In addition to the launcher, the Windows installer now includes an option to " -"add the newly installed Python to the system PATH. (Contributed by Brian " +"In addition to the launcher, the Windows installer now includes an option to" +" add the newly installed Python to the system PATH. (Contributed by Brian " "Curtin in :issue:`3561`.)" msgstr "" "Además del lanzador, el instalador de Windows ahora incluye una opción para " @@ -638,7 +636,8 @@ msgid "" "PEP written by Mark Hammond and Martin v. Löwis; implementation by Vinay " "Sajip." msgstr "" -"PEP escrito por Mark Hammond y Martin v. Löwis; implementado por Vinay Sajip." +"PEP escrito por Mark Hammond y Martin v. Löwis; implementado por Vinay " +"Sajip." #: ../Doc/whatsnew/3.3.rst:319 msgid "Launcher documentation: :ref:`launcher`" @@ -657,34 +656,36 @@ msgid "" "The hierarchy of exceptions raised by operating system errors is now both " "simplified and finer-grained." msgstr "" -"La jerarquía de excepciones generada por errores del sistema operativo ahora " -"está simplificada y es más detallada." +"La jerarquía de excepciones generada por errores del sistema operativo ahora" +" está simplificada y es más detallada." #: ../Doc/whatsnew/3.3.rst:332 msgid "" "You don't have to worry anymore about choosing the appropriate exception " -"type between :exc:`OSError`, :exc:`IOError`, :exc:`EnvironmentError`, :exc:" -"`WindowsError`, :exc:`mmap.error`, :exc:`socket.error` or :exc:`select." -"error`. All these exception types are now only one: :exc:`OSError`. The " -"other names are kept as aliases for compatibility reasons." +"type between :exc:`OSError`, :exc:`IOError`, :exc:`EnvironmentError`, " +":exc:`WindowsError`, :exc:`mmap.error`, :exc:`socket.error` or " +":exc:`select.error`. All these exception types are now only one: " +":exc:`OSError`. The other names are kept as aliases for compatibility " +"reasons." msgstr "" "No tienes que preocuparte más por cómo elegir el tipo de excepción adecuado " -"entre :exc:`OSError`, :exc:`IOError`, :exc:`EnvironmentError`, :exc:" -"`WindowsError`, :exc:`mmap.error`, :exc:`socket.error` or :exc:`select." -"error`. Todos estos tipos de excepción son ahora una sola: :exc:`OSError`. " -"Los otros nombres se mantienen como alias por razones de compatibilidad." +"entre :exc:`OSError`, :exc:`IOError`, :exc:`EnvironmentError`, " +":exc:`WindowsError`, :exc:`mmap.error`, :exc:`socket.error` or " +":exc:`select.error`. Todos estos tipos de excepción son ahora una sola: " +":exc:`OSError`. Los otros nombres se mantienen como alias por razones de " +"compatibilidad." #: ../Doc/whatsnew/3.3.rst:339 msgid "" "Also, it is now easier to catch a specific error condition. Instead of " "inspecting the ``errno`` attribute (or ``args[0]``) for a particular " -"constant from the :mod:`errno` module, you can catch the adequate :exc:" -"`OSError` subclass. The available subclasses are the following:" +"constant from the :mod:`errno` module, you can catch the adequate " +":exc:`OSError` subclass. The available subclasses are the following:" msgstr "" "Además, ahora es más fácil detectar una condición de error específica. En " "lugar de inspeccionar el atributo ``errno`` (o ``args[0]``) para una " -"constante particular del módulo :mod:`errno`, puede seleccionar la subclase :" -"exc:`OSError` adecuada. Las subclases disponibles son las siguientes:" +"constante particular del módulo :mod:`errno`, puede seleccionar la subclase " +":exc:`OSError` adecuada. Las subclases disponibles son las siguientes:" #: ../Doc/whatsnew/3.3.rst:344 msgid ":exc:`BlockingIOError`" @@ -755,8 +756,8 @@ msgid "" "Thanks to the new exceptions, common usages of the :mod:`errno` can now be " "avoided. For example, the following code written for Python 3.2::" msgstr "" -"Gracias a las nuevas excepciones, los usos comunes de :mod:`errno` ahora se " -"pueden evitar. Por ejemplo, el siguiente código escrito para Python 3.2:" +"Gracias a las nuevas excepciones, los usos comunes de :mod:`errno` ahora se" +" pueden evitar. Por ejemplo, el siguiente código escrito para Python 3.2:" #: ../Doc/whatsnew/3.3.rst:366 msgid "" @@ -773,6 +774,18 @@ msgid "" " else:\n" " raise" msgstr "" +"from errno import ENOENT, EACCES, EPERM\n" +"\n" +"try:\n" +"with open(\"document.txt\") as f:\n" +"content = f.read()\n" +"except IOError as err:\n" +"if err.errno == ENOENT:\n" +"print(\"Falta el archivo document.txt\")\n" +"elif err.errno in (EACCES, EPERM):\n" +"print(\"No tiene permiso para leer document.txt\")\n" +"else:\n" +"raise" #: ../Doc/whatsnew/3.3.rst:379 msgid "" @@ -792,10 +805,18 @@ msgid "" "except PermissionError:\n" " print(\"You are not allowed to read document.txt\")" msgstr "" +"Intente:\n" +"con open(\"document.txt\") como f:\n" +"content = f.read()\n" +"except FileNotFoundError:\n" +"print(\"Falta el archivo document.txt\")\n" +"except PermissionError:\n" +"print(\"No tiene permiso para leer document.txt\")" #: ../Doc/whatsnew/3.3.rst:392 msgid ":pep:`3151` - Reworking the OS and IO Exception Hierarchy" -msgstr ":pep:`3151` - Re elaboración de la jerarquía de excepciones de IO y OS" +msgstr "" +":pep:`3151` - Re elaboración de la jerarquía de excepciones de IO y OS" #: ../Doc/whatsnew/3.3.rst:393 msgid "PEP written and implemented by Antoine Pitrou" @@ -809,16 +830,16 @@ msgstr "PEP 380: Sintaxis para delegar en un subgenerador" msgid "" "PEP 380 adds the ``yield from`` expression, allowing a :term:`generator` to " "delegate part of its operations to another generator. This allows a section " -"of code containing :keyword:`yield` to be factored out and placed in another " -"generator. Additionally, the subgenerator is allowed to return with a value, " -"and the value is made available to the delegating generator." +"of code containing :keyword:`yield` to be factored out and placed in another" +" generator. Additionally, the subgenerator is allowed to return with a " +"value, and the value is made available to the delegating generator." msgstr "" -"PEP 380 agrega la expresión ``yield from``, permitiendo que un :term:" -"`generator` delegue parte de sus operaciones a otro generador. Esto permite " -"tomar en consideración una sección de código que contenga la palabra :" -"keyword:`yield` y ubicarla en otro generador. Además, el subgenerador puede " -"regresar con un valor y el valor se pone a disposición del generador que " -"delega." +"PEP 380 agrega la expresión ``yield from``, permitiendo que un " +":term:`generator` delegue parte de sus operaciones a otro generador. Esto " +"permite tomar en consideración una sección de código que contenga la palabra" +" :keyword:`yield` y ubicarla en otro generador. Además, el subgenerador " +"puede regresar con un valor y el valor se pone a disposición del generador " +"que delega." #: ../Doc/whatsnew/3.3.rst:411 msgid "" @@ -847,16 +868,22 @@ msgid "" ">>> list(g(5))\n" "[5, 4, 3, 2, 1, 0, 1, 2, 3, 4]" msgstr "" +">>> def g(x):\n" +"... rendimiento de rango(x, 0, -1)\n" +"... rendimiento de rango(x)\n" +"...\n" +">>> lista(g(5))\n" +"[5, 4, 3, 2, 1, 0, 1, 2, 3, 4]" #: ../Doc/whatsnew/3.3.rst:424 msgid "" "However, unlike an ordinary loop, ``yield from`` allows subgenerators to " -"receive sent and thrown values directly from the calling scope, and return a " -"final value to the outer generator::" +"receive sent and thrown values directly from the calling scope, and return a" +" final value to the outer generator::" msgstr "" "Sin embargo, a diferencia de un ciclo ordinario, ``yield from`` permite que " -"los subgeneradores reciban valores enviados y lanzados directamente desde el " -"ámbito de la llamada y retornen un valor final al generador externo:" +"los subgeneradores reciban valores enviados y lanzados directamente desde el" +" ámbito de la llamada y retornen un valor final al generador externo:" #: ../Doc/whatsnew/3.3.rst:428 msgid "" @@ -887,16 +914,42 @@ msgid "" ">>> tallies\n" "[6, 10]" msgstr "" +">>> def accumulate():\n" +"... tally = 0\n" +"... while 1:\n" +"... next = yield\n" +"... if next is None:\n" +"... return tally\n" +"... tally += next\n" +"...\n" +">>> def gather_tallies(tallies):\n" +"... while 1:\n" +"... tally = yield from accumulate()\n" +"... tallies.append(tally)\n" +"...\n" +">>> tallies = []\n" +">>> acc = gather_tallies(tallies)\n" +">>> next(acc) # Asegura que acumulador esté listo y acepte valores\n" +">>> for i in range(4):\n" +"... acc.send(i)\n" +"...\n" +">>> acc.send(None) # Finaliza el primer recuento\n" +">>> for i in range(5):\n" +"... acc.send(i)\n" +"...\n" +">>> acc.send(None) # Finaliza el segundo recuento\n" +">>> tallies\n" +"[6, 10]" #: ../Doc/whatsnew/3.3.rst:455 msgid "" "The main principle driving this change is to allow even generators that are " -"designed to be used with the ``send`` and ``throw`` methods to be split into " -"multiple subgenerators as easily as a single large function can be split " +"designed to be used with the ``send`` and ``throw`` methods to be split into" +" multiple subgenerators as easily as a single large function can be split " "into multiple subfunctions." msgstr "" -"Lo más importante de éste cambio es permitir que incluso los generadores que " -"están diseñados para ser usados con los métodos ``send`` y ``throw`` sean " +"Lo más importante de éste cambio es permitir que incluso los generadores que" +" están diseñados para ser usados con los métodos ``send`` y ``throw`` sean " "separados en múltiples subgeneradores tan fácilmente como las funciones " "grandes se pueden dividir en varias subfunciones." @@ -906,8 +959,8 @@ msgstr ":pep:`380` - Sintaxis para delegar a un subgenerador" #: ../Doc/whatsnew/3.3.rst:463 msgid "" -"PEP written by Greg Ewing; implementation by Greg Ewing, integrated into 3.3 " -"by Renaud Blanch, Ryan Kelly and Nick Coghlan; documentation by Zbigniew " +"PEP written by Greg Ewing; implementation by Greg Ewing, integrated into 3.3" +" by Renaud Blanch, Ryan Kelly and Nick Coghlan; documentation by Zbigniew " "Jędrzejewski-Szmek and Nick Coghlan" msgstr "" "PEP escrito por Greg Ewing; implementación por Greg Ewing, integrado en 3.3 " @@ -925,8 +978,8 @@ msgid "" "applications that convert between exception types::" msgstr "" "PEP 409 introduce una nueva sintaxis que permite deshabilitar la " -"visualización del contexto de excepción encadenado. Esto permite mensajes de " -"error más limpios en aplicaciones que convierten entre tipos de excepción:" +"visualización del contexto de excepción encadenado. Esto permite mensajes de" +" error más limpios en aplicaciones que convierten entre tipos de excepción:" #: ../Doc/whatsnew/3.3.rst:475 msgid "" @@ -945,14 +998,28 @@ msgid "" " File \"\", line 8, in __getattr__\n" "AttributeError: x" msgstr "" +">>> class D:\n" +"... def __init__(self, extra):\n" +"... self._extra_attributes = extra\n" +"... def __getattr__(self, attr):\n" +"... try:\n" +"... return self._extra_attributes[attr]\n" +"... except KeyError:\n" +"... raise AttributeError(attr) from None\n" +"...\n" +">>> D({}).x\n" +"Traceback (most recent call last):\n" +" File \"\", line 1, in \n" +" File \"\", line 8, in __getattr__\n" +"AttributeError: x" #: ../Doc/whatsnew/3.3.rst:490 msgid "" "Without the ``from None`` suffix to suppress the cause, the original " "exception would be displayed by default::" msgstr "" -"Sin el sufijo ``from None`` para suprimir la causa, la excepción original se " -"mostraría de forma predeterminada:" +"Sin el sufijo ``from None`` para suprimir la causa, la excepción original se" +" mostraría de forma predeterminada:" #: ../Doc/whatsnew/3.3.rst:493 msgid "" @@ -977,6 +1044,26 @@ msgid "" " File \"\", line 8, in __getattr__\n" "AttributeError: x" msgstr "" +">>> class C:\n" +"... def __init__(self, extra):\n" +"... self._extra_attributes = extra\n" +"... def __getattr__(self, attr):\n" +"... try:\n" +"... return self._extra_attributes[attr]\n" +"... except KeyError:\n" +"... raise AttributeError(attr)\n" +"...\n" +">>> C({}).x\n" +"Traceback (most recent call last):\n" +" File \"\", line 6, in __getattr__\n" +"KeyError: 'x'\n" +"\n" +"During handling of the above exception, another exception occurred:\n" +"\n" +"Traceback (most recent call last):\n" +" File \"\", line 1, in \n" +" File \"\", line 8, in __getattr__\n" +"AttributeError: x" #: ../Doc/whatsnew/3.3.rst:514 msgid "" @@ -998,6 +1085,12 @@ msgid "" "...\n" "KeyError('x',)" msgstr "" +">>> try:\n" +"... D({}).x\n" +"... except AttributeError as exc:\n" +"... print(repr(exc.__context__))\n" +"...\n" +"KeyError('x',)" #: ../Doc/whatsnew/3.3.rst:528 msgid ":pep:`409` - Suppressing exception context" @@ -1023,14 +1116,14 @@ msgid "" "developers to focus on the more significant semantic changes (such as the " "stricter default separation of binary and text data)." msgstr "" -"Para facilitar la transición de Python 2 para las aplicaciones de Python que " -"reconocen *Unicode* y que hacen un uso intensivo de literales Unicode, " +"Para facilitar la transición de Python 2 para las aplicaciones de Python que" +" reconocen *Unicode* y que hacen un uso intensivo de literales Unicode, " "Python 3.3 una vez más admite el prefijo \"``u``\" para cadenas literales. " "Este prefijo no tiene importancia semántica en Python 3, se proporciona " "únicamente para reducir el número de cambios puramente mecánicos en la " -"migración a Python 3, lo que facilita a los desarrolladores centrarse en los " -"cambios semánticos más significativos (como la separación predeterminada más " -"estricta de binary y datos de texto)." +"migración a Python 3, lo que facilita a los desarrolladores centrarse en los" +" cambios semánticos más significativos (como la separación predeterminada " +"más estricta de binary y datos de texto)." #: ../Doc/whatsnew/3.3.rst:545 msgid ":pep:`414` - Explicit Unicode literals" @@ -1045,21 +1138,20 @@ msgid "PEP 3155: Qualified name for classes and functions" msgstr "PEP 3155: Nombres calificados para clases y funciones" #: ../Doc/whatsnew/3.3.rst:552 -#, fuzzy msgid "" "Functions and class objects have a new :attr:`~definition.__qualname__` " "attribute representing the \"path\" from the module top-level to their " -"definition. For global functions and classes, this is the same as :attr:" -"`~definition.__name__`. For other functions and classes, it provides better " -"information about where they were actually defined, and how they might be " -"accessible from the global scope." -msgstr "" -"Las funciones y objetos de clases tienen un nuevo atributo ``__qualname__``, " -"que representa la ruta desde el nivel superior del módulo hasta su " -"definición. Para funciones globales y clases, es lo mismo que ``__name__``. " -"Para otras funciones y clases, éste proporciona mejor información sobre " -"donde han sido definidos realmente y como podrían ser accesibles desde un " -"ámbito global." +"definition. For global functions and classes, this is the same as " +":attr:`~definition.__name__`. For other functions and classes, it provides " +"better information about where they were actually defined, and how they " +"might be accessible from the global scope." +msgstr "" +"Las funciones y los objetos de clase tienen un nuevo atributo " +":attr:`~definition.__qualname__` que representa la \"ruta\" desde el nivel " +"superior del módulo hasta su definición. Para las funciones y clases " +"globales, esto es lo mismo que :attr:`~definition.__name__`. Para otras " +"funciones y clases, proporciona mejor información sobre dónde se definieron " +"realmente y cómo se puede acceder a ellas desde el ámbito global." #: ../Doc/whatsnew/3.3.rst:560 msgid "Example with (non-bound) methods::" @@ -1076,6 +1168,14 @@ msgid "" ">>> C.meth.__qualname__\n" "'C.meth'" msgstr "" +">>> class C:\n" +"... def meth(self):\n" +"... pass\n" +"...\n" +">>> C.meth.__name__\n" +"'meth'\n" +">>> C.meth.__qualname__\n" +"'C.meth'" #: ../Doc/whatsnew/3.3.rst:571 msgid "Example with nested classes::" @@ -1097,6 +1197,19 @@ msgid "" ">>> C.D.meth.__qualname__\n" "'C.D.meth'" msgstr "" +">>> class C:\n" +"... class D:\n" +"... def meth(self):\n" +"... pass\n" +"...\n" +">>> C.D.__name__\n" +"'D'\n" +">>> C.D.__qualname__\n" +"'C.D'\n" +">>> C.D.meth.__name__\n" +"'meth'\n" +">>> C.D.meth.__qualname__\n" +"'C.D.meth'" #: ../Doc/whatsnew/3.3.rst:587 msgid "Example with nested functions::" @@ -1114,6 +1227,15 @@ msgid "" ">>> outer().__qualname__\n" "'outer..inner'" msgstr "" +">>> def outer():\n" +"... def inner():\n" +"... pass\n" +"... return inner\n" +"...\n" +">>> outer().__name__\n" +"'inner'\n" +">>> outer().__qualname__\n" +"'outer..inner'" #: ../Doc/whatsnew/3.3.rst:599 msgid "" @@ -1130,6 +1252,10 @@ msgid "" ">>> str(C.D.meth)\n" "''" msgstr "" +">>> str(C.D)\n" +"\"\"\n" +">>> str(C.D.meth)\n" +"''" #: ../Doc/whatsnew/3.3.rst:609 msgid ":pep:`3155` - Qualified name for classes and functions" @@ -1147,12 +1273,12 @@ msgstr "PEP 412: Diccionario de intercambio de claves" msgid "" "Dictionaries used for the storage of objects' attributes are now able to " "share part of their internal storage between each other (namely, the part " -"which stores the keys and their respective hashes). This reduces the memory " -"consumption of programs creating many instances of non-builtin types." +"which stores the keys and their respective hashes). This reduces the memory" +" consumption of programs creating many instances of non-builtin types." msgstr "" "Los diccionarios usados para almacenar atributos de objetos, ahora pueden " -"compartir parte de su almacenamiento interno entre sí (a saber, la parte que " -"almacena las claves y sus respectivos hashes). Esto reduce el consumo de " +"compartir parte de su almacenamiento interno entre sí (a saber, la parte que" +" almacena las claves y sus respectivos hashes). Esto reduce el consumo de " "memoria de programas creando varias instancias de tipos no integrados." #: ../Doc/whatsnew/3.3.rst:625 @@ -1171,22 +1297,23 @@ msgstr "PEP 362: Objeto de firma de función" msgid "" "A new function :func:`inspect.signature` makes introspection of python " "callables easy and straightforward. A broad range of callables is " -"supported: python functions, decorated or not, classes, and :func:`functools." -"partial` objects. New classes :class:`inspect.Signature`, :class:`inspect." -"Parameter` and :class:`inspect.BoundArguments` hold information about the " -"call signatures, such as, annotations, default values, parameters kinds, and " -"bound arguments, which considerably simplifies writing decorators and any " -"code that validates or amends calling signatures or arguments." -msgstr "" -"Una nueva función :func:`inspect.signature` hace que la introspección de las " -"llamadas de Python sea fácil y directa. Se admite una amplia gama de " -"invocables: funciones python, decoradas o no, clases y objetos :func:" -"`functools.partial`. Las Nuevas clases :class:`inspect.Signature`, :class:" -"`inspect.Parameter` y :class:`inspect.BoundArguments` contienen información " -"sobre las firmas de llamadas, tales como anotaciones, valores por defecto, " -"tipos de parámetros, y los argumentos vinculados, lo cual simplifica " -"considerablemente la escritura de decoradores y de cualquier código que " -"valide o modifique las firmas de llamadas o argumentos." +"supported: python functions, decorated or not, classes, and " +":func:`functools.partial` objects. New classes :class:`inspect.Signature`, " +":class:`inspect.Parameter` and :class:`inspect.BoundArguments` hold " +"information about the call signatures, such as, annotations, default values," +" parameters kinds, and bound arguments, which considerably simplifies " +"writing decorators and any code that validates or amends calling signatures " +"or arguments." +msgstr "" +"Una nueva función :func:`inspect.signature` hace que la introspección de las" +" llamadas de Python sea fácil y directa. Se admite una amplia gama de " +"invocables: funciones python, decoradas o no, clases y objetos " +":func:`functools.partial`. Las Nuevas clases :class:`inspect.Signature`, " +":class:`inspect.Parameter` y :class:`inspect.BoundArguments` contienen " +"información sobre las firmas de llamadas, tales como anotaciones, valores " +"por defecto, tipos de parámetros, y los argumentos vinculados, lo cual " +"simplifica considerablemente la escritura de decoradores y de cualquier " +"código que valide o modifique las firmas de llamadas o argumentos." #: ../Doc/whatsnew/3.3.rst:644 msgid ":pep:`362`: - Function Signature Object" @@ -1213,23 +1340,23 @@ msgid "" msgstr "" "Un nuevo atributo en el módulo :mod:`sys` expone detalles específicos de la " "implementación del intérprete que se ésta ejecutando en el momento actual. " -"El conjunto inicial de atributos en :data:`sys.implementation` son ``name``, " -"``version``, ``hexversion``, y ``cache_tag``." +"El conjunto inicial de atributos en :data:`sys.implementation` son ``name``," +" ``version``, ``hexversion``, y ``cache_tag``." #: ../Doc/whatsnew/3.3.rst:656 msgid "" -"The intention of ``sys.implementation`` is to consolidate into one namespace " -"the implementation-specific data used by the standard library. This allows " -"different Python implementations to share a single standard library code " +"The intention of ``sys.implementation`` is to consolidate into one namespace" +" the implementation-specific data used by the standard library. This allows" +" different Python implementations to share a single standard library code " "base much more easily. In its initial state, ``sys.implementation`` holds " "only a small portion of the implementation-specific data. Over time that " "ratio will shift in order to make the standard library more portable." msgstr "" -"La intención de ``sys.implementation`` es consolidar dentro de un espacio de " -"nombres, la implementación específica de datos usado por la biblioteca " +"La intención de ``sys.implementation`` es consolidar dentro de un espacio de" +" nombres, la implementación específica de datos usado por la biblioteca " "estándar. Esto permite que diferentes implementaciones de python puedan " -"compartir código de la biblioteca estándar de manera más fácil. En su estado " -"inicial, ``sys.implementation`` contiene solo una pequeña porción de los " +"compartir código de la biblioteca estándar de manera más fácil. En su estado" +" inicial, ``sys.implementation`` contiene solo una pequeña porción de los " "datos específicos de la implementación. Con el tiempo esta proporción " "cambiará para hacer que la biblioteca estándar sea más portable.." @@ -1241,9 +1368,9 @@ msgid "" "``importlib`` for its built-in import system may use ``cache_tag`` to " "control the caching behavior for modules." msgstr "" -"Un ejemplo de mejor portabilidad de la biblioteca estándar es ``cache_tag``. " -"A partir de Python 3.3, ``sys.implementation.cache_tag`` es utilizado por :" -"mod:`importlib` para admitir el cumplimiento :pep:`3147`. Cualquier " +"Un ejemplo de mejor portabilidad de la biblioteca estándar es ``cache_tag``." +" A partir de Python 3.3, ``sys.implementation.cache_tag`` es utilizado por " +":mod:`importlib` para admitir el cumplimiento :pep:`3147`. Cualquier " "implementación de Python que utilice ``importlib`` para su sistema de " "importación integrado puede usar ``cache_tag`` para controlar el " "comportamiento de almacenamiento en caché de los módulos." @@ -1256,10 +1383,10 @@ msgstr "SimpleNamespace" msgid "" "The implementation of ``sys.implementation`` also introduces a new type to " "Python: :class:`types.SimpleNamespace`. In contrast to a mapping-based " -"namespace, like :class:`dict`, ``SimpleNamespace`` is attribute-based, like :" -"class:`object`. However, unlike ``object``, ``SimpleNamespace`` instances " -"are writable. This means that you can add, remove, and modify the namespace " -"through normal attribute access." +"namespace, like :class:`dict`, ``SimpleNamespace`` is attribute-based, like " +":class:`object`. However, unlike ``object``, ``SimpleNamespace`` instances " +"are writable. This means that you can add, remove, and modify the namespace" +" through normal attribute access." msgstr "" "La implementación de ``sys.implementation`` también trae un nuevo tipo a " "Python: La clase :class:`types.SimpleNamespace`. En comparación con un " @@ -1289,30 +1416,30 @@ msgid "" "and __package__" msgstr "" ":issue:`2377`- Replace__import__w/ importlib.__import__ :issue:`13959` - Re-" -"implementar partes de :mod:`!imp` en Python puro :issue:`14605` - Hacer que " -"la maquinaria de importación sea explícita :issue:`14646` - Requerir que los " -"cargadores establezcan __loader__ y __package__" +"implementar partes de :mod:`!imp` en Python puro :issue:`14605` - Hacer que" +" la maquinaria de importación sea explícita :issue:`14646` - Requerir que " +"los cargadores establezcan __loader__ y __package__" #: ../Doc/whatsnew/3.3.rst:694 msgid "" -"The :func:`__import__` function is now powered by :func:`importlib." -"__import__`. This work leads to the completion of \"phase 2\" of :pep:`302`. " -"There are multiple benefits to this change. First, it has allowed for more " -"of the machinery powering import to be exposed instead of being implicit and " -"hidden within the C code. It also provides a single implementation for all " -"Python VMs supporting Python 3.3 to use, helping to end any VM-specific " -"deviations in import semantics. And finally it eases the maintenance of " -"import, allowing for future growth to occur." -msgstr "" -"La función :func:`__import__` ahora es potenciada por la función :func:" -"`importlib.__import__`. Este trabajo conduce a completar la \"fase 2\" de :" -"pep:`302`. Hay múltiples beneficios en éste cambio. En primer lugar, ha " -"permitido que la mayoría de la maquinaria que potencia las importaciones sea " -"expuesta, en vez de estar implícitas y ocultas en el código de C. También " -"proporciona una única implementación para todas las máquinas virtuales de " -"python que admitan el uso de Python 3.3 lo que ayuda a terminar con " -"cualquier desviación específica de VM en la semántica de importación. Y " -"finalmente facilita el mantenimiento de la importación, permitiendo que " +"The :func:`__import__` function is now powered by " +":func:`importlib.__import__`. This work leads to the completion of \"phase " +"2\" of :pep:`302`. There are multiple benefits to this change. First, it has" +" allowed for more of the machinery powering import to be exposed instead of " +"being implicit and hidden within the C code. It also provides a single " +"implementation for all Python VMs supporting Python 3.3 to use, helping to " +"end any VM-specific deviations in import semantics. And finally it eases the" +" maintenance of import, allowing for future growth to occur." +msgstr "" +"La función :func:`__import__` ahora es potenciada por la función " +":func:`importlib.__import__`. Este trabajo conduce a completar la \"fase 2\"" +" de :pep:`302`. Hay múltiples beneficios en éste cambio. En primer lugar, ha" +" permitido que la mayoría de la maquinaria que potencia las importaciones " +"sea expuesta, en vez de estar implícitas y ocultas en el código de C. " +"También proporciona una única implementación para todas las máquinas " +"virtuales de python que admitan el uso de Python 3.3 lo que ayuda a terminar" +" con cualquier desviación específica de VM en la semántica de importación. Y" +" finalmente facilita el mantenimiento de la importación, permitiendo que " "ocurra un crecimiento futuro." #: ../Doc/whatsnew/3.3.rst:703 @@ -1324,8 +1451,8 @@ msgid "" msgstr "" "Para el usuario común, no debería haber cambios visibles en la semántica. " "Para aquellos cuyo código realmente manipula la importación o las llamadas " -"de importación de forma programática, los cambios de código que posiblemente " -"sean necesarios, se tratan en la sección `Porting Python code`_ de éste " +"de importación de forma programática, los cambios de código que posiblemente" +" sean necesarios, se tratan en la sección `Porting Python code`_ de éste " "documento." #: ../Doc/whatsnew/3.3.rst:709 @@ -1335,8 +1462,9 @@ msgstr "Nuevas APIs" #: ../Doc/whatsnew/3.3.rst:710 msgid "" "One of the large benefits of this work is the exposure of what goes into " -"making the import statement work. That means the various importers that were " -"once implicit are now fully exposed as part of the :mod:`importlib` package." +"making the import statement work. That means the various importers that were" +" once implicit are now fully exposed as part of the :mod:`importlib` " +"package." msgstr "" "Uno de los grandes beneficios de éste trabajo es la exposición de lo que " "implica hacer que funcione la sentencia de importación. Esto significa que " @@ -1345,20 +1473,20 @@ msgstr "" #: ../Doc/whatsnew/3.3.rst:714 msgid "" -"The abstract base classes defined in :mod:`importlib.abc` have been expanded " -"to properly delineate between :term:`meta path finders ` " -"and :term:`path entry finders ` by introducing :class:" -"`importlib.abc.MetaPathFinder` and :class:`importlib.abc.PathEntryFinder`, " -"respectively. The old ABC of :class:`!importlib.abc.Finder` is now only " -"provided for backwards-compatibility and does not enforce any method " -"requirements." +"The abstract base classes defined in :mod:`importlib.abc` have been expanded" +" to properly delineate between :term:`meta path finders ` " +"and :term:`path entry finders ` by introducing " +":class:`importlib.abc.MetaPathFinder` and " +":class:`importlib.abc.PathEntryFinder`, respectively. The old ABC of " +":class:`!importlib.abc.Finder` is now only provided for backwards-" +"compatibility and does not enforce any method requirements." msgstr "" "Las clases base abstractas definidas en :mod:`importlib.abc` se han " -"expandido para delimitar adecuadamente entre :term:`buscadores de rutas meta " -"` y :term:`buscadores de entrada de rutas ` al introducir la clase :class:`importlib.abc.MetaPathFinder` y :" -"class:`importlib.abc.PathEntryFinder` respectivamente. El antiguo ABC de la " -"clase :class:`!importlib.abc.Finder` ahora solo se proporciona para " +"expandido para delimitar adecuadamente entre :term:`buscadores de rutas meta" +" ` y :term:`buscadores de entrada de rutas ` al introducir la clase :class:`importlib.abc.MetaPathFinder` y " +":class:`importlib.abc.PathEntryFinder` respectivamente. El antiguo ABC de la" +" clase :class:`!importlib.abc.Finder` ahora solo se proporciona para " "compatibilidad con versiones anteriores y no exige ningún requisito de " "método." @@ -1368,39 +1496,41 @@ msgid "" "mechanism used to search for source and bytecode files of a module. " "Previously this class was an implicit member of :data:`sys.path_hooks`." msgstr "" -"En términos de buscadores, :class:`importlib.machinery.FileFinder` expone el " -"mecanismo utilizado para buscar archivos fuente y de código de *bytes* de un " -"módulo. Anteriormente, ésta clase era un miembro implícito de :data:`sys." -"path_hooks`." +"En términos de buscadores, :class:`importlib.machinery.FileFinder` expone el" +" mecanismo utilizado para buscar archivos fuente y de código de *bytes* de " +"un módulo. Anteriormente, ésta clase era un miembro implícito de " +":data:`sys.path_hooks`." #: ../Doc/whatsnew/3.3.rst:726 msgid "" "For loaders, the new abstract base class :class:`importlib.abc.FileLoader` " "helps write a loader that uses the file system as the storage mechanism for " -"a module's code. The loader for source files (:class:`importlib.machinery." -"SourceFileLoader`), sourceless bytecode files (:class:`importlib.machinery." -"SourcelessFileLoader`), and extension modules (:class:`importlib.machinery." -"ExtensionFileLoader`) are now available for direct use." -msgstr "" -"Para los cargadores, la nueva clase base abstracta :class:`importlib.abc." -"FileLoader` ayuda a escribir un cargador que usa el sistema de archivos como " -"mecanismo de almacenamiento para el código de un módulo. El cargador de " -"archivos fuente (:class:`importlib.machinery.SourceFileLoader`), archivos de " -"código byte sin fuente (:class:`importlib.machinery.SourcelessFileLoader`) y " -"módulos de extensión (:class:`importlib.machinery.ExtensionFileLoader`) " -"ahora están disponibles para su uso directo." +"a module's code. The loader for source files " +"(:class:`importlib.machinery.SourceFileLoader`), sourceless bytecode files " +"(:class:`importlib.machinery.SourcelessFileLoader`), and extension modules " +"(:class:`importlib.machinery.ExtensionFileLoader`) are now available for " +"direct use." +msgstr "" +"Para los cargadores, la nueva clase base abstracta " +":class:`importlib.abc.FileLoader` ayuda a escribir un cargador que usa el " +"sistema de archivos como mecanismo de almacenamiento para el código de un " +"módulo. El cargador de archivos fuente " +"(:class:`importlib.machinery.SourceFileLoader`), archivos de código byte sin" +" fuente (:class:`importlib.machinery.SourcelessFileLoader`) y módulos de " +"extensión (:class:`importlib.machinery.ExtensionFileLoader`) ahora están " +"disponibles para su uso directo." #: ../Doc/whatsnew/3.3.rst:734 msgid "" ":exc:`ImportError` now has ``name`` and ``path`` attributes which are set " "when there is relevant data to provide. The message for failed imports will " -"also provide the full name of the module now instead of just the tail end of " -"the module's name." +"also provide the full name of the module now instead of just the tail end of" +" the module's name." msgstr "" ":exc:`ImportError` ahora tiene los atributos ``name`` y ``path`` que se " "establecen cuando hay datos relevantes para proporcionar. También, el " -"mensaje de importaciones fallidas ahora proporcionará el nombre completo del " -"módulo en lugar de solo el final del nombre del mismo." +"mensaje de importaciones fallidas ahora proporcionará el nombre completo del" +" módulo en lugar de solo el final del nombre del mismo." #: ../Doc/whatsnew/3.3.rst:739 msgid "" @@ -1409,9 +1539,9 @@ msgid "" "to help clean up any stored state as necessary." msgstr "" "La función :func:`importlib.invalidate_caches` ahora llamará al método con " -"el mismo nombre en todos los buscadores almacenados en :data:`sys." -"path_importer_cache` para ayudar a limpiar cualquier estado almacenado según " -"sea necesario." +"el mismo nombre en todos los buscadores almacenados en " +":data:`sys.path_importer_cache` para ayudar a limpiar cualquier estado " +"almacenado según sea necesario." #: ../Doc/whatsnew/3.3.rst:744 msgid "Visible Changes" @@ -1428,17 +1558,17 @@ msgstr "" #: ../Doc/whatsnew/3.3.rst:749 msgid "" "Beyond the expanse of what :mod:`importlib` now exposes, there are other " -"visible changes to import. The biggest is that :data:`sys.meta_path` and :" -"data:`sys.path_hooks` now store all of the meta path finders and path entry " -"hooks used by import. Previously the finders were implicit and hidden " +"visible changes to import. The biggest is that :data:`sys.meta_path` and " +":data:`sys.path_hooks` now store all of the meta path finders and path entry" +" hooks used by import. Previously the finders were implicit and hidden " "within the C code of import instead of being directly exposed. This means " -"that one can now easily remove or change the order of the various finders to " -"fit one's needs." +"that one can now easily remove or change the order of the various finders to" +" fit one's needs." msgstr "" "Más allá de la extensión de lo que ahora expone :mod:`importlib`, hay otros " -"cambios visibles para importar. El más grande es que :data:`sys.meta_path` " -"y :data:`sys.path_hooks` ahora almacenan todos los buscadores de rutas meta " -"y los ganchos de entrada de rutas usados por la importación. Anteriormente, " +"cambios visibles para importar. El más grande es que :data:`sys.meta_path` y" +" :data:`sys.path_hooks` ahora almacenan todos los buscadores de rutas meta y" +" los ganchos de entrada de rutas usados por la importación. Anteriormente, " "los buscadores estaban implícitos y ocultos dentro del código C de " "importación en lugar de estar expuestos directamente. Esto significa que " "ahora uno puede eliminar o cambiar fácilmente el orden de los diversos " @@ -1448,43 +1578,43 @@ msgstr "" msgid "" "Another change is that all modules have a ``__loader__`` attribute, storing " "the loader used to create the module. :pep:`302` has been updated to make " -"this attribute mandatory for loaders to implement, so in the future once 3rd-" -"party loaders have been updated people will be able to rely on the existence " -"of the attribute. Until such time, though, import is setting the module post-" -"load." +"this attribute mandatory for loaders to implement, so in the future once " +"3rd-party loaders have been updated people will be able to rely on the " +"existence of the attribute. Until such time, though, import is setting the " +"module post-load." msgstr "" "Otro cambio es que todos los módulos tienen un atributo ``__loader__`` que " "almacena el cargador usado para crear el módulo. La :pep:`302` se ha " "actualizado para hacer que este atributo sea obligatorio para implementar " "los cargadores, de manera que en el futuro, una vez que los cargadores de " "terceros hayan sido actualizados, las personas puedan confiar en la " -"existencia de éste atributo. Sin embargo, hasta entonces la importación está " -"configurando la post carga del módulo." +"existencia de éste atributo. Sin embargo, hasta entonces la importación está" +" configurando la post carga del módulo." #: ../Doc/whatsnew/3.3.rst:762 msgid "" -"Loaders are also now expected to set the ``__package__`` attribute from :pep:" -"`366`. Once again, import itself is already setting this on all loaders " -"from :mod:`importlib` and import itself is setting the attribute post-load." +"Loaders are also now expected to set the ``__package__`` attribute from " +":pep:`366`. Once again, import itself is already setting this on all loaders" +" from :mod:`importlib` and import itself is setting the attribute post-load." msgstr "" "También se espera que ahora los cargadores establezcan el atributo " "``__package__`` de :pep:`366`. Una vez más, la importación por sí misma ya " -"está configurando ésto en todos los cargadores del módulo :mod:`importlib` y " -"la importación misma está configurando la post carga del atributo." +"está configurando ésto en todos los cargadores del módulo :mod:`importlib` y" +" la importación misma está configurando la post carga del atributo." #: ../Doc/whatsnew/3.3.rst:766 msgid "" -"``None`` is now inserted into :data:`sys.path_importer_cache` when no finder " -"can be found on :data:`sys.path_hooks`. Since :class:`!imp.NullImporter` is " -"not directly exposed on :data:`sys.path_hooks` it could no longer be relied " -"upon to always be available to use as a value representing no finder found." +"``None`` is now inserted into :data:`sys.path_importer_cache` when no finder" +" can be found on :data:`sys.path_hooks`. Since :class:`!imp.NullImporter` is" +" not directly exposed on :data:`sys.path_hooks` it could no longer be relied" +" upon to always be available to use as a value representing no finder found." msgstr "" -"Ahora se incluye el atributo ``None`` dentro de :data:`sys." -"path_importer_cache` cuando no se encuentre ningún buscador en :data:`sys." -"path_hooks`. Dado que :class:`!imp.NullImporter` no está directamente " -"expuesto en :data:`sys.path_hooks`, podría no haber una certeza de que esté " -"disponible para su uso como un valor que represente que no se ha encontrado " -"ningún buscador." +"Ahora se incluye el atributo ``None`` dentro de " +":data:`sys.path_importer_cache` cuando no se encuentre ningún buscador en " +":data:`sys.path_hooks`. Dado que :class:`!imp.NullImporter` no está " +"directamente expuesto en :data:`sys.path_hooks`, podría no haber una certeza" +" de que esté disponible para su uso como un valor que represente que no se " +"ha encontrado ningún buscador." #: ../Doc/whatsnew/3.3.rst:771 msgid "" @@ -1492,9 +1622,9 @@ msgid "" "consideration when updating code for Python 3.3, and thus should be read " "about in the `Porting Python code`_ section of this document." msgstr "" -"Todos los demás cambios se relacionan con los cambios de semántica que deben " -"tomarse en cuenta al actualizar el código a python 3.3, por lo tanto, deben " -"leerse en la sección `Portar código Python`_ de este documento." +"Todos los demás cambios se relacionan con los cambios de semántica que deben" +" tomarse en cuenta al actualizar el código a python 3.3, por lo tanto, deben" +" leerse en la sección `Portar código Python`_ de este documento." #: ../Doc/whatsnew/3.3.rst:775 msgid "(Implementation by Brett Cannon)" @@ -1510,16 +1640,15 @@ msgstr "" "Algunos cambios más pequeños realizados en el lenguaje Python principal son:" #: ../Doc/whatsnew/3.3.rst:783 -#, fuzzy msgid "" -"Added support for Unicode name aliases and named sequences. Both :func:" -"`unicodedata.lookup` and ``'\\N{...}'`` now resolve name aliases, and :func:" -"`unicodedata.lookup` resolves named sequences too." +"Added support for Unicode name aliases and named sequences. Both " +":func:`unicodedata.lookup` and ``'\\N{...}'`` now resolve name aliases, and " +":func:`unicodedata.lookup` resolves named sequences too." msgstr "" -"Se ha añadido compatibilidad con alias de nombres *Unicode* y secuencias con " -"nombre. Tanto :func:`unicodedata.lookup()` como ``'N{...}'`` ahora resuelven " -"los alias de nombre, y :func:`unicodedata.lookup()` también resuelve las " -"secuencias con nombre." +"Se agregó compatibilidad con alias de nombres Unicode y secuencias con " +"nombre. Tanto :func:`unicodedata.lookup` como ``'\\N{...}'`` ahora resuelven" +" alias de nombres, y :func:`unicodedata.lookup` también resuelve secuencias " +"con nombre." #: ../Doc/whatsnew/3.3.rst:787 msgid "(Contributed by Ezio Melotti in :issue:`12753`.)" @@ -1531,12 +1660,12 @@ msgstr "Base de datos *Unicode* actualizada a la versión 6.1.0 de UCD" #: ../Doc/whatsnew/3.3.rst:791 msgid "" -"Equality comparisons on :func:`range` objects now return a result reflecting " -"the equality of the underlying sequences generated by those range objects. (:" -"issue:`13201`)" +"Equality comparisons on :func:`range` objects now return a result reflecting" +" the equality of the underlying sequences generated by those range objects. " +"(:issue:`13201`)" msgstr "" -"Las comparaciones de igualdad en los objetos :func:`range` ahora retornan un " -"resultado que refleja la igualdad de las secuencias subyacentes generadas " +"Las comparaciones de igualdad en los objetos :func:`range` ahora retornan un" +" resultado que refleja la igualdad de las secuencias subyacentes generadas " "por esos objetos de rango. (:issue:`13201`)" #: ../Doc/whatsnew/3.3.rst:795 @@ -1545,8 +1674,8 @@ msgid "" "methods of :class:`bytes` and :class:`bytearray` objects now accept an " "integer between 0 and 255 as their first argument." msgstr "" -"Los métodos ``count()``, ``find()``, ``rfind()``, ``index()`` y ``rindex()`` " -"de los objetos :class:`bytes` y :class:`bytearray` ahora aceptan un entero " +"Los métodos ``count()``, ``find()``, ``rfind()``, ``index()`` y ``rindex()``" +" de los objetos :class:`bytes` y :class:`bytearray` ahora aceptan un entero " "entre 0 y 255 como su primer argumento." #: ../Doc/whatsnew/3.3.rst:799 @@ -1555,29 +1684,28 @@ msgstr "(Contribución por Petri Lehtinen en :issue:`12170`.)" #: ../Doc/whatsnew/3.3.rst:801 msgid "" -"The ``rjust()``, ``ljust()``, and ``center()`` methods of :class:`bytes` " -"and :class:`bytearray` now accept a :class:`bytearray` for the ``fill`` " +"The ``rjust()``, ``ljust()``, and ``center()`` methods of :class:`bytes` and" +" :class:`bytearray` now accept a :class:`bytearray` for the ``fill`` " "argument. (Contributed by Petri Lehtinen in :issue:`12380`.)" msgstr "" -"Los métodos ``rjust()``, ``ljust()``, y ``center()`` de :class:`bytes` y :" -"class:`bytearray` ahora aceptan un :class:`bytearray` para el argumento " +"Los métodos ``rjust()``, ``ljust()``, y ``center()`` de :class:`bytes` y " +":class:`bytearray` ahora aceptan un :class:`bytearray` para el argumento " "``fill``. (Contribución de Petri Lehtinen en :issue:`12380`.)" #: ../Doc/whatsnew/3.3.rst:805 msgid "" "New methods have been added to :class:`list` and :class:`bytearray`: " -"``copy()`` and ``clear()`` (:issue:`10516`). Consequently, :class:" -"`~collections.abc.MutableSequence` now also defines a :meth:`~collections." -"abc.MutableSequence.clear` method (:issue:`11388`)." +"``copy()`` and ``clear()`` (:issue:`10516`). Consequently, " +":class:`~collections.abc.MutableSequence` now also defines a " +":meth:`~collections.abc.MutableSequence.clear` method (:issue:`11388`)." msgstr "" "Se han agregado nuevos métodos a :class:`list` y :class:`bytearray`: " -"``copy()`` y ``clear()`` (:issue:`10516`). En consecuencia, :class:" -"`~collections.abc.MutableSequence` ahora también definen un método :meth:" -"`~collections.abc.MutableSequence.clear` (:issue:`11388`)." +"``copy()`` y ``clear()`` (:issue:`10516`). En consecuencia, " +":class:`~collections.abc.MutableSequence` ahora también definen un método " +":meth:`~collections.abc.MutableSequence.clear` (:issue:`11388`)." #: ../Doc/whatsnew/3.3.rst:810 -msgid "" -"Raw bytes literals can now be written ``rb\"...\"`` as well as ``br\"...\"``." +msgid "Raw bytes literals can now be written ``rb\"...\"`` as well as ``br\"...\"``." msgstr "" "Los literales de *bytes* sin formato ahora se pueden escribir ``rb\"...\"`` " "así como ``br\"...\"``." @@ -1600,8 +1728,8 @@ msgstr "(Contribución de Filip Gruszczyński en :issue:`13521`.)" #: ../Doc/whatsnew/3.3.rst:819 msgid "" -"The error messages produced when a function call does not match the function " -"signature have been significantly improved." +"The error messages produced when a function call does not match the function" +" signature have been significantly improved." msgstr "" "Los mensajes de error producidos cuando la llamada de una función no " "coincide con la firma han sido mejorados significativamente." @@ -1617,16 +1745,16 @@ msgstr "Un bloqueo de importación más detallado" #: ../Doc/whatsnew/3.3.rst:828 msgid "" "Previous versions of CPython have always relied on a global import lock. " -"This led to unexpected annoyances, such as deadlocks when importing a module " -"would trigger code execution in a different thread as a side-effect. Clumsy " -"workarounds were sometimes employed, such as the :c:func:" -"`PyImport_ImportModuleNoBlock` C API function." +"This led to unexpected annoyances, such as deadlocks when importing a module" +" would trigger code execution in a different thread as a side-effect. Clumsy" +" workarounds were sometimes employed, such as the " +":c:func:`PyImport_ImportModuleNoBlock` C API function." msgstr "" "Las versiones anteriores de CPython siempre se han basado en un bloqueo de " -"importación global. Ésto conduce a problemas inesperados tales como bloqueos " -"cuando la importación un módulo debería disparar la ejecución de código en " -"un hilo diferente como un efecto secundario. A veces se empleaban soluciones " -"torpes, como la función de API C :c:func:`PyImport_ImportModuleNoBlock` ." +"importación global. Ésto conduce a problemas inesperados tales como bloqueos" +" cuando la importación un módulo debería disparar la ejecución de código en " +"un hilo diferente como un efecto secundario. A veces se empleaban soluciones" +" torpes, como la función de API C :c:func:`PyImport_ImportModuleNoBlock` ." #: ../Doc/whatsnew/3.3.rst:834 msgid "" @@ -1635,9 +1763,9 @@ msgid "" "the exposure of incompletely initialized modules), while eliminating the " "aforementioned annoyances." msgstr "" -"En Python 3.3, la importación de un módulo toma un bloqueo por módulo. Esto " -"serializa correctamente la importación de un módulo determinado a partir de " -"múltiples subprocesos (impidiendo la exposición de módulos inicializados " +"En Python 3.3, la importación de un módulo toma un bloqueo por módulo. Esto" +" serializa correctamente la importación de un módulo determinado a partir de" +" múltiples subprocesos (impidiendo la exposición de módulos inicializados " "incompletamente), mientras elimina las molestias antes mencionadas." #: ../Doc/whatsnew/3.3.rst:839 @@ -1653,8 +1781,8 @@ msgid "" ":func:`open` gets a new *opener* parameter: the underlying file descriptor " "for the file object is then obtained by calling *opener* with (*file*, " "*flags*). It can be used to use custom flags like :const:`os.O_CLOEXEC` for " -"example. The ``'x'`` mode was added: open for exclusive creation, failing if " -"the file already exists." +"example. The ``'x'`` mode was added: open for exclusive creation, failing if" +" the file already exists." msgstr "" ":func:`open` obtiene un nuevo parámetro *opener*: el descriptor de archivo " "subyacente para el objeto de archivo se obtiene llamando a *opener* con " @@ -1667,16 +1795,17 @@ msgid "" ":func:`print`: added the *flush* keyword argument. If the *flush* keyword " "argument is true, the stream is forcibly flushed." msgstr "" -":func:`print`: agregó el argumento de palabra clave *flush*. Si el argumento " -"de palabra clave *flush* es verdadero, la secuencia se vacía por la fuerza." +":func:`print`: agregó el argumento de palabra clave *flush*. Si el argumento" +" de palabra clave *flush* es verdadero, la secuencia se vacía por la fuerza." #: ../Doc/whatsnew/3.3.rst:852 msgid "" -":func:`hash`: hash randomization is enabled by default, see :meth:`object." -"__hash__` and :envvar:`PYTHONHASHSEED`." +":func:`hash`: hash randomization is enabled by default, see " +":meth:`object.__hash__` and :envvar:`PYTHONHASHSEED`." msgstr "" ":func:`hash`: la aleatorización de hash está habilitada de forma " -"predeterminada, consulte :meth:`object.__hash__` y :envvar:`PYTHONHASHSEED`." +"predeterminada, consulte :meth:`object.__hash__` y " +":envvar:`PYTHONHASHSEED`." #: ../Doc/whatsnew/3.3.rst:854 msgid "" @@ -1693,12 +1822,12 @@ msgstr "" msgid "" "The sequence documentation has been substantially rewritten to better " "explain the binary/text sequence distinction and to provide specific " -"documentation sections for the individual builtin sequence types (:issue:" -"`4966`)." +"documentation sections for the individual builtin sequence types " +"(:issue:`4966`)." msgstr "" "La documentación de secuencia se ha reescrito sustancialmente para explicar " -"mejor la distinción de secuencia binaria/texto y para proporcionar secciones " -"de documentación específicas para los tipos de secuencia individuales " +"mejor la distinción de secuencia binaria/texto y para proporcionar secciones" +" de documentación específicas para los tipos de secuencia individuales " "integrados(:issue:`4966`)." #: ../Doc/whatsnew/3.3.rst:864 @@ -1712,10 +1841,10 @@ msgstr "faulthandler" #: ../Doc/whatsnew/3.3.rst:869 msgid "" "This new debug module :mod:`faulthandler` contains functions to dump Python " -"tracebacks explicitly, on a fault (a crash like a segmentation fault), after " -"a timeout, or on a user signal. Call :func:`faulthandler.enable` to install " -"fault handlers for the :const:`SIGSEGV`, :const:`SIGFPE`, :const:`SIGABRT`, :" -"const:`SIGBUS`, and :const:`SIGILL` signals. You can also enable them at " +"tracebacks explicitly, on a fault (a crash like a segmentation fault), after" +" a timeout, or on a user signal. Call :func:`faulthandler.enable` to install" +" fault handlers for the :const:`SIGSEGV`, :const:`SIGFPE`, :const:`SIGABRT`," +" :const:`SIGBUS`, and :const:`SIGILL` signals. You can also enable them at " "startup by setting the :envvar:`PYTHONFAULTHANDLER` environment variable or " "by using :option:`-X` ``faulthandler`` command line option." msgstr "" @@ -1723,10 +1852,10 @@ msgstr "" "volcar los rastreos de Python explícitamente, en una falla (como una falla " "de segmentación), después de un tiempo de espera o en una señal de usuario. " "Llame a :func:`faulthandler.enable` para instalar controladores de fallas " -"para las señales :const:`SIGSEGV`, :const:`SIGFPE`, :const:`SIGABRT`, :const:" -"`SIGBUS`, y :const:`SIGILL` . También puede habilitarlos al inicio " -"configurando la variable de entorno :envvar:`PYTHONFAULTHANDLER` o usando la " -"opción de línea de comandos :option:`-X` ``faulthandler`` ." +"para las señales :const:`SIGSEGV`, :const:`SIGFPE`, :const:`SIGABRT`, " +":const:`SIGBUS`, y :const:`SIGILL` . También puede habilitarlos al inicio " +"configurando la variable de entorno :envvar:`PYTHONFAULTHANDLER` o usando la" +" opción de línea de comandos :option:`-X` ``faulthandler`` ." #: ../Doc/whatsnew/3.3.rst:877 msgid "Example of a segmentation fault on Linux:" @@ -1740,11 +1869,19 @@ msgid "" "Fatal Python error: Segmentation fault\n" "\n" "Current thread 0x00007fb899f39700:\n" -" File \"/home/python/cpython/Lib/ctypes/__init__.py\", line 486 in " -"string_at\n" +" File \"/home/python/cpython/Lib/ctypes/__init__.py\", line 486 in string_at\n" " File \"\", line 1 in \n" "Segmentation fault" msgstr "" +"$ python -q -X faulthandler\n" +">>> import ctypes\n" +">>> ctypes.string_at(0)\n" +"Fatal Python error: Segmentation fault\n" +"\n" +"Current thread 0x00007fb899f39700:\n" +" File \"/home/python/cpython/Lib/ctypes/__init__.py\", line 486 in string_at\n" +" File \"\", line 1 in \n" +"Segmentation fault" #: ../Doc/whatsnew/3.3.rst:893 msgid "ipaddress" @@ -1752,9 +1889,9 @@ msgstr "ipaddress" #: ../Doc/whatsnew/3.3.rst:895 msgid "" -"The new :mod:`ipaddress` module provides tools for creating and manipulating " -"objects representing IPv4 and IPv6 addresses, networks and interfaces (i.e. " -"an IP address associated with a specific IP subnet)." +"The new :mod:`ipaddress` module provides tools for creating and manipulating" +" objects representing IPv4 and IPv6 addresses, networks and interfaces (i.e." +" an IP address associated with a specific IP subnet)." msgstr "" "El nuevo módulo :mod:`ipaddress` proporciona herramientas para crear y " "manipular objetos que representen direcciones, redes e interfaces IPv4 e " @@ -1774,8 +1911,8 @@ msgid "" "decompression using the LZMA algorithm, including support for the ``.xz`` " "and ``.lzma`` file formats." msgstr "" -"El módulo :mod:`lzma` recién agregado proporciona compresión y descompresión " -"de datos utilizando el algoritmo LZMA, incluida la compatibilidad con los " +"El módulo :mod:`lzma` recién agregado proporciona compresión y descompresión" +" de datos utilizando el algoritmo LZMA, incluida la compatibilidad con los " "formatos de archivo ``.xz`` y ``.lzma``." #: ../Doc/whatsnew/3.3.rst:908 @@ -1813,19 +1950,19 @@ msgstr "" #: ../Doc/whatsnew/3.3.rst:924 ../Doc/whatsnew/3.3.rst:2250 msgid "" -":class:`abc.abstractclassmethod` has been deprecated, use :class:" -"`classmethod` with :func:`abc.abstractmethod` instead." +":class:`abc.abstractclassmethod` has been deprecated, use " +":class:`classmethod` with :func:`abc.abstractmethod` instead." msgstr "" "La clase :class:`abc.abstractclassmethod` ha quedado obsoleta. En su lugar " "use el método :class:`classmethod` with :func:`abc.abstractmethod`." #: ../Doc/whatsnew/3.3.rst:926 ../Doc/whatsnew/3.3.rst:2252 msgid "" -":class:`abc.abstractstaticmethod` has been deprecated, use :class:" -"`staticmethod` with :func:`abc.abstractmethod` instead." +":class:`abc.abstractstaticmethod` has been deprecated, use " +":class:`staticmethod` with :func:`abc.abstractmethod` instead." msgstr "" -":class:`abc.abstractstaticmethod` ha quedado obsoleta, use :class:" -"`staticmethod` with :func:`abc.abstractmethod`." +":class:`abc.abstractstaticmethod` ha quedado obsoleta, use " +":class:`staticmethod` with :func:`abc.abstractmethod`." #: ../Doc/whatsnew/3.3.rst:929 msgid "(Contributed by Darren Dale in :issue:`11610`.)" @@ -1853,8 +1990,10 @@ msgstr "" "códigos de tipo ``q`` y ``Q``." #: ../Doc/whatsnew/3.3.rst:941 -msgid "(Contributed by Oren Tirosh and Hirokazu Yamamoto in :issue:`1172711`.)" -msgstr "(Contribución de Oren Tirosh y Hirokazu Yamamoto en :issue:`1172711`.)" +msgid "" +"(Contributed by Oren Tirosh and Hirokazu Yamamoto in :issue:`1172711`.)" +msgstr "" +"(Contribución de Oren Tirosh y Hirokazu Yamamoto en :issue:`1172711`.)" #: ../Doc/whatsnew/3.3.rst:945 msgid "base64" @@ -1862,15 +2001,14 @@ msgstr "base64" #: ../Doc/whatsnew/3.3.rst:947 msgid "" -"ASCII-only Unicode strings are now accepted by the decoding functions of " -"the :mod:`base64` modern interface. For example, ``base64." -"b64decode('YWJj')`` returns ``b'abc'``. (Contributed by Catalin Iacob in :" -"issue:`13641`.)" +"ASCII-only Unicode strings are now accepted by the decoding functions of the" +" :mod:`base64` modern interface. For example, ``base64.b64decode('YWJj')`` " +"returns ``b'abc'``. (Contributed by Catalin Iacob in :issue:`13641`.)" msgstr "" -"Las cadenas *Unicode* de solo ASCII ahora son aceptadas por las funciones de " -"decodificación de la interfaz moderna :mod:`base64`. Por ejemplo, ``base64." -"b64decode ('YWJj')`` retorna ``b'abc'``. (Contribución por Catalin Iacob en: " -"número: `13641`.)" +"Las cadenas *Unicode* de solo ASCII ahora son aceptadas por las funciones de" +" decodificación de la interfaz moderna :mod:`base64`. Por ejemplo, " +"``base64.b64decode ('YWJj')`` retorna ``b'abc'``. (Contribución por Catalin " +"Iacob en: número: `13641`.)" #: ../Doc/whatsnew/3.3.rst:953 msgid "binascii" @@ -1921,9 +2059,9 @@ msgstr "(Contribución de Nadeem Vawda en :issue:`5863`.)" #: ../Doc/whatsnew/3.3.rst:974 msgid "" ":class:`bz2.BZ2File` and :func:`bz2.decompress` can now decompress multi-" -"stream inputs (such as those produced by the :program:`pbzip2` tool). :class:" -"`bz2.BZ2File` can now also be used to create this type of file, using the " -"``'a'`` (append) mode." +"stream inputs (such as those produced by the :program:`pbzip2` tool). " +":class:`bz2.BZ2File` can now also be used to create this type of file, using" +" the ``'a'`` (append) mode." msgstr "" "La clase :class:`bz2.BZ2File` y la función :func:`bz2.decompress` ahora " "descomprimen entradas de flujo múltiple (como las producidas por la " @@ -1940,8 +2078,9 @@ msgid "" ":class:`bz2.BZ2File` now implements all of the :class:`io.BufferedIOBase` " "API, except for the :meth:`detach` and :meth:`truncate` methods." msgstr "" -"La clase :class:`bz2.BZ2File` ahora implementa toda la API :class:`io." -"BufferedIOBase`, excepto los métodos :meth:`detach` y :meth:`truncate`." +"La clase :class:`bz2.BZ2File` ahora implementa toda la API " +":class:`io.BufferedIOBase`, excepto los métodos :meth:`detach` y " +":meth:`truncate`." #: ../Doc/whatsnew/3.3.rst:986 msgid "codecs" @@ -1950,40 +2089,40 @@ msgstr "códecs" #: ../Doc/whatsnew/3.3.rst:988 msgid "" "The :mod:`~encodings.mbcs` codec has been rewritten to handle correctly " -"``replace`` and ``ignore`` error handlers on all Windows versions. The :mod:" -"`~encodings.mbcs` codec now supports all error handlers, instead of only " -"``replace`` to encode and ``ignore`` to decode." +"``replace`` and ``ignore`` error handlers on all Windows versions. The " +":mod:`~encodings.mbcs` codec now supports all error handlers, instead of " +"only ``replace`` to encode and ``ignore`` to decode." msgstr "" -"El códec :mod:`~encodings.mbcs` ha sido reescrito para manejar correctamente " -"los controladores de error ``reemplazar`` e ``ignorar`` en todas las " +"El códec :mod:`~encodings.mbcs` ha sido reescrito para manejar correctamente" +" los controladores de error ``reemplazar`` e ``ignorar`` en todas las " "versiones Windows. El códec :mod:`~encodings.mbcs` ahora admite todos los " "controladores de error, en lugar de solo ``replace`` para codificar e " "``ignore`` para decodificar." #: ../Doc/whatsnew/3.3.rst:993 msgid "" -"A new Windows-only codec has been added: ``cp65001`` (:issue:`13216`). It is " -"the Windows code page 65001 (Windows UTF-8, ``CP_UTF8``). For example, it " +"A new Windows-only codec has been added: ``cp65001`` (:issue:`13216`). It is" +" the Windows code page 65001 (Windows UTF-8, ``CP_UTF8``). For example, it " "is used by ``sys.stdout`` if the console output code page is set to cp65001 " "(e.g., using ``chcp 65001`` command)." msgstr "" -"Ha sido agregado un nuevo códec únicamente para windows: ``cp65001`` (:issue:" -"`13216`). Es la página de códigos de Windows con el código 65001 (Windows " -"UTF-8, ``CP_UTF8``). Por ejemplo, es usado por ``sys.stdout`` si la página " -"de códigos de salida de la consola se establece en cp65001 (por ejemplo, " -"usando el comando ``chcp 65001``)." +"Ha sido agregado un nuevo códec únicamente para windows: ``cp65001`` " +"(:issue:`13216`). Es la página de códigos de Windows con el código 65001 " +"(Windows UTF-8, ``CP_UTF8``). Por ejemplo, es usado por ``sys.stdout`` si " +"la página de códigos de salida de la consola se establece en cp65001 (por " +"ejemplo, usando el comando ``chcp 65001``)." #: ../Doc/whatsnew/3.3.rst:998 msgid "" -"Multibyte CJK decoders now resynchronize faster. They only ignore the first " -"byte of an invalid byte sequence. For example, ``b'\\xff\\n'." -"decode('gb2312', 'replace')`` now returns a ``\\n`` after the replacement " -"character." +"Multibyte CJK decoders now resynchronize faster. They only ignore the first" +" byte of an invalid byte sequence. For example, " +"``b'\\xff\\n'.decode('gb2312', 'replace')`` now returns a ``\\n`` after the " +"replacement character." msgstr "" "Los decodificadores CJK multibyte ahora se re-sincronizan más rápido. Solo " "ignoran el primer byte de una secuencia de *bytes* no válida. Por ejemplo, " -"``b'\\xff\\n'.decode('gb2312', 'replace')`` ahora retorna un ``\\n`` después " -"del carácter de reemplazo." +"``b'\\xff\\n'.decode('gb2312', 'replace')`` ahora retorna un ``\\n`` después" +" del carácter de reemplazo." #: ../Doc/whatsnew/3.3.rst:1002 msgid "(:issue:`12016`)" @@ -2001,10 +2140,13 @@ msgstr "" msgid "" ">>> import codecs\n" ">>> encoder = codecs.getincrementalencoder('hz')('strict')\n" -">>> b''.join(encoder.encode(x) for x in '\\u52ff\\u65bd\\u65bc\\u4eba\\u3002 " -"Bye.')\n" +">>> b''.join(encoder.encode(x) for x in '\\u52ff\\u65bd\\u65bc\\u4eba\\u3002 Bye.')\n" "b'~{NpJ)l6HK!#~} Bye.'" msgstr "" +">>> import codecs\n" +">>> encoder = codecs.getincrementalencoder('hz')('strict')\n" +">>> b''.join(encoder.encode(x) for x in '\\u52ff\\u65bd\\u65bc\\u4eba\\u3002 Bye.')\n" +"b'~{NpJ)l6HK!#~} Bye.'" #: ../Doc/whatsnew/3.3.rst:1012 msgid "" @@ -2029,8 +2171,8 @@ msgstr "colecciones" #: ../Doc/whatsnew/3.3.rst:1023 msgid "" "Addition of a new :class:`~collections.ChainMap` class to allow treating a " -"number of mappings as a single unit. (Written by Raymond Hettinger for :" -"issue:`11089`, made public in :issue:`11297`.)" +"number of mappings as a single unit. (Written by Raymond Hettinger for " +":issue:`11089`, made public in :issue:`11297`.)" msgstr "" "Adición de una nueva :class:`~collections.ChainMap` para permitir el " "tratamiento de un número de asignaciones como una sola unidad. (Escrito por " @@ -2040,20 +2182,20 @@ msgstr "" msgid "" "The abstract base classes have been moved in a new :mod:`collections.abc` " "module, to better differentiate between the abstract and the concrete " -"collections classes. Aliases for ABCs are still present in the :mod:" -"`collections` module to preserve existing imports. (:issue:`11085`)" +"collections classes. Aliases for ABCs are still present in the " +":mod:`collections` module to preserve existing imports. (:issue:`11085`)" msgstr "" -"Las clases base abstractas se han movido en un nuevo módulo :mod:" -"`collections.abc`, para diferenciar mejor entre las clases de colecciones " -"abstractas y concretas. Los alias para ABC siguen presentes en el módulo :" -"mod:`collections` para preservar las importaciones existentes. (:issue:" -"`11085`)" +"Las clases base abstractas se han movido en un nuevo módulo " +":mod:`collections.abc`, para diferenciar mejor entre las clases de " +"colecciones abstractas y concretas. Los alias para ABC siguen presentes en " +"el módulo :mod:`collections` para preservar las importaciones existentes. " +"(:issue:`11085`)" #: ../Doc/whatsnew/3.3.rst:1034 msgid "" -"The :class:`~collections.Counter` class now supports the unary ``+`` and ``-" -"`` operators, as well as the in-place operators ``+=``, ``-=``, ``|=``, and " -"``&=``. (Contributed by Raymond Hettinger in :issue:`13121`.)" +"The :class:`~collections.Counter` class now supports the unary ``+`` and " +"``-`` operators, as well as the in-place operators ``+=``, ``-=``, ``|=``, " +"and ``&=``. (Contributed by Raymond Hettinger in :issue:`13121`.)" msgstr "" "La clase :class:`~collections.Counter` ahora admite los operadores ''+'' y " "''-'' unarios, así como los operadores in situ ``+=``, ``-=``, ``|=``, and " @@ -2077,11 +2219,11 @@ msgstr "" ":class:`~contextlib. ExitStack` ahora proporciona una base sólida para la " "manipulación programática de los administradores de contexto y una " "funcionalidad de limpieza similar. A diferencia de la API anterior " -"``contextlib.nested`` (que estaba en desuso y se eliminó), la nueva API está " -"diseñada para funcionar correctamente independientemente de si los " -"administradores de contexto adquieren sus recursos en su método ``__init__`` " -"(por ejemplo, objetos de archivo) o en su método ``__enter__`` (por ejemplo, " -"objetos de sincronización del módulo :mod:`threading`)." +"``contextlib.nested`` (que estaba en desuso y se eliminó), la nueva API está" +" diseñada para funcionar correctamente independientemente de si los " +"administradores de contexto adquieren sus recursos en su método ``__init__``" +" (por ejemplo, objetos de archivo) o en su método ``__enter__`` (por " +"ejemplo, objetos de sincronización del módulo :mod:`threading`)." #: ../Doc/whatsnew/3.3.rst:1051 msgid "(:issue:`13585`)" @@ -2092,13 +2234,12 @@ msgid "crypt" msgstr "crypt" #: ../Doc/whatsnew/3.3.rst:1057 -#, fuzzy msgid "" -"Addition of salt and modular crypt format (hashing method) and the :func:`!" -"mksalt` function to the :mod:`!crypt` module." +"Addition of salt and modular crypt format (hashing method) and the " +":func:`!mksalt` function to the :mod:`!crypt` module." msgstr "" -"Adición de sal y formato de cripta modular (método de hashing) y la función :" -"func:`~crypt.mksalt` al módulo :mod:`crypt`." +"Adición del formato de sal y criptografía modular (método hash) y la función" +" :func:`!mksalt` al módulo :mod:`!crypt`." #: ../Doc/whatsnew/3.3.rst:1060 msgid "(:issue:`10924`)" @@ -2111,8 +2252,8 @@ msgstr "curses" #: ../Doc/whatsnew/3.3.rst:1065 msgid "" "If the :mod:`curses` module is linked to the ncursesw library, use Unicode " -"functions when Unicode strings or characters are passed (e.g. :c:func:" -"`waddwstr`), and bytes functions otherwise (e.g. :c:func:`waddstr`)." +"functions when Unicode strings or characters are passed (e.g. " +":c:func:`waddwstr`), and bytes functions otherwise (e.g. :c:func:`waddstr`)." msgstr "" "Si el módulo :mod:`curses` es vinculado a la nueva librería ncursesw, se " "usan las funciones *Unicode* cuando se pasen cadenas o caracteres Unicode " @@ -2120,7 +2261,8 @@ msgstr "" "de *bytes* (e.g. :c:func:`waddstr`)." #: ../Doc/whatsnew/3.3.rst:1068 -msgid "Use the locale encoding instead of ``utf-8`` to encode Unicode strings." +msgid "" +"Use the locale encoding instead of ``utf-8`` to encode Unicode strings." msgstr "" "Usa la codificación local en vez de ``utf-8`` para codificar cadenas " "*Unicode*." @@ -2129,26 +2271,26 @@ msgstr "" msgid "" ":class:`curses.window` has a new :attr:`curses.window.encoding` attribute." msgstr "" -"La clase :class:`curses.window` tiene un nuevo atributo :attr:`curses.window." -"encoding`." +"La clase :class:`curses.window` tiene un nuevo atributo " +":attr:`curses.window.encoding`." #: ../Doc/whatsnew/3.3.rst:1070 msgid "" "The :class:`curses.window` class has a new :meth:`~curses.window.get_wch` " "method to get a wide character" msgstr "" -"La clase :class:`curses.window` tiene un nuevo método :meth:`~curses.window." -"get_wch` para obtener un caracter ancho" +"La clase :class:`curses.window` tiene un nuevo método " +":meth:`~curses.window.get_wch` para obtener un caracter ancho" #: ../Doc/whatsnew/3.3.rst:1072 msgid "" "The :mod:`curses` module has a new :meth:`~curses.unget_wch` function to " -"push a wide character so the next :meth:`~curses.window.get_wch` will return " -"it" +"push a wide character so the next :meth:`~curses.window.get_wch` will return" +" it" msgstr "" "El módulo :mod:`curses` tiene una nueva función :meth:`~curses.unget_wch` " -"para enviar un caracter ancho de manera que el próximo :meth:`~curses.window." -"get_wch` lo retorne" +"para enviar un caracter ancho de manera que el próximo " +":meth:`~curses.window.get_wch` lo retorne" #: ../Doc/whatsnew/3.3.rst:1076 msgid "(Contributed by Iñigo Serna in :issue:`6755`.)" @@ -2161,20 +2303,20 @@ msgstr "datetime" #: ../Doc/whatsnew/3.3.rst:1081 msgid "" "Equality comparisons between naive and aware :class:`~datetime.datetime` " -"instances now return :const:`False` instead of raising :exc:`TypeError` (:" -"issue:`15006`)." +"instances now return :const:`False` instead of raising :exc:`TypeError` " +"(:issue:`15006`)." msgstr "" -"Las comparaciones de igualdad entre instancias conscientes e ingenuas :class:" -"`~datetime.datetime` ahora retornan :const:`False` en lugar de generar :exc:" -"`TypeError` (:issue:`15006`)." +"Las comparaciones de igualdad entre instancias conscientes e ingenuas " +":class:`~datetime.datetime` ahora retornan :const:`False` en lugar de " +"generar :exc:`TypeError` (:issue:`15006`)." #: ../Doc/whatsnew/3.3.rst:1084 msgid "" "New :meth:`datetime.datetime.timestamp` method: Return POSIX timestamp " "corresponding to the :class:`~datetime.datetime` instance." msgstr "" -"Nuevo método :meth:`datetime.datetime.timestamp`: Retorna la marca de tiempo " -"POSIX correspondiente a la instancia :class:`~datetime.datetime`." +"Nuevo método :meth:`datetime.datetime.timestamp`: Retorna la marca de tiempo" +" POSIX correspondiente a la instancia :class:`~datetime.datetime`." #: ../Doc/whatsnew/3.3.rst:1086 msgid "" @@ -2206,20 +2348,18 @@ msgid "C-module and libmpdec written by Stefan Krah." msgstr "Módulo C y libmpdec escritos por Stefan Krah." #: ../Doc/whatsnew/3.3.rst:1101 -#, fuzzy msgid "" "The new C version of the decimal module integrates the high speed libmpdec " "library for arbitrary precision correctly rounded decimal floating-point " "arithmetic. libmpdec conforms to IBM's General Decimal Arithmetic " "Specification." msgstr "" -"La nueva versión C del módulo decimal integra la biblioteca libmpdec de alta " -"velocidad para aritmética de coma flotante decimal redondeada correctamente " -"con precisión arbitraria. libmpdec se ajusta a la especificación de " -"aritmética decimal general de IBM." +"La nueva versión C del módulo decimal integra la biblioteca libmpdec de alta" +" velocidad para aritmética de punto flotante decimal redondeada " +"correctamente con precisión arbitraria. libmpdec cumple con la " +"Especificación Aritmética Decimal General de IBM." #: ../Doc/whatsnew/3.3.rst:1105 -#, fuzzy msgid "" "Performance gains range from 10x for database applications to 100x for " "numerically intensive applications. These numbers are expected gains for " @@ -2227,22 +2367,22 @@ msgid "" "precision is user configurable, the exact figures may vary. For example, in " "integer bignum arithmetic the differences can be significantly higher." msgstr "" -"El rango de ganancias del rendimiento va de 10x para las aplicaciones de " -"base de datos, a 100x para aplicaciones numéricamente intensivas. Estos " -"números son ganancias esperadas para las precisiones estándar usadas en la " -"aritmética de punto flotante decimal. Dado que la precisión es configurable " -"por el usuario, las cifras exactas pueden variar. Por ejemplo, en la " -"aritmética de enteros bignum, las diferencias pueden ser significativamente " +"Las mejoras de rendimiento varían de 10x para aplicaciones de bases de datos" +" a 100x para aplicaciones con uso intensivo de números. Estas cifras son " +"ganancias esperadas para las precisiones estándar utilizadas en aritmética " +"de punto flotante decimal. Dado que la precisión es configurable por el " +"usuario, las cifras exactas pueden variar. Por ejemplo, en la aritmética de " +"números enteros grandes, las diferencias pueden ser significativamente " "mayores." #: ../Doc/whatsnew/3.3.rst:1111 msgid "" -"The following table is meant as an illustration. Benchmarks are available at " -"https://www.bytereef.org/mpdecimal/quickstart.html." +"The following table is meant as an illustration. Benchmarks are available at" +" https://www.bytereef.org/mpdecimal/quickstart.html." msgstr "" "La siguiente tabla está pensada como una ilustración. Los puntos de " -"referencia están disponibles en https://www.bytereef.org/mpdecimal/" -"quickstart.html." +"referencia están disponibles en " +"https://www.bytereef.org/mpdecimal/quickstart.html." #: ../Doc/whatsnew/3.3.rst:1115 msgid "decimal.py" @@ -2315,8 +2455,8 @@ msgstr "" #: ../Doc/whatsnew/3.3.rst:1130 msgid "" "If Python is compiled without threads, the C version automatically disables " -"the expensive thread local context machinery. In this case, the variable :" -"const:`~decimal.HAVE_THREADS` is set to ``False``." +"the expensive thread local context machinery. In this case, the variable " +":const:`~decimal.HAVE_THREADS` is set to ``False``." msgstr "" "Si python se compila sin subprocesos, la versión C deshabilita " "automáticamente la costosa maquinaria de contexto local de subprocesos. En " @@ -2369,82 +2509,84 @@ msgstr "``-999999999999999999``" #: ../Doc/whatsnew/3.3.rst:1150 msgid "" -"In the context templates (:class:`~decimal.DefaultContext`, :class:`~decimal." -"BasicContext` and :class:`~decimal.ExtendedContext`) the magnitude of :attr:" -"`~decimal.Context.Emax` and :attr:`~decimal.Context.Emin` has changed to " -"``999999``." +"In the context templates (:class:`~decimal.DefaultContext`, " +":class:`~decimal.BasicContext` and :class:`~decimal.ExtendedContext`) the " +"magnitude of :attr:`~decimal.Context.Emax` and :attr:`~decimal.Context.Emin`" +" has changed to ``999999``." msgstr "" -"En las plantillas de contexto (:class:`~decimal.DefaultContext`, :class:" -"`~decimal.BasicContext` and :class:`~decimal.ExtendedContext`) la magnitud " -"de :attr:`~decimal.Context.Emax` y :attr:`~decimal.Context.Emin` se ha " -"cambiado a ``999999``." +"En las plantillas de contexto (:class:`~decimal.DefaultContext`, " +":class:`~decimal.BasicContext` and :class:`~decimal.ExtendedContext`) la " +"magnitud de :attr:`~decimal.Context.Emax` y :attr:`~decimal.Context.Emin` se" +" ha cambiado a ``999999``." #: ../Doc/whatsnew/3.3.rst:1155 msgid "" -"The :class:`~decimal.Decimal` constructor in decimal.py does not observe the " -"context limits and converts values with arbitrary exponents or precision " +"The :class:`~decimal.Decimal` constructor in decimal.py does not observe the" +" context limits and converts values with arbitrary exponents or precision " "exactly. Since the C version has internal limits, the following scheme is " -"used: If possible, values are converted exactly, otherwise :exc:`~decimal." -"InvalidOperation` is raised and the result is NaN. In the latter case it is " -"always possible to use :meth:`~decimal.Context.create_decimal` in order to " -"obtain a rounded or inexact value." +"used: If possible, values are converted exactly, otherwise " +":exc:`~decimal.InvalidOperation` is raised and the result is NaN. In the " +"latter case it is always possible to use " +":meth:`~decimal.Context.create_decimal` in order to obtain a rounded or " +"inexact value." msgstr "" "El constructor :class:`~decimal.Decimal` en decimal.py no observa los " "límites de contexto y convierte valores con exponentes arbitrarios o " "precisión exacta. Dado que la versión C tiene límites internos, se usa el " "siguiente esquema: Si es posible, los valores son convertidos a valores " "exactos, de lo contrario se genera :exc:`~decimal.InvalidOperation` y el " -"resultado es NaN. En éste último caso siempre es posible usar :meth:" -"`~decimal.Context.create_decimal` para obtener un valor redondeado o " +"resultado es NaN. En éste último caso siempre es posible usar " +":meth:`~decimal.Context.create_decimal` para obtener un valor redondeado o " "inexacto." #: ../Doc/whatsnew/3.3.rst:1164 msgid "" "The power function in decimal.py is always correctly rounded. In the C " -"version, it is defined in terms of the correctly rounded :meth:`~decimal." -"Decimal.exp` and :meth:`~decimal.Decimal.ln` functions, but the final result " -"is only \"almost always correctly rounded\"." +"version, it is defined in terms of the correctly rounded " +":meth:`~decimal.Decimal.exp` and :meth:`~decimal.Decimal.ln` functions, but " +"the final result is only \"almost always correctly rounded\"." msgstr "" "La función de potencia en decimal.py siempre se redondea correctamente. En " -"la versión C, se define en términos de las funciones :meth:`~decimal.Decimal." -"exp` y :meth:`~decimal.Decimal.ln` correctamente redondeadas, pero el " -"resultado final es solo \"casi siempre correctamente redondeado\"." +"la versión C, se define en términos de las funciones " +":meth:`~decimal.Decimal.exp` y :meth:`~decimal.Decimal.ln` correctamente " +"redondeadas, pero el resultado final es solo \"casi siempre correctamente " +"redondeado\"." #: ../Doc/whatsnew/3.3.rst:1170 msgid "" -"In the C version, the context dictionary containing the signals is a :class:" -"`~collections.abc.MutableMapping`. For speed reasons, :attr:`~decimal." -"Context.flags` and :attr:`~decimal.Context.traps` always refer to the same :" -"class:`~collections.abc.MutableMapping` that the context was initialized " -"with. If a new signal dictionary is assigned, :attr:`~decimal.Context.flags` " -"and :attr:`~decimal.Context.traps` are updated with the new values, but they " -"do not reference the RHS dictionary." -msgstr "" -"En la versión C, el diccionario de contexto que contiene las señales, es " -"una :class:`~collections.abc.MutableMapping`. Por razones de velocidad, :" -"attr:`~decimal.Context.flags` y :attr:`~decimal.Context.traps` siempre se " +"In the C version, the context dictionary containing the signals is a " +":class:`~collections.abc.MutableMapping`. For speed reasons, " +":attr:`~decimal.Context.flags` and :attr:`~decimal.Context.traps` always " +"refer to the same :class:`~collections.abc.MutableMapping` that the context " +"was initialized with. If a new signal dictionary is assigned, " +":attr:`~decimal.Context.flags` and :attr:`~decimal.Context.traps` are " +"updated with the new values, but they do not reference the RHS dictionary." +msgstr "" +"En la versión C, el diccionario de contexto que contiene las señales, es una" +" :class:`~collections.abc.MutableMapping`. Por razones de velocidad, " +":attr:`~decimal.Context.flags` y :attr:`~decimal.Context.traps` siempre se " "refiere a la misma :class:`~collections.abc.MutableMapping` que el contexto " -"con el que se inicializó. Si se asigna un nuevo diccionario de señales, :" -"attr:`~decimal.Context.flags` y :attr:`~decimal.Context.traps` son " -"actualizados con los nuevos valores, pero no hacen referencia al diccionario " -"RHS." +"con el que se inicializó. Si se asigna un nuevo diccionario de señales, " +":attr:`~decimal.Context.flags` y :attr:`~decimal.Context.traps` son " +"actualizados con los nuevos valores, pero no hacen referencia al diccionario" +" RHS." #: ../Doc/whatsnew/3.3.rst:1180 msgid "" -"Pickling a :class:`~decimal.Context` produces a different output in order to " -"have a common interchange format for the Python and C versions." +"Pickling a :class:`~decimal.Context` produces a different output in order to" +" have a common interchange format for the Python and C versions." msgstr "" "Decapar a :class:`~decimal.Context` produce una salida diferente para tener " "un formato de intercambio común para las versiones de Python y C." #: ../Doc/whatsnew/3.3.rst:1184 msgid "" -"The order of arguments in the :class:`~decimal.Context` constructor has been " -"changed to match the order displayed by :func:`repr`." +"The order of arguments in the :class:`~decimal.Context` constructor has been" +" changed to match the order displayed by :func:`repr`." msgstr "" -"El orden de los argumentos en el constructor de la clase :class:`~decimal." -"Context`, ha sido cambiado para que coincida con el orden mostrado por la " -"función :func:`repr`." +"El orden de los argumentos en el constructor de la clase " +":class:`~decimal.Context`, ha sido cambiado para que coincida con el orden " +"mostrado por la función :func:`repr`." #: ../Doc/whatsnew/3.3.rst:1188 msgid "" @@ -2464,29 +2606,29 @@ msgstr "Marco de políticas" #: ../Doc/whatsnew/3.3.rst:1200 msgid "" -"The email package now has a :mod:`~email.policy` framework. A :class:" -"`~email.policy.Policy` is an object with several methods and properties that " -"control how the email package behaves. The primary policy for Python 3.3 is " -"the :class:`~email.policy.Compat32` policy, which provides backward " -"compatibility with the email package in Python 3.2. A ``policy`` can be " -"specified when an email message is parsed by a :mod:`~email.parser`, or when " -"a :class:`~email.message.Message` object is created, or when an email is " -"serialized using a :mod:`~email.generator`. Unless overridden, a policy " -"passed to a ``parser`` is inherited by all the ``Message`` object and sub-" -"objects created by the ``parser``. By default a ``generator`` will use the " -"policy of the ``Message`` object it is serializing. The default policy is :" -"data:`~email.policy.compat32`." -msgstr "" -"El paquete de correo electrónico ahora tiene un marco :mod:`~email.policy`. " -"Un :class:`~email.policy.Policy` es un objeto con varios métodos y " +"The email package now has a :mod:`~email.policy` framework. A " +":class:`~email.policy.Policy` is an object with several methods and " +"properties that control how the email package behaves. The primary policy " +"for Python 3.3 is the :class:`~email.policy.Compat32` policy, which provides" +" backward compatibility with the email package in Python 3.2. A ``policy`` " +"can be specified when an email message is parsed by a :mod:`~email.parser`, " +"or when a :class:`~email.message.Message` object is created, or when an " +"email is serialized using a :mod:`~email.generator`. Unless overridden, a " +"policy passed to a ``parser`` is inherited by all the ``Message`` object and" +" sub-objects created by the ``parser``. By default a ``generator`` will use" +" the policy of the ``Message`` object it is serializing. The default policy" +" is :data:`~email.policy.compat32`." +msgstr "" +"El paquete de correo electrónico ahora tiene un marco :mod:`~email.policy`." +" Un :class:`~email.policy.Policy` es un objeto con varios métodos y " "propiedades que controlan el comportamiento del paquete de correo " -"electrónico. La política principal de Python 3.3 es la política :class:" -"`~email.policy.Compat32`, que proporciona compatibilidad con versiones " -"anteriores del paquete de correo electrónico en Python 3.2. Se puede " -"especificar una ``policy`` cuando un mensaje de correo electrónico es " -"analizado por un :mod:`~email.parser`, o cuando se crea un objeto :class:" -"`~email.message.Message`, o cuando se serializa un correo electrónico " -"mediante un :mod:`~email.generator`. A menos que se invalide, una política " +"electrónico. La política principal de Python 3.3 es la política " +":class:`~email.policy.Compat32`, que proporciona compatibilidad con " +"versiones anteriores del paquete de correo electrónico en Python 3.2. Se " +"puede especificar una ``policy`` cuando un mensaje de correo electrónico es " +"analizado por un :mod:`~email.parser`, o cuando se crea un objeto " +":class:`~email.message.Message`, o cuando se serializa un correo electrónico" +" mediante un :mod:`~email.generator`. A menos que se invalide, una política " "pasada a un ``parser`` es heredada por todos los objetos ``Message`` y los " "subobjetos creados por el ``parser``. De forma predeterminada, un " "``generator`` utilizará la política del objeto ``Message`` que está " @@ -2504,8 +2646,8 @@ msgstr "max_line_length" #: ../Doc/whatsnew/3.3.rst:1218 msgid "" -"The maximum length, excluding the linesep character(s), individual lines may " -"have when a ``Message`` is serialized. Defaults to 78." +"The maximum length, excluding the linesep character(s), individual lines may" +" have when a ``Message`` is serialized. Defaults to 78." msgstr "" "La longitud máxima, excluyendo el(los) caracter(es) *linesep*, que las " "líneas individuales pueden tener cuando un ``Message`` se serializa es por " @@ -2530,8 +2672,8 @@ msgstr "cte_type" #: ../Doc/whatsnew/3.3.rst:1225 msgid "" "``7bit`` or ``8bit``. ``8bit`` applies only to a ``Bytes`` ``generator``, " -"and means that non-ASCII may be used where allowed by the protocol (or where " -"it exists in the original input)." +"and means that non-ASCII may be used where allowed by the protocol (or where" +" it exists in the original input)." msgstr "" "``7bit`` or ``8bit``. ``8bit`` sólo se aplica a un ``Bytes`` ``generator``, " "y significa que pueden utilizarse \"no ASCII\" cuando lo permita el " @@ -2551,11 +2693,11 @@ msgstr "" #: ../Doc/whatsnew/3.3.rst:1235 msgid "" -"A new policy instance, with new settings, is created using the :meth:`~email." -"policy.Policy.clone` method of policy objects. ``clone`` takes any of the " -"above controls as keyword arguments. Any control not specified in the call " -"retains its default value. Thus you can create a policy that uses " -"``\\r\\n`` linesep characters like this::" +"A new policy instance, with new settings, is created using the " +":meth:`~email.policy.Policy.clone` method of policy objects. ``clone`` " +"takes any of the above controls as keyword arguments. Any control not " +"specified in the call retains its default value. Thus you can create a " +"policy that uses ``\\r\\n`` linesep characters like this::" msgstr "" "Una nueva instancia de directiva, con nueva configuración, se crea mediante " "el método :meth:`~email.policy.Policy.clone` de objetos de política. " @@ -2566,22 +2708,22 @@ msgstr "" #: ../Doc/whatsnew/3.3.rst:1241 msgid "mypolicy = compat32.clone(linesep='\\r\\n')" -msgstr "" +msgstr "mypolicy = compat32.clone(linesep='\\r\\n')" #: ../Doc/whatsnew/3.3.rst:1243 msgid "" -"Policies can be used to make the generation of messages in the format needed " -"by your application simpler. Instead of having to remember to specify " +"Policies can be used to make the generation of messages in the format needed" +" by your application simpler. Instead of having to remember to specify " "``linesep='\\r\\n'`` in all the places you call a ``generator``, you can " "specify it once, when you set the policy used by the ``parser`` or the " "``Message``, whichever your program uses to create ``Message`` objects. On " "the other hand, if you need to generate messages in multiple forms, you can " "still specify the parameters in the appropriate ``generator`` call. Or you " -"can have custom policy instances for your different cases, and pass those in " -"when you create the ``generator``." +"can have custom policy instances for your different cases, and pass those in" +" when you create the ``generator``." msgstr "" -"Las directivas pueden ser usadas para facilitar la generación de mensajes en " -"el formato requerido por la aplicación. En vez de tener que recordar " +"Las directivas pueden ser usadas para facilitar la generación de mensajes en" +" el formato requerido por la aplicación. En vez de tener que recordar " "especificar ``linesep='\\r\\n'`` en todos los lugares en donde llamas a " "``generator``, puedes especificarlo una sola vez cuando estableces la " "política usada por el ``analizador`` o el ``Mensaje``, el que tu programa " @@ -2601,18 +2743,18 @@ msgid "" "for introducing it is to allow the creation of new policies that implement " "new features for the email package in a way that maintains backward " "compatibility for those who do not use the new policies. Because the new " -"policies introduce a new API, we are releasing them in Python 3.3 as a :term:" -"`provisional policy `. Backwards incompatible changes " -"(up to and including removal of the code) may occur if deemed necessary by " -"the core developers." +"policies introduce a new API, we are releasing them in Python 3.3 as a " +":term:`provisional policy `. Backwards incompatible " +"changes (up to and including removal of the code) may occur if deemed " +"necessary by the core developers." msgstr "" "Aunque el marco de políticas vale la pena por sí solo, la principal " "motivación para presentarlo es permitir la creación de nuevas políticas que " -"implementen nuevas características para el paquete de correo electrónico, de " -"modo que mantenga la compatibilidad con versiones anteriores para aquellos " +"implementen nuevas características para el paquete de correo electrónico, de" +" modo que mantenga la compatibilidad con versiones anteriores para aquellos " "quienes no usen las nuevas directivas. Dado que las nuevas políticas " -"introducen una nueva API, estamos lanzándolas en Python 3.3 como una :term:" -"`provisional policy `. Pueden producirse cambios " +"introducen una nueva API, estamos lanzándolas en Python 3.3 como una " +":term:`provisional policy `. Pueden producirse cambios " "incompatibles con versiones anteriores (hasta la eliminación del código) si " "los desarrolladores principales lo consideran necesario." @@ -2637,8 +2779,8 @@ msgid "" "get refolded, and ``all`` means that all lines get refolded." msgstr "" "Controla si los encabezados analizados por un :mod:`~email.parser` son " -"replegados por :mod:`~email.generator`. Éste puede ser ``none``, ``long``, o " -"``all``. El valor por defecto es ``long``, lo que significa que los " +"replegados por :mod:`~email.generator`. Éste puede ser ``none``, ``long``, o" +" ``all``. El valor por defecto es ``long``, lo que significa que los " "encabezados principales con una linea más larga que ``max_line_length`` se " "repliegan. ``none`` significa que no se repliega ninguna linea, y ``all`` " "significa que todas las lineas son replegadas." @@ -2658,11 +2800,11 @@ msgstr "" #: ../Doc/whatsnew/3.3.rst:1284 msgid "" "The ``header_factory`` is the key to the new features provided by the new " -"policies. When one of the new policies is used, any header retrieved from a " -"``Message`` object is an object produced by the ``header_factory``, and any " -"time you set a header on a ``Message`` it becomes an object produced by " -"``header_factory``. All such header objects have a ``name`` attribute equal " -"to the header name. Address and Date headers have additional attributes " +"policies. When one of the new policies is used, any header retrieved from a" +" ``Message`` object is an object produced by the ``header_factory``, and any" +" time you set a header on a ``Message`` it becomes an object produced by " +"``header_factory``. All such header objects have a ``name`` attribute equal" +" to the header name. Address and Date headers have additional attributes " "that give you access to the parsed data of the header. This means you can " "now do things like this::" msgstr "" @@ -2674,8 +2816,8 @@ msgstr "" "producido por ``header_factory``. Todos éstos objetos de encabezado tienen " "un atributo ``name`` igual al nombre del encabezado. Los encabezados de " "direcciones y fechas tienen atributos adicionales que te dan acceso a los " -"datos analizados del encabezado. Ésto significa que ahora puedes hacer cosas " -"como ésta:" +"datos analizados del encabezado. Ésto significa que ahora puedes hacer cosas" +" como ésta:" #: ../Doc/whatsnew/3.3.rst:1293 msgid "" @@ -2691,28 +2833,45 @@ msgid "" "'Éric'\n" ">>> m['Date'] = email.utils.localtime()\n" ">>> m['Date'].datetime\n" -"datetime.datetime(2012, 5, 25, 21, 39, 24, 465484, tzinfo=datetime." -"timezone(datetime.timedelta(-1, 72000), 'EDT'))\n" +"datetime.datetime(2012, 5, 25, 21, 39, 24, 465484, tzinfo=datetime.timezone(datetime.timedelta(-1, 72000), 'EDT'))\n" ">>> m['Date']\n" "'Fri, 25 May 2012 21:44:27 -0400'\n" ">>> print(m)\n" "To: =?utf-8?q?=C3=89ric?= \n" "Date: Fri, 25 May 2012 21:44:27 -0400" msgstr "" +">>> m = Message(policy=SMTP)\n" +">>> m['To'] = 'Éric '\n" +">>> m['to']\n" +"'Éric '\n" +">>> m['to'].addresses\n" +"(Address(display_name='Éric', username='foo', domain='example.com'),)\n" +">>> m['to'].addresses[0].username\n" +"'foo'\n" +">>> m['to'].addresses[0].display_name\n" +"'Éric'\n" +">>> m['Date'] = email.utils.localtime()\n" +">>> m['Date'].datetime\n" +"datetime.datetime(2012, 5, 25, 21, 39, 24, 465484, tzinfo=datetime.timezone(datetime.timedelta(-1, 72000), 'EDT'))\n" +">>> m['Date']\n" +"'Fri, 25 May 2012 21:44:27 -0400'\n" +">>> print(m)\n" +"To: =?utf-8?q?=C3=89ric?= \n" +"Date: Fri, 25 May 2012 21:44:27 -0400" #: ../Doc/whatsnew/3.3.rst:1312 msgid "" "You will note that the unicode display name is automatically encoded as " "``utf-8`` when the message is serialized, but that when the header is " -"accessed directly, you get the unicode version. This eliminates any need to " -"deal with the :mod:`email.header` :meth:`~email.header.decode_header` or :" -"meth:`~email.header.make_header` functions." +"accessed directly, you get the unicode version. This eliminates any need to" +" deal with the :mod:`email.header` :meth:`~email.header.decode_header` or " +":meth:`~email.header.make_header` functions." msgstr "" -"Notarás que el nombre de visualización *Unicode* se codifica automáticamente " -"como ``utf-8`` cuando se serializa el mensaje, pero que cuando se accede al " -"encabezado directamente, obtienes la versión unicode. Ésto elimina cualquier " -"necesidad de lidiar con las funciones :mod:`email.header` :meth:`~email." -"header.decode_header` or :meth:`~email.header.make_header`." +"Notarás que el nombre de visualización *Unicode* se codifica automáticamente" +" como ``utf-8`` cuando se serializa el mensaje, pero que cuando se accede al" +" encabezado directamente, obtienes la versión unicode. Ésto elimina " +"cualquier necesidad de lidiar con las funciones :mod:`email.header` " +":meth:`~email.header.decode_header` or :meth:`~email.header.make_header`." #: ../Doc/whatsnew/3.3.rst:1318 msgid "You can also create addresses from parts::" @@ -2726,9 +2885,15 @@ msgid "" ">>> print(m)\n" "To: =?utf-8?q?=C3=89ric?= \n" "Date: Fri, 25 May 2012 21:44:27 -0400\n" -"cc: pals: Bob , Sally ;, Bonzo " -"" +"cc: pals: Bob , Sally ;, Bonzo " msgstr "" +">>> m['cc'] = [Group('pals', [Address('Bob', 'bob', 'example.com'),\n" +"... Address('Sally', 'sally', 'example.com')]),\n" +"... Address('Bonzo', addr_spec='bonz@laugh.com')]\n" +">>> print(m)\n" +"To: =?utf-8?q?=C3=89ric?= \n" +"Date: Fri, 25 May 2012 21:44:27 -0400\n" +"cc: pals: Bob , Sally ;, Bonzo " #: ../Doc/whatsnew/3.3.rst:1328 msgid "Decoding to unicode is done automatically::" @@ -2740,6 +2905,9 @@ msgid "" ">>> m2['to']\n" "'Éric '" msgstr "" +">>> m2 = message_from_string(str(m))\n" +">>> m2['to']\n" +"'Éric '" #: ../Doc/whatsnew/3.3.rst:1334 msgid "" @@ -2754,16 +2922,14 @@ msgstr "" #: ../Doc/whatsnew/3.3.rst:1338 msgid "" ">>> m2['cc'].addresses\n" -"(Address(display_name='Bob', username='bob', domain='example.com'), " -"Address(display_name='Sally', username='sally', domain='example.com'), " -"Address(display_name='Bonzo', username='bonz', domain='laugh.com'))\n" +"(Address(display_name='Bob', username='bob', domain='example.com'), Address(display_name='Sally', username='sally', domain='example.com'), Address(display_name='Bonzo', username='bonz', domain='laugh.com'))\n" ">>> m2['cc'].groups\n" -"(Group(display_name='pals', addresses=(Address(display_name='Bob', " -"username='bob', domain='example.com'), Address(display_name='Sally', " -"username='sally', domain='example.com')), Group(display_name=None, " -"addresses=(Address(display_name='Bonzo', username='bonz', domain='laugh." -"com'),))" +"(Group(display_name='pals', addresses=(Address(display_name='Bob', username='bob', domain='example.com'), Address(display_name='Sally', username='sally', domain='example.com')), Group(display_name=None, addresses=(Address(display_name='Bonzo', username='bonz', domain='laugh.com'),))" msgstr "" +">>> m2['cc'].addresses\n" +"(Address(display_name='Bob', username='bob', domain='example.com'), Address(display_name='Sally', username='sally', domain='example.com'), Address(display_name='Bonzo', username='bonz', domain='laugh.com'))\n" +">>> m2['cc'].groups\n" +"(Group(display_name='pals', addresses=(Address(display_name='Bob', username='bob', domain='example.com'), Address(display_name='Sally', username='sally', domain='example.com')), Group(display_name=None, addresses=(Address(display_name='Bonzo', username='bonz', domain='laugh.com'),))" #: ../Doc/whatsnew/3.3.rst:1343 msgid "" @@ -2784,13 +2950,13 @@ msgstr "Otros cambios en la API" #: ../Doc/whatsnew/3.3.rst:1351 msgid "" -"New :class:`~email.parser.BytesHeaderParser`, added to the :mod:`~email." -"parser` module to complement :class:`~email.parser.HeaderParser` and " -"complete the Bytes API." +"New :class:`~email.parser.BytesHeaderParser`, added to the " +":mod:`~email.parser` module to complement " +":class:`~email.parser.HeaderParser` and complete the Bytes API." msgstr "" -"Nuevo :class:`~email.parser.BytesHeaderParser`, añadido al módulo :mod:" -"`~email.parser` para complementar :class:`~email.parser.HeaderParser` y " -"completar la API Bytes." +"Nuevo :class:`~email.parser.BytesHeaderParser`, añadido al módulo " +":mod:`~email.parser` para complementar :class:`~email.parser.HeaderParser` y" +" completar la API Bytes." #: ../Doc/whatsnew/3.3.rst:1355 msgid "New utility functions:" @@ -2812,23 +2978,23 @@ msgid "" "naive :class:`~datetime.datetime` if the offset is ``-0000``." msgstr "" ":func:`email.utils.parsedate_to_datetime`: dada una cadena de fecha de un " -"encabezado de correo electrónico, conviértela en un :class:`datetime." -"datetime`, o un ingenuo :class:`datetime.datetime` si el desplazamiento es " -"``-0000``." +"encabezado de correo electrónico, conviértela en un " +":class:`datetime.datetime`, o un ingenuo :class:`datetime.datetime` si el " +"desplazamiento es ``-0000``." #: ../Doc/whatsnew/3.3.rst:1364 msgid "" ":func:`~email.utils.localtime`: With no argument, returns the current local " -"time as an aware :class:`~datetime.datetime` using the local :class:" -"`~datetime.timezone`. Given an aware :class:`~datetime.datetime`, converts " -"it into an aware :class:`~datetime.datetime` using the local :class:" -"`~datetime.timezone`." +"time as an aware :class:`~datetime.datetime` using the local " +":class:`~datetime.timezone`. Given an aware :class:`~datetime.datetime`, " +"converts it into an aware :class:`~datetime.datetime` using the local " +":class:`~datetime.timezone`." msgstr "" ":func:`~email.utils.localtime`: Sin argumento, retorna la hora local actual " -"como un reconocimiento :class:`~datetime.datetime` utilizando el local :" -"class:`~datetime.timezone`. Teniendo en cuenta :class:`~datetime.datetime`, " -"lo convierte en un :class:`~datetime.datetime` con el valor local :class:" -"`~datetime.timezone`." +"como un reconocimiento :class:`~datetime.datetime` utilizando el local " +":class:`~datetime.timezone`. Teniendo en cuenta " +":class:`~datetime.datetime`, lo convierte en un :class:`~datetime.datetime` " +"con el valor local :class:`~datetime.timezone`." #: ../Doc/whatsnew/3.3.rst:1372 msgid "ftplib" @@ -2838,8 +3004,8 @@ msgstr "ftplib" msgid "" ":class:`ftplib.FTP` now accepts a ``source_address`` keyword argument to " "specify the ``(host, port)`` to use as the source address in the bind call " -"when creating the outgoing socket. (Contributed by Giampaolo Rodolà in :" -"issue:`8594`.)" +"when creating the outgoing socket. (Contributed by Giampaolo Rodolà in " +":issue:`8594`.)" msgstr "" ":class:`ftplib.FTP` ahora acepta un argumento de palabra clave " "``source_address`` para especificar el ``(host, port)`` que se usará como " @@ -2848,14 +3014,14 @@ msgstr "" #: ../Doc/whatsnew/3.3.rst:1379 msgid "" -"The :class:`~ftplib.FTP_TLS` class now provides a new :func:`~ftplib.FTP_TLS." -"ccc` function to revert control channel back to plaintext. This can be " -"useful to take advantage of firewalls that know how to handle NAT with non-" -"secure FTP without opening fixed ports. (Contributed by Giampaolo Rodolà " -"in :issue:`12139`.)" +"The :class:`~ftplib.FTP_TLS` class now provides a new " +":func:`~ftplib.FTP_TLS.ccc` function to revert control channel back to " +"plaintext. This can be useful to take advantage of firewalls that know how " +"to handle NAT with non-secure FTP without opening fixed ports. (Contributed" +" by Giampaolo Rodolà in :issue:`12139`.)" msgstr "" -"La clase :class:`~ftplib.FTP_TLS` ahora proporciona una nueva función :func:" -"`~ftplib.FTP_TLS.ccc` para revertir el canal de control a texto sin " +"La clase :class:`~ftplib.FTP_TLS` ahora proporciona una nueva función " +":func:`~ftplib.FTP_TLS.ccc` para revertir el canal de control a texto sin " "formato. Esto puede ser útil para aprovechar los firewalls que saben cómo " "manejar NAT con FTP no seguro sin abrir puertos fijos. (Contribución de " "Giampaolo Rodolà en :issue:`12139`.)" @@ -2863,13 +3029,14 @@ msgstr "" #: ../Doc/whatsnew/3.3.rst:1385 msgid "" "Added :meth:`ftplib.FTP.mlsd` method which provides a parsable directory " -"listing format and deprecates :meth:`ftplib.FTP.nlst` and :meth:`ftplib.FTP." -"dir`. (Contributed by Giampaolo Rodolà in :issue:`11072`.)" +"listing format and deprecates :meth:`ftplib.FTP.nlst` and " +":meth:`ftplib.FTP.dir`. (Contributed by Giampaolo Rodolà in " +":issue:`11072`.)" msgstr "" "Añadido el método :meth:`ftplib.FTP.mlsd` que proporciona un formato de " -"listado de directorios analizable y pone en desuso :meth:`ftplib.FTP.nlst` " -"y :meth:`ftplib.FTP.dir`. (Contribución de Giampaolo Rodolà en :issue:" -"`11072`.)" +"listado de directorios analizable y pone en desuso :meth:`ftplib.FTP.nlst` y" +" :meth:`ftplib.FTP.dir`. (Contribución de Giampaolo Rodolà en " +":issue:`11072`.)" #: ../Doc/whatsnew/3.3.rst:1391 msgid "functools" @@ -2879,14 +3046,14 @@ msgstr "functools" msgid "" "The :func:`functools.lru_cache` decorator now accepts a ``typed`` keyword " "argument (that defaults to ``False`` to ensure that it caches values of " -"different types that compare equal in separate cache slots. (Contributed by " -"Raymond Hettinger in :issue:`13227`.)" +"different types that compare equal in separate cache slots. (Contributed by" +" Raymond Hettinger in :issue:`13227`.)" msgstr "" "El decorador :func:`functools.lru_cache` ahora acepta un argumento de " "palabra clave ``typed`` (que por defecto tiene el valor ``False`` para " "asegurar que almacene en caché valores de diferentes tipos que se comparen " -"igual en ranuras separadas de caché. (Contribución de Raymond Hettinger en :" -"issue:`13227`.)" +"igual en ranuras separadas de caché. (Contribución de Raymond Hettinger en " +":issue:`13227`.)" #: ../Doc/whatsnew/3.3.rst:1400 msgid "gc" @@ -2913,7 +3080,8 @@ msgid "" msgstr "" "Se ha agregado una nueva función :func:`~hmac.compare_digest` para prevenir " "los ataques de canales adyacentes en resúmenes durante el análisis de " -"tiempos. (Contribución de Nick Coghlan y Christian Heimes en :issue:`15061`.)" +"tiempos. (Contribución de Nick Coghlan y Christian Heimes en " +":issue:`15061`.)" #: ../Doc/whatsnew/3.3.rst:1415 msgid "http" @@ -2922,18 +3090,18 @@ msgstr "http" #: ../Doc/whatsnew/3.3.rst:1417 msgid "" ":class:`http.server.BaseHTTPRequestHandler` now buffers the headers and " -"writes them all at once when :meth:`~http.server.BaseHTTPRequestHandler." -"end_headers` is called. A new method :meth:`~http.server." -"BaseHTTPRequestHandler.flush_headers` can be used to directly manage when " -"the accumulated headers are sent. (Contributed by Andrew Schaaf in :issue:" -"`3709`.)" +"writes them all at once when " +":meth:`~http.server.BaseHTTPRequestHandler.end_headers` is called. A new " +"method :meth:`~http.server.BaseHTTPRequestHandler.flush_headers` can be used" +" to directly manage when the accumulated headers are sent. (Contributed by " +"Andrew Schaaf in :issue:`3709`.)" msgstr "" ":class:`http.server.BaseHTTPRequestHandler` ahora almacena en buffer los " -"encabezados y los escribe todos a la vez cuando se llama a :meth:`~http." -"server.BaseHTTPRequestHandler.end_headers`. Se puede usar un nuevo método :" -"meth:`~ http.server.BaseHTTPRequestHandler.flush_headers` para administrar " -"directamente cuándo se envían los encabezados acumulados. (Contribución por " -"Andrew Schaaf en :issue:`3709`.)" +"encabezados y los escribe todos a la vez cuando se llama a " +":meth:`~http.server.BaseHTTPRequestHandler.end_headers`. Se puede usar un " +"nuevo método :meth:`~ http.server.BaseHTTPRequestHandler.flush_headers` para" +" administrar directamente cuándo se envían los encabezados acumulados. " +"(Contribución por Andrew Schaaf en :issue:`3709`.)" #: ../Doc/whatsnew/3.3.rst:1423 msgid "" @@ -2945,14 +3113,15 @@ msgstr "" #: ../Doc/whatsnew/3.3.rst:1426 msgid "" -":class:`http.client.HTTPResponse` now has a :meth:`~http.client.HTTPResponse." -"readinto` method, which means it can be used as an :class:`io.RawIOBase` " -"class. (Contributed by John Kuhn in :issue:`13464`.)" +":class:`http.client.HTTPResponse` now has a " +":meth:`~http.client.HTTPResponse.readinto` method, which means it can be " +"used as an :class:`io.RawIOBase` class. (Contributed by John Kuhn in " +":issue:`13464`.)" msgstr "" -"La clase :class:`http.client.HTTPResponse` ahora tiene un método :meth:" -"`~http.client.HTTPResponse.readinto`, lo que significa que puede ser usado " -"como una clase :class:`io.RawIOBase`. (Contribución de John Kuhn in :issue:" -"`13464`)" +"La clase :class:`http.client.HTTPResponse` ahora tiene un método " +":meth:`~http.client.HTTPResponse.readinto`, lo que significa que puede ser " +"usado como una clase :class:`io.RawIOBase`. (Contribución de John Kuhn in " +":issue:`13464`)" #: ../Doc/whatsnew/3.3.rst:1433 msgid "html" @@ -2961,14 +3130,14 @@ msgstr "html" #: ../Doc/whatsnew/3.3.rst:1435 msgid "" ":class:`html.parser.HTMLParser` is now able to parse broken markup without " -"raising errors, therefore the *strict* argument of the constructor and the :" -"exc:`~html.parser.HTMLParseError` exception are now deprecated. The ability " -"to parse broken markup is the result of a number of bug fixes that are also " -"available on the latest bug fix releases of Python 2.7/3.2. (Contributed by " -"Ezio Melotti in :issue:`15114`, and :issue:`14538`, :issue:`13993`, :issue:" -"`13960`, :issue:`13358`, :issue:`1745761`, :issue:`755670`, :issue:`13357`, :" -"issue:`12629`, :issue:`1200313`, :issue:`670664`, :issue:`13273`, :issue:" -"`12888`, :issue:`7311`.)" +"raising errors, therefore the *strict* argument of the constructor and the " +":exc:`~html.parser.HTMLParseError` exception are now deprecated. The ability" +" to parse broken markup is the result of a number of bug fixes that are also" +" available on the latest bug fix releases of Python 2.7/3.2. (Contributed by" +" Ezio Melotti in :issue:`15114`, and :issue:`14538`, :issue:`13993`, " +":issue:`13960`, :issue:`13358`, :issue:`1745761`, :issue:`755670`, " +":issue:`13357`, :issue:`12629`, :issue:`1200313`, :issue:`670664`, " +":issue:`13273`, :issue:`12888`, :issue:`7311`.)" msgstr "" ":class:`html.parser.HTMLParser` ahora puede analizar el marcado no válido " "sin generar errores, por lo tanto, el argumento *strict* del constructor y " @@ -2976,24 +3145,25 @@ msgstr "" "habilidad de analizar marcado inválido es el resultado de un número de " "correcciones que también están disponibles en la última versión de solución " "de bugs de Python 2.7/3.2. (Contribución de Ezio Melotti en :issue:`15114`, " -"y :issue:`14538`, :issue:`13993`, :issue:`13960`, :issue:`13358`, :issue:" -"`1745761`, :issue:`755670`, :issue:`13357`, :issue:`12629`, :issue:" -"`1200313`, :issue:`670664`, :issue:`13273`, :issue:`12888`, :issue:`7311`.)" +"y :issue:`14538`, :issue:`13993`, :issue:`13960`, :issue:`13358`, " +":issue:`1745761`, :issue:`755670`, :issue:`13357`, :issue:`12629`, " +":issue:`1200313`, :issue:`670664`, :issue:`13273`, :issue:`12888`, " +":issue:`7311`.)" #: ../Doc/whatsnew/3.3.rst:1445 msgid "" "A new :data:`~html.entities.html5` dictionary that maps HTML5 named " "character references to the equivalent Unicode character(s) (e.g. " -"``html5['gt;'] == '>'``) has been added to the :mod:`html.entities` module. " -"The dictionary is now also used by :class:`~html.parser.HTMLParser`. " +"``html5['gt;'] == '>'``) has been added to the :mod:`html.entities` module." +" The dictionary is now also used by :class:`~html.parser.HTMLParser`. " "(Contributed by Ezio Melotti in :issue:`11113` and :issue:`15156`.)" msgstr "" "Se ha agregado un nuevo diccionario :data:`~html.entities.html5` que asigna " "referencias de caracteres con nombre HTML5 a los caracteres *Unicode* " "equivalentes (por ejemplo, ``html5['gt;'] == '>'``) ha sido agregado al " -"módulo :mod:`html.entities`. El diccionario ahora también es utilizado por :" -"class:`~html.parser.HTMLParser`. (Contribución por Ezio Melotti en :issue:" -"`11113` y :issue:`15156`.)" +"módulo :mod:`html.entities`. El diccionario ahora también es utilizado por " +":class:`~html.parser.HTMLParser`. (Contribución por Ezio Melotti en " +":issue:`11113` y :issue:`15156`.)" #: ../Doc/whatsnew/3.3.rst:1453 msgid "imaplib" @@ -3017,8 +3187,8 @@ msgstr "inspect" #: ../Doc/whatsnew/3.3.rst:1464 msgid "" -"A new :func:`~inspect.getclosurevars` function has been added. This function " -"reports the current binding of all names referenced from the function body " +"A new :func:`~inspect.getclosurevars` function has been added. This function" +" reports the current binding of all names referenced from the function body " "and where those names were resolved, making it easier to verify correct " "internal state when testing code that relies on stateful closures." msgstr "" @@ -3059,9 +3229,9 @@ msgid "" "file already exists. It is based on the C11 'x' mode to fopen()." msgstr "" "La función :func:`~io.open` tiene un nuevo modo ``'x'`` que puede ser usado " -"exclusivamente para crear un nuevo archivo, y lanzar un :exc:" -"`FileExistsError` si el archivo ya existe. Este está basado en el modo C11 " -"'x' para fopen()." +"exclusivamente para crear un nuevo archivo, y lanzar un " +":exc:`FileExistsError` si el archivo ya existe. Este está basado en el modo " +"C11 'x' para fopen()." #: ../Doc/whatsnew/3.3.rst:1485 msgid "(Contributed by David Townshend in :issue:`12760`.)" @@ -3070,16 +3240,16 @@ msgstr "(Contribución de David Townsend en :issue:`12760`.)" #: ../Doc/whatsnew/3.3.rst:1487 msgid "" "The constructor of the :class:`~io.TextIOWrapper` class has a new " -"*write_through* optional argument. If *write_through* is ``True``, calls to :" -"meth:`~io.TextIOWrapper.write` are guaranteed not to be buffered: any data " +"*write_through* optional argument. If *write_through* is ``True``, calls to " +":meth:`~io.TextIOWrapper.write` are guaranteed not to be buffered: any data " "written on the :class:`~io.TextIOWrapper` object is immediately handled to " "its underlying binary buffer." msgstr "" "El constructor de la clase :class:`~io.TextIOWrapper` tiene un nuevo " "argumento opcional *write_through*. Si *write_through* es ``True``, se " "garantiza que las llamadas a :meth:`~ io.TextIOWrapper.write` no se " -"almacenarán en buffer: Cualquier dato escrito en el objeto :class:`~io." -"TextIOWrapper` es llevado inmediatamente a su buffer subyacente." +"almacenarán en buffer: Cualquier dato escrito en el objeto " +":class:`~io.TextIOWrapper` es llevado inmediatamente a su buffer subyacente." #: ../Doc/whatsnew/3.3.rst:1495 msgid "itertools" @@ -3090,8 +3260,8 @@ msgid "" ":func:`~itertools.accumulate` now takes an optional ``func`` argument for " "providing a user-supplied binary function." msgstr "" -":func:`~itertools.accumulate` ahora toma un argumento opcional ``func`` para " -"proporcionar una función binaria proporcionada por el usuario." +":func:`~itertools.accumulate` ahora toma un argumento opcional ``func`` para" +" proporcionar una función binaria proporcionada por el usuario." #: ../Doc/whatsnew/3.3.rst:1502 msgid "logging" @@ -3100,8 +3270,8 @@ msgstr "logging" #: ../Doc/whatsnew/3.3.rst:1504 msgid "" "The :func:`~logging.basicConfig` function now supports an optional " -"``handlers`` argument taking an iterable of handlers to be added to the root " -"logger." +"``handlers`` argument taking an iterable of handlers to be added to the root" +" logger." msgstr "" "La función :func:`~logging.basicConfig` ahora admite un argumento opcional " "``handlers`` tomando un iterable de manejadores para agregarlo en el " @@ -3112,14 +3282,15 @@ msgid "" "A class level attribute :attr:`~logging.handlers.SysLogHandler.append_nul` " "has been added to :class:`~logging.handlers.SysLogHandler` to allow control " "of the appending of the ``NUL`` (``\\000``) byte to syslog records, since " -"for some daemons it is required while for others it is passed through to the " -"log." +"for some daemons it is required while for others it is passed through to the" +" log." msgstr "" -"Un atributo de nivel de la clase :attr:`~logging.handlers.SysLogHandler." -"append_nul` ha sido agregado a la clase :class:`~logging.handlers." -"SysLogHandler` para permitir el control de la adición de ``NUL`` (``\\000``) " -"byte a los registros de syslog, dado que para algunos demonios es requerido " -"mientras que para otros se pasa al registro." +"Un atributo de nivel de la clase " +":attr:`~logging.handlers.SysLogHandler.append_nul` ha sido agregado a la " +"clase :class:`~logging.handlers.SysLogHandler` para permitir el control de " +"la adición de ``NUL`` (``\\000``) byte a los registros de syslog, dado que " +"para algunos demonios es requerido mientras que para otros se pasa al " +"registro." #: ../Doc/whatsnew/3.3.rst:1515 msgid "math" @@ -3141,17 +3312,16 @@ msgstr "(Escrito por Mark Dickinson en :issue:`11888`.)" msgid "mmap" msgstr "mmap" -# cursiva a Bytes #: ../Doc/whatsnew/3.3.rst:1526 msgid "" "The :meth:`~mmap.mmap.read` method is now more compatible with other file-" "like objects: if the argument is omitted or specified as ``None``, it " -"returns the bytes from the current file position to the end of the mapping. " -"(Contributed by Petri Lehtinen in :issue:`12021`.)" +"returns the bytes from the current file position to the end of the mapping." +" (Contributed by Petri Lehtinen in :issue:`12021`.)" msgstr "" "El método :meth:`~mmap.mmap.read` ahora es más compatible con otros objetos " "similares a archivos: Si se omite el argumento o se especifica como " -"``None``, retorna los *bytes* desde la posición actual hasta el final del " +"``None``, retorna los bytes desde la posición actual hasta el final del " "mapeo. (Contribución de Petri Lehtinen en :issue:`12021`.)" #: ../Doc/whatsnew/3.3.rst:1533 @@ -3171,12 +3341,12 @@ msgstr "" #: ../Doc/whatsnew/3.3.rst:1539 msgid "" ":class:`multiprocessing.Connection` objects can now be transferred over " -"multiprocessing connections. (Contributed by Richard Oudkerk in :issue:" -"`4892`.)" +"multiprocessing connections. (Contributed by Richard Oudkerk in " +":issue:`4892`.)" msgstr "" -"Los objetos :class:`multiprocessing.Connection` ahora se pueden transferir a " -"través de conexiones de multiprocesamiento. (Contribución de Richard Oudkerk " -"en :issue:`4892`.)" +"Los objetos :class:`multiprocessing.Connection` ahora se pueden transferir a" +" través de conexiones de multiprocesamiento. (Contribución de Richard " +"Oudkerk en :issue:`4892`.)" #: ../Doc/whatsnew/3.3.rst:1543 msgid "" @@ -3191,42 +3361,44 @@ msgstr "" #: ../Doc/whatsnew/3.3.rst:1547 msgid "" "New attribute :data:`multiprocessing.Process.sentinel` allows a program to " -"wait on multiple :class:`~multiprocessing.Process` objects at one time using " -"the appropriate OS primitives (for example, :mod:`select` on posix systems)." +"wait on multiple :class:`~multiprocessing.Process` objects at one time using" +" the appropriate OS primitives (for example, :mod:`select` on posix " +"systems)." msgstr "" "Nuevo atributo :data:`multiprocessing.Process.sentinel` permite que un " -"programa espere múltiples objetos :class:`~multiprocessing.Process` a la vez " -"utilizando las primitivas adecuadas del sistema operativo (por ejemplo, :mod:" -"`select` en sistemas posix)." +"programa espere múltiples objetos :class:`~multiprocessing.Process` a la vez" +" utilizando las primitivas adecuadas del sistema operativo (por ejemplo, " +":mod:`select` en sistemas posix)." #: ../Doc/whatsnew/3.3.rst:1552 msgid "" -"New methods :meth:`multiprocessing.pool.Pool.starmap` and :meth:" -"`~multiprocessing.pool.Pool.starmap_async` provide :func:`itertools.starmap` " -"equivalents to the existing :meth:`multiprocessing.pool.Pool.map` and :meth:" -"`~multiprocessing.pool.Pool.map_async` functions. (Contributed by Hynek " -"Schlawack in :issue:`12708`.)" +"New methods :meth:`multiprocessing.pool.Pool.starmap` and " +":meth:`~multiprocessing.pool.Pool.starmap_async` provide " +":func:`itertools.starmap` equivalents to the existing " +":meth:`multiprocessing.pool.Pool.map` and " +":meth:`~multiprocessing.pool.Pool.map_async` functions. (Contributed by " +"Hynek Schlawack in :issue:`12708`.)" msgstr "" -"Los nuevos métodos :meth:`multiprocessing.pool.Pool.starmap` y :meth:" -"`~multiprocessing.pool.Pool.starmap_async` proporcionan :func:`itertools." -"starmap` equivalentes a las funciones existentes :meth:`multiprocessing.pool." -"Pool.map` y :meth:`~multiprocessing.pool.Pool.map_async`. (Contribución de " -"Hynek Schlawack en :issue:`12708`.)" +"Los nuevos métodos :meth:`multiprocessing.pool.Pool.starmap` y " +":meth:`~multiprocessing.pool.Pool.starmap_async` proporcionan " +":func:`itertools.starmap` equivalentes a las funciones existentes " +":meth:`multiprocessing.pool.Pool.map` y " +":meth:`~multiprocessing.pool.Pool.map_async`. (Contribución de Hynek " +"Schlawack en :issue:`12708`.)" #: ../Doc/whatsnew/3.3.rst:1561 msgid "nntplib" msgstr "nntplib" #: ../Doc/whatsnew/3.3.rst:1563 -#, fuzzy msgid "" "The :class:`!nntplib.NNTP` class now supports the context management " "protocol to unconditionally consume :exc:`socket.error` exceptions and to " "close the NNTP connection when done::" msgstr "" -"La :class:`nntplib.NNTP` ahora admite el protocolo de administración de " -"contexto para consumir incondicionalmente las excepciones :exc:`socket." -"error` y cerrar la conexión NNTP cuando esté listo::" +"La clase :class:`!nntplib.NNTP` ahora admite el protocolo de administración " +"de contexto para consumir incondicionalmente las excepciones " +":exc:`socket.error` y cerrar la conexión NNTP cuando finalice:" #: ../Doc/whatsnew/3.3.rst:1567 msgid "" @@ -3234,10 +3406,14 @@ msgid "" ">>> with NNTP('news.gmane.org') as n:\n" "... n.group('gmane.comp.python.committers')\n" "...\n" -"('211 1755 1 1755 gmane.comp.python.committers', 1755, 1, 1755, 'gmane.comp." -"python.committers')\n" +"('211 1755 1 1755 gmane.comp.python.committers', 1755, 1, 1755, 'gmane.comp.python.committers')\n" ">>>" msgstr "" +">>> from nntplib import NNTP\n" +">>> with NNTP('news.gmane.org') as n:\n" +"... n.group('gmane.comp.python.committers')\n" +"...\n" +"('211 1755 1 1755 gmane.comp.python.committers', 1755, 1, 1755, 'gmane.comp.python.committers')\n" #: ../Doc/whatsnew/3.3.rst:1574 msgid "(Contributed by Giampaolo Rodolà in :issue:`9795`.)" @@ -3250,14 +3426,14 @@ msgstr "os" #: ../Doc/whatsnew/3.3.rst:1580 msgid "" "The :mod:`os` module has a new :func:`~os.pipe2` function that makes it " -"possible to create a pipe with :const:`~os.O_CLOEXEC` or :const:`~os." -"O_NONBLOCK` flags set atomically. This is especially useful to avoid race " -"conditions in multi-threaded programs." +"possible to create a pipe with :const:`~os.O_CLOEXEC` or " +":const:`~os.O_NONBLOCK` flags set atomically. This is especially useful to " +"avoid race conditions in multi-threaded programs." msgstr "" "El módulo :mod:`os` tiene una nueva función :func:`~os.pipe2` que hace " -"posible crear una tubería con banderas :const:`~os.O_CLOEXEC` o :const:`~os." -"O_NONBLOCK` establecida automáticamente. Esto es especialmente útil para " -"evitar las condiciones de carrera en programas multi-hilos." +"posible crear una tubería con banderas :const:`~os.O_CLOEXEC` o " +":const:`~os.O_NONBLOCK` establecida automáticamente. Esto es especialmente " +"útil para evitar las condiciones de carrera en programas multi-hilos." #: ../Doc/whatsnew/3.3.rst:1585 msgid "" @@ -3265,18 +3441,18 @@ msgid "" "an efficient \"zero-copy\" way for copying data from one file (or socket) " "descriptor to another. The phrase \"zero-copy\" refers to the fact that all " "of the copying of data between the two descriptors is done entirely by the " -"kernel, with no copying of data into userspace buffers. :func:`~os.sendfile` " -"can be used to efficiently copy data from a file on disk to a network " +"kernel, with no copying of data into userspace buffers. :func:`~os.sendfile`" +" can be used to efficiently copy data from a file on disk to a network " "socket, e.g. for downloading a file." msgstr "" "El módulo :mod:`os` tiene una nueva función :func:`~os.sendfile` que " "proporciona una forma eficiente de \"copia cero\" para copiar datos desde " "un descriptor de archivo (o socket) a otro. La frase \"copia cero\" se " "refiere al hecho de que la copia de los datos entre dos descriptores es " -"realizada en su totalidad por el kernel, sin copiar los datos en los búferes " -"del espacio de usuario. La función :func:`~os.sendfile` puede ser usada para " -"copiar datos de forma eficiente desde un archivo en el disco a un conector " -"de red, por ejemplo para descargar un archivo." +"realizada en su totalidad por el kernel, sin copiar los datos en los búferes" +" del espacio de usuario. La función :func:`~os.sendfile` puede ser usada " +"para copiar datos de forma eficiente desde un archivo en el disco a un " +"conector de red, por ejemplo para descargar un archivo." #: ../Doc/whatsnew/3.3.rst:1593 msgid "" @@ -3289,72 +3465,75 @@ msgid "" "To avoid race conditions like symlink attacks and issues with temporary " "files and directories, it is more reliable (and also faster) to manipulate " "file descriptors instead of file names. Python 3.3 enhances existing " -"functions and introduces new functions to work on file descriptors (:issue:" -"`4761`, :issue:`10755` and :issue:`14626`)." +"functions and introduces new functions to work on file descriptors " +"(:issue:`4761`, :issue:`10755` and :issue:`14626`)." msgstr "" "Para evitar las condiciones de carrera, como los ataques symlink, y errores " "con archivos temporales y directorios, es preferible (y más rápido) " "manipular los descriptores de archivos en vez de los nombres de archivos. " -"Python 3.3 mejora las funciones existentes e introduce nuevas funciones para " -"trabajar con los descriptores de archivos (:issue:`4761`, :issue:`10755` " +"Python 3.3 mejora las funciones existentes e introduce nuevas funciones para" +" trabajar con los descriptores de archivos (:issue:`4761`, :issue:`10755` " "and :issue:`14626`)." #: ../Doc/whatsnew/3.3.rst:1601 msgid "" -"The :mod:`os` module has a new :func:`~os.fwalk` function similar to :func:" -"`~os.walk` except that it also yields file descriptors referring to the " -"directories visited. This is especially useful to avoid symlink races." +"The :mod:`os` module has a new :func:`~os.fwalk` function similar to " +":func:`~os.walk` except that it also yields file descriptors referring to " +"the directories visited. This is especially useful to avoid symlink races." msgstr "" -"El módulo :mod:`os` tiene una nueva función :func:`~os.fwalk` similar a :" -"func:`~os.walk` excepto que también incluye descriptores de archivos que se " -"refieren a los directorios visitados. Esto es especialmente útil para " +"El módulo :mod:`os` tiene una nueva función :func:`~os.fwalk` similar a " +":func:`~os.walk` excepto que también incluye descriptores de archivos que se" +" refieren a los directorios visitados. Esto es especialmente útil para " "prevenir las carreras de enlaces simbólicos." #: ../Doc/whatsnew/3.3.rst:1605 msgid "" "The following functions get new optional *dir_fd* (:ref:`paths relative to " "directory descriptors `) and/or *follow_symlinks* (:ref:`not " -"following symlinks `): :func:`~os.access`, :func:`~os." -"chflags`, :func:`~os.chmod`, :func:`~os.chown`, :func:`~os.link`, :func:`~os." -"lstat`, :func:`~os.mkdir`, :func:`~os.mkfifo`, :func:`~os.mknod`, :func:`~os." -"open`, :func:`~os.readlink`, :func:`~os.remove`, :func:`~os.rename`, :func:" -"`~os.replace`, :func:`~os.rmdir`, :func:`~os.stat`, :func:`~os.symlink`, :" -"func:`~os.unlink`, :func:`~os.utime`. Platform support for using these " -"parameters can be checked via the sets :data:`os.supports_dir_fd` and :data:" -"`os.supports_follows_symlinks`." +"following symlinks `): :func:`~os.access`, " +":func:`~os.chflags`, :func:`~os.chmod`, :func:`~os.chown`, :func:`~os.link`," +" :func:`~os.lstat`, :func:`~os.mkdir`, :func:`~os.mkfifo`, " +":func:`~os.mknod`, :func:`~os.open`, :func:`~os.readlink`, " +":func:`~os.remove`, :func:`~os.rename`, :func:`~os.replace`, " +":func:`~os.rmdir`, :func:`~os.stat`, :func:`~os.symlink`, " +":func:`~os.unlink`, :func:`~os.utime`. Platform support for using these " +"parameters can be checked via the sets :data:`os.supports_dir_fd` and " +":data:`os.supports_follows_symlinks`." msgstr "" "Las siguientes funciones tienen las nuevas opciones *dir_fd* (:ref:`rutas " -"relativas a descriptores de archivos `) y/o *follow_symlinks* (:ref:" -"`not following symlinks `): :func:`~os.access`, :func:`~os." -"chflags`, :func:`~os.chmod`, :func:`~os.chown`, :func:`~os.link`, :func:`~os." -"lstat`, :func:`~os.mkdir`, :func:`~os.mkfifo`, :func:`~os.mknod`, :func:`~os." -"open`, :func:`~os.readlink`, :func:`~os.remove`, :func:`~os.rename`, :func:" -"`~os.replace`, :func:`~os.rmdir`, :func:`~os.stat`, :func:`~os.symlink`, :" -"func:`~os.unlink`, :func:`~os.utime`. El soporte de la plataforma para usar " -"éstos parámetros puede verificarse a través de los conjuntos :data:`os." -"supports_dir_fd` and :data:`os.supports_follows_symlinks`." +"relativas a descriptores de archivos `) y/o *follow_symlinks* " +"(:ref:`not following symlinks `): :func:`~os.access`, " +":func:`~os.chflags`, :func:`~os.chmod`, :func:`~os.chown`, :func:`~os.link`," +" :func:`~os.lstat`, :func:`~os.mkdir`, :func:`~os.mkfifo`, " +":func:`~os.mknod`, :func:`~os.open`, :func:`~os.readlink`, " +":func:`~os.remove`, :func:`~os.rename`, :func:`~os.replace`, " +":func:`~os.rmdir`, :func:`~os.stat`, :func:`~os.symlink`, " +":func:`~os.unlink`, :func:`~os.utime`. El soporte de la plataforma para usar" +" éstos parámetros puede verificarse a través de los conjuntos " +":data:`os.supports_dir_fd` and :data:`os.supports_follows_symlinks`." #: ../Doc/whatsnew/3.3.rst:1616 msgid "" "The following functions now support a file descriptor for their path " -"argument: :func:`~os.chdir`, :func:`~os.chmod`, :func:`~os.chown`, :func:" -"`~os.execve`, :func:`~os.listdir`, :func:`~os.pathconf`, :func:`~os.path." -"exists`, :func:`~os.stat`, :func:`~os.statvfs`, :func:`~os.utime`. Platform " -"support for this can be checked via the :data:`os.supports_fd` set." +"argument: :func:`~os.chdir`, :func:`~os.chmod`, :func:`~os.chown`, " +":func:`~os.execve`, :func:`~os.listdir`, :func:`~os.pathconf`, " +":func:`~os.path.exists`, :func:`~os.stat`, :func:`~os.statvfs`, " +":func:`~os.utime`. Platform support for this can be checked via the " +":data:`os.supports_fd` set." msgstr "" "Las siguientes funciones ahora admiten un descriptor de archivos para su " -"argumento de ruta: :func:`~os.chdir`, :func:`~os.chmod`, :func:`~os.chown`, :" -"func:`~os.execve`, :func:`~os.listdir`, :func:`~os.pathconf`, :func:`~os." -"path.exists`, :func:`~os.stat`, :func:`~os.statvfs`, :func:`~os.utime`. El " -"soporte de la plataforma para ésto puede ser verificado a través del " -"conjunto :data:`os.supports_fd`." +"argumento de ruta: :func:`~os.chdir`, :func:`~os.chmod`, :func:`~os.chown`, " +":func:`~os.execve`, :func:`~os.listdir`, :func:`~os.pathconf`, " +":func:`~os.path.exists`, :func:`~os.stat`, :func:`~os.statvfs`, " +":func:`~os.utime`. El soporte de la plataforma para ésto puede ser " +"verificado a través del conjunto :data:`os.supports_fd`." #: ../Doc/whatsnew/3.3.rst:1622 msgid "" ":func:`~os.access` accepts an ``effective_ids`` keyword argument to turn on " "using the effective uid/gid rather than the real uid/gid in the access " -"check. Platform support for this can be checked via the :data:`~os." -"supports_effective_ids` set." +"check. Platform support for this can be checked via the " +":data:`~os.supports_effective_ids` set." msgstr "" ":func:`~os.access` acepta un argumento de palabra clave ``effective_ids`` " "acepta el uso del uid/gid efectivo en lugar del uid/gid real en la " @@ -3363,15 +3542,15 @@ msgstr "" #: ../Doc/whatsnew/3.3.rst:1627 msgid "" -"The :mod:`os` module has two new functions: :func:`~os.getpriority` and :" -"func:`~os.setpriority`. They can be used to get or set process niceness/" -"priority in a fashion similar to :func:`os.nice` but extended to all " -"processes instead of just the current one." +"The :mod:`os` module has two new functions: :func:`~os.getpriority` and " +":func:`~os.setpriority`. They can be used to get or set process " +"niceness/priority in a fashion similar to :func:`os.nice` but extended to " +"all processes instead of just the current one." msgstr "" -"El módulo :mod:`os` tiene dos nuevas funciones :func:`~os.getpriority` y :" -"func:`~os.setpriority`. Estas pueden ser usadas para establecer o recuperar " -"la prioridad en una forma similar a :func:`os.nice` pero extendidos a todos " -"los procesos en vez de solo al proceso actual." +"El módulo :mod:`os` tiene dos nuevas funciones :func:`~os.getpriority` y " +":func:`~os.setpriority`. Estas pueden ser usadas para establecer o recuperar" +" la prioridad en una forma similar a :func:`os.nice` pero extendidos a todos" +" los procesos en vez de solo al proceso actual." #: ../Doc/whatsnew/3.3.rst:1632 msgid "(Patch submitted by Giampaolo Rodolà in :issue:`10784`.)" @@ -3379,8 +3558,8 @@ msgstr "(Revisión enviada por Giampaolo Rodolà en :issue:`10784`.)" #: ../Doc/whatsnew/3.3.rst:1634 msgid "" -"The new :func:`os.replace` function allows cross-platform renaming of a file " -"with overwriting the destination. With :func:`os.rename`, an existing " +"The new :func:`os.replace` function allows cross-platform renaming of a file" +" with overwriting the destination. With :func:`os.rename`, an existing " "destination file is overwritten under POSIX, but raises an error under " "Windows. (Contributed by Antoine Pitrou in :issue:`8828`.)" msgstr "" @@ -3391,57 +3570,58 @@ msgstr "" #: ../Doc/whatsnew/3.3.rst:1640 msgid "" -"The stat family of functions (:func:`~os.stat`, :func:`~os.fstat`, and :func:" -"`~os.lstat`) now support reading a file's timestamps with nanosecond " +"The stat family of functions (:func:`~os.stat`, :func:`~os.fstat`, and " +":func:`~os.lstat`) now support reading a file's timestamps with nanosecond " "precision. Symmetrically, :func:`~os.utime` can now write file timestamps " -"with nanosecond precision. (Contributed by Larry Hastings in :issue:" -"`14127`.)" +"with nanosecond precision. (Contributed by Larry Hastings in " +":issue:`14127`.)" msgstr "" -"La familia de estadísticas de funciones (:func:`~os.stat`, :func:`~os." -"fstat`, y :func:`~os.lstat`) ahora admite la lectura de marcas de tiempo de " -"un archivo con precisión de nanosegundos. Simétricamente, :func:`~os.utime` " -"ahora puede escribir marcas de tiempo de archivos con precisión de " -"nanosegundos. (Contribución de Larry Hastings en :issue:`14127`.)" +"La familia de estadísticas de funciones (:func:`~os.stat`, " +":func:`~os.fstat`, y :func:`~os.lstat`) ahora admite la lectura de marcas de" +" tiempo de un archivo con precisión de nanosegundos. Simétricamente, " +":func:`~os.utime` ahora puede escribir marcas de tiempo de archivos con " +"precisión de nanosegundos. (Contribución de Larry Hastings en " +":issue:`14127`.)" #: ../Doc/whatsnew/3.3.rst:1646 msgid "" "The new :func:`os.get_terminal_size` function queries the size of the " -"terminal attached to a file descriptor. See also :func:`shutil." -"get_terminal_size`. (Contributed by Zbigniew Jędrzejewski-Szmek in :issue:" -"`13609`.)" +"terminal attached to a file descriptor. See also " +":func:`shutil.get_terminal_size`. (Contributed by Zbigniew Jędrzejewski-" +"Szmek in :issue:`13609`.)" msgstr "" "La nueva función :func:`os.get_terminal_size` consulta el tamaño del " -"terminal adjunto al descriptor del archivo. Vea también :func:`shutil." -"get_terminal_size`. (Contribución de Zbigniew Jędrzejewski-Szmek en :issue:" -"`13609`. )" +"terminal adjunto al descriptor del archivo. Vea también " +":func:`shutil.get_terminal_size`. (Contribución de Zbigniew Jędrzejewski-" +"Szmek en :issue:`13609`. )" #: ../Doc/whatsnew/3.3.rst:1653 msgid "" -"New functions to support Linux extended attributes (:issue:`12720`): :func:" -"`~os.getxattr`, :func:`~os.listxattr`, :func:`~os.removexattr`, :func:`~os." -"setxattr`." +"New functions to support Linux extended attributes (:issue:`12720`): " +":func:`~os.getxattr`, :func:`~os.listxattr`, :func:`~os.removexattr`, " +":func:`~os.setxattr`." msgstr "" -"Nuevas funciones para admitir atributos extendidos de Linux. (:issue:" -"`12720`): :func:`~os.getxattr`, :func:`~os.listxattr`, :func:`~os." -"removexattr`, :func:`~os.setxattr`." +"Nuevas funciones para admitir atributos extendidos de Linux. " +"(:issue:`12720`): :func:`~os.getxattr`, :func:`~os.listxattr`, " +":func:`~os.removexattr`, :func:`~os.setxattr`." #: ../Doc/whatsnew/3.3.rst:1657 msgid "" "New interface to the scheduler. These functions control how a process is " -"allocated CPU time by the operating system. New functions: :func:`~os." -"sched_get_priority_max`, :func:`~os.sched_get_priority_min`, :func:`~os." -"sched_getaffinity`, :func:`~os.sched_getparam`, :func:`~os." -"sched_getscheduler`, :func:`~os.sched_rr_get_interval`, :func:`~os." -"sched_setaffinity`, :func:`~os.sched_setparam`, :func:`~os." -"sched_setscheduler`, :func:`~os.sched_yield`," +"allocated CPU time by the operating system. New functions: " +":func:`~os.sched_get_priority_max`, :func:`~os.sched_get_priority_min`, " +":func:`~os.sched_getaffinity`, :func:`~os.sched_getparam`, " +":func:`~os.sched_getscheduler`, :func:`~os.sched_rr_get_interval`, " +":func:`~os.sched_setaffinity`, :func:`~os.sched_setparam`, " +":func:`~os.sched_setscheduler`, :func:`~os.sched_yield`," msgstr "" "Nueva interfaz para el planificador. Estas funciones controlan como el " -"sistema operativo le asigna tiempo de CPU a un proceso. Nuevas funciones: :" -"func:`~os.sched_get_priority_max`, :func:`~os.sched_get_priority_min`, :func:" -"`~os.sched_getaffinity`, :func:`~os.sched_getparam`, :func:`~os." -"sched_getscheduler`, :func:`~os.sched_rr_get_interval`, :func:`~os." -"sched_setaffinity`, :func:`~os.sched_setparam`, :func:`~os." -"sched_setscheduler`, :func:`~os.sched_yield`," +"sistema operativo le asigna tiempo de CPU a un proceso. Nuevas funciones: " +":func:`~os.sched_get_priority_max`, :func:`~os.sched_get_priority_min`, " +":func:`~os.sched_getaffinity`, :func:`~os.sched_getparam`, " +":func:`~os.sched_getscheduler`, :func:`~os.sched_rr_get_interval`, " +":func:`~os.sched_setaffinity`, :func:`~os.sched_setparam`, " +":func:`~os.sched_setscheduler`, :func:`~os.sched_yield`," #: ../Doc/whatsnew/3.3.rst:1666 msgid "New functions to control the file system:" @@ -3457,11 +3637,11 @@ msgstr "" #: ../Doc/whatsnew/3.3.rst:1670 msgid "" -":func:`~os.posix_fallocate`: Ensures that enough disk space is allocated for " -"a file." +":func:`~os.posix_fallocate`: Ensures that enough disk space is allocated for" +" a file." msgstr "" -":func:`~os.posix_fallocate`: Garantiza que se asigne el espacio suficiente a " -"un archivo." +":func:`~os.posix_fallocate`: Garantiza que se asigne el espacio suficiente a" +" un archivo." #: ../Doc/whatsnew/3.3.rst:1672 msgid ":func:`~os.sync`: Force write of everything to disk." @@ -3481,11 +3661,11 @@ msgstr "" #: ../Doc/whatsnew/3.3.rst:1677 msgid "" -":func:`~os.pread`: Read from a file descriptor at an offset, the file offset " -"remains unchanged." +":func:`~os.pread`: Read from a file descriptor at an offset, the file offset" +" remains unchanged." msgstr "" -":func:`~os.pread`: Leer desde un descriptor de archivo en un desplazamiento, " -"el desplazamiento del archivo permanece sin cambios." +":func:`~os.pread`: Leer desde un descriptor de archivo en un desplazamiento," +" el desplazamiento del archivo permanece sin cambios." #: ../Doc/whatsnew/3.3.rst:1679 msgid "" @@ -3535,8 +3715,8 @@ msgstr "" #: ../Doc/whatsnew/3.3.rst:1690 msgid "" -":func:`~os.times` and :func:`~os.uname`: Return type changed from a tuple to " -"a tuple-like object with named attributes." +":func:`~os.times` and :func:`~os.uname`: Return type changed from a tuple to" +" a tuple-like object with named attributes." msgstr "" ":func:`~os.times` and :func:`~os.uname`: El tipo de retorno cambió de tupla " "a un objeto tipo tupla con atributos con nombre." @@ -3546,25 +3726,26 @@ msgid "" "Some platforms now support additional constants for the :func:`~os.lseek` " "function, such as ``os.SEEK_HOLE`` and ``os.SEEK_DATA``." msgstr "" -"Varias plataformas admiten constantes adicionales para la función :func:`~os." -"lseek`, tal como ``os.SEEK_HOLE`` y ``os.SEEK_DATA``." +"Varias plataformas admiten constantes adicionales para la función " +":func:`~os.lseek`, tal como ``os.SEEK_HOLE`` y ``os.SEEK_DATA``." #: ../Doc/whatsnew/3.3.rst:1696 msgid "" -"New constants :const:`~os.RTLD_LAZY`, :const:`~os.RTLD_NOW`, :const:`~os." -"RTLD_GLOBAL`, :const:`~os.RTLD_LOCAL`, :const:`~os.RTLD_NODELETE`, :const:" -"`~os.RTLD_NOLOAD`, and :const:`~os.RTLD_DEEPBIND` are available on platforms " -"that support them. These are for use with the :func:`sys.setdlopenflags` " -"function, and supersede the similar constants defined in :mod:`ctypes` and :" -"mod:`DLFCN`. (Contributed by Victor Stinner in :issue:`13226`.)" -msgstr "" -"Nuevas constantes :const:`~os.RTLD_LAZY`, :const:`~os.RTLD_NOW`, :const:`~os." -"RTLD_GLOBAL`, :const:`~os.RTLD_LOCAL`, :const:`~os.RTLD_NODELETE`, :const:" -"`~os.RTLD_NOLOAD`, and :const:`~os.RTLD_DEEPBIND` están disponibles en " -"plataformas que las soporten. Éstas son para uso con la función :func:`sys." -"setdlopenflags`, y reemplazan las constantes similares definidas en :mod:" -"`ctypes` and :mod:`DLFCN`. (Contribución de Victor Stinner en :issue:" -"`13226`.)" +"New constants :const:`~os.RTLD_LAZY`, :const:`~os.RTLD_NOW`, " +":const:`~os.RTLD_GLOBAL`, :const:`~os.RTLD_LOCAL`, " +":const:`~os.RTLD_NODELETE`, :const:`~os.RTLD_NOLOAD`, and " +":const:`~os.RTLD_DEEPBIND` are available on platforms that support them. " +"These are for use with the :func:`sys.setdlopenflags` function, and " +"supersede the similar constants defined in :mod:`ctypes` and :mod:`DLFCN`. " +"(Contributed by Victor Stinner in :issue:`13226`.)" +msgstr "" +"Nuevas constantes :const:`~os.RTLD_LAZY`, :const:`~os.RTLD_NOW`, " +":const:`~os.RTLD_GLOBAL`, :const:`~os.RTLD_LOCAL`, " +":const:`~os.RTLD_NODELETE`, :const:`~os.RTLD_NOLOAD`, and " +":const:`~os.RTLD_DEEPBIND` están disponibles en plataformas que las " +"soporten. Éstas son para uso con la función :func:`sys.setdlopenflags`, y " +"reemplazan las constantes similares definidas en :mod:`ctypes` and " +":mod:`DLFCN`. (Contribución de Victor Stinner en :issue:`13226`.)" #: ../Doc/whatsnew/3.3.rst:1704 msgid "" @@ -3586,8 +3767,8 @@ msgid "" "are completed." msgstr "" "La finalización de tabulaciones ahora está disponible no solo para los " -"nombres de los comandos, sino también para sus argumentos. Por ejemplo, para " -"el comando ``break``, se completan las funciones y los nombres de archivo." +"nombres de los comandos, sino también para sus argumentos. Por ejemplo, para" +" el comando ``break``, se completan las funciones y los nombres de archivo." #: ../Doc/whatsnew/3.3.rst:1715 msgid "(Contributed by Georg Brandl in :issue:`14210`)" @@ -3599,11 +3780,12 @@ msgstr "pickle" #: ../Doc/whatsnew/3.3.rst:1721 msgid "" -":class:`pickle.Pickler` objects now have an optional :attr:`~pickle.Pickler." -"dispatch_table` attribute allowing per-pickler reduction functions to be set." +":class:`pickle.Pickler` objects now have an optional " +":attr:`~pickle.Pickler.dispatch_table` attribute allowing per-pickler " +"reduction functions to be set." msgstr "" -"Los objetos :class:`pickle.Pickler` ahora tienen un atributo opcional :attr:" -"`~pickle.Pickler.dispatch_table` que permite establecer funciones de " +"Los objetos :class:`pickle.Pickler` ahora tienen un atributo opcional " +":attr:`~pickle.Pickler.dispatch_table` que permite establecer funciones de " "reducción por recolector." #: ../Doc/whatsnew/3.3.rst:1725 @@ -3616,12 +3798,12 @@ msgstr "pydoc" #: ../Doc/whatsnew/3.3.rst:1731 msgid "" -"The Tk GUI and the :func:`~pydoc.serve` function have been removed from the :" -"mod:`pydoc` module: ``pydoc -g`` and :func:`~pydoc.serve` have been " +"The Tk GUI and the :func:`~pydoc.serve` function have been removed from the " +":mod:`pydoc` module: ``pydoc -g`` and :func:`~pydoc.serve` have been " "deprecated in Python 3.2." msgstr "" -"La Tk GUI y la función :func:`~pydoc.serve` han sido eliminadas del módulo :" -"mod:`pydoc`: ``pydoc -g`` y :func:`~pydoc.serve` han quedado obsoletos en " +"La Tk GUI y la función :func:`~pydoc.serve` han sido eliminadas del módulo " +":mod:`pydoc`: ``pydoc -g`` y :func:`~pydoc.serve` han quedado obsoletos en " "Python 3.2." #: ../Doc/whatsnew/3.3.rst:1737 @@ -3629,8 +3811,7 @@ msgid "re" msgstr "re" #: ../Doc/whatsnew/3.3.rst:1739 -msgid "" -":class:`str` regular expressions now support ``\\u`` and ``\\U`` escapes." +msgid ":class:`str` regular expressions now support ``\\u`` and ``\\U`` escapes." msgstr "" "Las expresiones regulares de la clase :class:`str` ahora admiten escapes de " "``\\u`` and ``\\U`` ." @@ -3654,15 +3835,15 @@ msgstr "" ":meth:`~sched.scheduler.run` ahora acepta un parámetro *blocking* que al " "configurarse en false, hace que el método ejecute los eventos planificados " "debido a la pronta expiración (si corresponde) y luego responde " -"inmediatamente. Esto es útil en caso de que quieras usar la :class:`~sched." -"scheduler` en aplicaciones sin bloqueo. (Contribución de Giampaolo Rodolà " -"in :issue:`13449`.)" +"inmediatamente. Esto es útil en caso de que quieras usar la " +":class:`~sched.scheduler` en aplicaciones sin bloqueo. (Contribución de " +"Giampaolo Rodolà in :issue:`13449`.)" #: ../Doc/whatsnew/3.3.rst:1753 msgid "" ":class:`~sched.scheduler` class can now be safely used in multi-threaded " -"environments. (Contributed by Josiah Carlson and Giampaolo Rodolà in :issue:" -"`8684`.)" +"environments. (Contributed by Josiah Carlson and Giampaolo Rodolà in " +":issue:`8684`.)" msgstr "" "La clase :class:`~sched.scheduler` ahora se puede utilizar de forma segura " "en entornos multiproceso. (Contribución por Josiah Carlson y Giampaolo " @@ -3671,32 +3852,34 @@ msgstr "" #: ../Doc/whatsnew/3.3.rst:1757 msgid "" "*timefunc* and *delayfunct* parameters of :class:`~sched.scheduler` class " -"constructor are now optional and defaults to :func:`time.time` and :func:" -"`time.sleep` respectively. (Contributed by Chris Clark in :issue:`13245`.)" +"constructor are now optional and defaults to :func:`time.time` and " +":func:`time.sleep` respectively. (Contributed by Chris Clark in " +":issue:`13245`.)" msgstr "" -"Los parámetros *timefunc* y *delayfunct* del constructor de la clase :class:" -"`~sched.scheduler` ahora son opcionales y tienen el valor predeterminado :" -"func:`time.time` y :func:`time.sleep` respectivamente. (Contribución de " -"Chris Clark en :issue:`13245`.)" +"Los parámetros *timefunc* y *delayfunct* del constructor de la clase " +":class:`~sched.scheduler` ahora son opcionales y tienen el valor " +"predeterminado :func:`time.time` y :func:`time.sleep` respectivamente. " +"(Contribución de Chris Clark en :issue:`13245`.)" #: ../Doc/whatsnew/3.3.rst:1762 msgid "" ":meth:`~sched.scheduler.enter` and :meth:`~sched.scheduler.enterabs` " -"*argument* parameter is now optional. (Contributed by Chris Clark in :issue:" -"`13245`.)" +"*argument* parameter is now optional. (Contributed by Chris Clark in " +":issue:`13245`.)" msgstr "" -"El parámetro *argument* de :meth:`~sched.scheduler.enter` and :meth:`~sched." -"scheduler.enterabs` ahora es opcional. (Contribución de Chris Clark en :" -"issue:`13245`.)" +"El parámetro *argument* de :meth:`~sched.scheduler.enter` and " +":meth:`~sched.scheduler.enterabs` ahora es opcional. (Contribución de Chris" +" Clark en :issue:`13245`.)" #: ../Doc/whatsnew/3.3.rst:1766 msgid "" ":meth:`~sched.scheduler.enter` and :meth:`~sched.scheduler.enterabs` now " -"accept a *kwargs* parameter. (Contributed by Chris Clark in :issue:`13245`.)" +"accept a *kwargs* parameter. (Contributed by Chris Clark in " +":issue:`13245`.)" msgstr "" ":meth:`~sched.scheduler.enter` y :meth:`~sched.scheduler.enterabs` ahora " -"aceptan un parámetro *kwargs*. (Contribución de Chris Clark en :issue:" -"`13245`.)" +"aceptan un parámetro *kwargs*. (Contribución de Chris Clark en " +":issue:`13245`.)" #: ../Doc/whatsnew/3.3.rst:1772 msgid "select" @@ -3708,26 +3891,27 @@ msgid "" "for high performance asynchronous sockets via :file:`/dev/poll`. " "(Contributed by Jesús Cea Avión in :issue:`6397`.)" msgstr "" -"Solaris y plataformas derivadas tienen una nueva clase :class:`select." -"devpoll` para sockets asincrónicos de alto rendimiento a través de :file:`/" -"dev/poll`. (Contribución de Jesús Cea Avión en :issue:`6397`.)" +"Solaris y plataformas derivadas tienen una nueva clase " +":class:`select.devpoll` para sockets asincrónicos de alto rendimiento a " +"través de :file:`/dev/poll`. (Contribución de Jesús Cea Avión en " +":issue:`6397`.)" #: ../Doc/whatsnew/3.3.rst:1780 msgid "shlex" msgstr "shlex" #: ../Doc/whatsnew/3.3.rst:1782 -#, fuzzy msgid "" -"The previously undocumented helper function ``quote`` from the :mod:`!pipes` " -"modules has been moved to the :mod:`shlex` module and documented. :func:" -"`~shlex.quote` properly escapes all characters in a string that might be " -"otherwise given special meaning by the shell." +"The previously undocumented helper function ``quote`` from the :mod:`!pipes`" +" modules has been moved to the :mod:`shlex` module and documented. " +":func:`~shlex.quote` properly escapes all characters in a string that might " +"be otherwise given special meaning by the shell." msgstr "" -"La función auxiliar previamente indocumentada ``quote`` de los módulos :mod:" -"`pipes` se ha movido al módulo :mod:`shlex` y se ha documentado. :func:" -"`~shlex.quote` escapa correctamente a todos los caracteres de una cadena " -"que de otro modo podría tener un significado especial por el shell." +"La función auxiliar ``quote``, que anteriormente no estaba documentada, de " +"los módulos :mod:`!pipes` se ha trasladado al módulo :mod:`shlex` y se ha " +"documentado. :func:`~shlex.quote` escapa correctamente todos los caracteres " +"de una cadena a la que, de otro modo, el shell podría asignarle un " +"significado especial." #: ../Doc/whatsnew/3.3.rst:1789 msgid "shutil" @@ -3742,9 +3926,9 @@ msgid "" ":func:`~shutil.disk_usage`: provides total, used and free disk space " "statistics. (Contributed by Giampaolo Rodolà in :issue:`12442`.)" msgstr "" -":func:`~shutil.disk_usage`: Proporciona estadísticas sobre el espacio total, " -"usado, y libre en el disco. (Contribución de Giampaolo Rodolà in :issue:" -"`12442`.)" +":func:`~shutil.disk_usage`: Proporciona estadísticas sobre el espacio total," +" usado, y libre en el disco. (Contribución de Giampaolo Rodolà in " +":issue:`12442`.)" #: ../Doc/whatsnew/3.3.rst:1795 msgid "" @@ -3758,8 +3942,8 @@ msgstr "" #: ../Doc/whatsnew/3.3.rst:1798 msgid "" -":func:`shutil.get_terminal_size`: returns the size of the terminal window to " -"which the interpreter is attached. (Contributed by Zbigniew Jędrzejewski-" +":func:`shutil.get_terminal_size`: returns the size of the terminal window to" +" which the interpreter is attached. (Contributed by Zbigniew Jędrzejewski-" "Szmek in :issue:`13609`.)" msgstr "" ":func:`shutil.get_terminal_size`: Retorna el tamaño de la ventana del " @@ -3769,14 +3953,15 @@ msgstr "" #: ../Doc/whatsnew/3.3.rst:1802 msgid "" ":func:`~shutil.copy2` and :func:`~shutil.copystat` now preserve file " -"timestamps with nanosecond precision on platforms that support it. They also " -"preserve file \"extended attributes\" on Linux. (Contributed by Larry " +"timestamps with nanosecond precision on platforms that support it. They also" +" preserve file \"extended attributes\" on Linux. (Contributed by Larry " "Hastings in :issue:`14127` and :issue:`15238`.)" msgstr "" ":func:`~shutil.copy2` and :func:`~shutil.copystat` ahora conservan las " "marcas de tiempo de archivos con precisión de nanosegundos en plataformas " "que lo soporten. También conservan los \"atributos extendidos\" de archivo " -"en Linux (Contribución de Larry Hastings en :issue:`14127` y :issue:`15238`.)" +"en Linux (Contribución de Larry Hastings en :issue:`14127` y " +":issue:`15238`.)" #: ../Doc/whatsnew/3.3.rst:1807 msgid "" @@ -3786,9 +3971,9 @@ msgid "" "Hynek Schlawack in :issue:`12715`.)" msgstr "" "Algunas funciones ahora toman un argumento opcional de ``symlinks``: Cuando " -"ese parámetro es verdadero, los enlaces simbólicos no se desreferencian y la " -"operación actúa en el enlace simbólico en sí. (o crea uno, si es relevante). " -"(Contribución de Hynek Schlawack in :issue:`12715`.)" +"ese parámetro es verdadero, los enlaces simbólicos no se desreferencian y la" +" operación actúa en el enlace simbólico en sí. (o crea uno, si es " +"relevante). (Contribución de Hynek Schlawack in :issue:`12715`.)" #: ../Doc/whatsnew/3.3.rst:1812 msgid "" @@ -3800,22 +3985,22 @@ msgid "" msgstr "" "Al copiar archivos a un sistema de archivos diferente, :func:`~shutil.move` " "ahora gestiona los enlaces simbólicos de la forma que lo hace el comando " -"``mv`` de posix, recreando el enlace simbólico en vez de copiar el contenido " -"del archivo de destino. (Contribución de Jonathan Niehof en :issue:`9993`.) :" -"func:`~shutil.move` ahora también retorna el argumento ``dst`` como " +"``mv`` de posix, recreando el enlace simbólico en vez de copiar el contenido" +" del archivo de destino. (Contribución de Jonathan Niehof en :issue:`9993`.)" +" :func:`~shutil.move` ahora también retorna el argumento ``dst`` como " "resultado." #: ../Doc/whatsnew/3.3.rst:1818 msgid "" ":func:`~shutil.rmtree` is now resistant to symlink attacks on platforms " -"which support the new ``dir_fd`` parameter in :func:`os.open` and :func:`os." -"unlink`. (Contributed by Martin von Löwis and Hynek Schlawack in :issue:" -"`4489`.)" +"which support the new ``dir_fd`` parameter in :func:`os.open` and " +":func:`os.unlink`. (Contributed by Martin von Löwis and Hynek Schlawack in " +":issue:`4489`.)" msgstr "" ":func:`~shutil.rmtree` ahora es resistente a los ataques de enlaces " -"simbólicos en plataformas que admiten el nuevo parámetro ``dir_fd`` en :func:" -"`os.open` y :func:`os.unlink`. (Contribución de Martin von Löwis and Hynek " -"Schlawack in :issue:`4489`.)" +"simbólicos en plataformas que admiten el nuevo parámetro ``dir_fd`` en " +":func:`os.open` y :func:`os.unlink`. (Contribución de Martin von Löwis and " +"Hynek Schlawack in :issue:`4489`.)" #: ../Doc/whatsnew/3.3.rst:1825 msgid "signal" @@ -3885,21 +4070,21 @@ msgid "smtpd" msgstr "smtpd" #: ../Doc/whatsnew/3.3.rst:1850 -#, fuzzy msgid "" -"The :mod:`!smtpd` module now supports :rfc:`5321` (extended SMTP) and :rfc:" -"`1870` (size extension). Per the standard, these extensions are enabled if " -"and only if the client initiates the session with an ``EHLO`` command." +"The :mod:`!smtpd` module now supports :rfc:`5321` (extended SMTP) and " +":rfc:`1870` (size extension). Per the standard, these extensions are " +"enabled if and only if the client initiates the session with an ``EHLO`` " +"command." msgstr "" -"El módulo :mod:`smtpd` ahora admite :rfc:`5321` (SMTP extendido) y :rfc:" -"`1870` (Ampliación de tamaño). Por lo general, éstas extensiones están " -"habilitadas si y solo si el cliente inicia la sesión con un comando ``EHLO``." +"El módulo :mod:`!smtpd` ahora es compatible con :rfc:`5321` (SMTP extendido)" +" y :rfc:`1870` (extensión de tamaño). Según el estándar, estas extensiones " +"se habilitan solo si el cliente inicia la sesión con un comando ``EHLO``." #: ../Doc/whatsnew/3.3.rst:1854 msgid "" "(Initial ``ELHO`` support by Alberto Trevino. Size extension by Juhana " -"Jauhiainen. Substantial additional work on the patch contributed by Michele " -"Orrù and Dan Boswell. :issue:`8739`)" +"Jauhiainen. Substantial additional work on the patch contributed by Michele" +" Orrù and Dan Boswell. :issue:`8739`)" msgstr "" "Soporte inicial de ``ELHO`` de Alberto Treviño. Ampliación de tamaño por " "Juhana Jauhiainen. Trabajo adicional sustancial en la revisión aportada por " @@ -3911,14 +4096,14 @@ msgstr "smtplib" #: ../Doc/whatsnew/3.3.rst:1862 msgid "" -"The :class:`~smtplib.SMTP`, :class:`~smtplib.SMTP_SSL`, and :class:`~smtplib." -"LMTP` classes now accept a ``source_address`` keyword argument to specify " -"the ``(host, port)`` to use as the source address in the bind call when " -"creating the outgoing socket. (Contributed by Paulo Scardine in :issue:" -"`11281`.)" +"The :class:`~smtplib.SMTP`, :class:`~smtplib.SMTP_SSL`, and " +":class:`~smtplib.LMTP` classes now accept a ``source_address`` keyword " +"argument to specify the ``(host, port)`` to use as the source address in the" +" bind call when creating the outgoing socket. (Contributed by Paulo " +"Scardine in :issue:`11281`.)" msgstr "" -"Las clases :class:`~smtplib.SMTP`, :class:`~smtplib.SMTP_SSL`, y :class:" -"`~smtplib.LMTP` ahora aceptan un argumento de palabra clave " +"Las clases :class:`~smtplib.SMTP`, :class:`~smtplib.SMTP_SSL`, y " +":class:`~smtplib.LMTP` ahora aceptan un argumento de palabra clave " "``source_address``, para especificar el ``(host, port)`` a usar como " "dirección de origen en la llamada de enlace al crear el socket saliente. " "(Contribución de Paulo Scardine en :issue:`11281`.)" @@ -3935,14 +4120,15 @@ msgstr "" #: ../Doc/whatsnew/3.3.rst:1872 msgid "" -"The :class:`~smtplib.SMTP_SSL` constructor and the :meth:`~smtplib.SMTP." -"starttls` method now accept an SSLContext parameter to control parameters of " -"the secure channel. (Contributed by Kasun Herath in :issue:`8809`.)" +"The :class:`~smtplib.SMTP_SSL` constructor and the " +":meth:`~smtplib.SMTP.starttls` method now accept an SSLContext parameter to " +"control parameters of the secure channel. (Contributed by Kasun Herath in " +":issue:`8809`.)" msgstr "" -"El constructor :class:`~smtplib.SMTP_SSL` y el método :meth:`~smtplib.SMTP." -"starttls` ahora aceptan un parámetro SSLContext, para controlar los " -"parámetros del canal seguro. (Contribución por Kasun Herath en :issue:" -"`8809`.)" +"El constructor :class:`~smtplib.SMTP_SSL` y el método " +":meth:`~smtplib.SMTP.starttls` ahora aceptan un parámetro SSLContext, para " +"controlar los parámetros del canal seguro. (Contribución por Kasun Herath en" +" :issue:`8809`.)" #: ../Doc/whatsnew/3.3.rst:1878 msgid "socket" @@ -3980,32 +4166,32 @@ msgstr "" #: ../Doc/whatsnew/3.3.rst:1890 msgid "" "The :class:`~socket.socket` class now supports the PF_CAN protocol family " -"(https://en.wikipedia.org/wiki/Socketcan), on Linux (https://lwn.net/" -"Articles/253425)." +"(https://en.wikipedia.org/wiki/Socketcan), on Linux " +"(https://lwn.net/Articles/253425)." msgstr "" "La clase :class:`~socket.socket` ahora admite la familia del protocolo " -"PF_CAN (https://en.wikipedia.org/wiki/Socketcan), en Linux (https://lwn.net/" -"Articles/253425)." +"PF_CAN (https://en.wikipedia.org/wiki/Socketcan), en Linux " +"(https://lwn.net/Articles/253425)." #: ../Doc/whatsnew/3.3.rst:1894 msgid "" -"(Contributed by Matthias Fuchs, updated by Tiago Gonçalves in :issue:" -"`10141`.)" +"(Contributed by Matthias Fuchs, updated by Tiago Gonçalves in " +":issue:`10141`.)" msgstr "" -"(Contribución de Matthias Fuchs, actualizado por Tiago Gonçalves en :issue:" -"`10141`.)" +"(Contribución de Matthias Fuchs, actualizado por Tiago Gonçalves en " +":issue:`10141`.)" #: ../Doc/whatsnew/3.3.rst:1896 msgid "" "The :class:`~socket.socket` class now supports the PF_RDS protocol family " -"(https://en.wikipedia.org/wiki/Reliable_Datagram_Sockets and `https://oss." -"oracle.com/projects/rds `__)." +"(https://en.wikipedia.org/wiki/Reliable_Datagram_Sockets and " +"`https://oss.oracle.com/projects/rds " +"`__)." msgstr "" "La clase :class:`~socket.socket` ahora admite la familia de protocolos " -"PF_RDS (https://en.wikipedia.org/wiki/Reliable_Datagram_Sockets y `https://" -"oss.oracle.com/projects/rds `__)." +"PF_RDS (https://en.wikipedia.org/wiki/Reliable_Datagram_Sockets y " +"`https://oss.oracle.com/projects/rds " +"`__)." #: ../Doc/whatsnew/3.3.rst:1900 msgid "" @@ -4013,8 +4199,8 @@ msgid "" "family on OS X. (Contributed by Michael Goderbauer in :issue:`13777`.)" msgstr "" "La clase :class:`~socket.socket` ahora admite la familia del protocolo " -"``PF_SYSTEM`` en OS X. (Contribución de Michael Goderbauer en :issue:" -"`13777`.)" +"``PF_SYSTEM`` en OS X. (Contribución de Michael Goderbauer en " +":issue:`13777`.)" #: ../Doc/whatsnew/3.3.rst:1903 msgid "" @@ -4022,8 +4208,8 @@ msgid "" "Unix systems if the calling process has sufficient privileges. (Contributed " "by Ross Lagerwall in :issue:`10866`.)" msgstr "" -"La nueva función :func:`~socket.sethostname` permite establecer el nombre de " -"host en sistemas Unix si el proceso de llamada tiene suficientes " +"La nueva función :func:`~socket.sethostname` permite establecer el nombre de" +" host en sistemas Unix si el proceso de llamada tiene suficientes " "privilegios. (Aportado por Ross Lagerwall en :issue:`10866`.)" #: ../Doc/whatsnew/3.3.rst:1909 @@ -4032,17 +4218,18 @@ msgstr "socketserver" #: ../Doc/whatsnew/3.3.rst:1911 msgid "" -":class:`~socketserver.BaseServer` now has an overridable method :meth:" -"`~socketserver.BaseServer.service_actions` that is called by the :meth:" -"`~socketserver.BaseServer.serve_forever` method in the service loop. :class:" -"`~socketserver.ForkingMixIn` now uses this to clean up zombie child " +":class:`~socketserver.BaseServer` now has an overridable method " +":meth:`~socketserver.BaseServer.service_actions` that is called by the " +":meth:`~socketserver.BaseServer.serve_forever` method in the service loop. " +":class:`~socketserver.ForkingMixIn` now uses this to clean up zombie child " "processes. (Contributed by Justin Warkentin in :issue:`11109`.)" msgstr "" -":class:`~socketserver.BaseServer` ahora tiene un método reemplazable :meth:" -"`~socketserver.BaseServer.service_actions` que es llamado por el método :" -"meth:`~socketserver.BaseServer.serve_forever` en el ciclo del servicio. :" -"class:`~socketserver.ForkingMixIn` ahora usa ésto para limpiar procesos " -"secundarios zombies. (Contribución de Justin Warkentin en :issue:`11109`.)" +":class:`~socketserver.BaseServer` ahora tiene un método reemplazable " +":meth:`~socketserver.BaseServer.service_actions` que es llamado por el " +"método :meth:`~socketserver.BaseServer.serve_forever` en el ciclo del " +"servicio. :class:`~socketserver.ForkingMixIn` ahora usa ésto para limpiar " +"procesos secundarios zombies. (Contribución de Justin Warkentin en " +":issue:`11109`.)" #: ../Doc/whatsnew/3.3.rst:1919 msgid "sqlite3" @@ -4050,14 +4237,15 @@ msgstr "sqlite3" #: ../Doc/whatsnew/3.3.rst:1921 msgid "" -"New :class:`sqlite3.Connection` method :meth:`~sqlite3.Connection." -"set_trace_callback` can be used to capture a trace of all sql commands " -"processed by sqlite. (Contributed by Torsten Landschoff in :issue:`11688`.)" +"New :class:`sqlite3.Connection` method " +":meth:`~sqlite3.Connection.set_trace_callback` can be used to capture a " +"trace of all sql commands processed by sqlite. (Contributed by Torsten " +"Landschoff in :issue:`11688`.)" msgstr "" -"Nuevo método :class:`sqlite3.Connection` :meth:`~sqlite3.Connection." -"set_trace_callback` puede ser usado para capturar un rastro de todos los " -"comandos sql procesados por sqlite. (Contribución de Torsten Landschoff en :" -"issue:`11688`.)" +"Nuevo método :class:`sqlite3.Connection` " +":meth:`~sqlite3.Connection.set_trace_callback` puede ser usado para capturar" +" un rastro de todos los comandos sql procesados por sqlite. (Contribución de" +" Torsten Landschoff en :issue:`11688`.)" #: ../Doc/whatsnew/3.3.rst:1928 msgid "ssl" @@ -4086,34 +4274,34 @@ msgstr "(Contribución de Victor Stinner en :issue:`12049`.)" #: ../Doc/whatsnew/3.3.rst:1938 msgid "" "The :mod:`ssl` module now exposes a finer-grained exception hierarchy in " -"order to make it easier to inspect the various kinds of errors. (Contributed " -"by Antoine Pitrou in :issue:`11183`.)" +"order to make it easier to inspect the various kinds of errors. (Contributed" +" by Antoine Pitrou in :issue:`11183`.)" msgstr "" -"El módulo :mod:`ssl` ahora expone una jerarquía de excepciones más detallada " -"para facilitar la inspección de varias clases de errores. (Contribución de " +"El módulo :mod:`ssl` ahora expone una jerarquía de excepciones más detallada" +" para facilitar la inspección de varias clases de errores. (Contribución de " "Antoine Pitrou en :issue:`11183`.)" #: ../Doc/whatsnew/3.3.rst:1942 msgid "" -":meth:`~ssl.SSLContext.load_cert_chain` now accepts a *password* argument to " -"be used if the private key is encrypted. (Contributed by Adam Simpkins in :" -"issue:`12803`.)" +":meth:`~ssl.SSLContext.load_cert_chain` now accepts a *password* argument to" +" be used if the private key is encrypted. (Contributed by Adam Simpkins in " +":issue:`12803`.)" msgstr "" -":meth:`~ssl.SSLContext.load_cert_chain` ahora acepta un argumento *password* " -"que será usado si la clave privada es encriptada. (Contribución de Adam " +":meth:`~ssl.SSLContext.load_cert_chain` ahora acepta un argumento *password*" +" que será usado si la clave privada es encriptada. (Contribución de Adam " "Simpkins en :issue:`12803`.)" #: ../Doc/whatsnew/3.3.rst:1946 msgid "" "Diffie-Hellman key exchange, both regular and Elliptic Curve-based, is now " -"supported through the :meth:`~ssl.SSLContext.load_dh_params` and :meth:`~ssl." -"SSLContext.set_ecdh_curve` methods. (Contributed by Antoine Pitrou in :issue:" -"`13626` and :issue:`13627`.)" +"supported through the :meth:`~ssl.SSLContext.load_dh_params` and " +":meth:`~ssl.SSLContext.set_ecdh_curve` methods. (Contributed by Antoine " +"Pitrou in :issue:`13626` and :issue:`13627`.)" msgstr "" -"El intercambio de claves Diffie-Hellman, tanto regular como basado en curvas " -"elípticas, ahora se admite a través de los métodos :meth:`~ ssl.SSLContext." -"load_dh_params` y :meth:`~ssl.SSLContext.set_ecdh_curve`. (Contribución de " -"Antoine Pitrou en :issue:`13626` y :issue:`13627`.)" +"El intercambio de claves Diffie-Hellman, tanto regular como basado en curvas" +" elípticas, ahora se admite a través de los métodos :meth:`~ " +"ssl.SSLContext.load_dh_params` y :meth:`~ssl.SSLContext.set_ecdh_curve`. " +"(Contribución de Antoine Pitrou en :issue:`13626` y :issue:`13627`.)" #: ../Doc/whatsnew/3.3.rst:1951 msgid "" @@ -4121,17 +4309,17 @@ msgid "" "allowing the implementation of certain authentication mechanisms such as " "SCRAM-SHA-1-PLUS. (Contributed by Jacek Konieczny in :issue:`12551`.)" msgstr "" -"Los sockets SSL tienen un nuevo método :meth:`~ssl.SSLSocket." -"get_channel_binding` que permite la implementación de ciertos mecanismos de " -"autenticación tales como SCRAM-SHA-1-PLUS. (Contribución por Jacek Konieczny " -"en :issue:`12551`.)" +"Los sockets SSL tienen un nuevo método " +":meth:`~ssl.SSLSocket.get_channel_binding` que permite la implementación de " +"ciertos mecanismos de autenticación tales como SCRAM-SHA-1-PLUS. " +"(Contribución por Jacek Konieczny en :issue:`12551`.)" #: ../Doc/whatsnew/3.3.rst:1955 msgid "" -"You can query the SSL compression algorithm used by an SSL socket, thanks to " -"its new :meth:`~ssl.SSLSocket.compression` method. The new attribute :const:" -"`~ssl.OP_NO_COMPRESSION` can be used to disable compression. (Contributed by " -"Antoine Pitrou in :issue:`13634`.)" +"You can query the SSL compression algorithm used by an SSL socket, thanks to" +" its new :meth:`~ssl.SSLSocket.compression` method. The new attribute " +":const:`~ssl.OP_NO_COMPRESSION` can be used to disable compression. " +"(Contributed by Antoine Pitrou in :issue:`13634`.)" msgstr "" "Puedes consultar el algoritmo de compresión SSL usado por un socket SSL, " "gracias a su nuevo método :meth:`~ssl.SSLSocket.compression`. El nuevo " @@ -4141,9 +4329,9 @@ msgstr "" # traduzco next protocol negotution? 3860 #: ../Doc/whatsnew/3.3.rst:1960 msgid "" -"Support has been added for the Next Protocol Negotiation extension using " -"the :meth:`ssl.SSLContext.set_npn_protocols` method. (Contributed by Colin " -"Marc in :issue:`14204`.)" +"Support has been added for the Next Protocol Negotiation extension using the" +" :meth:`ssl.SSLContext.set_npn_protocols` method. (Contributed by Colin Marc" +" in :issue:`14204`.)" msgstr "" "Se ha agregado soporte para la extensión *Next Protocol Negotiation* usando " "el método :meth:`ssl.SSLContext.set_npn_protocols`. (Contribución por Colin " @@ -4151,9 +4339,9 @@ msgstr "" #: ../Doc/whatsnew/3.3.rst:1964 msgid "" -"SSL errors can now be introspected more easily thanks to :attr:`~ssl." -"SSLError.library` and :attr:`~ssl.SSLError.reason` attributes. (Contributed " -"by Antoine Pitrou in :issue:`14837`.)" +"SSL errors can now be introspected more easily thanks to " +":attr:`~ssl.SSLError.library` and :attr:`~ssl.SSLError.reason` attributes. " +"(Contributed by Antoine Pitrou in :issue:`14837`.)" msgstr "" "Los errores de SSL ahora pueden introspectarse más fácilmente gracias a los " "atributos :attr:`~ssl.SSLError.library` y :attr:`~ssl.SSLError.reason`. " @@ -4169,14 +4357,14 @@ msgstr "" #: ../Doc/whatsnew/3.3.rst:1971 msgid "" -"New attribute :const:`~ssl.OP_CIPHER_SERVER_PREFERENCE` allows setting SSLv3 " -"server sockets to use the server's cipher ordering preference rather than " +"New attribute :const:`~ssl.OP_CIPHER_SERVER_PREFERENCE` allows setting SSLv3" +" server sockets to use the server's cipher ordering preference rather than " "the client's (:issue:`13635`)." msgstr "" "El nuevo atributo :const:`~ssl.OP_CIPHER_SERVER_PREFERENCE` permite " "configurar los sockets del servidor SSLv3 para usar la preferencia de " -"ordenación de cifrado del servidor en lugar de la del cliente. (:issue:" -"`13635`)." +"ordenación de cifrado del servidor en lugar de la del cliente. " +"(:issue:`13635`)." #: ../Doc/whatsnew/3.3.rst:1977 msgid "stat" @@ -4184,13 +4372,13 @@ msgstr "stat" #: ../Doc/whatsnew/3.3.rst:1979 msgid "" -"The undocumented tarfile.filemode function has been moved to :func:`stat." -"filemode`. It can be used to convert a file's mode to a string of the form '-" -"rwxrwxrwx'." +"The undocumented tarfile.filemode function has been moved to " +":func:`stat.filemode`. It can be used to convert a file's mode to a string " +"of the form '-rwxrwxrwx'." msgstr "" -"La función indocumentada tarfile.filemode ha sido movida a :func:`stat." -"filemode`. Este puede ser usado para convertir el modo de un archivo a una " -"cadena de la forma '-rwxrwxrwx'." +"La función indocumentada tarfile.filemode ha sido movida a " +":func:`stat.filemode`. Este puede ser usado para convertir el modo de un " +"archivo a una cadena de la forma '-rwxrwxrwx'." #: ../Doc/whatsnew/3.3.rst:1983 msgid "(Contributed by Giampaolo Rodolà in :issue:`14807`.)" @@ -4202,13 +4390,13 @@ msgstr "struct" #: ../Doc/whatsnew/3.3.rst:1989 msgid "" -"The :mod:`struct` module now supports :c:type:`ssize_t` and :c:type:`size_t` " -"via the new codes ``n`` and ``N``, respectively. (Contributed by Antoine " +"The :mod:`struct` module now supports :c:type:`ssize_t` and :c:type:`size_t`" +" via the new codes ``n`` and ``N``, respectively. (Contributed by Antoine " "Pitrou in :issue:`3163`.)" msgstr "" "El módulo :mod:`struct` ahora admite :c:type:`ssize_t` y :c:type:`size_t` a " -"través de los nuevos códigos ``n`` and ``N``, respectivamente. (Contribución " -"de Antoine Pitrou en :issue:`3163`.)" +"través de los nuevos códigos ``n`` and ``N``, respectivamente. (Contribución" +" de Antoine Pitrou en :issue:`3163`.)" #: ../Doc/whatsnew/3.3.rst:1995 msgid "subprocess" @@ -4225,12 +4413,12 @@ msgstr "" #: ../Doc/whatsnew/3.3.rst:2000 msgid "" "A new constant :const:`~subprocess.DEVNULL` allows suppressing output in a " -"platform-independent fashion. (Contributed by Ross Lagerwall in :issue:" -"`5870`.)" +"platform-independent fashion. (Contributed by Ross Lagerwall in " +":issue:`5870`.)" msgstr "" "Una nueva constante :const:`~subprocess.DEVNULL` permite suprimir la salida " -"de forma independiente de la plataforma. (Contribución de Ross Lagerwall en :" -"issue:`5870`.)" +"de forma independiente de la plataforma. (Contribución de Ross Lagerwall en " +":issue:`5870`.)" #: ../Doc/whatsnew/3.3.rst:2006 msgid "sys" @@ -4238,12 +4426,12 @@ msgstr "sys" #: ../Doc/whatsnew/3.3.rst:2008 msgid "" -"The :mod:`sys` module has a new :data:`~sys.thread_info` :term:`named tuple` " -"holding information about the thread implementation (:issue:`11223`)." +"The :mod:`sys` module has a new :data:`~sys.thread_info` :term:`named tuple`" +" holding information about the thread implementation (:issue:`11223`)." msgstr "" "El módulo :mod:`sys` tiene un nuevo :data:`~sys.thread_info` :term:`named " -"tuple` que almacena información sobre la implementación del hilo (:issue:" -"`11223`)." +"tuple` que almacena información sobre la implementación del hilo " +"(:issue:`11223`)." #: ../Doc/whatsnew/3.3.rst:2014 msgid "tarfile" @@ -4254,8 +4442,8 @@ msgid "" ":mod:`tarfile` now supports ``lzma`` encoding via the :mod:`lzma` module. " "(Contributed by Lars Gustäbel in :issue:`5689`.)" msgstr "" -":mod:`tarfile` ahora admite la codificación ``lzma`` a través del módulo :" -"mod:`lzma`. (Contribución de Lars Gustäbel en :issue:`5689`.)" +":mod:`tarfile` ahora admite la codificación ``lzma`` a través del módulo " +":mod:`lzma`. (Contribución de Lars Gustäbel en :issue:`5689`.)" #: ../Doc/whatsnew/3.3.rst:2021 msgid "tempfile" @@ -4263,13 +4451,13 @@ msgstr "tempfile" #: ../Doc/whatsnew/3.3.rst:2023 msgid "" -":class:`tempfile.SpooledTemporaryFile`\\'s :meth:`~tempfile." -"SpooledTemporaryFile.truncate` method now accepts a ``size`` parameter. " -"(Contributed by Ryan Kelly in :issue:`9957`.)" +":class:`tempfile.SpooledTemporaryFile`\\'s " +":meth:`~tempfile.SpooledTemporaryFile.truncate` method now accepts a " +"``size`` parameter. (Contributed by Ryan Kelly in :issue:`9957`.)" msgstr "" -"El método :class:`tempfile.SpooledTemporaryFile`\\'s :meth:`~tempfile." -"SpooledTemporaryFile.truncate` ahora acepta un parámetro ``size``. " -"(Contribución de Ryan Kelly en :issue:`9957`.)" +"El método :class:`tempfile.SpooledTemporaryFile`\\'s " +":meth:`~tempfile.SpooledTemporaryFile.truncate` ahora acepta un parámetro " +"``size``. (Contribución de Ryan Kelly en :issue:`9957`.)" #: ../Doc/whatsnew/3.3.rst:2029 msgid "textwrap" @@ -4278,12 +4466,12 @@ msgstr "textwrap" #: ../Doc/whatsnew/3.3.rst:2031 msgid "" "The :mod:`textwrap` module has a new :func:`~textwrap.indent` that makes it " -"straightforward to add a common prefix to selected lines in a block of text " -"(:issue:`13857`)." +"straightforward to add a common prefix to selected lines in a block of text" +" (:issue:`13857`)." msgstr "" "El módulo :mod:`textwrap` tiene una nueva función :func:`~textwrap.indent` " -"que facilita la adición de un prefijo común para las lineas seleccionadas en " -"un bloque de texto (:issue:`13857`)." +"que facilita la adición de un prefijo común para las lineas seleccionadas en" +" un bloque de texto (:issue:`13857`)." #: ../Doc/whatsnew/3.3.rst:2037 msgid "threading" @@ -4291,16 +4479,16 @@ msgstr "threading" #: ../Doc/whatsnew/3.3.rst:2039 msgid "" -":class:`threading.Condition`, :class:`threading.Semaphore`, :class:" -"`threading.BoundedSemaphore`, :class:`threading.Event`, and :class:" -"`threading.Timer`, all of which used to be factory functions returning a " -"class instance, are now classes and may be subclassed. (Contributed by Éric " -"Araujo in :issue:`10968`.)" +":class:`threading.Condition`, :class:`threading.Semaphore`, " +":class:`threading.BoundedSemaphore`, :class:`threading.Event`, and " +":class:`threading.Timer`, all of which used to be factory functions " +"returning a class instance, are now classes and may be subclassed. " +"(Contributed by Éric Araujo in :issue:`10968`.)" msgstr "" -":class:`threading.Condition`, :class:`threading.Semaphore`, :class:" -"`threading.BoundedSemaphore`, :class:`threading.Event`, y :class:`threading." -"Timer`, todas las cuales son usadas para ser funciones de fábrica que " -"retornen una instancia de clase, ahora son clases y pueden ser " +":class:`threading.Condition`, :class:`threading.Semaphore`, " +":class:`threading.BoundedSemaphore`, :class:`threading.Event`, y " +":class:`threading.Timer`, todas las cuales son usadas para ser funciones de " +"fábrica que retornen una instancia de clase, ahora son clases y pueden ser " "subclasificadas (Contribución de Éric Araujo in :issue:`10968`.)" #: ../Doc/whatsnew/3.3.rst:2045 @@ -4322,10 +4510,10 @@ msgid "" "that used ``_thread.get_ident`` should likewise be changed to use the new " "public interface." msgstr "" -"La función anteriormente privada ``_thread.get_ident`` ahora está disponible " -"como función pública :func:`threading.get_ident`. Ésto elimina varios casos " -"de acceso directo al módulo ``_thread`` en el stdlib. El código de terceros " -"que usaba ``_thread.get_ident`` debería de igual forma ser cambiado para " +"La función anteriormente privada ``_thread.get_ident`` ahora está disponible" +" como función pública :func:`threading.get_ident`. Ésto elimina varios casos" +" de acceso directo al módulo ``_thread`` en el stdlib. El código de terceros" +" que usaba ``_thread.get_ident`` debería de igual forma ser cambiado para " "usar la nueva interfaz pública." #: ../Doc/whatsnew/3.3.rst:2057 @@ -4345,8 +4533,8 @@ msgid "" ":func:`~time.monotonic`: Monotonic clock (cannot go backward), not affected " "by system clock updates." msgstr "" -":func:`~time.monotonic`: Reloj monotónico (no se puede retroceder), no se ve " -"afectado por la actualización del reloj del sistema." +":func:`~time.monotonic`: Reloj monotónico (no se puede retroceder), no se ve" +" afectado por la actualización del reloj del sistema." #: ../Doc/whatsnew/3.3.rst:2064 msgid "" @@ -4361,8 +4549,8 @@ msgid "" ":func:`~time.process_time`: Sum of the system and user CPU time of the " "current process." msgstr "" -":func:`~time.process_time`: Suma del tiempo de CPU del sistema y del usuario " -"del proceso actual." +":func:`~time.process_time`: Suma del tiempo de CPU del sistema y del usuario" +" del proceso actual." #: ../Doc/whatsnew/3.3.rst:2069 msgid "Other new functions:" @@ -4370,24 +4558,24 @@ msgstr "Otras nuevas funciones:" #: ../Doc/whatsnew/3.3.rst:2071 msgid "" -":func:`~time.clock_getres`, :func:`~time.clock_gettime` and :func:`~time." -"clock_settime` functions with :samp:`CLOCK_{xxx}` constants. (Contributed by " -"Victor Stinner in :issue:`10278`.)" +":func:`~time.clock_getres`, :func:`~time.clock_gettime` and " +":func:`~time.clock_settime` functions with :samp:`CLOCK_{xxx}` constants. " +"(Contributed by Victor Stinner in :issue:`10278`.)" msgstr "" -"Las funciones :func:`~time.clock_getres`, :func:`~time.clock_gettime` y :" -"func:`~time.clock_settime` con constantes :samp:`CLOCK_{xxx}` (Contribución " -"de Victor Stinner in :issue:`10278`.)" +"Las funciones :func:`~time.clock_getres`, :func:`~time.clock_gettime` y " +":func:`~time.clock_settime` con constantes :samp:`CLOCK_{xxx}` (Contribución" +" de Victor Stinner in :issue:`10278`.)" #: ../Doc/whatsnew/3.3.rst:2075 msgid "" -"To improve cross platform consistency, :func:`~time.sleep` now raises a :exc:" -"`ValueError` when passed a negative sleep value. Previously this was an " -"error on posix, but produced an infinite sleep on Windows." +"To improve cross platform consistency, :func:`~time.sleep` now raises a " +":exc:`ValueError` when passed a negative sleep value. Previously this was " +"an error on posix, but produced an infinite sleep on Windows." msgstr "" -"Para mejorar la consistencia entre plataformas, la función :func:`~time." -"sleep` ahora lanza un :exc:`ValueError` cuando se le pasa un valor negativo. " -"Esto era anteriormente un error en posix, pero producía una suspensión " -"definitiva en windows." +"Para mejorar la consistencia entre plataformas, la función " +":func:`~time.sleep` ahora lanza un :exc:`ValueError` cuando se le pasa un " +"valor negativo. Esto era anteriormente un error en posix, pero producía una " +"suspensión definitiva en windows." #: ../Doc/whatsnew/3.3.rst:2081 msgid "types" @@ -4404,12 +4592,12 @@ msgstr "" #: ../Doc/whatsnew/3.3.rst:2087 msgid "" "The new functions :func:`types.new_class` and :func:`types.prepare_class` " -"provide support for :pep:`3115` compliant dynamic type creation. (:issue:" -"`14588`)" +"provide support for :pep:`3115` compliant dynamic type creation. " +"(:issue:`14588`)" msgstr "" "Las nuevas funciones :func:`types.new_class` y :func:`types.prepare_class` " -"proporcionan soporte para la creación de tipos dinámicos compatibles. (:" -"issue:`14588`)" +"proporcionan soporte para la creación de tipos dinámicos compatibles. " +"(:issue:`14588`)" #: ../Doc/whatsnew/3.3.rst:2092 msgid "unittest" @@ -4417,14 +4605,14 @@ msgstr "unittest" #: ../Doc/whatsnew/3.3.rst:2094 msgid "" -":meth:`.assertRaises`, :meth:`.assertRaisesRegex`, :meth:`.assertWarns`, " -"and :meth:`.assertWarnsRegex` now accept a keyword argument *msg* when used " -"as context managers. (Contributed by Ezio Melotti and Winston Ewert in :" -"issue:`10775`.)" +":meth:`.assertRaises`, :meth:`.assertRaisesRegex`, :meth:`.assertWarns`, and" +" :meth:`.assertWarnsRegex` now accept a keyword argument *msg* when used as " +"context managers. (Contributed by Ezio Melotti and Winston Ewert in " +":issue:`10775`.)" msgstr "" -"Los métodos :meth:`.assertRaises`, :meth:`.assertRaisesRegex`, :meth:`." -"assertWarns`, y :meth:`.assertWarnsRegex` ahora aceptan un argumento de " -"palabra clave *msg* cuando son usados como administradores de contexto. " +"Los métodos :meth:`.assertRaises`, :meth:`.assertRaisesRegex`, " +":meth:`.assertWarns`, y :meth:`.assertWarnsRegex` ahora aceptan un argumento" +" de palabra clave *msg* cuando son usados como administradores de contexto. " "(Contribución por Ezio Melotti y Winston Ewert en :issue:`10775`.)" #: ../Doc/whatsnew/3.3.rst:2099 @@ -4432,8 +4620,8 @@ msgid "" ":meth:`unittest.TestCase.run` now returns the :class:`~unittest.TestResult` " "object." msgstr "" -":meth:`unittest.TestCase.run` ahora retorna el objeto :class:`~unittest." -"TestResult`." +":meth:`unittest.TestCase.run` ahora retorna el objeto " +":class:`~unittest.TestResult`." #: ../Doc/whatsnew/3.3.rst:2104 msgid "urllib" @@ -4445,14 +4633,14 @@ msgid "" "used by :meth:`~urllib.request.Request.get_method` to determine what HTTP " "method should be used. For example, this will send a ``'HEAD'`` request::" msgstr "" -"La clase :class:`~urllib.request.Request` ahora acepta un argumento *method* " -"usado por :meth:`~urllib.request.Request.get_method` para determinar que " +"La clase :class:`~urllib.request.Request` ahora acepta un argumento *method*" +" usado por :meth:`~urllib.request.Request.get_method` para determinar que " "método HTTP debería usarse. Por ejemplo, esto enviará una solicitud " "``'HEAD'``::" #: ../Doc/whatsnew/3.3.rst:2110 msgid ">>> urlopen(Request('https://www.python.org', method='HEAD'))" -msgstr "" +msgstr ">>> urlopen(Solicitud('https://www.python.org', método='HEAD'))" #: ../Doc/whatsnew/3.3.rst:2112 msgid "(:issue:`1673007`)" @@ -4465,20 +4653,20 @@ msgstr "webbrowser" #: ../Doc/whatsnew/3.3.rst:2118 msgid "" "The :mod:`webbrowser` module supports more \"browsers\": Google Chrome " -"(named :program:`chrome`, :program:`chromium`, :program:`chrome-browser` or :" -"program:`chromium-browser` depending on the version and operating system), " +"(named :program:`chrome`, :program:`chromium`, :program:`chrome-browser` or " +":program:`chromium-browser` depending on the version and operating system), " "and the generic launchers :program:`xdg-open`, from the FreeDesktop.org " "project, and :program:`gvfs-open`, which is the default URI handler for " -"GNOME 3. (The former contributed by Arnaud Calmettes in :issue:`13620`, the " -"latter by Matthias Klose in :issue:`14493`.)" +"GNOME 3. (The former contributed by Arnaud Calmettes in :issue:`13620`, the" +" latter by Matthias Klose in :issue:`14493`.)" msgstr "" "El módulo :mod:`webbrowser` admite más \"navegadores\": Google Chrome " "(llamado :program:`chrome`, :program:`chromium`, :program:`chrome-browser` " "or :program:`chromium-browser` dependiendo de la versión y del sistema " "operativo), y los lanzadores genéricos :program:`xdg-open`, del proyecto " "FreeDesktop.org, y :program:`gvfs-open`, el cual es el controlador URI " -"predeterminado para GNOME3. (El primero agregado por Arnaud Calmettes en :" -"issue:`13620`, el segundo por Matthias Klose en :issue:`14493`.)" +"predeterminado para GNOME3. (El primero agregado por Arnaud Calmettes en " +":issue:`13620`, el segundo por Matthias Klose en :issue:`14493`.)" #: ../Doc/whatsnew/3.3.rst:2128 msgid "xml.etree.ElementTree" @@ -4487,20 +4675,20 @@ msgstr "xml.etree.ElementTree" #: ../Doc/whatsnew/3.3.rst:2130 msgid "" "The :mod:`xml.etree.ElementTree` module now imports its C accelerator by " -"default; there is no longer a need to explicitly import :mod:`xml.etree." -"cElementTree` (this module stays for backwards compatibility, but is now " -"deprecated). In addition, the ``iter`` family of methods of :class:`~xml." -"etree.ElementTree.Element` has been optimized (rewritten in C). The module's " -"documentation has also been greatly improved with added examples and a more " -"detailed reference." +"default; there is no longer a need to explicitly import " +":mod:`xml.etree.cElementTree` (this module stays for backwards " +"compatibility, but is now deprecated). In addition, the ``iter`` family of" +" methods of :class:`~xml.etree.ElementTree.Element` has been optimized " +"(rewritten in C). The module's documentation has also been greatly improved " +"with added examples and a more detailed reference." msgstr "" "El módulo :mod:`xml.etree.ElementTree` ahora importa su acelerador C " -"predeterminado, ya no es necesario importar explícitamente :mod:`xml.etree." -"cElementTree` (Éste módulo permanece para compatibilidad con versiones " -"anteriores, pero ya está obsoleto). Además, la familia de métodos ``iter`` " -"de :class:`~xml.etree.ElementTree.Element` se ha optimizado (Reescrito en " -"C). La documentación del módulo también se ha mejorado mucho, con ejemplos " -"agregados y una referencia más detallada." +"predeterminado, ya no es necesario importar explícitamente " +":mod:`xml.etree.cElementTree` (Éste módulo permanece para compatibilidad con" +" versiones anteriores, pero ya está obsoleto). Además, la familia de métodos" +" ``iter`` de :class:`~xml.etree.ElementTree.Element` se ha optimizado " +"(Reescrito en C). La documentación del módulo también se ha mejorado mucho, " +"con ejemplos agregados y una referencia más detallada." #: ../Doc/whatsnew/3.3.rst:2140 msgid "zlib" @@ -4536,7 +4724,8 @@ msgstr "Se han agregado importantes mejoras de rendimiento:" #: ../Doc/whatsnew/3.3.rst:2156 msgid "" -"Thanks to :pep:`393`, some operations on Unicode strings have been optimized:" +"Thanks to :pep:`393`, some operations on Unicode strings have been " +"optimized:" msgstr "" "Gracias a :pep:`393`, algunas operaciones en las cadenas *Unicode* han sido " "optimizadas:" @@ -4562,22 +4751,23 @@ msgid "" "repeating a single ASCII letter and getting a substring of an ASCII string " "is 4 times faster" msgstr "" -"repetir una única letra ASCII y obtener una subcadena de una cadena ASCII es " -"4 veces más rápido" +"repetir una única letra ASCII y obtener una subcadena de una cadena ASCII es" +" 4 veces más rápido" #: ../Doc/whatsnew/3.3.rst:2165 -msgid "UTF-8 is now 2x to 4x faster. UTF-16 encoding is now up to 10x faster." +msgid "" +"UTF-8 is now 2x to 4x faster. UTF-16 encoding is now up to 10x faster." msgstr "" "UTF-8 ahora es 2x a 4x más rápido. La codificación UTF-16 ahora es 10x más " "rápida." #: ../Doc/whatsnew/3.3.rst:2167 msgid "" -"(Contributed by Serhiy Storchaka, :issue:`14624`, :issue:`14738` and :issue:" -"`15026`.)" +"(Contributed by Serhiy Storchaka, :issue:`14624`, :issue:`14738` and " +":issue:`15026`.)" msgstr "" -"(Contribución de Serhiy Storchaka, :issue:`14624`, :issue:`14738` y :issue:" -"`15026`.)" +"(Contribución de Serhiy Storchaka, :issue:`14624`, :issue:`14738` y " +":issue:`15026`.)" #: ../Doc/whatsnew/3.3.rst:2172 msgid "Build and C API Changes" @@ -4586,7 +4776,8 @@ msgstr "Construcción y cambios en la API de C" #: ../Doc/whatsnew/3.3.rst:2174 msgid "Changes to Python's build process and to the C API include:" msgstr "" -"Los cambios en el proceso de compilación de Python y en la API de C incluyen:" +"Los cambios en el proceso de compilación de Python y en la API de C " +"incluyen:" #: ../Doc/whatsnew/3.3.rst:2176 msgid "New :pep:`3118` related function:" @@ -4637,8 +4828,10 @@ msgid ":c:type:`Py_UCS1`, :c:type:`Py_UCS2`, :c:type:`Py_UCS4` types" msgstr "Tipos :c:type:`Py_UCS1`, :c:type:`Py_UCS2`, :c:type:`Py_UCS4`" #: ../Doc/whatsnew/3.3.rst:2194 -msgid ":c:type:`PyASCIIObject` and :c:type:`PyCompactUnicodeObject` structures" -msgstr "Estructuras :c:type:`PyASCIIObject` y :c:type:`PyCompactUnicodeObject`" +msgid "" +":c:type:`PyASCIIObject` and :c:type:`PyCompactUnicodeObject` structures" +msgstr "" +"Estructuras :c:type:`PyASCIIObject` y :c:type:`PyCompactUnicodeObject`" #: ../Doc/whatsnew/3.3.rst:2195 msgid ":c:macro:`PyUnicode_READY`" @@ -4654,29 +4847,29 @@ msgstr ":c:func:`PyUnicode_AsUCS4`, :c:func:`PyUnicode_AsUCS4Copy`" #: ../Doc/whatsnew/3.3.rst:2198 msgid "" -":c:macro:`PyUnicode_DATA`, :c:macro:`PyUnicode_1BYTE_DATA`, :c:macro:" -"`PyUnicode_2BYTE_DATA`, :c:macro:`PyUnicode_4BYTE_DATA`" +":c:macro:`PyUnicode_DATA`, :c:macro:`PyUnicode_1BYTE_DATA`, " +":c:macro:`PyUnicode_2BYTE_DATA`, :c:macro:`PyUnicode_4BYTE_DATA`" msgstr "" -":c:macro:`PyUnicode_DATA`, :c:macro:`PyUnicode_1BYTE_DATA`, :c:macro:" -"`PyUnicode_2BYTE_DATA`, :c:macro:`PyUnicode_4BYTE_DATA`" +":c:macro:`PyUnicode_DATA`, :c:macro:`PyUnicode_1BYTE_DATA`, " +":c:macro:`PyUnicode_2BYTE_DATA`, :c:macro:`PyUnicode_4BYTE_DATA`" #: ../Doc/whatsnew/3.3.rst:2200 msgid "" -":c:macro:`PyUnicode_KIND` with :c:enum:`PyUnicode_Kind` enum: :c:data:`!" -"PyUnicode_WCHAR_KIND`, :c:data:`PyUnicode_1BYTE_KIND`, :c:data:" -"`PyUnicode_2BYTE_KIND`, :c:data:`PyUnicode_4BYTE_KIND`" +":c:macro:`PyUnicode_KIND` with :c:enum:`PyUnicode_Kind` enum: " +":c:data:`!PyUnicode_WCHAR_KIND`, :c:data:`PyUnicode_1BYTE_KIND`, " +":c:data:`PyUnicode_2BYTE_KIND`, :c:data:`PyUnicode_4BYTE_KIND`" msgstr "" -":c:macro:`PyUnicode_KIND` con :c:enum:`PyUnicode_Kind` enum: :c:data:`!" -"PyUnicode_WCHAR_KIND`, :c:data:`PyUnicode_1BYTE_KIND`, :c:data:" -"`PyUnicode_2BYTE_KIND`, :c:data:`PyUnicode_4BYTE_KIND`" +":c:macro:`PyUnicode_KIND` con :c:enum:`PyUnicode_Kind` enum: " +":c:data:`!PyUnicode_WCHAR_KIND`, :c:data:`PyUnicode_1BYTE_KIND`, " +":c:data:`PyUnicode_2BYTE_KIND`, :c:data:`PyUnicode_4BYTE_KIND`" #: ../Doc/whatsnew/3.3.rst:2203 msgid "" -":c:macro:`PyUnicode_READ`, :c:macro:`PyUnicode_READ_CHAR`, :c:macro:" -"`PyUnicode_WRITE`" +":c:macro:`PyUnicode_READ`, :c:macro:`PyUnicode_READ_CHAR`, " +":c:macro:`PyUnicode_WRITE`" msgstr "" -":c:macro:`PyUnicode_READ`, :c:macro:`PyUnicode_READ_CHAR`, :c:macro:" -"`PyUnicode_WRITE`" +":c:macro:`PyUnicode_READ`, :c:macro:`PyUnicode_READ_CHAR`, " +":c:macro:`PyUnicode_WRITE`" #: ../Doc/whatsnew/3.3.rst:2204 msgid ":c:macro:`PyUnicode_MAX_CHAR_VALUE`" @@ -4732,8 +4925,8 @@ msgstr "" #: ../Doc/whatsnew/3.3.rst:2230 msgid "" -"The ``unicode_internal`` codec has been deprecated because of the :pep:" -"`393`, use UTF-8, UTF-16 (``utf-16-le`` or ``utf-16-be``), or UTF-32 " +"The ``unicode_internal`` codec has been deprecated because of the " +":pep:`393`, use UTF-8, UTF-16 (``utf-16-le`` or ``utf-16-be``), or UTF-32 " "(``utf-32-le`` or ``utf-32-be``)" msgstr "" "El códec ``unicode_internal`` quedó obsoleto a causa del :pep:`393`, use " @@ -4742,10 +4935,11 @@ msgstr "" #: ../Doc/whatsnew/3.3.rst:2233 msgid "" -":meth:`ftplib.FTP.nlst` and :meth:`ftplib.FTP.dir`: use :meth:`ftplib.FTP." -"mlsd`" +":meth:`ftplib.FTP.nlst` and :meth:`ftplib.FTP.dir`: use " +":meth:`ftplib.FTP.mlsd`" msgstr "" -":meth:`ftplib.FTP.nlst` y :meth:`ftplib.FTP.dir`: use :meth:`ftplib.FTP.mlsd`" +":meth:`ftplib.FTP.nlst` y :meth:`ftplib.FTP.dir`: use " +":meth:`ftplib.FTP.mlsd`" #: ../Doc/whatsnew/3.3.rst:2235 msgid "" @@ -4768,20 +4962,20 @@ msgstr "" #: ../Doc/whatsnew/3.3.rst:2240 msgid "" -":issue:`13988`: The :mod:`xml.etree.cElementTree` module is deprecated. The " -"accelerator is used automatically whenever available." +":issue:`13988`: The :mod:`xml.etree.cElementTree` module is deprecated. The" +" accelerator is used automatically whenever available." msgstr "" -":issue:`13988`: El módulo :mod:`xml.etree.cElementTree` ha quedado obsoleto. " -"El acelerador se utiliza automáticamente siempre que esté disponible." +":issue:`13988`: El módulo :mod:`xml.etree.cElementTree` ha quedado obsoleto." +" El acelerador se utiliza automáticamente siempre que esté disponible." #: ../Doc/whatsnew/3.3.rst:2242 msgid "" -"The behaviour of :func:`time.clock` depends on the platform: use the new :" -"func:`time.perf_counter` or :func:`time.process_time` function instead, " +"The behaviour of :func:`time.clock` depends on the platform: use the new " +":func:`time.perf_counter` or :func:`time.process_time` function instead, " "depending on your requirements, to have a well defined behaviour." msgstr "" -"El comportamiento de :func:`time.clock` depende de la plataforma: utilice la " -"nueva función :func:`time.perf_counter` o :func:`time.process_time` en su " +"El comportamiento de :func:`time.clock` depende de la plataforma: utilice la" +" nueva función :func:`time.perf_counter` o :func:`time.process_time` en su " "lugar, dependiendo de sus requerimientos, para tener un comportamiento bien " "definido." @@ -4799,10 +4993,10 @@ msgstr "paquete :mod:`importlib`:" #: ../Doc/whatsnew/3.3.rst:2257 msgid "" -":meth:`importlib.abc.SourceLoader.path_mtime` is now deprecated in favour " -"of :meth:`importlib.abc.SourceLoader.path_stats` as bytecode files now store " -"both the modification time and size of the source file the bytecode file was " -"compiled from." +":meth:`importlib.abc.SourceLoader.path_mtime` is now deprecated in favour of" +" :meth:`importlib.abc.SourceLoader.path_stats` as bytecode files now store " +"both the modification time and size of the source file the bytecode file was" +" compiled from." msgstr "" ":meth:`importlib.abc.SourceLoader.path_mtime` ha quedado obsoleto, a favor " "de :meth:`importlib.abc.SourceLoader.path_stats` ya que los archivos de " @@ -4824,43 +5018,45 @@ msgstr "" #: ../Doc/whatsnew/3.3.rst:2272 msgid "" -"Unicode functions and methods using :c:type:`Py_UNICODE` and :c:expr:" -"`Py_UNICODE*` types:" +"Unicode functions and methods using :c:type:`Py_UNICODE` and " +":c:expr:`Py_UNICODE*` types:" msgstr "" -"Funciones y métodos Unicode que utilizan los tipos :c:type:`Py_UNICODE` y :c:" -"expr:`Py_UNICODE*`:" +"Funciones y métodos Unicode que utilizan los tipos :c:type:`Py_UNICODE` y " +":c:expr:`Py_UNICODE*`:" #: ../Doc/whatsnew/3.3.rst:2275 msgid "" -":c:macro:`!PyUnicode_FromUnicode`: use :c:func:`PyUnicode_FromWideChar` or :" -"c:func:`PyUnicode_FromKindAndData`" +":c:macro:`!PyUnicode_FromUnicode`: use :c:func:`PyUnicode_FromWideChar` or " +":c:func:`PyUnicode_FromKindAndData`" msgstr "" -":c:macro:`!PyUnicode_FromUnicode`: use :c:func:`PyUnicode_FromWideChar` o :c:" -"func:`PyUnicode_FromKindAndData`" +":c:macro:`!PyUnicode_FromUnicode`: use :c:func:`PyUnicode_FromWideChar` o " +":c:func:`PyUnicode_FromKindAndData`" #: ../Doc/whatsnew/3.3.rst:2277 msgid "" -":c:macro:`!PyUnicode_AS_UNICODE`, :c:func:`!PyUnicode_AsUnicode`, :c:func:`!" -"PyUnicode_AsUnicodeAndSize`: use :c:func:`PyUnicode_AsWideCharString`" +":c:macro:`!PyUnicode_AS_UNICODE`, :c:func:`!PyUnicode_AsUnicode`, " +":c:func:`!PyUnicode_AsUnicodeAndSize`: use " +":c:func:`PyUnicode_AsWideCharString`" msgstr "" -":c:macro:`!PyUnicode_AS_UNICODE`, :c:func:`!PyUnicode_AsUnicode`, :c:func:`!" -"PyUnicode_AsUnicodeAndSize`: use :c:func:`PyUnicode_AsWideCharString`" +":c:macro:`!PyUnicode_AS_UNICODE`, :c:func:`!PyUnicode_AsUnicode`, " +":c:func:`!PyUnicode_AsUnicodeAndSize`: use " +":c:func:`PyUnicode_AsWideCharString`" #: ../Doc/whatsnew/3.3.rst:2279 msgid "" -":c:macro:`!PyUnicode_AS_DATA`: use :c:macro:`PyUnicode_DATA` with :c:macro:" -"`PyUnicode_READ` and :c:macro:`PyUnicode_WRITE`" +":c:macro:`!PyUnicode_AS_DATA`: use :c:macro:`PyUnicode_DATA` with " +":c:macro:`PyUnicode_READ` and :c:macro:`PyUnicode_WRITE`" msgstr "" -":c:macro:`!PyUnicode_AS_DATA`: use :c:macro:`PyUnicode_DATA` con :c:macro:" -"`PyUnicode_READ` y :c:macro:`PyUnicode_WRITE`" +":c:macro:`!PyUnicode_AS_DATA`: use :c:macro:`PyUnicode_DATA` con " +":c:macro:`PyUnicode_READ` y :c:macro:`PyUnicode_WRITE`" #: ../Doc/whatsnew/3.3.rst:2281 msgid "" -":c:macro:`!PyUnicode_GET_SIZE`, :c:func:`!PyUnicode_GetSize`: use :c:macro:" -"`PyUnicode_GET_LENGTH` or :c:func:`PyUnicode_GetLength`" +":c:macro:`!PyUnicode_GET_SIZE`, :c:func:`!PyUnicode_GetSize`: use " +":c:macro:`PyUnicode_GET_LENGTH` or :c:func:`PyUnicode_GetLength`" msgstr "" -":c:macro:`!PyUnicode_GET_SIZE`, :c:func:`!PyUnicode_GetSize`: use :c:macro:" -"`PyUnicode_GET_LENGTH` o :c:func:`PyUnicode_GetLength`" +":c:macro:`!PyUnicode_GET_SIZE`, :c:func:`!PyUnicode_GetSize`: use " +":c:macro:`PyUnicode_GET_LENGTH` o :c:func:`PyUnicode_GetLength`" #: ../Doc/whatsnew/3.3.rst:2283 msgid "" @@ -4872,11 +5068,11 @@ msgstr "" #: ../Doc/whatsnew/3.3.rst:2286 msgid "" -":c:func:`!PyUnicode_AsUnicodeCopy`: use :c:func:`PyUnicode_AsUCS4Copy` or :c:" -"func:`PyUnicode_AsWideCharString`" +":c:func:`!PyUnicode_AsUnicodeCopy`: use :c:func:`PyUnicode_AsUCS4Copy` or " +":c:func:`PyUnicode_AsWideCharString`" msgstr "" -":c:func:`!PyUnicode_AsUnicodeCopy`: use :c:func:`PyUnicode_AsUCS4Copy` o :c:" -"func:`PyUnicode_AsWideCharString`" +":c:func:`!PyUnicode_AsUnicodeCopy`: use :c:func:`PyUnicode_AsUCS4Copy` o " +":c:func:`PyUnicode_AsWideCharString`" #: ../Doc/whatsnew/3.3.rst:2288 msgid ":c:func:`!PyUnicode_GetMax`" @@ -4888,29 +5084,29 @@ msgstr "Funciones y macros que manipulen cadenas de caracteres Py_UNICODE*:" #: ../Doc/whatsnew/3.3.rst:2293 msgid "" -":c:macro:`!Py_UNICODE_strlen()`: use :c:func:`PyUnicode_GetLength` or :c:" -"macro:`PyUnicode_GET_LENGTH`" +":c:macro:`!Py_UNICODE_strlen()`: use :c:func:`PyUnicode_GetLength` or " +":c:macro:`PyUnicode_GET_LENGTH`" msgstr "" -":c:macro:`!Py_UNICODE_strlen`: use :c:func:`PyUnicode_GetLength` o :c:macro:" -"`PyUnicode_GET_LENGTH`" +":c:macro:`!Py_UNICODE_strlen`: use :c:func:`PyUnicode_GetLength` o " +":c:macro:`PyUnicode_GET_LENGTH`" #: ../Doc/whatsnew/3.3.rst:2295 msgid "" -":c:macro:`!Py_UNICODE_strcat()`: use :c:func:`PyUnicode_CopyCharacters` or :" -"c:func:`PyUnicode_FromFormat`" +":c:macro:`!Py_UNICODE_strcat()`: use :c:func:`PyUnicode_CopyCharacters` or " +":c:func:`PyUnicode_FromFormat`" msgstr "" -":c:macro:`!Py_UNICODE_strcat`: use :c:func:`PyUnicode_CopyCharacters` o :c:" -"func:`PyUnicode_FromFormat`" +":c:macro:`!Py_UNICODE_strcat`: use :c:func:`PyUnicode_CopyCharacters` o " +":c:func:`PyUnicode_FromFormat`" #: ../Doc/whatsnew/3.3.rst:2297 msgid "" -":c:macro:`!Py_UNICODE_strcpy()`, :c:macro:`!Py_UNICODE_strncpy()`, :c:macro:" -"`!Py_UNICODE_COPY()`: use :c:func:`PyUnicode_CopyCharacters` or :c:func:" -"`PyUnicode_Substring`" +":c:macro:`!Py_UNICODE_strcpy()`, :c:macro:`!Py_UNICODE_strncpy()`, " +":c:macro:`!Py_UNICODE_COPY()`: use :c:func:`PyUnicode_CopyCharacters` or " +":c:func:`PyUnicode_Substring`" msgstr "" -":c:macro:`!Py_UNICODE_strcpy`, :c:macro:`!Py_UNICODE_strncpy`, :c:macro:`!" -"Py_UNICODE_COPY`: use :c:func:`PyUnicode_CopyCharacters` o :c:func:" -"`PyUnicode_Substring`" +":c:macro:`!Py_UNICODE_strcpy`, :c:macro:`!Py_UNICODE_strncpy`, " +":c:macro:`!Py_UNICODE_COPY`: use :c:func:`PyUnicode_CopyCharacters` o " +":c:func:`PyUnicode_Substring`" #: ../Doc/whatsnew/3.3.rst:2300 msgid ":c:macro:`!Py_UNICODE_strcmp()`: use :c:func:`PyUnicode_Compare`" @@ -4922,11 +5118,11 @@ msgstr ":c:macro:`!Py_UNICODE_strncmp()`: use :c:func:`PyUnicode_Tailmatch`" #: ../Doc/whatsnew/3.3.rst:2302 msgid "" -":c:macro:`!Py_UNICODE_strchr()`, :c:macro:`!Py_UNICODE_strrchr()`: use :c:" -"func:`PyUnicode_FindChar`" +":c:macro:`!Py_UNICODE_strchr()`, :c:macro:`!Py_UNICODE_strrchr()`: use " +":c:func:`PyUnicode_FindChar`" msgstr "" -":c:macro:`!Py_UNICODE_strchr()`, :c:macro:`!Py_UNICODE_strrchr()`: use :c:" -"func:`PyUnicode_FindChar`" +":c:macro:`!Py_UNICODE_strchr()`, :c:macro:`!Py_UNICODE_strrchr()`: use " +":c:func:`PyUnicode_FindChar`" #: ../Doc/whatsnew/3.3.rst:2304 msgid ":c:macro:`!Py_UNICODE_FILL()`: use :c:func:`PyUnicode_Fill`" @@ -4950,11 +5146,11 @@ msgstr ":c:func:`!PyUnicode_EncodeUTF7`" #: ../Doc/whatsnew/3.3.rst:2311 msgid "" -":c:func:`!PyUnicode_EncodeUTF8`: use :c:func:`PyUnicode_AsUTF8` or :c:func:" -"`PyUnicode_AsUTF8String`" +":c:func:`!PyUnicode_EncodeUTF8`: use :c:func:`PyUnicode_AsUTF8` or " +":c:func:`PyUnicode_AsUTF8String`" msgstr "" -":c:func:`!PyUnicode_EncodeUTF8`: use :c:func:`PyUnicode_AsUTF8` o :c:func:" -"`PyUnicode_AsUTF8String`" +":c:func:`!PyUnicode_EncodeUTF8`: use :c:func:`PyUnicode_AsUTF8` o " +":c:func:`PyUnicode_AsUTF8String`" #: ../Doc/whatsnew/3.3.rst:2313 msgid ":c:func:`!PyUnicode_EncodeUTF32`" @@ -4966,19 +5162,19 @@ msgstr ":c:func:`!PyUnicode_EncodeUTF16`" #: ../Doc/whatsnew/3.3.rst:2315 msgid "" -":c:func:`!PyUnicode_EncodeUnicodeEscape` use :c:func:" -"`PyUnicode_AsUnicodeEscapeString`" +":c:func:`!PyUnicode_EncodeUnicodeEscape` use " +":c:func:`PyUnicode_AsUnicodeEscapeString`" msgstr "" -":c:func:`!PyUnicode_EncodeUnicodeEscape` use :c:func:" -"`PyUnicode_AsUnicodeEscapeString`" +":c:func:`!PyUnicode_EncodeUnicodeEscape` use " +":c:func:`PyUnicode_AsUnicodeEscapeString`" #: ../Doc/whatsnew/3.3.rst:2317 msgid "" -":c:func:`!PyUnicode_EncodeRawUnicodeEscape` use :c:func:" -"`PyUnicode_AsRawUnicodeEscapeString`" +":c:func:`!PyUnicode_EncodeRawUnicodeEscape` use " +":c:func:`PyUnicode_AsRawUnicodeEscapeString`" msgstr "" -":c:func:`!PyUnicode_EncodeRawUnicodeEscape` use :c:func:" -"`PyUnicode_AsRawUnicodeEscapeString`" +":c:func:`!PyUnicode_EncodeRawUnicodeEscape` use " +":c:func:`PyUnicode_AsRawUnicodeEscapeString`" #: ../Doc/whatsnew/3.3.rst:2319 msgid "" @@ -4987,7 +5183,8 @@ msgstr "" ":c:func:`!PyUnicode_EncodeLatin1`: use :c:func:`PyUnicode_AsLatin1String`" #: ../Doc/whatsnew/3.3.rst:2320 -msgid ":c:func:`!PyUnicode_EncodeASCII`: use :c:func:`PyUnicode_AsASCIIString`" +msgid "" +":c:func:`!PyUnicode_EncodeASCII`: use :c:func:`PyUnicode_AsASCIIString`" msgstr "" ":c:func:`!PyUnicode_EncodeASCII`: use :c:func:`PyUnicode_AsASCIIString`" @@ -5001,19 +5198,19 @@ msgstr ":c:func:`!PyUnicode_TranslateCharmap`" #: ../Doc/whatsnew/3.3.rst:2323 msgid "" -":c:func:`!PyUnicode_EncodeMBCS`: use :c:func:`PyUnicode_AsMBCSString` or :c:" -"func:`PyUnicode_EncodeCodePage` (with ``CP_ACP`` code_page)" +":c:func:`!PyUnicode_EncodeMBCS`: use :c:func:`PyUnicode_AsMBCSString` or " +":c:func:`PyUnicode_EncodeCodePage` (with ``CP_ACP`` code_page)" msgstr "" -":c:func:`!PyUnicode_EncodeMBCS`: use :c:func:`PyUnicode_AsMBCSString` o :c:" -"func:`PyUnicode_EncodeCodePage` (con ``CP_ACP`` code_page)" +":c:func:`!PyUnicode_EncodeMBCS`: use :c:func:`PyUnicode_AsMBCSString` o " +":c:func:`PyUnicode_EncodeCodePage` (con ``CP_ACP`` code_page)" #: ../Doc/whatsnew/3.3.rst:2325 msgid "" -":c:func:`!PyUnicode_EncodeDecimal`, :c:func:`!" -"PyUnicode_TransformDecimalToASCII`" +":c:func:`!PyUnicode_EncodeDecimal`, " +":c:func:`!PyUnicode_TransformDecimalToASCII`" msgstr "" -":c:func:`!PyUnicode_EncodeDecimal`, :c:func:`!" -"PyUnicode_TransformDecimalToASCII`" +":c:func:`!PyUnicode_EncodeDecimal`, " +":c:func:`!PyUnicode_TransformDecimalToASCII`" #: ../Doc/whatsnew/3.3.rst:2330 msgid "Deprecated features" @@ -5022,11 +5219,12 @@ msgstr "Características obsoletas" #: ../Doc/whatsnew/3.3.rst:2332 msgid "" "The :mod:`array` module's ``'u'`` format code is now deprecated and will be " -"removed in Python 4 together with the rest of the (:c:type:`Py_UNICODE`) API." +"removed in Python 4 together with the rest of the (:c:type:`Py_UNICODE`) " +"API." msgstr "" "El código del formato ``'u'`` del módulo :mod:`array` ha quedado obsoleto y " -"será eliminado en Python 4, junto con el resto de la API (:c:type:" -"`Py_UNICODE`)." +"será eliminado en Python 4, junto con el resto de la API " +"(:c:type:`Py_UNICODE`)." #: ../Doc/whatsnew/3.3.rst:2337 msgid "Porting to Python 3.3" @@ -5047,20 +5245,20 @@ msgstr "Portando código Python" #: ../Doc/whatsnew/3.3.rst:2347 msgid "" "Hash randomization is enabled by default. Set the :envvar:`PYTHONHASHSEED` " -"environment variable to ``0`` to disable hash randomization. See also the :" -"meth:`object.__hash__` method." +"environment variable to ``0`` to disable hash randomization. See also the " +":meth:`object.__hash__` method." msgstr "" "La aleatoriedad de Hash ha sido habilitada de forma predeterminada. " "Establezca la variable de entorno :envvar:`PYTHONHASHSEED` a 0, para " -"deshabilitar la aleatoriedad de Hash. Vea también el método :meth:`object." -"__hash__` method." +"deshabilitar la aleatoriedad de Hash. Vea también el método " +":meth:`object.__hash__` method." #: ../Doc/whatsnew/3.3.rst:2351 msgid "" ":issue:`12326`: On Linux, sys.platform doesn't contain the major version " -"anymore. It is now always 'linux', instead of 'linux2' or 'linux3' depending " -"on the Linux version used to build Python. Replace sys.platform == 'linux2' " -"with sys.platform.startswith('linux'), or directly sys.platform == 'linux' " +"anymore. It is now always 'linux', instead of 'linux2' or 'linux3' depending" +" on the Linux version used to build Python. Replace sys.platform == 'linux2'" +" with sys.platform.startswith('linux'), or directly sys.platform == 'linux' " "if you don't need to support older Python versions." msgstr "" ":issue:`12326`: En Linux, sys.platform ya no contiene la versión principal. " @@ -5071,31 +5269,30 @@ msgstr "" #: ../Doc/whatsnew/3.3.rst:2357 msgid "" -":issue:`13847`, :issue:`14180`: :mod:`time` and :mod:`datetime`: :exc:" -"`OverflowError` is now raised instead of :exc:`ValueError` if a timestamp is " -"out of range. :exc:`OSError` is now raised if C functions :c:func:`gmtime` " -"or :c:func:`localtime` failed." +":issue:`13847`, :issue:`14180`: :mod:`time` and :mod:`datetime`: " +":exc:`OverflowError` is now raised instead of :exc:`ValueError` if a " +"timestamp is out of range. :exc:`OSError` is now raised if C functions " +":c:func:`gmtime` or :c:func:`localtime` failed." msgstr "" -":issue:`13847`, :issue:`14180`: :mod:`time` y :mod:`datetime`: :exc:" -"`OverflowError` ahora se lanza en lugar de :exc:`ValueError` si una marca de " -"tiempo está fuera de rango. :exc:`OSError` ahora se genera si fallaron las " -"funciones C :c:func:`gmtime` o :c:func:`localtime`." +":issue:`13847`, :issue:`14180`: :mod:`time` y :mod:`datetime`: " +":exc:`OverflowError` ahora se lanza en lugar de :exc:`ValueError` si una " +"marca de tiempo está fuera de rango. :exc:`OSError` ahora se genera si " +"fallaron las funciones C :c:func:`gmtime` o :c:func:`localtime`." #: ../Doc/whatsnew/3.3.rst:2362 msgid "" "The default finders used by import now utilize a cache of what is contained " "within a specific directory. If you create a Python source file or " -"sourceless bytecode file, make sure to call :func:`importlib." -"invalidate_caches` to clear out the cache for the finders to notice the new " -"file." +"sourceless bytecode file, make sure to call " +":func:`importlib.invalidate_caches` to clear out the cache for the finders " +"to notice the new file." msgstr "" -"Los buscadores predeterminados usados para las importaciones, ahora utilizan " -"un caché de lo que está contenido en un directorio específico. Si crea un " +"Los buscadores predeterminados usados para las importaciones, ahora utilizan" +" un caché de lo que está contenido en un directorio específico. Si crea un " "archivo fuente de Python o archivo de código de *bytes* sin fuente, " "asegúrese de llamar a :func:`importlib.invalidate_caches` para limpiar la " "caché para que los buscadores encuentren el nuevo archivo." -# coloque check en comillas #: ../Doc/whatsnew/3.3.rst:2367 msgid "" ":exc:`ImportError` now uses the full name of the module that was attempted " @@ -5104,9 +5301,9 @@ msgid "" "name." msgstr "" ":exc:`ImportError` ahora usa el nombre completo del módulo que se intentó " -"importar. Las pruebas de documentos que verifican el mensaje de " -"'ImportErrors' necesitaran ser actualizados para usar el nombre completo del " -"módulo en vez de sólo la terminación del nombre." +"importar. Las pruebas de documentos que verifican el mensaje de ImportErrors" +" necesitaran ser actualizados para usar el nombre completo del módulo en vez" +" de sólo la terminación del nombre." #: ../Doc/whatsnew/3.3.rst:2372 msgid "" @@ -5114,18 +5311,20 @@ msgid "" "and no longer support negative values. It was an oversight when :pep:`328` " "was implemented that the default value remained -1. If you need to continue " "to perform a relative import followed by an absolute import, then perform " -"the relative import using an index of 1, followed by another import using an " -"index of 0. It is preferred, though, that you use :func:`importlib." -"import_module` rather than call :func:`__import__` directly." -msgstr "" -"El argumento *index* para la función :func:`__import__` ahora tiene un valor " -"predeterminado de 0, en vez de -1, y ya no admite valores negativos. Ha sido " -"un descuido en la implementación de :pep:`328` que el valor predeterminado " -"permaneciera en -1. Si necesita continuar realizando una importación " -"relativa seguida por una importación absoluta, entonces realice la " -"importación relativa usando un índice de 1, seguida por otra importación que " -"use un índice de 0. Sin embargo, es preferible usar :func:`importlib." -"import_module` en vez de llamar a la función :func:`__import__` directamente." +"the relative import using an index of 1, followed by another import using an" +" index of 0. It is preferred, though, that you use " +":func:`importlib.import_module` rather than call :func:`__import__` " +"directly." +msgstr "" +"El argumento *index* para la función :func:`__import__` ahora tiene un valor" +" predeterminado de 0, en vez de -1, y ya no admite valores negativos. Ha " +"sido un descuido en la implementación de :pep:`328` que el valor " +"predeterminado permaneciera en -1. Si necesita continuar realizando una " +"importación relativa seguida por una importación absoluta, entonces realice " +"la importación relativa usando un índice de 1, seguida por otra importación " +"que use un índice de 0. Sin embargo, es preferible usar " +":func:`importlib.import_module` en vez de llamar a la función " +":func:`__import__` directamente." #: ../Doc/whatsnew/3.3.rst:2380 msgid "" @@ -5133,37 +5332,38 @@ msgid "" "for top-level modules. E.g. ``__import__('sys', level=1)`` is now an error." msgstr "" ":func:`__import__` ya no admite usar un valor de índice distinto de 0 para " -"los módulos de alto nivel. Por ejemplo, ``__import__('sys', level=1)`` ahora " -"es un error." +"los módulos de alto nivel. Por ejemplo, ``__import__('sys', level=1)`` ahora" +" es un error." #: ../Doc/whatsnew/3.3.rst:2383 msgid "" -"Because :data:`sys.meta_path` and :data:`sys.path_hooks` now have finders on " -"them by default, you will most likely want to use :meth:`list.insert` " +"Because :data:`sys.meta_path` and :data:`sys.path_hooks` now have finders on" +" them by default, you will most likely want to use :meth:`list.insert` " "instead of :meth:`list.append` to add to those lists." msgstr "" "Dado que :data:`sys.meta_path` y :data:`sys.path_hooks` ahora tienen " -"buscadores por defecto, lo más probable es que desee usar :meth:`list." -"insert` en vez de :meth:`list.append` para agregar a esas listas." +"buscadores por defecto, lo más probable es que desee usar " +":meth:`list.insert` en vez de :meth:`list.append` para agregar a esas " +"listas." #: ../Doc/whatsnew/3.3.rst:2387 msgid "" "Because ``None`` is now inserted into :data:`sys.path_importer_cache`, if " "you are clearing out entries in the dictionary of paths that do not have a " -"finder, you will need to remove keys paired with values of ``None`` **and** :" -"class:`!imp.NullImporter` to be backwards-compatible. This will lead to " -"extra overhead on older versions of Python that re-insert ``None`` into :" -"data:`sys.path_importer_cache` where it represents the use of implicit " +"finder, you will need to remove keys paired with values of ``None`` **and** " +":class:`!imp.NullImporter` to be backwards-compatible. This will lead to " +"extra overhead on older versions of Python that re-insert ``None`` into " +":data:`sys.path_importer_cache` where it represents the use of implicit " "finders, but semantically it should not change anything." msgstr "" -"Dado que ``None`` ahora ha sido insertado en :data:`sys." -"path_importer_cache`, si usted está borrando entradas en el diccionario de " -"rutas que no tienen un buscador, usted necesitará eliminar los pares con " -"valores de ``None`` **y** :class:`!imp.NullImporter` para ser compatible con " -"versiones anteriores. Esto conducirá a una sobrecarga adicional con las " -"versiones más antiguas de Python que re-inserten ``None`` dentro de :data:" -"`sys.path_importer_cache` donde éste represente el uso de buscadores " -"implícitos, pero semánticamente no debería cambiar nada." +"Dado que ``None`` ahora ha sido insertado en " +":data:`sys.path_importer_cache`, si usted está borrando entradas en el " +"diccionario de rutas que no tienen un buscador, usted necesitará eliminar " +"los pares con valores de ``None`` **y** :class:`!imp.NullImporter` para ser " +"compatible con versiones anteriores. Esto conducirá a una sobrecarga " +"adicional con las versiones más antiguas de Python que re-inserten ``None`` " +"dentro de :data:`sys.path_importer_cache` donde éste represente el uso de " +"buscadores implícitos, pero semánticamente no debería cambiar nada." #: ../Doc/whatsnew/3.3.rst:2395 msgid "" @@ -5185,10 +5385,10 @@ msgid "" ":mod:`pkgutil` has been converted to use :mod:`importlib` internally. This " "eliminates many edge cases where the old behaviour of the :pep:`302` import " "emulation failed to match the behaviour of the real import system. The " -"import emulation itself is still present, but is now deprecated. The :func:" -"`pkgutil.iter_importers` and :func:`pkgutil.walk_packages` functions special " -"case the standard import hooks so they are still supported even though they " -"do not provide the non-standard ``iter_modules()`` method." +"import emulation itself is still present, but is now deprecated. The " +":func:`pkgutil.iter_importers` and :func:`pkgutil.walk_packages` functions " +"special case the standard import hooks so they are still supported even " +"though they do not provide the non-standard ``iter_modules()`` method." msgstr "" ":mod:`pkgutil` ha sido convertido para usar :mod:`importlib` internamente. " "Esto elimina varios casos extremos donde el antiguo comportamiento de la " @@ -5201,35 +5401,35 @@ msgstr "" #: ../Doc/whatsnew/3.3.rst:2409 msgid "" -"A longstanding RFC-compliance bug (:issue:`1079`) in the parsing done by :" -"func:`email.header.decode_header` has been fixed. Code that uses the " +"A longstanding RFC-compliance bug (:issue:`1079`) in the parsing done by " +":func:`email.header.decode_header` has been fixed. Code that uses the " "standard idiom to convert encoded headers into unicode " "(``str(make_header(decode_header(h))``) will see no change, but code that " "looks at the individual tuples returned by decode_header will see that " "whitespace that precedes or follows ``ASCII`` sections is now included in " "the ``ASCII`` section. Code that builds headers using ``make_header`` " -"should also continue to work without change, since ``make_header`` continues " -"to add whitespace between ``ASCII`` and non-``ASCII`` sections if it is not " -"already present in the input strings." -msgstr "" -"Se ha corregido un error de larga data de cumplimiento de RFC (:issue:" -"`1079`) en el análisis realizado por :func:`email.header.decode_header`. El " -"código que usa el lenguaje estándar para convertir encabezados codificados " -"en *unicode* (``str (make_header (decode_header (h))``) no verá cambios, " -"pero el código que mira las tuplas individuales retornadas por decode_header " -"verá ese espacio en blanco que precede o sigue las secciones ``ASCII`` ahora " -"está incluido en la sección ``ASCII``. El código que crea encabezados usando " -"``make_header`` también debería continuar funcionando sin cambios, ya que " -"``make_header`` continúa agregando espacios en blanco entre ``Secciones " -"ASCII`` y no ``ASCII`` si aún no está presente en las cadenas de caracteres " -"entrantes." +"should also continue to work without change, since ``make_header`` continues" +" to add whitespace between ``ASCII`` and non-``ASCII`` sections if it is not" +" already present in the input strings." +msgstr "" +"Se ha corregido un error de larga data de cumplimiento de RFC " +"(:issue:`1079`) en el análisis realizado por " +":func:`email.header.decode_header`. El código que usa el lenguaje estándar " +"para convertir encabezados codificados en *unicode* (``str (make_header " +"(decode_header (h))``) no verá cambios, pero el código que mira las tuplas " +"individuales retornadas por decode_header verá ese espacio en blanco que " +"precede o sigue las secciones ``ASCII`` ahora está incluido en la sección " +"``ASCII``. El código que crea encabezados usando ``make_header`` también " +"debería continuar funcionando sin cambios, ya que ``make_header`` continúa " +"agregando espacios en blanco entre ``Secciones ASCII`` y no ``ASCII`` si aún" +" no está presente en las cadenas de caracteres entrantes." #: ../Doc/whatsnew/3.3.rst:2420 msgid "" ":func:`email.utils.formataddr` now does the correct content transfer " -"encoding when passed non-``ASCII`` display names. Any code that depended on " -"the previous buggy behavior that preserved the non-``ASCII`` unicode in the " -"formatted output string will need to be changed (:issue:`1690608`)." +"encoding when passed non-``ASCII`` display names. Any code that depended on" +" the previous buggy behavior that preserved the non-``ASCII`` unicode in the" +" formatted output string will need to be changed (:issue:`1690608`)." msgstr "" ":func:`email.utils.formataddr` ahora realiza la codificación de " "transferencia de contenido correcta, al pasar nombres para mostrar que no " @@ -5240,14 +5440,14 @@ msgstr "" #: ../Doc/whatsnew/3.3.rst:2425 msgid "" ":meth:`poplib.POP3.quit` may now raise protocol errors like all other " -"``poplib`` methods. Code that assumes ``quit`` does not raise :exc:`poplib." -"error_proto` errors may need to be changed if errors on ``quit`` are " -"encountered by a particular application (:issue:`11291`)." +"``poplib`` methods. Code that assumes ``quit`` does not raise " +":exc:`poplib.error_proto` errors may need to be changed if errors on " +"``quit`` are encountered by a particular application (:issue:`11291`)." msgstr "" ":meth:`poplib.POP3.quit` ahora puede generar errores de protocolos como " "todos los demás métodos ``poplib``. El código que asume que ``quit`` no " -"genera errores :exc:`poplib.error_proto` puede necesitar ser cambiado si una " -"aplicación en particular encuentran errores en ``quit`` (:issue:`11291`)." +"genera errores :exc:`poplib.error_proto` puede necesitar ser cambiado si una" +" aplicación en particular encuentran errores en ``quit`` (:issue:`11291`)." #: ../Doc/whatsnew/3.3.rst:2430 msgid "" @@ -5272,9 +5472,9 @@ msgstr "" #: ../Doc/whatsnew/3.3.rst:2438 msgid "" -"The deprecated ``Context._clamp`` attribute has been removed from the :mod:" -"`decimal` module. It was previously replaced by the public attribute :attr:" -"`~decimal.Context.clamp`. (See :issue:`8540`.)" +"The deprecated ``Context._clamp`` attribute has been removed from the " +":mod:`decimal` module. It was previously replaced by the public attribute " +":attr:`~decimal.Context.clamp`. (See :issue:`8540`.)" msgstr "" "El atributo ``Context._clamp`` que estaba obsoleto, ha sido eliminado del " "módulo :mod:`decimal`. Este se reemplazó anteriormente por el atributo " @@ -5282,9 +5482,9 @@ msgstr "" #: ../Doc/whatsnew/3.3.rst:2442 msgid "" -"The undocumented internal helper class ``SSLFakeFile`` has been removed " -"from :mod:`smtplib`, since its functionality has long been provided directly " -"by :meth:`socket.socket.makefile`." +"The undocumented internal helper class ``SSLFakeFile`` has been removed from" +" :mod:`smtplib`, since its functionality has long been provided directly by " +":meth:`socket.socket.makefile`." msgstr "" "La clase interna auxiliar indocumentada ``SSLFakeFile``, ha sido eliminada " "de :mod:`smtplib`, dado que su funcionalidad ha sido proporcionada " @@ -5311,9 +5511,9 @@ msgstr "" #: ../Doc/whatsnew/3.3.rst:2453 msgid "" -"Code that used to work around the fact that the :mod:`threading` module used " -"factory functions by subclassing the private classes will need to change to " -"subclass the now-public classes." +"Code that used to work around the fact that the :mod:`threading` module used" +" factory functions by subclassing the private classes will need to change to" +" subclass the now-public classes." msgstr "" "El código que solía solucionar el hecho de que el módulo :mod:`threading` " "utilizaba funciones de fábrica mediante la subclase de las clases privadas " @@ -5337,21 +5537,21 @@ msgstr "Portando código C" #: ../Doc/whatsnew/3.3.rst:2466 msgid "" -"In the course of changes to the buffer API the undocumented :c:member:`!" -"smalltable` member of the :c:type:`Py_buffer` structure has been removed and " -"the layout of the :c:type:`PyMemoryViewObject` has changed." +"In the course of changes to the buffer API the undocumented " +":c:member:`!smalltable` member of the :c:type:`Py_buffer` structure has been" +" removed and the layout of the :c:type:`PyMemoryViewObject` has changed." msgstr "" -"En el curso de los cambios en la API del búfer, se eliminó el miembro :c:" -"member:`!smalltable` no documentado de la estructura :c:type:`Py_buffer` y " -"se cambió el diseño del :c:type:`PyMemoryViewObject`." +"En el curso de los cambios en la API del búfer, se eliminó el miembro " +":c:member:`!smalltable` no documentado de la estructura :c:type:`Py_buffer` " +"y se cambió el diseño del :c:type:`PyMemoryViewObject`." #: ../Doc/whatsnew/3.3.rst:2471 msgid "" "All extensions relying on the relevant parts in ``memoryobject.h`` or " "``object.h`` must be rebuilt." msgstr "" -"Todas las extensiones que quedan en las partes relevantes de ``memoryobject." -"h`` o ``object.h`` deben ser reconstruídas." +"Todas las extensiones que quedan en las partes relevantes de " +"``memoryobject.h`` o ``object.h`` deben ser reconstruídas." #: ../Doc/whatsnew/3.3.rst:2474 msgid "" @@ -5359,8 +5559,8 @@ msgid "" "functions using this type are deprecated (but will stay available for at " "least five years). If you were using low-level Unicode APIs to construct " "and access unicode objects and you want to benefit of the memory footprint " -"reduction provided by :pep:`393`, you have to convert your code to the new :" -"doc:`Unicode API <../c-api/unicode>`." +"reduction provided by :pep:`393`, you have to convert your code to the new " +":doc:`Unicode API <../c-api/unicode>`." msgstr "" "Debido a :ref:`PEP 393 `, el tipo :c:type:`Py_UNICODE` y todas las " "funciones que lo utilicen han quedado obsoletas (pero seguirán estando " @@ -5371,15 +5571,15 @@ msgstr "" #: ../Doc/whatsnew/3.3.rst:2481 msgid "" -"However, if you only have been using high-level functions such as :c:func:" -"`PyUnicode_Concat()`, :c:func:`PyUnicode_Join` or :c:func:" -"`PyUnicode_FromFormat()`, your code will automatically take advantage of the " -"new unicode representations." +"However, if you only have been using high-level functions such as " +":c:func:`PyUnicode_Concat()`, :c:func:`PyUnicode_Join` or " +":c:func:`PyUnicode_FromFormat()`, your code will automatically take " +"advantage of the new unicode representations." msgstr "" -"Sin embargo, si sólo ha estado usando funciones de alto nivel como :c:func:" -"`PyUnicode_Concat()`, :c:func:`PyUnicode_Join` o :c:func:" -"`PyUnicode_FromFormat()`, automáticamente su código se beneficiará de las " -"nuevas representaciones *unicode*." +"Sin embargo, si sólo ha estado usando funciones de alto nivel como " +":c:func:`PyUnicode_Concat()`, :c:func:`PyUnicode_Join` o " +":c:func:`PyUnicode_FromFormat()`, automáticamente su código se beneficiará " +"de las nuevas representaciones *unicode*." #: ../Doc/whatsnew/3.3.rst:2486 msgid ":c:func:`PyImport_GetMagicNumber` now returns ``-1`` upon failure." @@ -5390,14 +5590,14 @@ msgstr "" msgid "" "As a negative value for the *level* argument to :func:`__import__` is no " "longer valid, the same now holds for :c:func:`PyImport_ImportModuleLevel`. " -"This also means that the value of *level* used by :c:func:" -"`PyImport_ImportModuleEx` is now ``0`` instead of ``-1``." +"This also means that the value of *level* used by " +":c:func:`PyImport_ImportModuleEx` is now ``0`` instead of ``-1``." msgstr "" -"Como valor negativo para el argumento *level* de la función :func:" -"`__import__` ya no es válido, y lo mismo ahora es válido para la función :c:" -"func:`PyImport_ImportModuleLevel`. Esto también significa que el valor de " -"*level* usado por la función :c:func:`PyImport_ImportModuleEx` ahora es " -"``0`` en vez de ``-1``." +"Como valor negativo para el argumento *level* de la función " +":func:`__import__` ya no es válido, y lo mismo ahora es válido para la " +"función :c:func:`PyImport_ImportModuleLevel`. Esto también significa que el " +"valor de *level* usado por la función :c:func:`PyImport_ImportModuleEx` " +"ahora es ``0`` en vez de ``-1``." #: ../Doc/whatsnew/3.3.rst:2495 msgid "Building C extensions" @@ -5414,11 +5614,11 @@ msgid "" msgstr "" "Se ha reducido el rango de nombres de archivo posibles para las extensiones " "C. Muy raramente se han suprimido las ortografías utilizadas: en POSIX, los " -"archivos denominados ``xxxmodule.so``, ``xxxmodule.abi3.so`` y ``xxxmodule." -"cpython-*.so`` ya no se reconocen como la implementación del módulo ``xxx``. " -"Si ha estado generando estos archivos, tiene que cambiar a las otras " -"ortografías (es decir, eliminar la cadena de caracteres ``módulo`` de los " -"nombres de archivo)." +"archivos denominados ``xxxmodule.so``, ``xxxmodule.abi3.so`` y " +"``xxxmodule.cpython-*.so`` ya no se reconocen como la implementación del " +"módulo ``xxx``. Si ha estado generando estos archivos, tiene que cambiar a " +"las otras ortografías (es decir, eliminar la cadena de caracteres ``módulo``" +" de los nombres de archivo)." #: ../Doc/whatsnew/3.3.rst:2505 msgid "(implemented in :issue:`14040`.)" @@ -5443,8 +5643,8 @@ msgstr "(:issue:`10998`, contribución de Éric Araujo.)" #: ../Doc/whatsnew/3.3.rst:2516 msgid "" -"When :program:`python` is started with :option:`-S`, ``import site`` will no " -"longer add site-specific paths to the module search paths. In previous " +"When :program:`python` is started with :option:`-S`, ``import site`` will no" +" longer add site-specific paths to the module search paths. In previous " "versions, it did." msgstr "" "Cuando se inicia :program:`python` con :option:`-S`, ``import site`` ya no " From cef2697716d3bfd80dcf5003cfe72cd39202f807 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Sun, 22 Dec 2024 00:13:44 +0100 Subject: [PATCH 04/41] Translate library/stdtypes (#3323) Closes #3119 --- dictionaries/library_stdtypes.txt | 36 +- library/stdtypes.po | 1848 +++++++++++++++++++---------- 2 files changed, 1271 insertions(+), 613 deletions(-) diff --git a/dictionaries/library_stdtypes.txt b/dictionaries/library_stdtypes.txt index 51aa7d252f..3711bb408b 100644 --- a/dictionaries/library_stdtypes.txt +++ b/dictionaries/library_stdtypes.txt @@ -1,13 +1,35 @@ -computacionalmente Cardinalidad +Exceeds +Illustrative +Kharosthi +Ll +Lm +Lu cardinalidad +ceil +computacionalmente +conjugate +conversion +digits +dishes +eggs +gt +increase +iteration +juice +languaje +limit +mappingproxy +most +precompilar +precompilarlibrary/stdtypes.po:8461:dishes +recent +sausage +sprintf +squared +subcuadrática subindicando superconjunto superíndices +this unaria -Ll -Lm -Lu -Kharosthi -subcuadrática -precompilar \ No newline at end of file diff --git a/library/stdtypes.po b/library/stdtypes.po index b9c65c09c4..4b53581bad 100755 --- a/library/stdtypes.po +++ b/library/stdtypes.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: 2024-01-27 18:16+0100\n" -"Last-Translator: José Luis Salgado Banda\n" -"Language: es\n" +"PO-Revision-Date: 2024-11-24 12:43+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/library/stdtypes.rst:8 msgid "Built-in Types" @@ -83,21 +84,19 @@ msgstr "" "más adelante." #: ../Doc/library/stdtypes.rst:46 -#, fuzzy msgid "" "By default, an object is considered true unless its class defines either a :" "meth:`~object.__bool__` method that returns ``False`` or a :meth:`~object." "__len__` method that returns zero, when called with the object. [1]_ Here " "are most of the built-in objects considered false:" msgstr "" -"Por defecto, un objeto se considera verdadero a no ser que su clase defina o " -"bien un método :meth:`__bool__` que retorna ``False`` o un método :meth:" -"`__len__` que retorna cero, cuando se invoque desde ese objeto. [1]_ Aquí " -"están listados la mayoría de los objetos integrados que se evalúan como " -"falsos:" +"De manera predeterminada, un objeto se considera verdadero a menos que su " +"clase defina un método :meth:`~object.__bool__` que devuelva ``False`` o un " +"método :meth:`~object.__len__` que devuelva cero, cuando se llama con el " +"objeto. [1]_ Estos son la mayoría de los objetos integrados que se " +"consideran falsos:" #: ../Doc/library/stdtypes.rst:56 -#, fuzzy msgid "constants defined to be false: ``None`` and ``False``" msgstr "constantes definidas para tener valor falso: ``None`` y ``False``." @@ -165,9 +164,8 @@ msgid "``x or y``" msgstr "``x or y``" #: ../Doc/library/stdtypes.rst:88 -#, fuzzy msgid "if *x* is true, then *x*, else *y*" -msgstr "si *x* es falso, entonces *x*, si no, *y*" +msgstr "si *x* es verdad, entonces *x*, si no, *y*" #: ../Doc/library/stdtypes.rst:88 ../Doc/library/stdtypes.rst:967 #: ../Doc/library/stdtypes.rst:970 ../Doc/library/stdtypes.rst:1181 @@ -385,22 +383,20 @@ msgstr "" "nunca lanzar una excepción." #: ../Doc/library/stdtypes.rst:199 -#, fuzzy msgid "" "Two more operations with the same syntactic priority, :keyword:`in` and :" "keyword:`not in`, are supported by types that are :term:`iterable` or " "implement the :meth:`~object.__contains__` method." msgstr "" -"Hay otras dos operaciones con la misma prioridad sintáctica: :keyword:`in` " -"y :keyword:`not in`, que son soportadas por aquellos tipos de datos que son " -"de tipo :term:`iterable` o que implementen el método :meth:`__contains__`." +"Dos operaciones más con la misma prioridad sintáctica, :keyword:`in` y :" +"keyword:`not in`, son compatibles con tipos que son :term:`iterable` o " +"implementan el método :meth:`~object.__contains__`." #: ../Doc/library/stdtypes.rst:206 msgid "Numeric Types --- :class:`int`, :class:`float`, :class:`complex`" msgstr "Tipos numéricos --- :class:`int`, :class:`float`, :class:`complex`" #: ../Doc/library/stdtypes.rst:216 -#, fuzzy msgid "" "There are three distinct numeric types: :dfn:`integers`, :dfn:`floating-" "point numbers`, and :dfn:`complex numbers`. In addition, Booleans are a " @@ -414,22 +410,21 @@ msgid "" "numeric types :mod:`fractions.Fraction`, for rationals, and :mod:`decimal." "Decimal`, for floating-point numbers with user-definable precision.)" msgstr "" -"Hay tres tipos numéricos distintos: :dfn:`integers`, :dfn:`floating point " -"numbers` y :dfn:`complex numbers`. Además, los booleanos son un subtipo de " -"los enteros. Los enteros tiene precisión ilimitada. Los números en coma " -"flotante se implementan normalmente usando el tipo :c:expr:`double` de C; " -"hay más información sobre la precisión y la representación interna de los " -"números en coma flotante usadas por la máquina sobre la que se ejecuta tu " -"programa en :data:`sys.float_info`. Los números complejos tienen una parte " -"real y otra imaginaria, ambas representadas con números en coma flotante. " -"Para extraer estas partes del número complejo *z* se usan los métodos ``z." -"real`` y ``z.imag``. (La librería estándar incluye tipos numéricos " -"adicionales: :mod:`fractions.Fraction` para números racionales y :mod:" -"`decimal.Decimal` para números en coma flotante con precisión definida por " -"el usuario.)" +"Existen tres tipos numéricos distintos: :dfn:`números enteros`, :dfn:" +"`números de punto flotante` y :dfn:`números complejos`. Además, los " +"booleanos son un subtipo de los números enteros. Los números enteros tienen " +"una precisión ilimitada. Los números de punto flotante se implementan " +"normalmente utilizando :c:expr:`double` en C; la información sobre la " +"precisión y la representación interna de los números de punto flotante para " +"la máquina en la que se ejecuta el programa está disponible en :data:`sys." +"float_info`. Los números complejos tienen una parte real y una imaginaria, " +"que son cada una un número de punto flotante. Para extraer estas partes de " +"un número complejo *z*, utilice ``z.real`` y ``z.imag``. (La biblioteca " +"estándar incluye los tipos numéricos adicionales :mod:`fractions.Fraction`, " +"para números racionales, y :mod:`decimal.Decimal`, para números de punto " +"flotante con precisión definible por el usuario)." #: ../Doc/library/stdtypes.rst:238 -#, fuzzy msgid "" "Numbers are created by numeric literals or as the result of built-in " "functions and operators. Unadorned integer literals (including hex, octal " @@ -439,15 +434,14 @@ msgid "" "with a zero real part) which you can add to an integer or float to get a " "complex number with real and imaginary parts." msgstr "" -"Los números se crean a partir de literales numéricos, o como resultado de " -"una combinación de funciones integradas y operadores. Expresiones literales " -"de números (incluyendo números expresados en hexadecimal, octal o binario) " -"producen enteros. Si la expresión literal contiene un punto decimal o un " -"signo de exponente, se genera un número en coma flotante. Si se añade como " -"sufijo una ``'j'`` o una ``'J'`` a un literal numérico, se genera un número " -"imaginario puro (un número complejo con la parte real a cero), que se puede " -"sumar a un número entero o de coma flotante para obtener un número complejo " -"con parte real e imaginaria." +"Los números se crean mediante literales numéricos o como resultado de " +"funciones y operadores integrados. Los literales enteros sin adornos " +"(incluidos los números hexadecimales, octales y binarios) generan números " +"enteros. Los literales numéricos que contienen un punto decimal o un signo " +"de exponente generan números de punto flotante. Si se añade ``'j'`` o " +"``'J'`` a un literal numérico, se obtiene un número imaginario (un número " +"complejo con una parte real cero) que se puede sumar a un entero o un " +"flotante para obtener un número complejo con partes reales e imaginarias." #: ../Doc/library/stdtypes.rst:263 msgid "" @@ -528,9 +522,8 @@ msgid "floored quotient of *x* and *y*" msgstr "división entera a la baja de *x* entre *y*" #: ../Doc/library/stdtypes.rst:286 -#, fuzzy msgid "\\(1)\\(2)" -msgstr "(1)(2)" +msgstr "\\(1)\\(2)" #: ../Doc/library/stdtypes.rst:289 msgid "``x % y``" @@ -691,15 +684,14 @@ msgstr "" "coma flotante usando la función :func:`abs` si fuera apropiado." #: ../Doc/library/stdtypes.rst:342 -#, fuzzy msgid "" "Conversion from :class:`float` to :class:`int` truncates, discarding the " "fractional part. See functions :func:`math.floor` and :func:`math.ceil` for " "alternative conversions." msgstr "" -"Conversiones desde coma flotante a entero pueden redondearse o truncarse " -"como en C; véanse las funciones :func:`math.floor` y :func:`math.ceil` para " -"un mayor control." +"La conversión de :class:`float` a :class:`int` trunca y descarta la parte " +"fraccionaria. Consulte las funciones :func:`math.floor` y :func:`math.ceil` " +"para conocer conversiones alternativas." #: ../Doc/library/stdtypes.rst:347 msgid "" @@ -728,14 +720,14 @@ msgstr "" "con la propiedad ``Nd``)." #: ../Doc/library/stdtypes.rst:358 -#, fuzzy msgid "" "See `the Unicode Standard `_ for a complete list of code points with the ``Nd`` " "property." msgstr "" -"Véase https://www.unicode.org/Public/14.0.0/ucd/extracted/DerivedNumericType." -"txt para una lista completa de los puntos de código con la propiedad ``Nd``." +"Consulte `the Unicode Standard `_ para obtener una lista completa de puntos de " +"código con la propiedad ``Nd``." #: ../Doc/library/stdtypes.rst:362 msgid "" @@ -948,6 +940,11 @@ msgid "" ">>> n.bit_length()\n" "6" msgstr "" +">>> n = -37\n" +">>> bin(n)\n" +"'-0b100101'\n" +">>> n.bit_length()\n" +"6" #: ../Doc/library/stdtypes.rst:469 msgid "" @@ -976,6 +973,10 @@ msgid "" " s = s.lstrip('-0b') # remove leading zeros and minus sign\n" " return len(s) # len('100101') --> 6" msgstr "" +"def bit_length(self):\n" +" s = bin(self) # binary representation: bin(-37) --> '-0b100101'\n" +" s = s.lstrip('-0b') # remove leading zeros and minus sign\n" +" return len(s) # len('100101') --> 6" #: ../Doc/library/stdtypes.rst:486 msgid "" @@ -996,12 +997,21 @@ msgid "" ">>> (-n).bit_count()\n" "3" msgstr "" +">>> n = 19\n" +">>> bin(n)\n" +"'0b10011'\n" +">>> n.bit_count()\n" +"3\n" +">>> (-n).bit_count()\n" +"3" #: ../Doc/library/stdtypes.rst:500 msgid "" "def bit_count(self):\n" " return bin(self).count(\"1\")" msgstr "" +"def bit_count(self):\n" +" return bin(self).count(\"1\")" #: ../Doc/library/stdtypes.rst:507 msgid "Return an array of bytes representing an integer." @@ -1047,23 +1057,24 @@ msgid "" "The default values can be used to conveniently turn an integer into a single " "byte object::" msgstr "" +"Los valores predeterminados se pueden utilizar para convertir cómodamente un " +"entero en un objeto de un solo byte:" #: ../Doc/library/stdtypes.rst:537 msgid "" ">>> (65).to_bytes()\n" "b'A'" msgstr "" +">>> (65).to_bytes()\n" +"b'A'" #: ../Doc/library/stdtypes.rst:540 -#, fuzzy msgid "" "However, when using the default arguments, don't try to convert a value " "greater than 255 or you'll get an :exc:`OverflowError`." msgstr "" -"Los valores por defecto se pueden usar para convertir convenientemente un " -"número entero en un objeto de un solo byte. Sim embargo, cuando utilices los " -"argumentos predeterminados, no intentes convertir un valor mayor a 255 u " -"obtendrás una excepción :exc:`OverflowError`::" +"Sin embargo, al utilizar los argumentos predeterminados, no intente " +"convertir un valor mayor que 255 o obtendrá un :exc:`OverflowError`." #: ../Doc/library/stdtypes.rst:545 msgid "" @@ -1077,6 +1088,15 @@ msgid "" "\n" " return bytes((n >> i*8) & 0xff for i in order)" msgstr "" +"def to_bytes(n, length=1, byteorder='big', signed=False):\n" +" if byteorder == 'little':\n" +" order = range(length)\n" +" elif byteorder == 'big':\n" +" order = reversed(range(length))\n" +" else:\n" +" raise ValueError(\"byteorder must be either 'little' or 'big'\")\n" +"\n" +" return bytes((n >> i*8) & 0xff for i in order)" #: ../Doc/library/stdtypes.rst:556 msgid "Added default argument values for ``length`` and ``byteorder``." @@ -1137,21 +1157,33 @@ msgid "" "\n" " return n" msgstr "" +"def from_bytes(bytes, byteorder='big', signed=False):\n" +" if byteorder == 'little':\n" +" little_ordered = list(bytes)\n" +" elif byteorder == 'big':\n" +" little_ordered = list(reversed(bytes))\n" +" else:\n" +" raise ValueError(\"byteorder must be either 'little' or 'big'\")\n" +"\n" +" n = sum(b << i*8 for i, b in enumerate(little_ordered))\n" +" if signed and little_ordered and (little_ordered[-1] & 0x80):\n" +" n -= 1 << 8*len(little_ordered)\n" +"\n" +" return n" #: ../Doc/library/stdtypes.rst:604 msgid "Added default argument value for ``byteorder``." msgstr "Se agregó valor de argumento predeterminado para ``byteorder``." #: ../Doc/library/stdtypes.rst:609 -#, fuzzy msgid "" "Return a pair of integers whose ratio is equal to the original integer and " "has a positive denominator. The integer ratio of integers (whole numbers) " "is always the integer as the numerator and ``1`` as the denominator." msgstr "" -"Retorna una pareja de números enteros cuya proporción es igual a la del " -"numero entero original, y con un denominador positivo. En el caso de números " -"enteros, la proporción siempre es el entero en el numerador y ``1`` en el " +"Devuelve un par de números enteros cuyo cociente es igual al entero original " +"y tiene un denominador positivo. El cociente entero de los números enteros " +"(números naturales) es siempre el entero como numerador y ``1`` como " "denominador." #: ../Doc/library/stdtypes.rst:618 @@ -1159,6 +1191,8 @@ msgid "" "Returns ``True``. Exists for duck type compatibility with :meth:`float." "is_integer`." msgstr "" +"Devuelve ``True``. Existe para compatibilidad de tipo pato con :meth:`float." +"is_integer`." #: ../Doc/library/stdtypes.rst:623 msgid "Additional Methods on Float" @@ -1174,17 +1208,15 @@ msgstr "" "Real`. Los números float tienen además los siguientes métodos." #: ../Doc/library/stdtypes.rst:630 -#, fuzzy msgid "" "Return a pair of integers whose ratio is exactly equal to the original " "float. The ratio is in lowest terms and has a positive denominator. Raises :" "exc:`OverflowError` on infinities and a :exc:`ValueError` on NaNs." msgstr "" -"Retorna una pareja de números enteros cuya proporción es exactamente igual " -"que la del valor en punto flotante original, con un denominador positivo. Si " -"se llama con valores infinitos lanza una excepción de tipo :exc:" -"`OverflowError` y si se llama con *NaN* (*Not A Number*) lanza una excepción " -"de tipo :exc:`ValueError`." +"Devuelve un par de números enteros cuyo cociente es exactamente igual al " +"número flotante original. El cociente está en su mínima expresión y tiene un " +"denominador positivo. Genera :exc:`OverflowError` en los números infinitos " +"y :exc:`ValueError` en los números NaN." #: ../Doc/library/stdtypes.rst:637 msgid "" @@ -1201,6 +1233,10 @@ msgid "" ">>> (3.2).is_integer()\n" "False" msgstr "" +">>> (-2.0).is_integer()\n" +"True\n" +">>> (3.2).is_integer()\n" +"False" #: ../Doc/library/stdtypes.rst:645 msgid "" @@ -1252,7 +1288,7 @@ msgstr "Una cadena de caracteres en hexadecimal sigue este formato::" #: ../Doc/library/stdtypes.rst:674 msgid "[sign] ['0x'] integer ['.' fraction] ['p' exponent]" -msgstr "" +msgstr "[sign] ['0x'] integer ['.' fraction] ['p' exponent]" #: ../Doc/library/stdtypes.rst:676 msgid "" @@ -1297,6 +1333,8 @@ msgid "" ">>> float.fromhex('0x3.a7p10')\n" "3740.0" msgstr "" +">>> float.fromhex('0x3.a7p10')\n" +"3740.0" #: ../Doc/library/stdtypes.rst:699 msgid "" @@ -1311,13 +1349,14 @@ msgid "" ">>> float.hex(3740.0)\n" "'0x1.d380000000000p+11'" msgstr "" +">>> float.hex(3740.0)\n" +"'0x1.d380000000000p+11'" #: ../Doc/library/stdtypes.rst:709 msgid "Hashing of numeric types" msgstr "Calculo del *hash* de tipos numéricos" #: ../Doc/library/stdtypes.rst:711 -#, fuzzy msgid "" "For numbers ``x`` and ``y``, possibly of different types, it's a requirement " "that ``hash(x) == hash(y)`` whenever ``x == y`` (see the :meth:`~object." @@ -1332,20 +1371,19 @@ msgid "" "value of ``P`` is made available to Python as the :attr:`~sys.hash_info." "modulus` attribute of :data:`sys.hash_info`." msgstr "" -"Para dos números ``x`` e ``y``, posiblemente de tipos diferentes, se " -"requiere que ``hash(x) == hash(y)`` sea verdadero siempre que ``x == y`` " -"(véase la documentación sobre el método :meth:`~object.__hash__` para más " -"detalles). Por razones tanto de eficiencia como de facilidad de " -"implementación entre los tipos numéricos diferentes (incluyendo :class:" -"`int`, :class:`float`, :class:`decimal.Decimal` y :class:`fractions." -"Fraction`), el método de *hash* de Python se basa en una función matemática " -"sencilla que está definida para cualquier número racional, con lo cual se " -"puede aplicar a todas las instancias de :class:`int` y :class:`fractions." -"Fraction`, y a todas las instancias finitas de :class:`float` y :class:" -"`decimal.Decimal`. En esencia, lo que hace esta función es una reducción " -"módulo ``P`` para un valor fijo del número primo ``P``. El valor de ``P`` " -"está disponible en Python como atributo de :data:`sys.hash_info` con el " -"nombre de :attr:`modulus`." +"Para los números ``x`` y ``y``, posiblemente de tipos diferentes, es un " +"requisito que ``hash(x) == hash(y)`` siempre que ``x == y`` (consulte la " +"documentación del método :meth:`~object.__hash__` para obtener más " +"detalles). Para facilitar la implementación y la eficiencia en una variedad " +"de tipos numéricos (incluidos :class:`int`, :class:`float`, :class:`decimal." +"Decimal` y :class:`fractions.Fraction`), el hash de Python para tipos " +"numéricos se basa en una única función matemática que se define para " +"cualquier número racional y, por lo tanto, se aplica a todas las instancias " +"de :class:`int` y :class:`fractions.Fraction`, y a todas las instancias " +"finitas de :class:`float` y :class:`decimal.Decimal`. Esencialmente, esta " +"función se da por reducción módulo ``P`` para un primo fijo ``P``. El valor " +"de ``P`` se pone a disposición de Python como el atributo :attr:`~sys." +"hash_info.modulus` de :data:`sys.hash_info`." #: ../Doc/library/stdtypes.rst:726 msgid "" @@ -1476,23 +1514,75 @@ msgid "" " hash_value = -2\n" " return hash_value" msgstr "" +"import sys, math\n" +"\n" +"def hash_fraction(m, n):\n" +" \"\"\"Compute the hash of a rational number m / n.\n" +"\n" +" Assumes m and n are integers, with n positive.\n" +" Equivalent to hash(fractions.Fraction(m, n)).\n" +"\n" +" \"\"\"\n" +" P = sys.hash_info.modulus\n" +" # Remove common factors of P. (Unnecessary if m and n already " +"coprime.)\n" +" while m % P == n % P == 0:\n" +" m, n = m // P, n // P\n" +"\n" +" if n % P == 0:\n" +" hash_value = sys.hash_info.inf\n" +" else:\n" +" # Fermat's Little Theorem: pow(n, P-1, P) is 1, so\n" +" # pow(n, P-2, P) gives the inverse of n modulo P.\n" +" hash_value = (abs(m) % P) * pow(n, P - 2, P) % P\n" +" if m < 0:\n" +" hash_value = -hash_value\n" +" if hash_value == -1:\n" +" hash_value = -2\n" +" return hash_value\n" +"\n" +"def hash_float(x):\n" +" \"\"\"Compute the hash of a float x.\"\"\"\n" +"\n" +" if math.isnan(x):\n" +" return object.__hash__(x)\n" +" elif math.isinf(x):\n" +" return sys.hash_info.inf if x > 0 else -sys.hash_info.inf\n" +" else:\n" +" return hash_fraction(*x.as_integer_ratio())\n" +"\n" +"def hash_complex(z):\n" +" \"\"\"Compute the hash of a complex number z.\"\"\"\n" +"\n" +" hash_value = hash_float(z.real) + sys.hash_info.imag * hash_float(z." +"imag)\n" +" # do a signed reduction modulo 2**sys.hash_info.width\n" +" M = 2**(sys.hash_info.width - 1)\n" +" hash_value = (hash_value & (M - 1)) - (hash_value & M)\n" +" if hash_value == -1:\n" +" hash_value = -2\n" +" return hash_value" #: ../Doc/library/stdtypes.rst:812 -#, fuzzy msgid "Boolean Type - :class:`bool`" -msgstr "Tipos mapa --- :class:`dict`" +msgstr "Tipo Booleano --- :class:`bool`" #: ../Doc/library/stdtypes.rst:814 msgid "" "Booleans represent truth values. The :class:`bool` type has exactly two " "constant instances: ``True`` and ``False``." msgstr "" +"Los valores booleanos representan valores de verdad. El tipo :class:`bool` " +"tiene exactamente dos instancias constantes: ``True`` y ``False``." #: ../Doc/library/stdtypes.rst:822 msgid "" "The built-in function :func:`bool` converts any value to a boolean, if the " "value can be interpreted as a truth value (see section :ref:`truth` above)." msgstr "" +"La función incorporada :func:`bool` convierte cualquier valor en un " +"booleano, si el valor puede interpretarse como un valor de verdad (consulte " +"la sección :ref:`truth` más arriba)." #: ../Doc/library/stdtypes.rst:825 msgid "" @@ -1502,12 +1592,19 @@ msgid "" "\"and\", \"or\", \"xor\". However, the logical operators ``and``, ``or`` and " "``!=`` should be preferred over ``&``, ``|`` and ``^``." msgstr "" +"Para operaciones lógicas, utilice :ref:`boolean operators `, " +"``and``, ``or`` y ``not``. Al aplicar los operadores bit a bit ``&``, ``|``, " +"``^`` a dos booleanos, devuelven un booleano equivalente a las operaciones " +"lógicas \"y\", \"o\", \"xor\". Sin embargo, los operadores lógicos ``and``, " +"``or`` y ``!=`` deberían preferirse a ``&``, ``|`` y ``^``." #: ../Doc/library/stdtypes.rst:834 msgid "" "The use of the bitwise inversion operator ``~`` is deprecated and will raise " "an error in Python 3.16." msgstr "" +"El uso del operador de inversión bit a bit ``~`` está obsoleto y generará un " +"error en Python 3.16." #: ../Doc/library/stdtypes.rst:837 msgid "" @@ -1516,6 +1613,11 @@ msgid "" "1, respectively. However, relying on this is discouraged; explicitly convert " "using :func:`int` instead." msgstr "" +":class:`bool` es una subclase de :class:`int` (consulte :ref:" +"`typesnumeric`). En muchos contextos numéricos, ``False`` y ``True`` se " +"comportan como los números enteros 0 y 1, respectivamente. Sin embargo, no " +"se recomienda confiar en esto; realice la conversión explícitamente " +"utilizando :func:`int`." #: ../Doc/library/stdtypes.rst:845 msgid "Iterator Types" @@ -1622,7 +1724,6 @@ msgid "Generator Types" msgstr "Tipos generador" #: ../Doc/library/stdtypes.rst:909 -#, fuzzy msgid "" "Python's :term:`generator`\\s provide a convenient way to implement the " "iterator protocol. If a container object's :meth:`~iterator.__iter__` " @@ -1632,13 +1733,13 @@ msgid "" "generators can be found in :ref:`the documentation for the yield expression " "`." msgstr "" -"Los :term:`generator` de Python proporcionan una manera cómoda de " -"implementar el protocolo iterador. Si un objeto de tipo contenedor " -"implementa el método :meth:`__iter__` como un generador, de forma automática " -"este retornará un objeto iterador (técnicamente, un objeto generador) que " -"implementa los métodos :meth:`__iter__` y :meth:`~generator.__next__`. Se " -"puede obtener más información acerca de los generadores en :ref:`la " -"documentación de la expresión yield `." +"Los :term:`generator` de Python proporcionan una forma conveniente de " +"implementar el protocolo iterador. Si el método :meth:`~iterator.__iter__` " +"de un objeto contenedor se implementa como generador, devolverá " +"automáticamente un objeto iterador (técnicamente, un objeto generador) que " +"suministra los métodos :meth:`!__iter__` y :meth:`~generator.__next__`. " +"Puede encontrar más información sobre los generadores en :ref:`the " +"documentation for the yield expression `." #: ../Doc/library/stdtypes.rst:921 msgid "Sequence Types --- :class:`list`, :class:`tuple`, :class:`range`" @@ -1863,6 +1964,8 @@ msgid "" ">>> \"gg\" in \"eggs\"\n" "True" msgstr "" +">>> \"gg\" in \"eggs\"\n" +"True" #: ../Doc/library/stdtypes.rst:1028 msgid "" @@ -1885,6 +1988,12 @@ msgid "" ">>> lists\n" "[[3], [3], [3]]" msgstr "" +">>> lists = [[]] * 3\n" +">>> lists\n" +"[[], [], []]\n" +">>> lists[0].append(3)\n" +">>> lists\n" +"[[3], [3], [3]]" #: ../Doc/library/stdtypes.rst:1040 msgid "" @@ -1908,6 +2017,12 @@ msgid "" ">>> lists\n" "[[3], [5], [7]]" msgstr "" +">>> lists = [[] for i in range(3)]\n" +">>> lists[0].append(3)\n" +">>> lists[1].append(5)\n" +">>> lists[2].append(7)\n" +">>> lists\n" +"[[3], [5], [7]]" #: ../Doc/library/stdtypes.rst:1052 msgid "" @@ -2216,7 +2331,6 @@ msgid "``s.remove(x)``" msgstr "``s.remove(x)``" #: ../Doc/library/stdtypes.rst:1212 -#, fuzzy msgid "removes the first item from *s* where ``s[i]`` is equal to *x*" msgstr "elimina el primer elemento de *s* tal que ``s[i]`` sea igual a *x*" @@ -2230,13 +2344,12 @@ msgid "reverses the items of *s* in place" msgstr "invierte el orden de los elementos de *s*, a nivel interno" #: ../Doc/library/stdtypes.rst:1224 -#, fuzzy msgid "" "If *k* is not equal to ``1``, *t* must have the same length as the slice it " "is replacing." msgstr "" -"La secuencia *t* debe tener la misma longitud que el segmento a la que " -"reemplaza." +"Si *k* no es igual a ``1``, *t* debe tener la misma longitud que el segmento " +"a la que reemplaza." #: ../Doc/library/stdtypes.rst:1227 msgid "" @@ -2654,6 +2767,20 @@ msgid "" ">>> list(range(1, 0))\n" "[]" msgstr "" +">>> list(range(10))\n" +"[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]\n" +">>> list(range(1, 11))\n" +"[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]\n" +">>> list(range(0, 30, 5))\n" +"[0, 5, 10, 15, 20, 25]\n" +">>> list(range(0, 10, 3))\n" +"[0, 3, 6, 9]\n" +">>> list(range(0, -10, -1))\n" +"[0, -1, -2, -3, -4, -5, -6, -7, -8, -9]\n" +">>> list(range(0))\n" +"[]\n" +">>> list(range(1, 0))\n" +"[]" #: ../Doc/library/stdtypes.rst:1432 msgid "" @@ -2748,24 +2875,22 @@ msgstr "" "identidad)." #: ../Doc/library/stdtypes.rst:1495 -#, fuzzy msgid "" "Added the :attr:`~range.start`, :attr:`~range.stop` and :attr:`~range.step` " "attributes." msgstr "" -"Los atributos :attr:`~range.start`, :attr:`~range.stop` y :attr:`~range." -"step`." +"Se agregan los atributos :attr:`~range.start`, :attr:`~range.stop` y :attr:" +"`~range.step`." #: ../Doc/library/stdtypes.rst:1500 -#, fuzzy msgid "" "The `linspace recipe `_ shows how to implement a lazy version of range " "suitable for floating-point applications." msgstr "" -"En `linspace recipe `_ se " -"muestra como implementar una versión *lazy* o perezosa de rango adecuada " -"para aplicaciones de coma flotante." +"El `linspace recipe `_ muestra cómo implementar una versión perezosa de " +"rango adecuada para aplicaciones de punto flotante." #: ../Doc/library/stdtypes.rst:1512 msgid "Text Sequence Type --- :class:`str`" @@ -2820,16 +2945,15 @@ msgstr "" "cadena. Esto es, ``(\"spam \" \"eggs\") == \"spam eggs\"``." #: ../Doc/library/stdtypes.rst:1530 -#, fuzzy msgid "" "See :ref:`strings` for more about the various forms of string literal, " "including supported :ref:`escape sequences `, and the " "``r`` (\"raw\") prefix that disables most escape sequence processing." msgstr "" -"Véase :ref:`strings` para más información acerca de las diferentes formas de " -"expresar cadenas de forma literal, incluidos los caracteres de escape, y del " -"prefijo ``r`` (\"*raw*\") que deshabilita el procesamiento de la mayoría de " -"dichas secuencias de escape." +"Consulte :ref:`strings` para obtener más información sobre las distintas " +"formas de literal de cadena, incluido :ref:`escape sequences ` compatible y el prefijo ``r`` (\"sin procesar\") que deshabilita " +"la mayoría del procesamiento de secuencias de escape." #: ../Doc/library/stdtypes.rst:1534 msgid "" @@ -2881,7 +3005,6 @@ msgstr "" "pasados en los parámetros *encoding* y *errors*, como veremos." #: ../Doc/library/stdtypes.rst:1563 -#, fuzzy msgid "" "If neither *encoding* nor *errors* is given, ``str(object)`` returns :meth:" "`type(object).__str__(object) `, which is the \"informal\" " @@ -2890,12 +3013,12 @@ msgid "" "__str__` method, then :func:`str` falls back to returning :func:" "`repr(object) `." msgstr "" -"Si no se especifica ni *encoding* ni *errors*, ``str(object)`` retorna :meth:" -"`type(object).__str__(object) `, que es la representación " -"\"informal\" o mas cómoda de usar, en forma de cadena de caracteres, del " -"valor de *object*. Para una cadena de caracteres, es la cadena en sí. Si " -"*object* no tiene un método :meth:`~object.__str__`, entonces :func:`str` " -"usará como reemplazo el método :meth:`repr(object) `." +"Si no se proporciona ni *encoding* ni *errors*, ``str(object)`` devuelve :" +"meth:`type(object).__str__(object) `, que es la " +"representación de cadena \"informal\" o fácilmente imprimible de *object*. " +"Para los objetos de cadena, se trata de la cadena en sí. Si *object* no " +"tiene un método :meth:`~object.__str__`, entonces :func:`str` vuelve a " +"devolver :func:`repr(object) `." #: ../Doc/library/stdtypes.rst:1575 msgid "" @@ -2937,6 +3060,8 @@ msgid "" ">>> str(b'Zoot!')\n" "\"b'Zoot!'\"" msgstr "" +">>> str(b'Zoot!')\n" +"\"b'Zoot!'\"" #: ../Doc/library/stdtypes.rst:1592 msgid "" @@ -3032,14 +3157,14 @@ msgstr "" "pero el método :meth:`casefold` lo convertirá a ``\"ss\"``." #: ../Doc/library/stdtypes.rst:1644 -#, fuzzy msgid "" "The casefolding algorithm is `described in section 3.13 'Default Case " "Folding' of the Unicode Standard `__." msgstr "" -"El algoritmo de normalización a minúsculas se describe en la sección 3.13 " -"del estándar Unicode." +"El algoritmo de plegado de mayúsculas y minúsculas es `described in section " +"3.13 'Default Case Folding' of the Unicode Standard `__." #: ../Doc/library/stdtypes.rst:1653 msgid "" @@ -3068,19 +3193,22 @@ msgid "" "If *sub* is empty, returns the number of empty strings between characters " "which is the length of the string plus one." msgstr "" +"Si *sub* está vacío, devuelve el número de cadenas vacías entre caracteres, " +"que es la longitud de la cadena más uno." #: ../Doc/library/stdtypes.rst:1671 msgid "Return the string encoded to :class:`bytes`." -msgstr "" +msgstr "Devuelve la cadena codificada a :class:`bytes`." #: ../Doc/library/stdtypes.rst:1673 ../Doc/library/stdtypes.rst:2824 msgid "" "*encoding* defaults to ``'utf-8'``; see :ref:`standard-encodings` for " "possible values." msgstr "" +"El valor predeterminado de *encoding* es ``'utf-8'``; consulte :ref:" +"`standard-encodings` para conocer los valores posibles." #: ../Doc/library/stdtypes.rst:1676 -#, fuzzy msgid "" "*errors* controls how encoding errors are handled. If ``'strict'`` (the " "default), a :exc:`UnicodeError` exception is raised. Other possible values " @@ -3088,16 +3216,12 @@ msgid "" "``'backslashreplace'`` and any other name registered via :func:`codecs." "register_error`. See :ref:`error-handlers` for details." msgstr "" -"Retorna una versión codificada en forma de bytes. La codificación por " -"defecto es ``'utf-8'``. El parámetro *errors* permite especificar diferentes " -"esquemas de gestión de errores. El valor por defecto de *errors* es " -"``'strict'``, que significa que cualquier error en la codificación lanza una " -"excepción de tipo :exc:`UnicodeError`. Otros valores posibles son " -"``'ignore'``, ``'replace'``, ``'xmlcharrefreplace'``, ``'backslashreplace'`` " -"y cualquier otro nombre que se haya registrado mediante la función :func:" -"`codecs.register_error`, véase la sección :ref:`error-handlers`. Para una " -"lista de los posibles sistemas de codificación, véase la sección :ref:" -"`standard-encodings`." +"*errors* controla cómo se manejan los errores de codificación. Si se usa " +"``'strict'`` (el valor predeterminado), se genera una excepción :exc:" +"`UnicodeError`. Otros valores posibles son ``'ignore'``, ``'replace'``, " +"``'xmlcharrefreplace'``, ``'backslashreplace'`` y cualquier otro nombre " +"registrado mediante :func:`codecs.register_error`. Consulte :ref:`error-" +"handlers` para obtener más detalles." #: ../Doc/library/stdtypes.rst:1683 msgid "" @@ -3105,19 +3229,21 @@ msgid "" "unless an encoding error actually occurs, :ref:`devmode` is enabled or a :" "ref:`debug build ` is used." msgstr "" +"Por razones de rendimiento, no se verifica la validez del valor de *errors* " +"a menos que realmente se produzca un error de codificación, se habilite :ref:" +"`devmode` o se utilice :ref:`debug build `." #: ../Doc/library/stdtypes.rst:1688 ../Doc/library/stdtypes.rst:2843 msgid "Added support for keyword arguments." msgstr "Añadido soporte para poder usar parámetros por nombre." #: ../Doc/library/stdtypes.rst:1691 ../Doc/library/stdtypes.rst:2846 -#, fuzzy msgid "" "The value of the *errors* argument is now checked in :ref:`devmode` and in :" "ref:`debug mode `." msgstr "" -"El argumento *errors* ahora se verifica en modo de desarrollo y en una :ref:" -"`compilación de depuración `." +"El valor del argumento *errors* ahora se comprueba en :ref:`devmode` y en :" +"ref:`debug mode `." #: ../Doc/library/stdtypes.rst:1698 msgid "" @@ -3187,6 +3313,8 @@ msgid "" ">>> 'Py' in 'Python'\n" "True" msgstr "" +">>> 'Py' in 'Python'\n" +"True" #: ../Doc/library/stdtypes.rst:1743 msgid "" @@ -3272,7 +3400,6 @@ msgstr "" "isdigit()`` o ``c.isnumeric()``." #: ../Doc/library/stdtypes.rst:1804 -#, fuzzy msgid "" "Return ``True`` if all characters in the string are alphabetic and there is " "at least one character, ``False`` otherwise. Alphabetic characters are " @@ -3283,12 +3410,14 @@ msgid "" "of the Unicode Standard `_." msgstr "" -"Retorna ``True`` si todos los caracteres de la cadena son alfabéticos y hay, " -"al menos, un carácter, en caso contrario, retorna ``False``. Los caracteres " -"alfabéticos son aquellos definidos en la base de datos de Unicode como " -"\"Letter\", es decir, aquellos cuya propiedad de categoría general es " -"\"Lm\", \"Lt\", \"Lu\", \"Ll\" o \"Lo\". Nótese que esta definición de " -"\"Alfabético\" es diferente de la que usa el estándar Unicode." +"Devuelve ``True`` si todos los caracteres de la cadena son alfabéticos y hay " +"al menos un carácter, ``False`` en caso contrario. Los caracteres " +"alfabéticos son aquellos caracteres definidos en la base de datos de " +"caracteres Unicode como \"Letra\", es decir, aquellos cuya propiedad de " +"categoría general es \"Lm\", \"Lt\", \"Lu\", \"Ll\" o \"Lo\". Tenga en " +"cuenta que esto es diferente de `Alphabetic property defined in the section " +"4.10 'Letters, Alphabetic, and Ideographic' of the Unicode Standard `_." #: ../Doc/library/stdtypes.rst:1815 msgid "" @@ -3342,14 +3471,12 @@ msgstr "" "acuerdo a la especificación del lenguaje, véase :ref:`identifiers`." #: ../Doc/library/stdtypes.rst:1847 -#, fuzzy msgid "" ":func:`keyword.iskeyword` can be used to test whether string ``s`` is a " "reserved identifier, such as :keyword:`def` and :keyword:`class`." msgstr "" -"Se puede usar la función :func:`keyword.iskeyword` para comprobar si la " -"cadena ``s`` es un identificador reservado, como :keyword:`def` o :keyword:" -"`class`." +":func:`keyword.iskeyword` se puede utilizar para probar si la cadena ``s`` " +"es un identificador reservado, como :keyword:`def` y :keyword:`class`." #: ../Doc/library/stdtypes.rst:1850 msgid "Example: ::" @@ -3364,6 +3491,12 @@ msgid "" ">>> 'def'.isidentifier(), iskeyword('def')\n" "(True, True)" msgstr "" +">>> from keyword import iskeyword\n" +"\n" +">>> 'hello'.isidentifier(), iskeyword('hello')\n" +"(True, False)\n" +">>> 'def'.isidentifier(), iskeyword('def')\n" +"(True, True)" #: ../Doc/library/stdtypes.rst:1863 msgid "" @@ -3486,14 +3619,14 @@ msgstr "" "minúsculas [4]_." #: ../Doc/library/stdtypes.rst:1944 -#, fuzzy msgid "" "The lowercasing algorithm used is `described in section 3.13 'Default Case " "Folding' of the Unicode Standard `__." msgstr "" -"El algoritmo usado para la conversión a minúsculas está descrito en la " -"sección 3.13 del estándar Unicode." +"El algoritmo de minúsculas utilizado es `described in section 3.13 'Default " +"Case Folding' of the Unicode Standard `__." #: ../Doc/library/stdtypes.rst:1951 msgid "" @@ -3516,6 +3649,10 @@ msgid "" ">>> 'www.example.com'.lstrip('cmowz.')\n" "'example.com'" msgstr "" +">>> ' spacious '.lstrip()\n" +"'spacious '\n" +">>> 'www.example.com'.lstrip('cmowz.')\n" +"'example.com'" #: ../Doc/library/stdtypes.rst:1961 msgid "" @@ -3533,6 +3670,10 @@ msgid "" ">>> 'Arthur: three!'.removeprefix('Arthur: ')\n" "'three!'" msgstr "" +">>> 'Arthur: three!'.lstrip('Arthur: ')\n" +"'ee!'\n" +">>> 'Arthur: three!'.removeprefix('Arthur: ')\n" +"'three!'" #: ../Doc/library/stdtypes.rst:1972 msgid "" @@ -3595,6 +3736,10 @@ msgid "" ">>> 'BaseTestCase'.removeprefix('Test')\n" "'BaseTestCase'" msgstr "" +">>> 'TestHook'.removeprefix('Test')\n" +"'Hook'\n" +">>> 'BaseTestCase'.removeprefix('Test')\n" +"'BaseTestCase'" #: ../Doc/library/stdtypes.rst:2009 msgid "" @@ -3613,23 +3758,26 @@ msgid "" ">>> 'TmpDirMixin'.removesuffix('Tests')\n" "'TmpDirMixin'" msgstr "" +">>> 'MiscTests'.removesuffix('Tests')\n" +"'Misc'\n" +">>> 'TmpDirMixin'.removesuffix('Tests')\n" +"'TmpDirMixin'" #: ../Doc/library/stdtypes.rst:2023 -#, fuzzy msgid "" "Return a copy of the string with all occurrences of substring *old* replaced " "by *new*. If *count* is given, only the first *count* occurrences are " "replaced. If *count* is not specified or ``-1``, then all occurrences are " "replaced." msgstr "" -"Retorna una copia de la cadena con todas las ocurrencias de la cadena *old* " -"sustituidas por *new*. Si se utiliza el parámetro *count*, solo se cambian " -"las primeras *count* ocurrencias." +"Devuelve una copia de la cadena con todas las ocurrencias de la subcadena " +"*old* reemplazadas por *new*. Si se proporciona *count*, solo se reemplazan " +"las primeras ocurrencias de *count*. Si no se especifica *count* o ``-1``, " +"se reemplazan todas las ocurrencias." #: ../Doc/library/stdtypes.rst:2027 -#, fuzzy msgid "*count* is now supported as a keyword argument." -msgstr "El parámetro *delete* se puede ahora especificar por nombre." +msgstr "*count* es ahora soportado como argumento de palabra clave." #: ../Doc/library/stdtypes.rst:2033 msgid "" @@ -3712,6 +3860,10 @@ msgid "" ">>> 'mississippi'.rstrip('ipz')\n" "'mississ'" msgstr "" +">>> ' spacious '.rstrip()\n" +"' spacious'\n" +">>> 'mississippi'.rstrip('ipz')\n" +"'mississ'" #: ../Doc/library/stdtypes.rst:2080 msgid "" @@ -3729,6 +3881,10 @@ msgid "" ">>> 'Monty Python'.removesuffix(' Python')\n" "'Monty'" msgstr "" +">>> 'Monty Python'.rstrip(' Python')\n" +"'M'\n" +">>> 'Monty Python'.removesuffix(' Python')\n" +"'Monty'" #: ../Doc/library/stdtypes.rst:2090 msgid "" @@ -3746,7 +3902,6 @@ msgstr "" "número de divisiones a realizar (se harán todas las que se puedan)." #: ../Doc/library/stdtypes.rst:2096 -#, fuzzy msgid "" "If *sep* is given, consecutive delimiters are not grouped together and are " "deemed to delimit empty strings (for example, ``'1,,2'.split(',')`` returns " @@ -3755,12 +3910,12 @@ msgid "" "split`). Splitting an empty string with a specified separator returns " "``['']``." msgstr "" -"Si se especifica *sep*, las repeticiones de caracteres delimitadores no se " -"agrupan juntos, sino que se considera que están delimitando cadenas vacías " -"(por ejemplo, ``'1,,2'.split(',')`` retorna ``['1', '', '2']``). El " -"parámetro *sep* puede contener más de un carácter (por ejemplo, ``'1<>2<>3'." -"split('<>')`` retorna ``['1', '2', '3']``). Dividir una cadena vacía con un " -"separador determinado retornará ``['']``." +"Si se proporciona *sep*, los delimitadores consecutivos no se agrupan y se " +"consideran que delimitan cadenas vacías (por ejemplo, ``'1,,2'.split(',')`` " +"devuelve ``['1', '', '2']``). El argumento *sep* puede constar de varios " +"caracteres como un único delimitador (para dividir con varios delimitadores, " +"utilice :func:`re.split`). Dividir una cadena vacía con un separador " +"especificado devuelve ``['']``." #: ../Doc/library/stdtypes.rst:2103 ../Doc/library/stdtypes.rst:2121 #: ../Doc/library/stdtypes.rst:2173 ../Doc/library/stdtypes.rst:2241 @@ -3786,6 +3941,14 @@ msgid "" ">>> '1<>2<>3<4'.split('<>')\n" "['1', '2', '3<4']" msgstr "" +">>> '1,2,3'.split(',')\n" +"['1', '2', '3']\n" +">>> '1,2,3'.split(',', maxsplit=1)\n" +"['1', '2,3']\n" +">>> '1,2,,3,'.split(',')\n" +"['1', '2', '', '3', '']\n" +">>> '1<>2<>3<4'.split('<>')\n" +"['1', '2', '3<4']" #: ../Doc/library/stdtypes.rst:2114 msgid "" @@ -3813,6 +3976,12 @@ msgid "" ">>> ' 1 2 3 '.split()\n" "['1', '2', '3']" msgstr "" +">>> '1 2 3'.split()\n" +"['1', '2', '3']\n" +">>> '1 2 3'.split(maxsplit=1)\n" +"['1', '2 3']\n" +">>> ' 1 2 3 '.split()\n" +"['1', '2', '3']" #: ../Doc/library/stdtypes.rst:2136 msgid "" @@ -3941,6 +4110,10 @@ msgid "" ">>> 'ab c\\n\\nde fg\\rkl\\r\\n'.splitlines(keepends=True)\n" "['ab c\\n', '\\n', 'de fg\\r', 'kl\\r\\n']" msgstr "" +">>> 'ab c\\n\\nde fg\\rkl\\r\\n'.splitlines()\n" +"['ab c', '', 'de fg', 'kl']\n" +">>> 'ab c\\n\\nde fg\\rkl\\r\\n'.splitlines(keepends=True)\n" +"['ab c\\n', '\\n', 'de fg\\r', 'kl\\r\\n']" #: ../Doc/library/stdtypes.rst:2180 msgid "" @@ -3959,6 +4132,10 @@ msgid "" ">>> \"One line\\n\".splitlines()\n" "['One line']" msgstr "" +">>> \"\".splitlines()\n" +"[]\n" +">>> \"One line\\n\".splitlines()\n" +"['One line']" #: ../Doc/library/stdtypes.rst:2189 msgid "For comparison, ``split('\\n')`` gives::" @@ -3971,6 +4148,10 @@ msgid "" ">>> 'Two lines\\n'.split('\\n')\n" "['Two lines', '']" msgstr "" +">>> ''.split('\\n')\n" +"['']\n" +">>> 'Two lines\\n'.split('\\n')\n" +"['Two lines', '']" #: ../Doc/library/stdtypes.rst:2199 msgid "" @@ -4007,6 +4188,10 @@ msgid "" ">>> 'www.example.com'.strip('cmowz.')\n" "'example'" msgstr "" +">>> ' spacious '.strip()\n" +"'spacious'\n" +">>> 'www.example.com'.strip('cmowz.')\n" +"'example'" #: ../Doc/library/stdtypes.rst:2218 msgid "" @@ -4027,6 +4212,9 @@ msgid "" ">>> comment_string.strip('.#! ')\n" "'Section 3.2.1 Issue #32'" msgstr "" +">>> comment_string = '#....... Section 3.2.1 Issue #32 .......'\n" +">>> comment_string.strip('.#! ')\n" +"'Section 3.2.1 Issue #32'" #: ../Doc/library/stdtypes.rst:2231 msgid "" @@ -4051,6 +4239,8 @@ msgid "" ">>> 'Hello world'.title()\n" "'Hello World'" msgstr "" +">>> 'Hello world'.title()\n" +"'Hello World'" #: ../Doc/library/stdtypes.rst:2246 ../Doc/library/stdtypes.rst:3472 msgid "" @@ -4071,6 +4261,8 @@ msgid "" ">>> \"they're bill's friends from the UK\".title()\n" "\"They'Re Bill'S Friends From The Uk\"" msgstr "" +">>> \"they're bill's friends from the UK\".title()\n" +"\"They'Re Bill'S Friends From The Uk\"" #: ../Doc/library/stdtypes.rst:2254 msgid "" @@ -4099,9 +4291,16 @@ msgid "" ">>> titlecase(\"they're bill's friends.\")\n" "\"They're Bill's Friends.\"" msgstr "" +">>> import re\n" +">>> def titlecase(s):\n" +"... return re.sub(r\"[A-Za-z]+('[A-Za-z]+)?\",\n" +"... lambda mo: mo.group(0).capitalize(),\n" +"... s)\n" +"...\n" +">>> titlecase(\"they're bill's friends.\")\n" +"\"They're Bill's Friends.\"" #: ../Doc/library/stdtypes.rst:2272 -#, fuzzy msgid "" "Return a copy of the string in which each character has been mapped through " "the given translation table. The table must be an object that implements " @@ -4112,17 +4311,15 @@ msgid "" "delete the character from the return string; or raise a :exc:`LookupError` " "exception, to map the character to itself." msgstr "" -"Retorna una copia de la cadena en la que cada carácter ha sido sustituido " -"por su equivalente definido en la tabla de traducción dada. La tabla puede " -"ser cualquier objeto que soporta el acceso mediante índices implementado en " -"método :meth:`__getitem__`, normalmente un objeto de tipo :term:" -"`mapa` o :term:`secuencia`. Cuando se accede como índice " -"con un código Unicode (un entero), el objeto tabla puede hacer una de las " -"siguientes cosas: retornar otro código Unicode o retornar una cadena de " -"caracteres, de forma que se usarán uno u otro como reemplazo en la cadena de " -"salida; retorna ``None`` para eliminar el carácter en la cadena de salida, o " -"lanza una excepción de tipo :exc:`LookupError`, que hará que el carácter se " -"copie igual en la cadena de salida." +"Devuelve una copia de la cadena en la que se ha asignado cada carácter a " +"través de la tabla de traducción dada. La tabla debe ser un objeto que " +"implemente la indexación mediante :meth:`~object.__getitem__`, normalmente :" +"term:`mapping` o :term:`sequence`. Cuando se indexa mediante un ordinal " +"Unicode (un entero), el objeto de tabla puede realizar cualquiera de las " +"siguientes acciones: devolver un ordinal Unicode o una cadena, para asignar " +"el carácter a uno o más caracteres; devolver ``None``, para eliminar el " +"carácter de la cadena de retorno; o generar una excepción :exc:" +"`LookupError`, para asignar el carácter a sí mismo." #: ../Doc/library/stdtypes.rst:2281 msgid "" @@ -4156,14 +4353,14 @@ msgstr "" "(Letra, Título)." #: ../Doc/library/stdtypes.rst:2296 -#, fuzzy msgid "" "The uppercasing algorithm used is `described in section 3.13 'Default Case " "Folding' of the Unicode Standard `__." msgstr "" -"El algoritmo de paso a mayúsculas es el descrito en la sección 3.13 del " -"estándar Unicode." +"El algoritmo de mayúsculas utilizado es `described in section 3.13 'Default " +"Case Folding' of the Unicode Standard `__." #: ../Doc/library/stdtypes.rst:2303 msgid "" @@ -4185,6 +4382,10 @@ msgid "" ">>> \"-42\".zfill(5)\n" "'-0042'" msgstr "" +">>> \"42\".zfill(5)\n" +"'00042'\n" +">>> \"-42\".zfill(5)\n" +"'-0042'" #: ../Doc/library/stdtypes.rst:2321 msgid "``printf``-style String Formatting" @@ -4210,7 +4411,6 @@ msgstr "" "extensión." #: ../Doc/library/stdtypes.rst:2342 -#, fuzzy msgid "" "String objects have one unique built-in operation: the ``%`` operator " "(modulo). This is also known as the string *formatting* or *interpolation* " @@ -4219,13 +4419,12 @@ msgid "" "elements of *values*. The effect is similar to using the :c:func:`sprintf` " "function in the C language. For example:" msgstr "" -"Las cadenas de caracteres tienen una operación básica: El operador ``%`` " -"(módulo). Esta operación se conoce también como *formateo* de cadenas y " -"operador de interpolación. Dada la expresión ``formato % valores`` (donde " -"*formato* es una cadena), las especificaciones de conversión indicadas en la " -"cadena con el símbolo ``%`` son reemplazadas por cero o más elementos de " -"*valores*. El efecto es similar a usar la función del lenguaje C :c:func:" -"`sprintf`." +"Los objetos de cadena tienen una única operación incorporada: el operador " +"``%`` (módulo). También se lo conoce como operador de cadena *formatting* o " +"*interpolation*. Dado ``format % values`` (donde *format* es una cadena), " +"las especificaciones de conversión ``%`` en *format* se reemplazan con cero " +"o más elementos de *values*. El efecto es similar al uso de la función :c:" +"func:`sprintf` en el lenguaje C. Por ejemplo:" #: ../Doc/library/stdtypes.rst:2349 #, python-format @@ -4233,6 +4432,8 @@ msgid "" ">>> print('%s has %d quote types.' % ('Python', 2))\n" "Python has 2 quote types." msgstr "" +">>> print('%s has %d quote types.' % ('Python', 2))\n" +"Python has 2 quote types." #: ../Doc/library/stdtypes.rst:2354 msgid "" @@ -4460,7 +4661,6 @@ msgid "``'e'``" msgstr "``'e'``" #: ../Doc/library/stdtypes.rst:2446 ../Doc/library/stdtypes.rst:3665 -#, fuzzy msgid "Floating-point exponential format (lowercase)." msgstr "Formato en coma flotante exponencial (en minúsculas)." @@ -4469,7 +4669,6 @@ msgid "``'E'``" msgstr "``'E'``" #: ../Doc/library/stdtypes.rst:2448 ../Doc/library/stdtypes.rst:3667 -#, fuzzy msgid "Floating-point exponential format (uppercase)." msgstr "Formato en coma flotante exponencial (en mayúsculas)." @@ -4479,7 +4678,6 @@ msgstr "``'f'``" #: ../Doc/library/stdtypes.rst:2450 ../Doc/library/stdtypes.rst:2452 #: ../Doc/library/stdtypes.rst:3669 ../Doc/library/stdtypes.rst:3671 -#, fuzzy msgid "Floating-point decimal format." msgstr "Formato en coma flotante decimal." @@ -4492,28 +4690,26 @@ msgid "``'g'``" msgstr "``'g'``" #: ../Doc/library/stdtypes.rst:2454 ../Doc/library/stdtypes.rst:3673 -#, fuzzy msgid "" "Floating-point format. Uses lowercase exponential format if exponent is less " "than -4 or not less than precision, decimal format otherwise." msgstr "" -"Formato en coma flotante. Usa formato exponencial con minúsculas si el " -"exponente es menor que -4 o no es menor que la precisión, en caso contrario " -"usa el formato decimal." +"Formato de punto flotante. Utiliza el formato exponencial en minúsculas si " +"el exponente es menor que -4 o igual que la precisión; en caso contrario, " +"utiliza el formato decimal." #: ../Doc/library/stdtypes.rst:2458 ../Doc/library/stdtypes.rst:3677 msgid "``'G'``" msgstr "``'G'``" #: ../Doc/library/stdtypes.rst:2458 ../Doc/library/stdtypes.rst:3677 -#, fuzzy msgid "" "Floating-point format. Uses uppercase exponential format if exponent is less " "than -4 or not less than precision, decimal format otherwise." msgstr "" -"Formato en coma flotante. Usa formato exponencial con mayúsculas si el " -"exponente es menor que -4 o no es menor que la precisión, en caso contrario " -"usa el formato decimal." +"Formato de punto flotante. Utiliza el formato exponencial en mayúsculas si " +"el exponente es menor que -4 o igual que la precisión; en caso contrario, " +"utiliza el formato decimal." #: ../Doc/library/stdtypes.rst:2462 ../Doc/library/stdtypes.rst:3681 msgid "``'c'``" @@ -5052,6 +5248,8 @@ msgid "" "a = \"abc\"\n" "b = a.replace(\"a\", \"f\")" msgstr "" +"a = \"abc\"\n" +"b = a.replace(\"a\", \"f\")" #: ../Doc/library/stdtypes.rst:2742 msgid "and::" @@ -5062,6 +5260,8 @@ msgid "" "a = b\"abc\"\n" "b = a.replace(b\"a\", b\"f\")" msgstr "" +"a = b\"abc\"\n" +"b = a.replace(b\"a\", b\"f\")" #: ../Doc/library/stdtypes.rst:2747 msgid "" @@ -5116,6 +5316,8 @@ msgid "" "If *sub* is empty, returns the number of empty slices between characters " "which is the length of the bytes object plus one." msgstr "" +"Si *sub* está vacío, devuelve el número de porciones vacías entre " +"caracteres, que es la longitud del objeto de bytes más uno." #: ../Doc/library/stdtypes.rst:2771 ../Doc/library/stdtypes.rst:2882 #: ../Doc/library/stdtypes.rst:2895 ../Doc/library/stdtypes.rst:2961 @@ -5140,6 +5342,10 @@ msgid "" ">>> b'BaseTestCase'.removeprefix(b'Test')\n" "b'BaseTestCase'" msgstr "" +">>> b'TestHook'.removeprefix(b'Test')\n" +"b'Hook'\n" +">>> b'BaseTestCase'.removeprefix(b'Test')\n" +"b'BaseTestCase'" #: ../Doc/library/stdtypes.rst:2787 msgid "The *prefix* may be any :term:`bytes-like object`." @@ -5181,6 +5387,10 @@ msgid "" ">>> b'TmpDirMixin'.removesuffix(b'Tests')\n" "b'TmpDirMixin'" msgstr "" +">>> b'MiscTests'.removesuffix(b'Tests')\n" +"b'Misc'\n" +">>> b'TmpDirMixin'.removesuffix(b'Tests')\n" +"b'TmpDirMixin'" #: ../Doc/library/stdtypes.rst:2809 msgid "The *suffix* may be any :term:`bytes-like object`." @@ -5190,7 +5400,7 @@ msgstr "" #: ../Doc/library/stdtypes.rst:2822 msgid "Return the bytes decoded to a :class:`str`." -msgstr "" +msgstr "Devuelve los bytes decodificados a un :class:`str`." #: ../Doc/library/stdtypes.rst:2827 msgid "" @@ -5199,6 +5409,11 @@ msgid "" "are ``'ignore'``, ``'replace'``, and any other name registered via :func:" "`codecs.register_error`. See :ref:`error-handlers` for details." msgstr "" +"*errors* controla cómo se manejan los errores de decodificación. Si se usa " +"``'strict'`` (el valor predeterminado), se genera una excepción :exc:" +"`UnicodeError`. Otros valores posibles son ``'ignore'``, ``'replace'`` y " +"cualquier otro nombre registrado mediante :func:`codecs.register_error`. " +"Consulte :ref:`error-handlers` para obtener más detalles." #: ../Doc/library/stdtypes.rst:2833 msgid "" @@ -5206,17 +5421,19 @@ msgid "" "unless a decoding error actually occurs, :ref:`devmode` is enabled or a :ref:" "`debug build ` is used." msgstr "" +"Por razones de rendimiento, no se verifica la validez del valor de *errors* " +"a menos que realmente se produzca un error de decodificación, se habilite :" +"ref:`devmode` o se utilice :ref:`debug build `." #: ../Doc/library/stdtypes.rst:2839 -#, fuzzy msgid "" "Passing the *encoding* argument to :class:`str` allows decoding any :term:" "`bytes-like object` directly, without needing to make a temporary :class:`!" "bytes` or :class:`!bytearray` object." msgstr "" -"Pasando el parámetro *encoding* a la clase :class:`str` permite decodificar " -"cualquier :term:`objeto tipo binario ` directamente, sin " -"necesidad de crear una objeto temporal de tipo *bytes* o *bytearray*." +"Pasar el argumento *encoding* a :class:`str` permite decodificar cualquier :" +"term:`bytes-like object` directamente, sin necesidad de crear un objeto " +"temporal :class:`!bytes` o :class:`!bytearray`." #: ../Doc/library/stdtypes.rst:2854 msgid "" @@ -5265,6 +5482,8 @@ msgid "" ">>> b'Py' in b'Python'\n" "True" msgstr "" +">>> b'Py' in b'Python'\n" +"True" #: ../Doc/library/stdtypes.rst:2889 msgid "" @@ -5428,6 +5647,8 @@ msgid "" ">>> b'read this short text'.translate(None, b'aeiou')\n" "b'rd ths shrt txt'" msgstr "" +">>> b'read this short text'.translate(None, b'aeiou')\n" +"b'rd ths shrt txt'" #: ../Doc/library/stdtypes.rst:3019 msgid "*delete* is now supported as a keyword argument." @@ -5498,6 +5719,10 @@ msgid "" ">>> b'www.example.com'.lstrip(b'cmowz.')\n" "b'example.com'" msgstr "" +">>> b' spacious '.lstrip()\n" +"b'spacious '\n" +">>> b'www.example.com'.lstrip(b'cmowz.')\n" +"b'example.com'" #: ../Doc/library/stdtypes.rst:3072 msgid "" @@ -5518,6 +5743,10 @@ msgid "" ">>> b'Arthur: three!'.removeprefix(b'Arthur: ')\n" "b'three!'" msgstr "" +">>> b'Arthur: three!'.lstrip(b'Arthur: ')\n" +"b'ee!'\n" +">>> b'Arthur: three!'.removeprefix(b'Arthur: ')\n" +"b'three!'" #: ../Doc/library/stdtypes.rst:3091 msgid "" @@ -5574,6 +5803,10 @@ msgid "" ">>> b'mississippi'.rstrip(b'ipz')\n" "b'mississ'" msgstr "" +">>> b' spacious '.rstrip()\n" +"b' spacious'\n" +">>> b'mississippi'.rstrip(b'ipz')\n" +"b'mississ'" #: ../Doc/library/stdtypes.rst:3128 msgid "" @@ -5594,6 +5827,10 @@ msgid "" ">>> b'Monty Python'.removesuffix(b' Python')\n" "b'Monty'" msgstr "" +">>> b'Monty Python'.rstrip(b' Python')\n" +"b'M'\n" +">>> b'Monty Python'.removesuffix(b' Python')\n" +"b'Monty'" #: ../Doc/library/stdtypes.rst:3147 msgid "" @@ -5611,7 +5848,6 @@ msgstr "" "divisiones (se hacen todas las posibles divisiones)." #: ../Doc/library/stdtypes.rst:3153 -#, fuzzy msgid "" "If *sep* is given, consecutive delimiters are not grouped together and are " "deemed to delimit empty subsequences (for example, ``b'1,,2'.split(b',')`` " @@ -5621,14 +5857,13 @@ msgid "" "the type of object being split. The *sep* argument may be any :term:`bytes-" "like object`." msgstr "" -"Si se especifica *sep*, las repeticiones de caracteres delimitadores no se " -"agrupan juntos, sino que se considera que están delimitando cadenas vacías " -"(por ejemplo, ``b'1,,2'.split(b',')`` retorna ``[b'1', b'', b'2']``). El " -"parámetro *sep* puede contener más de un carácter (por ejemplo, ``b'1<>2<>3'." -"split(b'<>')`` retorna ``[b'1', b'2', b'3']``). Dividir una cadena vacía con " -"un separador determinado retornará ``[b'']`` o ``[bytearray(b'')]`` " -"dependiendo del tipo de objeto dividido. El parámetro *sep* puede ser " -"cualquier :term:`objeto tipo binario `." +"Si se proporciona *sep*, los delimitadores consecutivos no se agrupan y se " +"consideran que delimitan subsecuencias vacías (por ejemplo, ``b'1,,2'." +"split(b',')`` devuelve ``[b'1', b'', b'2']``). El argumento *sep* puede " +"consistir en una secuencia multibyte como un único delimitador. Dividir una " +"secuencia vacía con un separador especificado devuelve ``[b'']`` o " +"``[bytearray(b'')]`` según el tipo de objeto que se esté dividiendo. El " +"argumento *sep* puede ser cualquier :term:`bytes-like object`." #: ../Doc/library/stdtypes.rst:3163 msgid "" @@ -5641,6 +5876,14 @@ msgid "" ">>> b'1<>2<>3<4'.split(b'<>')\n" "[b'1', b'2', b'3<4']" msgstr "" +">>> b'1,2,3'.split(b',')\n" +"[b'1', b'2', b'3']\n" +">>> b'1,2,3'.split(b',', maxsplit=1)\n" +"[b'1', b'2,3']\n" +">>> b'1,2,,3,'.split(b',')\n" +"[b'1', b'2', b'', b'3', b'']\n" +">>> b'1<>2<>3<4'.split(b'<>')\n" +"[b'1', b'2', b'3<4']" #: ../Doc/library/stdtypes.rst:3172 msgid "" @@ -5668,6 +5911,12 @@ msgid "" ">>> b' 1 2 3 '.split()\n" "[b'1', b'2', b'3']" msgstr "" +">>> b'1 2 3'.split()\n" +"[b'1', b'2', b'3']\n" +">>> b'1 2 3'.split(maxsplit=1)\n" +"[b'1', b'2 3']\n" +">>> b' 1 2 3 '.split()\n" +"[b'1', b'2', b'3']" #: ../Doc/library/stdtypes.rst:3193 msgid "" @@ -5694,6 +5943,10 @@ msgid "" ">>> b'www.example.com'.strip(b'cmowz.')\n" "b'example'" msgstr "" +">>> b' spacious '.strip()\n" +"b'spacious'\n" +">>> b'www.example.com'.strip(b'cmowz.')\n" +"b'example'" #: ../Doc/library/stdtypes.rst:3206 msgid "" @@ -5761,6 +6014,10 @@ msgid "" ">>> b'01\\t012\\t0123\\t01234'.expandtabs(4)\n" "b'01 012 0123 01234'" msgstr "" +">>> b'01\\t012\\t0123\\t01234'.expandtabs()\n" +"b'01 012 0123 01234'\n" +">>> b'01\\t012\\t0123\\t01234'.expandtabs(4)\n" +"b'01 012 0123 01234'" #: ../Doc/library/stdtypes.rst:3264 msgid "" @@ -5784,6 +6041,10 @@ msgid "" ">>> b'ABC abc1'.isalnum()\n" "False" msgstr "" +">>> b'ABCabc1'.isalnum()\n" +"True\n" +">>> b'ABC abc1'.isalnum()\n" +"False" #: ../Doc/library/stdtypes.rst:3281 msgid "" @@ -5804,6 +6065,10 @@ msgid "" ">>> b'ABCabc1'.isalpha()\n" "False" msgstr "" +">>> b'ABCabc'.isalpha()\n" +"True\n" +">>> b'ABCabc1'.isalpha()\n" +"False" #: ../Doc/library/stdtypes.rst:3297 msgid "" @@ -5832,6 +6097,10 @@ msgid "" ">>> b'1.23'.isdigit()\n" "False" msgstr "" +">>> b'1234'.isdigit()\n" +"True\n" +">>> b'1.23'.isdigit()\n" +"False" #: ../Doc/library/stdtypes.rst:3322 msgid "" @@ -5849,6 +6118,10 @@ msgid "" ">>> b'Hello world'.islower()\n" "False" msgstr "" +">>> b'hello world'.islower()\n" +"True\n" +">>> b'Hello world'.islower()\n" +"False" #: ../Doc/library/stdtypes.rst:3332 ../Doc/library/stdtypes.rst:3374 #: ../Doc/library/stdtypes.rst:3390 ../Doc/library/stdtypes.rst:3440 @@ -5893,6 +6166,10 @@ msgid "" ">>> b'Hello world'.istitle()\n" "False" msgstr "" +">>> b'Hello World'.istitle()\n" +"True\n" +">>> b'Hello world'.istitle()\n" +"False" #: ../Doc/library/stdtypes.rst:3364 msgid "" @@ -5911,6 +6188,10 @@ msgid "" ">>> b'Hello world'.isupper()\n" "False" msgstr "" +">>> b'HELLO WORLD'.isupper()\n" +"True\n" +">>> b'Hello world'.isupper()\n" +"False" #: ../Doc/library/stdtypes.rst:3382 msgid "" @@ -5925,6 +6206,8 @@ msgid "" ">>> b'Hello World'.lower()\n" "b'hello world'" msgstr "" +">>> b'Hello World'.lower()\n" +"b'hello world'" #: ../Doc/library/stdtypes.rst:3407 msgid "" @@ -5945,6 +6228,10 @@ msgid "" ">>> b'ab c\\n\\nde fg\\rkl\\r\\n'.splitlines(keepends=True)\n" "[b'ab c\\n', b'\\n', b'de fg\\r', b'kl\\r\\n']" msgstr "" +">>> b'ab c\\n\\nde fg\\rkl\\r\\n'.splitlines()\n" +"[b'ab c', b'', b'de fg', b'kl']\n" +">>> b'ab c\\n\\nde fg\\rkl\\r\\n'.splitlines(keepends=True)\n" +"[b'ab c\\n', b'\\n', b'de fg\\r', b'kl\\r\\n']" #: ../Doc/library/stdtypes.rst:3419 msgid "" @@ -5964,6 +6251,10 @@ msgid "" ">>> b\"\".splitlines(), b\"One line\\n\".splitlines()\n" "([], [b'One line'])" msgstr "" +">>> b\"\".split(b'\\n'), b\"Two lines\\n\".split(b'\\n')\n" +"([b''], [b'Two lines', b''])\n" +">>> b\"\".splitlines(), b\"One line\\n\".splitlines()\n" +"([], [b'One line'])" #: ../Doc/library/stdtypes.rst:3432 msgid "" @@ -5979,19 +6270,20 @@ msgid "" ">>> b'Hello World'.swapcase()\n" "b'hELLO wORLD'" msgstr "" +">>> b'Hello World'.swapcase()\n" +"b'hELLO wORLD'" #: ../Doc/library/stdtypes.rst:3444 -#, fuzzy msgid "" "Unlike :func:`str.swapcase`, it is always the case that ``bin.swapcase()." "swapcase() == bin`` for the binary versions. Case conversions are " "symmetrical in ASCII, even though that is not generally true for arbitrary " "Unicode code points." msgstr "" -"Al contrario que la función :func:`str.swapcase()`, en este caso siempre se " -"cumple que ``bin.swapcase().swapcase() == bin`` para las versiones binarias. " -"La conversión de mayúsculas a minúsculas son simétricas en ASCII, aunque " -"esto no es el caso general para códigos de punto Unicode." +"A diferencia de :func:`str.swapcase`, siempre ocurre lo mismo con ``bin." +"swapcase().swapcase() == bin`` para las versiones binarias. Las conversiones " +"de mayúsculas y minúsculas son simétricas en ASCII, aunque esto no suele ser " +"así para puntos de código Unicode arbitrarios." #: ../Doc/library/stdtypes.rst:3458 msgid "" @@ -6008,6 +6300,8 @@ msgid "" ">>> b'Hello world'.title()\n" "b'Hello World'" msgstr "" +">>> b'Hello world'.title()\n" +"b'Hello World'" #: ../Doc/library/stdtypes.rst:3467 msgid "" @@ -6026,6 +6320,8 @@ msgid "" ">>> b\"they're bill's friends from the UK\".title()\n" "b\"They'Re Bill'S Friends From The Uk\"" msgstr "" +">>> b\"they're bill's friends from the UK\".title()\n" +"b\"They'Re Bill'S Friends From The Uk\"" #: ../Doc/library/stdtypes.rst:3480 msgid "" @@ -6046,6 +6342,15 @@ msgid "" ">>> titlecase(b\"they're bill's friends.\")\n" "b\"They're Bill's Friends.\"" msgstr "" +">>> import re\n" +">>> def titlecase(s):\n" +"... return re.sub(rb\"[A-Za-z]+('[A-Za-z]+)?\",\n" +"... lambda mo: mo.group(0)[0:1].upper() +\n" +"... mo.group(0)[1:].lower(),\n" +"... s)\n" +"...\n" +">>> titlecase(b\"they're bill's friends.\")\n" +"b\"They're Bill's Friends.\"" #: ../Doc/library/stdtypes.rst:3501 msgid "" @@ -6060,6 +6365,8 @@ msgid "" ">>> b'Hello World'.upper()\n" "b'HELLO WORLD'" msgstr "" +">>> b'Hello World'.upper()\n" +"b'HELLO WORLD'" #: ../Doc/library/stdtypes.rst:3522 msgid "" @@ -6083,6 +6390,10 @@ msgid "" ">>> b\"-42\".zfill(5)\n" "b'-0042'" msgstr "" +">>> b\"42\".zfill(5)\n" +"b'00042'\n" +">>> b\"-42\".zfill(5)\n" +"b'-0042'" #: ../Doc/library/stdtypes.rst:3544 msgid "``printf``-style Bytes Formatting" @@ -6151,13 +6462,12 @@ msgid "``'b'``" msgstr "``'b'``" #: ../Doc/library/stdtypes.rst:3684 -#, fuzzy msgid "" "Bytes (any object that follows the :ref:`buffer protocol ` or " "has :meth:`~object.__bytes__`)." msgstr "" -"Bytes (cualquier objeto que siga el :ref:`protocolo búfer ` o " -"implemente el método :meth:`__bytes__`)." +"Bytes (cualquier objeto que siga al :ref:`buffer protocol ` o " +"tenga :meth:`~object.__bytes__`)." #: ../Doc/library/stdtypes.rst:3688 msgid "" @@ -6245,18 +6555,25 @@ msgid "" "is the nested list representation of the view. If ``view.ndim = 1``, this is " "equal to the number of elements in the view." msgstr "" +"``len(view)`` es igual a la longitud de :class:`~memoryview.tolist`, que es " +"la representación de lista anidada de la vista. Si es ``view.ndim = 1``, es " +"igual a la cantidad de elementos de la vista." #: ../Doc/library/stdtypes.rst:3772 msgid "" "If ``view.ndim == 0``, ``len(view)`` now raises :exc:`TypeError` instead of " "returning 1." msgstr "" +"Si es ``view.ndim == 0``, ``len(view)`` ahora genera :exc:`TypeError` en " +"lugar de devolver 1." #: ../Doc/library/stdtypes.rst:3775 msgid "" "The :class:`~memoryview.itemsize` attribute will give you the number of " "bytes in a single element." msgstr "" +"El atributo :class:`~memoryview.itemsize` le dará la cantidad de bytes en un " +"solo elemento." #: ../Doc/library/stdtypes.rst:3778 msgid "" @@ -6279,6 +6596,15 @@ msgid "" ">>> bytes(v[1:4])\n" "b'bce'" msgstr "" +">>> v = memoryview(b'abcefg')\n" +">>> v[1]\n" +"98\n" +">>> v[-1]\n" +"103\n" +">>> v[1:4]\n" +"\n" +">>> bytes(v[1:4])\n" +"b'bce'" #: ../Doc/library/stdtypes.rst:3791 msgid "" @@ -6315,6 +6641,15 @@ msgid "" ">>> m[::2].tolist()\n" "[-11111111, -33333333]" msgstr "" +">>> import array\n" +">>> a = array.array('l', [-11111111, 22222222, -33333333, 44444444])\n" +">>> m = memoryview(a)\n" +">>> m[0]\n" +"-11111111\n" +">>> m[-1]\n" +"44444444\n" +">>> m[::2].tolist()\n" +"[-11111111, -33333333]" #: ../Doc/library/stdtypes.rst:3812 msgid "" @@ -6346,17 +6681,34 @@ msgid "" ">>> data\n" "bytearray(b'z1spam')" msgstr "" +">>> data = bytearray(b'abcefg')\n" +">>> v = memoryview(data)\n" +">>> v.readonly\n" +"False\n" +">>> v[0] = ord(b'z')\n" +">>> data\n" +"bytearray(b'zbcefg')\n" +">>> v[1:4] = b'123'\n" +">>> data\n" +"bytearray(b'z123fg')\n" +">>> v[2:3] = b'spam'\n" +"Traceback (most recent call last):\n" +" File \"\", line 1, in \n" +"ValueError: memoryview assignment: lvalue and rvalue have different " +"structures\n" +">>> v[2:6] = b'spam'\n" +">>> data\n" +"bytearray(b'z1spam')" #: ../Doc/library/stdtypes.rst:3833 -#, fuzzy msgid "" "One-dimensional memoryviews of :term:`hashable` (read-only) types with " "formats 'B', 'b' or 'c' are also hashable. The hash is defined as ``hash(m) " "== hash(m.tobytes())``::" msgstr "" -"Los objetos *memoryviews* de una única dimensión que contienen tipos de " -"datos *hashables* (de solo lectura) con formatos 'B', 'b' o 'c' son también " -"*hashables*. El *hash* se define como ``hash(m) == hash(m.tobytes())``::" +"Las vistas de memoria unidimensionales de tipos :term:`hashable` (solo " +"lectura) con formatos 'B', 'b' o 'c' también se pueden codificar en hash. El " +"hash se define como ``hash(m) == hash(m.tobytes())``::" #: ../Doc/library/stdtypes.rst:3837 msgid "" @@ -6368,16 +6720,22 @@ msgid "" ">>> hash(v[::-2]) == hash(b'abcefg'[::-2])\n" "True" msgstr "" +">>> v = memoryview(b'abcefg')\n" +">>> hash(v) == hash(b'abcefg')\n" +"True\n" +">>> hash(v[2:4]) == hash(b'ce')\n" +"True\n" +">>> hash(v[::-2]) == hash(b'abcefg'[::-2])\n" +"True" #: ../Doc/library/stdtypes.rst:3845 -#, fuzzy msgid "" "One-dimensional memoryviews can now be sliced. One-dimensional memoryviews " "with formats 'B', 'b' or 'c' are now :term:`hashable`." msgstr "" -"Los objetos *memoryviews* de una única dimensión pueden ahora ser usados con " -"operaciones de segmentado. Los objetos *memoryviews* de una única dimensión " -"con formatos 'B', 'b' o 'c' son ahora *hashables*." +"Ahora es posible dividir las vistas de memoria unidimensionales. Las vistas " +"de memoria unidimensionales con formatos 'B', 'b' o 'c' ahora son :term:" +"`hashable`." #: ../Doc/library/stdtypes.rst:3849 msgid "" @@ -6434,6 +6792,21 @@ msgid "" ">>> z.tolist() == c.tolist()\n" "True" msgstr "" +">>> import array\n" +">>> a = array.array('I', [1, 2, 3, 4, 5])\n" +">>> b = array.array('d', [1.0, 2.0, 3.0, 4.0, 5.0])\n" +">>> c = array.array('b', [5, 3, 1])\n" +">>> x = memoryview(a)\n" +">>> y = memoryview(b)\n" +">>> x == a == y == b\n" +"True\n" +">>> x.tolist() == a.tolist() == y.tolist() == b.tolist()\n" +"True\n" +">>> z = y[::-2]\n" +">>> z == c\n" +"True\n" +">>> z.tolist() == c.tolist()\n" +"True" #: ../Doc/library/stdtypes.rst:3883 msgid "" @@ -6460,15 +6833,25 @@ msgid "" ">>> a == b\n" "False" msgstr "" +">>> from ctypes import BigEndianStructure, c_long\n" +">>> class BEPoint(BigEndianStructure):\n" +"... _fields_ = [(\"x\", c_long), (\"y\", c_long)]\n" +"...\n" +">>> point = BEPoint(100, 200)\n" +">>> a = memoryview(point)\n" +">>> b = memoryview(point)\n" +">>> a == point\n" +"False\n" +">>> a == b\n" +"False" #: ../Doc/library/stdtypes.rst:3899 -#, fuzzy msgid "" "Note that, as with floating-point numbers, ``v is w`` does *not* imply ``v " "== w`` for memoryview objects." msgstr "" -"Nótese que, al igual que con los números en coma flotante, ``v is w`` *no* " -"implica que ``v == w`` para objetos del tipo *memoryview*." +"Tenga en cuenta que, al igual que con los números de punto flotante, ``v is " +"w`` no implica *not* o ``v == w`` para los objetos de vista de memoria." #: ../Doc/library/stdtypes.rst:3902 msgid "" @@ -6494,6 +6877,11 @@ msgid "" ">>> bytes(m)\n" "b'abc'" msgstr "" +">>> m = memoryview(b\"abc\")\n" +">>> m.tobytes()\n" +"b'abc'\n" +">>> bytes(m)\n" +"b'abc'" #: ../Doc/library/stdtypes.rst:3917 msgid "" @@ -6537,6 +6925,9 @@ msgid "" ">>> m.hex()\n" "'616263'" msgstr "" +">>> m = memoryview(b\"abc\")\n" +">>> m.hex()\n" +"'616263'" #: ../Doc/library/stdtypes.rst:3940 msgid "" @@ -6562,6 +6953,13 @@ msgid "" ">>> m.tolist()\n" "[1.1, 2.2, 3.3]" msgstr "" +">>> memoryview(b'abc').tolist()\n" +"[97, 98, 99]\n" +">>> import array\n" +">>> a = array.array('d', [1.1, 2.2, 3.3])\n" +">>> m = memoryview(a)\n" +">>> m.tolist()\n" +"[1.1, 2.2, 3.3]" #: ../Doc/library/stdtypes.rst:3957 msgid "" @@ -6594,6 +6992,17 @@ msgid "" ">>> mm.tolist()\n" "[43, 98, 99]" msgstr "" +">>> m = memoryview(bytearray(b'abc'))\n" +">>> mm = m.toreadonly()\n" +">>> mm.tolist()\n" +"[97, 98, 99]\n" +">>> mm[0] = 42\n" +"Traceback (most recent call last):\n" +" File \"\", line 1, in \n" +"TypeError: cannot modify read-only memory\n" +">>> m[0] = 43\n" +">>> mm.tolist()\n" +"[43, 98, 99]" #: ../Doc/library/stdtypes.rst:3983 msgid "" @@ -6611,16 +7020,14 @@ msgstr "" "pronto posible." #: ../Doc/library/stdtypes.rst:3989 -#, fuzzy msgid "" "After this method has been called, any further operation on the view raises " "a :class:`ValueError` (except :meth:`release` itself which can be called " "multiple times)::" msgstr "" -"Después de que se ha llamado a este método, cualquier operación posterior " -"sobre la vista lanzará una excepción de tipo :class:`ValueError` (excepto " -"por el propio método :meth:`release()`, que puede ser llamado las veces que " -"se quiera)::" +"Después de llamar a este método, cualquier operación posterior en la vista " +"genera un :class:`ValueError` (excepto el propio :meth:`release`, que se " +"puede llamar varias veces):" #: ../Doc/library/stdtypes.rst:3993 msgid "" @@ -6631,6 +7038,12 @@ msgid "" " File \"\", line 1, in \n" "ValueError: operation forbidden on released memoryview object" msgstr "" +">>> m = memoryview(b'abc')\n" +">>> m.release()\n" +">>> m[0]\n" +"Traceback (most recent call last):\n" +" File \"\", line 1, in \n" +"ValueError: operation forbidden on released memoryview object" #: ../Doc/library/stdtypes.rst:4000 msgid "" @@ -6651,6 +7064,14 @@ msgid "" " File \"\", line 1, in \n" "ValueError: operation forbidden on released memoryview object" msgstr "" +">>> with memoryview(b'abc') as m:\n" +"... m[0]\n" +"...\n" +"97\n" +">>> m[0]\n" +"Traceback (most recent call last):\n" +" File \"\", line 1, in \n" +"ValueError: operation forbidden on released memoryview object" #: ../Doc/library/stdtypes.rst:4016 msgid "" @@ -6667,17 +7088,17 @@ msgstr "" "pueden ser 1D -> C-:term:`contiguo` y C-contiguo -> 1D." #: ../Doc/library/stdtypes.rst:4022 -#, fuzzy msgid "" "The destination format is restricted to a single element native format in :" "mod:`struct` syntax. One of the formats must be a byte format ('B', 'b' or " "'c'). The byte length of the result must be the same as the original length. " "Note that all byte lengths may depend on the operating system." msgstr "" -"El formato de destino está restringido a un único elemento de formato nativo " -"en la sintaxis de :mod:`struct`. Uno de los formatos debe ser un formato de " -"byte ('B', 'b' o 'c'). La longitud en bytes del resultado debe coincidir con " -"la longitud original." +"El formato de destino está restringido a un formato nativo de un solo " +"elemento en la sintaxis :mod:`struct`. Uno de los formatos debe ser un " +"formato de bytes ('B', 'b' o 'c'). La longitud en bytes del resultado debe " +"ser la misma que la longitud original. Tenga en cuenta que todas las " +"longitudes en bytes pueden depender del sistema operativo." #: ../Doc/library/stdtypes.rst:4028 msgid "Cast 1D/long to 1D/unsigned bytes::" @@ -6706,6 +7127,26 @@ msgid "" ">>> y.nbytes\n" "24" msgstr "" +">>> import array\n" +">>> a = array.array('l', [1,2,3])\n" +">>> x = memoryview(a)\n" +">>> x.format\n" +"'l'\n" +">>> x.itemsize\n" +"8\n" +">>> len(x)\n" +"3\n" +">>> x.nbytes\n" +"24\n" +">>> y = x.cast('B')\n" +">>> y.format\n" +"'B'\n" +">>> y.itemsize\n" +"1\n" +">>> len(y)\n" +"24\n" +">>> y.nbytes\n" +"24" #: ../Doc/library/stdtypes.rst:4051 msgid "Cast 1D/unsigned bytes to 1D/char::" @@ -6724,6 +7165,16 @@ msgid "" ">>> b\n" "bytearray(b'ayz')" msgstr "" +">>> b = bytearray(b'zyz')\n" +">>> x = memoryview(b)\n" +">>> x[0] = b'a'\n" +"Traceback (most recent call last):\n" +" ...\n" +"TypeError: memoryview: invalid type for format 'B'\n" +">>> y = x.cast('c')\n" +">>> y[0] = b'a'\n" +">>> b\n" +"bytearray(b'ayz')" #: ../Doc/library/stdtypes.rst:4064 msgid "Cast 1D/bytes to 3D/ints to 1D/signed char::" @@ -6755,6 +7206,29 @@ msgid "" ">>> z.nbytes\n" "48" msgstr "" +">>> import struct\n" +">>> buf = struct.pack(\"i\"*12, *list(range(12)))\n" +">>> x = memoryview(buf)\n" +">>> y = x.cast('i', shape=[2,2,3])\n" +">>> y.tolist()\n" +"[[[0, 1, 2], [3, 4, 5]], [[6, 7, 8], [9, 10, 11]]]\n" +">>> y.format\n" +"'i'\n" +">>> y.itemsize\n" +"4\n" +">>> len(y)\n" +"2\n" +">>> y.nbytes\n" +"48\n" +">>> z = y.cast('b')\n" +">>> z.format\n" +"'b'\n" +">>> z.itemsize\n" +"1\n" +">>> len(z)\n" +"48\n" +">>> z.nbytes\n" +"48" #: ../Doc/library/stdtypes.rst:4090 msgid "Cast 1D/unsigned long to 2D/unsigned long::" @@ -6772,6 +7246,15 @@ msgid "" ">>> y.tolist()\n" "[[0, 1, 2], [3, 4, 5]]" msgstr "" +">>> buf = struct.pack(\"L\"*6, *list(range(6)))\n" +">>> x = memoryview(buf)\n" +">>> y = x.cast('L', shape=[2,3])\n" +">>> len(y)\n" +"2\n" +">>> y.nbytes\n" +"48\n" +">>> y.tolist()\n" +"[[0, 1, 2], [3, 4, 5]]" #: ../Doc/library/stdtypes.rst:4104 msgid "The source format is no longer restricted when casting to a byte view." @@ -6794,6 +7277,10 @@ msgid "" ">>> m.obj is b\n" "True" msgstr "" +">>> b = bytearray(b'xyz')\n" +">>> m = memoryview(b)\n" +">>> m.obj is b\n" +"True" #: ../Doc/library/stdtypes.rst:4122 msgid "" @@ -6822,6 +7309,20 @@ msgid "" ">>> len(y.tobytes())\n" "12" msgstr "" +">>> import array\n" +">>> a = array.array('i', [1,2,3,4,5])\n" +">>> m = memoryview(a)\n" +">>> len(m)\n" +"5\n" +">>> m.nbytes\n" +"20\n" +">>> y = m[::2]\n" +">>> len(y)\n" +"3\n" +">>> y.nbytes\n" +"12\n" +">>> len(y.tobytes())\n" +"12" #: ../Doc/library/stdtypes.rst:4141 msgid "Multi-dimensional arrays::" @@ -6840,6 +7341,16 @@ msgid "" ">>> y.nbytes\n" "96" msgstr "" +">>> import struct\n" +">>> buf = struct.pack(\"d\"*12, *[1.5*x for x in range(12)])\n" +">>> x = memoryview(buf)\n" +">>> y = x.cast('d', shape=[3,4])\n" +">>> y.tolist()\n" +"[[0.0, 1.5, 3.0, 4.5], [6.0, 7.5, 9.0, 10.5], [12.0, 13.5, 15.0, 16.5]]\n" +">>> len(y)\n" +"3\n" +">>> y.nbytes\n" +"96" #: ../Doc/library/stdtypes.rst:4158 msgid "A bool indicating whether the memory is read only." @@ -6882,6 +7393,14 @@ msgid "" ">>> struct.calcsize('H') == m.itemsize\n" "True" msgstr "" +">>> import array, struct\n" +">>> m = memoryview(array.array('H', [32000, 32001, 32002]))\n" +">>> m.itemsize\n" +"2\n" +">>> m[0]\n" +"32000\n" +">>> struct.calcsize('H') == m.itemsize\n" +"True" #: ../Doc/library/stdtypes.rst:4186 msgid "" @@ -7278,15 +7797,15 @@ msgstr "" "`symmetric_difference_update` aceptan cualquier iterable como parámetro." #: ../Doc/library/stdtypes.rst:4424 -#, fuzzy msgid "" "Note, the *elem* argument to the :meth:`~object.__contains__`, :meth:" "`remove`, and :meth:`discard` methods may be a set. To support searching " "for an equivalent frozenset, a temporary one is created from *elem*." msgstr "" -"Nótese que el parámetro *elem* de los métodos :meth:`__contains__`, :meth:" -"`remove` y :meth:`discard` puede ser un conjunto. Para soportar la búsqueda " -"por un *frozenset* equivalente se crea uno temporal a partir de *elem*." +"Tenga en cuenta que el argumento *elem* de los métodos :meth:`~object." +"__contains__`, :meth:`remove` y :meth:`discard` puede ser un conjunto. Para " +"facilitar la búsqueda de un conjunto congelado equivalente, se crea uno " +"temporal a partir de *elem*." #: ../Doc/library/stdtypes.rst:4433 msgid "Mapping Types --- :class:`dict`" @@ -7308,7 +7827,6 @@ msgstr "" "`collections`)." #: ../Doc/library/stdtypes.rst:4449 -#, fuzzy msgid "" "A dictionary's keys are *almost* arbitrary values. Values that are not :" "term:`hashable`, that is, values containing lists, dictionaries or other " @@ -7316,16 +7834,12 @@ msgid "" "may not be used as keys. Values that compare equal (such as ``1``, ``1.0``, " "and ``True``) can be used interchangeably to index the same dictionary entry." msgstr "" -"Las claves de un diccionario pueden ser *casi* de cualquier tipo. Los " -"valores que no son :term:`hashable`, como por ejemplo valores que contengan " -"listas, diccionarios u otros tipo mutables (que son comparados por valor, no " -"por referencia) no se pueden usar como claves. Los tipos numéricos, cuando " -"se usan como claves siguen las reglas habituales de la comparación numérica: " -"si dos números se consideran iguales (como ``1`` y ``1.0``), ambos valores " -"pueden ser usados indistintamente para acceder al mismo valor. (Pero hay que " -"tener en cuenta que los ordenadores almacenan algunos números en coma " -"flotante como aproximaciones, por lo que normalmente no es recomendable " -"usarlos como claves)." +"Las claves de un diccionario son valores arbitrarios *almost*. Los valores " +"que no sean :term:`hashable`, es decir, los valores que contienen listas, " +"diccionarios u otros tipos mutables (que se comparan por valor en lugar de " +"por identidad de objeto) no se pueden utilizar como claves. Los valores que " +"se comparan como iguales (como ``1``, ``1.0`` y ``True``) se pueden utilizar " +"indistintamente para indexar la misma entrada de diccionario." #: ../Doc/library/stdtypes.rst:4460 msgid "" @@ -7412,6 +7926,14 @@ msgid "" ">>> a == b == c == d == e == f\n" "True" msgstr "" +">>> a = dict(one=1, two=2, three=3)\n" +">>> b = {'one': 1, 'two': 2, 'three': 3}\n" +">>> c = dict(zip(['one', 'two', 'three'], [1, 2, 3]))\n" +">>> d = dict([('two', 2), ('one', 1), ('three', 3)])\n" +">>> e = dict({'three': 3, 'one': 1, 'two': 2})\n" +">>> f = dict({'one': 1, 'three': 3}, two=2)\n" +">>> a == b == c == d == e == f\n" +"True" #: ../Doc/library/stdtypes.rst:4498 msgid "" @@ -7480,6 +8002,16 @@ msgid "" ">>> c['red']\n" "1" msgstr "" +">>> class Counter(dict):\n" +"... def __missing__(self, key):\n" +"... return 0\n" +"...\n" +">>> c = Counter()\n" +">>> c['red']\n" +"0\n" +">>> c['red'] += 1\n" +">>> c['red']\n" +"1" #: ../Doc/library/stdtypes.rst:4539 msgid "" @@ -7678,6 +8210,9 @@ msgid "" ">>> d.values() == d.values()\n" "False" msgstr "" +">>> d = {'a': 1}\n" +">>> d.values() == d.values()\n" +"False" #: ../Doc/library/stdtypes.rst:4656 msgid "" @@ -7737,6 +8272,20 @@ msgid "" ">>> d\n" "{'one': 42, 'three': 3, 'four': 4, 'two': None}" msgstr "" +">>> d = {\"one\": 1, \"two\": 2, \"three\": 3, \"four\": 4}\n" +">>> d\n" +"{'one': 1, 'two': 2, 'three': 3, 'four': 4}\n" +">>> list(d)\n" +"['one', 'two', 'three', 'four']\n" +">>> list(d.values())\n" +"[1, 2, 3, 4]\n" +">>> d[\"one\"] = 42\n" +">>> d\n" +"{'one': 42, 'two': 2, 'three': 3, 'four': 4}\n" +">>> del d[\"two\"]\n" +">>> d[\"two\"] = None\n" +">>> d\n" +"{'one': 42, 'three': 3, 'four': 4, 'two': None}" #: ../Doc/library/stdtypes.rst:4692 msgid "" @@ -7765,6 +8314,15 @@ msgid "" ">>> list(reversed(d.items()))\n" "[('four', 4), ('three', 3), ('two', 2), ('one', 1)]" msgstr "" +">>> d = {\"one\": 1, \"two\": 2, \"three\": 3, \"four\": 4}\n" +">>> d\n" +"{'one': 1, 'two': 2, 'three': 3, 'four': 4}\n" +">>> list(reversed(d))\n" +"['four', 'three', 'two', 'one']\n" +">>> list(reversed(d.values()))\n" +"[4, 3, 2, 1]\n" +">>> list(reversed(d.items()))\n" +"[('four', 4), ('three', 3), ('two', 2), ('one', 1)]" #: ../Doc/library/stdtypes.rst:4708 msgid "Dictionaries are now reversible." @@ -7869,7 +8427,6 @@ msgstr "" "original al que se refiere la vista." #: ../Doc/library/stdtypes.rst:4770 -#, fuzzy msgid "" "Keys views are set-like since their entries are unique and :term:`hashable`. " "Items views also have set-like operations since the (key, value) pairs are " @@ -7882,15 +8439,19 @@ msgid "" "any iterable as the other operand, unlike sets which only accept sets as the " "input." msgstr "" -"Las vistas de claves son similares a conjuntos, dado que todas las claves " -"deben ser únicas y *hashables*. Si todos los valores son también " -"*hashables*, de forma que las parejas ``(key, value)`` son también únicas y " -"*hashables*, entonces la vista *items* es también similar a un conjunto. (La " -"vista *values* no son consideradas similar a un conjunto porque las valores " -"almacenados en el diccionario no tiene que ser únicos). Las vistas similares " -"a conjuntos pueden usar todas las operaciones definidas en la clase " -"abstracta :class:`collections.abc.Set` (como por ejemplo ``==``, ``<`` o " -"``^``)." +"Las vistas de claves son similares a conjuntos, ya que sus entradas son " +"únicas y :term:`hashable`. Las vistas de elementos también tienen " +"operaciones similares a conjuntos, ya que los pares (clave, valor) son " +"únicos y las claves se pueden codificar en hash. Si todos los valores de una " +"vista de elementos también se pueden codificar en hash, la vista de " +"elementos puede interoperar con otros conjuntos. (Las vistas de valores no " +"se tratan como similares a conjuntos, ya que las entradas generalmente no " +"son únicas). Para las vistas similares a conjuntos, están disponibles todas " +"las operaciones definidas para la clase base abstracta :class:`collections." +"abc.Set` (por ejemplo, ``==``, ``<`` o ``^``). Al utilizar operadores de " +"conjunto, las vistas similares a conjuntos aceptan cualquier iterable como " +"el otro operando, a diferencia de los conjuntos que solo aceptan conjuntos " +"como entrada." #: ../Doc/library/stdtypes.rst:4782 msgid "An example of dictionary view usage::" @@ -7936,6 +8497,44 @@ msgid "" ">>> values.mapping['spam']\n" "500" msgstr "" +">>> dishes = {'eggs': 2, 'sausage': 1, 'bacon': 1, 'spam': 500}\n" +">>> keys = dishes.keys()\n" +">>> values = dishes.values()\n" +"\n" +">>> # iteration\n" +">>> n = 0\n" +">>> for val in values:\n" +"... n += val\n" +"...\n" +">>> print(n)\n" +"504\n" +"\n" +">>> # Las llaves y los valores se iteran en el mismo orden (orden de " +"inserción)\n" +">>> list(keys)\n" +"['eggs', 'sausage', 'bacon', 'spam']\n" +">>> list(values)\n" +"[2, 1, 1, 500]\n" +"\n" +">>> # Los objetos vista son dinámicos y reflejan cambios de diccionario.\n" +">>> del dishes['eggs']\n" +">>> del dishes['sausage']\n" +">>> list(keys)\n" +"['bacon', 'spam']\n" +"\n" +">>> # operaciones de conjunto\n" +">>> keys & {'eggs', 'bacon', 'salad'}\n" +"{'bacon'}\n" +">>> keys ^ {'sausage', 'juice'} == {'juice', 'sausage', 'bacon', 'spam'}\n" +"True\n" +">>> keys | ['juice', 'juice', 'juice'] == {'bacon', 'spam', 'juice'}\n" +"True\n" +"\n" +">>> # recuperar un proxy de solo lectura para el diccionario original\n" +">>> values.mapping\n" +"mappingproxy({'bacon': 1, 'spam': 500})\n" +">>> values.mapping['spam']\n" +"500" #: ../Doc/library/stdtypes.rst:4826 msgid "Context Manager Types" @@ -8028,7 +8627,6 @@ msgstr "" "el cuerpo del :keyword:`!with`." #: ../Doc/library/stdtypes.rst:4872 -#, fuzzy msgid "" "The exception passed in should never be reraised explicitly - instead, this " "method should return a false value to indicate that the method completed " @@ -8036,11 +8634,11 @@ msgid "" "context management code to easily detect whether or not an :meth:`~object." "__exit__` method has actually failed." msgstr "" -"La excepción pasada nunca debe volver a lanzarse explícitamente; en vez de " -"eso, el método debería retornar un valor falso para indicar que el método ha " -"terminado de ejecutarse sin problemas y que no se desea suprimir la " -"excepción. Esto permite a los gestores de contexto detectar fácilmente si el " -"método :meth:`__exit__` ha podido terminar o no." +"La excepción que se pasa nunca debe volver a generarse explícitamente; en su " +"lugar, este método debe devolver un valor falso para indicar que el método " +"se completó correctamente y no desea suprimir la excepción generada. Esto " +"permite que el código de administración de contexto detecte fácilmente si un " +"método :meth:`~object.__exit__` ha fallado o no." #: ../Doc/library/stdtypes.rst:4878 msgid "" @@ -8224,6 +8822,8 @@ msgid "" "def average(values: list[float]) -> float:\n" " return sum(values) / len(values)" msgstr "" +"def average(values: list[float]) -> float:\n" +" return sum(values) / len(values)" #: ../Doc/library/stdtypes.rst:4971 msgid "" @@ -8242,6 +8842,8 @@ msgid "" "def send_post_request(url: str, body: dict[str, int]) -> None:\n" " ..." msgstr "" +"def send_post_request(url: str, body: dict[str, int]) -> None:\n" +" ..." #: ../Doc/library/stdtypes.rst:4979 msgid "" @@ -8258,6 +8860,10 @@ msgid "" " File \"\", line 1, in \n" "TypeError: isinstance() argument 2 cannot be a parameterized generic" msgstr "" +">>> isinstance([1, 2], list[str])\n" +"Traceback (most recent call last):\n" +" File \"\", line 1, in \n" +"TypeError: isinstance() argument 2 cannot be a parameterized generic" #: ../Doc/library/stdtypes.rst:4987 msgid "" @@ -8279,6 +8885,9 @@ msgid "" ">>> t([1, 2, 3])\n" "[1, 2, 3]" msgstr "" +">>> t = list[str]\n" +">>> t([1, 2, 3])\n" +"[1, 2, 3]" #: ../Doc/library/stdtypes.rst:4997 msgid "" @@ -8298,6 +8907,13 @@ msgid "" ">>> type(l)\n" "" msgstr "" +">>> t = list[str]\n" +">>> type(t)\n" +"\n" +"\n" +">>> l = t()\n" +">>> type(l)\n" +"" #: ../Doc/library/stdtypes.rst:5008 msgid "" @@ -8315,6 +8931,11 @@ msgid "" ">>> str(list[int])\n" "'list[int]'" msgstr "" +">>> repr(list[int])\n" +"'list[int]'\n" +"\n" +">>> str(list[int])\n" +"'list[int]'" #: ../Doc/library/stdtypes.rst:5016 msgid "" @@ -8331,6 +8952,10 @@ msgid "" " ...\n" "TypeError: dict[str] is not a generic class" msgstr "" +">>> dict[str][str]\n" +"Traceback (most recent call last):\n" +" ...\n" +"TypeError: dict[str] is not a generic class" # Tipo u objeto 'type'? #: ../Doc/library/stdtypes.rst:5024 @@ -8351,6 +8976,10 @@ msgid "" ">>> dict[str, Y][int]\n" "dict[str, int]" msgstr "" +">>> from typing import TypeVar\n" +">>> Y = TypeVar('Y')\n" +">>> dict[str, Y][int]\n" +"dict[str, int]" #: ../Doc/library/stdtypes.rst:5035 msgid "Standard Generic Classes" @@ -8599,6 +9228,8 @@ msgid "" ">>> list[int].__origin__\n" "" msgstr "" +">>> list[int].__origin__\n" +"" #: ../Doc/library/stdtypes.rst:5112 msgid "" @@ -8615,6 +9246,8 @@ msgid "" ">>> dict[str, list[int]].__args__\n" "(, list[int])" msgstr "" +">>> dict[str, list[int]].__args__\n" +"(, list[int])" #: ../Doc/library/stdtypes.rst:5122 msgid "" @@ -8632,6 +9265,11 @@ msgid "" ">>> list[T].__parameters__\n" "(~T,)" msgstr "" +">>> from typing import TypeVar\n" +"\n" +">>> T = TypeVar('T')\n" +">>> list[T].__parameters__\n" +"(~T,)" #: ../Doc/library/stdtypes.rst:5133 msgid "" @@ -8725,7 +9363,9 @@ msgstr "" msgid "" "def square(number: int | float) -> int | float:\n" " return number ** 2" -msgstr "" +msgstr "" +"def square(number: int | float) -> int | float:\n" +" return number ** 2" #: ../Doc/library/stdtypes.rst:5189 msgid "" @@ -8735,6 +9375,12 @@ msgid "" "For unions which include forward references, present the whole expression as " "a string, e.g. ``\"int | Foo\"``." msgstr "" +"El operando ``|`` no se puede utilizar en tiempo de ejecución para definir " +"uniones en las que uno o más miembros sean una referencia hacia delante. Por " +"ejemplo, ``int | \"Foo\"``, donde ``\"Foo\"`` es una referencia a una clase " +"que aún no se ha definido, fallará en tiempo de ejecución. Para las uniones " +"que incluyen referencias hacia delante, presente la expresión completa como " +"una cadena, por ejemplo, ``\"int | Foo\"``." #: ../Doc/library/stdtypes.rst:5197 msgid "" @@ -8749,7 +9395,7 @@ msgstr "Las conversiones de conversión se aplanan::" #: ../Doc/library/stdtypes.rst:5201 msgid "(int | str) | float == int | str | float" -msgstr "" +msgstr "(int | str) | float == int | str | float" #: ../Doc/library/stdtypes.rst:5203 msgid "Redundant types are removed::" @@ -8757,7 +9403,7 @@ msgstr "Se eliminan los tipos redundantes::" #: ../Doc/library/stdtypes.rst:5205 msgid "int | str | int == int | str" -msgstr "" +msgstr "int | str | int == int | str" #: ../Doc/library/stdtypes.rst:5207 msgid "When comparing unions, the order is ignored::" @@ -8765,7 +9411,7 @@ msgstr "Al comparar conversiones, se ignora el orden::" #: ../Doc/library/stdtypes.rst:5209 msgid "int | str == str | int" -msgstr "" +msgstr "int | str == str | int" #: ../Doc/library/stdtypes.rst:5211 msgid "It is compatible with :data:`typing.Union`::" @@ -8773,7 +9419,7 @@ msgstr "Es compatible con :data:`typing.Union`::" #: ../Doc/library/stdtypes.rst:5213 msgid "int | str == typing.Union[int, str]" -msgstr "" +msgstr "int | str == typing.Union[int, str]" #: ../Doc/library/stdtypes.rst:5215 msgid "Optional types can be spelled as a union with ``None``::" @@ -8781,7 +9427,7 @@ msgstr "Los tipos opcionales se pueden escribir como una unión con ``None``::" #: ../Doc/library/stdtypes.rst:5217 msgid "str | None == typing.Optional[str]" -msgstr "" +msgstr "str | None == typing.Optional[str]" #: ../Doc/library/stdtypes.rst:5222 msgid "" @@ -8796,15 +9442,16 @@ msgid "" ">>> isinstance(\"\", int | str)\n" "True" msgstr "" +">>> isinstance(\"\", int | str)\n" +"True" #: ../Doc/library/stdtypes.rst:5228 -#, fuzzy msgid "" "However, :ref:`parameterized generics ` in union objects " "cannot be checked::" msgstr "" -"Sin embargo, los objetos de unión que contienen :ref:`genéricos " -"parametrizados ` no se pueden utilizar::" +"Sin embargo, no se puede comprobar :ref:`parameterized generics ` en objetos de unión:" #: ../Doc/library/stdtypes.rst:5231 msgid "" @@ -8815,6 +9462,12 @@ msgid "" " ...\n" "TypeError: isinstance() argument 2 cannot be a parameterized generic" msgstr "" +">>> isinstance(1, int | list[int]) # short-circuit evaluation\n" +"True\n" +">>> isinstance([1], int | list[int])\n" +"Traceback (most recent call last):\n" +" ...\n" +"TypeError: isinstance() argument 2 cannot be a parameterized generic" #: ../Doc/library/stdtypes.rst:5238 msgid "" @@ -8836,17 +9489,23 @@ msgid "" " File \"\", line 1, in \n" "TypeError: cannot create 'types.UnionType' instances" msgstr "" +">>> import types\n" +">>> isinstance(int | str, types.UnionType)\n" +"True\n" +">>> types.UnionType()\n" +"Traceback (most recent call last):\n" +" File \"\", line 1, in \n" +"TypeError: cannot create 'types.UnionType' instances" #: ../Doc/library/stdtypes.rst:5251 -#, fuzzy msgid "" "The :meth:`!__or__` method for type objects was added to support the syntax " "``X | Y``. If a metaclass implements :meth:`!__or__`, the Union may " "override it:" msgstr "" -"Se agregó el método :meth:`__or__` para objetos de tipo para admitir la " -"sintaxis ``X | Y``. Si una metaclase implementa :meth:`__or__`, la " -"Conversión puede anularlo::" +"Se agregó el método :meth:`!__or__` para objetos de tipo para admitir la " +"sintaxis ``X | Y``. Si una metaclase implementa :meth:`!__or__`, la Unión " +"puede anularlo:" #: ../Doc/library/stdtypes.rst:5255 msgid "" @@ -8862,6 +9521,17 @@ msgid "" ">>> int | C\n" "int | C" msgstr "" +">>> class M(type):\n" +"... def __or__(self, other):\n" +"... return \"Hello\"\n" +"...\n" +">>> class C(metaclass=M):\n" +"... pass\n" +"...\n" +">>> C | int\n" +"'Hello'\n" +">>> int | C\n" +"int | C" #: ../Doc/library/stdtypes.rst:5271 msgid ":pep:`604` -- PEP proposing the ``X | Y`` syntax and the Union type." @@ -8973,20 +9643,18 @@ msgid "Methods" msgstr "Métodos" #: ../Doc/library/stdtypes.rst:5340 -#, fuzzy msgid "" "Methods are functions that are called using the attribute notation. There " "are two flavors: :ref:`built-in methods ` (such as :meth:" "`append` on lists) and :ref:`class instance method `. " "Built-in methods are described with the types that support them." msgstr "" -"Los métodos son funciones que se llaman usando la notación de atributos. Hay " -"de dos tipos: métodos básicos o predefinidos (como el método :meth:`append` " -"en las listas) y métodos de instancia de clase. Los métodos básicos o " -"predefinidos se describen junto con los tipos que los soportan." +"Los métodos son funciones que se llaman mediante la notación de atributos. " +"Hay dos tipos: :ref:`built-in methods ` (como :meth:" +"`append` en listas) y :ref:`class instance method `. Los " +"métodos integrados se describen con los tipos que los admiten." #: ../Doc/library/stdtypes.rst:5345 -#, fuzzy msgid "" "If you access a method (a function defined in a class namespace) through an " "instance, you get a special object: a :dfn:`bound method` (also called :ref:" @@ -8998,18 +9666,18 @@ msgid "" "is completely equivalent to calling ``m.__func__(m.__self__, arg-1, " "arg-2, ..., arg-n)``." msgstr "" -"Si se accede a un método (una función definida dentro de un espacio de " -"nombres de una clase) a través de una instancia, se obtiene un objeto " -"especial, un :dfn:`bound method` (también llamado :dfn:`instance method`). " -"Cuando se llama, se añade automáticamente el parámetro ``self`` a la lista " -"de parámetros. Los métodos ligados tienen dos atributos especiales de solo " -"lectura: ``m.__self__`` es el objeto sobre el que está operando el método, y " -"``m.__func__`` es la función que implementa el método. Llamar ``m(arg-1, " -"arg-2, ..., arg-n)`` es completamente equivalente a llamar ``m.__func__(m." -"__self__, arg-1, arg-2, ..., arg-n)``." +"Si accede a un método (una función definida en un espacio de nombres de " +"clase) a través de una instancia, obtendrá un objeto especial: un objeto :" +"dfn:`método enlazado` (también llamado :ref:`instance method `). Cuando se lo llama, agregará el argumento ``self`` a la lista de " +"argumentos. Los métodos enlazados tienen dos atributos especiales de solo " +"lectura: :attr:`m.__self__ ` es el objeto en el que opera " +"el método y :attr:`m.__func__ ` es la función que " +"implementa el método. Llamar a ``m(arg-1, arg-2, ..., arg-n)`` es " +"completamente equivalente a llamar a ``m.__func__(m.__self__, arg-1, " +"arg-2, ..., arg-n)``." #: ../Doc/library/stdtypes.rst:5356 -#, fuzzy msgid "" "Like :ref:`function objects `, bound method objects " "support getting arbitrary attributes. However, since method attributes are " @@ -9019,13 +9687,14 @@ msgid "" "In order to set a method attribute, you need to explicitly set it on the " "underlying function object:" msgstr "" -"Al igual que los objetos de tipo función, los métodos ligados o de instancia " -"soportan asignación de atributos arbitrarios. Sin embargo, como los " -"atributos de los métodos se almacenan en la función subyacente (``meth." -"__func__``), definir cualquier atributo en métodos ligados está " -"desaconsejado. Intentar asignar un atributo a un método produce que se lance " -"una excepción de tipo :exc:`AttributeError`. Para poder definir un atributo " -"a un método, este debe ser definido explícitamente en la función subyacente::" +"Al igual que :ref:`function objects `, los objetos de " +"método enlazados admiten la obtención de atributos arbitrarios. Sin embargo, " +"dado que los atributos de método se almacenan en realidad en el objeto de " +"función subyacente (:attr:`method.__func__`), no se permite configurar " +"atributos de método en métodos enlazados. Intentar configurar un atributo en " +"un método da como resultado que se genere un :exc:`AttributeError`. Para " +"configurar un atributo de método, debe configurarlo explícitamente en el " +"objeto de función subyacente:" #: ../Doc/library/stdtypes.rst:5364 msgid "" @@ -9042,18 +9711,28 @@ msgid "" ">>> c.method.whoami\n" "'my name is method'" msgstr "" +">>> class C:\n" +"... def method(self):\n" +"... pass\n" +"...\n" +">>> c = C()\n" +">>> c.method.whoami = 'my name is method' # can't set on the method\n" +"Traceback (most recent call last):\n" +" File \"\", line 1, in \n" +"AttributeError: 'method' object has no attribute 'whoami'\n" +">>> c.method.__func__.whoami = 'my name is method'\n" +">>> c.method.whoami\n" +"'my name is method'" #: ../Doc/library/stdtypes.rst:5379 -#, fuzzy msgid "See :ref:`instance-methods` for more information." -msgstr "Véase :ref:`types` para más información." +msgstr "Véase :ref:`instance-methods` para más información." #: ../Doc/library/stdtypes.rst:5387 msgid "Code Objects" msgstr "Objetos código" #: ../Doc/library/stdtypes.rst:5393 -#, fuzzy msgid "" "Code objects are used by the implementation to represent \"pseudo-compiled\" " "executable Python code such as a function body. They differ from function " @@ -9062,23 +9741,22 @@ msgid "" "function and can be extracted from function objects through their :attr:" "`~function.__code__` attribute. See also the :mod:`code` module." msgstr "" -"Los objetos de tipo código son usados por la implementación del lenguaje " -"para representar código ejecutable \"pseudo-compilado\", como por ejemplo el " -"cuerpo de una función. A diferencia de los objetos de tipo función, no " -"contienen una referencia a un entorno global de ejecución. Los objetos de " -"tipo código se pueden obtener usando la función básica :func:`compile` o se " -"pueden extraer a partir de objetos de tipo función a través de su atributo :" -"attr:`__code__`. Para más detalle véase el módulo :mod:`code`." +"La implementación utiliza objetos de código para representar código Python " +"ejecutable \"pseudocompilado\", como el cuerpo de una función. Se " +"diferencian de los objetos de función porque no contienen una referencia a " +"su entorno de ejecución global. Los objetos de código son devueltos por la " +"función :func:`compile` incorporada y se pueden extraer de los objetos de " +"función a través de su atributo :attr:`~function.__code__`. Consulte también " +"el módulo :mod:`code`." #: ../Doc/library/stdtypes.rst:5400 -#, fuzzy msgid "" "Accessing :attr:`~function.__code__` raises an :ref:`auditing event " "` ``object.__getattr__`` with arguments ``obj`` and " "``\"__code__\"``." msgstr "" -"Al acceder a ``__code__`` se lanza un :ref:`evento de auditoría ` " -"``object.__getattr__`` con argumentos ``obj`` y ``\"__code__\"``." +"Al acceder a :attr:`~function.__code__` se genera un :ref:`auditing event " +"` ``object.__getattr__`` con argumentos ``obj`` y ``\"__code__\"``." #: ../Doc/library/stdtypes.rst:5407 msgid "" @@ -9160,38 +9838,35 @@ msgid "The NotImplemented Object" msgstr "El objeto *NotImplemented*" #: ../Doc/library/stdtypes.rst:5461 -#, fuzzy msgid "" "This object is returned from comparisons and binary operations when they are " "asked to operate on types they don't support. See :ref:`comparisons` for " "more information. There is exactly one :data:`NotImplemented` object. :code:" "`type(NotImplemented)()` produces the singleton instance." msgstr "" -"Este objeto se retorna en todas las operaciones binarias y comparaciones " -"cuando se intenta operar con tipos que no están soportados. Véase :ref:" -"`comparisons` para más información. Solo existe un objeto de tipo " -"``NotImplemented``. La expresión ``type(NotImplemented)()`` produce el mismo " -"objeto, esto se conoce como *Singleton*." +"Este objeto se devuelve a partir de comparaciones y operaciones binarias " +"cuando se les pide que operen en tipos que no admiten. Consulte :ref:" +"`comparisons` para obtener más información. Hay exactamente un objeto :data:" +"`NotImplemented`. :code:`type(NotImplemented)()` produce la instancia " +"singleton." #: ../Doc/library/stdtypes.rst:5466 -#, fuzzy msgid "It is written as :code:`NotImplemented`." -msgstr "Se escribe ``NotImplemented``." +msgstr "Se escribe como :code:`NotImplemented`." #: ../Doc/library/stdtypes.rst:5472 msgid "Internal Objects" msgstr "Objetos internos" #: ../Doc/library/stdtypes.rst:5474 -#, fuzzy msgid "" "See :ref:`types` for this information. It describes :ref:`stack frame " "objects `, :ref:`traceback objects `, and " "slice objects." msgstr "" -"Véase la sección :ref:`types` para saber más de estos objetos. Se describen " -"los objetos marco de pila, los objetos de traza de ejecución (*traceback*) y " -"los objetos de tipo segmento (*slice*)." +"Consulte :ref:`types` para obtener esta información. Describe :ref:`stack " +"frame objects `, :ref:`traceback objects ` " +"y los objetos de sector." #: ../Doc/library/stdtypes.rst:5482 msgid "Special Attributes" @@ -9223,12 +9898,14 @@ msgstr "" #: ../Doc/library/stdtypes.rst:5505 msgid "The name of the module in which a class or function was defined." -msgstr "" +msgstr "El nombre del módulo en el que se definió una clase o función." #: ../Doc/library/stdtypes.rst:5510 msgid "" "The documentation string of a class or function, or ``None`` if undefined." msgstr "" +"La cadena de documentación de una clase o función, o ``None`` si no está " +"definida." #: ../Doc/library/stdtypes.rst:5515 msgid "" @@ -9236,6 +9913,9 @@ msgid "" "ref:`type aliases `. For classes and functions that are not " "generic, this will be an empty tuple." msgstr "" +":ref:`type parameters ` de clases y funciones genéricas y :ref:" +"`type aliases `. Para clases y funciones que no sean " +"genéricas, será una tupla vacía." #: ../Doc/library/stdtypes.rst:5525 msgid "Integer string conversion length limitation" @@ -9255,7 +9935,6 @@ msgstr "" "configurar el límite." #: ../Doc/library/stdtypes.rst:5532 -#, fuzzy msgid "" "The :class:`int` type in CPython is an arbitrary length number stored in " "binary form (commonly known as a \"bignum\"). There exists no algorithm that " @@ -9264,23 +9943,20 @@ msgid "" "algorithms for base 10 have sub-quadratic complexity. Converting a large " "value such as ``int('1' * 500_000)`` can take over a second on a fast CPU." msgstr "" -"El tipo :class:`int` en CPython es un número con longitud arbitrario que se " -"almacena en forma binaria (se conoce comúnmente como \"bignum\"). No existe " -"ningún algoritmo que pueda convertir una cadena de caracteres a un entero " -"binario o un entero binario a una cadena de caracteres en tiempo lineal, *a " -"menos* que la base sea una potencia de 2. Incluso los algoritmos más " -"conocidos para la base a 10 tienen una complejidad subcuadrática. Convertir " -"un valor grande como ``int('1' * 500_000)`` puede tomar más de un segundo en " -"una CPU rápida." +"El tipo :class:`int` en CPython es un número de longitud arbitraria " +"almacenado en formato binario (comúnmente conocido como \"bignum\"). No " +"existe ningún algoritmo que pueda convertir una cadena en un entero binario " +"o un entero binario en una cadena en tiempo lineal; *unless* tiene como base " +"una potencia de 2. Incluso los algoritmos más conocidos para la base 10 " +"tienen una complejidad subcuadrática. Convertir un valor grande como " +"``int('1' * 500_000)`` puede llevar más de un segundo en una CPU rápida." #: ../Doc/library/stdtypes.rst:5539 -#, fuzzy msgid "" "Limiting conversion size offers a practical way to avoid :cve:`2020-10735`." msgstr "" -"Limitar el tamaño de la conversión ofrece una forma práctica para evitar " -"`CVE-2020-10735 `_." +"Limitar el tamaño de la conversión ofrece una forma práctica de evitar :cve:" +"`2020-10735`." #: ../Doc/library/stdtypes.rst:5541 msgid "" @@ -9322,6 +9998,27 @@ msgid "" "7144\n" ">>> assert int(hex(i_squared), base=16) == i*i # Hexadecimal is unlimited." msgstr "" +">>> import sys\n" +">>> sys.set_int_max_str_digits(4300) # Illustrative, this is the default.\n" +">>> _ = int('2' * 5432)\n" +"Traceback (most recent call last):\n" +"...\n" +"ValueError: Exceeds the limit (4300 digits) for integer string conversion: " +"value has 5432 digits; use sys.set_int_max_str_digits() to increase the " +"limit\n" +">>> i = int('2' * 4300)\n" +">>> len(str(i))\n" +"4300\n" +">>> i_squared = i*i\n" +">>> len(str(i_squared))\n" +"Traceback (most recent call last):\n" +"...\n" +"ValueError: Exceeds the limit (4300 digits) for integer string conversion; " +"use sys.set_int_max_str_digits() to increase the limit\n" +">>> len(hex(i_squared))\n" +"7144\n" +">>> assert int(hex(i_squared), base=16) == i*i # Hexadecimal no tiene " +"límite." #: ../Doc/library/stdtypes.rst:5567 msgid "" @@ -9349,6 +10046,13 @@ msgid "" "... '571186405732').to_bytes(53, 'big')\n" "..." msgstr "" +">>> import sys\n" +">>> assert sys.int_info.default_max_str_digits == 4300, sys.int_info\n" +">>> assert sys.int_info.str_digits_check_threshold == 640, sys.int_info\n" +">>> msg = int('578966293710682886880994035146873798396722250538762761564'\n" +"... '9252925514383915483333812743580549779436104706260696366600'\n" +"... '571186405732').to_bytes(53, 'big')\n" +"..." #: ../Doc/library/stdtypes.rst:5587 msgid "Affected APIs" @@ -9376,9 +10080,8 @@ msgid "``str(integer)``." msgstr "``str(integer)``." #: ../Doc/library/stdtypes.rst:5595 -#, fuzzy msgid "``repr(integer)``." -msgstr "``repr(integer)``" +msgstr "``repr(integer)``." #: ../Doc/library/stdtypes.rst:5596 #, python-format @@ -9448,7 +10151,6 @@ msgstr "" "int_max_str_digits=640``" #: ../Doc/library/stdtypes.rst:5619 -#, fuzzy msgid "" ":data:`sys.flags.int_max_str_digits` contains the value of :envvar:" "`PYTHONINTMAXSTRDIGITS` or :option:`-X int_max_str_digits <-X>`. If both the " @@ -9458,10 +10160,10 @@ msgid "" msgstr "" ":data:`sys.flags.int_max_str_digits` contiene el valor de :envvar:" "`PYTHONINTMAXSTRDIGITS` o :option:`-X int_max_str_digits <-X>`. Si tanto la " -"variable env como la opción ``-X`` están configuradas, la opción ``-X`` " -"tiene prioridad. Un valor de *-1* indica que ambos no están configurados, " -"por lo que se usó un valor de :data:`sys.int_info.default_max_str_digits` " -"durante la inicialización." +"variable de entorno como la opción ``-X`` están configuradas, la opción ``-" +"X`` tiene prioridad. Un valor de *-1* indica que ambas opciones no estaban " +"configuradas, por lo que se utilizó un valor de :data:`sys.int_info." +"default_max_str_digits` durante la inicialización." #: ../Doc/library/stdtypes.rst:5625 msgid "" @@ -9482,13 +10184,12 @@ msgstr "" "subintérpretes tienen su propio límite." #: ../Doc/library/stdtypes.rst:5632 -#, fuzzy msgid "" "Information about the default and minimum can be found in :data:`sys." "int_info`:" msgstr "" -"La información sobre el valor predeterminado y mínimo se puede encontrar en :" -"attr:`sys.int_info`:" +"La información sobre los valores predeterminados y mínimos se puede " +"encontrar en :data:`sys.int_info`:" #: ../Doc/library/stdtypes.rst:5634 msgid "" @@ -9545,7 +10246,6 @@ msgid "Recommended configuration" msgstr "Configuración recomendada" #: ../Doc/library/stdtypes.rst:5660 -#, fuzzy msgid "" "The default :data:`sys.int_info.default_max_str_digits` is expected to be " "reasonable for most applications. If your application requires a different " @@ -9554,10 +10254,10 @@ msgid "" msgstr "" "Se espera que el valor predeterminado :data:`sys.int_info." "default_max_str_digits` sea razonable para la mayoría de las aplicaciones. " -"Si tu aplicación requiere un límite diferente, configúralo desde el punto de " -"entrada principal utilizando el código independiente de la versión de " -"Python, ya que estas APIs se agregaron en versiones de parches de seguridad " -"en versiones anteriores a la 3.11." +"Si su aplicación requiere un límite diferente, configúrelo desde el punto de " +"entrada principal mediante un código independiente de la versión de Python, " +"ya que estas API se agregaron en versiones de parches de seguridad " +"anteriores a la 3.12." #: ../Doc/library/stdtypes.rst:5665 msgid "Example::" @@ -9575,6 +10275,15 @@ msgid "" "... elif current_limit < lower_bound:\n" "... sys.set_int_max_str_digits(lower_bound)" msgstr "" +">>> import sys\n" +">>> if hasattr(sys, \"set_int_max_str_digits\"):\n" +"... upper_bound = 68000\n" +"... lower_bound = 4004\n" +"... current_limit = sys.get_int_max_str_digits()\n" +"... if current_limit == 0 or current_limit > upper_bound:\n" +"... sys.set_int_max_str_digits(upper_bound)\n" +"... elif current_limit < lower_bound:\n" +"... sys.set_int_max_str_digits(lower_bound)" #: ../Doc/library/stdtypes.rst:5677 msgid "If you need to disable it entirely, set it to ``0``." @@ -9625,148 +10334,134 @@ msgstr "" "un único elemento, que sería la tupla a ser formateada." #: ../Doc/library/stdtypes.rst:13 -#, fuzzy msgid "built-in" -msgstr "Tipos integrados" +msgstr "integrados" #: ../Doc/library/stdtypes.rst:13 ../Doc/library/stdtypes.rst:316 #: ../Doc/library/stdtypes.rst:393 ../Doc/library/stdtypes.rst:950 #: ../Doc/library/stdtypes.rst:1117 ../Doc/library/stdtypes.rst:1139 #: ../Doc/library/stdtypes.rst:1154 ../Doc/library/stdtypes.rst:4435 #: ../Doc/library/stdtypes.rst:5418 -#, fuzzy msgid "types" -msgstr "Tuplas" +msgstr "tipos" #: ../Doc/library/stdtypes.rst:34 ../Doc/library/stdtypes.rst:1154 #: ../Doc/library/stdtypes.rst:4435 msgid "statement" -msgstr "" +msgstr "statement" #: ../Doc/library/stdtypes.rst:34 msgid "if" -msgstr "" +msgstr "if" #: ../Doc/library/stdtypes.rst:34 msgid "while" -msgstr "" +msgstr "while" #: ../Doc/library/stdtypes.rst:34 msgid "truth" -msgstr "" +msgstr "truth" #: ../Doc/library/stdtypes.rst:34 msgid "value" -msgstr "" +msgstr "value" #: ../Doc/library/stdtypes.rst:34 ../Doc/library/stdtypes.rst:81 #: ../Doc/library/stdtypes.rst:208 ../Doc/library/stdtypes.rst:817 -#, fuzzy msgid "Boolean" -msgstr "Valores booleanos" +msgstr "Boolean" #: ../Doc/library/stdtypes.rst:34 ../Doc/library/stdtypes.rst:81 #: ../Doc/library/stdtypes.rst:393 -#, fuzzy msgid "operations" -msgstr "Operación" +msgstr "operaciones" #: ../Doc/library/stdtypes.rst:34 msgid "false" -msgstr "" +msgstr "false" #: ../Doc/library/stdtypes.rst:44 -#, fuzzy msgid "true" -msgstr "Tuplas" +msgstr "verdad" #: ../Doc/library/stdtypes.rst:52 -#, fuzzy msgid "None (Built-in object)" -msgstr "Otros tipos predefinidos" +msgstr "None (objecto integrado)" #: ../Doc/library/stdtypes.rst:52 msgid "False (Built-in object)" -msgstr "" +msgstr "False (Built-in object)" #: ../Doc/library/stdtypes.rst:64 ../Doc/library/stdtypes.rst:98 #: ../Doc/library/stdtypes.rst:123 ../Doc/library/stdtypes.rst:195 #: ../Doc/library/stdtypes.rst:246 ../Doc/library/stdtypes.rst:393 #: ../Doc/library/stdtypes.rst:950 -#, fuzzy msgid "operator" -msgstr "Operación" +msgstr "operador" #: ../Doc/library/stdtypes.rst:64 ../Doc/library/stdtypes.rst:98 msgid "or" -msgstr "" +msgstr "or" #: ../Doc/library/stdtypes.rst:64 ../Doc/library/stdtypes.rst:98 -#, fuzzy msgid "and" -msgstr "y::" +msgstr "and" #: ../Doc/library/stdtypes.rst:64 ../Doc/library/stdtypes.rst:817 msgid "False" -msgstr "" +msgstr "False" #: ../Doc/library/stdtypes.rst:64 ../Doc/library/stdtypes.rst:817 -#, fuzzy msgid "True" -msgstr "Tuplas" +msgstr "True" #: ../Doc/library/stdtypes.rst:98 -#, fuzzy msgid "not" -msgstr "Notas" +msgstr "not" #: ../Doc/library/stdtypes.rst:123 -#, fuzzy msgid "chaining" -msgstr "Significado" +msgstr "encadenamiento" #: ../Doc/library/stdtypes.rst:123 -#, fuzzy msgid "comparisons" -msgstr "Comparaciones" +msgstr "comparaciones" #: ../Doc/library/stdtypes.rst:123 -#, fuzzy msgid "comparison" -msgstr "Comparaciones" +msgstr "comparación" #: ../Doc/library/stdtypes.rst:123 msgid "==" -msgstr "" +msgstr "==" #: ../Doc/library/stdtypes.rst:123 msgid "< (less)" -msgstr "" +msgstr "< (menor)" #: ../Doc/library/stdtypes.rst:123 msgid "<=" -msgstr "" +msgstr "<=" #: ../Doc/library/stdtypes.rst:123 msgid "> (greater)" -msgstr "" +msgstr "> (mayor)" #: ../Doc/library/stdtypes.rst:123 msgid ">=" -msgstr "" +msgstr ">=" #: ../Doc/library/stdtypes.rst:123 msgid "!=" -msgstr "" +msgstr "!=" #: ../Doc/library/stdtypes.rst:123 msgid "is" -msgstr "" +msgstr "is" #: ../Doc/library/stdtypes.rst:123 -#, fuzzy msgid "is not" -msgstr "``is not``" +msgstr "is not" #: ../Doc/library/stdtypes.rst:163 ../Doc/library/stdtypes.rst:208 #: ../Doc/library/stdtypes.rst:934 ../Doc/library/stdtypes.rst:1117 @@ -9778,668 +10473,609 @@ msgstr "``is not``" #: ../Doc/library/stdtypes.rst:4435 ../Doc/library/stdtypes.rst:4913 #: ../Doc/library/stdtypes.rst:5168 ../Doc/library/stdtypes.rst:5338 #: ../Doc/library/stdtypes.rst:5382 -#, fuzzy msgid "object" -msgstr "Objetos Tipo" +msgstr "object" #: ../Doc/library/stdtypes.rst:163 ../Doc/library/stdtypes.rst:208 #: ../Doc/library/stdtypes.rst:229 ../Doc/library/stdtypes.rst:316 #: ../Doc/library/stdtypes.rst:335 msgid "numeric" -msgstr "" +msgstr "numeric" #: ../Doc/library/stdtypes.rst:163 -#, fuzzy msgid "objects" -msgstr "Objetos Tipo" +msgstr "objectos" #: ../Doc/library/stdtypes.rst:163 -#, fuzzy msgid "comparing" -msgstr "Comparaciones" +msgstr "comparando" #: ../Doc/library/stdtypes.rst:173 msgid "__eq__() (instance method)" -msgstr "" +msgstr "__eq__() (método instancia)" #: ../Doc/library/stdtypes.rst:173 msgid "__ne__() (instance method)" -msgstr "" +msgstr "__ne__() (método instancia)" #: ../Doc/library/stdtypes.rst:173 msgid "__lt__() (instance method)" -msgstr "" +msgstr "__lt__() (método instancia)" #: ../Doc/library/stdtypes.rst:173 msgid "__le__() (instance method)" -msgstr "" +msgstr "__le__() (método instancia)" #: ../Doc/library/stdtypes.rst:173 msgid "__gt__() (instance method)" -msgstr "" +msgstr "__gt__() (método instancia)" #: ../Doc/library/stdtypes.rst:173 msgid "__ge__() (instance method)" -msgstr "" +msgstr "__ge__() (método instancia)" #: ../Doc/library/stdtypes.rst:195 ../Doc/library/stdtypes.rst:950 msgid "in" -msgstr "" +msgstr "in" #: ../Doc/library/stdtypes.rst:195 ../Doc/library/stdtypes.rst:950 -#, fuzzy msgid "not in" -msgstr "``x not in s``" +msgstr "not in" #: ../Doc/library/stdtypes.rst:208 ../Doc/library/stdtypes.rst:229 #: ../Doc/library/stdtypes.rst:393 msgid "integer" -msgstr "" +msgstr "integer" #: ../Doc/library/stdtypes.rst:208 ../Doc/library/stdtypes.rst:229 -#, fuzzy msgid "floating-point" -msgstr "Formato en coma flotante decimal." +msgstr "coma flotante" #: ../Doc/library/stdtypes.rst:208 ../Doc/library/stdtypes.rst:229 msgid "complex number" -msgstr "" +msgstr "complex number" #: ../Doc/library/stdtypes.rst:208 msgid "C" -msgstr "" +msgstr "C" #: ../Doc/library/stdtypes.rst:208 msgid "language" -msgstr "" +msgstr "languaje" #: ../Doc/library/stdtypes.rst:229 msgid "literals" -msgstr "" +msgstr "literales" #: ../Doc/library/stdtypes.rst:229 msgid "hexadecimal" -msgstr "" +msgstr "hexadecimal" #: ../Doc/library/stdtypes.rst:229 msgid "octal" -msgstr "" +msgstr "octal" #: ../Doc/library/stdtypes.rst:229 msgid "binary" -msgstr "" +msgstr "binario" #: ../Doc/library/stdtypes.rst:246 msgid "arithmetic" -msgstr "" +msgstr "aritmética" #: ../Doc/library/stdtypes.rst:246 ../Doc/library/stdtypes.rst:950 #: ../Doc/library/stdtypes.rst:1117 ../Doc/library/stdtypes.rst:4435 #: ../Doc/library/stdtypes.rst:5389 ../Doc/library/stdtypes.rst:5403 #: ../Doc/library/stdtypes.rst:5418 -#, fuzzy msgid "built-in function" -msgstr "Tipos integrados" +msgstr "función integrada" #: ../Doc/library/stdtypes.rst:246 msgid "int" -msgstr "" +msgstr "int" #: ../Doc/library/stdtypes.rst:246 -#, fuzzy msgid "float" -msgstr "Flag" +msgstr "float" #: ../Doc/library/stdtypes.rst:246 -#, fuzzy msgid "complex" -msgstr ":func:`complex`" +msgstr "complejo" #: ../Doc/library/stdtypes.rst:246 ../Doc/library/stdtypes.rst:2402 #: ../Doc/library/stdtypes.rst:3621 msgid "+ (plus)" -msgstr "" +msgstr "+ (más)" #: ../Doc/library/stdtypes.rst:246 -#, fuzzy msgid "unary operator" -msgstr "Separador de grupo" +msgstr "operador unario" #: ../Doc/library/stdtypes.rst:246 -#, fuzzy msgid "binary operator" -msgstr "Separador de grupo" +msgstr "operador binario" #: ../Doc/library/stdtypes.rst:246 ../Doc/library/stdtypes.rst:2402 #: ../Doc/library/stdtypes.rst:3621 msgid "- (minus)" -msgstr "" +msgstr "- (menos)" #: ../Doc/library/stdtypes.rst:246 ../Doc/library/stdtypes.rst:2359 #: ../Doc/library/stdtypes.rst:3578 msgid "* (asterisk)" -msgstr "" +msgstr "* (asterisco)" #: ../Doc/library/stdtypes.rst:246 msgid "/ (slash)" -msgstr "" +msgstr "/ (slash)" #: ../Doc/library/stdtypes.rst:246 msgid "//" -msgstr "" +msgstr "//" #: ../Doc/library/stdtypes.rst:246 ../Doc/library/stdtypes.rst:2323 #: ../Doc/library/stdtypes.rst:3546 msgid "% (percent)" -msgstr "" +msgstr "% (porcentaje)" #: ../Doc/library/stdtypes.rst:246 msgid "**" -msgstr "" +msgstr "**" #: ../Doc/library/stdtypes.rst:316 ../Doc/library/stdtypes.rst:393 #: ../Doc/library/stdtypes.rst:950 ../Doc/library/stdtypes.rst:1154 #: ../Doc/library/stdtypes.rst:4435 -#, fuzzy msgid "operations on" -msgstr "Operación" +msgstr "operaciones sobre" #: ../Doc/library/stdtypes.rst:316 -#, fuzzy msgid "conjugate() (complex number method)" -msgstr "conjugado del número complejo *c*" +msgstr "conjugate() (método número complejo)" #: ../Doc/library/stdtypes.rst:335 ../Doc/library/stdtypes.rst:1606 #: ../Doc/library/stdtypes.rst:2526 ../Doc/library/stdtypes.rst:5418 -#, fuzzy msgid "module" -msgstr "Módulos" +msgstr "módulo" #: ../Doc/library/stdtypes.rst:335 msgid "math" -msgstr "" +msgstr "math" #: ../Doc/library/stdtypes.rst:335 msgid "floor() (in module math)" -msgstr "" +msgstr "floor() (en el módulo math)" #: ../Doc/library/stdtypes.rst:335 msgid "ceil() (in module math)" -msgstr "" +msgstr "ceil() (en el módulo math)" #: ../Doc/library/stdtypes.rst:335 msgid "trunc() (in module math)" -msgstr "" +msgstr "trunc() (en el módulo math)" #: ../Doc/library/stdtypes.rst:335 -#, fuzzy msgid "conversions" -msgstr "Conversión" +msgstr "conversiones" #: ../Doc/library/stdtypes.rst:393 msgid "bitwise" -msgstr "" +msgstr "bitwise" #: ../Doc/library/stdtypes.rst:393 msgid "shifting" -msgstr "" +msgstr "deslizamiento" #: ../Doc/library/stdtypes.rst:393 -#, fuzzy msgid "masking" -msgstr "Significado" +msgstr "enmascaramiento" #: ../Doc/library/stdtypes.rst:393 msgid "| (vertical bar)" -msgstr "" +msgstr "| (barra vertical)" #: ../Doc/library/stdtypes.rst:393 msgid "^ (caret)" -msgstr "" +msgstr "^ (caret)" #: ../Doc/library/stdtypes.rst:393 msgid "& (ampersand)" -msgstr "" +msgstr "& (ampersand)" #: ../Doc/library/stdtypes.rst:393 msgid "<<" -msgstr "" +msgstr "<<" #: ../Doc/library/stdtypes.rst:393 msgid ">>" -msgstr "" +msgstr ">>" #: ../Doc/library/stdtypes.rst:393 msgid "~ (tilde)" -msgstr "" +msgstr "~ (tilde)" #: ../Doc/library/stdtypes.rst:817 -#, fuzzy msgid "values" -msgstr "Valores booleanos" +msgstr "valores" #: ../Doc/library/stdtypes.rst:847 -#, fuzzy msgid "iterator protocol" -msgstr "Tipos de iteradores" +msgstr "protocolo de iterador" #: ../Doc/library/stdtypes.rst:847 ../Doc/library/stdtypes.rst:4828 msgid "protocol" -msgstr "" +msgstr "protocolo" #: ../Doc/library/stdtypes.rst:847 -#, fuzzy msgid "iterator" -msgstr "Tipos de iteradores" +msgstr "iterador" #: ../Doc/library/stdtypes.rst:847 ../Doc/library/stdtypes.rst:934 #: ../Doc/library/stdtypes.rst:950 ../Doc/library/stdtypes.rst:1117 #: ../Doc/library/stdtypes.rst:1139 ../Doc/library/stdtypes.rst:1154 msgid "sequence" -msgstr "" +msgstr "sequence" #: ../Doc/library/stdtypes.rst:847 -#, fuzzy msgid "iteration" -msgstr "Operación" +msgstr "iteración" #: ../Doc/library/stdtypes.rst:847 msgid "container" -msgstr "" +msgstr "container" #: ../Doc/library/stdtypes.rst:847 -#, fuzzy msgid "iteration over" -msgstr "Operación" +msgstr "iteración sobre" #: ../Doc/library/stdtypes.rst:950 ../Doc/library/stdtypes.rst:4435 msgid "len" -msgstr "" +msgstr "len" #: ../Doc/library/stdtypes.rst:950 -#, fuzzy msgid "min" -msgstr "Significado" +msgstr "min" #: ../Doc/library/stdtypes.rst:950 msgid "max" -msgstr "" +msgstr "max" #: ../Doc/library/stdtypes.rst:950 -#, fuzzy msgid "concatenation" -msgstr "Operación" +msgstr "concatenación" #: ../Doc/library/stdtypes.rst:950 -#, fuzzy msgid "operation" -msgstr "Operación" +msgstr "operación" #: ../Doc/library/stdtypes.rst:950 -#, fuzzy msgid "repetition" -msgstr "Representación" +msgstr "repetición" #: ../Doc/library/stdtypes.rst:950 ../Doc/library/stdtypes.rst:1154 -#, fuzzy msgid "subscript" -msgstr "Descripción" +msgstr "subscript" #: ../Doc/library/stdtypes.rst:950 ../Doc/library/stdtypes.rst:1154 msgid "slice" -msgstr "" +msgstr "slice" #: ../Doc/library/stdtypes.rst:950 msgid "count() (sequence method)" -msgstr "" +msgstr "count() (sequence method)" #: ../Doc/library/stdtypes.rst:950 msgid "index() (sequence method)" -msgstr "" +msgstr "index() (sequence method)" #: ../Doc/library/stdtypes.rst:1006 msgid "loop" -msgstr "" +msgstr "loop" #: ../Doc/library/stdtypes.rst:1006 -#, fuzzy msgid "over mutable sequence" -msgstr "Tipos de secuencia mutables" +msgstr "sobre secuencia mutable" #: ../Doc/library/stdtypes.rst:1006 -#, fuzzy msgid "mutable sequence" -msgstr "Tipos de secuencia mutables" +msgstr "secuencia mutable" #: ../Doc/library/stdtypes.rst:1006 msgid "loop over" -msgstr "" +msgstr "loop over" #: ../Doc/library/stdtypes.rst:1117 msgid "immutable" -msgstr "" +msgstr "immutable" #: ../Doc/library/stdtypes.rst:1117 ../Doc/library/stdtypes.rst:1339 -#, fuzzy msgid "tuple" -msgstr "Tuplas" +msgstr "tuple" #: ../Doc/library/stdtypes.rst:1117 msgid "hash" -msgstr "" +msgstr "hash" #: ../Doc/library/stdtypes.rst:1139 msgid "mutable" -msgstr "" +msgstr "mutable" #: ../Doc/library/stdtypes.rst:1139 ../Doc/library/stdtypes.rst:1154 #: ../Doc/library/stdtypes.rst:1260 -#, fuzzy msgid "list" -msgstr "Listas" +msgstr "list" #: ../Doc/library/stdtypes.rst:1139 ../Doc/library/stdtypes.rst:2526 #: ../Doc/library/stdtypes.rst:2652 ../Doc/library/stdtypes.rst:2724 #: ../Doc/library/stdtypes.rst:3546 -#, fuzzy msgid "bytearray" -msgstr "Objetos de tipo *Bytearray*" +msgstr "bytearray" #: ../Doc/library/stdtypes.rst:1154 ../Doc/library/stdtypes.rst:4435 #: ../Doc/library/stdtypes.rst:5168 ../Doc/library/stdtypes.rst:5418 -#, fuzzy msgid "type" -msgstr "Tuplas" +msgstr "type" #: ../Doc/library/stdtypes.rst:1154 msgid "assignment" -msgstr "" +msgstr "asignación" #: ../Doc/library/stdtypes.rst:1154 ../Doc/library/stdtypes.rst:4435 msgid "del" -msgstr "" +msgstr "del" #: ../Doc/library/stdtypes.rst:1154 msgid "append() (sequence method)" -msgstr "" +msgstr "append() (sequence method)" #: ../Doc/library/stdtypes.rst:1154 msgid "clear() (sequence method)" -msgstr "" +msgstr "clear() (sequence method)" #: ../Doc/library/stdtypes.rst:1154 msgid "copy() (sequence method)" -msgstr "" +msgstr "copy() (sequence method)" #: ../Doc/library/stdtypes.rst:1154 msgid "extend() (sequence method)" -msgstr "" +msgstr "extend() (sequence method)" #: ../Doc/library/stdtypes.rst:1154 msgid "insert() (sequence method)" -msgstr "" +msgstr "insert() (sequence method)" #: ../Doc/library/stdtypes.rst:1154 msgid "pop() (sequence method)" -msgstr "" +msgstr "pop() (sequence method)" #: ../Doc/library/stdtypes.rst:1154 msgid "remove() (sequence method)" -msgstr "" +msgstr "remove() (sequence method)" #: ../Doc/library/stdtypes.rst:1154 msgid "reverse() (sequence method)" -msgstr "" +msgstr "reverse() (sequence method)" #: ../Doc/library/stdtypes.rst:1383 -#, fuzzy msgid "range" -msgstr "Rangos" +msgstr "range" #: ../Doc/library/stdtypes.rst:1504 ../Doc/library/stdtypes.rst:1553 #: ../Doc/library/stdtypes.rst:1598 ../Doc/library/stdtypes.rst:2323 -#, fuzzy msgid "string" -msgstr "Métodos de las cadenas de caracteres" +msgstr "string" #: ../Doc/library/stdtypes.rst:1504 -#, fuzzy msgid "text sequence type" -msgstr "Tipos de secuencia mutables" +msgstr "tipo de secuencia de texto" #: ../Doc/library/stdtypes.rst:1504 ../Doc/library/stdtypes.rst:1553 #: ../Doc/library/stdtypes.rst:1571 -#, fuzzy msgid "str (built-in class)" -msgstr "Otros tipos predefinidos" +msgstr "str (clase incorporada)" #: ../Doc/library/stdtypes.rst:1504 msgid "(see also string)" -msgstr "" +msgstr "(Vea también string)" #: ../Doc/library/stdtypes.rst:1540 msgid "io.StringIO" -msgstr "" +msgstr "io.StringIO" #: ../Doc/library/stdtypes.rst:1571 ../Doc/library/stdtypes.rst:2518 msgid "buffer protocol" -msgstr "" +msgstr "buffer protocol" #: ../Doc/library/stdtypes.rst:1571 ../Doc/library/stdtypes.rst:2526 #: ../Doc/library/stdtypes.rst:2545 ../Doc/library/stdtypes.rst:2724 #: ../Doc/library/stdtypes.rst:3546 -#, fuzzy msgid "bytes" -msgstr "Notas" +msgstr "bytes" #: ../Doc/library/stdtypes.rst:1598 ../Doc/library/stdtypes.rst:2724 -#, fuzzy msgid "methods" -msgstr "Métodos" +msgstr "métodos" #: ../Doc/library/stdtypes.rst:1606 msgid "re" -msgstr "" +msgstr "re" #: ../Doc/library/stdtypes.rst:2131 ../Doc/library/stdtypes.rst:3400 msgid "universal newlines" -msgstr "" +msgstr "universal newlines" #: ../Doc/library/stdtypes.rst:2131 -#, fuzzy msgid "str.splitlines method" -msgstr "Métodos de las cadenas de caracteres" +msgstr "método str.splitlines" #: ../Doc/library/stdtypes.rst:2323 msgid "formatting, string (%)" -msgstr "" +msgstr "formatting, string (%)" #: ../Doc/library/stdtypes.rst:2323 msgid "interpolation, string (%)" -msgstr "" +msgstr "interpolation, string (%)" #: ../Doc/library/stdtypes.rst:2323 msgid "formatting, printf" -msgstr "" +msgstr "formatting, printf" #: ../Doc/library/stdtypes.rst:2323 msgid "interpolation, printf" -msgstr "" +msgstr "interpolation, printf" #: ../Doc/library/stdtypes.rst:2323 ../Doc/library/stdtypes.rst:3546 -#, fuzzy msgid "printf-style formatting" -msgstr "Usando el formateo tipo ``printf`` con bytes" +msgstr "formateo estilo printf" #: ../Doc/library/stdtypes.rst:2323 ../Doc/library/stdtypes.rst:3546 -#, fuzzy msgid "sprintf-style formatting" -msgstr "Usando el formateo tipo ``printf`` con bytes" +msgstr "formateo con estilo sprintf" #: ../Doc/library/stdtypes.rst:2359 ../Doc/library/stdtypes.rst:3578 msgid "() (parentheses)" -msgstr "" +msgstr "() (paréntesis)" #: ../Doc/library/stdtypes.rst:2359 ../Doc/library/stdtypes.rst:2402 #: ../Doc/library/stdtypes.rst:3578 ../Doc/library/stdtypes.rst:3621 -#, fuzzy msgid "in printf-style formatting" -msgstr "Usando el formateo tipo ``printf`` con bytes" +msgstr "en formateo con estilo printf" #: ../Doc/library/stdtypes.rst:2359 ../Doc/library/stdtypes.rst:3578 msgid ". (dot)" -msgstr "" +msgstr ". (punto)" #: ../Doc/library/stdtypes.rst:2402 ../Doc/library/stdtypes.rst:3621 msgid "# (hash)" -msgstr "" +msgstr "# (hash)" #: ../Doc/library/stdtypes.rst:2402 ../Doc/library/stdtypes.rst:3621 msgid "space" -msgstr "" +msgstr "space" #: ../Doc/library/stdtypes.rst:2518 -#, fuzzy msgid "binary sequence types" -msgstr "Tipos de secuencia inmutables" +msgstr "tipo de secuencia binaria" #: ../Doc/library/stdtypes.rst:2526 -#, fuzzy msgid "memoryview" -msgstr "Vistas de memoria" +msgstr "memoryview" #: ../Doc/library/stdtypes.rst:2526 msgid "array" -msgstr "" +msgstr "array" #: ../Doc/library/stdtypes.rst:3400 msgid "bytes.splitlines method" -msgstr "" +msgstr "bytes.splitlines method" #: ../Doc/library/stdtypes.rst:3400 msgid "bytearray.splitlines method" -msgstr "" +msgstr "bytearray.splitlines method" #: ../Doc/library/stdtypes.rst:3546 -#, fuzzy msgid "formatting" -msgstr "Operación" +msgstr "formateado" #: ../Doc/library/stdtypes.rst:3546 msgid "bytes (%)" -msgstr "" +msgstr "bytes (%)" #: ../Doc/library/stdtypes.rst:3546 -#, fuzzy msgid "bytearray (%)" -msgstr "Objetos de tipo *Bytearray*" +msgstr "bytearray (%)" #: ../Doc/library/stdtypes.rst:3546 -#, fuzzy msgid "interpolation" -msgstr "Tabulación de línea" +msgstr "interpolación" #: ../Doc/library/stdtypes.rst:4233 msgid "set" -msgstr "" +msgstr "conjunto" #: ../Doc/library/stdtypes.rst:4435 -#, fuzzy msgid "mapping" -msgstr "Significado" +msgstr "mapeado" #: ../Doc/library/stdtypes.rst:4435 -#, fuzzy msgid "dictionary" -msgstr "Objetos tipos vista de diccionario" +msgstr "diccionario" #: ../Doc/library/stdtypes.rst:4518 msgid "__missing__()" -msgstr "" +msgstr "__missing__()" #: ../Doc/library/stdtypes.rst:4828 -#, fuzzy msgid "context manager" -msgstr "Tipos gestores de contexto" +msgstr "gestor de contexto" #: ../Doc/library/stdtypes.rst:4828 -#, fuzzy msgid "context management protocol" -msgstr "Tipos gestores de contexto" +msgstr "protocolo gestor de contexto" #: ../Doc/library/stdtypes.rst:4828 -#, fuzzy msgid "context management" -msgstr "Tipos gestores de contexto" +msgstr "gestión de contexto" #: ../Doc/library/stdtypes.rst:4901 -#, fuzzy msgid "annotation" -msgstr "Operación" +msgstr "anotación" #: ../Doc/library/stdtypes.rst:4901 msgid "type annotation; type hint" -msgstr "" +msgstr "type annotation; type hint" #: ../Doc/library/stdtypes.rst:4913 -#, fuzzy msgid "GenericAlias" -msgstr "Tipo Alias Genérico" +msgstr "GenericAlias" #: ../Doc/library/stdtypes.rst:4913 msgid "Generic" -msgstr "" +msgstr "Generic" #: ../Doc/library/stdtypes.rst:4913 -#, fuzzy msgid "Alias" -msgstr "Listas" +msgstr "Alias" #: ../Doc/library/stdtypes.rst:5168 -#, fuzzy msgid "Union" -msgstr "Funciones" +msgstr "Unión" #: ../Doc/library/stdtypes.rst:5168 -#, fuzzy msgid "union" -msgstr "Funciones" +msgstr "unión" #: ../Doc/library/stdtypes.rst:5338 -#, fuzzy msgid "method" -msgstr "Métodos" +msgstr "método" #: ../Doc/library/stdtypes.rst:5382 msgid "code" -msgstr "" +msgstr "code" #: ../Doc/library/stdtypes.rst:5382 -#, fuzzy msgid "code object" -msgstr "Objetos código" +msgstr "Objetos code" #: ../Doc/library/stdtypes.rst:5389 msgid "compile" -msgstr "" +msgstr "compile" #: ../Doc/library/stdtypes.rst:5389 msgid "__code__ (function object attribute)" -msgstr "" +msgstr "__code__ (function object attribute)" #: ../Doc/library/stdtypes.rst:5403 msgid "exec" -msgstr "" +msgstr "exec" #: ../Doc/library/stdtypes.rst:5403 -#, fuzzy msgid "eval" -msgstr "igual que" +msgstr "eval" #: ../Doc/library/stdtypes.rst:5442 msgid "..." -msgstr "" +msgstr "..." #: ../Doc/library/stdtypes.rst:5442 msgid "ellipsis literal" -msgstr "" +msgstr "ellipsis literal" From 1824fff966856e2c84fff0d7b8bcde18453e313f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Sun, 22 Dec 2024 00:19:41 +0100 Subject: [PATCH 05/41] Translate deprecations/index (#3326) Closes #3298 --- deprecations/index.po | 802 +++++++++++++++++++--------- dictionaries/deprecations_index.txt | 2 + 2 files changed, 565 insertions(+), 239 deletions(-) create mode 100644 dictionaries/deprecations_index.txt diff --git a/deprecations/index.po b/deprecations/index.po index 25962abe40..ffe19c620d 100644 --- a/deprecations/index.po +++ b/deprecations/index.po @@ -12,29 +12,32 @@ msgstr "" "POT-Creation-Date: 2024-11-21 16:38-0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" -"Language: es\n" "Language-Team: 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/deprecations/index.rst:2 msgid "Deprecations" -msgstr "" +msgstr "Desusos" #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:2 #: ../Doc/deprecations/pending-removal-in-3.14.rst:2 msgid "Pending Removal in Python 3.14" -msgstr "" +msgstr "Eliminación pendiente en Python 3.14" #: ../Doc/deprecations/pending-removal-in-3.14.rst:4 msgid "" -":mod:`argparse`: The *type*, *choices*, and *metavar* parameters of :class:`!" -"argparse.BooleanOptionalAction` are deprecated and will be removed in 3.14. " -"(Contributed by Nikita Sobolev in :gh:`92248`.)" +":mod:`argparse`: The *type*, *choices*, and *metavar* parameters of " +":class:`!argparse.BooleanOptionalAction` are deprecated and will be removed " +"in 3.14. (Contributed by Nikita Sobolev in :gh:`92248`.)" msgstr "" +":mod:`argparse`: Los parámetros *type*, *choices* y *metavar* de " +":class:`!argparse.BooleanOptionalAction` están obsoletos y se eliminarán en " +"la versión 3.14. (Contribuido por Nikita Sobolev en :gh:`92248`.)" #: ../Doc/deprecations/pending-removal-in-3.14.rst:9 msgid "" @@ -42,171 +45,229 @@ msgid "" "since Python 3.8, now cause a :exc:`DeprecationWarning` to be emitted at " "runtime when they are accessed or used, and will be removed in Python 3.14:" msgstr "" +":mod:`ast`: Las siguientes funciones han quedado obsoletas en la " +"documentación desde Python 3.8, ahora hacen que se emita un " +":exc:`DeprecationWarning` en tiempo de ejecución cuando se accede a ellas o " +"se las utiliza, y se eliminarán en Python 3.14:" #: ../Doc/deprecations/pending-removal-in-3.14.rst:13 msgid ":class:`!ast.Num`" -msgstr "" +msgstr ":class:`!ast.Num`" #: ../Doc/deprecations/pending-removal-in-3.14.rst:14 msgid ":class:`!ast.Str`" -msgstr "" +msgstr ":class:`!ast.Str`" #: ../Doc/deprecations/pending-removal-in-3.14.rst:15 msgid ":class:`!ast.Bytes`" -msgstr "" +msgstr ":class:`!ast.Bytes`" #: ../Doc/deprecations/pending-removal-in-3.14.rst:16 msgid ":class:`!ast.NameConstant`" -msgstr "" +msgstr ":class:`!ast.NameConstant`" #: ../Doc/deprecations/pending-removal-in-3.14.rst:17 msgid ":class:`!ast.Ellipsis`" -msgstr "" +msgstr ":class:`!ast.Ellipsis`" #: ../Doc/deprecations/pending-removal-in-3.14.rst:19 msgid "" -"Use :class:`ast.Constant` instead. (Contributed by Serhiy Storchaka in :gh:" -"`90953`.)" +"Use :class:`ast.Constant` instead. (Contributed by Serhiy Storchaka in " +":gh:`90953`.)" msgstr "" +"Utilice :class:`ast.Constant` en su lugar. (Contribuido por Serhiy Storchaka" +" en :gh:`90953`.)" #: ../Doc/deprecations/pending-removal-in-3.14.rst:22 msgid ":mod:`asyncio`:" -msgstr "" +msgstr ":mod:`asyncio`:" #: ../Doc/deprecations/pending-removal-in-3.14.rst:24 msgid "" -"The child watcher classes :class:`~asyncio.MultiLoopChildWatcher`, :class:" -"`~asyncio.FastChildWatcher`, :class:`~asyncio.AbstractChildWatcher` and :" -"class:`~asyncio.SafeChildWatcher` are deprecated and will be removed in " -"Python 3.14. (Contributed by Kumar Aditya in :gh:`94597`.)" +"The child watcher classes :class:`~asyncio.MultiLoopChildWatcher`, " +":class:`~asyncio.FastChildWatcher`, :class:`~asyncio.AbstractChildWatcher` " +"and :class:`~asyncio.SafeChildWatcher` are deprecated and will be removed in" +" Python 3.14. (Contributed by Kumar Aditya in :gh:`94597`.)" msgstr "" +"Las clases de supervisión secundaria " +":class:`~asyncio.MultiLoopChildWatcher`, :class:`~asyncio.FastChildWatcher`," +" :class:`~asyncio.AbstractChildWatcher` y :class:`~asyncio.SafeChildWatcher`" +" están obsoletas y se eliminarán en Python 3.14. (Contribuido por Kumar " +"Aditya en :gh:`94597`.)" #: ../Doc/deprecations/pending-removal-in-3.14.rst:30 msgid "" -":func:`asyncio.set_child_watcher`, :func:`asyncio.get_child_watcher`, :meth:" -"`asyncio.AbstractEventLoopPolicy.set_child_watcher` and :meth:`asyncio." -"AbstractEventLoopPolicy.get_child_watcher` are deprecated and will be " -"removed in Python 3.14. (Contributed by Kumar Aditya in :gh:`94597`.)" +":func:`asyncio.set_child_watcher`, :func:`asyncio.get_child_watcher`, " +":meth:`asyncio.AbstractEventLoopPolicy.set_child_watcher` and " +":meth:`asyncio.AbstractEventLoopPolicy.get_child_watcher` are deprecated and" +" will be removed in Python 3.14. (Contributed by Kumar Aditya in " +":gh:`94597`.)" msgstr "" +":func:`asyncio.set_child_watcher`, :func:`asyncio.get_child_watcher`, " +":meth:`asyncio.AbstractEventLoopPolicy.set_child_watcher` y " +":meth:`asyncio.AbstractEventLoopPolicy.get_child_watcher` están obsoletos y " +"se eliminarán en Python 3.14. (Contribuido por Kumar Aditya en :gh:`94597`.)" #: ../Doc/deprecations/pending-removal-in-3.14.rst:36 msgid "" "The :meth:`~asyncio.get_event_loop` method of the default event loop policy " "now emits a :exc:`DeprecationWarning` if there is no current event loop set " -"and it decides to create one. (Contributed by Serhiy Storchaka and Guido van " -"Rossum in :gh:`100160`.)" +"and it decides to create one. (Contributed by Serhiy Storchaka and Guido van" +" Rossum in :gh:`100160`.)" msgstr "" +"El método :meth:`~asyncio.get_event_loop` de la política de bucle de eventos" +" predeterminada ahora emite un :exc:`DeprecationWarning` si no hay ningún " +"bucle de eventos definido actualmente y decide crear uno. (Contribuido por " +"Serhiy Storchaka y Guido van Rossum en :gh:`100160`.)" #: ../Doc/deprecations/pending-removal-in-3.14.rst:41 msgid "" ":mod:`collections.abc`: Deprecated :class:`~collections.abc.ByteString`. " "Prefer :class:`!Sequence` or :class:`~collections.abc.Buffer`. For use in " -"typing, prefer a union, like ``bytes | bytearray``, or :class:`collections." -"abc.Buffer`. (Contributed by Shantanu Jain in :gh:`91896`.)" +"typing, prefer a union, like ``bytes | bytearray``, or " +":class:`collections.abc.Buffer`. (Contributed by Shantanu Jain in " +":gh:`91896`.)" msgstr "" +":mod:`collections.abc`: :class:`~collections.abc.ByteString` obsoleto. Se " +"prefiere :class:`!Sequence` o :class:`~collections.abc.Buffer`. Para uso en " +"tipificación, se prefiere una unión, como ``bytes | bytearray`` o " +":class:`collections.abc.Buffer`. (Contribuido por Shantanu Jain en " +":gh:`91896`.)" #: ../Doc/deprecations/pending-removal-in-3.14.rst:47 msgid "" -":mod:`email`: Deprecated the *isdst* parameter in :func:`email.utils." -"localtime`. (Contributed by Alan Williams in :gh:`72346`.)" +":mod:`email`: Deprecated the *isdst* parameter in " +":func:`email.utils.localtime`. (Contributed by Alan Williams in " +":gh:`72346`.)" msgstr "" +":mod:`email`: Se ha descontinuado el parámetro *isdst* en " +":func:`email.utils.localtime`. (Contribuido por Alan Williams en " +":gh:`72346`.)" #: ../Doc/deprecations/pending-removal-in-3.14.rst:50 msgid ":mod:`importlib.abc` deprecated classes:" -msgstr "" +msgstr "Clases obsoletas de :mod:`importlib.abc`:" #: ../Doc/deprecations/pending-removal-in-3.14.rst:52 msgid ":class:`!importlib.abc.ResourceReader`" -msgstr "" +msgstr ":class:`!importlib.abc.ResourceReader`" #: ../Doc/deprecations/pending-removal-in-3.14.rst:53 msgid ":class:`!importlib.abc.Traversable`" -msgstr "" +msgstr ":class:`!importlib.abc.Traversable`" #: ../Doc/deprecations/pending-removal-in-3.14.rst:54 msgid ":class:`!importlib.abc.TraversableResources`" -msgstr "" +msgstr ":class:`!importlib.abc.TraversableResources`" #: ../Doc/deprecations/pending-removal-in-3.14.rst:56 msgid "Use :mod:`importlib.resources.abc` classes instead:" -msgstr "" +msgstr "Utilice clases :mod:`importlib.resources.abc` en su lugar:" #: ../Doc/deprecations/pending-removal-in-3.14.rst:58 msgid ":class:`importlib.resources.abc.Traversable`" -msgstr "" +msgstr ":class:`importlib.resources.abc.Traversable`" #: ../Doc/deprecations/pending-removal-in-3.14.rst:59 msgid ":class:`importlib.resources.abc.TraversableResources`" -msgstr "" +msgstr ":class:`importlib.resources.abc.TraversableResources`" #: ../Doc/deprecations/pending-removal-in-3.14.rst:61 msgid "(Contributed by Jason R. Coombs and Hugo van Kemenade in :gh:`93963`.)" -msgstr "" +msgstr "(Contribuido por Jason R. Coombs y Hugo van Kemenade en :gh:`93963`.)" #: ../Doc/deprecations/pending-removal-in-3.14.rst:63 msgid "" ":mod:`itertools` had undocumented, inefficient, historically buggy, and " -"inconsistent support for copy, deepcopy, and pickle operations. This will be " -"removed in 3.14 for a significant reduction in code volume and maintenance " +"inconsistent support for copy, deepcopy, and pickle operations. This will be" +" removed in 3.14 for a significant reduction in code volume and maintenance " "burden. (Contributed by Raymond Hettinger in :gh:`101588`.)" msgstr "" +":mod:`itertools` tenía un soporte indocumentado, ineficiente, históricamente" +" lleno de errores e inconsistente para operaciones de copia, copia profunda " +"y pickle. Esto se eliminará en la versión 3.14 para lograr una reducción " +"significativa en el volumen de código y la carga de mantenimiento. " +"(Contribuido por Raymond Hettinger en :gh:`101588`.)" #: ../Doc/deprecations/pending-removal-in-3.14.rst:69 msgid "" ":mod:`multiprocessing`: The default start method will change to a safer one " "on Linux, BSDs, and other non-macOS POSIX platforms where ``'fork'`` is " -"currently the default (:gh:`84559`). Adding a runtime warning about this was " -"deemed too disruptive as the majority of code is not expected to care. Use " -"the :func:`~multiprocessing.get_context` or :func:`~multiprocessing." -"set_start_method` APIs to explicitly specify when your code *requires* " -"``'fork'``. See :ref:`multiprocessing-start-methods`." -msgstr "" +"currently the default (:gh:`84559`). Adding a runtime warning about this was" +" deemed too disruptive as the majority of code is not expected to care. Use " +"the :func:`~multiprocessing.get_context` or " +":func:`~multiprocessing.set_start_method` APIs to explicitly specify when " +"your code *requires* ``'fork'``. See :ref:`multiprocessing-start-methods`." +msgstr "" +":mod:`multiprocessing`: El método de inicio predeterminado cambiará a uno " +"más seguro en Linux, BSD y otras plataformas POSIX que no sean macOS donde " +"``'fork'`` es actualmente el predeterminado (:gh:`84559`). Agregar una " +"advertencia de tiempo de ejecución sobre esto se consideró demasiado " +"disruptivo ya que no se espera que la mayoría del código tenga en cuenta " +"esto. Use las API :func:`~multiprocessing.get_context` o " +":func:`~multiprocessing.set_start_method` para especificar explícitamente " +"cuándo su código *requires* ``'fork'``. Consulte :ref:`multiprocessing-" +"start-methods`." #: ../Doc/deprecations/pending-removal-in-3.14.rst:77 msgid "" -":mod:`pathlib`: :meth:`~pathlib.PurePath.is_relative_to` and :meth:`~pathlib." -"PurePath.relative_to`: passing additional arguments is deprecated." +":mod:`pathlib`: :meth:`~pathlib.PurePath.is_relative_to` and " +":meth:`~pathlib.PurePath.relative_to`: passing additional arguments is " +"deprecated." msgstr "" +":mod:`pathlib`: :meth:`~pathlib.PurePath.is_relative_to` y " +":meth:`~pathlib.PurePath.relative_to`: pasar argumentos adicionales está " +"obsoleto." #: ../Doc/deprecations/pending-removal-in-3.14.rst:81 msgid "" -":mod:`pkgutil`: :func:`~pkgutil.find_loader` and :func:`~pkgutil.get_loader` " -"now raise :exc:`DeprecationWarning`; use :func:`importlib.util.find_spec` " +":mod:`pkgutil`: :func:`~pkgutil.find_loader` and :func:`~pkgutil.get_loader`" +" now raise :exc:`DeprecationWarning`; use :func:`importlib.util.find_spec` " "instead. (Contributed by Nikita Sobolev in :gh:`97850`.)" msgstr "" +":mod:`pkgutil`: :func:`~pkgutil.find_loader` y :func:`~pkgutil.get_loader` " +"ahora generan :exc:`DeprecationWarning`; utilice " +":func:`importlib.util.find_spec` en su lugar. (Contribuido por Nikita " +"Sobolev en :gh:`97850`.)" #: ../Doc/deprecations/pending-removal-in-3.14.rst:86 msgid ":mod:`pty`:" -msgstr "" +msgstr ":mod:`pty`:" #: ../Doc/deprecations/pending-removal-in-3.14.rst:88 msgid "``master_open()``: use :func:`pty.openpty`." -msgstr "" +msgstr "``master_open()``: utilice :func:`pty.openpty`." #: ../Doc/deprecations/pending-removal-in-3.14.rst:89 msgid "``slave_open()``: use :func:`pty.openpty`." -msgstr "" +msgstr "``slave_open()``: utilice :func:`pty.openpty`." #: ../Doc/deprecations/pending-removal-in-3.14.rst:91 msgid ":mod:`sqlite3`:" -msgstr "" +msgstr ":mod:`sqlite3`:" #: ../Doc/deprecations/pending-removal-in-3.14.rst:93 msgid ":data:`~sqlite3.version` and :data:`~sqlite3.version_info`." -msgstr "" +msgstr ":data:`~sqlite3.version` y :data:`~sqlite3.version_info`." #: ../Doc/deprecations/pending-removal-in-3.14.rst:95 msgid "" -":meth:`~sqlite3.Cursor.execute` and :meth:`~sqlite3.Cursor.executemany` if :" -"ref:`named placeholders ` are used and *parameters* is " -"a sequence instead of a :class:`dict`." +":meth:`~sqlite3.Cursor.execute` and :meth:`~sqlite3.Cursor.executemany` if " +":ref:`named placeholders ` are used and *parameters* " +"is a sequence instead of a :class:`dict`." msgstr "" +":meth:`~sqlite3.Cursor.execute` y :meth:`~sqlite3.Cursor.executemany` si se " +"utilizan :ref:`named placeholders ` y *parameters* es " +"una secuencia en lugar de :class:`dict`." #: ../Doc/deprecations/pending-removal-in-3.14.rst:99 msgid "" -"date and datetime adapter, date and timestamp converter: see the :mod:" -"`sqlite3` documentation for suggested replacement recipes." +"date and datetime adapter, date and timestamp converter: see the " +":mod:`sqlite3` documentation for suggested replacement recipes." msgstr "" +"Adaptador de fecha y fecha y hora, convertidor de fecha y marca de tiempo: " +"consulte la documentación de :mod:`sqlite3` para obtener recetas de " +"reemplazo sugeridas." #: ../Doc/deprecations/pending-removal-in-3.14.rst:102 msgid "" @@ -215,84 +276,113 @@ msgid "" "but it only got a proper :exc:`DeprecationWarning` in 3.12. May be removed " "in 3.14. (Contributed by Nikita Sobolev in :gh:`101866`.)" msgstr "" +":class:`types.CodeType`: El acceso a :attr:`~codeobject.co_lnotab` quedó " +"obsoleto en :pep:`626` desde la versión 3.10 y se planeó eliminarlo en la " +"versión 3.12, pero recién se agregó un :exc:`DeprecationWarning` adecuado en" +" la versión 3.12. Es posible que se elimine en la versión 3.14. (Contribuido" +" por Nikita Sobolev en :gh:`101866`.)" #: ../Doc/deprecations/pending-removal-in-3.14.rst:109 msgid "" -":mod:`typing`: :class:`~typing.ByteString`, deprecated since Python 3.9, now " -"causes a :exc:`DeprecationWarning` to be emitted when it is used." +":mod:`typing`: :class:`~typing.ByteString`, deprecated since Python 3.9, now" +" causes a :exc:`DeprecationWarning` to be emitted when it is used." msgstr "" +":mod:`typing`: :class:`~typing.ByteString`, obsoleto desde Python 3.9, ahora" +" hace que se emita un :exc:`DeprecationWarning` cuando se utiliza." #: ../Doc/deprecations/pending-removal-in-3.14.rst:112 msgid "" ":mod:`urllib`: :class:`!urllib.parse.Quoter` is deprecated: it was not " -"intended to be a public API. (Contributed by Gregory P. Smith in :gh:" -"`88168`.)" +"intended to be a public API. (Contributed by Gregory P. Smith in " +":gh:`88168`.)" msgstr "" +":mod:`urllib`: :class:`!urllib.parse.Quoter` está obsoleto: no estaba " +"previsto que fuera una API pública. (Contribuido por Gregory P. Smith en " +":gh:`88168`.)" #: ../Doc/deprecations/c-api-pending-removal-in-3.15.rst:2 #: ../Doc/deprecations/pending-removal-in-3.15.rst:2 msgid "Pending Removal in Python 3.15" -msgstr "" +msgstr "Eliminación pendiente en Python 3.15" #: ../Doc/deprecations/pending-removal-in-3.15.rst:4 msgid ":mod:`ctypes`:" -msgstr "" +msgstr ":mod:`ctypes`:" #: ../Doc/deprecations/pending-removal-in-3.15.rst:6 msgid "" -"The undocumented :func:`!ctypes.SetPointerType` function has been deprecated " -"since Python 3.13." +"The undocumented :func:`!ctypes.SetPointerType` function has been deprecated" +" since Python 3.13." msgstr "" +"La función :func:`!ctypes.SetPointerType` no documentada ha quedado obsoleta" +" desde Python 3.13." #: ../Doc/deprecations/pending-removal-in-3.15.rst:9 msgid ":mod:`http.server`:" -msgstr "" +msgstr ":mod:`http.server`:" #: ../Doc/deprecations/pending-removal-in-3.15.rst:11 msgid "" -"The obsolete and rarely used :class:`~http.server.CGIHTTPRequestHandler` has " -"been deprecated since Python 3.13. No direct replacement exists. *Anything* " -"is better than CGI to interface a web server with a request handler." +"The obsolete and rarely used :class:`~http.server.CGIHTTPRequestHandler` has" +" been deprecated since Python 3.13. No direct replacement exists. *Anything*" +" is better than CGI to interface a web server with a request handler." msgstr "" +"El obsoleto y poco utilizado :class:`~http.server.CGIHTTPRequestHandler` ha " +"quedado obsoleto desde Python 3.13. No existe un reemplazo directo. " +"*Anything* es mejor que CGI para interconectar un servidor web con un " +"controlador de solicitudes." #: ../Doc/deprecations/pending-removal-in-3.15.rst:17 msgid "" "The :option:`!--cgi` flag to the :program:`python -m http.server` command-" "line interface has been deprecated since Python 3.13." msgstr "" +"La bandera :option:`!--cgi` de la interfaz de línea de comandos " +":program:`python -m http.server` ha quedado obsoleta desde Python 3.13." #: ../Doc/deprecations/pending-removal-in-3.15.rst:20 msgid "" -":mod:`importlib`: ``__package__`` and ``__cached__`` will cease to be set or " -"taken into consideration by the import system (:gh:`97879`)." +":mod:`importlib`: ``__package__`` and ``__cached__`` will cease to be set or" +" taken into consideration by the import system (:gh:`97879`)." msgstr "" +":mod:`importlib`: ``__package__`` y ``__cached__`` dejarán de configurarse o" +" tomarse en consideración por el sistema de importación (:gh:`97879`)." #: ../Doc/deprecations/pending-removal-in-3.15.rst:23 msgid ":class:`locale`:" -msgstr "" +msgstr ":class:`locale`:" #: ../Doc/deprecations/pending-removal-in-3.15.rst:25 msgid "" "The :func:`~locale.getdefaultlocale` function has been deprecated since " -"Python 3.11. Its removal was originally planned for Python 3.13 (:gh:" -"`90817`), but has been postponed to Python 3.15. Use :func:`~locale." -"getlocale`, :func:`~locale.setlocale`, and :func:`~locale.getencoding` " -"instead. (Contributed by Hugo van Kemenade in :gh:`111187`.)" -msgstr "" +"Python 3.11. Its removal was originally planned for Python 3.13 " +"(:gh:`90817`), but has been postponed to Python 3.15. Use " +":func:`~locale.getlocale`, :func:`~locale.setlocale`, and " +":func:`~locale.getencoding` instead. (Contributed by Hugo van Kemenade in " +":gh:`111187`.)" +msgstr "" +"La función :func:`~locale.getdefaultlocale` ha quedado obsoleta desde Python" +" 3.11. Su eliminación se había planeado originalmente para Python 3.13 " +"(:gh:`90817`), pero se pospuso hasta Python 3.15. Utilice " +":func:`~locale.getlocale`, :func:`~locale.setlocale` y " +":func:`~locale.getencoding` en su lugar. (Contribuido por Hugo van Kemenade " +"en :gh:`111187`.)" #: ../Doc/deprecations/pending-removal-in-3.15.rst:33 msgid ":mod:`pathlib`:" -msgstr "" +msgstr ":mod:`pathlib`:" #: ../Doc/deprecations/pending-removal-in-3.15.rst:35 msgid "" -":meth:`.PurePath.is_reserved` has been deprecated since Python 3.13. Use :" -"func:`os.path.isreserved` to detect reserved paths on Windows." +":meth:`.PurePath.is_reserved` has been deprecated since Python 3.13. Use " +":func:`os.path.isreserved` to detect reserved paths on Windows." msgstr "" +":meth:`.PurePath.is_reserved` ha quedado obsoleto desde Python 3.13. Utilice" +" :func:`os.path.isreserved` para detectar rutas reservadas en Windows." #: ../Doc/deprecations/pending-removal-in-3.15.rst:39 msgid ":mod:`platform`:" -msgstr "" +msgstr ":mod:`platform`:" #: ../Doc/deprecations/pending-removal-in-3.15.rst:41 msgid "" @@ -300,57 +390,76 @@ msgid "" "function is only useful for Jython support, has a confusing API, and is " "largely untested." msgstr "" +":func:`~platform.java_ver` ha quedado obsoleto desde Python 3.13. Esta " +"función solo es útil para la compatibilidad con Jython, tiene una API " +"confusa y, en gran medida, no se ha probado." #: ../Doc/deprecations/pending-removal-in-3.15.rst:45 msgid ":mod:`threading`:" -msgstr "" +msgstr ":mod:`threading`:" #: ../Doc/deprecations/pending-removal-in-3.15.rst:47 msgid "" ":func:`~threading.RLock` will take no arguments in Python 3.15. Passing any " -"arguments has been deprecated since Python 3.14, as the Python version does " -"not permit any arguments, but the C version allows any number of positional " -"or keyword arguments, ignoring every argument." +"arguments has been deprecated since Python 3.14, as the Python version does" +" not permit any arguments, but the C version allows any number of positional" +" or keyword arguments, ignoring every argument." msgstr "" +":func:`~threading.RLock` no acepta argumentos en Python 3.15. El paso de " +"cualquier argumento ha quedado obsoleto desde Python 3.14, ya que la versión" +" de Python no permite ningún argumento, pero la versión de C permite " +"cualquier cantidad de argumentos posicionales o de palabras clave, ignorando" +" todos los argumentos." #: ../Doc/deprecations/pending-removal-in-3.15.rst:53 msgid ":mod:`typing`:" -msgstr "" +msgstr ":mod:`typing`:" #: ../Doc/deprecations/pending-removal-in-3.15.rst:55 msgid "" -"The undocumented keyword argument syntax for creating :class:`~typing." -"NamedTuple` classes (e.g. ``Point = NamedTuple(\"Point\", x=int, y=int)``) " -"has been deprecated since Python 3.13. Use the class-based syntax or the " -"functional syntax instead." +"The undocumented keyword argument syntax for creating " +":class:`~typing.NamedTuple` classes (e.g. ``Point = NamedTuple(\"Point\", " +"x=int, y=int)``) has been deprecated since Python 3.13. Use the class-based " +"syntax or the functional syntax instead." msgstr "" +"La sintaxis de argumentos de palabras clave no documentada para crear clases" +" :class:`~typing.NamedTuple` (p. ej., ``Point = NamedTuple(\"Point\", x=int," +" y=int)``) ha quedado obsoleta desde Python 3.13. En su lugar, utilice la " +"sintaxis basada en clases o la sintaxis funcional." #: ../Doc/deprecations/pending-removal-in-3.15.rst:61 msgid "" "The :func:`typing.no_type_check_decorator` decorator function has been " -"deprecated since Python 3.13. After eight years in the :mod:`typing` module, " -"it has yet to be supported by any major type checker." +"deprecated since Python 3.13. After eight years in the :mod:`typing` module," +" it has yet to be supported by any major type checker." msgstr "" +"La función decoradora :func:`typing.no_type_check_decorator` ha quedado " +"obsoleta desde Python 3.13. Después de ocho años en el módulo :mod:`typing`," +" todavía no ha sido compatible con ningún verificador de tipos importante." #: ../Doc/deprecations/pending-removal-in-3.15.rst:66 msgid ":mod:`wave`:" -msgstr "" +msgstr ":mod:`wave`:" #: ../Doc/deprecations/pending-removal-in-3.15.rst:68 msgid "" -"The :meth:`~wave.Wave_read.getmark`, :meth:`!setmark`, and :meth:`~wave." -"Wave_read.getmarkers` methods of the :class:`~wave.Wave_read` and :class:" -"`~wave.Wave_write` classes have been deprecated since Python 3.13." +"The :meth:`~wave.Wave_read.getmark`, :meth:`!setmark`, and " +":meth:`~wave.Wave_read.getmarkers` methods of the :class:`~wave.Wave_read` " +"and :class:`~wave.Wave_write` classes have been deprecated since Python " +"3.13." msgstr "" +"Los métodos :meth:`~wave.Wave_read.getmark`, :meth:`!setmark` y " +":meth:`~wave.Wave_read.getmarkers` de las clases :class:`~wave.Wave_read` y " +":class:`~wave.Wave_write` han quedado obsoletos desde Python 3.13." #: ../Doc/deprecations/pending-removal-in-3.16.rst:2 msgid "Pending Removal in Python 3.16" -msgstr "" +msgstr "Eliminación pendiente en Python 3.16" #: ../Doc/deprecations/pending-removal-in-3.16.rst:4 #: ../Doc/deprecations/pending-removal-in-future.rst:12 msgid ":mod:`builtins`:" -msgstr "" +msgstr ":mod:`builtins`:" #: ../Doc/deprecations/pending-removal-in-3.16.rst:6 msgid "" @@ -360,10 +469,16 @@ msgid "" "of a Boolean. In the rare case that you need the bitwise inversion of the " "underlying integer, convert to ``int`` explicitly (``~int(x)``)." msgstr "" +"La inversión bit a bit en tipos booleanos, ``~True`` o ``~False``, ha " +"quedado obsoleta desde Python 3.12, ya que produce resultados sorprendentes " +"y poco intuitivos (``-2`` y ``-1``). En su lugar, utilice ``not x`` para la " +"negación lógica de un valor booleano. En el caso poco frecuente de que " +"necesite la inversión bit a bit del entero subyacente, convierta a ``int`` " +"explícitamente (``~int(x)``)." #: ../Doc/deprecations/pending-removal-in-3.16.rst:13 msgid ":mod:`array`:" -msgstr "" +msgstr ":mod:`array`:" #: ../Doc/deprecations/pending-removal-in-3.16.rst:15 msgid "" @@ -371,80 +486,101 @@ msgid "" "documentation since Python 3.3 and at runtime since Python 3.13. Use the " "``'w'`` format code (:c:type:`Py_UCS4`) for Unicode characters instead." msgstr "" +"El código de formato ``'u'`` (:c:type:`wchar_t`) ha quedado obsoleto en la " +"documentación desde Python 3.3 y en el entorno de ejecución desde Python " +"3.13. Utilice el código de formato ``'w'`` (:c:type:`Py_UCS4`) para " +"caracteres Unicode." #: ../Doc/deprecations/pending-removal-in-3.16.rst:21 msgid ":mod:`shutil`:" -msgstr "" +msgstr ":mod:`shutil`:" #: ../Doc/deprecations/pending-removal-in-3.16.rst:23 msgid "" "The :class:`!ExecError` exception has been deprecated since Python 3.14. It " -"has not been used by any function in :mod:`!shutil` since Python 3.4, and is " -"now an alias of :exc:`RuntimeError`." +"has not been used by any function in :mod:`!shutil` since Python 3.4, and is" +" now an alias of :exc:`RuntimeError`." msgstr "" +"La excepción :class:`!ExecError` ha quedado obsoleta desde Python 3.14. No " +"ha sido utilizada por ninguna función en :mod:`!shutil` desde Python 3.4 y " +"ahora es un alias de :exc:`RuntimeError`." #: ../Doc/deprecations/pending-removal-in-3.16.rst:28 msgid ":mod:`symtable`:" -msgstr "" +msgstr ":mod:`symtable`:" #: ../Doc/deprecations/pending-removal-in-3.16.rst:30 msgid "" "The :meth:`Class.get_methods ` method has been " "deprecated since Python 3.14." msgstr "" +"El método :meth:`Class.get_methods ` ha quedado " +"obsoleto desde Python 3.14." #: ../Doc/deprecations/pending-removal-in-3.16.rst:33 msgid ":mod:`sys`:" -msgstr "" +msgstr ":mod:`sys`:" #: ../Doc/deprecations/pending-removal-in-3.16.rst:35 msgid "" -"The :func:`~sys._enablelegacywindowsfsencoding` function has been deprecated " -"since Python 3.13. Use the :envvar:`PYTHONLEGACYWINDOWSFSENCODING` " +"The :func:`~sys._enablelegacywindowsfsencoding` function has been deprecated" +" since Python 3.13. Use the :envvar:`PYTHONLEGACYWINDOWSFSENCODING` " "environment variable instead." msgstr "" +"La función :func:`~sys._enablelegacywindowsfsencoding` ha quedado obsoleta " +"desde Python 3.13. En su lugar, utilice la variable de entorno " +":envvar:`PYTHONLEGACYWINDOWSFSENCODING`." #: ../Doc/deprecations/pending-removal-in-3.16.rst:39 msgid ":mod:`tarfile`:" -msgstr "" +msgstr ":mod:`tarfile`:" #: ../Doc/deprecations/pending-removal-in-3.16.rst:41 msgid "" "The undocumented and unused :attr:`!TarFile.tarfile` attribute has been " "deprecated since Python 3.13." msgstr "" +"El atributo :attr:`!TarFile.tarfile`, no documentado ni utilizado, ha " +"quedado obsoleto desde Python 3.13." #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:2 #: ../Doc/deprecations/pending-removal-in-future.rst:2 msgid "Pending Removal in Future Versions" -msgstr "" +msgstr "Pendiente de eliminación en futuras versiones" #: ../Doc/deprecations/pending-removal-in-future.rst:4 msgid "" "The following APIs will be removed in the future, although there is " "currently no date scheduled for their removal." msgstr "" +"Las siguientes API se eliminarán en el futuro, aunque actualmente no hay una" +" fecha programada para su eliminación." #: ../Doc/deprecations/pending-removal-in-future.rst:7 msgid "" ":mod:`argparse`: Nesting argument groups and nesting mutually exclusive " "groups are deprecated." msgstr "" +":mod:`argparse`: Los grupos de argumentos anidados y los grupos mutuamente " +"excluyentes anidados están obsoletos." #: ../Doc/deprecations/pending-removal-in-future.rst:10 msgid ":mod:`array`'s ``'u'`` format code (:gh:`57281`)" -msgstr "" +msgstr "Código de formato :mod:`array` de ``'u'`` (:gh:`57281`)" #: ../Doc/deprecations/pending-removal-in-future.rst:14 msgid "``bool(NotImplemented)``." -msgstr "" +msgstr "``bool(NotImplemented)``." #: ../Doc/deprecations/pending-removal-in-future.rst:15 msgid "" -"Generators: ``throw(type, exc, tb)`` and ``athrow(type, exc, tb)`` signature " -"is deprecated: use ``throw(exc)`` and ``athrow(exc)`` instead, the single " +"Generators: ``throw(type, exc, tb)`` and ``athrow(type, exc, tb)`` signature" +" is deprecated: use ``throw(exc)`` and ``athrow(exc)`` instead, the single " "argument signature." msgstr "" +"Generadores: las firmas ``throw(type, exc, tb)`` y ``athrow(type, exc, tb)``" +" están obsoletas: utilice ``throw(exc)`` y ``athrow(exc)`` en su lugar, la " +"firma de argumento único." #: ../Doc/deprecations/pending-removal-in-future.rst:18 msgid "" @@ -452,661 +588,849 @@ msgid "" "for example ``0in x``, ``1or x``, ``0if 1else 2``. It allows confusing and " "ambiguous expressions like ``[0x1for x in y]`` (which can be interpreted as " "``[0x1 for x in y]`` or ``[0x1f or x in y]``). A syntax warning is raised " -"if the numeric literal is immediately followed by one of keywords :keyword:" -"`and`, :keyword:`else`, :keyword:`for`, :keyword:`if`, :keyword:`in`, :" -"keyword:`is` and :keyword:`or`. In a future release it will be changed to a " -"syntax error. (:gh:`87999`)" -msgstr "" +"if the numeric literal is immediately followed by one of keywords " +":keyword:`and`, :keyword:`else`, :keyword:`for`, :keyword:`if`, " +":keyword:`in`, :keyword:`is` and :keyword:`or`. In a future release it will" +" be changed to a syntax error. (:gh:`87999`)" +msgstr "" +"Actualmente, Python acepta literales numéricos seguidos inmediatamente de " +"palabras clave, por ejemplo, ``0in x``, ``1or x``, ``0if 1else 2``. Permite " +"expresiones confusas y ambiguas como ``[0x1for x in y]`` (que se puede " +"interpretar como ``[0x1 for x in y]`` o ``[0x1f or x in y]``). Se genera una" +" advertencia de sintaxis si el literal numérico va seguido inmediatamente de" +" una de las palabras clave :keyword:`and`, :keyword:`else`, :keyword:`for`, " +":keyword:`if`, :keyword:`in`, :keyword:`is` y :keyword:`or`. En una versión " +"futura, se cambiará a un error de sintaxis. (:gh:`87999`)" #: ../Doc/deprecations/pending-removal-in-future.rst:26 msgid "" -"Support for ``__index__()`` and ``__int__()`` method returning non-int type: " -"these methods will be required to return an instance of a strict subclass " +"Support for ``__index__()`` and ``__int__()`` method returning non-int type:" +" these methods will be required to return an instance of a strict subclass " "of :class:`int`." msgstr "" +"Compatibilidad con los métodos ``__index__()`` y ``__int__()`` que devuelven" +" un tipo que no es int: estos métodos serán necesarios para devolver una " +"instancia de una subclase estricta de :class:`int`." #: ../Doc/deprecations/pending-removal-in-future.rst:29 msgid "" -"Support for ``__float__()`` method returning a strict subclass of :class:" -"`float`: these methods will be required to return an instance of :class:" -"`float`." +"Support for ``__float__()`` method returning a strict subclass of " +":class:`float`: these methods will be required to return an instance of " +":class:`float`." msgstr "" +"Compatibilidad con el método ``__float__()`` que devuelve una subclase " +"estricta de :class:`float`: estos métodos serán necesarios para devolver una" +" instancia de :class:`float`." #: ../Doc/deprecations/pending-removal-in-future.rst:32 msgid "" -"Support for ``__complex__()`` method returning a strict subclass of :class:" -"`complex`: these methods will be required to return an instance of :class:" -"`complex`." +"Support for ``__complex__()`` method returning a strict subclass of " +":class:`complex`: these methods will be required to return an instance of " +":class:`complex`." msgstr "" +"Compatibilidad con el método ``__complex__()`` que devuelve una subclase " +"estricta de :class:`complex`: estos métodos serán necesarios para devolver " +"una instancia de :class:`complex`." #: ../Doc/deprecations/pending-removal-in-future.rst:35 msgid "Delegation of ``int()`` to ``__trunc__()`` method." -msgstr "" +msgstr "Delegación del método ``int()`` al ``__trunc__()``." #: ../Doc/deprecations/pending-removal-in-future.rst:36 msgid "" -"Passing a complex number as the *real* or *imag* argument in the :func:" -"`complex` constructor is now deprecated; it should only be passed as a " -"single positional argument. (Contributed by Serhiy Storchaka in :gh:" -"`109218`.)" +"Passing a complex number as the *real* or *imag* argument in the " +":func:`complex` constructor is now deprecated; it should only be passed as a" +" single positional argument. (Contributed by Serhiy Storchaka in " +":gh:`109218`.)" msgstr "" +"Ahora está obsoleto el paso de un número complejo como argumento *real* o " +"*imag* en el constructor :func:`complex`; solo debe pasarse como un único " +"argumento posicional. (Contribuido por Serhiy Storchaka en :gh:`109218`.)" #: ../Doc/deprecations/pending-removal-in-future.rst:41 msgid "" ":mod:`calendar`: ``calendar.January`` and ``calendar.February`` constants " -"are deprecated and replaced by :data:`calendar.JANUARY` and :data:`calendar." -"FEBRUARY`. (Contributed by Prince Roshan in :gh:`103636`.)" +"are deprecated and replaced by :data:`calendar.JANUARY` and " +":data:`calendar.FEBRUARY`. (Contributed by Prince Roshan in :gh:`103636`.)" msgstr "" +":mod:`calendar`: Las constantes ``calendar.January`` y ``calendar.February``" +" han quedado obsoletas y han sido reemplazadas por :data:`calendar.JANUARY` " +"y :data:`calendar.FEBRUARY`. (Contribuido por Prince Roshan en " +":gh:`103636`.)" #: ../Doc/deprecations/pending-removal-in-future.rst:46 msgid "" ":attr:`codeobject.co_lnotab`: use the :meth:`codeobject.co_lines` method " "instead." msgstr "" +":attr:`codeobject.co_lnotab`: utilice el método :meth:`codeobject.co_lines` " +"en su lugar." #: ../Doc/deprecations/pending-removal-in-future.rst:49 msgid ":mod:`datetime`:" -msgstr "" +msgstr ":mod:`datetime`:" #: ../Doc/deprecations/pending-removal-in-future.rst:51 msgid "" -":meth:`~datetime.datetime.utcnow`: use ``datetime.datetime.now(tz=datetime." -"UTC)``." +":meth:`~datetime.datetime.utcnow`: use " +"``datetime.datetime.now(tz=datetime.UTC)``." msgstr "" +":meth:`~datetime.datetime.utcnow`: utilice " +"``datetime.datetime.now(tz=datetime.UTC)``." #: ../Doc/deprecations/pending-removal-in-future.rst:53 msgid "" -":meth:`~datetime.datetime.utcfromtimestamp`: use ``datetime.datetime." -"fromtimestamp(timestamp, tz=datetime.UTC)``." +":meth:`~datetime.datetime.utcfromtimestamp`: use " +"``datetime.datetime.fromtimestamp(timestamp, tz=datetime.UTC)``." msgstr "" +":meth:`~datetime.datetime.utcfromtimestamp`: utilice " +"``datetime.datetime.fromtimestamp(timestamp, tz=datetime.UTC)``." #: ../Doc/deprecations/pending-removal-in-future.rst:56 msgid ":mod:`gettext`: Plural value must be an integer." -msgstr "" +msgstr ":mod:`gettext`: El valor plural debe ser un número entero." #: ../Doc/deprecations/pending-removal-in-future.rst:58 msgid ":mod:`importlib`:" -msgstr "" +msgstr ":mod:`importlib`:" #: ../Doc/deprecations/pending-removal-in-future.rst:60 msgid "``load_module()`` method: use ``exec_module()`` instead." -msgstr "" +msgstr "Método ``load_module()``: utilice ``exec_module()`` en su lugar." #: ../Doc/deprecations/pending-removal-in-future.rst:61 msgid "" ":func:`~importlib.util.cache_from_source` *debug_override* parameter is " "deprecated: use the *optimization* parameter instead." msgstr "" +":func:`~importlib.util.cache_from_source` El parámetro *debug_override* está" +" obsoleto: utilice el parámetro *optimization* en su lugar." #: ../Doc/deprecations/pending-removal-in-future.rst:64 msgid ":mod:`importlib.metadata`:" -msgstr "" +msgstr ":mod:`importlib.metadata`:" #: ../Doc/deprecations/pending-removal-in-future.rst:66 msgid "``EntryPoints`` tuple interface." -msgstr "" +msgstr "Interfaz de tupla ``EntryPoints``." #: ../Doc/deprecations/pending-removal-in-future.rst:67 msgid "Implicit ``None`` on return values." -msgstr "" +msgstr "``None`` implícito en los valores de retorno." #: ../Doc/deprecations/pending-removal-in-future.rst:69 msgid "" ":mod:`logging`: the ``warn()`` method has been deprecated since Python 3.3, " "use :meth:`~logging.warning` instead." msgstr "" +":mod:`logging`: el método ``warn()`` ha quedado obsoleto desde Python 3.3, " +"utilice :meth:`~logging.warning` en su lugar." #: ../Doc/deprecations/pending-removal-in-future.rst:72 msgid "" ":mod:`mailbox`: Use of StringIO input and text mode is deprecated, use " "BytesIO and binary mode instead." msgstr "" +":mod:`mailbox`: El uso del modo de entrada y texto StringIO está obsoleto; " +"en su lugar, utilice BytesIO y el modo binario." #: ../Doc/deprecations/pending-removal-in-future.rst:75 msgid "" ":mod:`os`: Calling :func:`os.register_at_fork` in multi-threaded process." msgstr "" +":mod:`os`: Llamada a :func:`os.register_at_fork` en un proceso multiproceso." #: ../Doc/deprecations/pending-removal-in-future.rst:77 msgid "" -":class:`!pydoc.ErrorDuringImport`: A tuple value for *exc_info* parameter is " -"deprecated, use an exception instance." +":class:`!pydoc.ErrorDuringImport`: A tuple value for *exc_info* parameter is" +" deprecated, use an exception instance." msgstr "" +":class:`!pydoc.ErrorDuringImport`: Un valor de tupla para el parámetro " +"*exc_info* está obsoleto, utilice una instancia de excepción." #: ../Doc/deprecations/pending-removal-in-future.rst:80 msgid "" ":mod:`re`: More strict rules are now applied for numerical group references " "and group names in regular expressions. Only sequence of ASCII digits is " -"now accepted as a numerical reference. The group name in bytes patterns and " -"replacement strings can now only contain ASCII letters and digits and " +"now accepted as a numerical reference. The group name in bytes patterns and" +" replacement strings can now only contain ASCII letters and digits and " "underscore. (Contributed by Serhiy Storchaka in :gh:`91760`.)" msgstr "" +":mod:`re`: Ahora se aplican reglas más estrictas para las referencias " +"numéricas de grupos y los nombres de grupos en expresiones regulares. Ahora " +"solo se aceptan secuencias de dígitos ASCII como referencia numérica. El " +"nombre de grupo en patrones de bytes y cadenas de reemplazo ahora solo puede" +" contener letras y dígitos ASCII y guiones bajos. (Contribuido por Serhiy " +"Storchaka en :gh:`91760`.)" #: ../Doc/deprecations/pending-removal-in-future.rst:87 msgid "" ":mod:`!sre_compile`, :mod:`!sre_constants` and :mod:`!sre_parse` modules." msgstr "" +"Módulos :mod:`!sre_compile`, :mod:`!sre_constants` y :mod:`!sre_parse`." #: ../Doc/deprecations/pending-removal-in-future.rst:89 msgid "" -":mod:`shutil`: :func:`~shutil.rmtree`'s *onerror* parameter is deprecated in " -"Python 3.12; use the *onexc* parameter instead." +":mod:`shutil`: :func:`~shutil.rmtree`'s *onerror* parameter is deprecated in" +" Python 3.12; use the *onexc* parameter instead." msgstr "" +":mod:`shutil`: El parámetro *onerror* de :func:`~shutil.rmtree` está " +"obsoleto en Python 3.12; utilice el parámetro *onexc* en su lugar." #: ../Doc/deprecations/pending-removal-in-future.rst:92 msgid ":mod:`ssl` options and protocols:" -msgstr "" +msgstr "Opciones y protocolos :mod:`ssl`:" #: ../Doc/deprecations/pending-removal-in-future.rst:94 msgid ":class:`ssl.SSLContext` without protocol argument is deprecated." -msgstr "" +msgstr ":class:`ssl.SSLContext` sin argumento de protocolo está obsoleto." #: ../Doc/deprecations/pending-removal-in-future.rst:95 msgid "" -":class:`ssl.SSLContext`: :meth:`~ssl.SSLContext.set_npn_protocols` and :meth:" -"`!selected_npn_protocol` are deprecated: use ALPN instead." +":class:`ssl.SSLContext`: :meth:`~ssl.SSLContext.set_npn_protocols` and " +":meth:`!selected_npn_protocol` are deprecated: use ALPN instead." msgstr "" +":class:`ssl.SSLContext`: :meth:`~ssl.SSLContext.set_npn_protocols` y " +":meth:`!selected_npn_protocol` están obsoletos: utilice ALPN en su lugar." #: ../Doc/deprecations/pending-removal-in-future.rst:98 msgid "``ssl.OP_NO_SSL*`` options" -msgstr "" +msgstr "Opciones de ``ssl.OP_NO_SSL*``" #: ../Doc/deprecations/pending-removal-in-future.rst:99 msgid "``ssl.OP_NO_TLS*`` options" -msgstr "" +msgstr "Opciones de ``ssl.OP_NO_TLS*``" #: ../Doc/deprecations/pending-removal-in-future.rst:100 msgid "``ssl.PROTOCOL_SSLv3``" -msgstr "" +msgstr "``ssl.PROTOCOL_SSLv3``" #: ../Doc/deprecations/pending-removal-in-future.rst:101 msgid "``ssl.PROTOCOL_TLS``" -msgstr "" +msgstr "``ssl.PROTOCOL_TLS``" #: ../Doc/deprecations/pending-removal-in-future.rst:102 msgid "``ssl.PROTOCOL_TLSv1``" -msgstr "" +msgstr "``ssl.PROTOCOL_TLSv1``" #: ../Doc/deprecations/pending-removal-in-future.rst:103 msgid "``ssl.PROTOCOL_TLSv1_1``" -msgstr "" +msgstr "``ssl.PROTOCOL_TLSv1_1``" #: ../Doc/deprecations/pending-removal-in-future.rst:104 msgid "``ssl.PROTOCOL_TLSv1_2``" -msgstr "" +msgstr "``ssl.PROTOCOL_TLSv1_2``" #: ../Doc/deprecations/pending-removal-in-future.rst:105 msgid "``ssl.TLSVersion.SSLv3``" -msgstr "" +msgstr "``ssl.TLSVersion.SSLv3``" #: ../Doc/deprecations/pending-removal-in-future.rst:106 msgid "``ssl.TLSVersion.TLSv1``" -msgstr "" +msgstr "``ssl.TLSVersion.TLSv1``" #: ../Doc/deprecations/pending-removal-in-future.rst:107 msgid "``ssl.TLSVersion.TLSv1_1``" -msgstr "" +msgstr "``ssl.TLSVersion.TLSv1_1``" #: ../Doc/deprecations/pending-removal-in-future.rst:109 msgid "" ":func:`sysconfig.is_python_build` *check_home* parameter is deprecated and " "ignored." msgstr "" +":func:`sysconfig.is_python_build` El parámetro *check_home* está obsoleto y " +"se ignora." #: ../Doc/deprecations/pending-removal-in-future.rst:112 msgid ":mod:`threading` methods:" -msgstr "" +msgstr "Métodos :mod:`threading`:" #: ../Doc/deprecations/pending-removal-in-future.rst:114 msgid "" -":meth:`!threading.Condition.notifyAll`: use :meth:`~threading.Condition." -"notify_all`." +":meth:`!threading.Condition.notifyAll`: use " +":meth:`~threading.Condition.notify_all`." msgstr "" +":meth:`!threading.Condition.notifyAll`: utilice " +":meth:`~threading.Condition.notify_all`." #: ../Doc/deprecations/pending-removal-in-future.rst:115 msgid ":meth:`!threading.Event.isSet`: use :meth:`~threading.Event.is_set`." msgstr "" +":meth:`!threading.Event.isSet`: utilice :meth:`~threading.Event.is_set`." #: ../Doc/deprecations/pending-removal-in-future.rst:116 msgid "" -":meth:`!threading.Thread.isDaemon`, :meth:`threading.Thread.setDaemon`: use :" -"attr:`threading.Thread.daemon` attribute." +":meth:`!threading.Thread.isDaemon`, :meth:`threading.Thread.setDaemon`: use " +":attr:`threading.Thread.daemon` attribute." msgstr "" +":meth:`!threading.Thread.isDaemon`, :meth:`threading.Thread.setDaemon`: " +"utilice el atributo :attr:`threading.Thread.daemon`." #: ../Doc/deprecations/pending-removal-in-future.rst:118 msgid "" -":meth:`!threading.Thread.getName`, :meth:`threading.Thread.setName`: use :" -"attr:`threading.Thread.name` attribute." +":meth:`!threading.Thread.getName`, :meth:`threading.Thread.setName`: use " +":attr:`threading.Thread.name` attribute." msgstr "" +":meth:`!threading.Thread.getName`, :meth:`threading.Thread.setName`: utilice" +" el atributo :attr:`threading.Thread.name`." #: ../Doc/deprecations/pending-removal-in-future.rst:120 -msgid ":meth:`!threading.currentThread`: use :meth:`threading.current_thread`." +msgid "" +":meth:`!threading.currentThread`: use :meth:`threading.current_thread`." msgstr "" +":meth:`!threading.currentThread`: utilice :meth:`threading.current_thread`." #: ../Doc/deprecations/pending-removal-in-future.rst:121 msgid ":meth:`!threading.activeCount`: use :meth:`threading.active_count`." msgstr "" +":meth:`!threading.activeCount`: utilice :meth:`threading.active_count`." #: ../Doc/deprecations/pending-removal-in-future.rst:123 msgid ":class:`typing.Text` (:gh:`92332`)." -msgstr "" +msgstr ":class:`typing.Text` (:gh:`92332`)." #: ../Doc/deprecations/pending-removal-in-future.rst:125 msgid "" ":class:`unittest.IsolatedAsyncioTestCase`: it is deprecated to return a " "value that is not ``None`` from a test case." msgstr "" +":class:`unittest.IsolatedAsyncioTestCase`: está obsoleto devolver un valor " +"que no sea ``None`` de un caso de prueba." #: ../Doc/deprecations/pending-removal-in-future.rst:128 msgid "" ":mod:`urllib.parse` deprecated functions: :func:`~urllib.parse.urlparse` " "instead" msgstr "" +"Funciones obsoletas de :mod:`urllib.parse`: :func:`~urllib.parse.urlparse` " +"en su lugar" #: ../Doc/deprecations/pending-removal-in-future.rst:130 msgid "``splitattr()``" -msgstr "" +msgstr "``splitattr()``" #: ../Doc/deprecations/pending-removal-in-future.rst:131 msgid "``splithost()``" -msgstr "" +msgstr "``splithost()``" #: ../Doc/deprecations/pending-removal-in-future.rst:132 msgid "``splitnport()``" -msgstr "" +msgstr "``splitnport()``" #: ../Doc/deprecations/pending-removal-in-future.rst:133 msgid "``splitpasswd()``" -msgstr "" +msgstr "``splitpasswd()``" #: ../Doc/deprecations/pending-removal-in-future.rst:134 msgid "``splitport()``" -msgstr "" +msgstr "``splitport()``" #: ../Doc/deprecations/pending-removal-in-future.rst:135 msgid "``splitquery()``" -msgstr "" +msgstr "``splitquery()``" #: ../Doc/deprecations/pending-removal-in-future.rst:136 msgid "``splittag()``" -msgstr "" +msgstr "``splittag()``" #: ../Doc/deprecations/pending-removal-in-future.rst:137 msgid "``splittype()``" -msgstr "" +msgstr "``splittype()``" #: ../Doc/deprecations/pending-removal-in-future.rst:138 msgid "``splituser()``" -msgstr "" +msgstr "``splituser()``" #: ../Doc/deprecations/pending-removal-in-future.rst:139 msgid "``splitvalue()``" -msgstr "" +msgstr "``splitvalue()``" #: ../Doc/deprecations/pending-removal-in-future.rst:140 msgid "``to_bytes()``" -msgstr "" +msgstr "``to_bytes()``" #: ../Doc/deprecations/pending-removal-in-future.rst:142 msgid "" -":mod:`urllib.request`: :class:`~urllib.request.URLopener` and :class:" -"`~urllib.request.FancyURLopener` style of invoking requests is deprecated. " -"Use newer :func:`~urllib.request.urlopen` functions and methods." +":mod:`urllib.request`: :class:`~urllib.request.URLopener` and " +":class:`~urllib.request.FancyURLopener` style of invoking requests is " +"deprecated. Use newer :func:`~urllib.request.urlopen` functions and methods." msgstr "" +":mod:`urllib.request`: el estilo :class:`~urllib.request.URLopener` y " +":class:`~urllib.request.FancyURLopener` de invocar solicitudes está " +"obsoleto. Utilice las funciones y métodos :func:`~urllib.request.urlopen` " +"más nuevos." #: ../Doc/deprecations/pending-removal-in-future.rst:146 msgid "" ":mod:`wsgiref`: ``SimpleHandler.stdout.write()`` should not do partial " "writes." msgstr "" +":mod:`wsgiref`: ``SimpleHandler.stdout.write()`` no debería realizar " +"escrituras parciales." #: ../Doc/deprecations/pending-removal-in-future.rst:149 msgid "" -":mod:`xml.etree.ElementTree`: Testing the truth value of an :class:`~xml." -"etree.ElementTree.Element` is deprecated. In a future release it will always " -"return ``True``. Prefer explicit ``len(elem)`` or ``elem is not None`` tests " -"instead." +":mod:`xml.etree.ElementTree`: Testing the truth value of an " +":class:`~xml.etree.ElementTree.Element` is deprecated. In a future release " +"it will always return ``True``. Prefer explicit ``len(elem)`` or ``elem is " +"not None`` tests instead." msgstr "" +":mod:`xml.etree.ElementTree`: La prueba del valor de verdad de un " +":class:`~xml.etree.ElementTree.Element` está obsoleta. En una versión " +"futura, siempre devolverá ``True``. En su lugar, es preferible realizar " +"pruebas explícitas ``len(elem)`` o ``elem is not None``." #: ../Doc/deprecations/pending-removal-in-future.rst:154 msgid "" -":meth:`zipimport.zipimporter.load_module` is deprecated: use :meth:" -"`~zipimport.zipimporter.exec_module` instead." +":meth:`zipimport.zipimporter.load_module` is deprecated: use " +":meth:`~zipimport.zipimporter.exec_module` instead." msgstr "" +":meth:`zipimport.zipimporter.load_module` está obsoleto: utilice " +":meth:`~zipimport.zipimporter.exec_module` en su lugar." #: ../Doc/deprecations/index.rst:13 msgid "C API Deprecations" -msgstr "" +msgstr "Desuso de la API C" #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:4 msgid "" -"The ``ma_version_tag`` field in :c:type:`PyDictObject` for extension modules " -"(:pep:`699`; :gh:`101193`)." +"The ``ma_version_tag`` field in :c:type:`PyDictObject` for extension modules" +" (:pep:`699`; :gh:`101193`)." msgstr "" +"El campo ``ma_version_tag`` en :c:type:`PyDictObject` para módulos de " +"extensión (:pep:`699`; :gh:`101193`)." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:7 msgid "" "Creating :c:data:`immutable types ` with mutable " "bases (:gh:`95388`)." msgstr "" +"Creando :c:data:`immutable types ` con bases " +"mutables (:gh:`95388`)." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:10 msgid "" "Functions to configure Python's initialization, deprecated in Python 3.11:" msgstr "" +"Funciones para configurar la inicialización de Python, obsoletas en Python " +"3.11:" #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:12 msgid ":c:func:`!PySys_SetArgvEx()`: Set :c:member:`PyConfig.argv` instead." msgstr "" +":c:func:`!PySys_SetArgvEx()`: Establezca :c:member:`PyConfig.argv` en su " +"lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:14 msgid ":c:func:`!PySys_SetArgv()`: Set :c:member:`PyConfig.argv` instead." msgstr "" +":c:func:`!PySys_SetArgv()`: Establezca :c:member:`PyConfig.argv` en su " +"lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:16 msgid "" ":c:func:`!Py_SetProgramName()`: Set :c:member:`PyConfig.program_name` " "instead." msgstr "" +":c:func:`!Py_SetProgramName()`: Establezca :c:member:`PyConfig.program_name`" +" en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:18 msgid ":c:func:`!Py_SetPythonHome()`: Set :c:member:`PyConfig.home` instead." msgstr "" +":c:func:`!Py_SetPythonHome()`: Establezca :c:member:`PyConfig.home` en su " +"lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:21 #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:71 msgid "" -"The :c:func:`Py_InitializeFromConfig` API should be used with :c:type:" -"`PyConfig` instead." +"The :c:func:`Py_InitializeFromConfig` API should be used with " +":c:type:`PyConfig` instead." msgstr "" +"La API :c:func:`Py_InitializeFromConfig` debe utilizarse con " +":c:type:`PyConfig`." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:24 msgid "Global configuration variables:" -msgstr "" +msgstr "Variables de configuración global:" #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:26 msgid ":c:var:`Py_DebugFlag`: Use :c:member:`PyConfig.parser_debug` instead." msgstr "" +":c:var:`Py_DebugFlag`: Utilice :c:member:`PyConfig.parser_debug` en su " +"lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:28 msgid ":c:var:`Py_VerboseFlag`: Use :c:member:`PyConfig.verbose` instead." msgstr "" +":c:var:`Py_VerboseFlag`: Utilice :c:member:`PyConfig.verbose` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:30 msgid ":c:var:`Py_QuietFlag`: Use :c:member:`PyConfig.quiet` instead." msgstr "" +":c:var:`Py_QuietFlag`: Utilice :c:member:`PyConfig.quiet` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:32 msgid "" ":c:var:`Py_InteractiveFlag`: Use :c:member:`PyConfig.interactive` instead." msgstr "" +":c:var:`Py_InteractiveFlag`: Utilice :c:member:`PyConfig.interactive` en su " +"lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:34 msgid ":c:var:`Py_InspectFlag`: Use :c:member:`PyConfig.inspect` instead." msgstr "" +":c:var:`Py_InspectFlag`: Utilice :c:member:`PyConfig.inspect` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:36 msgid "" ":c:var:`Py_OptimizeFlag`: Use :c:member:`PyConfig.optimization_level` " "instead." msgstr "" +":c:var:`Py_OptimizeFlag`: Utilice :c:member:`PyConfig.optimization_level` en" +" su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:38 msgid ":c:var:`Py_NoSiteFlag`: Use :c:member:`PyConfig.site_import` instead." msgstr "" +":c:var:`Py_NoSiteFlag`: Utilice :c:member:`PyConfig.site_import` en su " +"lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:40 msgid "" -":c:var:`Py_BytesWarningFlag`: Use :c:member:`PyConfig.bytes_warning` instead." +":c:var:`Py_BytesWarningFlag`: Use :c:member:`PyConfig.bytes_warning` " +"instead." msgstr "" +":c:var:`Py_BytesWarningFlag`: Utilice :c:member:`PyConfig.bytes_warning` en " +"su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:42 msgid "" -":c:var:`Py_FrozenFlag`: Use :c:member:`PyConfig.pathconfig_warnings` instead." +":c:var:`Py_FrozenFlag`: Use :c:member:`PyConfig.pathconfig_warnings` " +"instead." msgstr "" +":c:var:`Py_FrozenFlag`: Utilice :c:member:`PyConfig.pathconfig_warnings` en " +"su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:44 msgid "" ":c:var:`Py_IgnoreEnvironmentFlag`: Use :c:member:`PyConfig.use_environment` " "instead." msgstr "" +":c:var:`Py_IgnoreEnvironmentFlag`: Utilice " +":c:member:`PyConfig.use_environment` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:46 msgid "" ":c:var:`Py_DontWriteBytecodeFlag`: Use :c:member:`PyConfig.write_bytecode` " "instead." msgstr "" +":c:var:`Py_DontWriteBytecodeFlag`: Utilice " +":c:member:`PyConfig.write_bytecode` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:48 msgid "" -":c:var:`Py_NoUserSiteDirectory`: Use :c:member:`PyConfig." -"user_site_directory` instead." +":c:var:`Py_NoUserSiteDirectory`: Use " +":c:member:`PyConfig.user_site_directory` instead." msgstr "" +":c:var:`Py_NoUserSiteDirectory`: Utilice " +":c:member:`PyConfig.user_site_directory` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:50 msgid "" ":c:var:`Py_UnbufferedStdioFlag`: Use :c:member:`PyConfig.buffered_stdio` " "instead." msgstr "" +":c:var:`Py_UnbufferedStdioFlag`: Utilice :c:member:`PyConfig.buffered_stdio`" +" en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:52 msgid "" ":c:var:`Py_HashRandomizationFlag`: Use :c:member:`PyConfig.use_hash_seed` " "and :c:member:`PyConfig.hash_seed` instead." msgstr "" +":c:var:`Py_HashRandomizationFlag`: Utilice " +":c:member:`PyConfig.use_hash_seed` y :c:member:`PyConfig.hash_seed` en su " +"lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:55 msgid ":c:var:`Py_IsolatedFlag`: Use :c:member:`PyConfig.isolated` instead." msgstr "" +":c:var:`Py_IsolatedFlag`: Utilice :c:member:`PyConfig.isolated` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:57 msgid "" -":c:var:`Py_LegacyWindowsFSEncodingFlag`: Use :c:member:`PyPreConfig." -"legacy_windows_fs_encoding` instead." +":c:var:`Py_LegacyWindowsFSEncodingFlag`: Use " +":c:member:`PyPreConfig.legacy_windows_fs_encoding` instead." msgstr "" +":c:var:`Py_LegacyWindowsFSEncodingFlag`: Utilice " +":c:member:`PyPreConfig.legacy_windows_fs_encoding` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:59 msgid "" -":c:var:`Py_LegacyWindowsStdioFlag`: Use :c:member:`PyConfig." -"legacy_windows_stdio` instead." +":c:var:`Py_LegacyWindowsStdioFlag`: Use " +":c:member:`PyConfig.legacy_windows_stdio` instead." msgstr "" +":c:var:`Py_LegacyWindowsStdioFlag`: Utilice " +":c:member:`PyConfig.legacy_windows_stdio` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:61 msgid "" -":c:var:`!Py_FileSystemDefaultEncoding`: Use :c:member:`PyConfig." -"filesystem_encoding` instead." +":c:var:`!Py_FileSystemDefaultEncoding`: Use " +":c:member:`PyConfig.filesystem_encoding` instead." msgstr "" +":c:var:`!Py_FileSystemDefaultEncoding`: Utilice " +":c:member:`PyConfig.filesystem_encoding` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:63 msgid "" -":c:var:`!Py_HasFileSystemDefaultEncoding`: Use :c:member:`PyConfig." -"filesystem_encoding` instead." +":c:var:`!Py_HasFileSystemDefaultEncoding`: Use " +":c:member:`PyConfig.filesystem_encoding` instead." msgstr "" +":c:var:`!Py_HasFileSystemDefaultEncoding`: Utilice " +":c:member:`PyConfig.filesystem_encoding` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:65 msgid "" -":c:var:`!Py_FileSystemDefaultEncodeErrors`: Use :c:member:`PyConfig." -"filesystem_errors` instead." +":c:var:`!Py_FileSystemDefaultEncodeErrors`: Use " +":c:member:`PyConfig.filesystem_errors` instead." msgstr "" +":c:var:`!Py_FileSystemDefaultEncodeErrors`: Utilice " +":c:member:`PyConfig.filesystem_errors` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:67 msgid "" -":c:var:`!Py_UTF8Mode`: Use :c:member:`PyPreConfig.utf8_mode` instead. (see :" -"c:func:`Py_PreInitialize`)" +":c:var:`!Py_UTF8Mode`: Use :c:member:`PyPreConfig.utf8_mode` instead. (see " +":c:func:`Py_PreInitialize`)" msgstr "" +":c:var:`!Py_UTF8Mode`: Utilice :c:member:`PyPreConfig.utf8_mode` en su " +"lugar. (ver :c:func:`Py_PreInitialize`)" #: ../Doc/deprecations/c-api-pending-removal-in-3.15.rst:4 msgid "The bundled copy of ``libmpdecimal``." -msgstr "" +msgstr "La copia incluida de ``libmpdecimal``." #: ../Doc/deprecations/c-api-pending-removal-in-3.15.rst:5 msgid "" -"The :c:func:`PyImport_ImportModuleNoBlock`: Use :c:func:" -"`PyImport_ImportModule` instead." +"The :c:func:`PyImport_ImportModuleNoBlock`: Use " +":c:func:`PyImport_ImportModule` instead." msgstr "" +":c:func:`PyImport_ImportModuleNoBlock`: utilice " +":c:func:`PyImport_ImportModule` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.15.rst:7 msgid "" -":c:func:`PyWeakref_GetObject` and :c:func:`PyWeakref_GET_OBJECT`: Use :c:" -"func:`PyWeakref_GetRef` instead." +":c:func:`PyWeakref_GetObject` and :c:func:`PyWeakref_GET_OBJECT`: Use " +":c:func:`PyWeakref_GetRef` instead." msgstr "" +":c:func:`PyWeakref_GetObject` y :c:func:`PyWeakref_GET_OBJECT`: utilice " +":c:func:`PyWeakref_GetRef` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.15.rst:9 msgid "" -":c:type:`Py_UNICODE` type and the :c:macro:`!Py_UNICODE_WIDE` macro: Use :c:" -"type:`wchar_t` instead." +":c:type:`Py_UNICODE` type and the :c:macro:`!Py_UNICODE_WIDE` macro: Use " +":c:type:`wchar_t` instead." msgstr "" +"Tipo :c:type:`Py_UNICODE` y macro :c:macro:`!Py_UNICODE_WIDE`: utilice " +":c:type:`wchar_t` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.15.rst:11 msgid "Python initialization functions:" -msgstr "" +msgstr "Funciones de inicialización de Python:" #: ../Doc/deprecations/c-api-pending-removal-in-3.15.rst:13 msgid "" -":c:func:`PySys_ResetWarnOptions`: Clear :data:`sys.warnoptions` and :data:`!" -"warnings.filters` instead." +":c:func:`PySys_ResetWarnOptions`: Clear :data:`sys.warnoptions` and " +":data:`!warnings.filters` instead." msgstr "" +":c:func:`PySys_ResetWarnOptions`: borre :data:`sys.warnoptions` y " +":data:`!warnings.filters` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.15.rst:15 msgid ":c:func:`Py_GetExecPrefix`: Get :data:`sys.exec_prefix` instead." msgstr "" +":c:func:`Py_GetExecPrefix`: Obtenga :data:`sys.exec_prefix` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.15.rst:17 msgid ":c:func:`Py_GetPath`: Get :data:`sys.path` instead." -msgstr "" +msgstr ":c:func:`Py_GetPath`: Obtenga :data:`sys.path` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.15.rst:19 msgid ":c:func:`Py_GetPrefix`: Get :data:`sys.prefix` instead." -msgstr "" +msgstr ":c:func:`Py_GetPrefix`: Obtenga :data:`sys.prefix` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.15.rst:21 msgid ":c:func:`Py_GetProgramFullPath`: Get :data:`sys.executable` instead." msgstr "" +":c:func:`Py_GetProgramFullPath`: Obtenga :data:`sys.executable` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.15.rst:23 msgid ":c:func:`Py_GetProgramName`: Get :data:`sys.executable` instead." msgstr "" +":c:func:`Py_GetProgramName`: Obtenga :data:`sys.executable` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.15.rst:25 msgid "" -":c:func:`Py_GetPythonHome`: Get :c:member:`PyConfig.home` or the :envvar:" -"`PYTHONHOME` environment variable instead." +":c:func:`Py_GetPythonHome`: Get :c:member:`PyConfig.home` or the " +":envvar:`PYTHONHOME` environment variable instead." msgstr "" +":c:func:`Py_GetPythonHome`: Obtenga la variable de entorno " +":c:member:`PyConfig.home` o :envvar:`PYTHONHOME` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:4 msgid "" "The following APIs are deprecated and will be removed, although there is " "currently no date scheduled for their removal." msgstr "" +"Las siguientes API están obsoletas y se eliminarán, aunque actualmente no " +"hay una fecha programada para su eliminación." #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:7 msgid ":c:macro:`Py_TPFLAGS_HAVE_FINALIZE`: Unneeded since Python 3.8." -msgstr "" +msgstr ":c:macro:`Py_TPFLAGS_HAVE_FINALIZE`: Innecesario desde Python 3.8." #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:9 msgid ":c:func:`PyErr_Fetch`: Use :c:func:`PyErr_GetRaisedException` instead." msgstr "" +":c:func:`PyErr_Fetch`: Utilice :c:func:`PyErr_GetRaisedException` en su " +"lugar." #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:11 msgid "" ":c:func:`PyErr_NormalizeException`: Use :c:func:`PyErr_GetRaisedException` " "instead." msgstr "" +":c:func:`PyErr_NormalizeException`: Utilice " +":c:func:`PyErr_GetRaisedException` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:13 msgid "" ":c:func:`PyErr_Restore`: Use :c:func:`PyErr_SetRaisedException` instead." msgstr "" +":c:func:`PyErr_Restore`: Utilice :c:func:`PyErr_SetRaisedException` en su " +"lugar." #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:15 msgid "" ":c:func:`PyModule_GetFilename`: Use :c:func:`PyModule_GetFilenameObject` " "instead." msgstr "" +":c:func:`PyModule_GetFilename`: Utilice :c:func:`PyModule_GetFilenameObject`" +" en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:17 msgid ":c:func:`PyOS_AfterFork`: Use :c:func:`PyOS_AfterFork_Child` instead." msgstr "" +":c:func:`PyOS_AfterFork`: Utilice :c:func:`PyOS_AfterFork_Child` en su " +"lugar." #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:19 msgid "" -":c:func:`PySlice_GetIndicesEx`: Use :c:func:`PySlice_Unpack` and :c:func:" -"`PySlice_AdjustIndices` instead." +":c:func:`PySlice_GetIndicesEx`: Use :c:func:`PySlice_Unpack` and " +":c:func:`PySlice_AdjustIndices` instead." msgstr "" +":c:func:`PySlice_GetIndicesEx`: Utilice :c:func:`PySlice_Unpack` y " +":c:func:`PySlice_AdjustIndices` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:21 msgid "" ":c:func:`!PyUnicode_AsDecodedObject`: Use :c:func:`PyCodec_Decode` instead." msgstr "" +":c:func:`!PyUnicode_AsDecodedObject`: Utilice :c:func:`PyCodec_Decode` en su" +" lugar." #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:23 msgid "" ":c:func:`!PyUnicode_AsDecodedUnicode`: Use :c:func:`PyCodec_Decode` instead." msgstr "" +":c:func:`!PyUnicode_AsDecodedUnicode`: Utilice :c:func:`PyCodec_Decode` en " +"su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:25 msgid "" ":c:func:`!PyUnicode_AsEncodedObject`: Use :c:func:`PyCodec_Encode` instead." msgstr "" +":c:func:`!PyUnicode_AsEncodedObject`: Utilice :c:func:`PyCodec_Encode` en su" +" lugar." #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:27 msgid "" ":c:func:`!PyUnicode_AsEncodedUnicode`: Use :c:func:`PyCodec_Encode` instead." msgstr "" +":c:func:`!PyUnicode_AsEncodedUnicode`: Utilice :c:func:`PyCodec_Encode` en " +"su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:29 msgid ":c:func:`PyUnicode_READY`: Unneeded since Python 3.12" -msgstr "" +msgstr ":c:func:`PyUnicode_READY`: Innecesario desde Python 3.12" #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:31 -msgid ":c:func:`!PyErr_Display`: Use :c:func:`PyErr_DisplayException` instead." +msgid "" +":c:func:`!PyErr_Display`: Use :c:func:`PyErr_DisplayException` instead." msgstr "" +":c:func:`!PyErr_Display`: Utilice :c:func:`PyErr_DisplayException` en su " +"lugar." #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:33 msgid "" ":c:func:`!_PyErr_ChainExceptions`: Use :c:func:`!_PyErr_ChainExceptions1` " "instead." msgstr "" +":c:func:`!_PyErr_ChainExceptions`: Utilice " +":c:func:`!_PyErr_ChainExceptions1` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:35 msgid "" ":c:member:`!PyBytesObject.ob_shash` member: call :c:func:`PyObject_Hash` " "instead." msgstr "" +"Miembro de :c:member:`!PyBytesObject.ob_shash`: llame a " +":c:func:`PyObject_Hash` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:37 msgid ":c:member:`!PyDictObject.ma_version_tag` member." -msgstr "" +msgstr "Miembro de :c:member:`!PyDictObject.ma_version_tag`." #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:38 msgid "Thread Local Storage (TLS) API:" -msgstr "" +msgstr "API de almacenamiento local de subprocesos (TLS):" #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:40 msgid "" ":c:func:`PyThread_create_key`: Use :c:func:`PyThread_tss_alloc` instead." msgstr "" +":c:func:`PyThread_create_key`: Utilice :c:func:`PyThread_tss_alloc` en su " +"lugar." #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:42 -msgid ":c:func:`PyThread_delete_key`: Use :c:func:`PyThread_tss_free` instead." +msgid "" +":c:func:`PyThread_delete_key`: Use :c:func:`PyThread_tss_free` instead." msgstr "" +":c:func:`PyThread_delete_key`: Utilice :c:func:`PyThread_tss_free` en su " +"lugar." #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:44 msgid "" ":c:func:`PyThread_set_key_value`: Use :c:func:`PyThread_tss_set` instead." msgstr "" +":c:func:`PyThread_set_key_value`: Utilice :c:func:`PyThread_tss_set` en su " +"lugar." #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:46 msgid "" ":c:func:`PyThread_get_key_value`: Use :c:func:`PyThread_tss_get` instead." msgstr "" +":c:func:`PyThread_get_key_value`: Utilice :c:func:`PyThread_tss_get` en su " +"lugar." #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:48 msgid "" ":c:func:`PyThread_delete_key_value`: Use :c:func:`PyThread_tss_delete` " "instead." msgstr "" +":c:func:`PyThread_delete_key_value`: Utilice :c:func:`PyThread_tss_delete` " +"en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:50 msgid ":c:func:`PyThread_ReInitTLS`: Unneeded since Python 3.7." -msgstr "" +msgstr ":c:func:`PyThread_ReInitTLS`: Innecesario desde Python 3.7." diff --git a/dictionaries/deprecations_index.txt b/dictionaries/deprecations_index.txt new file mode 100644 index 0000000000..dfdbcd78ff --- /dev/null +++ b/dictionaries/deprecations_index.txt @@ -0,0 +1,2 @@ +Prince +interconectar From 1c21578964db2c6299bf3ff3c474b8edfbded8d3 Mon Sep 17 00:00:00 2001 From: kbiggers Date: Thu, 26 Dec 2024 21:04:00 -0500 Subject: [PATCH 06/41] Traducido archivo reference/lexical_analysis.po (#3350) closes #3284 --------- Co-authored-by: Kevin Biggers Co-authored-by: rtobar --- dictionaries/reference_lexical_analysis.txt | 22 +- reference/lexical_analysis.po | 1469 ++++++++++--------- 2 files changed, 765 insertions(+), 726 deletions(-) diff --git a/dictionaries/reference_lexical_analysis.txt b/dictionaries/reference_lexical_analysis.txt index 0a1c79424f..63f27b355e 100644 --- a/dictionaries/reference_lexical_analysis.txt +++ b/dictionaries/reference_lexical_analysis.txt @@ -1,2 +1,22 @@ Moolenaar -tokeniza \ No newline at end of file +tokeniza +Januari +Februari +Maart +April +Mei +Juni +Juli +Augustus +September +Oktober +November +December +month +year +day +mill +his +said +hour +second \ No newline at end of file diff --git a/reference/lexical_analysis.po b/reference/lexical_analysis.po index 2e58bcb521..b81bb63859 100644 --- a/reference/lexical_analysis.po +++ b/reference/lexical_analysis.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: 2021-10-30 14:13-0300\n" +"PO-Revision-Date: 2024-12-26 14:41-0500\n" "Last-Translator: Cristián Maureira-Fredes \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" +"X-Generator: Poedit 3.5\n" #: ../Doc/reference/lexical_analysis.rst:6 msgid "Lexical analysis" @@ -28,25 +29,25 @@ msgstr "Análisis léxico" #: ../Doc/reference/lexical_analysis.rst:10 msgid "" "A Python program is read by a *parser*. Input to the parser is a stream of " -"*tokens*, generated by the *lexical analyzer*. This chapter describes how " -"the lexical analyzer breaks a file into tokens." +"*tokens*, generated by the *lexical analyzer*. This chapter describes how the " +"lexical analyzer breaks a file into tokens." msgstr "" "Un programa de Python es leído por un *parser* (analizador sintáctico). Los " -"datos introducidos en el analizador son un flujo de *tokens*, generados por " -"el *analizador léxico*. Este capítulo describe cómo el analizador léxico " -"desglosa un archivo en tokens." +"datos introducidos en el analizador son un flujo de *tokens*, generados por el " +"*analizador léxico*. Este capítulo describe cómo el analizador léxico desglosa " +"un archivo en tokens." #: ../Doc/reference/lexical_analysis.rst:14 msgid "" -"Python reads program text as Unicode code points; the encoding of a source " -"file can be given by an encoding declaration and defaults to UTF-8, see :pep:" -"`3120` for details. If the source file cannot be decoded, a :exc:" -"`SyntaxError` is raised." +"Python reads program text as Unicode code points; the encoding of a source file " +"can be given by an encoding declaration and defaults to UTF-8, see :pep:`3120` " +"for details. If the source file cannot be decoded, a :exc:`SyntaxError` is " +"raised." msgstr "" -"Python lee el texto del programa como puntos de código Unicode; la " -"codificación de un archivo fuente puede ser dada por una declaración de " -"codificación y por defecto es UTF-8, ver :pep:`3120` para más detalles. Si " -"el archivo fuente no puede ser decodificado, se genera un :exc:`SyntaxError`." +"Python lee el texto del programa como puntos de código Unicode; la codificación " +"de un archivo fuente puede ser dada por una declaración de codificación y por " +"defecto es UTF-8, ver :pep:`3120` para más detalles. Si el archivo fuente no " +"puede ser decodificado, se genera un :exc:`SyntaxError`." #: ../Doc/reference/lexical_analysis.rst:23 msgid "Line structure" @@ -71,9 +72,9 @@ msgstr "" "El final de una línea lógica está representado por el token NEWLINE (nueva " "línea). Las declaraciones no pueden cruzar los límites de la línea lógica, " "excepto cuando la sintaxis permite la utilización de NEWLINE (por ejemplo, " -"entre declaraciones en declaraciones compuestas). Una línea lógica se " -"construye a partir de una o más *líneas físicas* siguiendo las reglas " -"explícitas o implícitas de *unión de líneas*." +"entre declaraciones en declaraciones compuestas). Una línea lógica se construye " +"a partir de una o más *líneas físicas* siguiendo las reglas explícitas o " +"implícitas de *unión de líneas*." #: ../Doc/reference/lexical_analysis.rst:47 msgid "Physical lines" @@ -84,32 +85,31 @@ msgid "" "A physical line is a sequence of characters terminated by an end-of-line " "sequence. In source files and strings, any of the standard platform line " "termination sequences can be used - the Unix form using ASCII LF (linefeed), " -"the Windows form using the ASCII sequence CR LF (return followed by " -"linefeed), or the old Macintosh form using the ASCII CR (return) character. " -"All of these forms can be used equally, regardless of platform. The end of " -"input also serves as an implicit terminator for the final physical line." -msgstr "" -"Una línea física es una secuencia de caracteres terminada por una secuencia " -"de final de línea. En los archivos fuente y las cadenas, se puede utilizar " -"cualquiera de las secuencias de terminación de línea de la plataforma " -"estándar: el formulario Unix que utiliza ASCII LF (salto de línea, por el " -"inglés *linefeed*), el formulario Windows que utiliza la secuencia ASCII CR " -"LF (retorno seguido de salto de línea), o el antiguo formulario Macintosh " -"que utiliza el carácter ASCII CR (retorno). Todas estas formas pueden ser " +"the Windows form using the ASCII sequence CR LF (return followed by linefeed), " +"or the old Macintosh form using the ASCII CR (return) character. All of these " +"forms can be used equally, regardless of platform. The end of input also serves " +"as an implicit terminator for the final physical line." +msgstr "" +"Una línea física es una secuencia de caracteres terminada por una secuencia de " +"final de línea. En los archivos fuente y las cadenas, se puede utilizar " +"cualquiera de las secuencias de terminación de línea de la plataforma estándar: " +"el formulario Unix que utiliza ASCII LF (salto de línea, por el inglés " +"*linefeed*), el formulario Windows que utiliza la secuencia ASCII CR LF " +"(retorno seguido de salto de línea), o el antiguo formulario Macintosh que " +"utiliza el carácter ASCII CR (retorno). Todas estas formas pueden ser " "utilizadas por igual, independientemente de la plataforma. El final de la " -"introducción de datos también sirve como un terminador implícito para la " -"línea física final." +"introducción de datos también sirve como un terminador implícito para la línea " +"física final." #: ../Doc/reference/lexical_analysis.rst:57 msgid "" "When embedding Python, source code strings should be passed to Python APIs " -"using the standard C conventions for newline characters (the ``\\n`` " -"character, representing ASCII LF, is the line terminator)." +"using the standard C conventions for newline characters (the ``\\n`` character, " +"representing ASCII LF, is the line terminator)." msgstr "" -"Al incrustar Python, las cadenas de código fuente deben ser pasadas a las " -"APIs de Python usando las convenciones estándar de C para los caracteres de " -"nueva línea (el carácter ``\\n``, que representa ASCII LF, es el terminador " -"de línea)." +"Al incrustar Python, las cadenas de código fuente deben ser pasadas a las APIs " +"de Python usando las convenciones estándar de C para los caracteres de nueva " +"línea (el carácter ``\\n``, que representa ASCII LF, es el terminador de línea)." #: ../Doc/reference/lexical_analysis.rst:65 msgid "Comments" @@ -118,15 +118,14 @@ msgstr "Comentarios" #: ../Doc/reference/lexical_analysis.rst:70 msgid "" "A comment starts with a hash character (``#``) that is not part of a string " -"literal, and ends at the end of the physical line. A comment signifies the " -"end of the logical line unless the implicit line joining rules are invoked. " +"literal, and ends at the end of the physical line. A comment signifies the end " +"of the logical line unless the implicit line joining rules are invoked. " "Comments are ignored by the syntax." msgstr "" -"Un comentario comienza con un carácter de almohadilla (``#``) que no es " -"parte de un literal de cadena, y termina al final de la línea física. Un " -"comentario implica el final de la línea lógica, a menos que se invoque la " -"regla implícita de unión de líneas. Los comentarios son ignorados por la " -"sintaxis." +"Un comentario comienza con un carácter de almohadilla (``#``) que no es parte " +"de un literal de cadena, y termina al final de la línea física. Un comentario " +"implica el final de la línea lógica, a menos que se invoque la regla implícita " +"de unión de líneas. Los comentarios son ignorados por la sintaxis." #: ../Doc/reference/lexical_analysis.rst:79 msgid "Encoding declarations" @@ -135,24 +134,23 @@ msgstr "Declaración de Codificación" #: ../Doc/reference/lexical_analysis.rst:84 msgid "" "If a comment in the first or second line of the Python script matches the " -"regular expression ``coding[=:]\\s*([-\\w.]+)``, this comment is processed " -"as an encoding declaration; the first group of this expression names the " -"encoding of the source code file. The encoding declaration must appear on a " -"line of its own. If it is the second line, the first line must also be a " -"comment-only line. The recommended forms of an encoding expression are ::" +"regular expression ``coding[=:]\\s*([-\\w.]+)``, this comment is processed as " +"an encoding declaration; the first group of this expression names the encoding " +"of the source code file. The encoding declaration must appear on a line of its " +"own. If it is the second line, the first line must also be a comment-only line. " +"The recommended forms of an encoding expression are ::" msgstr "" "Si un comentario en la primera o segunda línea del script de Python coincide " "con la expresión regular ``coding[=:]\\s*([-\\w.]+)``, este comentario se " -"procesa como una declaración de codificación; el primer grupo de esta " -"expresión denomina la codificación del archivo de código fuente. La " -"declaración de codificación debe aparecer en una línea propia. Si se trata " -"de la segunda línea, la primera línea debe ser también una línea solamente " -"de comentario. Las formas recomendadas de una expresión de codificación " -"son ::" +"procesa como una declaración de codificación; el primer grupo de esta expresión " +"denomina la codificación del archivo de código fuente. La declaración de " +"codificación debe aparecer en una línea propia. Si se trata de la segunda " +"línea, la primera línea debe ser también una línea solamente de comentario. Las " +"formas recomendadas de una expresión de codificación son ::" #: ../Doc/reference/lexical_analysis.rst:91 msgid "# -*- coding: -*-" -msgstr "" +msgstr "# -*- coding: -*-" #: ../Doc/reference/lexical_analysis.rst:93 msgid "which is recognized also by GNU Emacs, and ::" @@ -160,35 +158,33 @@ msgstr "que también es reconocido por GNU Emacs y ::" #: ../Doc/reference/lexical_analysis.rst:95 msgid "# vim:fileencoding=" -msgstr "" +msgstr "# vim:fileencoding=" #: ../Doc/reference/lexical_analysis.rst:97 msgid "which is recognized by Bram Moolenaar's VIM." msgstr "que es reconocido por el VIM de Bram Moolenaar." #: ../Doc/reference/lexical_analysis.rst:99 -#, fuzzy msgid "" "If no encoding declaration is found, the default encoding is UTF-8. If the " -"implicit or explicit encoding of a file is UTF-8, an initial UTF-8 byte-" -"order mark (b'\\xef\\xbb\\xbf') is ignored rather than being a syntax error." +"implicit or explicit encoding of a file is UTF-8, an initial UTF-8 byte-order " +"mark (b'\\xef\\xbb\\xbf') is ignored rather than being a syntax error." msgstr "" -"Si no se encuentra una declaración de codificación, la codificación por " -"defecto es UTF-8. Además, si los primeros bytes del archivo son la marca de " -"orden de bytes UTF-8 (``b'\\xef\\xbb\\xbf'``), la codificación declarada del " -"archivo es UTF-8 (esto está soportado, entre otros, por el programa :program:" -"`notepad` de Microsoft)." +"Si no se encuentra una declaración de codificación, la codificación por defecto " +"es UTF-8. Si la codificación implícita o explicita de un archivo es UTF-8, una " +"marca de orden de bytes UTF-8 inicial (``b'\\xef\\xbb\\xbf'``), se ignora en " +"vez de ser un error de sintaxis." #: ../Doc/reference/lexical_analysis.rst:103 msgid "" "If an encoding is declared, the encoding name must be recognized by Python " -"(see :ref:`standard-encodings`). The encoding is used for all lexical " -"analysis, including string literals, comments and identifiers." +"(see :ref:`standard-encodings`). The encoding is used for all lexical analysis, " +"including string literals, comments and identifiers." msgstr "" "Si se declara una codificación, Python debe reconocer el nombre de la " -"codificación (ver :ref:`standard-encodings`). La codificación se utiliza " -"para todos los análisis léxicos, incluidos las cadenas literales, los " -"comentarios y los identificadores." +"codificación (ver :ref:`standard-encodings`). La codificación se utiliza para " +"todos los análisis léxicos, incluidos las cadenas literales, los comentarios y " +"los identificadores." #: ../Doc/reference/lexical_analysis.rst:112 msgid "Explicit line joining" @@ -197,17 +193,16 @@ msgstr "Unión explícita de líneas" #: ../Doc/reference/lexical_analysis.rst:116 msgid "" "Two or more physical lines may be joined into logical lines using backslash " -"characters (``\\``), as follows: when a physical line ends in a backslash " -"that is not part of a string literal or comment, it is joined with the " -"following forming a single logical line, deleting the backslash and the " -"following end-of-line character. For example::" -msgstr "" -"Dos o más líneas físicas pueden unirse en líneas lógicas utilizando " -"caracteres de barra invertida (``\\``), de la siguiente manera: cuando una " -"línea física termina en una barra invertida que no es parte de literal de " -"cadena o de un comentario, se une con la siguiente formando una sola línea " -"lógica, borrando la barra invertida y el siguiente carácter de fin de " -"línea. Por ejemplo::" +"characters (``\\``), as follows: when a physical line ends in a backslash that " +"is not part of a string literal or comment, it is joined with the following " +"forming a single logical line, deleting the backslash and the following end-of-" +"line character. For example::" +msgstr "" +"Dos o más líneas físicas pueden unirse en líneas lógicas utilizando caracteres " +"de barra invertida (``\\``), de la siguiente manera: cuando una línea física " +"termina en una barra invertida que no es parte de literal de cadena o de un " +"comentario, se une con la siguiente formando una sola línea lógica, borrando la " +"barra invertida y el siguiente carácter de fin de línea. Por ejemplo::" #: ../Doc/reference/lexical_analysis.rst:122 msgid "" @@ -216,21 +211,25 @@ msgid "" " and 0 <= minute < 60 and 0 <= second < 60: # Looks like a valid date\n" " return 1" msgstr "" +"if 1900 < year < 2100 and 1 <= month <= 12 \\\n" +" and 1 <= day <= 31 and 0 <= hour < 24 \\\n" +" and 0 <= minute < 60 and 0 <= second < 60: # Looks like a valid date\n" +" return 1" #: ../Doc/reference/lexical_analysis.rst:127 msgid "" "A line ending in a backslash cannot carry a comment. A backslash does not " "continue a comment. A backslash does not continue a token except for string " "literals (i.e., tokens other than string literals cannot be split across " -"physical lines using a backslash). A backslash is illegal elsewhere on a " -"line outside a string literal." +"physical lines using a backslash). A backslash is illegal elsewhere on a line " +"outside a string literal." msgstr "" "Una línea que termina en una barra invertida no puede llevar un comentario. " -"Una barra invertida no continúa un comentario. Una barra invertida no " -"continúa un token excepto para los literales de la cadena (es decir, los " -"tokens que no sean literales de la cadena no pueden ser divididos a través " -"de líneas físicas usando una barra invertida). La barra invertida es ilegal " -"en cualquier parte de una línea fuera del literal de la cadena." +"Una barra invertida no continúa un comentario. Una barra invertida no continúa " +"un token excepto para los literales de la cadena (es decir, los tokens que no " +"sean literales de la cadena no pueden ser divididos a través de líneas físicas " +"usando una barra invertida). La barra invertida es ilegal en cualquier parte " +"de una línea fuera del literal de la cadena." #: ../Doc/reference/lexical_analysis.rst:137 msgid "Implicit line joining" @@ -238,12 +237,11 @@ msgstr "Unión implícita de líneas" #: ../Doc/reference/lexical_analysis.rst:139 msgid "" -"Expressions in parentheses, square brackets or curly braces can be split " -"over more than one physical line without using backslashes. For example::" +"Expressions in parentheses, square brackets or curly braces can be split over " +"more than one physical line without using backslashes. For example::" msgstr "" "Las expresiones entre paréntesis, entre corchetes o entre rizos pueden " -"dividirse en más de una línea física sin usar barras invertidas. Por " -"ejemplo::" +"dividirse en más de una línea física sin usar barras invertidas. Por ejemplo::" #: ../Doc/reference/lexical_analysis.rst:142 msgid "" @@ -252,6 +250,10 @@ msgid "" " 'Juli', 'Augustus', 'September', # for the months\n" " 'Oktober', 'November', 'December'] # of the year" msgstr "" +"month_names = ['Januari', 'Februari', 'Maart', # Son los\n" +" 'April', 'Mei', 'Juni', # nombres holandeses\n" +" 'Juli', 'Augustus', 'September', # para los meses\n" +" 'Oktober', 'November', 'December'] # del año" #: ../Doc/reference/lexical_analysis.rst:147 msgid "" @@ -261,12 +263,12 @@ msgid "" "continued lines can also occur within triple-quoted strings (see below); in " "that case they cannot carry comments." msgstr "" -"Las líneas continuas implícitas pueden llevar comentarios. La sangría de " -"las líneas de continuación no es importante. Se permiten líneas de " -"continuación en blanco. No hay ningún token NEWLINE (nueva línea) entre las " -"líneas de continuación implícitas. Las líneas de continuación implícitas " -"también pueden aparecer dentro de cadenas de triple comilla ( ver más " -"adelante); en ese caso no pueden llevar comentarios." +"Las líneas continuas implícitas pueden llevar comentarios. La sangría de las " +"líneas de continuación no es importante. Se permiten líneas de continuación en " +"blanco. No hay ningún token NEWLINE (nueva línea) entre las líneas de " +"continuación implícitas. Las líneas de continuación implícitas también pueden " +"aparecer dentro de cadenas de triple comilla ( ver más adelante); en ese caso " +"no pueden llevar comentarios." #: ../Doc/reference/lexical_analysis.rst:157 msgid "Blank lines" @@ -275,21 +277,20 @@ msgstr "Líneas en blanco" #: ../Doc/reference/lexical_analysis.rst:161 msgid "" "A logical line that contains only spaces, tabs, formfeeds and possibly a " -"comment, is ignored (i.e., no NEWLINE token is generated). During " -"interactive input of statements, handling of a blank line may differ " -"depending on the implementation of the read-eval-print loop. In the " -"standard interactive interpreter, an entirely blank logical line (i.e. one " -"containing not even whitespace or a comment) terminates a multi-line " -"statement." -msgstr "" -"Una línea lógica que contiene sólo espacios, tabulaciones, saltos de página " -"y posiblemente un comentario, es ignorada (es decir, no se genera un símbolo " -"de NEWLINE). Durante la introducción interactiva de declaraciones, el " -"manejo de una línea en blanco puede variar dependiendo de la implementación " -"del bucle de *read-eval-print* (lectura-evaluación-impresión). En el " -"intérprete interactivo estándar, una línea lógica completamente en blanco " -"(es decir, una que no contiene ni siquiera un espacio en blanco o un " -"comentario) termina una declaración de varias líneas." +"comment, is ignored (i.e., no NEWLINE token is generated). During interactive " +"input of statements, handling of a blank line may differ depending on the " +"implementation of the read-eval-print loop. In the standard interactive " +"interpreter, an entirely blank logical line (i.e. one containing not even " +"whitespace or a comment) terminates a multi-line statement." +msgstr "" +"Una línea lógica que contiene sólo espacios, tabulaciones, saltos de página y " +"posiblemente un comentario, es ignorada (es decir, no se genera un símbolo de " +"NEWLINE). Durante la introducción interactiva de declaraciones, el manejo de " +"una línea en blanco puede variar dependiendo de la implementación del bucle de " +"*read-eval-print* (lectura-evaluación-impresión). En el intérprete interactivo " +"estándar, una línea lógica completamente en blanco (es decir, una que no " +"contiene ni siquiera un espacio en blanco o un comentario) termina una " +"declaración de varias líneas." #: ../Doc/reference/lexical_analysis.rst:172 msgid "Indentation" @@ -297,61 +298,61 @@ msgstr "Sangría" #: ../Doc/reference/lexical_analysis.rst:176 msgid "" -"Leading whitespace (spaces and tabs) at the beginning of a logical line is " -"used to compute the indentation level of the line, which in turn is used to " +"Leading whitespace (spaces and tabs) at the beginning of a logical line is used " +"to compute the indentation level of the line, which in turn is used to " "determine the grouping of statements." msgstr "" "El espacio en blanco ( espacios y tabulaciones) al principio de una línea " -"lógica se utiliza para calcular el nivel de sangría de la línea, que a su " -"vez se utiliza para determinar la agrupación de las declaraciones." +"lógica se utiliza para calcular el nivel de sangría de la línea, que a su vez " +"se utiliza para determinar la agrupación de las declaraciones." #: ../Doc/reference/lexical_analysis.rst:180 msgid "" "Tabs are replaced (from left to right) by one to eight spaces such that the " -"total number of characters up to and including the replacement is a multiple " -"of eight (this is intended to be the same rule as used by Unix). The total " -"number of spaces preceding the first non-blank character then determines the " -"line's indentation. Indentation cannot be split over multiple physical " -"lines using backslashes; the whitespace up to the first backslash determines " -"the indentation." -msgstr "" -"Los tabuladores se sustituyen (de izquierda a derecha) por uno a ocho " -"espacios, de manera que el número total de caracteres hasta el reemplazo " -"inclusive es un múltiplo de ocho (se pretende que sea la misma regla que la " -"utilizada por Unix). El número total de espacios que preceden al primer " -"carácter no en blanco determina entonces la sangría de la línea. La sangría " -"no puede dividirse en múltiples líneas físicas utilizando barras invertidas; " -"el espacio en blanco hasta la primera barra invertida determina la sangría." +"total number of characters up to and including the replacement is a multiple of " +"eight (this is intended to be the same rule as used by Unix). The total number " +"of spaces preceding the first non-blank character then determines the line's " +"indentation. Indentation cannot be split over multiple physical lines using " +"backslashes; the whitespace up to the first backslash determines the " +"indentation." +msgstr "" +"Los tabuladores se sustituyen (de izquierda a derecha) por uno a ocho espacios, " +"de manera que el número total de caracteres hasta el reemplazo inclusive es un " +"múltiplo de ocho (se pretende que sea la misma regla que la utilizada por " +"Unix). El número total de espacios que preceden al primer carácter no en " +"blanco determina entonces la sangría de la línea. La sangría no puede " +"dividirse en múltiples líneas físicas utilizando barras invertidas; el espacio " +"en blanco hasta la primera barra invertida determina la sangría." #: ../Doc/reference/lexical_analysis.rst:188 msgid "" -"Indentation is rejected as inconsistent if a source file mixes tabs and " -"spaces in a way that makes the meaning dependent on the worth of a tab in " -"spaces; a :exc:`TabError` is raised in that case." +"Indentation is rejected as inconsistent if a source file mixes tabs and spaces " +"in a way that makes the meaning dependent on the worth of a tab in spaces; a :" +"exc:`TabError` is raised in that case." msgstr "" "La indentación se rechaza como inconsistente si un archivo fuente mezcla " -"tabulaciones y espacios de manera que el significado depende del valor de " -"una tabulación en los espacios; un :exc:`TabError` se produce en ese caso." +"tabulaciones y espacios de manera que el significado depende del valor de una " +"tabulación en los espacios; un :exc:`TabError` se produce en ese caso." #: ../Doc/reference/lexical_analysis.rst:192 msgid "" -"**Cross-platform compatibility note:** because of the nature of text editors " -"on non-UNIX platforms, it is unwise to use a mixture of spaces and tabs for " -"the indentation in a single source file. It should also be noted that " -"different platforms may explicitly limit the maximum indentation level." +"**Cross-platform compatibility note:** because of the nature of text editors on " +"non-UNIX platforms, it is unwise to use a mixture of spaces and tabs for the " +"indentation in a single source file. It should also be noted that different " +"platforms may explicitly limit the maximum indentation level." msgstr "" "**Nota de compatibilidad entre plataformas:** debido a la naturaleza de los " -"editores de texto en plataformas que no sean UNIX, no es aconsejable " -"utilizar una mezcla de espacios y tabuladores para la sangría en un solo " -"archivo de origen. También debe tenerse en cuenta que las diferentes " -"plataformas pueden limitar explícitamente el nivel máximo de sangría." +"editores de texto en plataformas que no sean UNIX, no es aconsejable utilizar " +"una mezcla de espacios y tabuladores para la sangría en un solo archivo de " +"origen. También debe tenerse en cuenta que las diferentes plataformas pueden " +"limitar explícitamente el nivel máximo de sangría." #: ../Doc/reference/lexical_analysis.rst:197 msgid "" "A formfeed character may be present at the start of the line; it will be " -"ignored for the indentation calculations above. Formfeed characters " -"occurring elsewhere in the leading whitespace have an undefined effect (for " -"instance, they may reset the space count to zero)." +"ignored for the indentation calculations above. Formfeed characters occurring " +"elsewhere in the leading whitespace have an undefined effect (for instance, " +"they may reset the space count to zero)." msgstr "" "Un carácter *formfeed* puede estar presente al comienzo de la línea; será " "ignorado para los cálculos de sangría anteriores. Los caracteres *formfeed* " @@ -371,29 +372,28 @@ msgid "" "Before the first line of the file is read, a single zero is pushed on the " "stack; this will never be popped off again. The numbers pushed on the stack " "will always be strictly increasing from bottom to top. At the beginning of " -"each logical line, the line's indentation level is compared to the top of " -"the stack. If it is equal, nothing happens. If it is larger, it is pushed on " -"the stack, and one INDENT token is generated. If it is smaller, it *must* " -"be one of the numbers occurring on the stack; all numbers on the stack that " -"are larger are popped off, and for each number popped off a DEDENT token is " -"generated. At the end of the file, a DEDENT token is generated for each " -"number remaining on the stack that is larger than zero." -msgstr "" -"Antes de que se lea la primera línea del archivo, se empuja un solo cero en " -"la pila; esto no volverá a saltar. Los números empujados en la pila siempre " -"irán aumentando estrictamente de abajo hacia arriba. Al principio de cada " -"línea lógica, el nivel de sangría de la línea se compara con la parte " -"superior de la pila. Si es igual, no pasa nada. Si es mayor, se empuja en la " -"pila, y se genera un token INDENT. Si es más pequeño, *debe* ser uno de los " -"números de la pila; todos los números de la pila que son más grandes se " -"sacan, y por cada número sacado se genera un token DEDENT. Al final del " -"archivo, se genera un token DEDENT por cada número restante de la pila que " -"sea mayor que cero." +"each logical line, the line's indentation level is compared to the top of the " +"stack. If it is equal, nothing happens. If it is larger, it is pushed on the " +"stack, and one INDENT token is generated. If it is smaller, it *must* be one " +"of the numbers occurring on the stack; all numbers on the stack that are larger " +"are popped off, and for each number popped off a DEDENT token is generated. At " +"the end of the file, a DEDENT token is generated for each number remaining on " +"the stack that is larger than zero." +msgstr "" +"Antes de que se lea la primera línea del archivo, se empuja un solo cero en la " +"pila; esto no volverá a saltar. Los números empujados en la pila siempre irán " +"aumentando estrictamente de abajo hacia arriba. Al principio de cada línea " +"lógica, el nivel de sangría de la línea se compara con la parte superior de la " +"pila. Si es igual, no pasa nada. Si es mayor, se empuja en la pila, y se genera " +"un token INDENT. Si es más pequeño, *debe* ser uno de los números de la pila; " +"todos los números de la pila que son más grandes se sacan, y por cada número " +"sacado se genera un token DEDENT. Al final del archivo, se genera un token " +"DEDENT por cada número restante de la pila que sea mayor que cero." #: ../Doc/reference/lexical_analysis.rst:218 msgid "" -"Here is an example of a correctly (though confusingly) indented piece of " -"Python code::" +"Here is an example of a correctly (though confusingly) indented piece of Python " +"code::" msgstr "" "Aquí hay un ejemplo de un código de Python con una correcta (aunque no tan " "clara) sangría::" @@ -412,6 +412,17 @@ msgid "" " r.append(l[i:i+1] + x)\n" " return r" msgstr "" +"def perm(l):\n" +" # Calcular la lista de todas las permutaciones de l\n" +" if len(l) <= 1:\n" +" return [l]\n" +" r = []\n" +" for i in range(len(l)):\n" +" s = l[:i] + l[i+1:]\n" +" p = perm(s)\n" +" for x in p:\n" +" r.append(l[i:i+1] + x)\n" +" return r" #: ../Doc/reference/lexical_analysis.rst:233 msgid "The following example shows various indentation errors::" @@ -427,16 +438,24 @@ msgid "" " r.append(l[i:i+1] + x)\n" " return r # error: inconsistent dedent" msgstr "" +" def perm(l): # error: first line indented\n" +"for i in range(len(l)): # error: not indented\n" +" s = l[:i] + l[i+1:]\n" +" p = perm(l[:i] + l[i+1:]) # error: unexpected indent\n" +" for x in p:\n" +" r.append(l[i:i+1] + x)\n" +" return r # error: inconsistent dedent" +#: ../Doc/reference/lexical_analysis.rst:235 #: ../Doc/reference/lexical_analysis.rst:243 msgid "" "(Actually, the first three errors are detected by the parser; only the last " -"error is found by the lexical analyzer --- the indentation of ``return r`` " -"does not match a level popped off the stack.)" +"error is found by the lexical analyzer --- the indentation of ``return r`` does " +"not match a level popped off the stack.)" msgstr "" -"(En realidad, los tres primeros errores son detectados por el analizador; " -"sólo el último error es encontrado por el analizador léxico --- la sangría " -"de ``return r`` no coincide con un nivel sacado de la pila.)" +"(En realidad, los tres primeros errores son detectados por el analizador; sólo " +"el último error es encontrado por el analizador léxico --- la sangría de " +"``return r`` no coincide con un nivel sacado de la pila.)" #: ../Doc/reference/lexical_analysis.rst:251 msgid "Whitespace between tokens" @@ -444,18 +463,18 @@ msgstr "Espacios en blanco entre tokens" #: ../Doc/reference/lexical_analysis.rst:253 msgid "" -"Except at the beginning of a logical line or in string literals, the " -"whitespace characters space, tab and formfeed can be used interchangeably to " -"separate tokens. Whitespace is needed between two tokens only if their " -"concatenation could otherwise be interpreted as a different token (e.g., ab " -"is one token, but a b is two tokens)." +"Except at the beginning of a logical line or in string literals, the whitespace " +"characters space, tab and formfeed can be used interchangeably to separate " +"tokens. Whitespace is needed between two tokens only if their concatenation " +"could otherwise be interpreted as a different token (e.g., ab is one token, but " +"a b is two tokens)." msgstr "" -"A excepción del comienzo de una línea lógica o en los literales de cadenas, " -"los caracteres de espacio en blanco, tabulación y formfeed pueden utilizarse " -"indistintamente para separar tokens. Los espacios en blanco se necesitan " -"entre dos tokens sólo si su concatenación podría interpretarse de otra " -"manera como un token diferente (por ejemplo, ab es un token, pero a b " -"corresponde a dos tokens)." +"A excepción del comienzo de una línea lógica o en los literales de cadenas, los " +"caracteres de espacio en blanco, tabulación y formfeed pueden utilizarse " +"indistintamente para separar tokens. Los espacios en blanco se necesitan entre " +"dos tokens sólo si su concatenación podría interpretarse de otra manera como un " +"token diferente (por ejemplo, ab es un token, pero a b corresponde a dos " +"tokens)." #: ../Doc/reference/lexical_analysis.rst:263 msgid "Other tokens" @@ -463,21 +482,21 @@ msgstr "Otros tokens" #: ../Doc/reference/lexical_analysis.rst:265 msgid "" -"Besides NEWLINE, INDENT and DEDENT, the following categories of tokens " -"exist: *identifiers*, *keywords*, *literals*, *operators*, and *delimiters*. " -"Whitespace characters (other than line terminators, discussed earlier) are " -"not tokens, but serve to delimit tokens. Where ambiguity exists, a token " -"comprises the longest possible string that forms a legal token, when read " -"from left to right." +"Besides NEWLINE, INDENT and DEDENT, the following categories of tokens exist: " +"*identifiers*, *keywords*, *literals*, *operators*, and *delimiters*. " +"Whitespace characters (other than line terminators, discussed earlier) are not " +"tokens, but serve to delimit tokens. Where ambiguity exists, a token comprises " +"the longest possible string that forms a legal token, when read from left to " +"right." msgstr "" "Además de NEWLINE, INDENT y DEDENT, existen las siguientes categorías de " "fichas: *identifiers* (identificadores), *keywords* (palabras clave), " "*literals* (literales), *operators* (operadores) y *delimiters* " "(delimitadores). Los caracteres de espacio en blanco (distintos de los " "terminadores de línea, discutidos anteriormente) no son tokens, pero sirven " -"para delimitarlos. En los casos en que exista ambigüedad, un token comprende " -"la cadena más larga posible que forma un token legal cuando se lee de " -"izquierda a derecha." +"para delimitarlos. En los casos en que exista ambigüedad, un token comprende la " +"cadena más larga posible que forma un token legal cuando se lee de izquierda a " +"derecha." #: ../Doc/reference/lexical_analysis.rst:275 msgid "Identifiers and keywords" @@ -488,25 +507,25 @@ msgid "" "Identifiers (also referred to as *names*) are described by the following " "lexical definitions." msgstr "" -"Los identificadores (también denominados *nombres*) se describen mediante " -"las siguientes definiciones léxicas." +"Los identificadores (también denominados *nombres*) se describen mediante las " +"siguientes definiciones léxicas." #: ../Doc/reference/lexical_analysis.rst:282 msgid "" "The syntax of identifiers in Python is based on the Unicode standard annex " -"UAX-31, with elaboration and changes as defined below; see also :pep:`3131` " -"for further details." +"UAX-31, with elaboration and changes as defined below; see also :pep:`3131` for " +"further details." msgstr "" "La sintaxis de los identificadores en Python se basa en el anexo estándar de " -"Unicode UAX-31, con la elaboración y los cambios que se definen a " -"continuación; ver también :pep:`3131` para más detalles." +"Unicode UAX-31, con la elaboración y los cambios que se definen a continuación; " +"ver también :pep:`3131` para más detalles." #: ../Doc/reference/lexical_analysis.rst:286 msgid "" -"Within the ASCII range (U+0001..U+007F), the valid characters for " -"identifiers are the same as in Python 2.x: the uppercase and lowercase " -"letters ``A`` through ``Z``, the underscore ``_`` and, except for the first " -"character, the digits ``0`` through ``9``." +"Within the ASCII range (U+0001..U+007F), the valid characters for identifiers " +"are the same as in Python 2.x: the uppercase and lowercase letters ``A`` " +"through ``Z``, the underscore ``_`` and, except for the first character, the " +"digits ``0`` through ``9``." msgstr "" "Dentro del rango ASCII (U+0001..U+007F), los caracteres válidos para los " "identificadores son los mismos que en Python 2.x: las letras mayúsculas y " @@ -515,14 +534,13 @@ msgstr "" #: ../Doc/reference/lexical_analysis.rst:291 msgid "" -"Python 3.0 introduces additional characters from outside the ASCII range " -"(see :pep:`3131`). For these characters, the classification uses the " -"version of the Unicode Character Database as included in the :mod:" -"`unicodedata` module." +"Python 3.0 introduces additional characters from outside the ASCII range (see :" +"pep:`3131`). For these characters, the classification uses the version of the " +"Unicode Character Database as included in the :mod:`unicodedata` module." msgstr "" "Python 3.0 introduce caracteres adicionales fuera del rango ASCII (ver :pep:" -"`3131`). Para estos caracteres, la clasificación utiliza la versión de la " -"base de datos de caracteres Unicode incluida en el módulo :mod:`unicodedata`." +"`3131`). Para estos caracteres, la clasificación utiliza la versión de la base " +"de datos de caracteres Unicode incluida en el módulo :mod:`unicodedata`." #: ../Doc/reference/lexical_analysis.rst:295 msgid "Identifiers are unlimited in length. Case is significant." @@ -576,15 +594,13 @@ msgid "*Pc* - connector punctuations" msgstr "*Pc* - puntuaciones conectoras" #: ../Doc/reference/lexical_analysis.rst:316 -#, fuzzy msgid "" "*Other_ID_Start* - explicit list of characters in `PropList.txt `_ to support backwards " -"compatibility" +"unicode.org/Public/15.1.0/ucd/PropList.txt>`_ to support backwards compatibility" msgstr "" -"*Other_ID_Start*: lista explícita de caracteres en `PropList.txt `_ para admitir la " -"compatibilidad con versiones anteriores" +"*Other_ID_Start*: lista explícita de caracteres en `PropList.txt `_ para admitir la compatibilidad " +"con versiones anteriores" #: ../Doc/reference/lexical_analysis.rst:319 msgid "*Other_ID_Continue* - likewise" @@ -599,15 +615,14 @@ msgstr "" "analizan; la comparación de los identificadores se basa en NFKC." #: ../Doc/reference/lexical_analysis.rst:324 -#, fuzzy msgid "" -"A non-normative HTML file listing all valid identifier characters for " -"Unicode 15.1.0 can be found at https://www.unicode.org/Public/15.1.0/ucd/" +"A non-normative HTML file listing all valid identifier characters for Unicode " +"15.1.0 can be found at https://www.unicode.org/Public/15.1.0/ucd/" "DerivedCoreProperties.txt" msgstr "" -"Puede encontrar un archivo HTML no normativo que enumera todos los " -"caracteres de identificación válidos para Unicode 14.0.0 en https://www." -"unicode.org/Public/14.0.0/ucd/DerivedCoreProperties.txt" +"Puede encontrar un archivo HTML no normativo que enumera todos los caracteres " +"de identificación válidos para Unicode 15.1.0 en https://www.unicode.org/" +"Public/15.1.0/ucd/DerivedCoreProperties.txt" #: ../Doc/reference/lexical_analysis.rst:332 msgid "Keywords" @@ -633,46 +648,51 @@ msgid "" "assert del global not with\n" "async elif if or yield" msgstr "" +"False await else import pass\n" +"None break except in raise\n" +"True class finally is return\n" +"and continue for lambda try\n" +"as def from nonlocal while\n" +"assert del global not with\n" +"async elif if or yield" #: ../Doc/reference/lexical_analysis.rst:356 msgid "Soft Keywords" msgstr "Palabras clave suaves" #: ../Doc/reference/lexical_analysis.rst:362 -#, fuzzy msgid "" -"Some identifiers are only reserved under specific contexts. These are known " -"as *soft keywords*. The identifiers ``match``, ``case``, ``type`` and ``_`` " -"can syntactically act as keywords in certain contexts, but this distinction " -"is done at the parser level, not when tokenizing." +"Some identifiers are only reserved under specific contexts. These are known as " +"*soft keywords*. The identifiers ``match``, ``case``, ``type`` and ``_`` can " +"syntactically act as keywords in certain contexts, but this distinction is done " +"at the parser level, not when tokenizing." msgstr "" -"Algunos identificadores solo están reservados en contextos específicos. " -"Estos se conocen como *palabras clave suaves*. Los identificadores " -"``match``, ``case`` y ``_`` pueden actuar sintácticamente como palabras " -"clave en contextos relacionados con la declaración de coincidencia de " -"patrones, pero esta distinción se realiza en el nivel del analizador, no " -"cuando se tokeniza." +"Algunos identificadores solo están reservados en contextos específicos. Estos " +"se conocen como *palabras clave suaves*. Los identificadores ``match``, " +"``case``, ``type`` y ``_`` pueden actuar sintácticamente como palabras clave en " +"ciertos contextos, pero esta distinción se realiza en el nivel del analizador, " +"no cuando se tokeniza." #: ../Doc/reference/lexical_analysis.rst:367 -#, fuzzy msgid "" -"As soft keywords, their use in the grammar is possible while still " -"preserving compatibility with existing code that uses these names as " -"identifier names." +"As soft keywords, their use in the grammar is possible while still preserving " +"compatibility with existing code that uses these names as identifier names." msgstr "" -"Como palabras clave suaves, su uso con la coincidencia de patrones es " -"posible sin dejar de preservar la compatibilidad con el código existente que " -"usa ``match``, ``case`` y ``_`` como nombres de identificadores." +"Como palabras clave suaves, su uso en la gramática es posible sin dejar de " +"preservar la compatibilidad con el código existente que usa esos nombres como " +"nombres de identificadores." #: ../Doc/reference/lexical_analysis.rst:371 msgid "" "``match``, ``case``, and ``_`` are used in the :keyword:`match` statement. " "``type`` is used in the :keyword:`type` statement." msgstr "" +"``match``, ``case``, y ``_`` se usan en la declaración :keyword:`match`. " +"``type`` se usa en la declaración :keyword:`type`." #: ../Doc/reference/lexical_analysis.rst:374 msgid "``type`` is now a soft keyword." -msgstr "" +msgstr "``type`` ahora es un palabra clave suave." #: ../Doc/reference/lexical_analysis.rst:383 msgid "Reserved classes of identifiers" @@ -680,13 +700,13 @@ msgstr "Clases reservadas de identificadores" #: ../Doc/reference/lexical_analysis.rst:385 msgid "" -"Certain classes of identifiers (besides keywords) have special meanings. " -"These classes are identified by the patterns of leading and trailing " -"underscore characters:" +"Certain classes of identifiers (besides keywords) have special meanings. These " +"classes are identified by the patterns of leading and trailing underscore " +"characters:" msgstr "" "Ciertas clases de identificadores (además de las palabras clave) tienen " -"significados especiales. Estas clases se identifican por los patrones de " -"los caracteres de guión bajo que van delante y detrás:" +"significados especiales. Estas clases se identifican por los patrones de los " +"caracteres de guión bajo que van delante y detrás:" #: ../Doc/reference/lexical_analysis.rst:390 msgid "``_*``" @@ -706,33 +726,33 @@ msgid "" "`soft keyword ` that denotes a :ref:`wildcard `." msgstr "" -"En un patrón ``case`` dentro de una declaración :keyword:`match`, ``_`` es " -"una :ref:`palabra clave suave ` que denota un comodín :ref:" -"`wildcard `." +"En un patrón ``case`` dentro de una declaración :keyword:`match`, ``_`` es una :" +"ref:`palabra clave suave ` que denota un comodín :ref:`wildcard " +"`." #: ../Doc/reference/lexical_analysis.rst:397 msgid "" -"Separately, the interactive interpreter makes the result of the last " -"evaluation available in the variable ``_``. (It is stored in the :mod:" -"`builtins` module, alongside built-in functions like ``print``.)" +"Separately, the interactive interpreter makes the result of the last evaluation " +"available in the variable ``_``. (It is stored in the :mod:`builtins` module, " +"alongside built-in functions like ``print``.)" msgstr "" -"Por separado, el intérprete interactivo pone a disposición el resultado de " -"la última evaluación en la variable ``_``. (Se almacena en el módulo :mod:" +"Por separado, el intérprete interactivo pone a disposición el resultado de la " +"última evaluación en la variable ``_``. (Se almacena en el módulo :mod:" "`builtins`, junto con funciones incorporadas como ``print``)." #: ../Doc/reference/lexical_analysis.rst:402 msgid "" -"Elsewhere, ``_`` is a regular identifier. It is often used to name " -"\"special\" items, but it is not special to Python itself." +"Elsewhere, ``_`` is a regular identifier. It is often used to name \"special\" " +"items, but it is not special to Python itself." msgstr "" "En otros lugares, ``_`` es un identificador regular. A menudo se usa para " "nombrar elementos \"especiales\", pero no es especial para Python en sí." #: ../Doc/reference/lexical_analysis.rst:407 msgid "" -"The name ``_`` is often used in conjunction with internationalization; refer " -"to the documentation for the :mod:`gettext` module for more information on " -"this convention." +"The name ``_`` is often used in conjunction with internationalization; refer to " +"the documentation for the :mod:`gettext` module for more information on this " +"convention." msgstr "" "El nombre ``_`` se usa a menudo en conjunción con la internacionalización; " "consultar la documentación del módulo :mod:`gettext`` para más información " @@ -750,17 +770,17 @@ msgstr "``__*__``" msgid "" "System-defined names, informally known as \"dunder\" names. These names are " "defined by the interpreter and its implementation (including the standard " -"library). Current system names are discussed in the :ref:`specialnames` " -"section and elsewhere. More will likely be defined in future versions of " -"Python. *Any* use of ``__*__`` names, in any context, that does not follow " -"explicitly documented use, is subject to breakage without warning." +"library). Current system names are discussed in the :ref:`specialnames` section " +"and elsewhere. More will likely be defined in future versions of Python. *Any* " +"use of ``__*__`` names, in any context, that does not follow explicitly " +"documented use, is subject to breakage without warning." msgstr "" "Nombres definidos por el sistema, conocidos informalmente como nombres " "\"*dunder*\". Estos nombres son definidos por el intérprete y su aplicación " -"(incluida la biblioteca estándar). Los nombres actuales del sistema se " -"discuten en la sección :ref:`specialnames` y en otros lugares. Es probable " -"que se definan más en futuras versiones de Python. *Cualquier* uso de " -"nombres ``__*__``, en cualquier contexto, que no siga un uso explícitamente " +"(incluida la biblioteca estándar). Los nombres actuales del sistema se discuten " +"en la sección :ref:`specialnames` y en otros lugares. Es probable que se " +"definan más en futuras versiones de Python. *Cualquier* uso de nombres " +"``__*__``, en cualquier contexto, que no siga un uso explícitamente " "documentado, está sujeto a que se rompa sin previo aviso." #: ../Doc/reference/lexical_analysis.rst:426 @@ -769,16 +789,16 @@ msgstr "``__*``" #: ../Doc/reference/lexical_analysis.rst:422 msgid "" -"Class-private names. Names in this category, when used within the context " -"of a class definition, are re-written to use a mangled form to help avoid " -"name clashes between \"private\" attributes of base and derived classes. See " +"Class-private names. Names in this category, when used within the context of a " +"class definition, are re-written to use a mangled form to help avoid name " +"clashes between \"private\" attributes of base and derived classes. See " "section :ref:`atom-identifiers`." msgstr "" -"Nombres de clase privada. Los nombres de esta categoría, cuando se utilizan " -"en el contexto de una definición de clase, se reescriben para utilizar una " -"forma desfigurada que ayude a evitar conflictos de nombres entre los " -"atributos \"privados\" de las clases base y derivadas. Ver la sección :ref:" -"`atom-identifiers`." +"Nombres de clase privada. Los nombres de esta categoría, cuando se utilizan en " +"el contexto de una definición de clase, se reescriben para utilizar una forma " +"desfigurada que ayude a evitar conflictos de nombres entre los atributos " +"\"privados\" de las clases base y derivadas. Ver la sección :ref:`atom-" +"identifiers`." #: ../Doc/reference/lexical_analysis.rst:431 msgid "Literals" @@ -802,12 +822,11 @@ msgstr "" #: ../Doc/reference/lexical_analysis.rst:473 msgid "" -"One syntactic restriction not indicated by these productions is that " -"whitespace is not allowed between the :token:`~python-grammar:stringprefix` " -"or :token:`~python-grammar:bytesprefix` and the rest of the literal. The " -"source character set is defined by the encoding declaration; it is UTF-8 if " -"no encoding declaration is given in the source file; see section :ref:" -"`encodings`." +"One syntactic restriction not indicated by these productions is that whitespace " +"is not allowed between the :token:`~python-grammar:stringprefix` or :token:" +"`~python-grammar:bytesprefix` and the rest of the literal. The source character " +"set is defined by the encoding declaration; it is UTF-8 if no encoding " +"declaration is given in the source file; see section :ref:`encodings`." msgstr "" "Una restricción sintáctica no indicada por estas producciones es que no se " "permiten espacios en blanco entre :token:`~python-grammar:stringprefix` o :" @@ -817,54 +836,53 @@ msgstr "" "fuente; ver apartado :ref:`encodings`." #: ../Doc/reference/lexical_analysis.rst:483 -#, fuzzy msgid "" "In plain English: Both types of literals can be enclosed in matching single " "quotes (``'``) or double quotes (``\"``). They can also be enclosed in " -"matching groups of three single or double quotes (these are generally " -"referred to as *triple-quoted strings*). The backslash (``\\``) character is " -"used to give special meaning to otherwise ordinary characters like ``n``, " -"which means 'newline' when escaped (``\\n``). It can also be used to escape " -"characters that otherwise have a special meaning, such as newline, backslash " -"itself, or the quote character. See :ref:`escape sequences ` below for examples." -msgstr "" -"En lenguaje claro y sencillo: ambos tipos de literales pueden ser encerrados " +"matching groups of three single or double quotes (these are generally referred " +"to as *triple-quoted strings*). The backslash (``\\``) character is used to " +"give special meaning to otherwise ordinary characters like ``n``, which means " +"'newline' when escaped (``\\n``). It can also be used to escape characters that " +"otherwise have a special meaning, such as newline, backslash itself, or the " +"quote character. See :ref:`escape sequences ` below for " +"examples." +msgstr "" +"En lenguaje claro y sencillo: Ambos tipos de literales pueden ser encerrados " "entre comillas simples (``'``) o dobles (``\"``). También pueden estar " -"encerrados en grupos de tres comillas simples o dobles (a las que " -"generalmente se les llama *cadenas de tres comillas*). El carácter de la " -"barra inversa (``\\``) se utiliza para escapar de los caracteres que de otra " -"manera tienen un significado especial, como la línea nueva, la barra inversa " -"en sí misma, o el carácter de comillas." +"encerrados en grupos de tres comillas simples o dobles (a las que generalmente " +"se les llama *cadenas de tres comillas*). El carácter de la barra inversa " +"(``\\``) se utiliza para dar un significado especial a caracteres que de otra " +"manera son ordinarios, como ``n``, lo que significa 'línea nueva' cuando se " +"escapa (``\\n``). También se utiliza para escapar caracteres que de otra " +"manera tienen un significado especial como la linea nueva, la barra inversa en " +"sí misma, o el carácter de comillas. Consulte :ref:`escape sequences ` a continuación para más ejemplos." #: ../Doc/reference/lexical_analysis.rst:496 msgid "" "Bytes literals are always prefixed with ``'b'`` or ``'B'``; they produce an " -"instance of the :class:`bytes` type instead of the :class:`str` type. They " -"may only contain ASCII characters; bytes with a numeric value of 128 or " -"greater must be expressed with escapes." +"instance of the :class:`bytes` type instead of the :class:`str` type. They may " +"only contain ASCII characters; bytes with a numeric value of 128 or greater " +"must be expressed with escapes." msgstr "" -"Los literales de bytes siempre se prefijan con ``'b'`` o ``'B'``; producen " -"una instancia del tipo :class:`bytes` en lugar del tipo :class:`str`. Sólo " -"pueden contener caracteres ASCII; los bytes con un valor numérico de 128 o " -"mayor deben ser expresados con escapes." +"Los literales de bytes siempre se prefijan con ``'b'`` o ``'B'``; producen una " +"instancia del tipo :class:`bytes` en lugar del tipo :class:`str`. Sólo pueden " +"contener caracteres ASCII; los bytes con un valor numérico de 128 o mayor deben " +"ser expresados con escapes." #: ../Doc/reference/lexical_analysis.rst:505 -#, fuzzy -msgid "" -"Both string and bytes literals may optionally be prefixed with a letter " -"``'r'`` or ``'R'``; such constructs are called :dfn:`raw string literals` " -"and :dfn:`raw bytes literals` respectively and treat backslashes as literal " -"characters. As a result, in raw string literals, ``'\\U'`` and ``'\\u'`` " -"escapes are not treated specially." -msgstr "" -"Tanto los literales de cadena como de bytes pueden ser prefijados con una " -"letra ``'r'`` o ``'R'``; tales cadenas se llaman :dfn:`raw strings` y " -"consideran las barras inversas como caracteres literales. Como resultado, " -"en las cadenas literales, los escapes de ``'\\U'`` y ``'\\u'`` en las " -"cadenas sin procesar no son tratados de manera especial. Dado que los " -"literales *raw* de unicode de Python 2.x se comportan de manera diferente a " -"los de Python 3.x, la sintaxis de ``'ur'`` no está soportada." +msgid "" +"Both string and bytes literals may optionally be prefixed with a letter ``'r'`` " +"or ``'R'``; such constructs are called :dfn:`raw string literals` and :dfn:`raw " +"bytes literals` respectively and treat backslashes as literal characters. As a " +"result, in raw string literals, ``'\\U'`` and ``'\\u'`` escapes are not treated " +"specially." +msgstr "" +"Tanto los literales de cadena como de bytes pueden ser prefijados con una letra " +"``'r'`` o ``'R'``; tales cadenas se llaman :dfn:`raw string literals` y :dfn:" +"`raw bytes literals` respectivamente y consideran las barras inversas como " +"caracteres literales. Como resultado, en las cadenas literales sin formato, " +"los escapes de ``'\\U'`` y ``'\\u'`` no son tratados de manera especial." #: ../Doc/reference/lexical_analysis.rst:511 msgid "" @@ -877,52 +895,50 @@ msgstr "" #: ../Doc/reference/lexical_analysis.rst:515 msgid "" "Support for the unicode legacy literal (``u'value'``) was reintroduced to " -"simplify the maintenance of dual Python 2.x and 3.x codebases. See :pep:" -"`414` for more information." +"simplify the maintenance of dual Python 2.x and 3.x codebases. See :pep:`414` " +"for more information." msgstr "" "Se reintrodujo el soporte para el legado unicode literal (``u'value'``) para " -"simplificar el mantenimiento de las bases de código dual Python 2.x y 3.x. " -"Ver :pep:`414` para más información." +"simplificar el mantenimiento de las bases de código dual Python 2.x y 3.x. Ver :" +"pep:`414` para más información." #: ../Doc/reference/lexical_analysis.rst:523 msgid "" "A string literal with ``'f'`` or ``'F'`` in its prefix is a :dfn:`formatted " "string literal`; see :ref:`f-strings`. The ``'f'`` may be combined with " -"``'r'``, but not with ``'b'`` or ``'u'``, therefore raw formatted strings " -"are possible, but formatted bytes literals are not." +"``'r'``, but not with ``'b'`` or ``'u'``, therefore raw formatted strings are " +"possible, but formatted bytes literals are not." msgstr "" -"Un literal de cadena con ``'f'`` o ``'F'`` en su prefijo es un :dfn:" -"`formatted string literal`; ver :ref:`f-strings`. La ``'f'`` puede " -"combinarse con la ``'r'``, pero no con la ``'b'`` o ``'u'``, por lo que las " -"cadenas *raw* formateadas son posibles, pero los literales de bytes " -"formateados no lo son." +"Un literal de cadena con ``'f'`` o ``'F'`` en su prefijo es un :dfn:`formatted " +"string literal`; ver :ref:`f-strings`. La ``'f'`` puede combinarse con la " +"``'r'``, pero no con la ``'b'`` o ``'u'``, por lo que las cadenas *raw* " +"formateadas son posibles, pero los literales de bytes formateados no lo son." #: ../Doc/reference/lexical_analysis.rst:528 msgid "" -"In triple-quoted literals, unescaped newlines and quotes are allowed (and " -"are retained), except that three unescaped quotes in a row terminate the " -"literal. (A \"quote\" is the character used to open the literal, i.e. " -"either ``'`` or ``\"``.)" +"In triple-quoted literals, unescaped newlines and quotes are allowed (and are " +"retained), except that three unescaped quotes in a row terminate the literal. " +"(A \"quote\" is the character used to open the literal, i.e. either ``'`` or " +"``\"``.)" msgstr "" "En los literales de triple cita, se permiten (y se retienen) nuevas líneas y " -"citas no escapadas, excepto cuando tres citas no escapadas seguidas " -"finalizan el literal. (Una \"cita\" es el carácter utilizado para abrir el " -"literal, es decir, ya sea ``'`` o ``\"``.)" +"citas no escapadas, excepto cuando tres citas no escapadas seguidas finalizan " +"el literal. (Una \"cita\" es el carácter utilizado para abrir el literal, es " +"decir, ya sea ``'`` o ``\"``.)" #: ../Doc/reference/lexical_analysis.rst:551 -#, fuzzy msgid "Escape sequences" -msgstr "Secuencia de escape" +msgstr "Secuencias de escape" #: ../Doc/reference/lexical_analysis.rst:553 msgid "" -"Unless an ``'r'`` or ``'R'`` prefix is present, escape sequences in string " -"and bytes literals are interpreted according to rules similar to those used " -"by Standard C. The recognized escape sequences are:" +"Unless an ``'r'`` or ``'R'`` prefix is present, escape sequences in string and " +"bytes literals are interpreted according to rules similar to those used by " +"Standard C. The recognized escape sequences are:" msgstr "" "A menos que un prefijo ``'r'`` o ``'R'`` esté presente, las secuencias de " -"escape en literales de cadena y bytes se interpretan según reglas similares " -"a las usadas por C estándar. Las secuencias de escape reconocidas son:" +"escape en literales de cadena y bytes se interpretan según reglas similares a " +"las usadas por C estándar. Las secuencias de escape reconocidas son:" #: ../Doc/reference/lexical_analysis.rst:558 #: ../Doc/reference/lexical_analysis.rst:591 @@ -1033,7 +1049,7 @@ msgstr "ASCII Sangría vertical (VT)" #: ../Doc/reference/lexical_analysis.rst:582 msgid ":samp:`\\\\\\\\{ooo}`" -msgstr "" +msgstr ":samp:`\\\\\\\\{ooo}`" #: ../Doc/reference/lexical_analysis.rst:582 msgid "Character with octal value *ooo*" @@ -1045,7 +1061,7 @@ msgstr "(2,4)" #: ../Doc/reference/lexical_analysis.rst:585 msgid ":samp:`\\\\x{hh}`" -msgstr "" +msgstr ":samp:`\\\\x{hh}`" #: ../Doc/reference/lexical_analysis.rst:585 msgid "Character with hex value *hh*" @@ -1058,12 +1074,11 @@ msgstr "(3,4)" #: ../Doc/reference/lexical_analysis.rst:588 msgid "Escape sequences only recognized in string literals are:" msgstr "" -"Las secuencias de escape que sólo se reconocen en los literales de cadena " -"son:" +"Las secuencias de escape que sólo se reconocen en los literales de cadena son:" #: ../Doc/reference/lexical_analysis.rst:593 msgid ":samp:`\\\\N\\\\{{name}\\\\}`" -msgstr "" +msgstr ":samp:`\\\\N\\\\{{name}\\\\}`" #: ../Doc/reference/lexical_analysis.rst:593 msgid "Character named *name* in the Unicode database" @@ -1075,7 +1090,7 @@ msgstr "\\(5)" #: ../Doc/reference/lexical_analysis.rst:596 msgid ":samp:`\\\\u{xxxx}`" -msgstr "" +msgstr ":samp:`\\\\u{xxxx}`" #: ../Doc/reference/lexical_analysis.rst:596 msgid "Character with 16-bit hex value *xxxx*" @@ -1086,9 +1101,8 @@ msgid "\\(6)" msgstr "\\(6)" #: ../Doc/reference/lexical_analysis.rst:599 -#, fuzzy msgid ":samp:`\\\\U{xxxxxxxx}`" -msgstr "``\\Uxxxxxxxx``" +msgstr ":samp:`\\\\U{xxxxxxxx}`" #: ../Doc/reference/lexical_analysis.rst:599 msgid "Character with 32-bit hex value *xxxxxxxx*" @@ -1114,12 +1128,14 @@ msgid "" "... backslashes or newline characters.'\n" "'This string will not include backslashes or newline characters.'" msgstr "" +">>> 'Esta cadena no incluirá \\\n" +"... caracteres de barra invertida o nueva linea.'\n" +"'Esta cadena no incluirá caracteres de barra invertida o nueva linea.'" #: ../Doc/reference/lexical_analysis.rst:612 msgid "" -"The same result can be achieved using :ref:`triple-quoted strings " -"`, or parentheses and :ref:`string literal concatenation `." +"The same result can be achieved using :ref:`triple-quoted strings `, " +"or parentheses and :ref:`string literal concatenation `." msgstr "" "Se puede lograr el mismo resultado usando :ref:`triple-quoted strings " "`, o paréntesis y :ref:`string literal concatenation >> f\"abc{a # Es un comentario }\"\n" +"... + 3}\"\n" +"'abc5'" #: ../Doc/reference/lexical_analysis.rst:764 msgid "" @@ -1370,33 +1383,34 @@ msgid "" "formatted string literals due to a problem with the implementation." msgstr "" "Antes de Python 3.7, una expresión :keyword:`await` y comprensiones que " -"contenían una cláusula :keyword:`async for` eran ilegales en las expresiones " -"en literales de cadenas formateadas debido a un problema con la " -"implementación." +"contenían una cláusula :keyword:`async for` eran ilegales en las expresiones en " +"literales de cadenas formateadas debido a un problema con la implementación." #: ../Doc/reference/lexical_analysis.rst:769 msgid "" "Prior to Python 3.12, comments were not allowed inside f-string replacement " "fields." msgstr "" +"Antes de Python 3.12, comentarios no se permitieron dentro de campos de " +"reemplazo de f-string." #: ../Doc/reference/lexical_analysis.rst:773 msgid "" "When the equal sign ``'='`` is provided, the output will have the expression " "text, the ``'='`` and the evaluated value. Spaces after the opening brace " "``'{'``, within the expression and after the ``'='`` are all retained in the " -"output. By default, the ``'='`` causes the :func:`repr` of the expression to " -"be provided, unless there is a format specified. When a format is specified " -"it defaults to the :func:`str` of the expression unless a conversion ``'!" -"r'`` is declared." +"output. By default, the ``'='`` causes the :func:`repr` of the expression to be " +"provided, unless there is a format specified. When a format is specified it " +"defaults to the :func:`str` of the expression unless a conversion ``'!r'`` is " +"declared." msgstr "" "Cuando se proporciona el signo igual ``'='``, la salida tendrá el texto de " -"expresión, el ``'='`` y el valor evaluado. Los espacios después de la llave " -"de apertura ``'{'``, dentro de la expresión y después de ``'='`` se " -"conservan en la salida. Por defecto, el ``'='`` hace que se proporcione :" -"func:`repr` de la expresión, a menos que haya un formato especificado. " -"Cuando se especifica un formato, el valor predeterminado es :func:`str` de " -"la expresión a menos que se declare una conversión ``'!r'``." +"expresión, el ``'='`` y el valor evaluado. Los espacios después de la llave de " +"apertura ``'{'``, dentro de la expresión y después de ``'='`` se conservan en " +"la salida. Por defecto, el ``'='`` hace que se proporcione :func:`repr` de la " +"expresión, a menos que haya un formato especificado. Cuando se especifica un " +"formato, el valor predeterminado es :func:`str` de la expresión a menos que se " +"declare una conversión ``'!r'``." #: ../Doc/reference/lexical_analysis.rst:781 msgid "The equal sign ``'='``." @@ -1408,48 +1422,45 @@ msgid "" "converted before formatting. Conversion ``'!s'`` calls :func:`str` on the " "result, ``'!r'`` calls :func:`repr`, and ``'!a'`` calls :func:`ascii`." msgstr "" -"Si se especifica una conversión, el resultado de la evaluación de la " -"expresión se convierte antes del formateo. La conversión ```!s'`` llama :" -"func:`str` al resultado, ```!r'`` llama :func:`repr`, y ```!a'`` llama :func:" -"`ascii`." +"Si se especifica una conversión, el resultado de la evaluación de la expresión " +"se convierte antes del formateo. La conversión ```!s'`` llama :func:`str` al " +"resultado, ```!r'`` llama :func:`repr`, y ```!a'`` llama :func:`ascii`." #: ../Doc/reference/lexical_analysis.rst:788 -#, fuzzy msgid "" "The result is then formatted using the :func:`format` protocol. The format " -"specifier is passed to the :meth:`~object.__format__` method of the " -"expression or conversion result. An empty string is passed when the format " -"specifier is omitted. The formatted result is then included in the final " -"value of the whole string." +"specifier is passed to the :meth:`~object.__format__` method of the expression " +"or conversion result. An empty string is passed when the format specifier is " +"omitted. The formatted result is then included in the final value of the whole " +"string." msgstr "" -"El resultado es entonces formateado usando el protocolo :func:`format`. El " -"especificador de formato se pasa al método :meth:`__format__` del resultado " -"de la expresión o conversión. Se pasa una cadena vacía cuando se omite el " -"especificador de formato. El resultado formateado se incluye entonces en el " -"valor final de toda la cadena." +"El resultado es entonces formateado usando el protocolo :func:`format`. El " +"especificador de formato se pasa al método :meth:`__format__` del resultado de " +"la expresión o conversión. Se pasa una cadena de caracteres vacía cuando se " +"omite el especificador de formato. El resultado formateado se incluye entonces " +"en el valor final de toda la cadena de caracteres." #: ../Doc/reference/lexical_analysis.rst:794 msgid "" -"Top-level format specifiers may include nested replacement fields. These " -"nested fields may include their own conversion fields and :ref:`format " -"specifiers `, but may not include more deeply nested replacement " -"fields. The :ref:`format specifier mini-language ` is the same " -"as that used by the :meth:`str.format` method." +"Top-level format specifiers may include nested replacement fields. These nested " +"fields may include their own conversion fields and :ref:`format specifiers " +"`, but may not include more deeply nested replacement fields. The :" +"ref:`format specifier mini-language ` is the same as that used by " +"the :meth:`str.format` method." msgstr "" "Los especificadores de formato de nivel superior pueden incluir campos de " -"reemplazo anidados. Estos campos anidados pueden incluir sus propios campos " -"de conversión y :ref:`format specifiers `, pero no pueden " -"incluir campos de reemplazo anidados más profundos. El :ref:`format " -"specifier mini-language ` es el mismo que usa el método :meth:" -"`str.format`." +"reemplazo anidados. Estos campos anidados pueden incluir sus propios campos de " +"conversión y :ref:`format specifiers `, pero no pueden incluir " +"campos de reemplazo anidados más profundos. El :ref:`format specifier mini-" +"language ` es el mismo que usa el método :meth:`str.format`." #: ../Doc/reference/lexical_analysis.rst:800 msgid "" -"Formatted string literals may be concatenated, but replacement fields cannot " -"be split across literals." +"Formatted string literals may be concatenated, but replacement fields cannot be " +"split across literals." msgstr "" -"Los literales de cadena formateados pueden ser concatenados, pero los campos " -"de reemplazo no pueden ser divididos entre los literales." +"Los literales de cadena formateados pueden ser concatenados, pero los campos de " +"reemplazo no pueden ser divididos entre los literales." #: ../Doc/reference/lexical_analysis.rst:803 msgid "Some examples of formatted string literals::" @@ -1487,12 +1498,42 @@ msgid "" ">>> f\"{line = !r:20}\"\n" "'line = \"The mill\\'s closed\" '" msgstr "" +">>> name = \"Fred\"\n" +">>> f\"He said his name is {name!r}.\"\n" +"\"He said his name is 'Fred'.\"\n" +">>> f\"He said his name is {repr(name)}.\" # repr() es equivalente a !r\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}}\" # campos anidados\n" +"'result: 12.35'\n" +">>> today = datetime(year=2017, month=1, day=27)\n" +">>> f\"{today:%B %d, %Y}\" # utilizando el especificador de formato de fecha\n" +"'January 27, 2017'\n" +">>> f\"{today=:%B %d, %Y}\" # utilizando el especificador de formato de fecha y purificación\n" +"'today=January 27, 2017'\n" +">>> number = 1024\n" +">>> f\"{number:#0x}\" # utilizando el especificador de formato de números enteros\n" +"'0x400'\n" +">>> foo = \"bar\"\n" +">>> f\"{ foo = }\" # conserva espacios en blanco\n" +"\" foo = 'bar'\"\n" +">>> line = \"The mill's closed\"\n" +">>> f\"{line = }\"\n" +"'line = \"The mill\\'s closed\"'\n" +">>> f\"{line = :20}\"\n" +"\"line = The mill's closed \"\n" +">>> f\"{line = !r:20}\"\n" +"'line = \"The mill\\'s closed\" '" #: ../Doc/reference/lexical_analysis.rst:835 msgid "" "Reusing the outer f-string quoting type inside a replacement field is " "permitted::" msgstr "" +"Se puede reutilizar el tipo de comilla del f-string exterior dentro de un campo " +"de reemplazo::" #: ../Doc/reference/lexical_analysis.rst:838 msgid "" @@ -1500,18 +1541,25 @@ msgid "" ">>> f\"abc {a[\"x\"]} def\"\n" "'abc 2 def'" msgstr "" +">>> a = dict(x=2)\n" +">>> f\"abc {a[\"x\"]} def\"\n" +"'abc 2 def'" #: ../Doc/reference/lexical_analysis.rst:842 msgid "" "Prior to Python 3.12, reuse of the same quoting type of the outer f-string " "inside a replacement field was not possible." msgstr "" +"Antes de Python 3.12, no era posible reutilizar el mismo tipo de comilla del f-" +"string exterior dentro de un campo de reemplazo." #: ../Doc/reference/lexical_analysis.rst:846 msgid "" -"Backslashes are also allowed in replacement fields and are evaluated the " -"same way as in any other context::" +"Backslashes are also allowed in replacement fields and are evaluated the same " +"way as in any other context::" msgstr "" +"También se permiten barras invertidas en campos de reemplazo y se evalúan de la " +"misma manera que cualquier otro contexto::" #: ../Doc/reference/lexical_analysis.rst:849 msgid "" @@ -1522,12 +1570,20 @@ msgid "" "b\n" "c" msgstr "" +">>> a = [\"a\", \"b\", \"c\"]\n" +">>> print(f\"Lista a contiene:\\n{\"\\n\".join(a)}\")\n" +"Lista a contiene:\n" +"a\n" +"b\n" +"c" #: ../Doc/reference/lexical_analysis.rst:856 msgid "" "Prior to Python 3.12, backslashes were not permitted inside an f-string " "replacement field." msgstr "" +"Antes de Python 3.12, no se permitieron dentro de una campo de reemplazo f-" +"string." #: ../Doc/reference/lexical_analysis.rst:860 msgid "" @@ -1545,11 +1601,16 @@ msgid "" ">>> foo.__doc__ is None\n" "True" msgstr "" +">>> def foo():\n" +"... f\"Not a docstring\"\n" +"...\n" +">>> foo.__doc__ is None\n" +"True" #: ../Doc/reference/lexical_analysis.rst:871 msgid "" -"See also :pep:`498` for the proposal that added formatted string literals, " -"and :meth:`str.format`, which uses a related format string mechanism." +"See also :pep:`498` for the proposal that added formatted string literals, and :" +"meth:`str.format`, which uses a related format string mechanism." msgstr "" "Ver también :pep:`498` para la propuesta que añadió literales de cadenas " "formateados, y :meth:`str.format`, que utiliza un mecanismo de cadenas " @@ -1560,11 +1621,10 @@ msgid "Numeric literals" msgstr "Literales numéricos" #: ../Doc/reference/lexical_analysis.rst:884 -#, fuzzy msgid "" "There are three types of numeric literals: integers, floating-point numbers, " -"and imaginary numbers. There are no complex literals (complex numbers can " -"be formed by adding a real number and an imaginary number)." +"and imaginary numbers. There are no complex literals (complex numbers can be " +"formed by adding a real number and an imaginary number)." msgstr "" "Hay tres tipos de literales numéricos: números enteros, números de punto " "flotante y números imaginarios. No hay literales complejos (los números " @@ -1573,12 +1633,12 @@ msgstr "" #: ../Doc/reference/lexical_analysis.rst:888 msgid "" "Note that numeric literals do not include a sign; a phrase like ``-1`` is " -"actually an expression composed of the unary operator '``-``' and the " -"literal ``1``." +"actually an expression composed of the unary operator '``-``' and the literal " +"``1``." msgstr "" -"Nótese que los literales numéricos no incluyen un signo; una frase como " -"``-1`` es en realidad una expresión compuesta por el operador unario '``-``' " -"y el literal ``1``." +"Nótese que los literales numéricos no incluyen un signo; una frase como ``-1`` " +"es en realidad una expresión compuesta por el operador unario '``-``' y el " +"literal ``1``." #: ../Doc/reference/lexical_analysis.rst:902 msgid "Integer literals" @@ -1587,8 +1647,7 @@ msgstr "Literales enteros" #: ../Doc/reference/lexical_analysis.rst:904 msgid "Integer literals are described by the following lexical definitions:" msgstr "" -"Los literales enteros se describen mediante las siguientes definiciones " -"léxicas:" +"Los literales enteros se describen mediante las siguientes definiciones léxicas:" #: ../Doc/reference/lexical_analysis.rst:918 msgid "" @@ -1600,24 +1659,24 @@ msgstr "" #: ../Doc/reference/lexical_analysis.rst:921 msgid "" -"Underscores are ignored for determining the numeric value of the literal. " -"They can be used to group digits for enhanced readability. One underscore " -"can occur between digits, and after base specifiers like ``0x``." +"Underscores are ignored for determining the numeric value of the literal. They " +"can be used to group digits for enhanced readability. One underscore can occur " +"between digits, and after base specifiers like ``0x``." msgstr "" -"Los guiones bajos se ignoran para determinar el valor numérico del literal. " -"Se pueden utilizar para agrupar los dígitos para mejorar la legibilidad. Un " -"guión bajo puede ocurrir entre dígitos y después de especificadores de base " -"como ``0x``." +"Los guiones bajos se ignoran para determinar el valor numérico del literal. Se " +"pueden utilizar para agrupar los dígitos para mejorar la legibilidad. Un guión " +"bajo puede ocurrir entre dígitos y después de especificadores de base como " +"``0x``." #: ../Doc/reference/lexical_analysis.rst:925 msgid "" -"Note that leading zeros in a non-zero decimal number are not allowed. This " -"is for disambiguation with C-style octal literals, which Python used before " +"Note that leading zeros in a non-zero decimal number are not allowed. This is " +"for disambiguation with C-style octal literals, which Python used before " "version 3.0." msgstr "" -"Nótese que no se permiten los ceros a la izquierda en un número decimal que " -"no sea cero. Esto es para desambiguar con los literales octales de estilo C, " -"que Python usaba antes de la versión 3.0." +"Nótese que no se permiten los ceros a la izquierda en un número decimal que no " +"sea cero. Esto es para desambiguar con los literales octales de estilo C, que " +"Python usaba antes de la versión 3.0." #: ../Doc/reference/lexical_analysis.rst:929 msgid "Some examples of integer literals::" @@ -1629,6 +1688,9 @@ msgid "" "3 79228162514264337593543950336 0o377 0xdeadbeef\n" " 100_000_000_000 0b_1110_0101" msgstr "" +"7 2147483647 0o177 0b100110111\n" +"3 79228162514264337593543950336 0o377 0xdeadbeef\n" +" 100_000_000_000 0b_1110_0101" #: ../Doc/reference/lexical_analysis.rst:935 #: ../Doc/reference/lexical_analysis.rst:967 @@ -1636,12 +1698,10 @@ msgid "Underscores are now allowed for grouping purposes in literals." msgstr "Los guiones bajos están ahora permitidos para agrupar en literales." #: ../Doc/reference/lexical_analysis.rst:946 -#, fuzzy msgid "Floating-point literals" msgstr "Literales de punto flotante" #: ../Doc/reference/lexical_analysis.rst:948 -#, fuzzy msgid "" "Floating-point literals are described by the following lexical definitions:" msgstr "" @@ -1649,28 +1709,25 @@ msgstr "" "léxicas:" #: ../Doc/reference/lexical_analysis.rst:958 -#, fuzzy msgid "" -"Note that the integer and exponent parts are always interpreted using radix " -"10. For example, ``077e010`` is legal, and denotes the same number as " -"``77e10``. The allowed range of floating-point literals is implementation-" -"dependent. As in integer literals, underscores are supported for digit " -"grouping." +"Note that the integer and exponent parts are always interpreted using radix 10. " +"For example, ``077e010`` is legal, and denotes the same number as ``77e10``. " +"The allowed range of floating-point literals is implementation-dependent. As " +"in integer literals, underscores are supported for digit grouping." msgstr "" "Nótese que las partes enteras y exponentes siempre se interpretan usando el " "radix 10. Por ejemplo, ``077e010`` es legal, y denota el mismo número que " -"``77e10``. El rango permitido de los literales de punto flotante depende de " -"la implementación. Al igual que en los literales enteros, se admiten " -"guiones bajos para la agrupación de dígitos." +"``77e10``. El rango permitido de los literales de punto flotante depende de la " +"implementación. Al igual que en los literales enteros, se admiten guiones " +"bajos para la agrupación de dígitos." #: ../Doc/reference/lexical_analysis.rst:963 -#, fuzzy msgid "Some examples of floating-point literals::" msgstr "Algunos ejemplos de literales de punto flotante::" #: ../Doc/reference/lexical_analysis.rst:965 msgid "3.14 10. .001 1e100 3.14e-10 0e0 3.14_15_93" -msgstr "" +msgstr "3.14 10. .001 1e100 3.14e-10 0e0 3.14_15_93" #: ../Doc/reference/lexical_analysis.rst:976 msgid "Imaginary literals" @@ -1679,27 +1736,25 @@ msgstr "Literales imaginarios" #: ../Doc/reference/lexical_analysis.rst:978 msgid "Imaginary literals are described by the following lexical definitions:" msgstr "" -"Los literales imaginarios se describen en las siguientes definiciones " -"léxicas:" +"Los literales imaginarios se describen en las siguientes definiciones léxicas:" #: ../Doc/reference/lexical_analysis.rst:983 -#, fuzzy msgid "" -"An imaginary literal yields a complex number with a real part of 0.0. " -"Complex numbers are represented as a pair of floating-point numbers and have " -"the same restrictions on their range. To create a complex number with a " -"nonzero real part, add a floating-point number to it, e.g., ``(3+4j)``. " -"Some examples of imaginary literals::" +"An imaginary literal yields a complex number with a real part of 0.0. Complex " +"numbers are represented as a pair of floating-point numbers and have the same " +"restrictions on their range. To create a complex number with a nonzero real " +"part, add a floating-point number to it, e.g., ``(3+4j)``. Some examples of " +"imaginary literals::" msgstr "" "Un literal imaginario da un número complejo con una parte real de 0.0. Los " "números complejos se representan como un par de números de punto flotante y " -"tienen las mismas restricciones en su rango. Para crear un número complejo " -"con una parte real distinta de cero, añada un número de punto flotante, por " +"tienen las mismas restricciones en su rango. Para crear un número complejo con " +"una parte real distinta de cero, añada un número de punto flotante, por " "ejemplo, ``(3+4j)``. Algunos ejemplos de literales imaginarios::" #: ../Doc/reference/lexical_analysis.rst:989 msgid "3.14j 10.j 10j .001j 1e100j 3.14e-10j 3.14_15_93j" -msgstr "" +msgstr "3.14j 10.j 10j .001j 1e100j 3.14e-10j 3.14_15_93j" #: ../Doc/reference/lexical_analysis.rst:995 msgid "Operators" @@ -1715,6 +1770,9 @@ msgid "" "<< >> & | ^ ~ :=\n" "< > <= >= == !=" msgstr "" +"+ - * ** / // % @\n" +"<< >> & | ^ ~ :=\n" +"< > <= >= == !=" #: ../Doc/reference/lexical_analysis.rst:1012 msgid "Delimiters" @@ -1731,24 +1789,28 @@ msgid "" "-> += -= *= /= //= %=\n" "@= &= |= ^= >>= <<= **=" msgstr "" +"( ) [ ] { }\n" +", : ! . ; @ =\n" +"-> += -= *= /= //= %=\n" +"@= &= |= ^= >>= <<= **=" #: ../Doc/reference/lexical_analysis.rst:1025 msgid "" -"The period can also occur in floating-point and imaginary literals. A " -"sequence of three periods has a special meaning as an ellipsis literal. The " -"second half of the list, the augmented assignment operators, serve lexically " -"as delimiters, but also perform an operation." +"The period can also occur in floating-point and imaginary literals. A sequence " +"of three periods has a special meaning as an ellipsis literal. The second half " +"of the list, the augmented assignment operators, serve lexically as delimiters, " +"but also perform an operation." msgstr "" "El punto también puede ocurrir en los literales de punto flotante e " -"imaginarios. Una secuencia de tres períodos tiene un significado especial " -"como un literal de elipsis. La segunda mitad de la lista, los operadores de " +"imaginarios. Una secuencia de tres períodos tiene un significado especial como " +"un literal de elipsis. La segunda mitad de la lista, los operadores de " "asignación aumentada, sirven léxicamente como delimitadores, pero también " "realizan una operación." #: ../Doc/reference/lexical_analysis.rst:1030 msgid "" -"The following printing ASCII characters have special meaning as part of " -"other tokens or are otherwise significant to the lexical analyzer:" +"The following printing ASCII characters have special meaning as part of other " +"tokens or are otherwise significant to the lexical analyzer:" msgstr "" "Los siguientes caracteres ASCII de impresión tienen un significado especial " "como parte de otros tokens o son de alguna manera significativos para el " @@ -1756,7 +1818,7 @@ msgstr "" #: ../Doc/reference/lexical_analysis.rst:1033 msgid "' \" # \\" -msgstr "" +msgstr "' \" # \\" #: ../Doc/reference/lexical_analysis.rst:1037 msgid "" @@ -1769,479 +1831,436 @@ msgstr "" #: ../Doc/reference/lexical_analysis.rst:1040 msgid "$ ? `" -msgstr "" +msgstr "$ ? `" #: ../Doc/reference/lexical_analysis.rst:1046 msgid "Footnotes" msgstr "Notas al pie de página" #: ../Doc/reference/lexical_analysis.rst:1047 -#, fuzzy msgid "https://www.unicode.org/Public/15.1.0/ucd/NameAliases.txt" -msgstr "https://www.unicode.org/Public/11.0.0/ucd/NameAliases.txt" +msgstr "https://www.unicode.org/Public/15.1.0/ucd/NameAliases.txt" #: ../Doc/reference/lexical_analysis.rst:8 -#, fuzzy msgid "lexical analysis" -msgstr "Análisis léxico" +msgstr "análisis léxico" #: ../Doc/reference/lexical_analysis.rst:8 msgid "parser" -msgstr "" +msgstr "analizador" #: ../Doc/reference/lexical_analysis.rst:8 msgid "token" -msgstr "" +msgstr "token" #: ../Doc/reference/lexical_analysis.rst:25 -#, fuzzy msgid "line structure" -msgstr "Estructura de línea" +msgstr "estructura de línea" #: ../Doc/reference/lexical_analysis.rst:35 -#, fuzzy msgid "logical line" -msgstr "Líneas lógicas" +msgstr "líneas lógica" #: ../Doc/reference/lexical_analysis.rst:35 #: ../Doc/reference/lexical_analysis.rst:114 #: ../Doc/reference/lexical_analysis.rst:532 -#, fuzzy msgid "physical line" -msgstr "Líneas físicas" +msgstr "línea física" #: ../Doc/reference/lexical_analysis.rst:35 #: ../Doc/reference/lexical_analysis.rst:114 -#, fuzzy msgid "line joining" -msgstr "Unión implícita de líneas" +msgstr "unión de líneas" #: ../Doc/reference/lexical_analysis.rst:35 msgid "NEWLINE token" -msgstr "" +msgstr "NEWLINE token" #: ../Doc/reference/lexical_analysis.rst:67 -#, fuzzy msgid "comment" -msgstr "Comentarios" +msgstr "comentario" #: ../Doc/reference/lexical_analysis.rst:67 msgid "hash character" -msgstr "" +msgstr "carácter hash" #: ../Doc/reference/lexical_analysis.rst:67 #: ../Doc/reference/lexical_analysis.rst:81 msgid "# (hash)" -msgstr "" +msgstr "# (hash)" #: ../Doc/reference/lexical_analysis.rst:81 msgid "source character set" -msgstr "" +msgstr "conjuntos de caracteres fuente" #: ../Doc/reference/lexical_analysis.rst:81 -#, fuzzy msgid "encoding declarations (source file)" -msgstr "Declaración de Codificación" +msgstr "declaraciones de codificación (archivo de origen)" #: ../Doc/reference/lexical_analysis.rst:81 -#, fuzzy msgid "source encoding declaration" -msgstr "Declaración de Codificación" +msgstr "declaración de codificación de archivo de origen" #: ../Doc/reference/lexical_analysis.rst:114 -#, fuzzy msgid "line continuation" -msgstr "Sangría" +msgstr "continuación de linea" #: ../Doc/reference/lexical_analysis.rst:114 msgid "backslash character" -msgstr "" +msgstr "carácter barra invertida" #: ../Doc/reference/lexical_analysis.rst:159 -#, fuzzy msgid "blank line" -msgstr "Líneas en blanco" +msgstr "línea en blanco" #: ../Doc/reference/lexical_analysis.rst:174 -#, fuzzy msgid "indentation" -msgstr "Sangría" +msgstr "sangría" #: ../Doc/reference/lexical_analysis.rst:174 msgid "leading whitespace" -msgstr "" +msgstr "espacios en blanco del comienzo" #: ../Doc/reference/lexical_analysis.rst:174 msgid "space" -msgstr "" +msgstr "espacio" #: ../Doc/reference/lexical_analysis.rst:174 msgid "tab" -msgstr "" +msgstr "tabulador" #: ../Doc/reference/lexical_analysis.rst:174 msgid "grouping" -msgstr "" +msgstr "agrupación" #: ../Doc/reference/lexical_analysis.rst:174 msgid "statement grouping" -msgstr "" +msgstr "agrupación de declaraciones" #: ../Doc/reference/lexical_analysis.rst:202 -#, fuzzy msgid "INDENT token" -msgstr "Sangría" +msgstr "INDENT token" #: ../Doc/reference/lexical_analysis.rst:202 -#, fuzzy msgid "DEDENT token" -msgstr "Sangría" +msgstr "DEDENT token" #: ../Doc/reference/lexical_analysis.rst:277 -#, fuzzy msgid "identifier" -msgstr "Delimitadores" +msgstr "identificadores" #: ../Doc/reference/lexical_analysis.rst:277 msgid "name" -msgstr "" +msgstr "nombre" #: ../Doc/reference/lexical_analysis.rst:334 #: ../Doc/reference/lexical_analysis.rst:358 -#, fuzzy msgid "keyword" -msgstr "Palabras clave" +msgstr "palabra clave" #: ../Doc/reference/lexical_analysis.rst:334 msgid "reserved word" -msgstr "" +msgstr "palabra reservada" #: ../Doc/reference/lexical_analysis.rst:358 -#, fuzzy msgid "soft keyword" -msgstr "Palabras clave suaves" +msgstr "palabra clave suave" #: ../Doc/reference/lexical_analysis.rst:377 msgid "_, identifiers" -msgstr "" +msgstr "_, identificadores" #: ../Doc/reference/lexical_analysis.rst:377 msgid "__, identifiers" -msgstr "" +msgstr "__, identificadores" #: ../Doc/reference/lexical_analysis.rst:433 -#, fuzzy msgid "literal" -msgstr "Literales" +msgstr "literal" #: ../Doc/reference/lexical_analysis.rst:433 msgid "constant" -msgstr "" +msgstr "constante" #: ../Doc/reference/lexical_analysis.rst:438 #: ../Doc/reference/lexical_analysis.rst:479 -#, fuzzy msgid "string literal" -msgstr "Literales enteros" +msgstr "literal de cadena de caracteres" #: ../Doc/reference/lexical_analysis.rst:438 #: ../Doc/reference/lexical_analysis.rst:492 -#, fuzzy msgid "bytes literal" -msgstr "Literales enteros" +msgstr "literal bytes" #: ../Doc/reference/lexical_analysis.rst:438 msgid "ASCII" -msgstr "" +msgstr "ASCII" #: ../Doc/reference/lexical_analysis.rst:438 -#, fuzzy msgid "' (single quote)" -msgstr "Comilla simple (``'``)" +msgstr "' (comilla simple)" #: ../Doc/reference/lexical_analysis.rst:438 -#, fuzzy msgid "\" (double quote)" -msgstr "Comilla doble (``\"``)" +msgstr "\" (comilla doble)" #: ../Doc/reference/lexical_analysis.rst:438 msgid "u'" -msgstr "" +msgstr "u'" #: ../Doc/reference/lexical_analysis.rst:438 msgid "u\"" -msgstr "" +msgstr "u\"" #: ../Doc/reference/lexical_analysis.rst:479 msgid "triple-quoted string" -msgstr "" +msgstr "cadena de caracteres con tres comillas" #: ../Doc/reference/lexical_analysis.rst:479 msgid "Unicode Consortium" -msgstr "" +msgstr "Consorcio de Unicode" #: ../Doc/reference/lexical_analysis.rst:479 msgid "raw string" -msgstr "" +msgstr "cadena sin formato" #: ../Doc/reference/lexical_analysis.rst:479 msgid "\"\"\"" -msgstr "" +msgstr "\"\"\"" #: ../Doc/reference/lexical_analysis.rst:479 msgid "'''" -msgstr "" +msgstr "'''" #: ../Doc/reference/lexical_analysis.rst:492 msgid "b'" -msgstr "" +msgstr "b'" #: ../Doc/reference/lexical_analysis.rst:492 msgid "b\"" -msgstr "" +msgstr "b\"" #: ../Doc/reference/lexical_analysis.rst:501 msgid "r'" -msgstr "" +msgstr "r'" #: ../Doc/reference/lexical_analysis.rst:501 -#, fuzzy msgid "raw string literal" -msgstr "Literales de cadena formateados" +msgstr "literal de cadena de caracteres sin formato" #: ../Doc/reference/lexical_analysis.rst:501 msgid "r\"" -msgstr "" +msgstr "r\"" #: ../Doc/reference/lexical_analysis.rst:519 msgid "f'" -msgstr "" +msgstr "f'" #: ../Doc/reference/lexical_analysis.rst:519 #: ../Doc/reference/lexical_analysis.rst:697 -#, fuzzy msgid "formatted string literal" -msgstr "Literales de cadena formateados" +msgstr "literal de cadena de caracteres formateados" #: ../Doc/reference/lexical_analysis.rst:519 msgid "f\"" -msgstr "" +msgstr "f\"" #: ../Doc/reference/lexical_analysis.rst:532 -#, fuzzy msgid "escape sequence" -msgstr "Secuencia de escape" +msgstr "secuencia de escape" #: ../Doc/reference/lexical_analysis.rst:532 msgid "Standard C" -msgstr "" +msgstr "C Estándar" #: ../Doc/reference/lexical_analysis.rst:532 msgid "C" -msgstr "" +msgstr "C" #: ../Doc/reference/lexical_analysis.rst:532 -#, fuzzy msgid "\\ (backslash)" -msgstr "Barra inversa (``\\``)" +msgstr "\\ (barra inversa)" #: ../Doc/reference/lexical_analysis.rst:532 msgid "\\\\" -msgstr "" +msgstr "\\\\" #: ../Doc/reference/lexical_analysis.rst:532 msgid "\\a" -msgstr "" +msgstr "\\a" #: ../Doc/reference/lexical_analysis.rst:532 msgid "\\b" -msgstr "" +msgstr "\\b" #: ../Doc/reference/lexical_analysis.rst:532 msgid "\\f" -msgstr "" +msgstr "\\f" #: ../Doc/reference/lexical_analysis.rst:532 msgid "\\n" -msgstr "" +msgstr "\\n" #: ../Doc/reference/lexical_analysis.rst:532 msgid "\\r" -msgstr "" +msgstr "\\r" #: ../Doc/reference/lexical_analysis.rst:532 msgid "\\t" -msgstr "" +msgstr "\\t" #: ../Doc/reference/lexical_analysis.rst:532 msgid "\\v" -msgstr "" +msgstr "\\v" #: ../Doc/reference/lexical_analysis.rst:532 msgid "\\x" -msgstr "" +msgstr "\\x" #: ../Doc/reference/lexical_analysis.rst:532 msgid "\\N" -msgstr "" +msgstr "\\N" #: ../Doc/reference/lexical_analysis.rst:532 msgid "\\u" -msgstr "" +msgstr "\\u" #: ../Doc/reference/lexical_analysis.rst:532 msgid "\\U" -msgstr "" +msgstr "\\U" #: ../Doc/reference/lexical_analysis.rst:648 -#, fuzzy msgid "unrecognized escape sequence" -msgstr "Secuencia de escape" +msgstr "secuencia de escape no reconocido" #: ../Doc/reference/lexical_analysis.rst:697 -#, fuzzy msgid "interpolated string literal" -msgstr "Literales de cadena formateados" +msgstr "literal de cadena de caracteres interpolado" #: ../Doc/reference/lexical_analysis.rst:697 msgid "string" -msgstr "" +msgstr "cadena de caracteres" #: ../Doc/reference/lexical_analysis.rst:697 -#, fuzzy msgid "formatted literal" -msgstr "Literales de cadena formateados" +msgstr "literal formateado" #: ../Doc/reference/lexical_analysis.rst:697 -#, fuzzy msgid "interpolated literal" -msgstr "Literales enteros" +msgstr "literal interpolado" #: ../Doc/reference/lexical_analysis.rst:697 msgid "f-string" -msgstr "" +msgstr "f-string" #: ../Doc/reference/lexical_analysis.rst:697 msgid "fstring" -msgstr "" +msgstr "fstring" #: ../Doc/reference/lexical_analysis.rst:697 msgid "{} (curly brackets)" -msgstr "" +msgstr "{} (llaves)" #: ../Doc/reference/lexical_analysis.rst:697 -#, fuzzy msgid "in formatted string literal" -msgstr "Literales de cadena formateados" +msgstr "en literal de cadena de caracteres formateados" #: ../Doc/reference/lexical_analysis.rst:697 msgid "! (exclamation)" -msgstr "" +msgstr "! (exclamación)" #: ../Doc/reference/lexical_analysis.rst:697 msgid ": (colon)" -msgstr "" +msgstr ": (dos puntos)" #: ../Doc/reference/lexical_analysis.rst:697 msgid "= (equals)" -msgstr "" +msgstr "= (signo igual)" #: ../Doc/reference/lexical_analysis.rst:697 -#, fuzzy msgid "for help in debugging using string literals" -msgstr "Literales de cadena formateados" +msgstr "para ayuda en la depuración usando literales de cadena" #: ../Doc/reference/lexical_analysis.rst:880 msgid "number" -msgstr "" +msgstr "numero" #: ../Doc/reference/lexical_analysis.rst:880 -#, fuzzy msgid "numeric literal" -msgstr "Literales numéricos" +msgstr "literal numérico" #: ../Doc/reference/lexical_analysis.rst:880 #: ../Doc/reference/lexical_analysis.rst:893 -#, fuzzy msgid "integer literal" -msgstr "Literales enteros" +msgstr "literal numero entero" #: ../Doc/reference/lexical_analysis.rst:880 -#, fuzzy msgid "floating-point literal" -msgstr "Literales de punto flotante" +msgstr "literales de punto flotante" #: ../Doc/reference/lexical_analysis.rst:880 msgid "hexadecimal literal" -msgstr "" +msgstr "literal hexadecimal" #: ../Doc/reference/lexical_analysis.rst:880 -#, fuzzy msgid "octal literal" -msgstr "Literales" +msgstr "literal octal" #: ../Doc/reference/lexical_analysis.rst:880 -#, fuzzy msgid "binary literal" -msgstr "Literales imaginarios" +msgstr "literal binario" #: ../Doc/reference/lexical_analysis.rst:880 -#, fuzzy msgid "decimal literal" -msgstr "Literales imaginarios" +msgstr "literal decimal" #: ../Doc/reference/lexical_analysis.rst:880 -#, fuzzy msgid "imaginary literal" -msgstr "Literales imaginarios" +msgstr "literal imaginario" #: ../Doc/reference/lexical_analysis.rst:880 -#, fuzzy msgid "complex literal" -msgstr "Literales numéricos" +msgstr "literal complejo" #: ../Doc/reference/lexical_analysis.rst:893 msgid "0b" -msgstr "" +msgstr "0b" #: ../Doc/reference/lexical_analysis.rst:893 msgid "0o" -msgstr "" +msgstr "0o" #: ../Doc/reference/lexical_analysis.rst:893 msgid "0x" -msgstr "" +msgstr "0x" #: ../Doc/reference/lexical_analysis.rst:893 #: ../Doc/reference/lexical_analysis.rst:939 msgid "_ (underscore)" -msgstr "" +msgstr "_ (guión bajo)" #: ../Doc/reference/lexical_analysis.rst:893 #: ../Doc/reference/lexical_analysis.rst:939 #: ../Doc/reference/lexical_analysis.rst:971 -#, fuzzy msgid "in numeric literal" -msgstr "Literales numéricos" +msgstr "en literal numérico" #: ../Doc/reference/lexical_analysis.rst:939 msgid ". (dot)" -msgstr "" +msgstr ". (punto)" #: ../Doc/reference/lexical_analysis.rst:939 msgid "e" -msgstr "" +msgstr "e" #: ../Doc/reference/lexical_analysis.rst:971 msgid "j" -msgstr "" +msgstr "j" #: ../Doc/reference/lexical_analysis.rst:997 -#, fuzzy msgid "operators" -msgstr "Operadores" +msgstr "operadores" #: ../Doc/reference/lexical_analysis.rst:1014 -#, fuzzy msgid "delimiters" -msgstr "Delimitadores" +msgstr "delimitadores" From a3b014697e331a76a88b4d17cdc0c55d0f5704f5 Mon Sep 17 00:00:00 2001 From: rtobar Date: Thu, 2 Jan 2025 23:24:47 +0800 Subject: [PATCH 07/41] Actualiza a sphinx-autorun >= 2.0.0 (#3355) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Esta última versión incluye dos correcciones importantes: 1) la extensión ahora declara que sphinx puede llevar a cabo la lectura de los archivos .rst en paralelo (https://github.com/WhyNotHugo/sphinx-autorun/pull/63), y 2) elimina unos RuntimeWarnings producto de un mal uso de la opción bufsize al crear objetos Popen (https://github.com/WhyNotHugo/sphinx-autorun/pull/65). El primero de los problemas conllevaba a que nosotros tuviéramos que realizar manualmente el registro del plug-in, en vez de simplemente declararlo en "extensions". El segundo problema nos llevó a fijar un filtro con PYTHONWARNINGS con el cual se ignoraban todos los RuntimeWarning. Con esta última versión de sphinx-autorun, ambas soluciones parches ya no son necesarias. Signed-off-by: Rodrigo Tobar --- .github/workflows/main.yml | 3 +-- Makefile | 2 +- conf.py | 20 +------------------- requirements-own.txt | 2 +- 4 files changed, 4 insertions(+), 23 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1093b11c6a..1c519fb344 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -91,5 +91,4 @@ jobs: # Construcción de la documentación - name: Construir documentación run: | - # Normal build - PYTHONWARNINGS=ignore::FutureWarning,ignore::RuntimeWarning sphinx-build -j auto -W --keep-going -b html -d cpython/Doc/_build/doctree -D language=es . cpython/Doc/_build/html + sphinx-build -j auto -W --keep-going -b html -d cpython/Doc/_build/doctree -D language=es . cpython/Doc/_build/html diff --git a/Makefile b/Makefile index f51cdfd31d..f6e011c7b4 100644 --- a/Makefile +++ b/Makefile @@ -44,7 +44,7 @@ build: setup do_build .PHONY: do_build do_build: # Normal build - PYTHONWARNINGS=ignore::FutureWarning,ignore::RuntimeWarning $(VENV)/bin/sphinx-build -j $(SPHINX_JOBS) -W --keep-going -b html -d $(OUTPUT_DOCTREE) -D language=$(LANGUAGE) . $(OUTPUT_HTML) && \ + $(VENV)/bin/sphinx-build -j $(SPHINX_JOBS) -W --keep-going -b html -d $(OUTPUT_DOCTREE) -D language=$(LANGUAGE) . $(OUTPUT_HTML) && \ echo "Success! Open file://`pwd`/$(OUTPUT_HTML)/index.html, " \ "or run 'make serve' to see them in http://localhost:8000"; diff --git a/conf.py b/conf.py index 0d39ed17d9..9a9557ae0c 100644 --- a/conf.py +++ b/conf.py @@ -54,6 +54,7 @@ exclude_patterns = _exclude_patterns _extensions = [ + 'sphinx_autorun', 'sphinx_tabs.tabs', 'sphinxemoji.sphinxemoji', ] @@ -126,22 +127,3 @@ def add_contributing_banner(app, doctree): app.srcdir = Path(os.getcwd() + '/cpython/Doc') app.connect('doctree-read', add_contributing_banner) - - # Import the sphinx-autorun manually to avoid this warning - # TODO: Remove this code and use just ``extensions.append('sphinx_autorun')`` when - # that issue gets fixed - # See https://github.com/WhyNotHugo/sphinx-autorun/issues/17 - - # WARNING: the sphinx_autorun extension does not declare if it is safe for - # parallel reading, assuming it isn't - please ask the extension author to - # check and make it explicit - # WARNING: doing serial read - from sphinx_autorun import RunBlock, AutoRun - app.add_directive('runblock', RunBlock) - app.connect('builder-inited', AutoRun.builder_init) - app.add_config_value('autorun_languages', AutoRun.config, 'env') - return { - 'version': '0.1', - 'parallel_read_safe': True, - 'parallel_write_safe': True, - } diff --git a/requirements-own.txt b/requirements-own.txt index 719d53f5ba..5f2e1c075a 100644 --- a/requirements-own.txt +++ b/requirements-own.txt @@ -8,7 +8,7 @@ pre-commit Pygments>=2.17.0 PyICU setuptools -sphinx-autorun +sphinx-autorun>=2.0.0 sphinxemoji sphinx-intl>=2.3.0 sphinx-lint==0.7.0 From afc440b11d406690b63c8eca6f705287bfe8e281 Mon Sep 17 00:00:00 2001 From: Tatiana Delgadillo Date: Mon, 6 Jan 2025 20:11:42 -0400 Subject: [PATCH 08/41] =?UTF-8?q?Traducci=C3=B3n=20archivo=20c-api/memoryv?= =?UTF-8?q?iew=20(#3356)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #3278 --- c-api/memoryview.po | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/c-api/memoryview.po b/c-api/memoryview.po index fa6e02a4eb..aefbdded34 100644 --- a/c-api/memoryview.po +++ b/c-api/memoryview.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: 2024-10-29 21:14-0400\n" +"PO-Revision-Date: 2025-01-06 16:11-0400\n" "Last-Translator: Cristián Maureira-Fredes \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" +"X-Generator: Poedit 3.5\n" #: ../Doc/c-api/memoryview.rst:9 msgid "MemoryView objects" @@ -50,11 +51,11 @@ msgstr "" #: ../Doc/c-api/memoryview.rst:26 msgid "Flag to request a readonly buffer." -msgstr "" +msgstr "Indicador para solicitar un búfer de solo lectura." #: ../Doc/c-api/memoryview.rst:31 msgid "Flag to request a writable buffer." -msgstr "" +msgstr "Indicador para solicitar un búfer escribible." #: ../Doc/c-api/memoryview.rst:36 msgid "" @@ -89,12 +90,10 @@ msgstr "" "realiza una copia y la vista de memoria apunta a un nuevo objeto de bytes." #: ../Doc/c-api/memoryview.rst:55 -#, fuzzy msgid "" "*buffertype* can be one of :c:macro:`PyBUF_READ` or :c:macro:`PyBUF_WRITE`." msgstr "" -"Crea un objeto de vista de memoria usando *mem* como el búfer subyacente. " -"*flags* pueden ser uno de :c:macro:`PyBUF_READ` o :c:macro:`PyBUF_WRITE`." +"*buffertype* puede ser uno de :c:macro:`PyBUF_READ` o :c:macro:`PyBUF_WRITE`." #: ../Doc/c-api/memoryview.rst:60 msgid "" From f375648ed230f98adfb507e6cfc90b3fefe45825 Mon Sep 17 00:00:00 2001 From: Jonathan Villanueva Date: Wed, 15 Jan 2025 00:23:49 -0400 Subject: [PATCH 09/41] Traducido archivo faq/gui (#3357) Closes #2893 --- faq/gui.po | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/faq/gui.po b/faq/gui.po index d1ee2dbdb1..3e0f98460e 100644 --- a/faq/gui.po +++ b/faq/gui.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: 2021-11-09 22:34-0600\n" +"PO-Revision-Date: 2025-01-15 00:01-0400\n" "Last-Translator: Erick G. Islas Osuna \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" +"X-Generator: Poedit 3.5\n" #: ../Doc/faq/gui.rst:5 msgid "Graphic User Interface FAQ" @@ -90,28 +91,28 @@ msgstr "" "y Tk." #: ../Doc/faq/gui.rst:45 -#, fuzzy msgid "" "One solution is to ship the application with the Tcl and Tk libraries, and " "point to them at run-time using the :envvar:`!TCL_LIBRARY` and :envvar:`!" "TK_LIBRARY` environment variables." msgstr "" "Una solución es enviar la aplicación con las bibliotecas Tcl y Tk, y " -"apuntarlas en tiempo de ejecución utilizando :envvar:`TCL_LIBRARY` y las " -"variables de entorno :envvar:`TK_LIBRARY`." +"apuntarlas en tiempo de ejecución utilizando las variables de entorno :" +"envvar:`!TCL_LIBRARY` y :envvar:`!TK_LIBRARY`." #: ../Doc/faq/gui.rst:49 msgid "" "Various third-party freeze libraries such as py2exe and cx_Freeze have " "handling for Tkinter applications built-in." msgstr "" +"Varias bibliotecas de terceros para congelar como py2exe y cx_Freeze tienen " +"soporte integrado para aplicaciones Tkinter." #: ../Doc/faq/gui.rst:54 msgid "Can I have Tk events handled while waiting for I/O?" msgstr "¿Puedo tener eventos Tk manejados mientras espero por *I/O*?" #: ../Doc/faq/gui.rst:56 -#, fuzzy msgid "" "On platforms other than Windows, yes, and you don't even need threads! But " "you'll have to restructure your I/O code a bit. Tk has the equivalent of " @@ -119,12 +120,12 @@ msgid "" "function which will be called from the Tk mainloop when I/O is possible on a " "file descriptor. See :ref:`tkinter-file-handlers`." msgstr "" -"En plataformas que no sean Windows, sí, ¡y ni siquiera necesita hilos! Pero " -"tendrá que reestructurar un poco su código de I/O. Tk tiene el equivalente " -"de la llamada Xt :c:func:`XtAddInput()`, que le permite registrar una " -"función de *callback* que se llamará desde el bucle principal de Tk cuando " -"sea posible I/O en un descriptor de archivo. Ver :ref:`tkinter-file-" -"handlers`." +"En plataformas que no sean Windows, sí, ¡y ni siquiera necesitas hilos! Pero " +"tendrá que reestructurar un poco su código de entrada/salida. Tk tiene un " +"equivalente de la llamada :c:func:`XtAddInput` de Xt, que permite registrar " +"una función de retorno que será llamada desde el bucle principal de Tk " +"cuando sea posible entrada/salida en un descriptor de archivo. Ver :ref:" +"`tkinter-file-handlers`." #: ../Doc/faq/gui.rst:64 msgid "I can't get key bindings to work in Tkinter: why?" @@ -132,15 +133,14 @@ msgstr "" "No puedo hacer que los atajos de teclado funcionen en Tkinter: ¿por qué?" #: ../Doc/faq/gui.rst:66 -#, fuzzy msgid "" "An often-heard complaint is that event handlers :ref:`bound ` to events with the :meth:`!bind` method don't get handled even when " "the appropriate key is pressed." msgstr "" -"Una queja que se escucha con frecuencia es que los controladores de eventos " -"vinculados a eventos con el método :meth:`bind` no se manejan incluso cuando " -"se presiona la tecla adecuada." +"Una queja frecuente que se escucha es que los controladores de eventos :ref:" +"`vinculados ` con el método :meth:`!bind` no se " +"ejecutan incluso cuando se presiona la tecla correspondiente." #: ../Doc/faq/gui.rst:70 msgid "" From be6f74f3dd25492cfee54391daa1a3e6ae4e7109 Mon Sep 17 00:00:00 2001 From: rtobar Date: Mon, 27 Jan 2025 10:10:10 +0800 Subject: [PATCH 10/41] Arregla faq/gui.po (#3361) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Al revisar #3357 la nueva interfaz experimental de GitHub no mostró el botón para aceptar y ejecutar los cambios en CI (dado que eran cambios de alguien que contribuía por primera vez). Al mismo tiempo todos los chequeos aparecían en verde, dando la sensación de que estaba todo bien. Hice el merge, pero había problemas, que este commit arregla. Signed-off-by: Rodrigo Tobar --- dictionaries/faq_gui.txt | 1 + faq/gui.po | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 dictionaries/faq_gui.txt diff --git a/dictionaries/faq_gui.txt b/dictionaries/faq_gui.txt new file mode 100644 index 0000000000..17f90afc2b --- /dev/null +++ b/dictionaries/faq_gui.txt @@ -0,0 +1 @@ +cx diff --git a/faq/gui.po b/faq/gui.po index 3e0f98460e..24c292c525 100644 --- a/faq/gui.po +++ b/faq/gui.po @@ -122,7 +122,7 @@ msgid "" msgstr "" "En plataformas que no sean Windows, sí, ¡y ni siquiera necesitas hilos! Pero " "tendrá que reestructurar un poco su código de entrada/salida. Tk tiene un " -"equivalente de la llamada :c:func:`XtAddInput` de Xt, que permite registrar " +"equivalente de la llamada :c:func:`!XtAddInput` de Xt, que permite registrar " "una función de retorno que será llamada desde el bucle principal de Tk " "cuando sea posible entrada/salida en un descriptor de archivo. Ver :ref:" "`tkinter-file-handlers`." From 335fa605308f1746bc3c509de5e39b18057c7059 Mon Sep 17 00:00:00 2001 From: Alberto Andrei Soria Gomez <44327209+AASG2003@users.noreply.github.com> Date: Sun, 26 Jan 2025 21:53:54 -0500 Subject: [PATCH 11/41] Traducido archivo c-api/datetime (#3359) Closes #3246 --------- Co-authored-by: andrei --- c-api/datetime.po | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/c-api/datetime.po b/c-api/datetime.po index 704a87a82d..100d1f7118 100644 --- a/c-api/datetime.po +++ b/c-api/datetime.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: 2024-11-10 19:13-0500\n" +"PO-Revision-Date: 2025-01-26 21:27-0500\n" "Last-Translator: Meta Louis-Kosmas \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" +"X-Generator: Poedit 3.5\n" #: ../Doc/c-api/datetime.rst:6 msgid "DateTime Objects" @@ -73,8 +74,7 @@ msgid "" "is the same object as :class:`datetime.date` in the Python layer." msgstr "" "Esta instancia de :c:type:`PyTypeObject` representa el *date type* de " -"Python; es el mismo objecto que que :class:`datetime.date` en la capa de " -"Python." +"Python; es el mismo objeto que :class:`datetime.date` en la capa de Python." #: ../Doc/c-api/datetime.rst:39 msgid "" @@ -82,7 +82,7 @@ msgid "" "it is the same object as :class:`datetime.datetime` in the Python layer." msgstr "" "Esta instancia de :c:type:`PyTypeObject` representa el *datetime type* de " -"Python; es el mismo objecto que que :class:`datetime.datetime` en la capa de " +"Python; es el mismo objeto que :class:`datetime.datetime` en la capa de " "Python." #: ../Doc/c-api/datetime.rst:44 @@ -91,7 +91,7 @@ msgid "" "is the same object as :class:`datetime.time` in the Python layer." msgstr "" "Esta instancia de :c:type:`PyObject` representa el *time type* de Python; es " -"el mismo objecto que que :class:`datetime.time` en la capa de Python." +"el mismo objeto que :class:`datetime.time` en la capa de Python." #: ../Doc/c-api/datetime.rst:49 msgid "" @@ -384,19 +384,17 @@ msgid "Macros for the convenience of modules implementing the DB API:" msgstr "Macros para la conveniencia de módulos que implementan la API DB:" #: ../Doc/c-api/datetime.rst:320 -#, fuzzy msgid "" "Create and return a new :class:`datetime.datetime` object given an argument " "tuple suitable for passing to :meth:`datetime.datetime.fromtimestamp`." msgstr "" "Crea y retorna un nuevo objeto :class:`datetime.datetime` dado una tupla de " -"argumentos adecuada para pasar a :meth:`datetime.datetime.fromtimestamp()`." +"argumentos adecuada para pasar a :meth:`datetime.datetime.fromtimestamp`." #: ../Doc/c-api/datetime.rst:326 -#, fuzzy msgid "" "Create and return a new :class:`datetime.date` object given an argument " "tuple suitable for passing to :meth:`datetime.date.fromtimestamp`." msgstr "" "Crea y retorna un nuevo objeto :class:`datetime.date` dado una tupla de " -"argumentos adecuada para pasar a :meth:`datetime.date.fromtimestamp()`." +"argumentos adecuada para pasar a :meth:`datetime.date.fromtimestamp`." From b16744908c001b066acb579d011399bc521700fb Mon Sep 17 00:00:00 2001 From: xDanna <159052616+xDanna@users.noreply.github.com> Date: Sun, 26 Jan 2025 22:55:53 -0400 Subject: [PATCH 12/41] Traducido archivo c-api/marshal (#3360) Closes #3255 Co-authored-by: rtobar --- c-api/marshal.po | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/c-api/marshal.po b/c-api/marshal.po index d1f8676833..0fb738f127 100644 --- a/c-api/marshal.po +++ b/c-api/marshal.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: 2024-10-28 21:01-0400\n" +"PO-Revision-Date: 2025-01-26 17:22-0400\n" "Last-Translator: Cristián Maureira-Fredes \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" +"X-Generator: Poedit 3.5\n" #: ../Doc/c-api/marshal.rst:6 msgid "Data marshalling support" @@ -45,7 +46,6 @@ msgstr "" "Los valores numéricos se almacenan con el byte menos significativo primero." #: ../Doc/c-api/marshal.rst:16 -#, fuzzy msgid "" "The module supports two versions of the data format: version 0 is the " "historical version, version 1 shares interned strings in the file, and upon " From 8144640c9e3a70c5228b43b80ccddf53b9b5e61f Mon Sep 17 00:00:00 2001 From: kbiggers Date: Sun, 26 Jan 2025 21:57:33 -0500 Subject: [PATCH 13/41] =?UTF-8?q?Actualizar=20la=20documentaci=C3=B3n=20pa?= =?UTF-8?q?ra=20indicar=20que=20el=20clon=20debe=20ser=20recursivo=20(#335?= =?UTF-8?q?3)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Actualizar la documentación para indicar que el clon debe ser recursivo closes #3352 --------- Co-authored-by: rtobar --- .overrides/CONTRIBUTING.rst | 2 +- Makefile | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.overrides/CONTRIBUTING.rst b/.overrides/CONTRIBUTING.rst index 903fd6aa46..360b3f0957 100644 --- a/.overrides/CONTRIBUTING.rst +++ b/.overrides/CONTRIBUTING.rst @@ -60,7 +60,7 @@ podrás realizar todas las contribuciones que quieras. #. (Opcional) Instala los requerimientos del proyecto:: - pip install -r requirements.txt + pip install -r requirements-own.txt .. note:: diff --git a/Makefile b/Makefile index f6e011c7b4..75f0f9dd50 100644 --- a/Makefile +++ b/Makefile @@ -56,6 +56,9 @@ do_build: setup: venv git submodule sync git submodule update --init --force --depth 1 $(CPYTHON_PATH) + # Now that we've initialized the submodules, install all requirements necessary for the build + $(VENV)/bin/python -m pip install -q -r requirements.txt + # venv: create a virtual environment which will be used by almost every @@ -66,7 +69,7 @@ venv: $(PYTHON) -m venv --prompt $(LANGUAGE_TEAM) $(VENV); \ fi - $(VENV)/bin/python -m pip install -q -r requirements.txt + $(VENV)/bin/python -m pip install -q -r requirements-own.txt # serve: serve the documentation in a simple local web server, using cpython From d1b3567100348d90f43f575592024361a8ec6dae Mon Sep 17 00:00:00 2001 From: Francisco Mora <193986059+srmorita@users.noreply.github.com> Date: Mon, 27 Jan 2025 11:19:29 -0300 Subject: [PATCH 14/41] Traducido archivo c-api/concrete (#3358) Closes #3270 --- TRANSLATORS | 1 + c-api/concrete.po | 20 +++++++++----------- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/TRANSLATORS b/TRANSLATORS index 107807d0bb..3686c2a25f 100644 --- a/TRANSLATORS +++ b/TRANSLATORS @@ -228,6 +228,7 @@ Sergio Infante (@neosergio) Silvina Tamburini (@silvinabt87) Sofia Carballo (@sofiacarballo) Sofía Denner +Srmorita (@srmorita) Stephanie Orellana Bello Sumit Kashyap Summerok diff --git a/c-api/concrete.po b/c-api/concrete.po index fe90ed851a..a787976028 100644 --- a/c-api/concrete.po +++ b/c-api/concrete.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2020-05-09 18:24+0200\n" -"Last-Translator: \n" -"Language: es\n" +"PO-Revision-Date: 2025-01-27 08:51-0300\n" +"Last-Translator: srmorita \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.13.0\n" +"X-Generator: Poedit 3.5\n" #: ../Doc/c-api/concrete.rst:8 msgid "Concrete Objects Layer" @@ -99,20 +100,17 @@ msgstr "Otros objetos" #: ../Doc/c-api/concrete.rst:43 ../Doc/c-api/concrete.rst:58 #: ../Doc/c-api/concrete.rst:80 -#, fuzzy msgid "object" -msgstr "Otros objetos" +msgstr "object" #: ../Doc/c-api/concrete.rst:43 -#, fuzzy msgid "numeric" -msgstr "Objetos numéricos" +msgstr "numeric" #: ../Doc/c-api/concrete.rst:58 -#, fuzzy msgid "sequence" -msgstr "Objetos de secuencia" +msgstr "sequence" #: ../Doc/c-api/concrete.rst:80 msgid "mapping" -msgstr "" +msgstr "mapping" From 553c804f3d68f0866d6f86ad710cf31af45e77e6 Mon Sep 17 00:00:00 2001 From: Carlos Mena <50986837+carlosm00@users.noreply.github.com> Date: Tue, 28 Jan 2025 11:50:45 +0100 Subject: [PATCH 15/41] Traduccion deprecations/c-api-pending-removal-in-3.15.po (#3362) Closes #3294 --- deprecations/c-api-pending-removal-in-3.15.po | 32 +++++++++++++------ 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/deprecations/c-api-pending-removal-in-3.15.po b/deprecations/c-api-pending-removal-in-3.15.po index 8b11f9a0ea..b111679eed 100644 --- a/deprecations/c-api-pending-removal-in-3.15.po +++ b/deprecations/c-api-pending-removal-in-3.15.po @@ -10,74 +10,88 @@ msgstr "" "Project-Id-Version: Python en Español 3.13\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: FULL NAME \n" -"Language: es\n" +"PO-Revision-Date: 2025-01-28 11:30+0100\n" +"Last-Translator: Carlos Mena Pérez <@carlosm00>\n" "Language-Team: 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.5\n" #: ../Doc/deprecations/c-api-pending-removal-in-3.15.rst:2 msgid "Pending Removal in Python 3.15" -msgstr "" +msgstr "Pendiente de eliminación en Python 3.15" #: ../Doc/deprecations/c-api-pending-removal-in-3.15.rst:4 msgid "The bundled copy of ``libmpdecimal``." -msgstr "" +msgstr "La copia incluida de ``libmpdecimal``." #: ../Doc/deprecations/c-api-pending-removal-in-3.15.rst:5 msgid "" "The :c:func:`PyImport_ImportModuleNoBlock`: Use :c:func:" "`PyImport_ImportModule` instead." msgstr "" +"La función :c:func:`PyImport_ImportModuleNoBlock`: use :c:func:" +"`PyImport_ImportModule` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.15.rst:7 msgid "" ":c:func:`PyWeakref_GetObject` and :c:func:`PyWeakref_GET_OBJECT`: Use :c:" "func:`PyWeakref_GetRef` instead." msgstr "" +":c:func:`PyWeakref_GetObject` y :c:func:`PyWeakref_GET_OBJECT`: use :c:func:" +"`PyWeakref_GetRef` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.15.rst:9 msgid "" ":c:type:`Py_UNICODE` type and the :c:macro:`!Py_UNICODE_WIDE` macro: Use :c:" "type:`wchar_t` instead." msgstr "" +"El tipo :c:type:`Py_UNICODE` y macro :c:macro:`!Py_UNICODE_WIDE`: use :c:" +"type:`wchar_t` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.15.rst:11 msgid "Python initialization functions:" -msgstr "" +msgstr "Funciones de inicialización de Python:" #: ../Doc/deprecations/c-api-pending-removal-in-3.15.rst:13 msgid "" ":c:func:`PySys_ResetWarnOptions`: Clear :data:`sys.warnoptions` and :data:`!" "warnings.filters` instead." msgstr "" +":c:func:`PySys_ResetWarnOptions`: Borre :data:`sys.warnoptions` y :data:`!" +"warnings.filters` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.15.rst:15 msgid ":c:func:`Py_GetExecPrefix`: Get :data:`sys.exec_prefix` instead." msgstr "" +":c:func:`Py_GetExecPrefix`: obtenga :data:`sys.exec_prefix` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.15.rst:17 msgid ":c:func:`Py_GetPath`: Get :data:`sys.path` instead." -msgstr "" +msgstr ":c:func:`Py_GetPath`: obtenga :data:`sys.path` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.15.rst:19 msgid ":c:func:`Py_GetPrefix`: Get :data:`sys.prefix` instead." -msgstr "" +msgstr ":c:func:`Py_GetPrefix`: obtenga :data:`sys.prefix` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.15.rst:21 msgid ":c:func:`Py_GetProgramFullPath`: Get :data:`sys.executable` instead." msgstr "" +":c:func:`Py_GetProgramFullPath`: obtenga :data:`sys.executable` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.15.rst:23 msgid ":c:func:`Py_GetProgramName`: Get :data:`sys.executable` instead." msgstr "" +":c:func:`Py_GetProgramName`: obtenga :data:`sys.executable` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.15.rst:25 msgid "" ":c:func:`Py_GetPythonHome`: Get :c:member:`PyConfig.home` or the :envvar:" "`PYTHONHOME` environment variable instead." msgstr "" +":c:func:`Py_GetPythonHome`: obtenga :c:member:`PyConfig.home` o la variable " +"de entorno :envvar:`PYTHONHOME` en su lugar." From 05866b02143952c427a9b167183d568f5882e2fb Mon Sep 17 00:00:00 2001 From: Francisco Mora <193986059+srmorita@users.noreply.github.com> Date: Fri, 31 Jan 2025 10:28:15 -0300 Subject: [PATCH 16/41] Traducido archivo c-api/perfmaps (#3363) Closes #3276 --- c-api/perfmaps.po | 62 ++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 50 insertions(+), 12 deletions(-) diff --git a/c-api/perfmaps.po b/c-api/perfmaps.po index 233c0924f9..1bfd599da0 100644 --- a/c-api/perfmaps.po +++ b/c-api/perfmaps.po @@ -10,53 +10,74 @@ msgstr "" "Project-Id-Version: Python en Español 3.12\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: FULL NAME \n" -"Language: es\n" +"PO-Revision-Date: 2025-01-31 10:04-0300\n" +"Last-Translator: srmorita \n" "Language-Team: 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.5\n" #: ../Doc/c-api/perfmaps.rst:6 msgid "Support for Perf Maps" -msgstr "" +msgstr "Soporte para Mapeo Perf" #: ../Doc/c-api/perfmaps.rst:8 msgid "" "On supported platforms (as of this writing, only Linux), the runtime can " "take advantage of *perf map files* to make Python functions visible to an " -"external profiling tool (such as `perf `_). A running process may create a file in the ``/tmp`` " +"external profiling tool (such as `perf `_). A running process may create a file in the ``/tmp`` " "directory, which contains entries that can map a section of executable code " "to a name. This interface is described in the `documentation of the Linux " -"Perf tool `_." +"Perf tool `_." msgstr "" +"En las plataformas soportadas (en el momento de escribir esto, sólo Linux), " +"el tiempo de ejecución puede aprovechar *perf map files* para hacer que las " +"funciones de Python sean visibles para una herramienta externa de perfiles " +"(como `perf `_). Un " +"proceso en ejecución puede crear un fichero en el directorio ``/tmp``, que " +"contiene entradas que pueden asignar una sección de código ejecutable a un " +"nombre. Esta interfaz se describe en la `documentación de la herramienta " +"Perf de Linux `_." #: ../Doc/c-api/perfmaps.rst:16 msgid "" "In Python, these helper APIs can be used by libraries and features that rely " "on generating machine code on the fly." msgstr "" +"En Python, estas API auxiliares pueden ser utilizadas por bibliotecas y " +"funciones que dependen de la generación de código de máquina sobre la marcha." #: ../Doc/c-api/perfmaps.rst:19 msgid "" "Note that holding the Global Interpreter Lock (GIL) is not required for " "these APIs." msgstr "" +"Tenga en cuenta que para estas APIs no es necesario mantener el Bloqueo " +"Global del Intérprete (GIL)." #: ../Doc/c-api/perfmaps.rst:23 msgid "" "Open the ``/tmp/perf-$pid.map`` file, unless it's already opened, and create " "a lock to ensure thread-safe writes to the file (provided the writes are " "done through :c:func:`PyUnstable_WritePerfMapEntry`). Normally, there's no " -"need to call this explicitly; just use :c:func:" -"`PyUnstable_WritePerfMapEntry` and it will initialize the state on first " -"call." +"need to call this explicitly; just " +"use :c:func:`PyUnstable_WritePerfMapEntry` and it will initialize the state " +"on first call." msgstr "" +"Abre el archivo ``/tmp/perf-$pid.map``, a menos que ya esté abierto, y crea " +"un bloqueo para garantizar escrituras seguras para hilos en el archivo " +"(siempre que las escrituras se realicen " +"mediante :c:func:`PyUnstable_WritePerfMapEntry`). Normalmente, no es " +"necesario llamar a esto explícitamente; solo " +"use :c:func:`PyUnstable_WritePerfMapEntry` e inicializará el estado en la " +"primera llamada." #: ../Doc/c-api/perfmaps.rst:29 msgid "" @@ -64,18 +85,26 @@ msgid "" "file, or ``-2`` on failure to create a lock. Check ``errno`` for more " "information about the cause of a failure." msgstr "" +"Retorna ``0`` en caso de éxito, ``-1`` en caso de fallo al crear/abrir el " +"fichero perf map, o ``-2`` en caso de fallo al crear un bloqueo. Comprueba " +"``errno`` para más información sobre la causa de un fallo." #: ../Doc/c-api/perfmaps.rst:35 msgid "" "Write one single entry to the ``/tmp/perf-$pid.map`` file. This function is " "thread safe. Here is what an example entry looks like::" msgstr "" +"Escribe una única entrada en el fichero ``/tmp/perf-$pid.map``. Esta función " +"es segura para hilos. Aquí hay un ejemplo de entrada::" +# creo que esto debe quedar igual. Es solo código fuente. #: ../Doc/c-api/perfmaps.rst:38 msgid "" "# address size name\n" "7f3529fcf759 b py::bar:/run/t.py" msgstr "" +"# address size name\n" +"7f3529fcf759 b py::bar:/run/t.py" #: ../Doc/c-api/perfmaps.rst:41 msgid "" @@ -83,6 +112,10 @@ msgid "" "if the perf map file is not already opened. Returns ``0`` on success, or the " "same error codes as :c:func:`PyUnstable_PerfMapState_Init` on failure." msgstr "" +"Llamará a :c:func:`PyUnstable_PerfMapState_Init` antes de escribir la " +"entrada, si el fichero perf map no está ya abierto. Retorna ``0`` en caso de " +"éxito, o los mismos códigos de error " +"que :c:func:`PyUnstable_PerfMapState_Init` en caso de fallo." #: ../Doc/c-api/perfmaps.rst:47 msgid "" @@ -91,3 +124,8 @@ msgid "" "general, there shouldn't be a reason to explicitly call this, except to " "handle specific scenarios such as forking." msgstr "" +"Cierra el fichero perf map abierto " +"por :c:func:`PyUnstable_PerfMapState_Init`. Esto es llamado por el propio " +"tiempo de ejecución durante el cierre del intérprete. En general, no debería " +"haber una razón para llamar explícitamente a esto, excepto para manejar " +"escenarios específicos como la bifurcación." From 4682fd76371cf465e5c80154f6f71503df743bee Mon Sep 17 00:00:00 2001 From: kbiggers Date: Sat, 1 Feb 2025 23:15:45 -0500 Subject: [PATCH 17/41] Traducido reference/compound_stmts.po (#3354) closes #3288 --------- Co-authored-by: rtobar --- dictionaries/reference_compound_stmts.txt | 4 +- reference/compound_stmts.po | 465 +++++++++++++++++----- 2 files changed, 358 insertions(+), 111 deletions(-) diff --git a/dictionaries/reference_compound_stmts.txt b/dictionaries/reference_compound_stmts.txt index 2d866fb770..5c0b4f635d 100644 --- a/dictionaries/reference_compound_stmts.txt +++ b/dictionaries/reference_compound_stmts.txt @@ -1 +1,3 @@ -precalculado \ No newline at end of file +precalculado +anything +bound \ No newline at end of file diff --git a/reference/compound_stmts.po b/reference/compound_stmts.po index ac239c5b29..483661f484 100644 --- a/reference/compound_stmts.po +++ b/reference/compound_stmts.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: 2024-11-18 15:17-0300\n" +"PO-Revision-Date: 2025-01-01 17:41-0500\n" "Last-Translator: Carlos A. Crespo \n" -"Language: es_AR\n" "Language-Team: python-doc-es\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Language: es_AR\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.5\n" #: ../Doc/reference/compound_stmts.rst:5 msgid "Compound statements" @@ -84,7 +85,7 @@ msgstr "" #: ../Doc/reference/compound_stmts.rst:37 msgid "if test1: if test2: print(x)" -msgstr "" +msgstr "if test1: if test2: print(x)" #: ../Doc/reference/compound_stmts.rst:39 msgid "" @@ -98,7 +99,7 @@ msgstr "" #: ../Doc/reference/compound_stmts.rst:43 msgid "if x < y < z: print(x); print(y); print(z)" -msgstr "" +msgstr "if x < y < z: print(x); print(y); print(z)" #: ../Doc/reference/compound_stmts.rst:45 msgid "Summarizing:" @@ -243,6 +244,8 @@ msgstr "" "sobrescribe todas las asignaciones anteriores a esas variables, incluidas " "las realizadas en la suite del bucle ``for``::" +# No se pueden traducir los commentarios hasta que pospell tenga la habilidad +# de entender líneas de código. #: ../Doc/reference/compound_stmts.rst:183 msgid "" "for i in range(10):\n" @@ -251,6 +254,11 @@ msgid "" " # because i will be overwritten with the next\n" " # index in the range" msgstr "" +"for i in range(10):\n" +" print(i)\n" +" i = 5 # this will not affect the for-loop\n" +" # because i will be overwritten with the next\n" +" # index in the range" #: ../Doc/reference/compound_stmts.rst:193 msgid "" @@ -299,7 +307,6 @@ msgid ":keyword:`!except` clause" msgstr "Cláusula :keyword:`!except`" #: ../Doc/reference/compound_stmts.rst:241 -#, fuzzy msgid "" "The :keyword:`!except` clause(s) specify one or more exception handlers. " "When no exception occurs in the :keyword:`try` clause, no exception handler " @@ -316,13 +323,7 @@ msgstr "" "controlador de excepciones. Esta búsqueda inspecciona las cláusulas :keyword:" "`!except` a su vez hasta que se encuentra una que coincida con la excepción. " "Una cláusula :keyword:`!except` sin expresión, si está presente, debe ser la " -"última; coincide con cualquier excepción. Para una cláusula :keyword:`!" -"except` con una expresión, esa expresión se evalúa y la cláusula coincide " -"con la excepción si el objeto resultante es \"compatible\" con la excepción. " -"Un objeto es compatible con una excepción si el objeto es la clase o un :" -"term:`non-virtual base class ` del objeto de excepción, " -"o una tupla que contiene un elemento que es la clase o una clase base no " -"virtual del objeto de excepción." +"última; coincide con cualquier excepción." #: ../Doc/reference/compound_stmts.rst:249 msgid "" @@ -332,6 +333,11 @@ msgid "" "the class or a :term:`non-virtual base class ` of the " "exception object, or to a tuple that contains such a class." msgstr "" +"Para una cláusula de :keyword:`!except`con una expresión, la expresión debe " +"evaluar a un tipo de excepción o un tupla de tipos de excepciones. La " +"excepción generada coincide con una cláusula :keyword:`!except` cuya " +"expresión evaluá a la clase o una :term:`clase base no virtual ` del objeto excepción, o una tupla que contiene dicha clase." #: ../Doc/reference/compound_stmts.rst:255 msgid "" @@ -393,6 +399,8 @@ msgid "" "except E as N:\n" " foo" msgstr "" +"except E as N:\n" +" foo" #: ../Doc/reference/compound_stmts.rst:284 msgid "was translated to ::" @@ -406,6 +414,11 @@ msgid "" " finally:\n" " del N" msgstr "" +"except E as N:\n" +" try:\n" +" foo\n" +" finally:\n" +" del N" #: ../Doc/reference/compound_stmts.rst:292 msgid "" @@ -457,6 +470,23 @@ msgid "" ">>> print(sys.exception())\n" "None" msgstr "" +">>> print(sys.exception())\n" +"None\n" +">>> try:\n" +"... raise TypeError\n" +"... except:\n" +"... print(repr(sys.exception()))\n" +"... try:\n" +"... raise ValueError\n" +"... except:\n" +"... print(repr(sys.exception()))\n" +"... print(repr(sys.exception()))\n" +"...\n" +"TypeError()\n" +"ValueError()\n" +"TypeError()\n" +">>> print(sys.exception())\n" +"None" #: ../Doc/reference/compound_stmts.rst:333 msgid ":keyword:`!except*` clause" @@ -464,15 +494,15 @@ msgstr "Cláusula :keyword:`!except*`" #: ../Doc/reference/compound_stmts.rst:335 msgid "" -"The :keyword:`!except*` clause(s) are used for handling :exc:" -"`ExceptionGroup`\\s. The exception type for matching is interpreted as in " -"the case of :keyword:`except`, but in the case of exception groups we can " -"have partial matches when the type matches some of the exceptions in the " -"group. This means that multiple :keyword:`!except*` clauses can execute, " -"each handling part of the exception group. Each clause executes at most once " -"and handles an exception group of all matching exceptions. Each exception " -"in the group is handled by at most one :keyword:`!except*` clause, the first " -"that matches it. ::" +"The :keyword:`!except*` clause(s) are used for handling :exc:`ExceptionGroup`" +"\\s. The exception type for matching is interpreted as in the case of :" +"keyword:`except`, but in the case of exception groups we can have partial " +"matches when the type matches some of the exceptions in the group. This " +"means that multiple :keyword:`!except*` clauses can execute, each handling " +"part of the exception group. Each clause executes at most once and handles " +"an exception group of all matching exceptions. Each exception in the group " +"is handled by at most one :keyword:`!except*` clause, the first that matches " +"it. ::" msgstr "" "La(s) cláusula(s) :keyword:`!except*` se utilizan para manejar :exc:" "`ExceptionGroup`\\s. El tipo de excepción para la coincidencia se interpreta " @@ -504,6 +534,22 @@ msgid "" " | ValueError: 1\n" " +------------------------------------" msgstr "" +">>> try:\n" +"... raise ExceptionGroup(\"eg\",\n" +"... [ValueError(1), TypeError(2), OSError(3), OSError(4)])\n" +"... except* TypeError as e:\n" +"... print(f'caught {type(e)} with nested {e.exceptions}')\n" +"... except* OSError as e:\n" +"... print(f'caught {type(e)} with nested {e.exceptions}')\n" +"...\n" +"caught with nested (TypeError(2),)\n" +"caught with nested (OSError(3), OSError(4))\n" +" + Exception Group Traceback (most recent call last):\n" +" | File \"\", line 2, in \n" +" | ExceptionGroup: eg\n" +" +-+---------------- 1 ----------------\n" +" | ValueError: 1\n" +" +------------------------------------" #: ../Doc/reference/compound_stmts.rst:363 msgid "" @@ -537,6 +583,12 @@ msgid "" "...\n" "ExceptionGroup('', (BlockingIOError()))" msgstr "" +">>> try:\n" +"... raise BlockingIOError\n" +"... except* BlockingIOError as e:\n" +"... print(repr(e))\n" +"...\n" +"ExceptionGroup('', (BlockingIOError()))" #: ../Doc/reference/compound_stmts.rst:380 msgid "" @@ -544,19 +596,19 @@ msgid "" "``except*:``. Furthermore, this expression cannot contain exception group " "types, because that would have ambiguous semantics." msgstr "" +"Una cláusula :keyword:`!except*` debe tener una expresión coincidente; no " +"puede ser ``except*:``. Además, esta expresión no puede contener tipos de " +"excepción grupal. porque esto tendría semánticas ambiguas." #: ../Doc/reference/compound_stmts.rst:384 -#, fuzzy msgid "" "It is not possible to mix :keyword:`except` and :keyword:`!except*` in the " "same :keyword:`try`. :keyword:`break`, :keyword:`continue` and :keyword:" "`return` cannot appear in an :keyword:`!except*` clause." msgstr "" -"Una cláusula :keyword:`!except*` debe tener un tipo coincidente y este tipo " -"no puede ser una subclase de :exc:`BaseExceptionGroup`. No es posible " -"mezclar :keyword:`except` y :keyword:`!except*` en el mismo :keyword:`try`. :" -"keyword:`break`, :keyword:`continue` y :keyword:`return` no pueden aparecer " -"en una cláusula :keyword:`!except*`." +"No se puede mezclar :keyword:`except` y :keyword:`!except*` en el mismo " +":keyword:`try`. :keyword:`break`, :keyword:`continue` y :keyword:`return` no " +"puede aparecer en una cláusula :keyword:`!except*`." #: ../Doc/reference/compound_stmts.rst:399 msgid ":keyword:`!else` clause" @@ -615,6 +667,14 @@ msgid "" ">>> f()\n" "42" msgstr "" +">>> def f():\n" +"... try:\n" +"... 1/0\n" +"... finally:\n" +"... return 42\n" +"...\n" +">>> f()\n" +"42" #: ../Doc/reference/compound_stmts.rst:434 msgid "" @@ -659,6 +719,14 @@ msgid "" ">>> foo()\n" "'finally'" msgstr "" +">>> def foo():\n" +"... try:\n" +"... return 'try'\n" +"... finally:\n" +"... return 'finally'\n" +"...\n" +">>> foo()\n" +"'finally'" #: ../Doc/reference/compound_stmts.rst:460 msgid "" @@ -702,35 +770,30 @@ msgstr "" "with_item`) se evalúa para obtener un administrador de contexto." #: ../Doc/reference/compound_stmts.rst:493 -#, fuzzy msgid "" "The context manager's :meth:`~object.__enter__` is loaded for later use." msgstr "" -"El administrador de contexto :meth:`__enter__` se carga para su uso " +"El administrador de contexto :meth:`~object.__enter__` se carga para su uso " "posterior." #: ../Doc/reference/compound_stmts.rst:495 -#, fuzzy msgid "The context manager's :meth:`~object.__exit__` is loaded for later use." msgstr "" -"El administrador de contexto :meth:`__exit__` se carga para su uso posterior." +"El administrador de contexto :meth:`~object.__exit__` se carga para su uso posterior." #: ../Doc/reference/compound_stmts.rst:497 -#, fuzzy msgid "The context manager's :meth:`~object.__enter__` method is invoked." -msgstr "Se invoca el método del administrador de contexto :meth:`__enter__`." +msgstr "Se invoca el método :meth:`__enter__` del administrador de contexto." #: ../Doc/reference/compound_stmts.rst:499 -#, fuzzy msgid "" "If a target was included in the :keyword:`with` statement, the return value " "from :meth:`~object.__enter__` is assigned to it." msgstr "" -"Si se incluyó el destino en la sentencia :keyword:`with`, se le asigna el " -"valor de retorno de :meth:`__enter__`." +"Si se incluyó el destino en la declaración :keyword:`with`, se le asigna el " +"valor de retorno de :meth:`~object.__enter__`." #: ../Doc/reference/compound_stmts.rst:504 -#, fuzzy msgid "" "The :keyword:`with` statement guarantees that if the :meth:`~object." "__enter__` method returns without an error, then :meth:`~object.__exit__` " @@ -738,31 +801,29 @@ msgid "" "target list, it will be treated the same as an error occurring within the " "suite would be. See step 7 below." msgstr "" -"La sentencia :keyword:`with` garantiza que si el método :meth:`__enter__` " -"regresa sin error, entonces siempre se llamará a :meth:`__exit__`. Por lo " -"tanto, si se produce un error durante la asignación a la lista de destino, " -"se tratará de la misma manera que si el error ocurriera dentro del bloque de " -"instrucciones. Vea el paso 7 a continuación." +"La declaración :keyword:`with` garantiza que si el método :meth:`~object." +"__enter__` regresa sin error, entonces siempre se llamará a :meth:`~object." +"__exit__`. Por lo tanto, si se produce un error durante la asignación a la " +"lista de destino, se trataría de la misma manera que si el error ocurriera " +"dentro del suite. Consulte el paso 7 a continuación." #: ../Doc/reference/compound_stmts.rst:510 msgid "The suite is executed." msgstr "La suite se ejecuta." #: ../Doc/reference/compound_stmts.rst:512 -#, fuzzy msgid "" "The context manager's :meth:`~object.__exit__` method is invoked. If an " "exception caused the suite to be exited, its type, value, and traceback are " "passed as arguments to :meth:`~object.__exit__`. Otherwise, three :const:" "`None` arguments are supplied." msgstr "" -"Se invoca el método del administrador de contexto :meth:`__exit__`. Si una " -"excepción causó la salida de la suite, su tipo, valor y rastreo se pasan " -"como argumentos a :meth:`__exit__`. De lo contrario, se proporcionan tres " -"argumentos :const:`None`." +"Se invoca el método :meth:`~object.__exit__` del administrador de contexto. " +"Si una excepción causó la salida de la suite, su tipo, valor y rastreo se " +"pasan como argumentos a :meth:`~object.__exit__`. De lo contrario, se " +"proporcionan tres argumentos :const:`None`." #: ../Doc/reference/compound_stmts.rst:517 -#, fuzzy msgid "" "If the suite was exited due to an exception, and the return value from the :" "meth:`~object.__exit__` method was false, the exception is reraised. If the " @@ -770,20 +831,20 @@ msgid "" "with the statement following the :keyword:`with` statement." msgstr "" "Si se salió de la suite debido a una excepción, y el valor de retorno del " -"método :meth:`__exit__` fue falso, la excepción se vuelve a plantear. Si el " -"valor de retorno era verdadero, la excepción se suprime y la ejecución " -"continúa con la sentencia que sigue a la sentencia :keyword:`with`." +"método :meth:`~object.__exit__` fue falso, la excepción se vuelve a " +"plantear. Si el valor de retorno era verdadero, la excepción se suprime y la " +"ejecución continúa con la declaración que sigue a la declaración :keyword:" +"`with`." #: ../Doc/reference/compound_stmts.rst:522 -#, fuzzy msgid "" "If the suite was exited for any reason other than an exception, the return " "value from :meth:`~object.__exit__` is ignored, and execution proceeds at " "the normal location for the kind of exit that was taken." msgstr "" "Si se salió de la suite por cualquier motivo que no sea una excepción, el " -"valor de retorno de :meth:`__exit__` se ignora y la ejecución continúa en la " -"ubicación normal para el tipo de salida que se tomó." +"valor de retorno de :meth:`~object.__exit__` se ignora y la ejecución continúa en " +"la ubicación normal para el tipo de salida que se tomó." #: ../Doc/reference/compound_stmts.rst:526 #: ../Doc/reference/compound_stmts.rst:1547 @@ -796,6 +857,8 @@ msgid "" "with EXPRESSION as TARGET:\n" " SUITE" msgstr "" +"with EXPRESSION as TARGET:\n" +" SUITE" #: ../Doc/reference/compound_stmts.rst:531 #: ../Doc/reference/compound_stmts.rst:556 @@ -822,6 +885,22 @@ msgid "" " if not hit_except:\n" " exit(manager, None, None, None)" msgstr "" +"manager = (EXPRESSION)\n" +"enter = type(manager).__enter__\n" +"exit = type(manager).__exit__\n" +"value = enter(manager)\n" +"hit_except = False\n" +"\n" +"try:\n" +" TARGET = value\n" +" SUITE\n" +"except:\n" +" hit_except = True\n" +" if not exit(manager, *sys.exc_info()):\n" +" raise\n" +"finally:\n" +" if not hit_except:\n" +" exit(manager, None, None, None)" #: ../Doc/reference/compound_stmts.rst:550 msgid "" @@ -836,6 +915,8 @@ msgid "" "with A() as a, B() as b:\n" " SUITE" msgstr "" +"with A() as a, B() as b:\n" +" SUITE" #: ../Doc/reference/compound_stmts.rst:558 msgid "" @@ -843,6 +924,9 @@ msgid "" " with B() as b:\n" " SUITE" msgstr "" +"with A() as a:\n" +" with B() as b:\n" +" SUITE" #: ../Doc/reference/compound_stmts.rst:562 msgid "" @@ -860,6 +944,11 @@ msgid "" "):\n" " SUITE" msgstr "" +"with (\n" +" A() as a,\n" +" B() as b,\n" +"):\n" +" SUITE" #: ../Doc/reference/compound_stmts.rst:571 msgid "Support for multiple context expressions." @@ -1058,6 +1147,18 @@ msgid "" "...\n" "Case 3, y: 200" msgstr "" +">>> flag = False\n" +">>> match (100, 200):\n" +"... case (100, 300): # No coinciden: 200 != 300\n" +"... print('Case 1')\n" +"... case (100, 200) if flag: # Coinciden, pero la guardia falla\n" +"... print('Case 2')\n" +"... case (100, y): # Coinciden, y vincula `y` a 200\n" +"... print(f'Case 3, y: {y}')\n" +"... case _: # Patrón no se intentó\n" +"... print('Case 4, I match anything!')\n" +"...\n" +"Case 3, y: 200" #: ../Doc/reference/compound_stmts.rst:687 msgid "" @@ -1721,7 +1822,6 @@ msgstr "" "duplicados; o un :exc:`ValueError` para claves con nombre del mismo valor." #: ../Doc/reference/compound_stmts.rst:1059 -#, fuzzy msgid "" "Key-value pairs are matched using the two-argument form of the mapping " "subject's ``get()`` method. Matched key-value pairs must already be present " @@ -1729,9 +1829,10 @@ msgid "" "`~object.__getitem__`." msgstr "" "Los pares clave-valor se hacen coincidir utilizando la forma de dos " -"argumentos del método ``get()`` del sujeto de mapeo. Los pares clave-valor " -"coincidentes ya deben estar presentes en la asignación y no deben crearse " -"sobre la marcha a través de :meth:`__missing__` o :meth:`__getitem__`." +"argumentos del método ``get()`` del sujeto de asignación. Los pares clave-" +"valor coincidentes ya deben estar presentes en la asignación y no deben " +"crearse sobre la marcha a través de :meth:`__missing__` o :meth:" +"`~object.__getitem__`." #: ../Doc/reference/compound_stmts.rst:1064 msgid "" @@ -2082,6 +2183,9 @@ msgid "" "@f2\n" "def func(): pass" msgstr "" +"@f1(arg)\n" +"@f2\n" +"def func(): pass" #: ../Doc/reference/compound_stmts.rst:1251 #: ../Doc/reference/compound_stmts.rst:1446 @@ -2093,6 +2197,8 @@ msgid "" "def func(): pass\n" "func = f1(arg)(f2(func))" msgstr "" +"def func(): pass\n" +"func = f1(arg)(f2(func))" #: ../Doc/reference/compound_stmts.rst:1256 msgid "" @@ -2113,7 +2219,6 @@ msgstr "" "restrictiva; ver :pep:`614` para más detalles." #: ../Doc/reference/compound_stmts.rst:1263 -#, fuzzy msgid "" "A list of :ref:`type parameters ` may be given in square " "brackets between the function's name and the opening parenthesis for its " @@ -2122,12 +2227,12 @@ msgid "" "function's :attr:`~function.__type_params__` attribute. See :ref:`generic-" "functions` for more." msgstr "" -"Se puede dar una :ref:`type parameters ` entre corchetes entre " -"el nombre de la función y el paréntesis de apertura para su lista de " -"parámetros. Esto indica a los verificadores de tipo estático que la función " -"es genérica. En ejecución, los parámetros de tipo pueden recuperarse del " -"atributo ``__type_params__``. Mirar :ref:`generic-functions` para más " -"información." +"Una lista de :ref:`parámetros del tipo ` se puede dar entre " +"corchetes entre el nombre de la función y el paréntesis de apertura para su " +"lista de parámetros. Esto indica a los verificadores de tipo estático que la " +"función es genérica. En ejecución, los parámetros de tipo pueden recuperarse " +"del atributo :attr:`~function.__type_params__`. Consulte :ref:`generic-" +"functions` para más información." #: ../Doc/reference/compound_stmts.rst:1270 #: ../Doc/reference/compound_stmts.rst:1465 @@ -2185,6 +2290,11 @@ msgid "" " penguin.append(\"property of the zoo\")\n" " return penguin" msgstr "" +"def whats_on_the_telly(penguin=None):\n" +" if penguin is None:\n" +" penguin = []\n" +" penguin.append(\"property of the zoo\")\n" +" return penguin" #: ../Doc/reference/compound_stmts.rst:1307 msgid "" @@ -2210,9 +2320,9 @@ msgstr "" "por defecto en la tupla vacía. Si el formulario \"``**identifier``\" está " "presente, se inicializa a una nueva asignación ordenada que recibe cualquier " "exceso de argumentos por palabra clave, por defecto a una nueva asignación " -"vacía del mismo tipo. Los parámetros después de \"``*``\" o " -"\"``*identifier``\" son parámetros solo por palabra clave y solo pueden " -"pasarse con argumentos de palabras claves usadas." +"vacía del mismo tipo. Los parámetros después de \"``*``\" o \"``*identifier``" +"\" son parámetros solo por palabra clave y solo pueden pasarse con " +"argumentos de palabras claves usadas." #: ../Doc/reference/compound_stmts.rst:1319 msgid "" @@ -2224,7 +2334,6 @@ msgstr "" "detalles." #: ../Doc/reference/compound_stmts.rst:1328 -#, fuzzy msgid "" "Parameters may have an :term:`annotation ` of the form " "\"``: expression``\" following the parameter name. Any parameter may have " @@ -2245,12 +2354,14 @@ msgstr "" "Los parámetros pueden tener :term:`annotation ` de la " "forma \"``: expression``\" que sigue al nombre del parámetro. Cualquier " "parámetro puede tener una anotación, incluso las de la forma ``*identifier`` " -"o ``** identifier``. Las funciones pueden tener una anotación \"return\" de " -"la forma \"``-> expression``\" después de la lista de parámetros. Estas " -"anotaciones pueden ser cualquier expresión válida de Python. La presencia de " -"anotaciones no cambia la semántica de una función. Los valores de anotación " -"están disponibles como valores de un diccionario con los nombres de los " -"parámetros en el atributo :attr:`__annotations__` del objeto de la función. " +"o ``** identifier``. (Como caso especial, parámetros de la forma " +"``*identifier`` puede tener una anotación \"``: *expression``\".) Las " +"funciones pueden tener una anotación \"return\" de la forma \"``-> " +"expression``\" después de la lista de parámetros. Estas anotaciones pueden " +"ser cualquier expresión válida de Python. La presencia de anotaciones no " +"cambia la semántica de una función. Los valores de anotación están " +"disponibles como valores de un diccionario con los nombres de los parámetros " +"como claves en el atributo :attr:`__annotations__` del objeto de la función. " "Si se usa ``annotations`` importada desde :mod:`__future__`, las anotaciones " "se conservan como cadenas de caracteres en tiempo de ejecución que permiten " "la evaluación pospuesta. De lo contrario, se evalúan cuando se ejecuta la " @@ -2262,6 +2373,8 @@ msgid "" "Parameters of the form \"``*identifier``\" may have an annotation \"``: " "*expression``\". See :pep:`646`." msgstr "" +"Parámetros de la forma \"``*identifier``\" puede tener una anotación " +"\"``: *expression``\". Consulte :pep:`646`." #: ../Doc/reference/compound_stmts.rst:1348 msgid "" @@ -2320,13 +2433,12 @@ msgid ":pep:`526` - Syntax for Variable Annotations" msgstr ":pep:`526` - Sintaxis para anotaciones variables" #: ../Doc/reference/compound_stmts.rst:1371 -#, fuzzy msgid "" "Ability to type hint variable declarations, including class variables and " "instance variables." msgstr "" -"Capacidad para escribir declaraciones de variables indirectas, incluidas " -"variables de clase y variables de instancia" +"Capacidad para escribir anotaciones de tipo para declaraciones de variables, " +"incluidas variables de clase y variables de instancia." #: ../Doc/reference/compound_stmts.rst:1376 msgid ":pep:`563` - Postponed Evaluation of Annotations" @@ -2342,18 +2454,14 @@ msgstr "" "de una evaluación apresurada." #: ../Doc/reference/compound_stmts.rst:1379 -#, fuzzy msgid ":pep:`318` - Decorators for Functions and Methods" -msgstr ":pep:`3107` - Anotaciones de funciones" +msgstr ":pep:`318` - Decoradores para Funciones y Métodos" #: ../Doc/reference/compound_stmts.rst:1379 -#, fuzzy msgid "" "Function and method decorators were introduced. Class decorators were " "introduced in :pep:`3129`." -msgstr "" -"La propuesta que agregó decoradores de clase. Los decoradores de funciones y " -"métodos se introdujeron en :pep:`318`." +msgstr "Decoradores de función y método se introdujeron en :pep:`3129`." #: ../Doc/reference/compound_stmts.rst:1385 msgid "Class definitions" @@ -2384,6 +2492,8 @@ msgid "" "class Foo:\n" " pass" msgstr "" +"class Foo:\n" +" pass" #: ../Doc/reference/compound_stmts.rst:1416 msgid "is equivalent to ::" @@ -2394,6 +2504,8 @@ msgid "" "class Foo(object):\n" " pass" msgstr "" +"class Foo(object):\n" +" pass" #: ../Doc/reference/compound_stmts.rst:1421 msgid "" @@ -2417,7 +2529,6 @@ msgstr "" "de clase en el espacio de nombres local original." #: ../Doc/reference/compound_stmts.rst:1430 -#, fuzzy msgid "" "The order in which attributes are defined in the class body is preserved in " "the new class's :attr:`~type.__dict__`. Note that this is reliable only " @@ -2425,9 +2536,9 @@ msgid "" "using the definition syntax." msgstr "" "El orden en que se definen los atributos en el cuerpo de la clase se " -"conserva en el ``__dict__`` de la nueva clase. Tenga en cuenta que esto es " -"confiable solo justo después de crear la clase y solo para las clases que se " -"definieron utilizando la sintaxis de definición." +"conserva en el :attr:`~type.__dict__` de la nueva clase. Tenga en cuenta que " +"esto es confiable solo justo después de crear la clase y solo para las " +"clases que se definieron utilizando la sintaxis de definición." #: ../Doc/reference/compound_stmts.rst:1435 msgid "" @@ -2449,12 +2560,17 @@ msgid "" "@f2\n" "class Foo: pass" msgstr "" +"@f1(arg)\n" +"@f2\n" +"class Foo: pass" #: ../Doc/reference/compound_stmts.rst:1448 msgid "" "class Foo: pass\n" "Foo = f1(arg)(f2(Foo))" msgstr "" +"class Foo: pass\n" +"Foo = f1(arg)(f2(Foo))" #: ../Doc/reference/compound_stmts.rst:1451 msgid "" @@ -2476,7 +2592,6 @@ msgstr "" "restrictiva; ver :pep:`614` para más detalles." #: ../Doc/reference/compound_stmts.rst:1459 -#, fuzzy msgid "" "A list of :ref:`type parameters ` may be given in square " "brackets immediately after the class's name. This indicates to static type " @@ -2484,11 +2599,11 @@ msgid "" "retrieved from the class's :attr:`~type.__type_params__` attribute. See :ref:" "`generic-classes` for more." msgstr "" -"Una lista de :ref:`type parameters ` definida inmediatamente " +"Una lista de :ref:`parámetros del tipo ` definida inmediatamente " "después de un nombre de clase debe ir entre corchetes. Esto indica a los " "verificadores de tipo estático que la clase es genérica. En ejecución, el " -"tipo de parámetros puede retirarse de la clase ``__type_params__`` . Para " -"más información ver :ref:`generic-classes` ." +"tipo de parámetros puede retirarse del atributo de la clase :attr:`~type." +"__type_params__`. Para más información consulte :ref:`generic-classes`." #: ../Doc/reference/compound_stmts.rst:1468 msgid "" @@ -2583,6 +2698,9 @@ msgid "" " do_stuff()\n" " await some_coroutine()" msgstr "" +"async def func(param1, param2):\n" +" do_stuff()\n" +" await some_coroutine()" #: ../Doc/reference/compound_stmts.rst:1527 msgid "" @@ -2621,6 +2739,10 @@ msgid "" "else:\n" " SUITE2" msgstr "" +"async for TARGET in ITER:\n" +" SUITE\n" +"else:\n" +" SUITE2" #: ../Doc/reference/compound_stmts.rst:1554 msgid "Is semantically equivalent to::" @@ -2642,6 +2764,19 @@ msgid "" "else:\n" " SUITE2" msgstr "" +"iter = (ITER)\n" +"iter = type(iter).__aiter__(iter)\n" +"running = True\n" +"\n" +"while running:\n" +" try:\n" +" TARGET = await type(iter).__anext__(iter)\n" +" except StopAsyncIteration:\n" +" running = False\n" +" else:\n" +" SUITE\n" +"else:\n" +" SUITE2" #: ../Doc/reference/compound_stmts.rst:1570 msgid "" @@ -2675,6 +2810,8 @@ msgid "" "async with EXPRESSION as TARGET:\n" " SUITE" msgstr "" +"async with EXPRESSION as TARGET:\n" +" SUITE" #: ../Doc/reference/compound_stmts.rst:1595 msgid "" @@ -2695,6 +2832,22 @@ msgid "" " if not hit_except:\n" " await aexit(manager, None, None, None)" msgstr "" +"manager = (EXPRESSION)\n" +"aenter = type(manager).__aenter__\n" +"aexit = type(manager).__aexit__\n" +"value = await aenter(manager)\n" +"hit_except = False\n" +"\n" +"try:\n" +" TARGET = value\n" +" SUITE\n" +"except:\n" +" hit_except = True\n" +" if not await aexit(manager, *sys.exc_info()):\n" +" raise\n" +"finally:\n" +" if not hit_except:\n" +" await aexit(manager, None, None, None)" #: ../Doc/reference/compound_stmts.rst:1612 msgid "" @@ -2731,6 +2884,7 @@ msgstr "Listas de tipo parámetro" #: ../Doc/reference/compound_stmts.rst:1630 msgid "Support for default values was added (see :pep:`696`)." msgstr "" +"Compatibilidad para valores predeterminados se añadió (Consulte :pep:`696`)." #: ../Doc/reference/compound_stmts.rst:1643 msgid "" @@ -2759,6 +2913,20 @@ msgid "" "\n" "type ListOrSet[T] = list[T] | set[T]" msgstr "" +"def max[T](args: list[T]) -> T:\n" +" ...\n" +"\n" +"async def amax[T](args: list[T]) -> T:\n" +" ...\n" +"\n" +"class Bag[T]:\n" +" def __iter__(self) -> Iterator[T]:\n" +" ...\n" +"\n" +" def add(self, arg: T) -> None:\n" +" ...\n" +"\n" +"type ListOrSet[T] = list[T] | set[T]" #: ../Doc/reference/compound_stmts.rst:1662 msgid "" @@ -2790,16 +2958,15 @@ msgstr "" "``T`` no está disponible en el ámbito del módulo. A continuación, se " "describe con más precisión la semántica de los objetos genéricos. El ámbito " "de los parámetros de tipo se modela con una función especial (técnicamente, " -"una :ref:`annotation scope `) que envuelve la creación " +"una :ref:`ámbito de anotación `) que envuelve la creación " "del objeto genérico." #: ../Doc/reference/compound_stmts.rst:1676 -#, fuzzy msgid "" "Generic functions, classes, and type aliases have a :attr:`~definition." "__type_params__` attribute listing their type parameters." msgstr "" -"Las funciones genéricas, clases y alias de tipo tienen un atributo :attr:`!" +"Funciones genéricas, clases y aliases de tipo tienen un atributo ::attr:`~definition." "__type_params__` que lista sus parámetros de tipo." #: ../Doc/reference/compound_stmts.rst:1679 @@ -2891,6 +3058,16 @@ msgid "" "default value is specified for a type parameter, the ``__default__`` " "attribute is set to the special sentinel object :data:`typing.NoDefault`." msgstr "" +"Los tres sabores de parámetros de tipo también pueden tener un *valor " +"predeterminado*, lo que se usa cuando el parámetro de tipo no se proporciona " +"explícitamente. Esto se añade adjuntando un solo signo igual (``=``) seguido " +"por una expresión. Como los límites y restricciones del tipo variables, el " +"valor predeterminado no se evalúa cuando el objeto se crea, solamente " +"cuando se accede el atributo ``__default__`` del parámetro del tipo. Con " +"este fin, el valor predeterminado se evalúa en un :ref:`ámbito de anotación " +"` separado. Si no se especifica un valor predeterminado " +"para un parámetro de tipo, el atributo ``__default__`` se establece en el " +"objeto de centinela especial :data:`typing.NoDefault`." #: ../Doc/reference/compound_stmts.rst:1717 msgid "" @@ -2917,6 +3094,20 @@ msgid "" " *e: SimpleTypeVarTuple,\n" "): ..." msgstr "" +"def overly_generic[\n" +" SimpleTypeVar,\n" +" TypeVarWithDefault = int,\n" +" TypeVarWithBound: int,\n" +" TypeVarWithConstraints: (str, bytes),\n" +" *SimpleTypeVarTuple = (int, float),\n" +" **SimpleParamSpec = (str, bytearray),\n" +"](\n" +" a: SimpleTypeVar,\n" +" b: TypeVarWithDefault,\n" +" c: TypeVarWithBound,\n" +" d: Callable[SimpleParamSpec, TypeVarWithConstraints],\n" +" *e: SimpleTypeVarTuple,\n" +"): ..." #: ../Doc/reference/compound_stmts.rst:1737 msgid "Generic functions" @@ -2928,7 +3119,7 @@ msgstr "Las funciones genéricas son declaradas de la siguiente forma::" #: ../Doc/reference/compound_stmts.rst:1741 msgid "def func[T](arg: T): ..." -msgstr "" +msgstr "def func[T](arg: T): ..." #: ../Doc/reference/compound_stmts.rst:1743 #: ../Doc/reference/compound_stmts.rst:1803 @@ -2944,6 +3135,12 @@ msgid "" " return func\n" "func = TYPE_PARAMS_OF_func()" msgstr "" +"annotation-def TYPE_PARAMS_OF_func():\n" +" T = typing.TypeVar(\"T\")\n" +" def func(arg: T): ...\n" +" func.__type_params__ = (T,)\n" +" return func\n" +"func = TYPE_PARAMS_OF_func()" #: ../Doc/reference/compound_stmts.rst:1752 msgid "" @@ -2953,7 +3150,7 @@ msgid "" "attribute access on the :mod:`typing` module, but creates an instance of :" "data:`typing.TypeVar` directly.)" msgstr "" -"Aquí ``annotation-def`` indica un :ref:`annotation scope `, que en realidad no está vinculado a ningún nombre en tiempo de " "ejecución. (Se ha tomado otra libertad en la traducción: la sintaxis no pasa " "por el acceso a atributos en el módulo :mod:`typing`, sino que crea una " @@ -2983,6 +3180,9 @@ msgid "" "def func[T: int, *Ts, **P](*args: *Ts, arg: Callable[P, T] = some_default):\n" " ..." msgstr "" +"@decorator\n" +"def func[T: int, *Ts, **P](*args: *Ts, arg: Callable[P, T] = some_default):\n" +" ..." #: ../Doc/reference/compound_stmts.rst:1769 msgid "" @@ -2992,6 +3192,8 @@ msgstr "" "Excepto para la :ref:`lazy-evaluation ` del :class:`~typing." "TypeVar` vinculada, esto es equivalente a::" +# No se pueden traducir los commentarios hasta que pospell tenga la habilidad +# de entender líneas de código. #: ../Doc/reference/compound_stmts.rst:1772 msgid "" "DEFAULT_OF_arg = some_default\n" @@ -3013,6 +3215,24 @@ msgid "" " return func\n" "func = decorator(TYPE_PARAMS_OF_func())" msgstr "" +"DEFAULT_OF_arg = some_default\n" +"\n" +"annotation-def TYPE_PARAMS_OF_func():\n" +"\n" +" annotation-def BOUND_OF_T():\n" +" return int\n" +" # In reality, BOUND_OF_T() is evaluated only on demand.\n" +" T = typing.TypeVar(\"T\", bound=BOUND_OF_T())\n" +"\n" +" Ts = typing.TypeVarTuple(\"Ts\")\n" +" P = typing.ParamSpec(\"P\")\n" +"\n" +" def func(*args: *Ts, arg: Callable[P, T] = DEFAULT_OF_arg):\n" +" ...\n" +"\n" +" func.__type_params__ = (T, Ts, P)\n" +" return func\n" +"func = decorator(TYPE_PARAMS_OF_func())" #: ../Doc/reference/compound_stmts.rst:1791 msgid "" @@ -3032,7 +3252,7 @@ msgstr "Las clases genéricas son declaradas de la siguiente forma::" #: ../Doc/reference/compound_stmts.rst:1801 msgid "class Bag[T]: ..." -msgstr "" +msgstr "class Bag[T]: ..." #: ../Doc/reference/compound_stmts.rst:1805 msgid "" @@ -3044,6 +3264,13 @@ msgid "" " return Bag\n" "Bag = TYPE_PARAMS_OF_Bag()" msgstr "" +"annotation-def TYPE_PARAMS_OF_Bag():\n" +" T = typing.TypeVar(\"T\")\n" +" class Bag(typing.Generic[T]):\n" +" __type_params__ = (T,)\n" +" ...\n" +" return Bag\n" +"Bag = TYPE_PARAMS_OF_Bag()" #: ../Doc/reference/compound_stmts.rst:1813 msgid "" @@ -3052,7 +3279,7 @@ msgid "" "is not actually bound at runtime." msgstr "" "Aquí de nuevo ``annotation-def`` (no es una palabra clave real) indica un :" -"ref:`annotation scope `, y el nombre " +"ref:`ámbito de anotación `, y el nombre " "``TYPE_PARAMS_OF_Bag`` no está vinculado en tiempo de ejecución." #: ../Doc/reference/compound_stmts.rst:1817 @@ -3073,6 +3300,8 @@ msgid "" "@decorator\n" "class Bag(Base[T], arg=T): ..." msgstr "" +"@decorator\n" +"class Bag(Base[T], arg=T): ..." #: ../Doc/reference/compound_stmts.rst:1826 msgid "This is equivalent to::" @@ -3088,6 +3317,13 @@ msgid "" " return Bag\n" "Bag = decorator(TYPE_PARAMS_OF_Bag())" msgstr "" +"annotation-def TYPE_PARAMS_OF_Bag():\n" +" T = typing.TypeVar(\"T\")\n" +" class Bag(Base[T], typing.Generic[T], arg=T):\n" +" __type_params__ = (T,)\n" +" ...\n" +" return Bag\n" +"Bag = decorator(TYPE_PARAMS_OF_Bag())" #: ../Doc/reference/compound_stmts.rst:1839 msgid "Generic type aliases" @@ -3103,7 +3339,7 @@ msgstr "" #: ../Doc/reference/compound_stmts.rst:1843 msgid "type ListOrSet[T] = list[T] | set[T]" -msgstr "" +msgstr "type ListOrSet[T] = list[T] | set[T]" #: ../Doc/reference/compound_stmts.rst:1845 msgid "" @@ -3113,6 +3349,8 @@ msgstr "" "Excepto para la :ref:`evaluación perezosa ` del valor, esto " "es equivalente a::" +# No se pueden traducir los commentarios hasta que pospell tenga la habilidad +# de entender líneas de código. #: ../Doc/reference/compound_stmts.rst:1848 msgid "" "annotation-def TYPE_PARAMS_OF_ListOrSet():\n" @@ -3125,6 +3363,15 @@ msgid "" "type_params=(T,))\n" "ListOrSet = TYPE_PARAMS_OF_ListOrSet()" msgstr "" +"annotation-def TYPE_PARAMS_OF_ListOrSet():\n" +" T = typing.TypeVar(\"T\")\n" +"\n" +" annotation-def VALUE_OF_ListOrSet():\n" +" return list[T] | set[T]\n" +" # In reality, the value is lazily evaluated\n" +" return typing.TypeAliasType(\"ListOrSet\", VALUE_OF_ListOrSet(), " +"type_params=(T,))\n" +"ListOrSet = TYPE_PARAMS_OF_ListOrSet()" #: ../Doc/reference/compound_stmts.rst:1857 msgid "" @@ -3133,7 +3380,7 @@ msgid "" "``TYPE_PARAMS_OF_ListOrSet`` are not actually bound at runtime." msgstr "" "Aquí, ``annotation-def`` (no es una palabra clave real) indica un :ref:" -"`annotation scope `. Los nombres en mayúsculas como " +"`ámbito de anotación `. Los nombres en mayúsculas como " "``TYPE_PARAMS_OF_ListOrSet`` no están vinculados en tiempo de ejecución." #: ../Doc/reference/compound_stmts.rst:1862 @@ -3240,26 +3487,24 @@ msgstr "" "MappingProxyType` son asignaciones." #: ../Doc/reference/compound_stmts.rst:1896 -#, fuzzy msgid "" "A string literal appearing as the first statement in the function body is " "transformed into the function's :attr:`~function.__doc__` attribute and " "therefore the function's :term:`docstring`." msgstr "" -"Una cadena de caracteres literal que aparece como la primera sentencia en el " -"cuerpo de la función se transforma en el atributo ``__doc__`` de la función " -"y, por lo tanto, en funciones :term:`docstring`." +"Una cadena de caracteres literal que aparece como la primera declaración en " +"el cuerpo de la función se transforma en el atributo :attr:`~function." +"__doc__` y por lo tanto en :term:`docstring` de la función." #: ../Doc/reference/compound_stmts.rst:1900 -#, fuzzy msgid "" "A string literal appearing as the first statement in the class body is " "transformed into the namespace's :attr:`~type.__doc__` item and therefore " "the class's :term:`docstring`." msgstr "" -"Una cadena de caracteres literal que aparece como la primera sentencia en el " -"cuerpo de la clase se transforma en el elemento del espacio de nombre " -"``__doc__`` y, por lo tanto, de la clase :term:`docstring`." +"Una cadena de caracteres literal que aparece como la primera declaración en " +"el cuerpo de la clase se transforma en el elemento del espacio de nombre :" +"attr:`~type.__doc__` y, por lo tanto, de la clase :term:`docstring`." #: ../Doc/reference/compound_stmts.rst:7 msgid "compound" From 34166cd4e1337aa0a799c5d176ad5b4ecd0f150c Mon Sep 17 00:00:00 2001 From: Francisco Mora <193986059+srmorita@users.noreply.github.com> Date: Tue, 4 Feb 2025 12:42:10 -0300 Subject: [PATCH 18/41] Traducido archivo c-api/number (#3368) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #3275 Se corrigen fuzzy, traducciones faltantes se mantienen, ya que, son código. --------- Signed-off-by: Francisco Mora --- c-api/number.po | 85 ++++++++++++++++++++++++------------------------- 1 file changed, 41 insertions(+), 44 deletions(-) diff --git a/c-api/number.po b/c-api/number.po index 6ec7173f10..25cb1c4dd6 100644 --- a/c-api/number.po +++ b/c-api/number.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: 2024-01-27 17:24+0100\n" -"Last-Translator: Meta Louis-Kosmas \n" -"Language: es\n" +"PO-Revision-Date: 2025-02-03 17:14-0300\n" +"Last-Translator: srmorita \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.5\n" #: ../Doc/c-api/number.rst:6 msgid "Number Protocol" @@ -80,7 +81,6 @@ msgstr "" "``o1 // o2``." #: ../Doc/c-api/number.rst:52 -#, fuzzy msgid "" "Return a reasonable approximation for the mathematical value of *o1* divided " "by *o2*, or ``NULL`` on failure. The return value is \"approximate\" " @@ -92,7 +92,7 @@ msgstr "" "Retorna una aproximación razonable para el valor matemático de *o1* dividido " "por *o2* o ``NULL`` en caso de falla. El valor de retorno es \"aproximado\" " "porque los números binarios de punto flotante son aproximados; No es posible " -"representar todos los números reales en la base dos. Esta función puede " +"representar todos los números reales en base dos. Esta función puede " "retornar un valor de punto flotante cuando se pasan dos enteros. Es " "equivalente a la expresión de Python ``o1 / o2``." @@ -256,7 +256,6 @@ msgstr "" "o2``." #: ../Doc/c-api/number.rst:178 -#, fuzzy msgid "" "Return a reasonable approximation for the mathematical value of *o1* divided " "by *o2*, or ``NULL`` on failure. The return value is \"approximate\" " @@ -269,7 +268,7 @@ msgstr "" "Retorna una aproximación razonable para el valor matemático de *o1* dividido " "por *o2* o ``NULL`` en caso de falla. El valor de retorno es \"aproximado\" " "porque los números binarios de coma flotante son aproximados; No es posible " -"representar todos los números reales en la base dos. Esta función puede " +"representar todos los números reales en base dos. Esta función puede " "retornar un valor de punto flotante cuando se pasan dos enteros. La " "operación se realiza en su lugar (*in-place*) cuando *o1* lo admite." @@ -296,9 +295,9 @@ msgstr "" "falla. La operación se realiza en su lugar (*in-place*) cuando *o1* lo " "admite. Este es el equivalente de la declaración de Python ``o1 **= o2`` " "cuando *o3* es :c:data:`Py_None`, o una variante en su lugar (*in-place*) de " -"``pow (o1, o2, o3)`` de lo contrario. Si se ignora *o3*, pase :c:data:" -"`Py_None` en su lugar (pasar ``NULL`` para *o3* provocaría un acceso ilegal " -"a la memoria)." +"``pow (o1, o2, o3)`` de lo contrario. Si se ignora *o3*, " +"pase :c:data:`Py_None` en su lugar (pasar ``NULL`` para *o3* provocaría un " +"acceso ilegal a la memoria)." #: ../Doc/c-api/number.rst:206 msgid "" @@ -374,8 +373,8 @@ msgstr "" #: ../Doc/c-api/number.rst:257 msgid "" -"Returns the *o* converted to a Python int on success or ``NULL`` with a :exc:" -"`TypeError` exception raised on failure." +"Returns the *o* converted to a Python int on success or ``NULL`` with " +"a :exc:`TypeError` exception raised on failure." msgstr "" "Retorna el *o* convertido aun entero de Python (*int*) en caso de éxito o " "``NULL`` con una excepción :exc:`TypeError` lanzada en caso de error." @@ -393,8 +392,8 @@ msgid "" "Returns the integer *n* converted to base *base* as a string. The *base* " "argument must be one of 2, 8, 10, or 16. For base 2, 8, or 16, the returned " "string is prefixed with a base marker of ``'0b'``, ``'0o'``, or ``'0x'``, " -"respectively. If *n* is not a Python int, it is converted with :c:func:" -"`PyNumber_Index` first." +"respectively. If *n* is not a Python int, it is converted " +"with :c:func:`PyNumber_Index` first." msgstr "" "Retorna el entero *n* convertido a base *base* como una cadena de " "caracteres. El argumento *base* debe ser uno de 2, 8, 10 o 16. Para la base " @@ -403,66 +402,64 @@ msgstr "" "(*int*) Python, primero se convierte con :c:func:`PyNumber_Index`." #: ../Doc/c-api/number.rst:276 -#, fuzzy msgid "" "Returns *o* converted to a :c:type:`Py_ssize_t` value if *o* can be " "interpreted as an integer. If the call fails, an exception is raised and " "``-1`` is returned." msgstr "" -"Retorna *o* convertido a un valor ``Py_ssize_t`` si *o* puede interpretarse " -"como un entero. Si la llamada falla, se lanza una excepción y se retorna " -"``-1``." +"Retorna *o* convertido a un valor :c:type:`Py_ssize_t` si *o* puede " +"interpretarse como un entero. Si la llamada falla, se lanza una excepción y " +"se retorna ``-1``." #: ../Doc/c-api/number.rst:279 -#, fuzzy -msgid "" -"If *o* can be converted to a Python int but the attempt to convert to a :c:" -"type:`Py_ssize_t` value would raise an :exc:`OverflowError`, then the *exc* " -"argument is the type of exception that will be raised (usually :exc:" -"`IndexError` or :exc:`OverflowError`). If *exc* is ``NULL``, then the " -"exception is cleared and the value is clipped to ``PY_SSIZE_T_MIN`` for a " -"negative integer or ``PY_SSIZE_T_MAX`` for a positive integer." -msgstr "" -"Si *o* se puede convertir a un entero Python (*int*) pero el intento de " -"convertir a un valor ``Py_ssize_t`` lanzaría un :exc:`OverflowError`, " -"entonces el argumento *exc* es el tipo de excepción que se lanzará " -"(generalmente :exc:`IndexError` o :exc:`OverflowError`). Si *exc* es " -"``NULL``, la excepción se borra y el valor se recorta a ``PY_SSIZE_T_MIN`` " -"para un entero negativo o ``PY_SSIZE_T_MAX`` para un entero positivo." +msgid "" +"If *o* can be converted to a Python int but the attempt to convert to " +"a :c:type:`Py_ssize_t` value would raise an :exc:`OverflowError`, then the " +"*exc* argument is the type of exception that will be raised " +"(usually :exc:`IndexError` or :exc:`OverflowError`). If *exc* is ``NULL``, " +"then the exception is cleared and the value is clipped to ``PY_SSIZE_T_MIN`` " +"for a negative integer or ``PY_SSIZE_T_MAX`` for a positive integer." +msgstr "" +"Si *o* puede convertirse a un entero de Python pero el intento de " +"convertirlo a un valor :c:type:`Py_ssize_t` lanzaría " +"un :exc:`OverflowError`, entonces el argumento *exc* es el tipo de excepción " +"que se lanzará (normalmente :exc:`IndexError` o :exc:`OverflowError`). Si " +"*exc* es ``NULL``, la excepción se borra y el valor se recorta a " +"``PY_SSIZE_T_MIN`` para un entero negativo o a ``PY_SSIZE_T_MAX`` para un " +"entero positivo." #: ../Doc/c-api/number.rst:289 -#, fuzzy msgid "" "Returns ``1`` if *o* is an index integer (has the ``nb_index`` slot of the " "``tp_as_number`` structure filled in), and ``0`` otherwise. This function " "always succeeds." msgstr "" -"Retorna ``1`` si *o* es un entero índice (tiene el espacio ``nb_index`` de " -"la estructura ``tp_as_number`` rellenado) y ``0`` en caso contrario. Esta " -"función siempre tiene éxito." +"Retorna ``1`` si *o* es un entero índice (tiene la ranura ``nb_index`` de la " +"estructura ``tp_as_number`` rellenada), y ``0`` en caso contrario. Esta " +"función siempre finaliza con éxito." #: ../Doc/c-api/number.rst:67 ../Doc/c-api/number.rst:75 #: ../Doc/c-api/number.rst:97 ../Doc/c-api/number.rst:195 #: ../Doc/c-api/number.rst:241 ../Doc/c-api/number.rst:249 msgid "built-in function" -msgstr "" +msgstr "built-in function" #: ../Doc/c-api/number.rst:67 msgid "divmod" -msgstr "" +msgstr "divmod" #: ../Doc/c-api/number.rst:75 ../Doc/c-api/number.rst:195 msgid "pow" -msgstr "" +msgstr "pow" #: ../Doc/c-api/number.rst:97 msgid "abs" -msgstr "" +msgstr "abs" #: ../Doc/c-api/number.rst:241 msgid "int" -msgstr "" +msgstr "int" #: ../Doc/c-api/number.rst:249 msgid "float" -msgstr "" +msgstr "float" From 2a167a622b977dfad896ff1a55823f5713880915 Mon Sep 17 00:00:00 2001 From: Carlos Mena <50986837+carlosm00@users.noreply.github.com> Date: Thu, 6 Feb 2025 05:21:26 +0100 Subject: [PATCH 19/41] Traduccion deprecations/pending removal in 3.14.po (#3367) Closes #3295 --- deprecations/pending-removal-in-3.14.po | 112 +++++++++++++++++++----- 1 file changed, 88 insertions(+), 24 deletions(-) diff --git a/deprecations/pending-removal-in-3.14.po b/deprecations/pending-removal-in-3.14.po index b1ab292270..2b54cd1856 100644 --- a/deprecations/pending-removal-in-3.14.po +++ b/deprecations/pending-removal-in-3.14.po @@ -10,19 +10,20 @@ msgstr "" "Project-Id-Version: Python en Español 3.13\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: FULL NAME \n" -"Language: es\n" +"PO-Revision-Date: 2025-02-03 22:46+0100\n" +"Last-Translator: Carlos Mena Pérez <@carlosm00>\n" "Language-Team: 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.5\n" #: ../Doc/deprecations/pending-removal-in-3.14.rst:2 msgid "Pending Removal in Python 3.14" -msgstr "" +msgstr "Pendiente de eliminación en Python 3.13" #: ../Doc/deprecations/pending-removal-in-3.14.rst:4 msgid "" @@ -30,6 +31,9 @@ msgid "" "argparse.BooleanOptionalAction` are deprecated and will be removed in 3.14. " "(Contributed by Nikita Sobolev in :gh:`92248`.)" msgstr "" +":mod:`argparse`: Los parámetros de :class:`!argparse.BooleanOptionalAction`, " +"*type*, *choices*, y *metavar*, son obsoletos y serán eliminados en la " +"versión 3.14 (Contribución de Nikita Sobolev en :gh:`92248`.)" #: ../Doc/deprecations/pending-removal-in-3.14.rst:9 msgid "" @@ -37,36 +41,42 @@ msgid "" "since Python 3.8, now cause a :exc:`DeprecationWarning` to be emitted at " "runtime when they are accessed or used, and will be removed in Python 3.14:" msgstr "" +":mod:`ast`: Las siguientes capacidades han quedado obsoletas en la " +"documentación desde Python 3.8, ahora hacen que se emita una excepción :exc:" +"`DeprecationWarning` en tiempo de ejecución cuando se accede a ellas o se " +"utilizan, y se eliminarán en Python 3.14:" #: ../Doc/deprecations/pending-removal-in-3.14.rst:13 msgid ":class:`!ast.Num`" -msgstr "" +msgstr ":class:`!ast.Num`" #: ../Doc/deprecations/pending-removal-in-3.14.rst:14 msgid ":class:`!ast.Str`" -msgstr "" +msgstr ":class:`!ast.Str`" #: ../Doc/deprecations/pending-removal-in-3.14.rst:15 msgid ":class:`!ast.Bytes`" -msgstr "" +msgstr ":class:`!ast.Bytes`" #: ../Doc/deprecations/pending-removal-in-3.14.rst:16 msgid ":class:`!ast.NameConstant`" -msgstr "" +msgstr ":class:`!ast.NameConstant`" #: ../Doc/deprecations/pending-removal-in-3.14.rst:17 msgid ":class:`!ast.Ellipsis`" -msgstr "" +msgstr ":class:`!ast.Ellipsis`" #: ../Doc/deprecations/pending-removal-in-3.14.rst:19 msgid "" "Use :class:`ast.Constant` instead. (Contributed by Serhiy Storchaka in :gh:" "`90953`.)" msgstr "" +"Use :class:`ast.Constant` en su lugar. (Contribución de Serhiy Storchaka en :" +"gh:`90953`.)" #: ../Doc/deprecations/pending-removal-in-3.14.rst:22 msgid ":mod:`asyncio`:" -msgstr "" +msgstr ":mod:`asyncio`:" #: ../Doc/deprecations/pending-removal-in-3.14.rst:24 msgid "" @@ -75,6 +85,11 @@ msgid "" "class:`~asyncio.SafeChildWatcher` are deprecated and will be removed in " "Python 3.14. (Contributed by Kumar Aditya in :gh:`94597`.)" msgstr "" +"Las clases de observadores de procesos :class:`~asyncio." +"MultiLoopChildWatcher`, :class:`~asyncio.FastChildWatcher`, :class:`~asyncio." +"AbstractChildWatcher` y :class:`~asyncio.SafeChildWatcher` quedan obsoletos " +"y serán eliminadas en Python 3.14. (Contribución de Kumar Aditya en :gh:" +"`94597`.)" #: ../Doc/deprecations/pending-removal-in-3.14.rst:30 msgid "" @@ -83,6 +98,10 @@ msgid "" "AbstractEventLoopPolicy.get_child_watcher` are deprecated and will be " "removed in Python 3.14. (Contributed by Kumar Aditya in :gh:`94597`.)" msgstr "" +":func:`asyncio.set_child_watcher`, :func:`asyncio.get_child_watcher`, :meth:" +"`asyncio.AbstractEventLoopPolicy.set_child_watcher` y :meth:`asyncio." +"AbstractEventLoopPolicy.get_child_watcher` quedan obsoletos y serán " +"eliminadas en Python 3.14. (Contribución de Kumar Aditya en :gh:`94597`.)" #: ../Doc/deprecations/pending-removal-in-3.14.rst:36 msgid "" @@ -91,6 +110,10 @@ msgid "" "and it decides to create one. (Contributed by Serhiy Storchaka and Guido van " "Rossum in :gh:`100160`.)" msgstr "" +"El método :meth:`~asyncio.get_event_loop` de la política de bucle de eventos " +"predeterminada ahora emite un :exc:`DeprecationWarning` si no hay ningún " +"bucle de eventos definido actualmente y decide crear uno. (Contribución de " +"Serhiy Storchaka y Guido van Rossum en :gh:`100160`.)" #: ../Doc/deprecations/pending-removal-in-3.14.rst:41 msgid "" @@ -99,44 +122,50 @@ msgid "" "typing, prefer a union, like ``bytes | bytearray``, or :class:`collections." "abc.Buffer`. (Contributed by Shantanu Jain in :gh:`91896`.)" msgstr "" +":mod:`collections.abc`: :class:`~collections.abc.ByteString` queda obsoleto. " +"Se prefiere :class:`!Sequence` o :class:`~collections.abc.Buffer`. Para uso " +"en tipificación, se prefiere una unión, como ``bytes | bytearray`` o :class:" +"`collections.abc.Buffer`. (Contribución de Shantanu Jain en :gh:`91896`.)" #: ../Doc/deprecations/pending-removal-in-3.14.rst:47 msgid "" ":mod:`email`: Deprecated the *isdst* parameter in :func:`email.utils." "localtime`. (Contributed by Alan Williams in :gh:`72346`.)" msgstr "" +":mod:`email`: Se ha descontinuado el parámetro *isdst* en :func:`email.utils." +"localtime`. (Contribución de Alan Williams en :gh:`72346`.)" #: ../Doc/deprecations/pending-removal-in-3.14.rst:50 msgid ":mod:`importlib.abc` deprecated classes:" -msgstr "" +msgstr "Clases obsoletas de :mod:`importlib.abc`:" #: ../Doc/deprecations/pending-removal-in-3.14.rst:52 msgid ":class:`!importlib.abc.ResourceReader`" -msgstr "" +msgstr ":class:`!importlib.abc.ResourceReader`" #: ../Doc/deprecations/pending-removal-in-3.14.rst:53 msgid ":class:`!importlib.abc.Traversable`" -msgstr "" +msgstr ":class:`!importlib.abc.Traversable`" #: ../Doc/deprecations/pending-removal-in-3.14.rst:54 msgid ":class:`!importlib.abc.TraversableResources`" -msgstr "" +msgstr ":class:`!importlib.abc.TraversableResources`" #: ../Doc/deprecations/pending-removal-in-3.14.rst:56 msgid "Use :mod:`importlib.resources.abc` classes instead:" -msgstr "" +msgstr "Use las clases :mod:`importlib.resources.abc` en su lugar:" #: ../Doc/deprecations/pending-removal-in-3.14.rst:58 msgid ":class:`importlib.resources.abc.Traversable`" -msgstr "" +msgstr ":class:`importlib.resources.abc.Traversable`" #: ../Doc/deprecations/pending-removal-in-3.14.rst:59 msgid ":class:`importlib.resources.abc.TraversableResources`" -msgstr "" +msgstr ":class:`importlib.resources.abc.TraversableResources`" #: ../Doc/deprecations/pending-removal-in-3.14.rst:61 msgid "(Contributed by Jason R. Coombs and Hugo van Kemenade in :gh:`93963`.)" -msgstr "" +msgstr "(Contribución de Jason R. Coombs y Hugo van Kemenade en :gh:`93963`.)" #: ../Doc/deprecations/pending-removal-in-3.14.rst:63 msgid "" @@ -145,6 +174,11 @@ msgid "" "removed in 3.14 for a significant reduction in code volume and maintenance " "burden. (Contributed by Raymond Hettinger in :gh:`101588`.)" msgstr "" +":mod:`itertools` tenía un soporte indocumentado, ineficiente, históricamente " +"lleno de errores e inconsistente para operaciones de copia, copia profunda y " +"*pickle*. Esto se eliminará en la versión 3.14 para lograr una reducción " +"significativa en el volumen de código y la carga de mantenimiento. " +"(Contribución de Raymond Hettinger en :gh:`101588`.)" #: ../Doc/deprecations/pending-removal-in-3.14.rst:69 msgid "" @@ -156,12 +190,23 @@ msgid "" "set_start_method` APIs to explicitly specify when your code *requires* " "``'fork'``. See :ref:`multiprocessing-start-methods`." msgstr "" +":mod:`multiprocessing`: El método de inicio predeterminado cambiará a uno " +"más seguro en Linux, BSDs y otras plataformas POSIX que no sean macOS donde " +"``'fork'`` es actualmente el predeterminado (:gh:`84559`). Agregar una " +"advertencia de tiempo de ejecución sobre esto se consideró demasiado " +"disruptivo, ya que no se espera que la mayoría del código tenga en cuenta " +"esto. Use las APIs :func:`~multiprocessing.get_context` o :func:" +"`~multiprocessing.set_start_method` para especificar explícitamente cuándo " +"su código *requires* ``'fork'``. Consulte :ref:`multiprocessing-start-" +"methods`." #: ../Doc/deprecations/pending-removal-in-3.14.rst:77 msgid "" ":mod:`pathlib`: :meth:`~pathlib.PurePath.is_relative_to` and :meth:`~pathlib." "PurePath.relative_to`: passing additional arguments is deprecated." msgstr "" +":mod:`pathlib`: :meth:`~pathlib.PurePath.is_relative_to` y :meth:`~pathlib." +"PurePath.relative_to`: pasar argumentos adicionales está obsoleto." #: ../Doc/deprecations/pending-removal-in-3.14.rst:81 msgid "" @@ -169,26 +214,29 @@ msgid "" "now raise :exc:`DeprecationWarning`; use :func:`importlib.util.find_spec` " "instead. (Contributed by Nikita Sobolev in :gh:`97850`.)" msgstr "" +":mod:`pkgutil`: :func:`~pkgutil.find_loader` y :func:`~pkgutil.get_loader` " +"ahora generan :exc:`DeprecationWarning`; use :func:`importlib.util." +"find_spec` en su lugar. (Contribución de Nikita Sobolev en :gh:`97850`.)" #: ../Doc/deprecations/pending-removal-in-3.14.rst:86 msgid ":mod:`pty`:" -msgstr "" +msgstr ":mod:`pty`:" #: ../Doc/deprecations/pending-removal-in-3.14.rst:88 msgid "``master_open()``: use :func:`pty.openpty`." -msgstr "" +msgstr "``master_open()``: use :func:`pty.openpty`." #: ../Doc/deprecations/pending-removal-in-3.14.rst:89 msgid "``slave_open()``: use :func:`pty.openpty`." -msgstr "" +msgstr "``slave_open()``: use :func:`pty.openpty`." #: ../Doc/deprecations/pending-removal-in-3.14.rst:91 msgid ":mod:`sqlite3`:" -msgstr "" +msgstr ":mod:`sqlite3`:" #: ../Doc/deprecations/pending-removal-in-3.14.rst:93 msgid ":data:`~sqlite3.version` and :data:`~sqlite3.version_info`." -msgstr "" +msgstr ":data:`~sqlite3.version` y :data:`~sqlite3.version_info`." #: ../Doc/deprecations/pending-removal-in-3.14.rst:95 msgid "" @@ -196,12 +244,18 @@ msgid "" "ref:`named placeholders ` are used and *parameters* is " "a sequence instead of a :class:`dict`." msgstr "" +":meth:`~sqlite3.Cursor.execute` y :meth:`~sqlite3.Cursor.executemany` si se " +"utilizan :ref:`marcadores de posición con nombre ` y " +"*parameters* es una secuencia en lugar de :class:`dict`." #: ../Doc/deprecations/pending-removal-in-3.14.rst:99 msgid "" "date and datetime adapter, date and timestamp converter: see the :mod:" "`sqlite3` documentation for suggested replacement recipes." msgstr "" +"Adaptador de fecha y hora, convertidor de fecha y marca de tiempo: consulte " +"la documentación de :mod:`sqlite3` para obtener recetas de reemplazo " +"sugeridas." #: ../Doc/deprecations/pending-removal-in-3.14.rst:102 msgid "" @@ -210,12 +264,19 @@ msgid "" "but it only got a proper :exc:`DeprecationWarning` in 3.12. May be removed " "in 3.14. (Contributed by Nikita Sobolev in :gh:`101866`.)" msgstr "" +":class:`types.CodeType`: El acceso a :attr:`~codeobject.co_lnotab` quedó " +"obsoleto en :pep:`626` desde la versión 3.10, y se planeó eliminarlo en la " +"versión 3.12, pero recién se agregó un :exc:`DeprecationWarning` adecuado en " +"la versión 3.12. Es posible que se elimine en la versión 3.14. (Contribución " +"de Nikita Sobolev en :gh:`101866`.)" #: ../Doc/deprecations/pending-removal-in-3.14.rst:109 msgid "" ":mod:`typing`: :class:`~typing.ByteString`, deprecated since Python 3.9, now " "causes a :exc:`DeprecationWarning` to be emitted when it is used." msgstr "" +":mod:`typing`: :class:`~typing.ByteString`, obsoleto desde Python 3.9, ahora " +"hace que se emita un :exc:`DeprecationWarning` cuando se utiliza." #: ../Doc/deprecations/pending-removal-in-3.14.rst:112 msgid "" @@ -223,3 +284,6 @@ msgid "" "intended to be a public API. (Contributed by Gregory P. Smith in :gh:" "`88168`.)" msgstr "" +":mod:`urllib`: :class:`!urllib.parse.Quoter` está obsoleto: no estaba " +"destinado a ser una API pública. (Contribución de Gregory P. Smith en :gh:" +"`88168`.)" From c17edf6507f986746450663e995a617373a3d027 Mon Sep 17 00:00:00 2001 From: Francisco Mora <193986059+srmorita@users.noreply.github.com> Date: Tue, 11 Feb 2025 04:27:17 -0300 Subject: [PATCH 20/41] Traducido archivo c-api/weakref (#3369) Closes #3264 --------- Co-authored-by: rtobar --- c-api/number.po | 2 +- c-api/weakref.po | 74 +++++++++++++++++++++++++++++------------------- 2 files changed, 46 insertions(+), 30 deletions(-) diff --git a/c-api/number.po b/c-api/number.po index 25cb1c4dd6..aa3192b079 100644 --- a/c-api/number.po +++ b/c-api/number.po @@ -11,7 +11,7 @@ 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: 2025-02-03 17:14-0300\n" +"PO-Revision-Date: 2025-02-05 17:10-0300\n" "Last-Translator: srmorita \n" "Language-Team: python-doc-es\n" "Language: es\n" diff --git a/c-api/weakref.po b/c-api/weakref.po index 8084c69ade..93e696e785 100644 --- a/c-api/weakref.po +++ b/c-api/weakref.po @@ -11,16 +11,17 @@ 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: 2021-10-18 19:38+0200\n" -"Last-Translator: Diego Cristóbal Herreros \n" +"PO-Revision-Date: 2025-02-07 10:04-0300\n" +"Last-Translator: srmorita \n" +"Language-Team: python-doc-es (https://mail.python.org/mailman3/lists/docs-" +"es.python.org)\n" "Language: es\n" -"Language-Team: python-doc-es (https://mail.python.org/mailman3/lists/docs-es." -"python.org)\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Generated-By: Babel 2.16.0\n" +"X-Generator: Poedit 3.5\n" #: ../Doc/c-api/weakref.rst:6 msgid "Weak Reference Objects" @@ -39,33 +40,29 @@ msgstr "" "como un proxy del objeto original tanto como pueda." #: ../Doc/c-api/weakref.rst:16 -#, fuzzy msgid "" "Return non-zero if *ob* is either a reference or proxy object. This " "function always succeeds." msgstr "" -"Retorna verdadero (true) si *ob* es una referencia o un objeto proxy. Esta " -"función siempre finaliza con éxito." +"Retorna un valor distinto de cero si *ob* es una referencia o un objeto " +"proxy. Esta función siempre finaliza con éxito." #: ../Doc/c-api/weakref.rst:22 -#, fuzzy msgid "" "Return non-zero if *ob* is a reference object. This function always " "succeeds." msgstr "" -"Retorna verdadero (true) si *ob* es un objeto de referencia. Esta función " -"siempre finaliza con éxito." +"Retorna un valor distinto de cero si *ob* es un objeto de referencia. Esta " +"función siempre finaliza con éxito." #: ../Doc/c-api/weakref.rst:27 -#, fuzzy msgid "" "Return non-zero if *ob* is a proxy object. This function always succeeds." msgstr "" -"Retorna verdadero (true) si *ob* es un objeto proxy. Esta función siempre " -"finaliza con éxito." +"Retorna un valor distinto de cero si *ob* es un objeto proxy. Esta función " +"siempre finaliza con éxito." #: ../Doc/c-api/weakref.rst:32 -#, fuzzy msgid "" "Return a weak reference object for the object *ob*. This will always return " "a new reference, but is not guaranteed to create a new object; an existing " @@ -84,10 +81,9 @@ msgstr "" "parámetro, el cual será el mismo objeto de referencia débil. *callback* " "también puede ser ``None`` o ``NULL``. Si *ob* no es un objeto que puede ser " "referido de forma débil, o si *callback* no es invocable, ``None``, o " -"``NULL``, esto retornará ``NULL`` y causará un :exc:`TypeError`." +"``NULL``, esto retornará ``NULL`` y lanzará un :exc:`TypeError`." #: ../Doc/c-api/weakref.rst:44 -#, fuzzy msgid "" "Return a weak reference proxy object for the object *ob*. This will always " "return a new reference, but is not guaranteed to create a new object; an " @@ -106,36 +102,41 @@ msgstr "" "aceptar un solo parámetro, el cual será el mismo objeto de referencia débil. " "*callback* también puede ser ``None`` o ``NULL``. Si *ob* no es un objeto " "que puede ser referido de forma débil, o si *callback* no es invocable, " -"``None``, o ``NULL``, esto retornará ``NULL`` y causará un :exc:`TypeError`." +"``None``, o ``NULL``, esto retornará ``NULL`` y lanzará un :exc:`TypeError`." #: ../Doc/c-api/weakref.rst:56 msgid "" "Get a :term:`strong reference` to the referenced object from a weak " "reference, *ref*, into *\\*pobj*." msgstr "" +"Obtiene un :term:`strong reference` al objeto referenciado desde una " +"referencia débil, *ref*, en *\\*pobj*." #: ../Doc/c-api/weakref.rst:59 msgid "" "On success, set *\\*pobj* to a new :term:`strong reference` to the " "referenced object and return 1." msgstr "" +"En caso de éxito, asigna *\\*pobj* en un nuevo :term:`strong reference` al " +"objeto referenciado y retorna 1." #: ../Doc/c-api/weakref.rst:61 msgid "If the reference is dead, set *\\*pobj* to ``NULL`` and return 0." msgstr "" +"Si la referencia está inactiva, asigna *\\*pobj* a ``NULL`` y retorna 0." #: ../Doc/c-api/weakref.rst:62 msgid "On error, raise an exception and return -1." -msgstr "" +msgstr "En caso de error, lanza una excepción y devuelve -1." #: ../Doc/c-api/weakref.rst:69 -#, fuzzy msgid "" "Return a :term:`borrowed reference` to the referenced object from a weak " "reference, *ref*. If the referent is no longer live, returns ``Py_None``." msgstr "" -"Retorna el objeto referenciado desde una referencia débil, *ref*. Si el " -"referente no está vivo, retornará :const:`Py_None`." +"Retorna un :term:`borrowed reference` del objeto referenciado desde una " +"referencia débil, *ref*. Si el referente ya no está activo, retorna " +"``Py_None``." #: ../Doc/c-api/weakref.rst:74 msgid "" @@ -146,25 +147,26 @@ msgid "" msgstr "" "Esta función retorna una referencia :term:`borrowed reference` al objeto " "referenciado. Esto significa que siempre debe llamar a :c:func:`Py_INCREF` " -"sobre el objeto, excepto cuando no pueda ser destruido antes del último uso " +"sobre el objeto excepto cuando no pueda ser destruido antes del último uso " "de la referencia prestada." #: ../Doc/c-api/weakref.rst:79 ../Doc/c-api/weakref.rst:87 msgid "Use :c:func:`PyWeakref_GetRef` instead." -msgstr "" +msgstr "Utiliza :c:func:`PyWeakref_GetRef` en su lugar." #: ../Doc/c-api/weakref.rst:85 -#, fuzzy msgid "Similar to :c:func:`PyWeakref_GetObject`, but does no error checking." msgstr "" -"Similar a :c:func:`PyWeakref_GetObject`, pero implementado como un macro que " -"no verifica errores." +"Similar a :c:func:`PyWeakref_GetObject`, pero no realiza ninguna " +"comprobación de errores." #: ../Doc/c-api/weakref.rst:93 msgid "" "This function is called by the :c:member:`~PyTypeObject.tp_dealloc` handler " "to clear weak references." msgstr "" +"Esta función es invocada por el gestor :c:member:`~PyTypeObject.tp_dealloc` " +"para limpiar referencias débiles." #: ../Doc/c-api/weakref.rst:96 msgid "" @@ -172,10 +174,14 @@ msgid "" "for those references which have one. It returns when all callbacks have been " "attempted." msgstr "" +"Esto recorre las referencias débiles de *object* e invoca retrollamadas para " +"aquellas referencias que tengan una. Retorna cuando se han intentado todas " +"las retrollamadas." #: ../Doc/c-api/weakref.rst:103 msgid "Clears the weakrefs for *object* without calling the callbacks." msgstr "" +"Borra las referencias débiles para *object* sin llamar a las retrollamadas." #: ../Doc/c-api/weakref.rst:105 msgid "" @@ -185,9 +191,19 @@ msgid "" "and call their callbacks, then the finalizer, and finally this function to " "clear any weakrefs that may have been created by the finalizer." msgstr "" +"Esta función es invocada por el gestor :c:member:`~PyTypeObject.tp_dealloc` " +"para tipos con finalizadores (i.e., :meth:`~object.__del__`). El gestor de " +"esos objetos primero llama a :c:func:`PyObject_ClearWeakRefs` para borrar " +"las referencias débiles y llamar a sus callbacks, luego al finalizador, y " +"finalmente a esta función para borrar cualquier referencia débil que pueda " +"haber sido creada por el finalizador." #: ../Doc/c-api/weakref.rst:111 msgid "" -"In most circumstances, it's more appropriate to use :c:func:" -"`PyObject_ClearWeakRefs` to clear weakrefs instead of this function." +"In most circumstances, it's more appropriate to " +"use :c:func:`PyObject_ClearWeakRefs` to clear weakrefs instead of this " +"function." msgstr "" +"En la mayoría de los casos, es más apropiado " +"utilizar :c:func:`PyObject_ClearWeakRefs` para borrar las referencias " +"débiles en lugar de esta función." From 95cd34a1e1b5b8626a80e6eb0a6734b93b357460 Mon Sep 17 00:00:00 2001 From: kbiggers Date: Sat, 1 Mar 2025 21:31:34 -0500 Subject: [PATCH 21/41] Traducido reference/executionmodel.po (#3370) closes #3282 --------- Co-authored-by: rtobar --- reference/executionmodel.po | 73 ++++++++++++++++++++++++++----------- 1 file changed, 52 insertions(+), 21 deletions(-) diff --git a/reference/executionmodel.po b/reference/executionmodel.po index a5d272e08b..000b586018 100644 --- a/reference/executionmodel.po +++ b/reference/executionmodel.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: 2023-11-11 16:50-0300\n" +"PO-Revision-Date: 2025-02-17 16:37-0500\n" "Last-Translator: Francisco Mora \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" +"X-Generator: Poedit 3.5\n" #: ../Doc/reference/executionmodel.rst:6 msgid "Execution model" @@ -258,7 +259,6 @@ msgstr "" "` para ejemplos." #: ../Doc/reference/executionmodel.rst:136 -#, fuzzy msgid "" "If the :keyword:`global` statement occurs within a block, all uses of the " "names specified in the statement refer to the bindings of those names in the " @@ -279,8 +279,10 @@ msgstr "" "nombres incorporado, el *namespace* del módulo :mod:`builtins`. La búsqueda " "se realiza primero en el espacio de nombres global. Si el nombre no se " "encuentra ahí, se busca en el espacio de nombres incorporado (*builtins " -"namespace*). La declaración :keyword:`!global` debe preceder a todos los " -"usos del nombre." +"namespace*) próximamente. Si tampoco se encuentran los nombres en el espacio " +"de nombres incorporado, se crean variables nuevas en el espacio de nombres " +"global. La declaración global debe preceder a todos los usos de los nombres " +"listados." #: ../Doc/reference/executionmodel.rst:146 msgid "" @@ -351,6 +353,9 @@ msgid "" " a = 42\n" " b = list(a + i for i in range(10))" msgstr "" +"class A:\n" +" a = 42\n" +" b = list(a + i for i in range(10))" #: ../Doc/reference/executionmodel.rst:180 msgid "However, the following will succeed::" @@ -364,6 +369,11 @@ msgid "" "\n" "print(A.Alias.__value__) # " msgstr "" +"class A:\n" +" type Alias = Nested\n" +" class Nested: pass\n" +"\n" +"print(A.Alias.__value__) # " #: ../Doc/reference/executionmodel.rst:191 msgid "Annotation scopes" @@ -416,13 +426,12 @@ msgstr "" "ejecutan dentro del ámbito de la anotación, pero sus decoradores no." #: ../Doc/reference/executionmodel.rst:208 -#, fuzzy msgid "" "The bounds, constraints, and default values for type parameters (:ref:" "`lazily evaluated `)." msgstr "" -"Los límites y restricciones de las variables de tipo (:ref:`lazily evaluated " -"`)." +"Los límites, restricciones y valores predeterminados para los parámetros de " +"tipo (:ref:`evaluados de forma diferida `)." #: ../Doc/reference/executionmodel.rst:210 msgid "The value of type aliases (:ref:`lazily evaluated `)." @@ -478,7 +487,6 @@ msgstr "" "aparecer dentro de ámbitos de anotación puede introducir nuevos nombres." #: ../Doc/reference/executionmodel.rst:227 -#, fuzzy msgid "" "While annotation scopes have an internal name, that name is not reflected in " "the :term:`qualified name` of objects defined within the scope. Instead, " @@ -486,8 +494,8 @@ msgid "" "were defined in the enclosing scope." msgstr "" "Aunque los ámbitos de anotación tienen un nombre interno, ese nombre no se " -"refleja en el :term:`__qualname__ ` de los objetos definidos " -"dentro del ámbito. En su lugar, el :attr:`!__qualname__` de dichos objetos " +"refleja en el :term:`qualified name` de los objetos definidos dentro del " +"ámbito. En su lugar, el :attr:`~definition.__qualname__` de dichos objetos " "es como si el objeto estuviera definido en el ámbito que lo encierra." #: ../Doc/reference/executionmodel.rst:232 @@ -501,13 +509,14 @@ msgid "" "Annotation scopes are also used for type parameter defaults, as introduced " "by :pep:`696`." msgstr "" +"También se usan ámbitos de anotación para parámetros de tipo " +"predeterminados, introducido por :pep:`696`." #: ../Doc/reference/executionmodel.rst:242 msgid "Lazy evaluation" msgstr "Evaluación perezosa" #: ../Doc/reference/executionmodel.rst:244 -#, fuzzy msgid "" "The values of type aliases created through the :keyword:`type` statement are " "*lazily evaluated*. The same applies to the bounds, constraints, and default " @@ -516,12 +525,13 @@ msgid "" "or type variable is created. Instead, they are only evaluated when doing so " "is necessary to resolve an attribute access." msgstr "" -"Los valores de los alias de tipo creados mediante la sentencia :keyword:" -"`type` se *evalúan rápidamente*. Lo mismo se aplica a los límites y " -"restricciones de las variables de tipo creadas mediante la sintaxis de " -"parámetros :ref:`type `. Esto significa que no se evalúan " -"cuando se crea el alias de tipo o la variable de tipo. En su lugar, sólo se " -"evalúan cuando es necesario para resolver el acceso a un atributo." +"Los valores de los alias de tipo creados mediante la declaración :keyword:" +"`type` *se evalúan de forma diferida*. Lo mismo se aplica a los límites, " +"restricciones y valores predeterminados de las variables de tipo creadas " +"mediante la :ref:`sintaxis de parámetros de tipo `. Esto " +"significa que no se evalúan cuando se crea el alias de tipo o la variable de " +"tipo. En su lugar, sólo se evalúan cuando es necesario para resolver el " +"acceso a un atributo." #: ../Doc/reference/executionmodel.rst:251 msgid "Example:" @@ -541,6 +551,17 @@ msgid "" " ...\n" "ZeroDivisionError: division by zero" msgstr "" +">>> type Alias = 1/0\n" +">>> Alias.__value__\n" +"Traceback (most recent call last):\n" +" ...\n" +"ZeroDivisionError: division by zero\n" +">>> def func[T: 1/0](): pass\n" +">>> T = func.__type_params__[0]\n" +">>> T.__bound__\n" +"Traceback (most recent call last):\n" +" ...\n" +"ZeroDivisionError: division by zero" #: ../Doc/reference/executionmodel.rst:267 msgid "" @@ -569,6 +590,11 @@ msgid "" "type Parenthesized = tuple[Literal[\"(\"], Expr, Literal[\")\"]]\n" "type Expr = SimpleExpr | tuple[SimpleExpr, Literal[\"+\", \"-\"], Expr]" msgstr "" +"from typing import Literal\n" +"\n" +"type SimpleExpr = int | Parenthesized\n" +"type Parenthesized = tuple[Literal[\"(\"], Expr, Literal[\")\"]]\n" +"type Expr = SimpleExpr | tuple[SimpleExpr, Literal[\"+\", \"-\"], Expr]" #: ../Doc/reference/executionmodel.rst:281 msgid "" @@ -637,6 +663,11 @@ msgid "" "i = 42\n" "f()" msgstr "" +"i = 10\n" +"def f():\n" +" print(i)\n" +"i = 42\n" +"f()" #: ../Doc/reference/executionmodel.rst:326 msgid "" @@ -703,8 +734,8 @@ msgid "" "but it cannot repair the cause of the error and retry the failing operation " "(except by re-entering the offending piece of code from the top)." msgstr "" -"Python usa el modelo de gestión de errores de \"terminación\" " -"(\"*termination*\"): un gestor de excepción puede descubrir qué sucedió y " +"Python usa el modelo de gestión de errores de \"terminación" +"\" (\"*termination*\"): un gestor de excepción puede descubrir qué sucedió y " "continuar la ejecución en un nivel exterior, pero no puede reparar la causa " "del error y reintentar la operación que ha fallado (excepto que se reingrese " "al trozo de código fallido desde su inicio)." From 01e2ca88e9bb3fa365e20e9f67ebc81a4e0825a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Sat, 15 Mar 2025 13:13:37 +0100 Subject: [PATCH 22/41] Pin hash to a previous version in order to avoid the exploit (#3374) This uses another version (v44) where I could find the hash (we currently used v45). In summary, the repo got compromised and all the tags versions point to a malicius commit that includes a function to expose the secrets on the github action logs, so people can fetch them. --- .github/workflows/main.yml | 2 +- .github/workflows/pr-comment.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1c519fb344..f727f72190 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -52,7 +52,7 @@ jobs: - name: Obtiene la lista de archivos .po con cambios (sólo en PRs) if: github.event_name == 'pull_request' id: changed-po-files - uses: tj-actions/changed-files@v45 + uses: tj-actions/changed-files@9200e69727eb73eb060652b19946b8a2fdfb654b with: files: | **/*.po diff --git a/.github/workflows/pr-comment.yml b/.github/workflows/pr-comment.yml index f66cf799c9..659a83cf08 100644 --- a/.github/workflows/pr-comment.yml +++ b/.github/workflows/pr-comment.yml @@ -37,7 +37,7 @@ jobs: python -m pip install -r base-branch/requirements-own.txt - name: Obtiene lista de archivos con cambios id: changed-files - uses: tj-actions/changed-files@v45 + uses: tj-actions/changed-files@9200e69727eb73eb060652b19946b8a2fdfb654b with: files: | **/*.po From f57ac51a97ffa26106c1ad3b33d5718daed9544e Mon Sep 17 00:00:00 2001 From: Marco Richetta Date: Fri, 4 Apr 2025 10:15:43 +0200 Subject: [PATCH 23/41] Upgrade tj-actions to v46 per security recommendations. (#3378) Per discussion in issue https://github.com/python/python-docs-es/issues/3373, this PR update `tj-actions/changed-files` to its latest version [v46](https://github.com/tj-actions/changed-files/releases/tag/v46.0.3). Related PR: https://github.com/python/python-docs-es/pull/3374 Supersedes https://github.com/python/python-docs-es/pull/3377 --- .github/workflows/main.yml | 2 +- .github/workflows/pr-comment.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index f727f72190..7f375d29ff 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -52,7 +52,7 @@ jobs: - name: Obtiene la lista de archivos .po con cambios (sólo en PRs) if: github.event_name == 'pull_request' id: changed-po-files - uses: tj-actions/changed-files@9200e69727eb73eb060652b19946b8a2fdfb654b + uses: tj-actions/changed-files@v46 with: files: | **/*.po diff --git a/.github/workflows/pr-comment.yml b/.github/workflows/pr-comment.yml index 659a83cf08..41165bef7e 100644 --- a/.github/workflows/pr-comment.yml +++ b/.github/workflows/pr-comment.yml @@ -37,7 +37,7 @@ jobs: python -m pip install -r base-branch/requirements-own.txt - name: Obtiene lista de archivos con cambios id: changed-files - uses: tj-actions/changed-files@9200e69727eb73eb060652b19946b8a2fdfb654b + uses: tj-actions/changed-files@v46 with: files: | **/*.po From d55c6fec8fbf4c05c4aa1b7ae729b83f7161890b Mon Sep 17 00:00:00 2001 From: David Date: Wed, 9 Apr 2025 11:46:47 +0100 Subject: [PATCH 24/41] Traducido archivo c-api/bytearray (#3379) Closes #3263 --- TRANSLATORS | 1 + c-api/bytearray.po | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/TRANSLATORS b/TRANSLATORS index 3686c2a25f..4686fde202 100644 --- a/TRANSLATORS +++ b/TRANSLATORS @@ -62,6 +62,7 @@ David Jaimes (@henrzven) David Lorenzo (@David-Lor) David Revillas (@r3v1) David Silva (@dvidsilva) +David Spindola (@davidspindola) David Trigo Chávez (@dtrinf) Diego Cristóbal Herreros (@dcristobalh) Diego Mascialino (@dmascialino) diff --git a/c-api/bytearray.po b/c-api/bytearray.po index 20ed044e7f..a04bbe978a 100644 --- a/c-api/bytearray.po +++ b/c-api/bytearray.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: 2024-10-29 21:11-0400\n" -"Last-Translator: Sofía Denner \n" -"Language: es\n" +"PO-Revision-Date: 2025-04-09 09:25+0200\n" +"Last-Translator: David Spindola\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.6\n" #: ../Doc/c-api/bytearray.rst:6 msgid "Byte Array Objects" @@ -68,8 +69,8 @@ msgstr "Funciones API directas" #: ../Doc/c-api/bytearray.rst:42 msgid "" -"Return a new bytearray object from any object, *o*, that implements the :ref:" -"`buffer protocol `." +"Return a new bytearray object from any object, *o*, that implements " +"the :ref:`buffer protocol `." msgstr "" "Retorna un nuevo objeto de arreglo de bytes de cualquier objeto, *o*, que " "implementa el :ref:`buffer protocol `." @@ -77,14 +78,13 @@ msgstr "" #: ../Doc/c-api/bytearray.rst:45 ../Doc/c-api/bytearray.rst:52 #: ../Doc/c-api/bytearray.rst:59 msgid "On failure, return ``NULL`` with an exception set." -msgstr "" +msgstr "Al fallar, retorna ``NULL`` con una excepción asignada." #: ../Doc/c-api/bytearray.rst:50 -#, fuzzy msgid "Create a new bytearray object from *string* and its length, *len*." msgstr "" "Crea un nuevo objeto de arreglo de bytes a partir de *string* y su longitud, " -"*len*. En caso de fallo, se retorna ``NULL``." +"*len*." #: ../Doc/c-api/bytearray.rst:57 msgid "" @@ -104,7 +104,7 @@ msgid "" "``NULL`` pointer. The returned array always has an extra null byte appended." msgstr "" "Retorna el contenido de *bytearray* como un arreglo de caracteres después de " -"verificar un puntero ``NULL``. La arreglo retornado siempre tiene un byte " +"verificar un puntero ``NULL``. El arreglo retornado siempre tiene un byte " "nulo adicional agregado." #: ../Doc/c-api/bytearray.rst:76 From 6071c2fbfdaa17e3556c550be2b5e2206a009daa Mon Sep 17 00:00:00 2001 From: David Date: Thu, 10 Apr 2025 04:50:43 +0100 Subject: [PATCH 25/41] Traducido archivo c-api/allocation (#3380) Closes #3230 --- c-api/allocation.po | 74 ++++++++++++++++++++++----------------------- 1 file changed, 36 insertions(+), 38 deletions(-) diff --git a/c-api/allocation.po b/c-api/allocation.po index f0908ad22b..dab388e66e 100644 --- a/c-api/allocation.po +++ b/c-api/allocation.po @@ -11,22 +11,22 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2020-05-08 01:33+0200\n" -"Last-Translator: \n" -"Language: es\n" +"PO-Revision-Date: 2025-04-09 21:56+0200\n" +"Last-Translator: David Spindola\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.13.0\n" +"X-Generator: Poedit 3.6\n" #: ../Doc/c-api/allocation.rst:6 msgid "Allocating Objects on the Heap" msgstr "Asignación de objetos en el montículo" #: ../Doc/c-api/allocation.rst:17 -#, fuzzy msgid "" "Initialize a newly allocated object *op* with its type and initial " "reference. Returns the initialized object. If *type* indicates that the " @@ -34,10 +34,10 @@ msgid "" "detector's set of observed objects. Other fields of the object are not " "affected." msgstr "" -"Inicializa un objeto *op* recientemente asignado con su tipo y referencia " -"inicial. Retorna el objeto inicializado. Si *type* indica que el objeto " -"participa en el detector de basura cíclico, se agrega al conjunto de objetos " -"observados del detector. Otros campos del objeto no se ven afectados." +"Inicializa un objeto recién asignado *op* con su tipo y referencia inicial. " +"Retorna el objeto inicializado. Si *type* indica que el objeto participa en " +"el detector de basura cíclico, se agrega al conjunto de objetos observados " +"por el detector. Otros campos del objeto no se ven afectados." #: ../Doc/c-api/allocation.rst:26 msgid "" @@ -48,23 +48,22 @@ msgstr "" "información de longitud para un objeto de tamaño variable." #: ../Doc/c-api/allocation.rst:32 -#, fuzzy msgid "" "Allocate a new Python object using the C structure type *TYPE* and the " "Python type object *typeobj* (``PyTypeObject*``). Fields not defined by the " "Python object header are not initialized. The caller will own the only " "reference to the object (i.e. its reference count will be one). The size of " -"the memory allocation is determined from the :c:member:`~PyTypeObject." -"tp_basicsize` field of the type object." +"the memory allocation is determined from " +"the :c:member:`~PyTypeObject.tp_basicsize` field of the type object." msgstr "" -"Asigna un nuevo objeto Python usando el tipo de estructura de C *TYPE* y el " -"objeto tipo Python *type*. Los campos no definidos por el encabezado del " -"objeto Python no se inicializan;el conteo de referencias del objeto será " -"uno. El tamaño de la asignación de memoria se determina a partir del campo :" -"c:member:`~PyTypeObject.tp_basicsize` del tipo de objeto." +"Asigna un nuevo objeto de Python usando el tipo de estructura de C *TYPE* y " +"el objeto de tipo Python *typeobj* (``PyTypeObject*``). Los campos no " +"definidos por el encabezado del objeto Python no se inicializan. El llamador " +"será el propietario de la única referencia al objeto (es decir, su contador " +"de referencias será uno). El tamaño de la asignación de memoria se determina " +"a partir del campo :c:member:`~PyTypeObject.tp_basicsize` del objeto de tipo." #: ../Doc/c-api/allocation.rst:43 -#, fuzzy msgid "" "Allocate a new Python object using the C structure type *TYPE* and the " "Python type object *typeobj* (``PyTypeObject*``). Fields not defined by the " @@ -76,30 +75,29 @@ msgid "" "same allocation decreases the number of allocations, improving the memory " "management efficiency." msgstr "" -"Asigna un nuevo objeto Python usando el tipo de estructura de C *TYPE* y el " -"objeto tipo Python *type*. Los campos no definidos por el encabezado del " -"objeto Python no se inicializan. La memoria asignada permite los campos de " -"la estructura *TYPE* más los campos *size* del tamaño dado por el campo :c:" -"member:`~PyTypeObject.tp_itemsize` de *type*. Esto es útil para implementar " -"objetos como tuplas, que pueden determinar su tamaño en el momento de la " -"construcción. Incrustar el arreglo de campos en la misma asignación " -"disminuye el número de asignaciones, mejorando la eficiencia de la gestión " -"de memoria." +"Asigna un nuevo objeto de Python utilizando el tipo de estructura de C " +"*TYPE* y el objeto de tipo Python *typeobj* (``PyTypeObject*``). Los campos " +"no definidos por el encabezado del objeto Python no se inicializan. La " +"memoria asignada permite la estructura *TYPE* más *size* (``Py_ssize_t``) " +"campos del tamaño dado por el campo :c:member:`~PyTypeObject.tp_itemsize` de " +"*typeobj*. Esto es útil para implementar objetos como las tuplas, que pueden " +"determinar su tamaño en el momento de la construcción. Integrar el arreglo " +"de campos en la misma asignación disminuye el número de asignaciones, " +"mejorando la eficiencia de la gestión de memoria." #: ../Doc/c-api/allocation.rst:57 -#, fuzzy msgid "" -"Releases memory allocated to an object using :c:macro:`PyObject_New` or :c:" -"macro:`PyObject_NewVar`. This is normally called from the :c:member:" -"`~PyTypeObject.tp_dealloc` handler specified in the object's type. The " -"fields of the object should not be accessed after this call as the memory is " -"no longer a valid Python object." +"Releases memory allocated to an object using :c:macro:`PyObject_New` " +"or :c:macro:`PyObject_NewVar`. This is normally called from " +"the :c:member:`~PyTypeObject.tp_dealloc` handler specified in the object's " +"type. The fields of the object should not be accessed after this call as " +"the memory is no longer a valid Python object." msgstr "" -"Libera memoria asignada a un objeto usando :c:func:`PyObject_New` o :c:func:" -"`PyObject_NewVar`. Esto normalmente se llama desde el manejador :c:member:" -"`~PyTypeObject.tp_dealloc` especificado en el tipo de objeto. No se debe " -"acceder a los campos del objeto después de esta llamada, ya que la memoria " -"ya no es un objeto Python válido." +"Libera la memoria asignada a un objeto usando :c:macro:`PyObject_New` " +"o :c:macro:`PyObject_NewVar`. Esto normalmente se llama desde el " +"manejador :c:member:`~PyTypeObject.tp_dealloc` especificado en el tipo de " +"objeto. Los campos del objeto no deben ser accedidos después de esta " +"llamada, ya que la memoria ya no es un objeto de Python válido." #: ../Doc/c-api/allocation.rst:66 msgid "" From c98c7ee5961a856e1c7e322f1fd29ed574587556 Mon Sep 17 00:00:00 2001 From: David Date: Thu, 10 Apr 2025 04:52:49 +0100 Subject: [PATCH 26/41] Traducido archivo c-api/typehints (#3381) Closes #3244 --- c-api/typehints.po | 61 ++++++++++++++++++++++++++-------------------- 1 file changed, 34 insertions(+), 27 deletions(-) diff --git a/c-api/typehints.po b/c-api/typehints.po index 82e8b82881..6b0ed950a6 100644 --- a/c-api/typehints.po +++ b/c-api/typehints.po @@ -9,15 +9,16 @@ msgstr "" "Project-Id-Version: Python en Español 3.10\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-11-21 16:38-0300\n" -"PO-Revision-Date: 2021-11-16 22:14-0600\n" -"Last-Translator: Erick G. Islas Osuna \n" -"Language: es\n" +"PO-Revision-Date: 2025-04-09 22:51+0200\n" +"Last-Translator: David Spindola\n" "Language-Team: \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.6\n" #: ../Doc/c-api/typehints.rst:6 msgid "Objects for Type Hinting" @@ -30,36 +31,35 @@ msgid "" "union>`. Only ``GenericAlias`` is exposed to C." msgstr "" "Se proporcionan varios tipos incorporados para indicaciones de tipado. " -"Actualmente existen dos tipos -- :ref:`GenericAlias ` y :" -"ref:`Union `. Solo ``GenericAlias`` es expuesto a C." +"Actualmente existen dos tipos -- :ref:`GenericAlias ` " +"y :ref:`Union `. Solo ``GenericAlias`` es expuesto a C." #: ../Doc/c-api/typehints.rst:14 -#, fuzzy msgid "" "Create a :ref:`GenericAlias ` object. Equivalent to " "calling the Python class :class:`types.GenericAlias`. The *origin* and " "*args* arguments set the ``GenericAlias``\\ 's ``__origin__`` and " -"``__args__`` attributes respectively. *origin* should be a :c:expr:" -"`PyTypeObject*`, and *args* can be a :c:expr:`PyTupleObject*` or any " -"``PyObject*``. If *args* passed is not a tuple, a 1-tuple is automatically " -"constructed and ``__args__`` is set to ``(args,)``. Minimal checking is done " -"for the arguments, so the function will succeed even if *origin* is not a " -"type. The ``GenericAlias``\\ 's ``__parameters__`` attribute is constructed " -"lazily from ``__args__``. On failure, an exception is raised and ``NULL`` " -"is returned." +"``__args__`` attributes respectively. *origin* should be " +"a :c:expr:`PyTypeObject*`, and *args* can be a :c:expr:`PyTupleObject*` or " +"any ``PyObject*``. If *args* passed is not a tuple, a 1-tuple is " +"automatically constructed and ``__args__`` is set to ``(args,)``. Minimal " +"checking is done for the arguments, so the function will succeed even if " +"*origin* is not a type. The ``GenericAlias``\\ 's ``__parameters__`` " +"attribute is constructed lazily from ``__args__``. On failure, an exception " +"is raised and ``NULL`` is returned." msgstr "" "Crea un objeto :ref:`GenericAlias `. Equivalente a " "llamar la clase de Python :class:`types.GenericAlias`. Los argumentos " -"*origin* y *args* configuran los atributos ``__origin__`` y ``__args__`` de " -"``GenericAlias`` respectivamente. *origin* debe ser un :c:type:" -"`PyTypeObject*`, y *args* puede ser un :c:type:`PyTupleObject*` o cualquier " -"``PyObject*``. Si el valor de *args* no es una tupla, un 1-tupla es " -"automáticamente construida y ``__args__`` es configurado como ``(args,)``. " -"Para los argumentos se realiza un chequeo mínimo, de esta manera la función " -"tendrá éxito incluso si *origin* no es un tipo. El atributo " -"``__parameters__`` de ``GenericAlias`` es construido de forma diferida a " -"partir de ``__args__``. Si existe una falla, se levantará una excepción y se " -"retornará ``NULL``." +"*origin* y *args* establecen los atributos ``__origin__`` y ``__args__`` de " +"``GenericAlias`` respectivamente. *origin* debe ser " +"un :c:expr:`PyTypeObject*`, y *args* puede ser un :c:expr:`PyTupleObject*` o " +"cualquier ``PyObject*``. Si *args* no es una tupla, se construye " +"automáticamente una tupla de un elemento y ``__args__`` se establece como " +"``(args,)``. Se realiza una verificación mínima para los argumentos, por lo " +"que la función tendrá éxito incluso si *origin* no es un tipo. El atributo " +"``__parameters__`` de ``GenericAlias`` se construye de manera perezosa a " +"partir de ``__args__``. En caso de falla, se levantará una excepción y " +"retorna ``NULL``." #: ../Doc/c-api/typehints.rst:28 msgid "Here's an example of how to make an extension type generic::" @@ -76,11 +76,18 @@ msgid "" " ...\n" "}" msgstr "" +"static PyMethodDef my_obj_methods[] = {\n" +" // Otros Métodos.\n" +" ...\n" +" {\"__class_getitem__\", Py_GenericAlias, METH_O|METH_CLASS, \"Ver PEP " +"585\"}\n" +" ...\n" +"\n" +"}" #: ../Doc/c-api/typehints.rst:38 -#, fuzzy msgid "The data model method :meth:`~object.__class_getitem__`." -msgstr "El método del modelo de datos :meth:`__class_getitem__`." +msgstr "El método del modelo de datos :meth:`~object.__class_getitem__`." #: ../Doc/c-api/typehints.rst:44 msgid "" From fde38513cf957b7eeeab3e0bc6c350ed41b56903 Mon Sep 17 00:00:00 2001 From: David Date: Fri, 11 Apr 2025 05:02:39 +0100 Subject: [PATCH 27/41] Traducido archivo c-api/iter (#3382) Closes #3252 --- c-api/iter.po | 63 +++++++++++++++++++++++++++++++++++---------------- 1 file changed, 43 insertions(+), 20 deletions(-) diff --git a/c-api/iter.po b/c-api/iter.po index e00cbf2466..5ebc364693 100644 --- a/c-api/iter.po +++ b/c-api/iter.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: 2021-08-16 13:04+0200\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" +"PO-Revision-Date: 2025-04-10 23:48+0200\n" +"Last-Translator: David Spindola\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.6\n" #: ../Doc/c-api/iter.rst:6 msgid "Iterator Protocol" @@ -30,26 +31,25 @@ msgid "There are two functions specifically for working with iterators." msgstr "Hay dos funciones específicas para trabajar con iteradores." #: ../Doc/c-api/iter.rst:12 -#, fuzzy msgid "" -"Return non-zero if the object *o* can be safely passed to :c:func:" -"`PyIter_Next`, and ``0`` otherwise. This function always succeeds." +"Return non-zero if the object *o* can be safely passed " +"to :c:func:`PyIter_Next`, and ``0`` otherwise. This function always " +"succeeds." msgstr "" -"Retorna un valor distinto de cero si el objeto *o* admite el protocolo de " -"iterador y ``0`` en caso contrario. Esta función siempre tiene éxito." +"Retorna un valor distinto de cero si el objeto *o* puede pasarse de manera " +"segura a :c:func:`PyIter_Next`, y ``0`` en caso contrario. Esta función " +"siempre tiene éxito." #: ../Doc/c-api/iter.rst:17 -#, fuzzy msgid "" "Return non-zero if the object *o* provides the :class:`AsyncIterator` " "protocol, and ``0`` otherwise. This function always succeeds." msgstr "" -"Retorna un valor distinto de cero si el objeto 'obj' proporciona protocolos :" -"class:`AsyncIterator` y ``0`` en caso contrario. Esta función siempre tiene " -"éxito." +"Retorna un valor distinto de cero si el objeto *o* proporciona el " +"protocolo :class:`AsyncIterator`, y ``0`` en caso contrario. Esta función " +"siempre tiene éxito." #: ../Doc/c-api/iter.rst:24 -#, fuzzy msgid "" "Return the next value from the iterator *o*. The object must be an iterator " "according to :c:func:`PyIter_Check` (it is up to the caller to check this). " @@ -57,10 +57,11 @@ msgid "" "an error occurs while retrieving the item, returns ``NULL`` and passes along " "the exception." msgstr "" -"Retorna el siguiente valor de la iteración *o*. El objeto debe ser un " -"iterador (depende de quién llama comprobar esto). Si no quedan valores " -"restantes, retorna ``NULL`` sin establecer ninguna excepción. Si se produce " -"un error al recuperar el elemento, retorna ``NULL`` y pasa la excepción." +"Retorna el siguiente valor del iterador *o*. El objeto debe ser un iterador " +"según :c:func:`PyIter_Check` (depende del llamador verificar esto). Si no " +"hay valores restantes, retorna ``NULL`` sin establecer una excepción. Si " +"ocurre un error al recuperar el elemento, devuelve ``NULL`` y envía la " +"excepción." #: ../Doc/c-api/iter.rst:30 msgid "" @@ -95,13 +96,35 @@ msgid "" " /* continue doing useful work */\n" "}" msgstr "" +"PyObject *iterator = PyObject_GetIter(obj);\n" +"PyObject *item;\n" +"\n" +"if (iterator == NULL) {\n" +" /* propagate error */\n" +"}\n" +"\n" +"while ((item = PyIter_Next(iterator))) {\n" +" /* do something with item */\n" +" ...\n" +" /* release reference when done */\n" +" Py_DECREF(item);\n" +"}\n" +"\n" +"Py_DECREF(iterator);\n" +"\n" +"if (PyErr_Occurred()) {\n" +" /* propagate error */\n" +"}\n" +"else {\n" +" /* continue doing useful work */\n" +"}" #: ../Doc/c-api/iter.rst:59 msgid "" "The enum value used to represent different results of :c:func:`PyIter_Send`." msgstr "" -"El valor de enumeración utilizado para representar diferentes resultados de :" -"c:func:`PyIter_Send`." +"El valor de enumeración utilizado para representar diferentes resultados " +"de :c:func:`PyIter_Send`." #: ../Doc/c-api/iter.rst:66 msgid "Sends the *arg* value into the iterator *iter*. Returns:" From bcc67d62b3c5b17574da4929daa0eb4431b7a5c5 Mon Sep 17 00:00:00 2001 From: David Date: Sat, 12 Apr 2025 02:31:20 +0100 Subject: [PATCH 28/41] Traduccion codec (#3384) Closes #3240 --- c-api/codec.po | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/c-api/codec.po b/c-api/codec.po index d1bfd9d8b4..45396dbae5 100644 --- a/c-api/codec.po +++ b/c-api/codec.po @@ -11,15 +11,16 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2021-10-18 22:40-0300\n" -"Last-Translator: Cristián Maureira-Fredes \n" -"Language: es\n" +"PO-Revision-Date: 2025-04-12 00:04+0100\n" +"Last-Translator: David Spindola\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.13.0\n" +"X-Generator: Poedit 3.6\n" #: ../Doc/c-api/codec.rst:4 msgid "Codec registry and support functions" @@ -30,13 +31,12 @@ msgid "Register a new codec search function." msgstr "Registra una nueva función de búsqueda de códec." #: ../Doc/c-api/codec.rst:10 -#, fuzzy msgid "" "As side effect, this tries to load the :mod:`!encodings` package, if not yet " "done, to make sure that it is always first in the list of search functions." msgstr "" -"Como efecto secundario, intenta cargar el paquete :mod:`encodings`, si aún " -"no lo ha hecho, para asegurarse de que siempre esté primero en la lista de " +"Como efecto secundario, intenta cargar el paquete :mod:`!encodings`, si aún " +"no se ha hecho, para asegurarse de que siempre esté primero en la lista de " "funciones de búsqueda." #: ../Doc/c-api/codec.rst:15 @@ -66,8 +66,8 @@ msgstr "API de codificación genérica basada en códec." msgid "" "*object* is passed through the encoder function found for the given " "*encoding* using the error handling method defined by *errors*. *errors* " -"may be ``NULL`` to use the default method defined for the codec. Raises a :" -"exc:`LookupError` if no encoder can be found." +"may be ``NULL`` to use the default method defined for the codec. Raises " +"a :exc:`LookupError` if no encoder can be found." msgstr "" "*object* se pasa a través de la función de codificador encontrada por el " "*encoding* dado usando el método de manejo de errores definido por *errors*. " @@ -83,8 +83,8 @@ msgstr "API de decodificación basada en códec genérico." msgid "" "*object* is passed through the decoder function found for the given " "*encoding* using the error handling method defined by *errors*. *errors* " -"may be ``NULL`` to use the default method defined for the codec. Raises a :" -"exc:`LookupError` if no encoder can be found." +"may be ``NULL`` to use the default method defined for the codec. Raises " +"a :exc:`LookupError` if no encoder can be found." msgstr "" "*object* se pasa a través de la función de decodificador encontrada por el " "*encoding* dado usando el método de manejo de errores definido por *errors*. " @@ -100,14 +100,14 @@ msgstr "API de búsqueda de códec" msgid "" "In the following functions, the *encoding* string is looked up converted to " "all lower-case characters, which makes encodings looked up through this " -"mechanism effectively case-insensitive. If no codec is found, a :exc:" -"`KeyError` is set and ``NULL`` returned." +"mechanism effectively case-insensitive. If no codec is found, " +"a :exc:`KeyError` is set and ``NULL`` returned." msgstr "" "En las siguientes funciones, la cadena de caracteres *encoding* se busca " "convertida a todos los caracteres en minúscula, lo que hace que las " "codificaciones se busquen a través de este mecanismo sin distinción entre " -"mayúsculas y minúsculas. Si no se encuentra ningún códec, se establece un :" -"exc:`KeyError` y se retorna ``NULL``." +"mayúsculas y minúsculas. Si no se encuentra ningún códec, se establece " +"un :exc:`KeyError` y se retorna ``NULL``." #: ../Doc/c-api/codec.rst:55 msgid "Get an encoder function for the given *encoding*." @@ -166,9 +166,9 @@ msgstr "" #: ../Doc/c-api/codec.rst:88 msgid "" -"The callback gets a single argument, an instance of :exc:" -"`UnicodeEncodeError`, :exc:`UnicodeDecodeError` or :exc:" -"`UnicodeTranslateError` that holds information about the problematic " +"The callback gets a single argument, an instance " +"of :exc:`UnicodeEncodeError`, :exc:`UnicodeDecodeError` " +"or :exc:`UnicodeTranslateError` that holds information about the problematic " "sequence of characters or bytes and their offset in the original string " "(see :ref:`unicodeexceptions` for functions to extract this information). " "The callback must either raise the given exception, or return a two-item " @@ -176,9 +176,9 @@ msgid "" "integer giving the offset in the original string at which encoding/decoding " "should be resumed." msgstr "" -"La devolución de llamada obtiene un único argumento, una instancia de :exc:" -"`UnicodeEncodeError`, :exc:`UnicodeDecodeError` o :exc:" -"`UnicodeTranslateError` que contiene información sobre la secuencia " +"La devolución de llamada obtiene un único argumento, una instancia " +"de :exc:`UnicodeEncodeError`, :exc:`UnicodeDecodeError` " +"o :exc:`UnicodeTranslateError` que contiene información sobre la secuencia " "problemática de caracteres o bytes y su desplazamiento en la cadena original " "(consulte :ref:`unicodeexceptions` para funciones para extraer esta " "información). La devolución de llamada debe lanzar la excepción dada o " From 7aee5682609fa6456e4614416f1ca1f00c390811 Mon Sep 17 00:00:00 2001 From: David Date: Sat, 12 Apr 2025 02:34:03 +0100 Subject: [PATCH 29/41] Traducido archivo c-api/capsule (#3383) Closes #3259 capsule-html --- c-api/capsule.po | 65 ++++++++++++++++++++++++------------------------ 1 file changed, 32 insertions(+), 33 deletions(-) diff --git a/c-api/capsule.po b/c-api/capsule.po index ac8a29ca40..97a0afb310 100644 --- a/c-api/capsule.po +++ b/c-api/capsule.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-30 16:51-0300\n" -"Last-Translator: Sofía Denner \n" -"Language: es\n" +"PO-Revision-Date: 2025-04-11 20:18+0100\n" +"Last-Translator: David Spindola\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.6\n" #: ../Doc/c-api/capsule.rst:6 msgid "Capsules" @@ -42,11 +43,12 @@ msgid "" "loaded modules." msgstr "" "Este subtipo de :c:type:`PyObject` representa un valor opaco, útil para los " -"módulos de extensión C que necesitan pasar un valor opaco (como un puntero :" -"c:expr:`void*`) a través del código Python a otro código C . A menudo se usa " -"para hacer que un puntero de función C definido en un módulo esté disponible " -"para otros módulos, por lo que el mecanismo de importación regular se puede " -"usar para acceder a las API C definidas en módulos cargados dinámicamente." +"módulos de extensión C que necesitan pasar un valor opaco (como un " +"puntero :c:expr:`void*`) a través del código Python a otro código C . A " +"menudo se usa para hacer que un puntero de función C definido en un módulo " +"esté disponible para otros módulos, por lo que el mecanismo de importación " +"regular se puede usar para acceder a las API C definidas en módulos cargados " +"dinámicamente." #: ../Doc/c-api/capsule.rst:27 msgid "The type of a destructor callback for a capsule. Defined as::" @@ -56,7 +58,7 @@ msgstr "" #: ../Doc/c-api/capsule.rst:29 msgid "typedef void (*PyCapsule_Destructor)(PyObject *);" -msgstr "" +msgstr "typedef void (*PyCapsule_Destructor)(PyObject *);" #: ../Doc/c-api/capsule.rst:31 msgid "" @@ -123,17 +125,16 @@ msgstr "" "una excepción y retorna ``NULL``." #: ../Doc/c-api/capsule.rst:65 -#, fuzzy msgid "" "The *name* parameter must compare exactly to the name stored in the capsule. " "If the name stored in the capsule is ``NULL``, the *name* passed in must " "also be ``NULL``. Python uses the C function :c:func:`!strcmp` to compare " "capsule names." msgstr "" -"El parámetro *name* debe compararse exactamente con el nombre almacenado en " +"El parámetro *name* debe coincidir exactamente con el nombre almacenado en " "la cápsula. Si el nombre almacenado en la cápsula es ``NULL``, el *name* " -"pasado también debe ser ``NULL``. Python usa la función C :c:func:`strcmp` " -"para comparar nombres de cápsulas." +"también debe ser ``NULL``. Python utiliza la función C :c:func:`!strcmp` " +"para comparar los nombres de las cápsulas." #: ../Doc/c-api/capsule.rst:73 msgid "" @@ -146,8 +147,8 @@ msgstr "" #: ../Doc/c-api/capsule.rst:76 msgid "" "It is legal for a capsule to have a ``NULL`` destructor. This makes a " -"``NULL`` return code somewhat ambiguous; use :c:func:`PyCapsule_IsValid` or :" -"c:func:`PyErr_Occurred` to disambiguate." +"``NULL`` return code somewhat ambiguous; use :c:func:`PyCapsule_IsValid` " +"or :c:func:`PyErr_Occurred` to disambiguate." msgstr "" "Es legal que una cápsula tenga un destructor ``NULL``. Esto hace que un " "código de retorno ``NULL`` sea algo ambiguo; use :c:func:`PyCapsule_IsValid` " @@ -164,12 +165,12 @@ msgstr "" #: ../Doc/c-api/capsule.rst:86 msgid "" "It is legal for a capsule to have a ``NULL`` context. This makes a ``NULL`` " -"return code somewhat ambiguous; use :c:func:`PyCapsule_IsValid` or :c:func:" -"`PyErr_Occurred` to disambiguate." +"return code somewhat ambiguous; use :c:func:`PyCapsule_IsValid` " +"or :c:func:`PyErr_Occurred` to disambiguate." msgstr "" "Es legal que una cápsula tenga un contexto ``NULL``. Esto hace que un código " -"de retorno ``NULL`` sea algo ambiguo; use :c:func:`PyCapsule_IsValid` o :c:" -"func:`PyErr_Occurred` para desambiguar." +"de retorno ``NULL`` sea algo ambiguo; use :c:func:`PyCapsule_IsValid` " +"o :c:func:`PyErr_Occurred` para desambiguar." #: ../Doc/c-api/capsule.rst:93 msgid "" @@ -182,12 +183,12 @@ msgstr "" #: ../Doc/c-api/capsule.rst:96 msgid "" "It is legal for a capsule to have a ``NULL`` name. This makes a ``NULL`` " -"return code somewhat ambiguous; use :c:func:`PyCapsule_IsValid` or :c:func:" -"`PyErr_Occurred` to disambiguate." +"return code somewhat ambiguous; use :c:func:`PyCapsule_IsValid` " +"or :c:func:`PyErr_Occurred` to disambiguate." msgstr "" "Es legal que una cápsula tenga un nombre ``NULL``. Esto hace que un código " -"de retorno ``NULL`` sea algo ambiguo; use :c:func:`PyCapsule_IsValid` o :c:" -"func:`PyErr_Occurred` para desambiguar." +"de retorno ``NULL`` sea algo ambiguo; use :c:func:`PyCapsule_IsValid` " +"o :c:func:`PyErr_Occurred` para desambiguar." #: ../Doc/c-api/capsule.rst:103 msgid "" @@ -223,20 +224,19 @@ msgid "" msgstr "" "Determina si *capsule* es o no una cápsula válida. Una cápsula válida no es " "``NULL``, pasa :c:func:`PyCapsule_CheckExact`, tiene un puntero no ``NULL`` " -"almacenado y su nombre interno coincide con el parámetro *name*. (Consulte :" -"c:func:`PyCapsule_GetPointer` para obtener información sobre cómo se " -"comparan los nombres de las cápsulas)." +"almacenado y su nombre interno coincide con el parámetro *name*. " +"(Consulte :c:func:`PyCapsule_GetPointer` para obtener información sobre cómo " +"se comparan los nombres de las cápsulas)." #: ../Doc/c-api/capsule.rst:123 -#, fuzzy msgid "" "In other words, if :c:func:`PyCapsule_IsValid` returns a true value, calls " "to any of the accessors (any function starting with ``PyCapsule_Get``) are " "guaranteed to succeed." msgstr "" "En otras palabras, si :c:func:`PyCapsule_IsValid` retorna un valor " -"verdadero, las llamadas a cualquiera de las funciones de acceso (cualquier " -"función que comience con :c:func:`PyCapsule_Get`) tienen éxito." +"verdadero, se garantiza que las llamadas a cualquiera de las funciones de " +"acceso (cualquier función que comience con ``PyCapsule_Get``) tendrán éxito." #: ../Doc/c-api/capsule.rst:127 msgid "" @@ -282,9 +282,8 @@ msgstr "" #: ../Doc/c-api/capsule.rst:8 msgid "object" -msgstr "" +msgstr "objeto" #: ../Doc/c-api/capsule.rst:8 -#, fuzzy msgid "Capsule" -msgstr "Cápsulas" +msgstr "Cápsula" From fabb83ce5e20391bcaa849b2a713ea2194a71dc4 Mon Sep 17 00:00:00 2001 From: David Pizarro <105984897+DavidPPizarro@users.noreply.github.com> Date: Sun, 13 Apr 2025 07:43:01 -0500 Subject: [PATCH 30/41] =?UTF-8?q?Traducido=20el=20archivo=20`c-api/iterato?= =?UTF-8?q?r.po`=20y=20a=C3=B1adido=20mi=20nombre=20a=20`TRANSLATORS`.=20(?= =?UTF-8?q?#3385)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #3225 --- TRANSLATORS | 3 ++- c-api/iterator.po | 28 ++++++++++++++-------------- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/TRANSLATORS b/TRANSLATORS index 4686fde202..be067fce8b 100644 --- a/TRANSLATORS +++ b/TRANSLATORS @@ -60,6 +60,7 @@ Daniela Zuluaga Ocampo (@Nany262) Darwing Medina Lacayo (@darwing1210) David Jaimes (@henrzven) David Lorenzo (@David-Lor) +David Pizarro (@davidppizarro) David Revillas (@r3v1) David Silva (@dvidsilva) David Spindola (@davidspindola) @@ -248,4 +249,4 @@ Xavi Rambla Centellas (@xavirambla) Yennifer Paola Herrera Ariza (@Yenniferh) Yohanna Padrino (@Yo-hanaPR) zejiran -Zodac (@zodacdev) +Zodac (@zodacdev) \ No newline at end of file diff --git a/c-api/iterator.po b/c-api/iterator.po index 0a504a7614..2338fd2848 100644 --- a/c-api/iterator.po +++ b/c-api/iterator.po @@ -11,34 +11,34 @@ msgstr "" "Project-Id-Version: Python 3.8\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2023-10-12 19:43+0200\n" -"PO-Revision-Date: 2021-08-01 20:11+0200\n" +"PO-Revision-Date: 2025-04-12 22:30-0500\n" "Last-Translator: Cristián Maureira-Fredes \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.13.0\n" +"X-Generator: Poedit 3.6\n" #: ../Doc/c-api/iterator.rst:6 msgid "Iterator Objects" msgstr "Objetos iteradores" #: ../Doc/c-api/iterator.rst:8 -#, fuzzy msgid "" "Python provides two general-purpose iterator objects. The first, a sequence " -"iterator, works with an arbitrary sequence supporting the :meth:`~object." -"__getitem__` method. The second works with a callable object and a sentinel " -"value, calling the callable for each item in the sequence, and ending the " -"iteration when the sentinel value is returned." +"iterator, works with an arbitrary sequence supporting " +"the :meth:`~object.__getitem__` method. The second works with a callable " +"object and a sentinel value, calling the callable for each item in the " +"sequence, and ending the iteration when the sentinel value is returned." msgstr "" "Python proporciona dos objetos iteradores de propósito general. El primero, " "un iterador de secuencia, funciona con una secuencia arbitraria que admite " -"el método :meth:`__getitem__`. El segundo funciona con un objeto invocable y " -"un valor centinela, llamando al invocable para cada elemento de la secuencia " -"y finalizando la iteración cuando se retorna el valor centinela." +"el método :meth:`~object.__getitem__`. El segundo funciona con un objeto " +"invocable y un valor centinela, llamando al invocable para cada elemento en " +"la secuencia y finalizando la iteración cuando se retorna el valor centinela." #: ../Doc/c-api/iterator.rst:17 msgid "" @@ -73,9 +73,9 @@ msgid "" "Type object for iterator objects returned by :c:func:`PyCallIter_New` and " "the two-argument form of the :func:`iter` built-in function." msgstr "" -"Objeto tipo para los objetos iteradores retornados por :c:func:" -"`PyCallIter_New` y la forma de dos argumentos de la función incorporada :" -"func:`iter`." +"Objeto tipo para los objetos iteradores retornados " +"por :c:func:`PyCallIter_New` y la forma de dos argumentos de la función " +"incorporada :func:`iter`." #: ../Doc/c-api/iterator.rst:43 msgid "" From 3e8a1cbb7fbd39121dd14348a715cc3f0f330ef3 Mon Sep 17 00:00:00 2001 From: Carlos Mena <50986837+carlosm00@users.noreply.github.com> Date: Wed, 16 Apr 2025 03:13:01 +0200 Subject: [PATCH 31/41] Traduccion deprecations/pending-removal-in-future.po (#3372) Closes #3296 --- deprecations/pending-removal-in-future.po | 168 ++++++++++++++++------ 1 file changed, 125 insertions(+), 43 deletions(-) diff --git a/deprecations/pending-removal-in-future.po b/deprecations/pending-removal-in-future.po index 4879bf68bd..042d90b43e 100644 --- a/deprecations/pending-removal-in-future.po +++ b/deprecations/pending-removal-in-future.po @@ -10,43 +10,48 @@ msgstr "" "Project-Id-Version: Python en Español 3.13\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: FULL NAME \n" -"Language: es\n" +"PO-Revision-Date: 2025-04-15 23:17+0360\n" +"Last-Translator: Carlos Mena Pérez <@carlosm00>\n" "Language-Team: 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.5\n" #: ../Doc/deprecations/pending-removal-in-future.rst:2 msgid "Pending Removal in Future Versions" -msgstr "" +msgstr "Pendiente de eliminación en versiones futuras" #: ../Doc/deprecations/pending-removal-in-future.rst:4 msgid "" "The following APIs will be removed in the future, although there is " "currently no date scheduled for their removal." msgstr "" +"Las siguientes APIs serán eliminadas en el futuro, aunque no hay fecha de " +"planificación exacta para ello." #: ../Doc/deprecations/pending-removal-in-future.rst:7 msgid "" ":mod:`argparse`: Nesting argument groups and nesting mutually exclusive " "groups are deprecated." msgstr "" +":mod:`argparse`: Anidar grupos de argumentos y anidar grupos mutuamente " +"excluyentes queda deprecado." #: ../Doc/deprecations/pending-removal-in-future.rst:10 msgid ":mod:`array`'s ``'u'`` format code (:gh:`57281`)" -msgstr "" +msgstr "Código de formato ``'u'`` de :mod:`array` (:gh:`57281`)" #: ../Doc/deprecations/pending-removal-in-future.rst:12 msgid ":mod:`builtins`:" -msgstr "" +msgstr ":mod:`builtins`:" #: ../Doc/deprecations/pending-removal-in-future.rst:14 msgid "``bool(NotImplemented)``." -msgstr "" +msgstr "``bool(NotImplemented)``." #: ../Doc/deprecations/pending-removal-in-future.rst:15 msgid "" @@ -54,6 +59,9 @@ msgid "" "is deprecated: use ``throw(exc)`` and ``athrow(exc)`` instead, the single " "argument signature." msgstr "" +"Generadores: las firmas ``throw(type, exc, tb)`` y ``athrow(type, exc, tb)`` " +"están obsoletas: utilice ``throw(exc)`` y ``athrow(exc)`` en su lugar, la " +"firma de argumento único." #: ../Doc/deprecations/pending-removal-in-future.rst:18 msgid "" @@ -66,6 +74,14 @@ msgid "" "keyword:`is` and :keyword:`or`. In a future release it will be changed to a " "syntax error. (:gh:`87999`)" msgstr "" +"Actualmente Python acepta literales numéricos seguidos inmediatamente de " +"palabras clave, por ejemplo, ``0in x``, ``1or x``, ``0if 1else 2``. Permite " +"expresiones confusas y ambiguas como ``[0x1for x in y]`` (que se puede " +"interpretar como ``[0x1 for x in y]`` o ``[0x1f or x in y]``). Se genera una " +"advertencia de sintaxis si el literal numérico va seguido inmediatamente de " +"una de las palabras clave :keyword:`and`, :keyword:`else`, :keyword:`for`, :" +"keyword:`if`, :keyword:`in`, :keyword:`is` y :keyword:`or`. En una versión " +"futura, se cambiará a un error de sintaxis. (:gh:`87999`)" #: ../Doc/deprecations/pending-removal-in-future.rst:26 msgid "" @@ -73,6 +89,9 @@ msgid "" "these methods will be required to return an instance of a strict subclass " "of :class:`int`." msgstr "" +"Compatibilidad con los métodos ``__index__()`` e ``__int__()`` que retornan " +"un tipo que no es int: estos métodos serán necesarios para retornar una " +"instancia de una subclase estricta de :class:`int`." #: ../Doc/deprecations/pending-removal-in-future.rst:29 msgid "" @@ -80,6 +99,9 @@ msgid "" "`float`: these methods will be required to return an instance of :class:" "`float`." msgstr "" +"Compatibilidad con el método ``__float__()`` que retorna una subclase " +"estricta de :class:`float`: será necesario que estos métodos retornen " +"una instancia de :class:`float`." #: ../Doc/deprecations/pending-removal-in-future.rst:32 msgid "" @@ -87,10 +109,13 @@ msgid "" "`complex`: these methods will be required to return an instance of :class:" "`complex`." msgstr "" +"Compatibilidad con el método ``__complex__()`` que retorna una subclase " +"estricta de :class:`complex`: será necesario que estos métodos retornen una " +"instancia de :class:`complex`." #: ../Doc/deprecations/pending-removal-in-future.rst:35 msgid "Delegation of ``int()`` to ``__trunc__()`` method." -msgstr "" +msgstr "Delegación del método ``int()`` al ``__trunc__()``." #: ../Doc/deprecations/pending-removal-in-future.rst:36 msgid "" @@ -99,6 +124,9 @@ msgid "" "single positional argument. (Contributed by Serhiy Storchaka in :gh:" "`109218`.)" msgstr "" +"Ahora está obsoleto el paso de un número complejo como argumento *real* o " +"*imag* en el constructor :func:`complex`; solo debe pasarse como un único " +"argumento posicional. (Contribución de Serhiy Storchaka en :gh:`109218`.)" #: ../Doc/deprecations/pending-removal-in-future.rst:41 msgid "" @@ -106,81 +134,99 @@ msgid "" "are deprecated and replaced by :data:`calendar.JANUARY` and :data:`calendar." "FEBRUARY`. (Contributed by Prince Roshan in :gh:`103636`.)" msgstr "" +":mod:`calendar`: Las constantes ``calendar.January`` y ``calendar.February`` " +"han quedado obsoletas y han sido reemplazadas por :data:`calendar.JANUARY` " +"y :data:`calendar.FEBRUARY`. (Contribución de Prince Roshan en :gh:`103636`.)" #: ../Doc/deprecations/pending-removal-in-future.rst:46 msgid "" ":attr:`codeobject.co_lnotab`: use the :meth:`codeobject.co_lines` method " "instead." msgstr "" +":attr:`codeobject.co_lnotab`: use el método :meth:`codeobject.co_lines` en " +"su lugar." #: ../Doc/deprecations/pending-removal-in-future.rst:49 msgid ":mod:`datetime`:" -msgstr "" +msgstr ":mod:`datetime`:" #: ../Doc/deprecations/pending-removal-in-future.rst:51 msgid "" ":meth:`~datetime.datetime.utcnow`: use ``datetime.datetime.now(tz=datetime." "UTC)``." msgstr "" +":meth:`~datetime.datetime.utcnow`: use ``datetime.datetime.now(tz=datetime." +"UTC)``." #: ../Doc/deprecations/pending-removal-in-future.rst:53 msgid "" ":meth:`~datetime.datetime.utcfromtimestamp`: use ``datetime.datetime." "fromtimestamp(timestamp, tz=datetime.UTC)``." msgstr "" +":meth:`~datetime.datetime.utcfromtimestamp`: use ``datetime.datetime." +"fromtimestamp(timestamp, tz=datetime.UTC)``." #: ../Doc/deprecations/pending-removal-in-future.rst:56 msgid ":mod:`gettext`: Plural value must be an integer." -msgstr "" +msgstr ":mod:`gettext`: El valor plural tiene que ser un entero." #: ../Doc/deprecations/pending-removal-in-future.rst:58 msgid ":mod:`importlib`:" -msgstr "" +msgstr ":mod:`importlib`:" #: ../Doc/deprecations/pending-removal-in-future.rst:60 msgid "``load_module()`` method: use ``exec_module()`` instead." -msgstr "" +msgstr "Método ``load_module()``: use ``exec_module()`` en su lugar." #: ../Doc/deprecations/pending-removal-in-future.rst:61 msgid "" ":func:`~importlib.util.cache_from_source` *debug_override* parameter is " "deprecated: use the *optimization* parameter instead." msgstr "" +"El parámetro *debug_override* de :func:`~importlib.util.cache_from_source` " +"queda obsoleto: use el parámetro *optimization* en su lugar." #: ../Doc/deprecations/pending-removal-in-future.rst:64 msgid ":mod:`importlib.metadata`:" -msgstr "" +msgstr ":mod:`importlib.metadata`:" #: ../Doc/deprecations/pending-removal-in-future.rst:66 msgid "``EntryPoints`` tuple interface." -msgstr "" +msgstr "Interfaz de tupla ``EntryPoints``." #: ../Doc/deprecations/pending-removal-in-future.rst:67 msgid "Implicit ``None`` on return values." -msgstr "" +msgstr "``None`` implícito en valores retornados." #: ../Doc/deprecations/pending-removal-in-future.rst:69 msgid "" ":mod:`logging`: the ``warn()`` method has been deprecated since Python 3.3, " "use :meth:`~logging.warning` instead." msgstr "" +":mod:`logging`: el método ``warn()`` ha quedado obsoleto desde Python 3.3, " +"use :meth:`~logging.warning` en su lugar." #: ../Doc/deprecations/pending-removal-in-future.rst:72 msgid "" ":mod:`mailbox`: Use of StringIO input and text mode is deprecated, use " "BytesIO and binary mode instead." msgstr "" +":mod:`mailbox`: El uso del modo de entrada y texto StringIO está obsoleto, " +"use BytesIO y el modo binario en su lugar." #: ../Doc/deprecations/pending-removal-in-future.rst:75 msgid "" ":mod:`os`: Calling :func:`os.register_at_fork` in multi-threaded process." msgstr "" +":mod:`os`: Llamando a :func:`os.register_at_fork` en procesos multi-hilos." #: ../Doc/deprecations/pending-removal-in-future.rst:77 msgid "" ":class:`!pydoc.ErrorDuringImport`: A tuple value for *exc_info* parameter is " "deprecated, use an exception instance." msgstr "" +":class:`!pydoc.ErrorDuringImport`: El valor de tupla para el parámetro " +"*exc_info* queda obsoleto, use una excepción en su lugar." #: ../Doc/deprecations/pending-removal-in-future.rst:80 msgid "" @@ -190,171 +236,195 @@ msgid "" "replacement strings can now only contain ASCII letters and digits and " "underscore. (Contributed by Serhiy Storchaka in :gh:`91760`.)" msgstr "" +":mod:`re`: Ahora se aplican reglas más estrictas para las referencias " +"numéricas de grupos y los nombres de grupos en expresiones regulares. Ahora " +"solo se aceptan secuencias de dígitos ASCII como referencia numérica. El " +"nombre de grupo en patrones de bytes y cadenas de reemplazo ahora solo puede " +"contener letras y dígitos ASCII y guiones bajos. (Contribución de Serhiy " +"Storchaka en :gh:`91760`.)" #: ../Doc/deprecations/pending-removal-in-future.rst:87 msgid "" ":mod:`!sre_compile`, :mod:`!sre_constants` and :mod:`!sre_parse` modules." msgstr "" +"Módulos :mod:`!sre_compile`, :mod:`!sre_constants` y :mod:`!sre_parse`." #: ../Doc/deprecations/pending-removal-in-future.rst:89 msgid "" ":mod:`shutil`: :func:`~shutil.rmtree`'s *onerror* parameter is deprecated in " "Python 3.12; use the *onexc* parameter instead." msgstr "" +":mod:`shutil`: el parámetro *onerror* de :func:`~shutil.rmtree` queda " +"obsoleto en Python 3.12; use el parámetro *onexc* en su lugar." #: ../Doc/deprecations/pending-removal-in-future.rst:92 msgid ":mod:`ssl` options and protocols:" -msgstr "" +msgstr "Opciones y protocolos de :mod:`ssl`:" #: ../Doc/deprecations/pending-removal-in-future.rst:94 msgid ":class:`ssl.SSLContext` without protocol argument is deprecated." -msgstr "" +msgstr ":class:`ssl.SSLContext` sin argumento de protocolo queda obsoleto." #: ../Doc/deprecations/pending-removal-in-future.rst:95 msgid "" ":class:`ssl.SSLContext`: :meth:`~ssl.SSLContext.set_npn_protocols` and :meth:" "`!selected_npn_protocol` are deprecated: use ALPN instead." msgstr "" +":class:`ssl.SSLContext`: :meth:`~ssl.SSLContext.set_npn_protocols` y :meth:`!" +"selected_npn_protocol` quedan obsoletas: use ALPN en su lugar." #: ../Doc/deprecations/pending-removal-in-future.rst:98 msgid "``ssl.OP_NO_SSL*`` options" -msgstr "" +msgstr "Opciones ``ssl.OP_NO_SSL*``" #: ../Doc/deprecations/pending-removal-in-future.rst:99 msgid "``ssl.OP_NO_TLS*`` options" -msgstr "" +msgstr "Opciones ``ssl.OP_NO_TLS*``" #: ../Doc/deprecations/pending-removal-in-future.rst:100 msgid "``ssl.PROTOCOL_SSLv3``" -msgstr "" +msgstr "``ssl.PROTOCOL_SSLv3``" #: ../Doc/deprecations/pending-removal-in-future.rst:101 msgid "``ssl.PROTOCOL_TLS``" -msgstr "" +msgstr "``ssl.PROTOCOL_TLS``" #: ../Doc/deprecations/pending-removal-in-future.rst:102 msgid "``ssl.PROTOCOL_TLSv1``" -msgstr "" +msgstr "``ssl.PROTOCOL_TLSv1``" #: ../Doc/deprecations/pending-removal-in-future.rst:103 msgid "``ssl.PROTOCOL_TLSv1_1``" -msgstr "" +msgstr "``ssl.PROTOCOL_TLSv1_1``" #: ../Doc/deprecations/pending-removal-in-future.rst:104 msgid "``ssl.PROTOCOL_TLSv1_2``" -msgstr "" +msgstr "``ssl.PROTOCOL_TLSv1_2``" #: ../Doc/deprecations/pending-removal-in-future.rst:105 msgid "``ssl.TLSVersion.SSLv3``" -msgstr "" +msgstr "``ssl.TLSVersion.SSLv3``" #: ../Doc/deprecations/pending-removal-in-future.rst:106 msgid "``ssl.TLSVersion.TLSv1``" -msgstr "" +msgstr "``ssl.TLSVersion.TLSv1``" #: ../Doc/deprecations/pending-removal-in-future.rst:107 msgid "``ssl.TLSVersion.TLSv1_1``" -msgstr "" +msgstr "``ssl.TLSVersion.TLSv1_1``" #: ../Doc/deprecations/pending-removal-in-future.rst:109 msgid "" ":func:`sysconfig.is_python_build` *check_home* parameter is deprecated and " "ignored." msgstr "" +":func:`sysconfig.is_python_build` el parámetro *check_home* es obsoleto e " +"ignorado." #: ../Doc/deprecations/pending-removal-in-future.rst:112 msgid ":mod:`threading` methods:" -msgstr "" +msgstr "Métodos de :mod:`threading`:" #: ../Doc/deprecations/pending-removal-in-future.rst:114 msgid "" ":meth:`!threading.Condition.notifyAll`: use :meth:`~threading.Condition." "notify_all`." msgstr "" +":meth:`!threading.Condition.notifyAll`: use :meth:`~threading.Condition." +"notify_all`." #: ../Doc/deprecations/pending-removal-in-future.rst:115 msgid ":meth:`!threading.Event.isSet`: use :meth:`~threading.Event.is_set`." -msgstr "" +msgstr ":meth:`!threading.Event.isSet`: use :meth:`~threading.Event.is_set`." #: ../Doc/deprecations/pending-removal-in-future.rst:116 msgid "" ":meth:`!threading.Thread.isDaemon`, :meth:`threading.Thread.setDaemon`: use :" "attr:`threading.Thread.daemon` attribute." msgstr "" +":meth:`!threading.Thread.isDaemon`, :meth:`threading.Thread.setDaemon`: use " +"el atributo :attr:`threading.Thread.daemon`." #: ../Doc/deprecations/pending-removal-in-future.rst:118 msgid "" ":meth:`!threading.Thread.getName`, :meth:`threading.Thread.setName`: use :" "attr:`threading.Thread.name` attribute." msgstr "" +":meth:`!threading.Thread.getName`, :meth:`threading.Thread.setName`: use el " +"atributo :attr:`threading.Thread.name`." #: ../Doc/deprecations/pending-removal-in-future.rst:120 msgid ":meth:`!threading.currentThread`: use :meth:`threading.current_thread`." msgstr "" +":meth:`!threading.currentThread`: use :meth:`threading.current_thread`." #: ../Doc/deprecations/pending-removal-in-future.rst:121 msgid ":meth:`!threading.activeCount`: use :meth:`threading.active_count`." -msgstr "" +msgstr ":meth:`!threading.activeCount`: use :meth:`threading.active_count`." #: ../Doc/deprecations/pending-removal-in-future.rst:123 msgid ":class:`typing.Text` (:gh:`92332`)." -msgstr "" +msgstr ":class:`typing.Text` (:gh:`92332`)." #: ../Doc/deprecations/pending-removal-in-future.rst:125 msgid "" ":class:`unittest.IsolatedAsyncioTestCase`: it is deprecated to return a " "value that is not ``None`` from a test case." msgstr "" +":class:`unittest.IsolatedAsyncioTestCase`: queda deprecado retornar un valor " +"que no sea ``None`` en un caso de prueba." #: ../Doc/deprecations/pending-removal-in-future.rst:128 msgid "" ":mod:`urllib.parse` deprecated functions: :func:`~urllib.parse.urlparse` " "instead" msgstr "" +"Funciones deprecadas de :mod:`urllib.parse`: use :func:`~urllib.parse." +"urlparse` en su lugar" #: ../Doc/deprecations/pending-removal-in-future.rst:130 msgid "``splitattr()``" -msgstr "" +msgstr "``splitattr()``" #: ../Doc/deprecations/pending-removal-in-future.rst:131 msgid "``splithost()``" -msgstr "" +msgstr "``splithost()``" #: ../Doc/deprecations/pending-removal-in-future.rst:132 msgid "``splitnport()``" -msgstr "" +msgstr "``splitnport()``" #: ../Doc/deprecations/pending-removal-in-future.rst:133 msgid "``splitpasswd()``" -msgstr "" +msgstr "``splitpasswd()``" #: ../Doc/deprecations/pending-removal-in-future.rst:134 msgid "``splitport()``" -msgstr "" +msgstr "``splitport()``" #: ../Doc/deprecations/pending-removal-in-future.rst:135 msgid "``splitquery()``" -msgstr "" +msgstr "``splitquery()``" #: ../Doc/deprecations/pending-removal-in-future.rst:136 msgid "``splittag()``" -msgstr "" +msgstr "``splittag()``" #: ../Doc/deprecations/pending-removal-in-future.rst:137 msgid "``splittype()``" -msgstr "" +msgstr "``splittype()``" #: ../Doc/deprecations/pending-removal-in-future.rst:138 msgid "``splituser()``" -msgstr "" +msgstr "``splituser()``" #: ../Doc/deprecations/pending-removal-in-future.rst:139 msgid "``splitvalue()``" -msgstr "" +msgstr "``splitvalue()``" #: ../Doc/deprecations/pending-removal-in-future.rst:140 msgid "``to_bytes()``" -msgstr "" +msgstr "``to_bytes()``" #: ../Doc/deprecations/pending-removal-in-future.rst:142 msgid "" @@ -362,12 +432,18 @@ msgid "" "`~urllib.request.FancyURLopener` style of invoking requests is deprecated. " "Use newer :func:`~urllib.request.urlopen` functions and methods." msgstr "" +":mod:`urllib.request`: los estilos :class:`~urllib.request.URLopener` y :" +"class:`~urllib.request.FancyURLopener` para invocar solicitudes quedan " +"obsoletos. Use las nuevas funciones y métodos :func:`~urllib.request." +"urlopen`." #: ../Doc/deprecations/pending-removal-in-future.rst:146 msgid "" ":mod:`wsgiref`: ``SimpleHandler.stdout.write()`` should not do partial " "writes." msgstr "" +":mod:`wsgiref`: ``SimpleHandler.stdout.write()`` no debería hacer escrituras " +"parciales." #: ../Doc/deprecations/pending-removal-in-future.rst:149 msgid "" @@ -376,9 +452,15 @@ msgid "" "return ``True``. Prefer explicit ``len(elem)`` or ``elem is not None`` tests " "instead." msgstr "" +":mod:`xml.etree.ElementTree`: La prueba del valor de verdad de un :class:" +"`~xml.etree.ElementTree.Element` está obsoleta. En una versión futura, " +"siempre retornará ``True``. En su lugar, es preferible realizar pruebas " +"explícitas ``len(elem)`` o ``elem is not None``." #: ../Doc/deprecations/pending-removal-in-future.rst:154 msgid "" ":meth:`zipimport.zipimporter.load_module` is deprecated: use :meth:" "`~zipimport.zipimporter.exec_module` instead." msgstr "" +":meth:`zipimport.zipimporter.load_module` queda obsoleto: use :meth:" +"`~zipimport.zipimporter.exec_module` en su lugar." From a25fadad5fd8446600831b28b4cbafe84e193dec Mon Sep 17 00:00:00 2001 From: David Date: Thu, 17 Apr 2025 17:49:07 +0100 Subject: [PATCH 32/41] Actualizar paso 5 en archivo CONTRIBUTING (#3387) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Encontré una falla en el paso 5 (opcional) de la documentación para contribuir. El Makefile apunta al directorio **venv** y el comando de python crea un directorio nombrado **env**. Snip del código: ``` # # Makefile for Spanish Python Documentation # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ... # Internal variables VENV := $(shell realpath ./venv) PYTHON := $(shell which python3) ... ``` Probé la guia siguiendo los pasos actuales y resulta en un error, cambiando el comando y el _source path_ por **venv** se solucionan los errores. --- .overrides/CONTRIBUTING.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.overrides/CONTRIBUTING.rst b/.overrides/CONTRIBUTING.rst index 360b3f0957..c5081c8639 100644 --- a/.overrides/CONTRIBUTING.rst +++ b/.overrides/CONTRIBUTING.rst @@ -54,9 +54,9 @@ podrás realizar todas las contribuciones que quieras. #. (Opcional) Crea un entorno virtual y actívalo:: - python -m venv env - source env/bin/activate # macOS y Linux - env\Scripts\activate.bat # Windows + python -m venv venv + source venv/bin/activate # macOS y Linux + venv\Scripts\activate.bat # Windows #. (Opcional) Instala los requerimientos del proyecto:: From da743319d7dcc7ce4c4ece0a9d10b0454e86f035 Mon Sep 17 00:00:00 2001 From: David Pizarro <105984897+DavidPPizarro@users.noreply.github.com> Date: Sat, 26 Apr 2025 06:58:08 -0500 Subject: [PATCH 33/41] Traducido archivo howto/clinic (#3388) Closes #3222 --- howto/clinic.po | 3 +++ 1 file changed, 3 insertions(+) diff --git a/howto/clinic.po b/howto/clinic.po index 36454d3541..c6dd4b7702 100644 --- a/howto/clinic.po +++ b/howto/clinic.po @@ -30,3 +30,6 @@ msgid "" "The Argument Clinic How-TO has been moved to the `Python Developer's Guide " "`__." msgstr "" +"La documentación de *Cómo usar Argument Clinic* ha sido trasladado a la `Guía de Desarrolladores de Python " +"`__." + From 61015d4b248aa0c92b95d45f46e08fe576401f4f Mon Sep 17 00:00:00 2001 From: Luis Gonzalez Date: Wed, 7 May 2025 21:20:00 -0500 Subject: [PATCH 34/41] traduccion c-api/bool (#3390) Closes #3269 Co-authored-by: Luis Angel Gonzalez Pereira --- c-api/bool.po | 68 ++++++++++++++++++++++++++++++++++----------------- 1 file changed, 46 insertions(+), 22 deletions(-) diff --git a/c-api/bool.po b/c-api/bool.po index 3938dc07ae..ea41eda60a 100644 --- a/c-api/bool.po +++ b/c-api/bool.po @@ -10,23 +10,23 @@ msgid "" 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: 2021-08-16 13:03+0200\n" +"POT-Creation-Date: 2023-10-12 19:43+0200\n" +"PO-Revision-Date: 2025-05-07 20:14-0500\n" "Last-Translator: Cristián Maureira-Fredes \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" -"Generated-By: Babel 2.16.0\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Generated-By: Babel 2.13.0\n" +"X-Generator: Poedit 3.6\n" #: ../Doc/c-api/bool.rst:6 msgid "Boolean Objects" msgstr "Objetos booleanos" #: ../Doc/c-api/bool.rst:8 -#, fuzzy msgid "" "Booleans in Python are implemented as a subclass of integers. There are " "only two booleans, :c:data:`Py_False` and :c:data:`Py_True`. As such, the " @@ -43,6 +43,8 @@ msgid "" "This instance of :c:type:`PyTypeObject` represents the Python boolean type; " "it is the same object as :class:`bool` in the Python layer." msgstr "" +"Esta instancia de :c:type:`PyTypeObject` representa el tipo booleano de " +"Python; es el mismo objeto que :class:`bool` en la capa de Python." #: ../Doc/c-api/bool.rst:22 msgid "" @@ -54,40 +56,62 @@ msgstr "" #: ../Doc/c-api/bool.rst:28 msgid "" -"The Python ``False`` object. This object has no methods and is :term:" -"`immortal`." +"The Python ``False`` object. This object has no methods and is `immortal " +"`_." msgstr "" +"El objeto ``False`` de Python. Este objeto no tiene métodos y es `inmortal " +"`_." #: ../Doc/c-api/bool.rst:31 -msgid ":c:data:`Py_False` is :term:`immortal`." -msgstr "" +msgid ":c:data:`Py_False` is immortal." +msgstr ":c:data:`Py_False` es inmortal." #: ../Doc/c-api/bool.rst:37 msgid "" -"The Python ``True`` object. This object has no methods and is :term:" -"`immortal`." +"The Python ``True`` object. This object has no methods and is `immortal " +"`_." msgstr "" +"El objeto ``True`` de Python. Este objeto no tiene métodos y es `inmortal " +"`_." #: ../Doc/c-api/bool.rst:40 -msgid ":c:data:`Py_True` is :term:`immortal`." -msgstr "" +msgid ":c:data:`Py_True` is immortal." +msgstr ":c:data:`Py_True` es inmortal." #: ../Doc/c-api/bool.rst:46 -#, fuzzy msgid "Return :c:data:`Py_False` from a function." -msgstr "" -"Retorna :const:`Py_False` de una función, incrementando adecuadamente su " -"recuento de referencia." +msgstr "Retorna :c:data:`Py_False` desde una función." #: ../Doc/c-api/bool.rst:51 msgid "Return :c:data:`Py_True` from a function." -msgstr "" +msgstr "Retorna :c:data:`Py_True` desde una función.." #: ../Doc/c-api/bool.rst:56 -#, fuzzy msgid "" "Return :c:data:`Py_True` or :c:data:`Py_False`, depending on the truth value " "of *v*." msgstr "" -"Retorna una nueva referencia a :const:`Py_True` o :const:`Py_False` " -"dependiendo del valor de verdad de *v*." +"Retorna :c:data:`Py_True` o :c:data:`Py_False`, dependiendo del valor " +"verdadero de *v*." + +#~ msgid "" +#~ "The Python ``False`` object. This object has no methods. It needs to be " +#~ "treated just like any other object with respect to reference counts." +#~ msgstr "" +#~ "El objeto ``False`` de Python. Este objeto no tiene métodos. Debe " +#~ "tratarse como cualquier otro objeto con respecto a los recuentos de " +#~ "referencia." + +#~ msgid "" +#~ "The Python ``True`` object. This object has no methods. It needs to be " +#~ "treated just like any other object with respect to reference counts." +#~ msgstr "" +#~ "El objeto ``True`` de Python. Este objeto no tiene métodos. Debe tratarse " +#~ "como cualquier otro objeto con respecto a los recuentos de referencia." + +#~ msgid "" +#~ "Return :const:`Py_True` from a function, properly incrementing its " +#~ "reference count." +#~ msgstr "" +#~ "Retorna :const:`Py_True` desde una función, incrementando adecuadamente " +#~ "su recuento de referencia." From 0ac8952987d63365a7575fedb96c296560c05be1 Mon Sep 17 00:00:00 2001 From: Carlos Mena <50986837+carlosm00@users.noreply.github.com> Date: Sun, 11 May 2025 00:58:15 +0200 Subject: [PATCH 35/41] Traduccion c api/conversion.po (#3391) Closes #3277 --------- Co-authored-by: Carlos Mena --- c-api/conversion.po | 55 ++++++++++++++++++++++++++++----------------- 1 file changed, 35 insertions(+), 20 deletions(-) diff --git a/c-api/conversion.po b/c-api/conversion.po index c7d3a5a401..76376b95c2 100644 --- a/c-api/conversion.po +++ b/c-api/conversion.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: 2021-12-09 10:24+0800\n" -"Last-Translator: Rodrigo Tobar \n" -"Language: es\n" +"PO-Revision-Date: 2025-05-09 19:20+0200\n" +"Last-Translator: Carlos Mena Pérez <@carlosm00>\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.5\n" #: ../Doc/c-api/conversion.rst:6 msgid "String conversion and formatting" @@ -64,7 +65,6 @@ msgstr "" "(*corner cases*), que las funciones del Estándar C no hacen." #: ../Doc/c-api/conversion.rst:28 -#, fuzzy msgid "" "The wrappers ensure that ``str[size-1]`` is always ``'\\0'`` upon return. " "They never write more than *size* bytes (including the trailing ``'\\0'``) " @@ -76,7 +76,9 @@ msgstr "" "Las envolturas aseguran que ``str[size-1]`` sea siempre ``'\\0'`` al " "retornar. Nunca se escriben más de *size* bytes (incluido el ``'\\0'`` del " "final) en *str*. Ambas funciones requieren que ``str != NULL``, ``size > " -"0``, ``format != NULL`` y ``size < INT_MAX``." +"0``, ``format != NULL`` y ``size < INT_MAX``. Tenga en cuenta que esto " +"significa que no hay equivalente a la expresión ``n = snprintf(NULL, " +"0, ...)`` de C99, la cual determinaría el tamaño del búfer necesario." #: ../Doc/c-api/conversion.rst:34 msgid "" @@ -129,6 +131,9 @@ msgid "" "long` value according to the given ``base``, which must be between ``2`` and " "``36`` inclusive, or be the special value ``0``." msgstr "" +"Convierte la parte inicial de la cadena de caracteres en ``str`` a un valor :" +"c:expr:`unsigned long` según la ``base`` dada, que debe estar entre ``2`` y " +"``36`` inclusive, o ser el valor especial ``0``." #: ../Doc/c-api/conversion.rst:57 msgid "" @@ -138,6 +143,11 @@ msgid "" "(inclusive). If ``ptr`` is non-``NULL`` it will contain a pointer to the " "end of the scan." msgstr "" +"Se ignoran los espacios en blanco y las mayúsculas y minúsculas. Si " +"``base`` es cero se busca un prefijo ``0b``, ``0o`` o ``0x`` para indicar la " +"base. Si no están, por defecto es ``10``. La base debe ser 0 o entre 2 y " +"36 (ambos inclusive). Si ``ptr`` no es ``NULL``, contendrá un puntero al " +"final del escaneo." #: ../Doc/c-api/conversion.rst:63 msgid "" @@ -146,10 +156,14 @@ msgid "" "macro:`!ULONG_MAX` is returned. If no conversion can be performed, ``0`` is " "returned." msgstr "" +"Si el valor convertido queda fuera del rango del tipo de retorno " +"correspondiente, se produce un error de rango (:c:data:`errno` se establece " +"en :c:macro:`!ERANGE`) y se devuelve :c:macro:`!ULONG_MAX`. Si no se puede " +"realizar la conversión, se devuelve ``0``." #: ../Doc/c-api/conversion.rst:68 msgid "See also the Unix man page :manpage:`strtoul(3)`." -msgstr "" +msgstr "Vea también el manual Unix de :manpage:`strtoul(3)`." #: ../Doc/c-api/conversion.rst:75 msgid "" @@ -157,19 +171,23 @@ msgid "" "according to the given ``base``, which must be between ``2`` and ``36`` " "inclusive, or be the special value ``0``." msgstr "" +"Convierte la parte inicial de la cadena de caracteres en ``str`` a un valor :" +"c:expr:`long` según la ``base`` dada, que debe estar entre ``2`` y ``36`` " +"inclusive, o ser el valor especial ``0``." #: ../Doc/c-api/conversion.rst:79 msgid "" "Same as :c:func:`PyOS_strtoul`, but return a :c:expr:`long` value instead " "and :c:macro:`LONG_MAX` on overflows." msgstr "" +"Igual que :c:func:`PyOS_strtoul`, pero devuelve un valor :c:expr:`long` en " +"su lugar y :c:macro:`LONG_MAX` en desbordamientos." #: ../Doc/c-api/conversion.rst:82 msgid "See also the Unix man page :manpage:`strtol(3)`." -msgstr "" +msgstr "Vea también el manual Unix de :manpage:`strtol(3)`." #: ../Doc/c-api/conversion.rst:89 -#, fuzzy msgid "" "Convert a string ``s`` to a :c:expr:`double`, raising a Python exception on " "failure. The set of accepted strings corresponds to the set of strings " @@ -177,9 +195,9 @@ msgid "" "have leading or trailing whitespace. The conversion is independent of the " "current locale." msgstr "" -"Convierte una cadena de caracteres ``s`` en un :c:type:`double`, generando " -"una excepción de Python en caso de falla. El conjunto de cadenas de " -"caracteres aceptadas corresponde al conjunto de cadenas aceptadas por el " +"Convierte una cadena de caracteres ``s`` a un valor :c:expr:`double`, " +"generando una excepción de Python en caso de fallo. El conjunto de cadenas " +"de caracteres aceptadas corresponde al conjunto de cadenas aceptadas por el " "constructor de Python :func:`float`, excepto que ``s`` no debe tener " "espacios en blanco iniciales o finales. La conversión es independiente de la " "configuración regional actual." @@ -239,12 +257,11 @@ msgstr "" "``-1.0``." #: ../Doc/c-api/conversion.rst:123 -#, fuzzy msgid "" "Convert a :c:expr:`double` *val* to a string using supplied *format_code*, " "*precision*, and *flags*." msgstr "" -"Convierte un :c:type:`double` *val* en una cadena de caracteres usando " +"Convierte un :c:expr:`double` *val* a una cadena de caracteres usando " "*format_code*, *precision* y *flags* suministrados." #: ../Doc/c-api/conversion.rst:126 @@ -315,21 +332,19 @@ msgstr "" "`PyMem_Free`." #: ../Doc/c-api/conversion.rst:157 -#, fuzzy msgid "" "Case insensitive comparison of strings. The function works almost " "identically to :c:func:`!strcmp` except that it ignores the case." msgstr "" "Comparación no sensible a mayúsculas y minúsculas en cadenas de caracteres. " -"La función se comporta casi de manera idéntica a :c:func:`strcmp`, excepto " -"que ignora el caso." +"La función se comporta casi de manera idéntica a :c:func:`!strcmp`, excepto " +"que ignora mayúsculas y minúsculas." #: ../Doc/c-api/conversion.rst:163 -#, fuzzy msgid "" "Case insensitive comparison of strings. The function works almost " "identically to :c:func:`!strncmp` except that it ignores the case." msgstr "" "Comparación no sensible a mayúsculas y minúsculas en cadenas de caracteres. " -"La función se comporta casi de manera idéntica a :c:func:`strncmp`, excepto " -"que ignora el caso." +"La función se comporta casi de manera idéntica a :c:func:`!strncmp`, excepto " +"que ignora mayúsculas y minúsculas." From 61f56025abeb379b97a8faec35ff5246cd553abb Mon Sep 17 00:00:00 2001 From: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com> Date: Tue, 13 May 2025 01:31:39 +0100 Subject: [PATCH 36/41] Lint fixes (#3392) From [dashboard](https://python-docs-translations.github.io/dashboard/warnings-lint-es.txt) ``` clones/rebased_translations/python/python-docs-es/howto/enum.po:27: Unnecessary parentheses in ':func:`repr()`' (unnecessary-parentheses) clones/rebased_translations/python/python-docs-es/howto/enum.po:391: Unnecessary parentheses in ':func:`auto()`' (unnecessary-parentheses) ``` --- howto/enum.po | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/howto/enum.po b/howto/enum.po index e22a399000..54b709d01f 100644 --- a/howto/enum.po +++ b/howto/enum.po @@ -32,7 +32,7 @@ msgid "" msgstr "" "Un :class:`Enum` es un conjunto de nombres simbólicos vinculados a valores " "únicos. Son similares a las variables globales, pero ofrecen un :func:" -"`repr()` más útil, agrupación, seguridad de tipos y algunas otras " +"`repr` más útil, agrupación, seguridad de tipos y algunas otras " "características." #: ../Doc/howto/enum.rst:15 @@ -412,7 +412,7 @@ msgid "" "yourself some work and use :func:`auto` for the values::" msgstr "" "En los casos en que los valores reales de los miembros no importen, puede " -"ahorrarse algo de trabajo y usar :func:`auto()` para los valores:" +"ahorrarse algo de trabajo y usar :func:`auto` para los valores:" #: ../Doc/howto/enum.rst:172 msgid "" From cacb33991bfb740e0d1f82bda76d8deb3b3ec002 Mon Sep 17 00:00:00 2001 From: M-E-K-J-2102 Date: Wed, 14 May 2025 02:27:27 -0400 Subject: [PATCH 37/41] =?UTF-8?q?Traducci=C3=B3n=20c-api/refcounting.po=20?= =?UTF-8?q?(#3386)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #3260 --------- Co-authored-by: Marcos Medrano <786907+mmmarcos@users.noreply.github.com> --- TRANSLATORS | 1 + c-api/refcounting.po | 126 ++++++++++++++++++++++++------------------- 2 files changed, 73 insertions(+), 54 deletions(-) diff --git a/TRANSLATORS b/TRANSLATORS index be067fce8b..e46c181565 100644 --- a/TRANSLATORS +++ b/TRANSLATORS @@ -186,6 +186,7 @@ Martín Gaitán (@mgaitan) Martín Ramírez (@tinchoram) Mateo Cámara (@MateoCamara) Matias Bordese (@matiasb) +Matthew Ellis Kane Jiménez (@M-E-K-J-2102) Melissa Escobar Gutiérrez (@MelissaEscobar) Miguel Ángel Nahuel Ambrosini (@ambro17) diff --git a/c-api/refcounting.po b/c-api/refcounting.po index bac90a57c8..f3abd37805 100644 --- a/c-api/refcounting.po +++ b/c-api/refcounting.po @@ -26,18 +26,16 @@ msgid "Reference Counting" msgstr "Conteo de referencias" #: ../Doc/c-api/refcounting.rst:10 -#, fuzzy msgid "" "The functions and macros in this section are used for managing reference " "counts of Python objects." msgstr "" -"Los macros de esta sección se utilizan para administrar conteos de " -"referencia de objetos Python." +"Las funciónes y macros de esta sección se utilizan para administrar conteos " +"de referencia de objetos en Python." #: ../Doc/c-api/refcounting.rst:16 -#, fuzzy msgid "Get the reference count of the Python object *o*." -msgstr "Incrementar el recuento de referencia para el objeto *o*." +msgstr "Obtiene el recuento de referencias para el objeto de Python *o*." #: ../Doc/c-api/refcounting.rst:18 msgid "" @@ -47,46 +45,57 @@ msgid "" "number of references. Consequently, do not rely on the returned value to be " "accurate, other than a value of 0 or 1." msgstr "" +"Ten cuenta que el valor devuelto puede que no reflejar cúantas referencias " +"al objecto existen realmente. Por ejemplo, algunos objetos son :" +"term:'immortal' y tienen un refcount muy alto que no refleja el número " +"real de referencias. Por lo tanto, no confíes en que el valor devuelto sea " +"presciso, salvo cuando sea 0 o 1. " #: ../Doc/c-api/refcounting.rst:24 msgid "" "Use the :c:func:`Py_SET_REFCNT()` function to set an object reference count." msgstr "" +"Usa la función :c:func:`Py_SET_REFCNT()` para establecer la cuenta de " +"referencias de un objeto." #: ../Doc/c-api/refcounting.rst:26 msgid ":c:func:`Py_REFCNT()` is changed to the inline static function." -msgstr "" +msgstr ":c:func:`Py_REFCNT()` se convierte en una función estática en línea." #: ../Doc/c-api/refcounting.rst:29 msgid "The parameter type is no longer :c:expr:`const PyObject*`." -msgstr "" +msgstr "El tipo de parámetro ya no es :c:expr:`const PyObject*`." #: ../Doc/c-api/refcounting.rst:35 -#, fuzzy msgid "Set the object *o* reference counter to *refcnt*." -msgstr "Incrementar el recuento de referencia para el objeto *o*." +msgstr "Establece la cuenta de referencias del objeto *o* al valor *refcnt*." #: ../Doc/c-api/refcounting.rst:37 msgid "" "On :ref:`Python build with Free Threading `, if " "*refcnt* is larger than ``UINT32_MAX``, the object is made :term:`immortal`." msgstr "" +"En :ref:`compilación de Python con Free Threading `, " +"si *refcnt* es mas mayor que ``UINT32_MAX``, el objeto se convierte en :term:" +"`immortal`." #: ../Doc/c-api/refcounting.rst:40 ../Doc/c-api/refcounting.rst:53 #: ../Doc/c-api/refcounting.rst:119 msgid "This function has no effect on :term:`immortal` objects." -msgstr "" +msgstr "Esta función no afecta a los objetos :term:`immortal`." #: ../Doc/c-api/refcounting.rst:44 ../Doc/c-api/refcounting.rst:68 #: ../Doc/c-api/refcounting.rst:147 msgid "Immortal objects are not modified." -msgstr "" +msgstr "Los objetos inmortales no se modifican." #: ../Doc/c-api/refcounting.rst:50 msgid "" "Indicate taking a new :term:`strong reference` to object *o*, indicating it " "is in use and should not be destroyed." msgstr "" +"Indica tomar una nueva :term:`strong reference` al objeto *o*, lo que indica " +"que está en uso y no debe ser destruido. " #: ../Doc/c-api/refcounting.rst:55 msgid "" @@ -101,6 +110,8 @@ msgstr "" #: ../Doc/c-api/refcounting.rst:59 msgid "When done using the object, release is by calling :c:func:`Py_DECREF`." msgstr "" +"Cuando se termine de usar el objeto, se libera llamando a :c:func:" +"`Py_DECREF`." #: ../Doc/c-api/refcounting.rst:61 msgid "" @@ -117,33 +128,32 @@ msgid "" msgstr "" #: ../Doc/c-api/refcounting.rst:74 -#, fuzzy msgid "" "Similar to :c:func:`Py_INCREF`, but the object *o* can be ``NULL``, in which " "case this has no effect." -msgstr "Similar a :c:func:`Py_NewRef`, pero el objeto *o* puede ser NULL." +msgstr "" +"Similar a :c:func:`Py_INCREF`, pero el objeto *o* puede ser ``NULL``, en " +"cuyo caso esto no tiene efecto." #: ../Doc/c-api/refcounting.rst:77 msgid "See also :c:func:`Py_XNewRef`." msgstr "Ver también :c:func:`Py_XNewRef`." #: ../Doc/c-api/refcounting.rst:82 -#, fuzzy msgid "" "Create a new :term:`strong reference` to an object: call :c:func:`Py_INCREF` " "on *o* and return the object *o*." msgstr "" -"Crea un nuevo :term:`strong reference` a un objeto: incrementa el recuento " -"de referencias del objeto *o* y retorna el objeto *o*." +"Crea una nueva :term:`strong reference` a un objeto: llama a :c:func:" +"`Py_INCREF` sobre *o* y devuelve el objeto *o*." #: ../Doc/c-api/refcounting.rst:85 -#, fuzzy msgid "" "When the :term:`strong reference` is no longer needed, :c:func:`Py_DECREF` " "should be called on it to release the reference." msgstr "" -"Cuando el :term:`strong reference` ya no sea necesario :c:func:`Py_DECREF` " -"debe ser llamado para disminuir el recuento de referencias del objeto." +"Cuando la :term:`strong reference` ya no sea necesaria, se debe llamar a :c:" +"func:`Py_DECREF` para disminuir el recuento de referencias del objeto." #: ../Doc/c-api/refcounting.rst:88 msgid "" @@ -184,23 +194,22 @@ msgid "If the object *o* is ``NULL``, the function just returns ``NULL``." msgstr "Si el objeto *o* es ``NULL``, la función solo retorna ``NULL``." #: ../Doc/c-api/refcounting.rst:116 -#, fuzzy msgid "" "Release a :term:`strong reference` to object *o*, indicating the reference " "is no longer used." msgstr "" -"Crea un nuevo :term:`strong reference` a un objeto: incrementa el recuento " -"de referencias del objeto *o* y retorna el objeto *o*." +"Libera una :term:`strong reference` al objeto *o*, indicando que la " +"referencia ya no se usa." #: ../Doc/c-api/refcounting.rst:121 -#, fuzzy msgid "" "Once the last :term:`strong reference` is released (i.e. the object's " "reference count reaches 0), the object's type's deallocation function (which " "must not be ``NULL``) is invoked." msgstr "" -"Si el recuento de referencias llega a cero, se invoca la función de " -"desasignación del tipo de objeto (que no debe ser ``NULL``)." +"Una vez que la última :term:`strong reference` sea liberada (por ejemplo, " +"cuando la cuenta de referencias del objeto llegue a 0), se invoca la función " +"de desasignación del tipo de objeto (la cual no debe ser ``NULL``)." #: ../Doc/c-api/refcounting.rst:126 msgid "" @@ -225,7 +234,6 @@ msgid "" msgstr "" #: ../Doc/c-api/refcounting.rst:138 -#, fuzzy msgid "" "The deallocation function can cause arbitrary Python code to be invoked (e." "g. when a class instance with a :meth:`~object.__del__` method is " @@ -238,15 +246,15 @@ msgid "" "call :c:func:`Py_DECREF` for the temporary variable." msgstr "" "La función de desasignación puede hacer que se invoque un código arbitrario " -"de Python (por ejemplo, cuando se desasigna una instancia de clase con un " -"método :meth:`__del__`). Si bien las excepciones en dicho código no se " -"propagan, el código ejecutado tiene acceso libre a todas las variables " +"de Python (por ejemplo, cuando se desasigna una instancia de clase con el " +"método :meth:`~object.__del__`). Mientras las excepciones en dicho código no sean " +"propagadas, el código ejecutado tendrá acceso libre a todas las variables " "globales de Python. Esto significa que cualquier objeto al que se pueda " -"acceder desde una variable global debe estar en un estado coherente antes de " -"invocar :c:func:`Py_DECREF`. Por ejemplo, el código para eliminar un objeto " -"de una lista debe copiar una referencia al objeto eliminado en una variable " -"temporal, actualizar la estructura de datos de la lista y luego llamar a :c:" -"func:`Py_DECREF` para la variable temporal." +"acceder desde una variable global debería estar en un estado coherente antes " +"de invocar a :c:func:`Py_DECREF`. Por ejemplo, el código para eliminar un " +"objeto de una lista debe copiar una referencia al objeto eliminado en una " +"variable temporal, actualizar la estructura de datos de la lista y luego " +"llamar a :c:func:`Py_DECREF` para la variable temporal." #: ../Doc/c-api/refcounting.rst:153 msgid "" @@ -254,9 +262,11 @@ msgid "" "case this has no effect. The same warning from :c:func:`Py_DECREF` applies " "here as well." msgstr "" +"Similar a :c:func:`Py_DECREF`, pero el objeto *o* puede ser ``NULL``, en " +"cuyo caso esto no tendría efecto alguno. El mismo aviso de :c:func:" +"`Py_DECREF` aplica aqui también." #: ../Doc/c-api/refcounting.rst:160 -#, fuzzy msgid "" "Release a :term:`strong reference` for object *o*. The object may be " "``NULL``, in which case the macro has no effect; otherwise the effect is the " @@ -265,60 +275,60 @@ msgid "" "to the object passed because the macro carefully uses a temporary variable " "and sets the argument to ``NULL`` before releasing the reference." msgstr "" -"Disminuye el conteo de referencia para el objeto *o*. El objeto puede ser " +"Libera una :term:`strong reference` del objeto *o*. El objeto puede ser " "``NULL``, en cuyo caso el macro no tiene efecto; de lo contrario, el efecto " -"es el mismo que para :c:func:`Py_DECREF`, excepto que el argumento también " -"se establece en ``NULL``. La advertencia para :c:func:`Py_DECREF` no se " -"aplica con respecto al objeto pasado porque el macro usa cuidadosamente una " -"variable temporal y establece el argumento en ``NULL`` antes de disminuir su " -"conteo de referencia." +"es el mismo que el de :c:func:`Py_DECREF`, excepto que el argumento también " +"se establece en ``NULL``. La advertencia de :c:func:`Py_DECREF` no se aplica " +"en este caso, ya que el macro usa cuidadosamente una variable temporal y " +"asigna ``NULL`` al algumento antes de luberar la referencia " #: ../Doc/c-api/refcounting.rst:168 -#, fuzzy msgid "" "It is a good idea to use this macro whenever releasing a reference to an " "object that might be traversed during garbage collection." msgstr "" -"Es una buena idea usar este macro siempre que disminuya el conteo de " -"referencia de un objeto que pueda atravesarse durante la recolección de " -"basura." +"Es buena idea usar este macro al liberar una referencia de un objeto que " +"podría ser recorrido durante la recolección de basura." #: ../Doc/c-api/refcounting.rst:171 msgid "" "The macro argument is now only evaluated once. If the argument has side " "effects, these are no longer duplicated." msgstr "" +"Ahora, el macro argumento solo se evalua una vez. Si el argumento tiene " +"efectos secundarios, estos ya no se duplican." #: ../Doc/c-api/refcounting.rst:178 -#, fuzzy msgid "" "Indicate taking a new :term:`strong reference` to object *o*. A function " "version of :c:func:`Py_XINCREF`. It can be used for runtime dynamic " "embedding of Python." msgstr "" -"Incrementa el conteo de referencias para objeto *o*. Una versión de la " -"función :c:func:`Py_XINCREF`. Puede utilizarse para la integración dinámica " -"en tiempo de ejecución de Python." +"Indica la toma de una nueva :term:`strong reference` al objeto *o*. Es una " +"versión en forma de función de :c:func:`Py_XINCREF`. Puede utilizarse para " +"la integración dinámica de Python en tiempo de ejecución." #: ../Doc/c-api/refcounting.rst:185 -#, fuzzy msgid "" "Release a :term:`strong reference` to object *o*. A function version of :c:" "func:`Py_XDECREF`. It can be used for runtime dynamic embedding of Python." msgstr "" -"Disminuye el conteo de referencias del objeto *o*. Una versión de la " -"función :c:func:`Py_XDECREF`. Puede utilizarse para la integración dinámica " -"en tiempo de ejecución de Python." +"Libera una :term:`strong reference` al objeto *o*. Una versión en forma de " +"función de :c:func:`Py_XDECREF`. Puede utilizarse para la integración " +"dinámica de Python en tiempo de ejecución." #: ../Doc/c-api/refcounting.rst:192 msgid "" "Macro safely releasing a :term:`strong reference` to object *dst* and " "setting *dst* to *src*." msgstr "" +"Un macro que libera de forma segura un :term:`strong reference` al objeto " +"*dst* y establece *dst* al valor *src*." #: ../Doc/c-api/refcounting.rst:195 msgid "As in case of :c:func:`Py_CLEAR`, \"the obvious\" code can be deadly::" msgstr "" +"Como en el caso de :c:func:`Py_CLEAR`, el codigo \"obvio\" puede ser mortal::" #: ../Doc/c-api/refcounting.rst:197 msgid "" @@ -328,7 +338,7 @@ msgstr "" #: ../Doc/c-api/refcounting.rst:200 msgid "The safe way is::" -msgstr "" +msgstr "La forma segura es::" #: ../Doc/c-api/refcounting.rst:202 msgid "Py_SETREF(dst, src);" @@ -340,15 +350,23 @@ msgid "" "old value of *dst*, so that any code triggered as a side-effect of *dst* " "getting torn down no longer believes *dst* points to a valid object." msgstr "" +"Eso termina asignando *dst* al valor *src* _antes de_ liberar la referencia " +"al valor anterior de *dst*, para que cualquier código ejecutado como efecto " +"secundario de *dst* siendo destruido ya no crea que *dst* señala a un objeto " +"válido." #: ../Doc/c-api/refcounting.rst:211 ../Doc/c-api/refcounting.rst:223 msgid "" "The macro arguments are now only evaluated once. If an argument has side " "effects, these are no longer duplicated." msgstr "" +"Los macro argumentos ahora solo se evalúan una vez. Si algún argumento tiene " +"efectos secundarios, estos ya no se duplican." #: ../Doc/c-api/refcounting.rst:218 msgid "" "Variant of :c:macro:`Py_SETREF` macro that uses :c:func:`Py_XDECREF` instead " "of :c:func:`Py_DECREF`." msgstr "" +"Un variante del macro :c:macro:`Py_SETREF` que usa :c:func:`Py_XDECREF` en " +"lugar de :c:func:`Py_DECREF`." From 396cc135439d6c37da9cabb88757299f11205d39 Mon Sep 17 00:00:00 2001 From: Luis Gonzalez Date: Mon, 19 May 2025 15:42:44 -0500 Subject: [PATCH 38/41] primera traduccion (#3396) Closes #3272 --------- Co-authored-by: rtobar --- c-api/reflection.po | 93 +++++++++++++++++++++++++++------------------ 1 file changed, 57 insertions(+), 36 deletions(-) diff --git a/c-api/reflection.po b/c-api/reflection.po index 00aac1c3c4..14714def82 100644 --- a/c-api/reflection.po +++ b/c-api/reflection.po @@ -11,44 +11,49 @@ 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: 2021-12-09 10:32+0800\n" +"PO-Revision-Date: 2025-05-15 13:52-0500\n" "Last-Translator: Rodrigo Tobar \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" +"X-Generator: Poedit 3.6\n" #: ../Doc/c-api/reflection.rst:6 msgid "Reflection" msgstr "Reflexión" #: ../Doc/c-api/reflection.rst:12 -#, fuzzy msgid "Use :c:func:`PyEval_GetFrameBuiltins` instead." -msgstr "Vea también :c:func:`PyThreadState_GetFrame`." +msgstr "Utilice :c:func:`PyEval_GetFrameBuiltins` en su lugar." #: ../Doc/c-api/reflection.rst:14 ../Doc/c-api/reflection.rst:66 msgid "" "Return a dictionary of the builtins in the current execution frame, or the " "interpreter of the thread state if no frame is currently executing." msgstr "" -"Retorna un diccionario de las construcciones en el marco de ejecución " -"actual, o el intérprete del estado del hilo si no se está ejecutando ningún " -"marco actualmente." +"Retorna un diccionario de los builtins en el marco de ejecución actual, o " +"el intérprete del estado del hilo si no hay ningún marco en ejecución " +"actualmente." #: ../Doc/c-api/reflection.rst:22 msgid "" "Use either :c:func:`PyEval_GetFrameLocals` to obtain the same behaviour as " -"calling :func:`locals` in Python code, or else call :c:func:" -"`PyFrame_GetLocals` on the result of :c:func:`PyEval_GetFrame` to access " -"the :attr:`~frame.f_locals` attribute of the currently executing frame." +"calling :func:`locals` in Python code, or else " +"call :c:func:`PyFrame_GetLocals` on the result of :c:func:`PyEval_GetFrame` " +"to access the :attr:`~frame.f_locals` attribute of the currently executing " +"frame." msgstr "" +"Utilice :c:func:`PyEval_GetFrameLocals` para obtener el mismo comportamiento " +"que llamando a :func:`locals` en código Python, o bien llama " +"a :c:func:`PyFrame_GetLocals` sobre el resultado " +"de :c:func:`PyEval_GetFrame` para acceder al " +"atributo :attr:`~frame.f_locals` del frame actualmente en ejecución." #: ../Doc/c-api/reflection.rst:27 -#, fuzzy msgid "" "Return a mapping providing access to the local variables in the current " "execution frame, or ``NULL`` if no frame is currently executing." @@ -61,30 +66,42 @@ msgid "" "Refer to :func:`locals` for details of the mapping returned at different " "scopes." msgstr "" +"Consulte :func:`locals` para obtener más información sobre el mapeo " +"retornado en diferentes ámbitos." #: ../Doc/c-api/reflection.rst:32 msgid "" "As this function returns a :term:`borrowed reference`, the dictionary " "returned for :term:`optimized scopes ` is cached on the " -"frame object and will remain alive as long as the frame object does. Unlike :" -"c:func:`PyEval_GetFrameLocals` and :func:`locals`, subsequent calls to this " -"function in the same frame will update the contents of the cached dictionary " -"to reflect changes in the state of the local variables rather than returning " -"a new snapshot." +"frame object and will remain alive as long as the frame object does. " +"Unlike :c:func:`PyEval_GetFrameLocals` and :func:`locals`, subsequent calls " +"to this function in the same frame will update the contents of the cached " +"dictionary to reflect changes in the state of the local variables rather " +"than returning a new snapshot." msgstr "" +"Como esta función retorna una :term:`referencia prestada`, el diccionario " +"retornado para :term:`ámbitos optimizados ` se almacena en " +"caché en el objeto marco y permanecerá vivo mientras lo haga el marco del " +"objeto. A diferencia de :c:func:`PyEval_GetFrameLocals` y :func:`locals`, " +"las llamadas posteriores a esta función en el mismo marco actualizarán el " +"contenido del diccionario en caché para reflejar los cambios en el estado de " +"las variables locales en lugar de retornar una nueva instantánea." #: ../Doc/c-api/reflection.rst:39 msgid "" -"As part of :pep:`667`, :c:func:`PyFrame_GetLocals`, :func:`locals`, and :" -"attr:`FrameType.f_locals ` no longer make use of the shared " -"cache dictionary. Refer to the :ref:`What's New entry ` for additional details." +"As part of :pep:`667`, :c:func:`PyFrame_GetLocals`, :func:`locals`, " +"and :attr:`FrameType.f_locals ` no longer make use of the " +"shared cache dictionary. Refer to the :ref:`What's New entry ` for additional details." msgstr "" +"Como parte de :pep:`667`, :c:func:`PyFrame_GetLocals`, :func:`locals`, " +"y :attr:`FrameType.f_locals ` ya no utilizan el diccionario " +"de caché compartido. Consulte la entrada :ref:`What's New ` para más detalles." #: ../Doc/c-api/reflection.rst:50 -#, fuzzy msgid "Use :c:func:`PyEval_GetFrameGlobals` instead." -msgstr "Vea también :c:func:`PyThreadState_GetFrame`." +msgstr "Utilice :c:func:`PyEval_GetFrameGlobals` en su lugar." #: ../Doc/c-api/reflection.rst:52 msgid "" @@ -107,31 +124,35 @@ msgid "See also :c:func:`PyThreadState_GetFrame`." msgstr "Vea también :c:func:`PyThreadState_GetFrame`." #: ../Doc/c-api/reflection.rst:74 -#, fuzzy msgid "" "Return a dictionary of the local variables in the current execution frame, " -"or ``NULL`` if no frame is currently executing. Equivalent to calling :func:" -"`locals` in Python code." +"or ``NULL`` if no frame is currently executing. Equivalent to " +"calling :func:`locals` in Python code." msgstr "" "Retorna un diccionario de las variables locales en el marco de ejecución " -"actual, o ``NULL`` si actualmente no se está ejecutando ningún marco." +"actual, o ``NULL`` si no se está ejecutando ningún marco. Equivale a llamar " +"a :func:`locals` en código Python." #: ../Doc/c-api/reflection.rst:78 msgid "" "To access :attr:`~frame.f_locals` on the current frame without making an " -"independent snapshot in :term:`optimized scopes `, call :c:" -"func:`PyFrame_GetLocals` on the result of :c:func:`PyEval_GetFrame`." +"independent snapshot in :term:`optimized scopes `, " +"call :c:func:`PyFrame_GetLocals` on the result of :c:func:`PyEval_GetFrame`." msgstr "" +"Para acceder a :attr:`~frame.f_locals` en el marco actual sin hacer una " +"captura independiente en :term:`ámbitos optimizados `, llame " +"a :c:func:`PyFrame_GetLocals` sobre el resultado " +"de :c:func:`PyEval_GetFrame`." #: ../Doc/c-api/reflection.rst:87 -#, fuzzy msgid "" "Return a dictionary of the global variables in the current execution frame, " -"or ``NULL`` if no frame is currently executing. Equivalent to calling :func:" -"`globals` in Python code." +"or ``NULL`` if no frame is currently executing. Equivalent to " +"calling :func:`globals` in Python code." msgstr "" -"Retorna un diccionario de las variables globales en el marco de ejecución " -"actual, o ``NULL`` si actualmente no se está ejecutando ningún marco." +"Retorna un diccionario de las variables locales en el marco de ejecución " +"actual, o ``NULL`` si no se está ejecutando ningún marco. Equivale a llamar " +"a :func:`globals` en código Python." #: ../Doc/c-api/reflection.rst:96 msgid "" @@ -145,8 +166,8 @@ msgstr "" msgid "" "Return a description string, depending on the type of *func*. Return values " "include \"()\" for functions and methods, \" constructor\", \" instance\", " -"and \" object\". Concatenated with the result of :c:func:" -"`PyEval_GetFuncName`, the result will be a description of *func*." +"and \" object\". Concatenated with the result " +"of :c:func:`PyEval_GetFuncName`, the result will be a description of *func*." msgstr "" "Retorna una cadena de caracteres de descripción, según el tipo de *func*. " "Los valores de retorno incluyen \"()\" para funciones y métodos, " From 0f3bc36f8d8504ab9194dd71ca72c75ca4240b94 Mon Sep 17 00:00:00 2001 From: Carlos Mena <50986837+carlosm00@users.noreply.github.com> Date: Fri, 30 May 2025 01:02:40 +0200 Subject: [PATCH 39/41] =?UTF-8?q?Traducci=C3=B3n=20de=20deprecations/c-api?= =?UTF-8?q?-pending-removal-in-future.po=20(#3397)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #3291 --- .../c-api-pending-removal-in-future.po | 58 +++++++++++++++---- 1 file changed, 48 insertions(+), 10 deletions(-) diff --git a/deprecations/c-api-pending-removal-in-future.po b/deprecations/c-api-pending-removal-in-future.po index 1996da9be1..c12f53b674 100644 --- a/deprecations/c-api-pending-removal-in-future.po +++ b/deprecations/c-api-pending-removal-in-future.po @@ -10,134 +10,172 @@ msgstr "" "Project-Id-Version: Python en Español 3.13\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: FULL NAME \n" -"Language: es\n" +"PO-Revision-Date: 2025-05-30 00:19+0200\n" +"Last-Translator: Carlos Mena Pérez <@carlosm00>\n" "Language-Team: 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.5\n" #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:2 msgid "Pending Removal in Future Versions" -msgstr "" +msgstr "Pendiente de eliminación en versiones futuras" #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:4 msgid "" "The following APIs are deprecated and will be removed, although there is " "currently no date scheduled for their removal." msgstr "" +"Las siguientes APIs están obsoletas y serán eliminadas, aunque actualmente " +"no hay fecha prevista para su eliminación." #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:7 msgid ":c:macro:`Py_TPFLAGS_HAVE_FINALIZE`: Unneeded since Python 3.8." -msgstr "" +msgstr ":c:macro:`Py_TPFLAGS_HAVE_FINALIZE`: Innecesaria desde Python 3.8." #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:9 msgid ":c:func:`PyErr_Fetch`: Use :c:func:`PyErr_GetRaisedException` instead." msgstr "" +":c:func:`PyErr_Fetch`: Utilice :c:func:`PyErr_GetRaisedException` en su " +"lugar." #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:11 msgid "" ":c:func:`PyErr_NormalizeException`: Use :c:func:`PyErr_GetRaisedException` " "instead." msgstr "" +":c:func:`PyErr_NormalizeException`: Utilice :c:func:" +"`PyErr_GetRaisedException` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:13 msgid "" ":c:func:`PyErr_Restore`: Use :c:func:`PyErr_SetRaisedException` instead." msgstr "" +":c:func:`PyErr_Restore`: Utilice :c:func:`PyErr_SetRaisedException` en su " +"lugar." #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:15 msgid "" ":c:func:`PyModule_GetFilename`: Use :c:func:`PyModule_GetFilenameObject` " "instead." msgstr "" +":c:func:`PyModule_GetFilename`: Utilice :c:func:`PyModule_GetFilenameObject` " +"en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:17 msgid ":c:func:`PyOS_AfterFork`: Use :c:func:`PyOS_AfterFork_Child` instead." msgstr "" +":c:func:`PyOS_AfterFork`: Utilice :c:func:`PyOS_AfterFork_Child` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:19 msgid "" ":c:func:`PySlice_GetIndicesEx`: Use :c:func:`PySlice_Unpack` and :c:func:" "`PySlice_AdjustIndices` instead." msgstr "" +":c:func:`PySlice_GetIndicesEx`: Utilice :c:func:`PySlice_Unpack` y :c:func:" +"`PySlice_AdjustIndices` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:21 msgid "" ":c:func:`!PyUnicode_AsDecodedObject`: Use :c:func:`PyCodec_Decode` instead." msgstr "" +":c:func:`!PyUnicode_AsDecodedObject`: Utilice :c:func:`PyCodec_Decode` en su " +"lugar." #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:23 msgid "" ":c:func:`!PyUnicode_AsDecodedUnicode`: Use :c:func:`PyCodec_Decode` instead." msgstr "" +":c:func:`!PyUnicode_AsDecodedUnicode`: Utilice :c:func:`PyCodec_Decode` en " +"su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:25 msgid "" ":c:func:`!PyUnicode_AsEncodedObject`: Use :c:func:`PyCodec_Encode` instead." msgstr "" +":c:func:`!PyUnicode_AsEncodedObject`: Utilice :c:func:`PyCodec_Encode` en su " +"lugar." #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:27 msgid "" ":c:func:`!PyUnicode_AsEncodedUnicode`: Use :c:func:`PyCodec_Encode` instead." msgstr "" +":c:func:`!PyUnicode_AsEncodedUnicode`: Utilice :c:func:`PyCodec_Encode` en " +"su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:29 msgid ":c:func:`PyUnicode_READY`: Unneeded since Python 3.12" -msgstr "" +msgstr ":c:func:`PyUnicode_READY`: Innecesaria desde Python 3.12" #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:31 msgid ":c:func:`!PyErr_Display`: Use :c:func:`PyErr_DisplayException` instead." msgstr "" +":c:func:`!PyErr_Display`: Utilice :c:func:`PyErr_DisplayException` en su " +"lugar." #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:33 msgid "" ":c:func:`!_PyErr_ChainExceptions`: Use :c:func:`!_PyErr_ChainExceptions1` " "instead." msgstr "" +":c:func:`!_PyErr_ChainExceptions`: Utilice :c:func:`!" +"_PyErr_ChainExceptions1` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:35 msgid "" ":c:member:`!PyBytesObject.ob_shash` member: call :c:func:`PyObject_Hash` " "instead." msgstr "" +"Miembro :c:member:`!PyBytesObject.ob_shash`: Llame a :c:func:`PyObject_Hash` " +"en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:37 msgid ":c:member:`!PyDictObject.ma_version_tag` member." -msgstr "" +msgstr "Miembro :c:member:`!PyDictObject.ma_version_tag`." #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:38 msgid "Thread Local Storage (TLS) API:" -msgstr "" +msgstr "API de almacenamiento local de hilos (TLS):" #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:40 msgid "" ":c:func:`PyThread_create_key`: Use :c:func:`PyThread_tss_alloc` instead." msgstr "" +":c:func:`PyThread_create_key`: Utilice :c:func:`PyThread_tss_alloc` en su " +"lugar." #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:42 msgid ":c:func:`PyThread_delete_key`: Use :c:func:`PyThread_tss_free` instead." msgstr "" +":c:func:`PyThread_delete_key`: Utilice :c:func:`PyThread_tss_free` en su " +"lugar." #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:44 msgid "" ":c:func:`PyThread_set_key_value`: Use :c:func:`PyThread_tss_set` instead." msgstr "" +":c:func:`PyThread_set_key_value`: Utilice :c:func:`PyThread_tss_set` en su " +"lugar." #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:46 msgid "" ":c:func:`PyThread_get_key_value`: Use :c:func:`PyThread_tss_get` instead." msgstr "" +":c:func:`PyThread_get_key_value`: Utilice :c:func:`PyThread_tss_get` en su " +"lugar." #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:48 msgid "" ":c:func:`PyThread_delete_key_value`: Use :c:func:`PyThread_tss_delete` " "instead." msgstr "" +":c:func:`PyThread_delete_key_value`: Utilice :c:func:`PyThread_tss_delete` " +"en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-future.rst:50 msgid ":c:func:`PyThread_ReInitTLS`: Unneeded since Python 3.7." -msgstr "" +msgstr ":c:func:`PyThread_ReInitTLS`: Innecesaria desde Python 3.7." From 69f6a2b97351984ba38c320500a7a813a9f3a71d Mon Sep 17 00:00:00 2001 From: Marcos Medrano <786907+mmmarcos@users.noreply.github.com> Date: Sun, 1 Jun 2025 00:23:17 +0200 Subject: [PATCH 40/41] Traducido c-api/refcounting.po (#3399) Fix de algunas traducciones y problemas que quedaron sin resolver en #3386 --------- Co-authored-by: rtobar --- c-api/refcounting.po | 111 ++++++++++++++++++++++++------------------- 1 file changed, 61 insertions(+), 50 deletions(-) diff --git a/c-api/refcounting.po b/c-api/refcounting.po index f3abd37805..a76233eb0f 100644 --- a/c-api/refcounting.po +++ b/c-api/refcounting.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-11-04 09:05-0300\n" -"Last-Translator: Rodrigo Poblete \n" -"Language: es\n" +"PO-Revision-Date: 2025-05-16 20:01+0200\n" +"Last-Translator: Marcos Medrano \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.6\n" #: ../Doc/c-api/refcounting.rst:8 msgid "Reference Counting" @@ -30,7 +31,7 @@ msgid "" "The functions and macros in this section are used for managing reference " "counts of Python objects." msgstr "" -"Las funciónes y macros de esta sección se utilizan para administrar conteos " +"Las funciones y macros de esta sección se utilizan para administrar conteos " "de referencia de objetos en Python." #: ../Doc/c-api/refcounting.rst:16 @@ -40,16 +41,16 @@ msgstr "Obtiene el recuento de referencias para el objeto de Python *o*." #: ../Doc/c-api/refcounting.rst:18 msgid "" "Note that the returned value may not actually reflect how many references to " -"the object are actually held. For example, some objects are :term:" -"`immortal` and have a very high refcount that does not reflect the actual " -"number of references. Consequently, do not rely on the returned value to be " -"accurate, other than a value of 0 or 1." -msgstr "" -"Ten cuenta que el valor devuelto puede que no reflejar cúantas referencias " -"al objecto existen realmente. Por ejemplo, algunos objetos son :" -"term:'immortal' y tienen un refcount muy alto que no refleja el número " +"the object are actually held. For example, some objects " +"are :term:`immortal` and have a very high refcount that does not reflect the " +"actual number of references. Consequently, do not rely on the returned " +"value to be accurate, other than a value of 0 or 1." +msgstr "" +"Ten cuenta que el valor devuelto puede que no reflejar cuantas referencias " +"al objecto existen realmente. Por ejemplo, algunos objetos " +"son :term:`immortal` y tienen un refcount muy alto que no refleja el número " "real de referencias. Por lo tanto, no confíes en que el valor devuelto sea " -"presciso, salvo cuando sea 0 o 1. " +"preciso, salvo cuando sea 0 o 1." #: ../Doc/c-api/refcounting.rst:24 msgid "" @@ -75,9 +76,9 @@ msgid "" "On :ref:`Python build with Free Threading `, if " "*refcnt* is larger than ``UINT32_MAX``, the object is made :term:`immortal`." msgstr "" -"En :ref:`compilación de Python con Free Threading `, " -"si *refcnt* es mas mayor que ``UINT32_MAX``, el objeto se convierte en :term:" -"`immortal`." +"En :ref:`compilación de Python con Free Threading `, " +"si *refcnt* es mas mayor que ``UINT32_MAX``, el objeto se convierte " +"en :term:`immortal`." #: ../Doc/c-api/refcounting.rst:40 ../Doc/c-api/refcounting.rst:53 #: ../Doc/c-api/refcounting.rst:119 @@ -95,23 +96,24 @@ msgid "" "is in use and should not be destroyed." msgstr "" "Indica tomar una nueva :term:`strong reference` al objeto *o*, lo que indica " -"que está en uso y no debe ser destruido. " +"que está en uso y no debe ser destruido." #: ../Doc/c-api/refcounting.rst:55 msgid "" -"This function is usually used to convert a :term:`borrowed reference` to a :" -"term:`strong reference` in-place. The :c:func:`Py_NewRef` function can be " +"This function is usually used to convert a :term:`borrowed reference` to " +"a :term:`strong reference` in-place. The :c:func:`Py_NewRef` function can be " "used to create a new :term:`strong reference`." msgstr "" "Esta función se usa generalmente para convertir un :term:`borrowed " -"reference` en un :term:`strong reference` en su lugar. La función :c:func:" -"`Py_NewRef` se puede utilizar para crear un nuevo :term:`strong reference`." +"reference` en un :term:`strong reference` en su lugar. La " +"función :c:func:`Py_NewRef` se puede utilizar para crear un " +"nuevo :term:`strong reference`." #: ../Doc/c-api/refcounting.rst:59 msgid "When done using the object, release is by calling :c:func:`Py_DECREF`." msgstr "" -"Cuando se termine de usar el objeto, se libera llamando a :c:func:" -"`Py_DECREF`." +"Cuando se termine de usar el objeto, se libera llamando " +"a :c:func:`Py_DECREF`." #: ../Doc/c-api/refcounting.rst:61 msgid "" @@ -123,9 +125,11 @@ msgstr "" #: ../Doc/c-api/refcounting.rst:64 msgid "" -"Do not expect this function to actually modify *o* in any way. For at least :" -"pep:`some objects <0683>`, this function has no effect." +"Do not expect this function to actually modify *o* in any way. For at " +"least :pep:`some objects <0683>`, this function has no effect." msgstr "" +"No esperes que esta función modifique realmente *o* de ninguna manera. Al " +"menos para :pep:`algunos objetos <0683>`, esta función no tiene ningún efecto." #: ../Doc/c-api/refcounting.rst:74 msgid "" @@ -144,16 +148,16 @@ msgid "" "Create a new :term:`strong reference` to an object: call :c:func:`Py_INCREF` " "on *o* and return the object *o*." msgstr "" -"Crea una nueva :term:`strong reference` a un objeto: llama a :c:func:" -"`Py_INCREF` sobre *o* y devuelve el objeto *o*." +"Crea una nueva :term:`strong reference` a un objeto: llama " +"a :c:func:`Py_INCREF` sobre *o* y devuelve el objeto *o*." #: ../Doc/c-api/refcounting.rst:85 msgid "" "When the :term:`strong reference` is no longer needed, :c:func:`Py_DECREF` " "should be called on it to release the reference." msgstr "" -"Cuando la :term:`strong reference` ya no sea necesaria, se debe llamar a :c:" -"func:`Py_DECREF` para disminuir el recuento de referencias del objeto." +"Cuando la :term:`strong reference` ya no sea necesaria, se debe llamar " +"a :c:func:`Py_DECREF` para disminuir el recuento de referencias del objeto." #: ../Doc/c-api/refcounting.rst:88 msgid "" @@ -172,6 +176,8 @@ msgid "" "Py_INCREF(obj);\n" "self->attr = obj;" msgstr "" +"Py_INCREF(obj);\n" +"self->attr = obj;" #: ../Doc/c-api/refcounting.rst:96 msgid "can be written as::" @@ -179,7 +185,7 @@ msgstr "puede ser escrito como::" #: ../Doc/c-api/refcounting.rst:98 msgid "self->attr = Py_NewRef(obj);" -msgstr "" +msgstr "self->attr = Py_NewRef(obj);" #: ../Doc/c-api/refcounting.rst:100 msgid "See also :c:func:`Py_INCREF`." @@ -229,14 +235,16 @@ msgstr "" #: ../Doc/c-api/refcounting.rst:132 msgid "" -"Do not expect this function to actually modify *o* in any way. For at least :" -"pep:`some objects <683>`, this function has no effect." +"Do not expect this function to actually modify *o* in any way. For at " +"least :pep:`some objects <683>`, this function has no effect." msgstr "" +"No esperes que esta función modifique realmente *o* de ninguna manera. Al " +"menos para :pep:`algunos objetos <683>`, esta función no tiene ningún efecto." #: ../Doc/c-api/refcounting.rst:138 msgid "" -"The deallocation function can cause arbitrary Python code to be invoked (e." -"g. when a class instance with a :meth:`~object.__del__` method is " +"The deallocation function can cause arbitrary Python code to be invoked " +"(e.g. when a class instance with a :meth:`~object.__del__` method is " "deallocated). While exceptions in such code are not propagated, the " "executed code has free access to all Python global variables. This means " "that any object that is reachable from a global variable should be in a " @@ -247,12 +255,12 @@ msgid "" msgstr "" "La función de desasignación puede hacer que se invoque un código arbitrario " "de Python (por ejemplo, cuando se desasigna una instancia de clase con el " -"método :meth:`~object.__del__`). Mientras las excepciones en dicho código no sean " -"propagadas, el código ejecutado tendrá acceso libre a todas las variables " -"globales de Python. Esto significa que cualquier objeto al que se pueda " -"acceder desde una variable global debería estar en un estado coherente antes " -"de invocar a :c:func:`Py_DECREF`. Por ejemplo, el código para eliminar un " -"objeto de una lista debe copiar una referencia al objeto eliminado en una " +"método :meth:`~object.__del__`). Mientras las excepciones en dicho código no " +"sean propagadas, el código ejecutado tendrá acceso libre a todas las " +"variables globales de Python. Esto significa que cualquier objeto al que se " +"pueda acceder desde una variable global debería estar en un estado coherente " +"antes de invocar a :c:func:`Py_DECREF`. Por ejemplo, el código para eliminar " +"un objeto de una lista debe copiar una referencia al objeto eliminado en una " "variable temporal, actualizar la estructura de datos de la lista y luego " "llamar a :c:func:`Py_DECREF` para la variable temporal." @@ -263,8 +271,8 @@ msgid "" "here as well." msgstr "" "Similar a :c:func:`Py_DECREF`, pero el objeto *o* puede ser ``NULL``, en " -"cuyo caso esto no tendría efecto alguno. El mismo aviso de :c:func:" -"`Py_DECREF` aplica aqui también." +"cuyo caso esto no tendría efecto alguno. El mismo aviso " +"de :c:func:`Py_DECREF` aplica aquí también." #: ../Doc/c-api/refcounting.rst:160 msgid "" @@ -280,7 +288,7 @@ msgstr "" "es el mismo que el de :c:func:`Py_DECREF`, excepto que el argumento también " "se establece en ``NULL``. La advertencia de :c:func:`Py_DECREF` no se aplica " "en este caso, ya que el macro usa cuidadosamente una variable temporal y " -"asigna ``NULL`` al algumento antes de luberar la referencia " +"asigna ``NULL`` al argumento antes de liberar la referencia." #: ../Doc/c-api/refcounting.rst:168 msgid "" @@ -295,7 +303,7 @@ msgid "" "The macro argument is now only evaluated once. If the argument has side " "effects, these are no longer duplicated." msgstr "" -"Ahora, el macro argumento solo se evalua una vez. Si el argumento tiene " +"Ahora, el macro argumento solo se evalúa una vez. Si el argumento tiene " "efectos secundarios, estos ya no se duplican." #: ../Doc/c-api/refcounting.rst:178 @@ -310,8 +318,9 @@ msgstr "" #: ../Doc/c-api/refcounting.rst:185 msgid "" -"Release a :term:`strong reference` to object *o*. A function version of :c:" -"func:`Py_XDECREF`. It can be used for runtime dynamic embedding of Python." +"Release a :term:`strong reference` to object *o*. A function version " +"of :c:func:`Py_XDECREF`. It can be used for runtime dynamic embedding of " +"Python." msgstr "" "Libera una :term:`strong reference` al objeto *o*. Una versión en forma de " "función de :c:func:`Py_XDECREF`. Puede utilizarse para la integración " @@ -328,13 +337,15 @@ msgstr "" #: ../Doc/c-api/refcounting.rst:195 msgid "As in case of :c:func:`Py_CLEAR`, \"the obvious\" code can be deadly::" msgstr "" -"Como en el caso de :c:func:`Py_CLEAR`, el codigo \"obvio\" puede ser mortal::" +"Como en el caso de :c:func:`Py_CLEAR`, el código \"obvio\" puede ser mortal::" #: ../Doc/c-api/refcounting.rst:197 msgid "" "Py_DECREF(dst);\n" "dst = src;" msgstr "" +"Py_DECREF(dst);\n" +"dst = src;" #: ../Doc/c-api/refcounting.rst:200 msgid "The safe way is::" @@ -342,7 +353,7 @@ msgstr "La forma segura es::" #: ../Doc/c-api/refcounting.rst:202 msgid "Py_SETREF(dst, src);" -msgstr "" +msgstr "Py_SETREF(dst, src);" #: ../Doc/c-api/refcounting.rst:204 msgid "" @@ -350,7 +361,7 @@ msgid "" "old value of *dst*, so that any code triggered as a side-effect of *dst* " "getting torn down no longer believes *dst* points to a valid object." msgstr "" -"Eso termina asignando *dst* al valor *src* _antes de_ liberar la referencia " +"Eso termina asignando *dst* al valor *src* _antes_ de liberar la referencia " "al valor anterior de *dst*, para que cualquier código ejecutado como efecto " "secundario de *dst* siendo destruido ya no crea que *dst* señala a un objeto " "válido." From f5a06a3b43fe0615c9dd17b4cdcbaa89ebb096ae Mon Sep 17 00:00:00 2001 From: Carlos Mena <50986837+carlosm00@users.noreply.github.com> Date: Mon, 2 Jun 2025 01:02:10 +0200 Subject: [PATCH 41/41] =?UTF-8?q?Traducci=C3=B3n=20de=20deprecations/c-api?= =?UTF-8?q?-pending-removal-in-3.14.po=20(#3398)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #3292 --------- Co-authored-by: rtobar --- deprecations/c-api-pending-removal-in-3.14.po | 65 +++++++++++++++++-- 1 file changed, 58 insertions(+), 7 deletions(-) diff --git a/deprecations/c-api-pending-removal-in-3.14.po b/deprecations/c-api-pending-removal-in-3.14.po index a78f57de03..8db17c276c 100644 --- a/deprecations/c-api-pending-removal-in-3.14.po +++ b/deprecations/c-api-pending-removal-in-3.14.po @@ -10,54 +10,68 @@ msgstr "" "Project-Id-Version: Python en Español 3.13\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: FULL NAME \n" -"Language: es\n" +"PO-Revision-Date: 2025-06-01 20:43+0200\n" +"Last-Translator: Carlos Mena Pérez <@carlosm00>\n" "Language-Team: 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.5\n" #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:2 msgid "Pending Removal in Python 3.14" -msgstr "" +msgstr "Pendiente de eliminación en Python 3.14" #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:4 msgid "" "The ``ma_version_tag`` field in :c:type:`PyDictObject` for extension modules " "(:pep:`699`; :gh:`101193`)." msgstr "" +"El campo ``ma_version_tag`` en :c:type:`PyDictObject` para módulos de " +"extensión (:pep:`699`; :gh:`101193`)." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:7 msgid "" "Creating :c:data:`immutable types ` with mutable " "bases (:gh:`95388`)." msgstr "" +"Crear :c:data:`tipos inmutables ` con bases " +"mutables (:gh:`95388`)." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:10 msgid "" "Functions to configure Python's initialization, deprecated in Python 3.11:" msgstr "" +"Funciones para configurar la inicialización de Python, obsoletas en Python " +"3.11:" #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:12 msgid ":c:func:`!PySys_SetArgvEx()`: Set :c:member:`PyConfig.argv` instead." msgstr "" +":c:func:`!PySys_SetArgvEx()`: Establezca :c:member:`PyConfig.argv` en su " +"lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:14 msgid ":c:func:`!PySys_SetArgv()`: Set :c:member:`PyConfig.argv` instead." msgstr "" +":c:func:`!PySys_SetArgv()`: Establezca :c:member:`PyConfig.argv` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:16 msgid "" ":c:func:`!Py_SetProgramName()`: Set :c:member:`PyConfig.program_name` " "instead." msgstr "" +":c:func:`!Py_SetProgramName()`: Establezca :c:member:`PyConfig.program_name` " +"en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:18 msgid ":c:func:`!Py_SetPythonHome()`: Set :c:member:`PyConfig.home` instead." msgstr "" +":c:func:`!Py_SetPythonHome()`: Establezca :c:member:`PyConfig.home` en su " +"lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:21 #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:71 @@ -65,118 +79,155 @@ msgid "" "The :c:func:`Py_InitializeFromConfig` API should be used with :c:type:" "`PyConfig` instead." msgstr "" +"La API :c:func:`Py_InitializeFromConfig` debería utilizarse con :c:type:" +"`PyConfig` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:24 msgid "Global configuration variables:" -msgstr "" +msgstr "Variables de configuración global:" #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:26 msgid ":c:var:`Py_DebugFlag`: Use :c:member:`PyConfig.parser_debug` instead." msgstr "" +":c:var:`Py_DebugFlag`: Utilice :c:member:`PyConfig.parser_debug` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:28 msgid ":c:var:`Py_VerboseFlag`: Use :c:member:`PyConfig.verbose` instead." msgstr "" +":c:var:`Py_VerboseFlag`: Utilice :c:member:`PyConfig.verbose` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:30 msgid ":c:var:`Py_QuietFlag`: Use :c:member:`PyConfig.quiet` instead." -msgstr "" +msgstr ":c:var:`Py_QuietFlag`: Utilice :c:member:`PyConfig.quiet` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:32 msgid "" ":c:var:`Py_InteractiveFlag`: Use :c:member:`PyConfig.interactive` instead." msgstr "" +":c:var:`Py_InteractiveFlag`: Utilice :c:member:`PyConfig.interactive` en su " +"lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:34 msgid ":c:var:`Py_InspectFlag`: Use :c:member:`PyConfig.inspect` instead." msgstr "" +":c:var:`Py_InspectFlag`: Utilice :c:member:`PyConfig.inspect` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:36 msgid "" ":c:var:`Py_OptimizeFlag`: Use :c:member:`PyConfig.optimization_level` " "instead." msgstr "" +":c:var:`Py_OptimizeFlag`: Utilice :c:member:`PyConfig.optimization_level` en " +"su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:38 msgid ":c:var:`Py_NoSiteFlag`: Use :c:member:`PyConfig.site_import` instead." msgstr "" +":c:var:`Py_NoSiteFlag`: Utilice :c:member:`PyConfig.site_import` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:40 msgid "" ":c:var:`Py_BytesWarningFlag`: Use :c:member:`PyConfig.bytes_warning` instead." msgstr "" +":c:var:`Py_BytesWarningFlag`: Utilice :c:member:`PyConfig.bytes_warning` en " +"su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:42 msgid "" ":c:var:`Py_FrozenFlag`: Use :c:member:`PyConfig.pathconfig_warnings` instead." msgstr "" +":c:var:`Py_FrozenFlag`: Utilice :c:member:`PyConfig.pathconfig_warnings` en " +"su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:44 msgid "" ":c:var:`Py_IgnoreEnvironmentFlag`: Use :c:member:`PyConfig.use_environment` " "instead." msgstr "" +":c:var:`Py_IgnoreEnvironmentFlag`: Utilice :c:member:`PyConfig." +"use_environment` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:46 msgid "" ":c:var:`Py_DontWriteBytecodeFlag`: Use :c:member:`PyConfig.write_bytecode` " "instead." msgstr "" +":c:var:`Py_DontWriteBytecodeFlag`: Utilice :c:member:`PyConfig." +"write_bytecode` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:48 msgid "" ":c:var:`Py_NoUserSiteDirectory`: Use :c:member:`PyConfig." "user_site_directory` instead." msgstr "" +":c:var:`Py_NoUserSiteDirectory`: Utilice :c:member:`PyConfig." +"user_site_directory` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:50 msgid "" ":c:var:`Py_UnbufferedStdioFlag`: Use :c:member:`PyConfig.buffered_stdio` " "instead." msgstr "" +":c:var:`Py_UnbufferedStdioFlag`: Utilice :c:member:`PyConfig.buffered_stdio` " +"en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:52 msgid "" ":c:var:`Py_HashRandomizationFlag`: Use :c:member:`PyConfig.use_hash_seed` " "and :c:member:`PyConfig.hash_seed` instead." msgstr "" +":c:var:`Py_HashRandomizationFlag`: Utilice :c:member:`PyConfig." +"use_hash_seed` y :c:member:`PyConfig.hash_seed` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:55 msgid ":c:var:`Py_IsolatedFlag`: Use :c:member:`PyConfig.isolated` instead." msgstr "" +":c:var:`Py_IsolatedFlag`: Utilice :c:member:`PyConfig.isolated` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:57 msgid "" ":c:var:`Py_LegacyWindowsFSEncodingFlag`: Use :c:member:`PyPreConfig." "legacy_windows_fs_encoding` instead." msgstr "" +":c:var:`Py_LegacyWindowsFSEncodingFlag`: Utilice :c:member:`PyPreConfig." +"legacy_windows_fs_encoding` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:59 msgid "" ":c:var:`Py_LegacyWindowsStdioFlag`: Use :c:member:`PyConfig." "legacy_windows_stdio` instead." msgstr "" +":c:var:`Py_LegacyWindowsStdioFlag`: Utilice :c:member:`PyConfig." +"legacy_windows_stdio` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:61 msgid "" ":c:var:`!Py_FileSystemDefaultEncoding`: Use :c:member:`PyConfig." "filesystem_encoding` instead." msgstr "" +":c:var:`!Py_FileSystemDefaultEncoding`: Utilice :c:member:`PyConfig." +"filesystem_encoding` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:63 msgid "" ":c:var:`!Py_HasFileSystemDefaultEncoding`: Use :c:member:`PyConfig." "filesystem_encoding` instead." msgstr "" +":c:var:`!Py_HasFileSystemDefaultEncoding`: Utilice :c:member:`PyConfig." +"filesystem_encoding` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:65 msgid "" ":c:var:`!Py_FileSystemDefaultEncodeErrors`: Use :c:member:`PyConfig." "filesystem_errors` instead." msgstr "" +":c:var:`!Py_FileSystemDefaultEncodeErrors`: Utilice :c:member:`PyConfig." +"filesystem_errors` en su lugar." #: ../Doc/deprecations/c-api-pending-removal-in-3.14.rst:67 msgid "" ":c:var:`!Py_UTF8Mode`: Use :c:member:`PyPreConfig.utf8_mode` instead. (see :" "c:func:`Py_PreInitialize`)" msgstr "" +":c:var:`!Py_UTF8Mode`: Utilice :c:member:`PyPreConfig.utf8_mode` en su " +"lugar. (Consulte :c:func:`Py_PreInitialize`)"