diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1093b11c6a..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@v45 + uses: tj-actions/changed-files@v46 with: files: | **/*.po @@ -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/.github/workflows/pr-comment.yml b/.github/workflows/pr-comment.yml index f66cf799c9..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@v45 + uses: tj-actions/changed-files@v46 with: files: | **/*.po diff --git a/.overrides/CONTRIBUTING.rst b/.overrides/CONTRIBUTING.rst index 903fd6aa46..c5081c8639 100644 --- a/.overrides/CONTRIBUTING.rst +++ b/.overrides/CONTRIBUTING.rst @@ -54,13 +54,13 @@ 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:: - pip install -r requirements.txt + pip install -r requirements-own.txt .. note:: diff --git a/Makefile b/Makefile index f51cdfd31d..75f0f9dd50 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"; @@ -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 diff --git a/TRANSLATORS b/TRANSLATORS index fe9b569dff..e46c181565 100644 --- a/TRANSLATORS +++ b/TRANSLATORS @@ -60,8 +60,10 @@ 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) David Trigo Chávez (@dtrinf) Diego Cristóbal Herreros (@dcristobalh) Diego Mascialino (@dmascialino) @@ -172,6 +174,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) @@ -183,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) @@ -227,6 +231,7 @@ Sergio Infante (@neosergio) Silvina Tamburini (@silvinabt87) Sofia Carballo (@sofiacarballo) Sofía Denner +Srmorita (@srmorita) Stephanie Orellana Bello Sumit Kashyap Summerok @@ -245,4 +250,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/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 "" 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." 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 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" 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 " 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" 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." 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." 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`." 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:" 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 "" 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 " 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 "" diff --git a/c-api/number.po b/c-api/number.po index 6ec7173f10..aa3192b079 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-05 17:10-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" 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." 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`." 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 "" 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." 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/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." 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/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`)" 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`.)" 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." 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 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/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/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/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/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/faq/gui.po b/faq/gui.po index d1ee2dbdb1..24c292c525 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 "" 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 " +"`__." + 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 "" 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" 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" 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)." 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" 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 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 "